2017-10-01T00:02:20Z drmeister: We haven't profiled things in a while - Bike is working on type inference and inlining. I'm working on improving the generic function dispatch. The main problem we are dealing with is that the Cleavir compiler is slow, probably because it uses generic functions _a lot_ and Clasp's generic function dispatch and CLOS are slow. 2017-10-01T00:02:41Z drmeister: So development is slow because we end up waiting for the compiler a lot. 2017-10-01T00:02:51Z drmeister: I have funding - yes. 2017-10-01T00:03:10Z drmeister: So no clear answers - sorry - we are working towards them though. 2017-10-01T00:03:21Z drmeister: Implementing Common Lisp efficiently turns out to be hard. 2017-10-01T00:03:28Z margeas quit (Ping timeout: 264 seconds) 2017-10-01T00:03:43Z drmeister: Especially when you constrain yourself to use llvm. 2017-10-01T00:07:20Z drmeister: Who knew? 2017-10-01T00:21:52Z zachk quit (Quit: zzzzZZZZzzzzz) 2017-10-01T00:22:06Z whoman` joined #lisp 2017-10-01T00:24:19Z Quasus quit (Ping timeout: 258 seconds) 2017-10-01T00:26:24Z Karl_Dscc joined #lisp 2017-10-01T00:26:41Z whoman quit (Ping timeout: 260 seconds) 2017-10-01T00:34:37Z babalua quit (Ping timeout: 248 seconds) 2017-10-01T00:38:23Z mathrick quit (Ping timeout: 248 seconds) 2017-10-01T00:38:36Z babalua joined #lisp 2017-10-01T00:41:35Z smokeink quit (Ping timeout: 248 seconds) 2017-10-01T00:41:48Z mathrick joined #lisp 2017-10-01T00:41:59Z babalua quit (Client Quit) 2017-10-01T00:42:21Z babalua joined #lisp 2017-10-01T00:44:25Z attila_lendvai quit (Quit: Leaving.) 2017-10-01T00:44:49Z whoman` is now known as whoman 2017-10-01T00:56:31Z EvW1 quit (Ping timeout: 258 seconds) 2017-10-01T01:05:14Z shrdlu68 quit (Quit: Lost terminal) 2017-10-01T01:05:51Z WorldControl quit (Quit: Ex Chat) 2017-10-01T01:08:51Z smokeink joined #lisp 2017-10-01T01:14:12Z d4ryus1 joined #lisp 2017-10-01T01:17:36Z d4ryus quit (Ping timeout: 258 seconds) 2017-10-01T01:22:33Z yaocl joined #lisp 2017-10-01T01:24:53Z Bike quit (Ping timeout: 258 seconds) 2017-10-01T01:25:27Z bigdaddytank quit (Quit: Peace out!) 2017-10-01T01:26:35Z whoman quit (Ping timeout: 240 seconds) 2017-10-01T01:28:35Z holycow joined #lisp 2017-10-01T01:30:10Z turkja joined #lisp 2017-10-01T01:30:36Z varjag joined #lisp 2017-10-01T01:34:55Z varjag quit (Ping timeout: 248 seconds) 2017-10-01T01:41:41Z Bike joined #lisp 2017-10-01T01:42:25Z drmeister: I fixed the problem that I was having compiling babel - it has a very long literal list of 22000 hexadecimal integers. The function that Clasp generates to build the list of literals was long in a way that llvm didn't like. It has some optimizations that don't scale well for long generated functions. 2017-10-01T01:42:55Z drmeister: Clasp chops the literal creation function up to work with llvm - but I wasn't chopping them up enough for lists like this. 2017-10-01T01:43:24Z drmeister: This is the fourth or fifth time I've run into this issue with llvm. 2017-10-01T01:43:54Z holycow: weird 2017-10-01T01:46:49Z drmeister: In hind sight it's perfectly reasonable. llvm is designed to compile C-style languages. C-style languages don't have initializers for heterogeneous data. 2017-10-01T01:47:13Z drmeister: If you have large constant arrays in C++ - they get put into an array of the appropriate type. 2017-10-01T01:47:40Z drmeister: In Common Lisp you can have very long lists of any kind of data '(:a 1.0 2 #\c ...) 2017-10-01T01:48:44Z drmeister: So for Common Lisp you have to generate very flexible code that can reconstruct this data at load time. If you naively put it in one function llvm will take forever to optimize it. 2017-10-01T01:50:21Z groovy2shoes joined #lisp 2017-10-01T01:55:31Z orivej quit (Ping timeout: 240 seconds) 2017-10-01T01:59:08Z pjb: drmeister: implementations are allowed to store literals in bss instead of text. Can you do that with llvm? 2017-10-01T02:00:01Z pjb: ie. don't generate flexible code. Generate the data. 2017-10-01T02:01:54Z wxie quit (Quit: Bye.) 2017-10-01T02:04:59Z rumbler31 joined #lisp 2017-10-01T02:06:42Z Bike: it's not possible in general, but it would probably be good for things like lists of fixnums 2017-10-01T02:06:53Z Bike: i don't know how it would work with the memory system though 2017-10-01T02:07:48Z pjb: Of course, it cannot be garbage collected. 2017-10-01T02:11:17Z pjb: the "in general" only comes from the fact that you can theorically insert non-fasl-serializable data into the literal : `(a #.(function foo) b) with foo being a closure. 2017-10-01T02:11:36Z pjb: But I would not call that in general. I would call that the special case. In general, it is possible. 2017-10-01T02:12:03Z Bike: well that's actually illegal, because functions can't be dumped, but that's the idea, yeah 2017-10-01T02:12:21Z pjb: it's not illegal. It's implementation dependent. 2017-10-01T02:12:30Z pjb: functions could be dumped. 2017-10-01T02:13:17Z Bike: it's not a conformant program, whatever 2017-10-01T02:17:05Z Karl_Dscc quit (Remote host closed the connection) 2017-10-01T02:17:22Z drmeister: pjb: It seemed easier to generate code to generate the objects at startup than to generate data and lay it out in memory in a way that would be identical to what the C++ constructors generate. 2017-10-01T02:18:31Z drmeister: In the future we are planning to use the MPS garbage collector to compact and park the objects in memory in a way that they can be written out and then loaded back into memory. 2017-10-01T02:20:19Z pierpa quit (Quit: Page closed) 2017-10-01T02:30:30Z rumbler31 quit (Remote host closed the connection) 2017-10-01T02:30:39Z varjag joined #lisp 2017-10-01T02:31:26Z hel-io_ quit 2017-10-01T02:32:03Z hel-io joined #lisp 2017-10-01T02:34:59Z varjag quit (Ping timeout: 240 seconds) 2017-10-01T02:36:30Z hel-io quit (Remote host closed the connection) 2017-10-01T02:36:54Z hel-io joined #lisp 2017-10-01T02:40:30Z dddddd quit (Remote host closed the connection) 2017-10-01T02:40:54Z Bicyclidine joined #lisp 2017-10-01T02:40:54Z Bicyclidine quit (Read error: Connection reset by peer) 2017-10-01T02:41:42Z Bicyclidine joined #lisp 2017-10-01T02:43:17Z Bike quit (Ping timeout: 255 seconds) 2017-10-01T02:45:10Z vtomole joined #lisp 2017-10-01T02:55:52Z smokeink quit (Quit: leaving) 2017-10-01T03:00:02Z theemacsshibe[m] left #lisp 2017-10-01T03:02:27Z holycow quit (Quit: Lost terminal) 2017-10-01T03:10:58Z vtomole quit (Ping timeout: 260 seconds) 2017-10-01T03:12:24Z beach: Good morning everyone! 2017-10-01T03:15:31Z Fare: good night beach! 2017-10-01T03:21:26Z z3t0 joined #lisp 2017-10-01T03:25:05Z z3t0 quit (Client Quit) 2017-10-01T03:25:22Z z3t0 joined #lisp 2017-10-01T03:25:51Z yaocl quit (Quit: yaocl) 2017-10-01T03:26:23Z DingoSaar quit (Ping timeout: 248 seconds) 2017-10-01T03:29:35Z sjl_ quit (Ping timeout: 248 seconds) 2017-10-01T03:30:48Z sjl_ joined #lisp 2017-10-01T03:35:25Z sjl_ quit (Ping timeout: 248 seconds) 2017-10-01T03:36:54Z sjl_ joined #lisp 2017-10-01T03:45:01Z schoppenhauer quit (Ping timeout: 240 seconds) 2017-10-01T03:47:11Z schoppenhauer joined #lisp 2017-10-01T03:51:05Z LAG_ joined #lisp 2017-10-01T03:56:57Z damke joined #lisp 2017-10-01T03:58:03Z wxie joined #lisp 2017-10-01T03:58:26Z Bicyclidine quit (Ping timeout: 255 seconds) 2017-10-01T04:02:50Z z3t0 quit (Remote host closed the connection) 2017-10-01T04:03:37Z z3t0 joined #lisp 2017-10-01T04:05:59Z al-damiri quit (Quit: Connection closed for inactivity) 2017-10-01T04:06:03Z neoncontrails quit (Remote host closed the connection) 2017-10-01T04:06:39Z neoncontrails joined #lisp 2017-10-01T04:08:30Z z3t0 quit (Remote host closed the connection) 2017-10-01T04:09:38Z z3t0 joined #lisp 2017-10-01T04:10:59Z neoncontrails quit (Ping timeout: 246 seconds) 2017-10-01T04:13:02Z WorldControl joined #lisp 2017-10-01T04:13:54Z z3t0 quit (Ping timeout: 240 seconds) 2017-10-01T04:14:30Z hel-io quit (Remote host closed the connection) 2017-10-01T04:15:05Z hel-io joined #lisp 2017-10-01T04:20:02Z hel-io quit (Ping timeout: 240 seconds) 2017-10-01T04:21:18Z MrBismuth joined #lisp 2017-10-01T04:24:05Z MrBusiness quit (Ping timeout: 255 seconds) 2017-10-01T04:30:34Z jmercouris joined #lisp 2017-10-01T04:30:44Z jmercouris: is this guy: https://stackoverflow.com/users/69545/rainer-joswig on irc? 2017-10-01T04:30:49Z varjag joined #lisp 2017-10-01T04:34:00Z beach: Sometimes. 2017-10-01T04:34:05Z beach: His nick is lispm. 2017-10-01T04:34:21Z jmercouris: beach: I see, also seems to be his website 2017-10-01T04:35:11Z varjag quit (Ping timeout: 248 seconds) 2017-10-01T04:35:12Z marvin2 quit 2017-10-01T04:35:35Z beach: He has got some interesting videos on YouTube about using Genera. 2017-10-01T04:46:31Z Fare quit (Ping timeout: 240 seconds) 2017-10-01T04:47:35Z beach: This one for instance: https://www.youtube.com/watch?v=Eiga_ltFi_k&t=370s 2017-10-01T04:48:52Z beach: We have come a long way in our attempt to reproduce this interface with McCLIM and the CLIM listener. And we are working to get even closer. 2017-10-01T04:50:22Z z3t0 joined #lisp 2017-10-01T04:54:57Z z3t0 quit (Ping timeout: 258 seconds) 2017-10-01T04:55:43Z jmercouris: beach: very strange interface 2017-10-01T04:55:54Z jmercouris: i have no idea what keybinds he is pressing so it's hard for me to really understand what's going on 2017-10-01T04:56:45Z jmercouris: so this is a CL implementation of emacs? 2017-10-01T04:56:48Z beach: It looks old by today's standards, of course, because it is. But no OS has come close to the integration of the tools since Genera. 2017-10-01T04:56:58Z beach: It is an operating system. 2017-10-01T04:57:00Z beach: Genera. 2017-10-01T04:57:02Z jmercouris: aha I see 2017-10-01T04:57:15Z jmercouris: so you want to implement the GUI parts of it? 2017-10-01T04:57:38Z jmercouris: or what exactly? I don't see what is so novel about this interface 2017-10-01T04:58:00Z beach: Yeah, that movie is just the basic stuff. 2017-10-01T04:58:09Z beach: He has other movies, but they have no sound. 2017-10-01T04:58:35Z beach: What is good about it is the integration between different tools. 2017-10-01T04:59:17Z beach: https://en.wikipedia.org/wiki/Genera_(operating_system) 2017-10-01T04:59:24Z SaganMan joined #lisp 2017-10-01T05:01:02Z jmercouris: one thing that's always confused me is 2017-10-01T05:01:10Z jmercouris: a lisp machine, ultimately is running assembly right? 2017-10-01T05:01:23Z jmercouris: surely the lisp doesn't compile directly to binary right? 2017-10-01T05:01:36Z jmercouris: why don't we call other machines like "C" machines? or? 2017-10-01T05:01:37Z beach: Well, no. Hardware runs the machine language. Not assembly. 2017-10-01T05:01:53Z beach: The Lisp machine had an instruction set adapted to Lisp. 2017-10-01T05:02:12Z jmercouris: so the processors had a set of native support for functions that enabled lisp basically? 2017-10-01T05:02:16Z beach: Modern architectures are basically C machines. 2017-10-01T05:02:44Z jmercouris: so there's nothing computationally unique about a lisp machine, it could have run C as well, no problem right? i mean they are both turing complete 2017-10-01T05:02:49Z Fade: C is von neuman assembler. :) 2017-10-01T05:02:51Z beach: Yes, it had support for dynamic object typing and such. 2017-10-01T05:03:04Z beach: jmercouris: Correct. 2017-10-01T05:03:24Z beach: jmercouris: There was an implementation of C for Genera. 2017-10-01T05:04:44Z beach: jmercouris: At the time, processors were too slow and compilation techniques for Lisp not so well developed, so in order to get very good speed, they found it advantageous to create specific hardware. 2017-10-01T05:05:23Z beach: jmercouris: Nowadays, we have faster processors and better compiler techniques, so we can do a very good job of compiling Lisp to (say) x86-64. 2017-10-01T05:06:20Z beach: jmercouris: Furthermore, today it is totally impractical to design specific hardware. Existing processors are so much faster and so much less expensive than what specific hardware would be. 2017-10-01T05:09:06Z igemnace joined #lisp 2017-10-01T05:11:42Z z3t0 joined #lisp 2017-10-01T05:16:15Z z3t0 quit (Ping timeout: 248 seconds) 2017-10-01T05:17:38Z quazimodo joined #lisp 2017-10-01T05:17:39Z karswell quit (Remote host closed the connection) 2017-10-01T05:17:51Z karswell_ joined #lisp 2017-10-01T05:18:11Z Xal quit (Quit: ZNC 1.6.5 - http://znc.in) 2017-10-01T05:18:48Z jmercouris: beach: makes sense, interesting 2017-10-01T05:18:55Z jmercouris: thank you for the explanation 2017-10-01T05:20:18Z Xal joined #lisp 2017-10-01T05:22:43Z jmercouris quit (Remote host closed the connection) 2017-10-01T05:24:02Z beach: Sure. 2017-10-01T05:24:03Z thinkpad quit (Ping timeout: 246 seconds) 2017-10-01T05:24:57Z z3t0 joined #lisp 2017-10-01T05:29:27Z z3t0 quit (Ping timeout: 258 seconds) 2017-10-01T05:30:07Z Blukunfando quit (Ping timeout: 248 seconds) 2017-10-01T05:30:40Z igemnace quit (Quit: WeeChat 1.9.1) 2017-10-01T05:31:38Z FreeBirdLjj joined #lisp 2017-10-01T05:31:56Z saki joined #lisp 2017-10-01T05:35:01Z hotbobby joined #lisp 2017-10-01T05:36:05Z hotbobby: how would i express the statement if(test1 == 1 and test2 == 1){...}; 2017-10-01T05:36:12Z Fade: I wonder if anybody has generated a macivory cpu in an fpga. 2017-10-01T05:36:19Z hotbobby: like how do you have more than one condition inside a cond statement? 2017-10-01T05:37:23Z Fade: (if (and (= test 1) (= test2 1)) something something-else) 2017-10-01T05:37:42Z Blukunfando joined #lisp 2017-10-01T05:38:43Z hotbobby: (and . . ) was the secret all along 2017-10-01T05:38:45Z hotbobby: thank you very much 2017-10-01T05:39:11Z sjl_ quit (Ping timeout: 248 seconds) 2017-10-01T05:39:14Z Fade: practical common lisp is a good source for fundamental stuff. 2017-10-01T05:39:59Z beach: minion: Please tell hotbobby about PCL. 2017-10-01T05:39:59Z minion: hotbobby: 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-10-01T05:40:48Z wxie quit (Quit: Bye.) 2017-10-01T05:41:41Z whoman joined #lisp 2017-10-01T05:43:35Z shifty joined #lisp 2017-10-01T05:46:02Z saki quit (Quit: saki) 2017-10-01T05:46:14Z damke quit (Ping timeout: 240 seconds) 2017-10-01T05:47:25Z z3t0 joined #lisp 2017-10-01T05:51:57Z z3t0 quit (Ping timeout: 248 seconds) 2017-10-01T05:55:36Z saki joined #lisp 2017-10-01T05:59:24Z FreeBirdLjj quit (Remote host closed the connection) 2017-10-01T06:00:05Z FreeBirdLjj joined #lisp 2017-10-01T06:00:41Z turkja: Found this: https://loomcom.com/genera/genera-install.html - have anyone tried it? 2017-10-01T06:01:05Z turkja: Looks like way-over-engineered emacs :D 2017-10-01T06:02:52Z beach: turkja: Like I said, it looks old by modern standards. But it is way more than Emacs. It is a complete operating system. 2017-10-01T06:04:14Z FreeBirdLjj quit (Ping timeout: 248 seconds) 2017-10-01T06:04:27Z beach: turkja: People might be reluctant to admitting to having tried it, simply because Genera is proprietary software, so unless they have bought a license for it, it is illegal to install and run it. 2017-10-01T06:05:27Z Fade: there's at least one video on youtube of somebody bringing up genera on an amd64 host running linux. 2017-10-01T06:08:16Z turkja: yeah, i didn't want to try it out... but i bet you don't get viruses on that. ultimate security through obscurity :) 2017-10-01T06:09:08Z edgar-rft: lisp *is* like a virus :-) 2017-10-01T06:09:19Z turkja: in a way yes :D 2017-10-01T06:09:34Z beach: On the other hand, if people do want to give you a virus on Genera, it is easy, because the system had no protection. 2017-10-01T06:09:56Z beach: This is why we need a modern multi-user LispOS. 2017-10-01T06:10:02Z turkja: i 2017-10-01T06:10:08Z turkja: d love to use one 2017-10-01T06:10:21Z beach: First, it has to be written. 2017-10-01T06:13:54Z Fade: there's mezzano, which is pretty impressive for a one man project. 2017-10-01T06:14:29Z beach: Very impressive. 2017-10-01T06:19:01Z FreeBirdLjj joined #lisp 2017-10-01T06:19:50Z FreeBirdLjj quit (Remote host closed the connection) 2017-10-01T06:20:09Z FreeBirdLjj joined #lisp 2017-10-01T06:20:37Z FreeBirdLjj quit (Remote host closed the connection) 2017-10-01T06:20:57Z FreeBirdLjj joined #lisp 2017-10-01T06:21:24Z FreeBirdLjj quit (Remote host closed the connection) 2017-10-01T06:21:45Z FreeBirdLjj joined #lisp 2017-10-01T06:22:11Z FreeBirdLjj quit (Remote host closed the connection) 2017-10-01T06:22:16Z orivej joined #lisp 2017-10-01T06:22:33Z FreeBirdLjj joined #lisp 2017-10-01T06:22:59Z FreeBirdLjj quit (Remote host closed the connection) 2017-10-01T06:27:39Z manualcrank quit (Quit: WeeChat 1.9.1) 2017-10-01T06:29:13Z stylewarning: I would love to research designs for a multi-user Lisp OS 2017-10-01T06:29:56Z stylewarning: Or even single user but multi-process (in the modern sense) with facilities for data sharing. I just went through a huge exercise getting shared memory to work. 2017-10-01T06:30:00Z beach: Do you know about this document: http://metamodular.com/lispos.pdf ? 2017-10-01T06:30:39Z stylewarning: Nope. I’ll look now! 2017-10-01T06:30:58Z beach: It is no longer very short, I am afraid. 2017-10-01T06:31:12Z varjag joined #lisp 2017-10-01T06:33:28Z turkja quit (Ping timeout: 258 seconds) 2017-10-01T06:33:57Z turkja joined #lisp 2017-10-01T06:35:31Z varjag quit (Ping timeout: 240 seconds) 2017-10-01T06:38:43Z Fade: well, that's me. have a good night, folks. 2017-10-01T06:38:53Z beach: Sleep well. 2017-10-01T06:38:59Z Fade: 2017-10-01T06:39:00Z damke joined #lisp 2017-10-01T06:39:02Z stylewarning: beach, you’ve not convinced me that virtual address spaces wouldn’t be more useful than a global space with tagged pointers. 2017-10-01T06:39:16Z beach: Of course. 2017-10-01T06:39:49Z stylewarning: Just from a pure data perspective, managing permissions of pages or ranges of pages of data is a bit more manageable than pointers 2017-10-01T06:41:02Z beach: By "Of course", I meant "Of course I haven't convinced you. Not many people are convinced". 2017-10-01T06:41:11Z stylewarning: I know 2017-10-01T06:41:39Z beach: But that's research for you. Most people aren't convinced. 2017-10-01T06:42:03Z stylewarning: Private heaps by default with an API to publish objects to the kernel for perusal by other processes seems worthwhile to investigate 2017-10-01T06:42:31Z beach: Good luck with the investigation. 2017-10-01T06:42:46Z stylewarning: I’m forced to investigate it now :( 2017-10-01T06:42:56Z beach: Excellent! 2017-10-01T06:43:54Z stylewarning: Because I have to not move around >1 GB of data in my current applications which run in separate UNIX processes but nonetheless are bonafide Lisp objects 2017-10-01T06:44:10Z stylewarning: I just wish the kernel understood Lisp so it could garbage collect these shared resources :) 2017-10-01T06:46:42Z beach: I am sure that one day you will tell me the relation between your desire for separate virtual address spaces and the requirements for you current application. 2017-10-01T06:49:51Z stylewarning: I hope I get more clarity in whichever direction (virtual address spaces are great vs not great). I might be experiencing UNIX Stockholm syndrome. 2017-10-01T06:51:08Z stylewarning: beach does the state of the art in concurrent GC require any notion of separate heaps? 2017-10-01T06:51:08Z beach: That's entirely possible. 2017-10-01T06:51:29Z beach: I don't think so, no. 2017-10-01T06:52:05Z beach: This one might be of interest: https://dl.acm.org/citation.cfm?id=1134023 2017-10-01T06:53:14Z beach: But I look forward to reading your analysis and design. 2017-10-01T07:04:25Z z3t0 joined #lisp 2017-10-01T07:07:29Z lnostdal joined #lisp 2017-10-01T07:08:45Z z3t0 quit (Ping timeout: 248 seconds) 2017-10-01T07:14:10Z vlatkoB joined #lisp 2017-10-01T07:17:29Z SaganMan quit (Quit: WeeChat 1.6) 2017-10-01T07:17:42Z z3t0 joined #lisp 2017-10-01T07:22:09Z z3t0 quit (Ping timeout: 258 seconds) 2017-10-01T07:24:52Z slyrus joined #lisp 2017-10-01T07:27:25Z FreeBirdLjj joined #lisp 2017-10-01T07:27:48Z yaocl joined #lisp 2017-10-01T07:31:15Z Xal quit (Quit: ZNC 1.6.5 - http://znc.in) 2017-10-01T07:32:23Z random-nick joined #lisp 2017-10-01T07:33:03Z Xal joined #lisp 2017-10-01T07:34:00Z z3t0 joined #lisp 2017-10-01T07:38:09Z saki quit (Quit: saki) 2017-10-01T07:38:16Z turkja left #lisp 2017-10-01T07:38:21Z z3t0 quit (Ping timeout: 260 seconds) 2017-10-01T07:41:09Z quazimodo quit (Read error: Connection reset by peer) 2017-10-01T07:41:23Z quazimodo joined #lisp 2017-10-01T07:48:23Z angavrilov joined #lisp 2017-10-01T07:49:42Z z3t0 joined #lisp 2017-10-01T07:54:21Z z3t0 quit (Ping timeout: 258 seconds) 2017-10-01T07:58:33Z FreeBirdLjj quit (Remote host closed the connection) 2017-10-01T07:59:11Z FreeBirdLjj joined #lisp 2017-10-01T08:01:37Z mishoo_ joined #lisp 2017-10-01T08:02:05Z rippa joined #lisp 2017-10-01T08:03:31Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2017-10-01T08:11:27Z z3t0 joined #lisp 2017-10-01T08:12:55Z pedh joined #lisp 2017-10-01T08:16:16Z z3t0 quit (Ping timeout: 260 seconds) 2017-10-01T08:17:33Z pedh quit (Ping timeout: 248 seconds) 2017-10-01T08:21:22Z safe quit (Read error: Connection reset by peer) 2017-10-01T08:25:14Z attila_lendvai joined #lisp 2017-10-01T08:30:23Z shka_ joined #lisp 2017-10-01T08:42:50Z attila_lendvai quit (Quit: Leaving.) 2017-10-01T08:49:01Z knobo quit (Ping timeout: 248 seconds) 2017-10-01T08:49:04Z josemanuel joined #lisp 2017-10-01T08:52:58Z troydm quit (Ping timeout: 240 seconds) 2017-10-01T08:53:20Z margeas joined #lisp 2017-10-01T08:57:18Z yaocl quit (Quit: yaocl) 2017-10-01T09:06:49Z zuo-ty-buo is now known as antoszka 2017-10-01T09:08:19Z damke_ joined #lisp 2017-10-01T09:10:54Z damke quit (Ping timeout: 240 seconds) 2017-10-01T09:12:12Z mishoo__ joined #lisp 2017-10-01T09:14:35Z mishoo_ quit (Ping timeout: 260 seconds) 2017-10-01T09:16:43Z phoe: and so CL-LZMA gains a linux32 .so file 2017-10-01T09:17:27Z phoe: in a moment it'll also have win32 and win64 .dll files and it will be suitable for Quicklisp upload. 2017-10-01T09:18:57Z z3t0 joined #lisp 2017-10-01T09:19:58Z mishoo__ quit (Ping timeout: 248 seconds) 2017-10-01T09:20:39Z Karl_Dscc joined #lisp 2017-10-01T09:22:39Z tessier quit (Ping timeout: 248 seconds) 2017-10-01T09:23:09Z z3t0 quit (Ping timeout: 248 seconds) 2017-10-01T09:24:51Z thinkpad joined #lisp 2017-10-01T09:24:52Z tessier joined #lisp 2017-10-01T09:24:52Z tessier quit (Changing host) 2017-10-01T09:24:52Z tessier joined #lisp 2017-10-01T09:30:05Z pedh joined #lisp 2017-10-01T09:32:46Z grublet quit (Ping timeout: 248 seconds) 2017-10-01T09:33:21Z p_l: beach: btw, have you looked at AS/400 memory model (in fact, did I talk about it with you?) I think it was based around "flat common memory space" ultimately, or at least to some extent (it has all storage - RAM and disks, mapped into memory as the method of access) 2017-10-01T09:34:55Z beach: p_l: Yes, I remember we talked about it. I think you pointed me to some documentation as well, but I have been too busy to read it. That's definitely something to look into. 2017-10-01T09:37:23Z z3t0 joined #lisp 2017-10-01T09:38:29Z d4ryus1 is now known as d4ryus 2017-10-01T09:41:39Z z3t0 quit (Ping timeout: 246 seconds) 2017-10-01T09:50:18Z kenanb joined #lisp 2017-10-01T09:50:56Z kenanb: I started blogging about lisp, and game development content. how can I apply for planet lisp? 2017-10-01T09:52:22Z kenanb: http://blog.6x13.com/ this is the address, and this is my first lisp post: http://blog.6x13.com/ 2017-10-01T09:53:17Z pedh quit (Quit: pedh) 2017-10-01T09:54:42Z Shinmera: Ask Xach 2017-10-01T09:56:21Z beach: kenanb: Is it Common Lisp or Emacs Lisp? 2017-10-01T09:57:02Z Shinmera: kenanb: Make sure your blog has an RSS/Atom feed that filters to only Lisp entries. 2017-10-01T09:57:21Z Shinmera: A lot I see on there is not Lisp content. 2017-10-01T10:00:27Z z3t0 joined #lisp 2017-10-01T10:00:44Z FreeBirdLjj joined #lisp 2017-10-01T10:02:18Z kenanb: beach: common lisp 2017-10-01T10:02:38Z beach: OK. 2017-10-01T10:02:40Z kenanb: Shinmera: ah, I see, yeah 2017-10-01T10:04:46Z z3t0 quit (Ping timeout: 248 seconds) 2017-10-01T10:13:06Z knicklux quit (Ping timeout: 258 seconds) 2017-10-01T10:13:26Z knicklux joined #lisp 2017-10-01T10:15:58Z kenanb left #lisp 2017-10-01T10:17:26Z varjag joined #lisp 2017-10-01T10:20:04Z yaocl joined #lisp 2017-10-01T10:22:18Z mishoo joined #lisp 2017-10-01T10:22:55Z troydm joined #lisp 2017-10-01T10:26:06Z knicklux quit (Ping timeout: 248 seconds) 2017-10-01T10:39:34Z logicmoo joined #lisp 2017-10-01T10:40:08Z knicklux joined #lisp 2017-10-01T10:40:25Z FreeBird_ joined #lisp 2017-10-01T10:40:30Z dmiles quit (Ping timeout: 248 seconds) 2017-10-01T10:41:02Z FreeBirdLjj quit (Ping timeout: 248 seconds) 2017-10-01T10:43:11Z Bike joined #lisp 2017-10-01T10:44:31Z FreeBird_ quit (Ping timeout: 240 seconds) 2017-10-01T10:46:15Z yaocl quit (Quit: yaocl) 2017-10-01T10:47:49Z DingoSaar joined #lisp 2017-10-01T10:49:34Z Bike quit (Ping timeout: 248 seconds) 2017-10-01T10:54:28Z mishoo quit (Ping timeout: 240 seconds) 2017-10-01T10:54:53Z yaocl joined #lisp 2017-10-01T11:07:39Z carleos joined #lisp 2017-10-01T11:07:56Z yaocl quit (Quit: yaocl) 2017-10-01T11:13:25Z bigos joined #lisp 2017-10-01T11:15:18Z yaocl joined #lisp 2017-10-01T11:20:29Z les quit (Quit: "") 2017-10-01T11:20:45Z les joined #lisp 2017-10-01T11:23:48Z phoe: Have I found some kind of bug in CFFI? http://paste.lisp.org/display/357384 2017-10-01T11:24:03Z phoe: This is on CCL, I try to load a foreign library. 2017-10-01T11:24:17Z phoe: And not only something goes wrong while loading it, but also something goes wrong while printing the error. 2017-10-01T11:24:58Z carleos quit (Ping timeout: 240 seconds) 2017-10-01T11:28:01Z pedh joined #lisp 2017-10-01T11:33:31Z random-nick quit (Remote host closed the connection) 2017-10-01T11:38:23Z |3b|: phoe: can you figure out where that REPORT-SIMPLE-ERROR is defined? 2017-10-01T11:38:36Z pedh quit (Quit: pedh) 2017-10-01T11:39:26Z phoe: yes, let me check it. 2017-10-01T11:39:44Z phoe: https://github.com/cffi/cffi/blob/07d5940c869072f2e91444bacb9683bc300243e2/src/libraries.lisp#L304 2017-10-01T11:41:20Z phoe: but wait, this calls FL-ERROR which on L289 creates a condition LOAD-FOREIGN-LIBRARY-ERROR which is a subtype of SIMPLE-ERROR 2017-10-01T11:41:30Z phoe: therefore, wat 2017-10-01T11:42:15Z |3b|: does frame 2 (funcall ...) have a source location? 2017-10-01T11:42:34Z |3b|: also, can you inspect the type error in the backtrace? 2017-10-01T11:43:22Z phoe: Hold on, I've been doing this from console. 2017-10-01T11:43:27Z phoe: Let me fire up a proper slime. 2017-10-01T11:43:59Z |3b|: i think the error is when it is evaluating the arguments to fl-error, not after it is called 2017-10-01T11:44:56Z phoe: hahah! 2017-10-01T11:45:03Z phoe: the value #P"..." is not of type SEQUENCE 2017-10-01T11:45:10Z |3b|: yeah, looks like cffi bug, it catches ERROR but calls simple-condition-* on it 2017-10-01T11:45:31Z phoe: http://paste.lisp.org/display/357384#2 2017-10-01T11:45:54Z |3b|: and error is a serious-condition not a simple-condition 2017-10-01T11:46:22Z phoe: the printing error is one thing 2017-10-01T11:46:32Z phoe: why CFFI only accepts SEQUENCE and not a pathname? 2017-10-01T11:46:55Z phoe: http://paste.lisp.org/display/357384#2 2017-10-01T11:47:23Z |3b|: yeah, no idea about that part :) 2017-10-01T11:48:09Z FreeBirdLjj joined #lisp 2017-10-01T11:50:03Z phoe: well then, https://bugs.launchpad.net/cffi/+bug/1720626 2017-10-01T11:50:52Z phoe: https://github.com/phoe/cl-lzma/blob/master/cl-lzma.lisp#L16 <- this is how I define the foreign library. 2017-10-01T11:51:04Z phoe: I will try doing namestrings there instead of pathnames just to be double sure. 2017-10-01T11:54:53Z phoe: haha, yes! 2017-10-01T11:54:59Z phoe: it works with namestrings on CCL and not with pathnames. 2017-10-01T11:55:45Z marvin2 joined #lisp 2017-10-01T11:56:44Z papachan joined #lisp 2017-10-01T12:03:23Z JuanDaugherty joined #lisp 2017-10-01T12:04:56Z igemnace joined #lisp 2017-10-01T12:05:52Z phoe: good. CL-LZMA works on SBCL and CCL on Windows and Linux on 32 and 64 bits. 2017-10-01T12:08:35Z random-nick joined #lisp 2017-10-01T12:08:48Z Bike joined #lisp 2017-10-01T12:09:16Z knobo joined #lisp 2017-10-01T12:13:54Z damke_ quit (Ping timeout: 240 seconds) 2017-10-01T12:13:59Z phoe: Time to submit it to Quicklisp. 2017-10-01T12:21:12Z mishoo joined #lisp 2017-10-01T12:21:41Z arbv quit (Ping timeout: 240 seconds) 2017-10-01T12:22:40Z arbv joined #lisp 2017-10-01T12:23:42Z phoe: What should I use for parsing argc/argv? https://github.com/fare/command-line-arguments ? 2017-10-01T12:25:10Z dddddd joined #lisp 2017-10-01T12:27:58Z jackdaniel: net.didierverna.clon 2017-10-01T12:28:04Z jackdaniel: for elaborate cli interface 2017-10-01T12:29:45Z damke_ joined #lisp 2017-10-01T12:36:30Z knobo quit (Ping timeout: 240 seconds) 2017-10-01T12:42:18Z pedh joined #lisp 2017-10-01T12:44:14Z pmetzger joined #lisp 2017-10-01T12:49:03Z phoe: (incf jackdaniel) 2017-10-01T12:52:24Z FreeBirdLjj quit (Remote host closed the connection) 2017-10-01T12:58:00Z _paul0 quit (Ping timeout: 260 seconds) 2017-10-01T12:58:07Z serviteur joined #lisp 2017-10-01T12:58:18Z pedh quit (Quit: pedh) 2017-10-01T12:59:12Z pedh joined #lisp 2017-10-01T12:59:44Z _paul0 joined #lisp 2017-10-01T13:01:54Z damke_ quit (Ping timeout: 240 seconds) 2017-10-01T13:02:43Z phoe: "Depending on the target audience, Clon stands for either “The Command-Line Options Nuker” or “The Common Lisp Options Nuker”. Clon also has a recursive acronym: “Clon Likes Options Nuking”, and a reverse one: “Never Omit to Link with Clon”. Other possible expansions of the acronym are still being investigated." 2017-10-01T13:02:52Z phoe: I already like this library. 2017-10-01T13:03:57Z damke_ joined #lisp 2017-10-01T13:09:18Z pmetzger quit 2017-10-01T13:09:21Z karswell_ quit (Ping timeout: 240 seconds) 2017-10-01T13:09:59Z phoe: This library is both amazing and terrifying. 2017-10-01T13:10:12Z hel-io joined #lisp 2017-10-01T13:15:05Z bigos_ joined #lisp 2017-10-01T13:15:23Z NingaLeaf joined #lisp 2017-10-01T13:16:22Z Tristam joined #lisp 2017-10-01T13:18:48Z narendraj9 joined #lisp 2017-10-01T13:20:09Z SaganMan joined #lisp 2017-10-01T13:20:30Z Tristam quit (Ping timeout: 240 seconds) 2017-10-01T13:22:00Z phoe: I will need something that works in a Windows terminal though. 2017-10-01T13:22:04Z _paul0 quit (Remote host closed the connection) 2017-10-01T13:22:21Z hel-io quit (Ping timeout: 240 seconds) 2017-10-01T13:22:29Z _paul0 joined #lisp 2017-10-01T13:23:34Z _paul0 quit (Remote host closed the connection) 2017-10-01T13:24:18Z pjb: phoe: you mean, something that will read the arguments from *standard-input*? 2017-10-01T13:24:35Z phoe: pjb: nope. I want to be able to run an application by means of 2017-10-01T13:24:49Z pjb: And what relationship with CLON? 2017-10-01T13:24:54Z hel-io joined #lisp 2017-10-01T13:24:58Z phoe: C:\> lisp-program.exe -foo bar -baz 1023 -quux "C:\fred.txt" 2017-10-01T13:25:04Z pjb: So? 2017-10-01T13:25:29Z phoe: My original problem is, I want a portable interface for argc/argv like above. 2017-10-01T13:25:45Z pjb: So you want a POSIX system? 2017-10-01T13:25:56Z pjb: Is MS-Windows a POSIX system? 2017-10-01T13:26:08Z phoe: No, Windows is not a POSIX system. 2017-10-01T13:26:47Z phoe: I want to be able to run lisp-program.exe and, inside my code, have a cross-implementation mechanism for retrieving the command line arguments. 2017-10-01T13:26:51Z pjb: I feel your problem is ill-posed. 2017-10-01T13:27:17Z pjb: What prevents you to run lisp-program.exe in a Windows terminal? 2017-10-01T13:27:29Z hel-io_ joined #lisp 2017-10-01T13:27:29Z hel-io quit (Read error: Connection reset by peer) 2017-10-01T13:28:02Z igemnace quit (Quit: WeeChat 1.9.1) 2017-10-01T13:28:14Z phoe: I don't think anything does, but CLON claims to only support Windows by means of cygwin and/or msys/mingw. 2017-10-01T13:28:26Z phoe: So I'm puzzled about Windows's cmd.exe. 2017-10-01T13:28:31Z pjb: Oh, it's a low level library? 2017-10-01T13:28:59Z pjb: I would have expected an command-line argument processing library to work on arbitrary lists of strings, independently of any implementation… 2017-10-01T13:29:05Z pjb: Sounds like a bad library… 2017-10-01T13:30:05Z phoe: Either that, or nobody cared to test it in a pure Microsoft ecosystem. 2017-10-01T13:30:17Z phoe: Well, sounds like I'll give it a try. 2017-10-01T13:31:54Z narendraj9 quit (Ping timeout: 240 seconds) 2017-10-01T13:34:13Z Fare joined #lisp 2017-10-01T13:37:02Z bigos_ quit (Ping timeout: 258 seconds) 2017-10-01T13:37:18Z igemnace joined #lisp 2017-10-01T13:41:43Z phoe: Windows/CCL problems there. I'll go with Fare's command-line-arguments instead. 2017-10-01T13:48:00Z narendraj9 joined #lisp 2017-10-01T13:53:00Z narendraj9 quit (Ping timeout: 240 seconds) 2017-10-01T13:53:13Z NingaLeaf quit (Quit: Textual IRC Client: www.textualapp.com) 2017-10-01T13:55:10Z knicklux quit (Ping timeout: 260 seconds) 2017-10-01T14:01:27Z knicklux joined #lisp 2017-10-01T14:04:21Z SaganMan quit (Ping timeout: 240 seconds) 2017-10-01T14:04:37Z Tristam joined #lisp 2017-10-01T14:06:22Z knicklux quit (Ping timeout: 248 seconds) 2017-10-01T14:08:47Z yaocl quit (Quit: yaocl) 2017-10-01T14:12:51Z damke joined #lisp 2017-10-01T14:13:14Z damke_ quit (Ping timeout: 240 seconds) 2017-10-01T14:15:09Z pedh quit (Quit: pedh) 2017-10-01T14:15:47Z knicklux joined #lisp 2017-10-01T14:19:03Z hel-io_ quit (Remote host closed the connection) 2017-10-01T14:19:39Z hel-io joined #lisp 2017-10-01T14:23:41Z hel-io quit (Ping timeout: 240 seconds) 2017-10-01T14:24:10Z hel-io joined #lisp 2017-10-01T14:27:28Z EvW joined #lisp 2017-10-01T14:27:30Z neoncontrails joined #lisp 2017-10-01T14:28:54Z yaocl joined #lisp 2017-10-01T14:29:12Z yaocl quit (Client Quit) 2017-10-01T14:39:21Z midre quit (Ping timeout: 240 seconds) 2017-10-01T14:39:31Z Mon_Ouie quit (Ping timeout: 258 seconds) 2017-10-01T14:39:42Z midre joined #lisp 2017-10-01T14:39:54Z knicklux quit (Ping timeout: 258 seconds) 2017-10-01T14:40:11Z knicklux joined #lisp 2017-10-01T14:42:00Z drcode quit (Ping timeout: 240 seconds) 2017-10-01T14:43:15Z random-nick quit (Remote host closed the connection) 2017-10-01T14:43:45Z pedh joined #lisp 2017-10-01T14:44:04Z pedh quit (Client Quit) 2017-10-01T14:45:40Z random-nick joined #lisp 2017-10-01T14:48:44Z phoe: XachX: your website is down, NXDOMAIN. 2017-10-01T14:52:48Z wxie joined #lisp 2017-10-01T14:54:28Z knicklux quit (Ping timeout: 258 seconds) 2017-10-01T14:54:37Z shka_ quit (Quit: Konversation terminated!) 2017-10-01T14:58:09Z SaganMan joined #lisp 2017-10-01T14:58:23Z pedh joined #lisp 2017-10-01T14:59:10Z grumble quit (Quit: me) 2017-10-01T15:00:22Z pedh quit (Client Quit) 2017-10-01T15:01:06Z grumble joined #lisp 2017-10-01T15:01:17Z wxie quit (Quit: Bye.) 2017-10-01T15:03:10Z neoncontrails quit (Remote host closed the connection) 2017-10-01T15:03:50Z neoncontrails joined #lisp 2017-10-01T15:07:13Z SaganMan quit (Ping timeout: 246 seconds) 2017-10-01T15:07:27Z shka joined #lisp 2017-10-01T15:07:55Z neoncontrails quit (Ping timeout: 246 seconds) 2017-10-01T15:09:20Z turkja joined #lisp 2017-10-01T15:09:20Z whoman quit (Read error: Connection reset by peer) 2017-10-01T15:11:14Z epony quit (Ping timeout: 240 seconds) 2017-10-01T15:16:03Z Xach: phoe: tack 2017-10-01T15:17:46Z beach: Not to be confused with "tak". 2017-10-01T15:22:39Z Fare quit (Ping timeout: 264 seconds) 2017-10-01T15:25:55Z knicklux joined #lisp 2017-10-01T15:26:23Z josemanuel quit (Quit: leaving) 2017-10-01T15:29:14Z phoe: Damn, I'm lost. Why do I get CFFI memory faults only after I dump an image? 2017-10-01T15:32:00Z knicklux quit (Ping timeout: 240 seconds) 2017-10-01T15:32:30Z phoe: I think I know why... Let me check. 2017-10-01T15:33:58Z |3b|: using pointers from previous image? 2017-10-01T15:34:07Z |3b|: or using a lib that needs initialized before use? 2017-10-01T15:34:39Z beach: ASLR? 2017-10-01T15:34:45Z knicklux joined #lisp 2017-10-01T15:35:11Z |3b| thinks at least sbcl tries to turn off aslr 2017-10-01T15:35:25Z beach: Good for SBCL. 2017-10-01T15:35:37Z beach: But phoe may be using some other implementation. 2017-10-01T15:36:00Z |3b|: true, ccl was mentioned earlier 2017-10-01T15:36:47Z phoe: sounds like using pointers from previous image, but I'm puzzled - I close the foreign library before dumping the image, and reopen it as the first thing... 2017-10-01T15:36:50Z phoe: SBCL. 2017-10-01T15:37:16Z phoe: But maybe I am screwing something up in the UIOP's order. Let me investigate again. 2017-10-01T15:39:03Z phoe: I close the library in a function in *IMAGE-DUMP-HOOK*. I open the library again in a function in *IMAGE-PRELUDE*. 2017-10-01T15:39:12Z phoe: These symbols are from package UIOP/IMAGE. 2017-10-01T15:40:16Z |3b|: is this still cl-lzma? 2017-10-01T15:40:35Z |3b|: (or code otherwise visible anywhere?) 2017-10-01T15:41:00Z phoe: Let me quickly upload it somewhere. 2017-10-01T15:41:02Z sz0 joined #lisp 2017-10-01T15:41:19Z phoe: CL-LZMA is working, it's in code that tries to use CL-LZMA and its foreign libraries. 2017-10-01T15:41:48Z damke_ joined #lisp 2017-10-01T15:41:56Z phoe: http://paste.lisp.org/display/357401 2017-10-01T15:41:58Z |3b|: do the callbacks in cl-lzma get reset on load? 2017-10-01T15:42:02Z phoe: This code is ugly like holy hell. 2017-10-01T15:42:09Z phoe: ...no, they are not. 2017-10-01T15:42:49Z phoe: I need to fix this. 2017-10-01T15:43:14Z damke quit (Ping timeout: 240 seconds) 2017-10-01T15:45:07Z |3b|: are those dll/so the actual lzma libs and not a wrapper? 2017-10-01T15:46:21Z phoe: |3b|: <3 2017-10-01T15:46:29Z phoe: This was the culprit, thank you. 2017-10-01T15:46:43Z phoe: Yes, LZMA libs are foreign. 2017-10-01T15:47:08Z |3b|: might be nice to try system libs first, if they don't break the API every version 2017-10-01T15:47:10Z phoe: They're built from the C source of the original LZMA SDK, modified a little bit - the original makefile produces an executable binary, where I wanted a shared object. 2017-10-01T15:47:38Z phoe: I actually wanted to do that, but the interface is completely different between the original LZMA SDK from Pavlov and the liblzma provided in linux systems. 2017-10-01T15:48:04Z |3b|: ah :( 2017-10-01T15:48:07Z damke joined #lisp 2017-10-01T15:49:17Z phoe: And I don't feel competent enough in liblzma's C interface to navigate it and write a wrapper for that. 2017-10-01T15:49:34Z damke_ quit (Ping timeout: 240 seconds) 2017-10-01T15:49:49Z phoe: A friend of mine linked a C code example for using Pavlov's SDK - I translated that into CFFI, at the cost of needing to carry my own DLLs. 2017-10-01T15:50:29Z Shinmera: phoe: Also consider using https://shinmera.github.io/deploy/ 2017-10-01T15:51:14Z varjag quit (Ping timeout: 240 seconds) 2017-10-01T15:51:31Z phoe: Shinmera: oh yes exactly that! 2017-10-01T15:51:50Z phoe: I used this in my other Qtools-based project, good to see it being an external library now. 2017-10-01T15:52:20Z Shinmera: It's also better than what Qtools had, fwiw 2017-10-01T15:57:22Z wigust joined #lisp 2017-10-01T15:59:55Z Amplituhedron joined #lisp 2017-10-01T16:01:36Z kozy joined #lisp 2017-10-01T16:03:04Z Xal quit (Quit: ZNC 1.6.5 - http://znc.in) 2017-10-01T16:05:17Z Xal joined #lisp 2017-10-01T16:05:20Z kobain joined #lisp 2017-10-01T16:08:43Z JuanDaugherty quit (Quit: Ex Chat) 2017-10-01T16:11:55Z Amplituhedron quit (Read error: Connection reset by peer) 2017-10-01T16:23:00Z Mon_Ouie joined #lisp 2017-10-01T16:28:48Z moei joined #lisp 2017-10-01T16:36:02Z EvW quit (Ping timeout: 246 seconds) 2017-10-01T16:36:14Z igemnace quit (Read error: Connection reset by peer) 2017-10-01T16:41:54Z neoncontrails joined #lisp 2017-10-01T16:42:42Z SaganMan joined #lisp 2017-10-01T16:44:00Z LiamH joined #lisp 2017-10-01T16:45:33Z hel-io_ joined #lisp 2017-10-01T16:47:14Z varjag joined #lisp 2017-10-01T16:48:21Z hel-io quit (Ping timeout: 240 seconds) 2017-10-01T16:51:25Z z3t0 joined #lisp 2017-10-01T16:52:12Z varjag quit (Ping timeout: 248 seconds) 2017-10-01T16:53:06Z jack_rabbit quit (Quit: Leaving) 2017-10-01T16:53:18Z z3t0 quit (Client Quit) 2017-10-01T16:55:57Z karswell_ joined #lisp 2017-10-01T16:57:27Z kslt1 joined #lisp 2017-10-01T16:59:03Z hel-io_ quit (Ping timeout: 258 seconds) 2017-10-01T17:01:37Z kozy quit (Quit: No Ping reply in 180 seconds.) 2017-10-01T17:03:18Z kozy joined #lisp 2017-10-01T17:12:13Z vap1 joined #lisp 2017-10-01T17:14:21Z vaporatorius quit (Ping timeout: 240 seconds) 2017-10-01T17:20:39Z random-nick quit (Remote host closed the connection) 2017-10-01T17:21:37Z EvW1 joined #lisp 2017-10-01T17:22:37Z PinealGlandOptic joined #lisp 2017-10-01T17:23:17Z whoman joined #lisp 2017-10-01T17:24:01Z zooey quit (Remote host closed the connection) 2017-10-01T17:25:11Z zooey joined #lisp 2017-10-01T17:26:07Z random-nick joined #lisp 2017-10-01T17:27:29Z sellout-1 joined #lisp 2017-10-01T17:27:58Z sellout- quit (Ping timeout: 255 seconds) 2017-10-01T17:28:19Z phf joined #lisp 2017-10-01T17:29:37Z hel-io joined #lisp 2017-10-01T17:30:07Z phf: hello, i remember on planet lisp (it probably was Xach's post, but i can't seem to find it) there was a link to someone's github dump of personal lisp code. it was essentially a folder of hacks, all of them targeting cmucl, of various quality. i remember there was plotting code, that, i think, spit out postscript, etc. does anybody remember the link? 2017-10-01T17:37:08Z hel-io_ joined #lisp 2017-10-01T17:37:32Z _death: https://github.com/rtoy/cmucl/blob/f810fc97740f2bd1405247fcc2dc56a0b00be8d7/src/contrib/psgraph/psgraph.lisp ? 2017-10-01T17:38:28Z hel-io__ joined #lisp 2017-10-01T17:40:02Z phf: _death: well, that certainly covers a detail of the question :) no, it was folder of hacks, released by some oldtimer "i've been using these here lisp codes for the past 20 years". he also had a plot function 2017-10-01T17:40:03Z hel-io quit (Ping timeout: 264 seconds) 2017-10-01T17:40:40Z vlatkoB_ joined #lisp 2017-10-01T17:41:11Z _death: ah.. maybe I know it, but it's not github 2017-10-01T17:41:23Z Josh_2 joined #lisp 2017-10-01T17:42:27Z hel-io_ quit (Ping timeout: 264 seconds) 2017-10-01T17:43:18Z varjag joined #lisp 2017-10-01T17:44:21Z vlatkoB quit (Ping timeout: 240 seconds) 2017-10-01T17:44:54Z damke quit (Ping timeout: 240 seconds) 2017-10-01T17:47:36Z _death: nevermind, I was thinking of https://bitbucket.org/dfmorrison/roan (you said 20 years, I was thinking "old stuff".. I like that 1975-2017 copyright) but it's not it 2017-10-01T17:47:46Z hel-io joined #lisp 2017-10-01T17:47:51Z hel-io__ quit (Ping timeout: 264 seconds) 2017-10-01T17:48:25Z hel-io_ joined #lisp 2017-10-01T17:51:46Z Fare joined #lisp 2017-10-01T17:52:21Z hel-io quit (Ping timeout: 255 seconds) 2017-10-01T17:53:26Z hel-io joined #lisp 2017-10-01T17:55:12Z turkja quit (Quit: Leaving.) 2017-10-01T17:56:21Z hel-io_ quit (Ping timeout: 240 seconds) 2017-10-01T17:56:46Z knicklux quit (Ping timeout: 248 seconds) 2017-10-01T17:57:40Z Kevslinger quit (Quit: Connection closed for inactivity) 2017-10-01T17:58:32Z hel-io_ joined #lisp 2017-10-01T17:59:58Z Lowl3v3l quit (Ping timeout: 240 seconds) 2017-10-01T18:00:06Z SaganMan quit (Quit: WeeChat 1.6) 2017-10-01T18:00:37Z shrdlu68 joined #lisp 2017-10-01T18:00:44Z neoncontrails quit (Remote host closed the connection) 2017-10-01T18:01:21Z neoncontrails joined #lisp 2017-10-01T18:01:48Z neoncontrails quit (Remote host closed the connection) 2017-10-01T18:02:15Z hel-io quit (Ping timeout: 255 seconds) 2017-10-01T18:03:14Z CrazyEddy quit (Ping timeout: 240 seconds) 2017-10-01T18:08:03Z Mon_Ouie quit (Ping timeout: 258 seconds) 2017-10-01T18:08:20Z hel-io joined #lisp 2017-10-01T18:11:53Z hel-io_ quit (Ping timeout: 258 seconds) 2017-10-01T18:12:40Z knicklux joined #lisp 2017-10-01T18:14:23Z hel-io quit (Ping timeout: 246 seconds) 2017-10-01T18:14:47Z hel-io joined #lisp 2017-10-01T18:15:35Z slyrus quit (Quit: Client Quit) 2017-10-01T18:16:18Z sjl_ joined #lisp 2017-10-01T18:16:38Z hel-io_ joined #lisp 2017-10-01T18:18:38Z phf: _death: i found it, https://github.com/dbmcclain?tab=repositories but i guess i misremember it, it's not all cmucl. (but it's certainly code by someone who writes CMU CL) 2017-10-01T18:19:27Z phf: via https://xach.livejournal.com/315943.html 2017-10-01T18:20:15Z hel-io quit (Ping timeout: 255 seconds) 2017-10-01T18:23:27Z safe joined #lisp 2017-10-01T18:24:13Z _death: nice 2017-10-01T18:24:30Z wigust quit (Ping timeout: 248 seconds) 2017-10-01T18:27:37Z phf: ta 2017-10-01T18:27:37Z shrdlu68: Xach: Not sure if this matters: it appears there are no checks for the maximum content-length in quicklisp/http.lisp 2017-10-01T18:27:42Z phf left #lisp 2017-10-01T18:27:54Z hel-io_ quit (Ping timeout: 255 seconds) 2017-10-01T18:28:53Z hel-io joined #lisp 2017-10-01T18:30:31Z XachX: shrdlu68: what should the max be? 2017-10-01T18:32:21Z knobo joined #lisp 2017-10-01T18:32:38Z shrdlu68: XachX: The spec does not say, but probably something that will prevent the process from taking up too much memory if someone sends a preposterous length. Again, I'm not sure it matters. 2017-10-01T18:32:38Z shka quit (Read error: Connection reset by peer) 2017-10-01T18:33:02Z shka joined #lisp 2017-10-01T18:33:09Z XachX: shrdlu68: oh, it does not save it in memory. 2017-10-01T18:33:17Z XachX: But it would be bad to fill the disk 2017-10-01T18:34:04Z shrdlu68: XachX: What about for the individual headers? Are those being checked to prevent them from growing unbounded? 2017-10-01T18:34:25Z XachX: shrdlu68: hmm, no 2017-10-01T18:34:30Z XachX: Good point 2017-10-01T18:35:31Z Mon_Ouie joined #lisp 2017-10-01T18:39:10Z shka quit (Read error: No route to host) 2017-10-01T18:39:31Z shka joined #lisp 2017-10-01T18:40:59Z rjid joined #lisp 2017-10-01T18:42:02Z shka quit (Read error: Connection reset by peer) 2017-10-01T18:42:28Z shka joined #lisp 2017-10-01T18:44:58Z raynold quit (Quit: Connection closed for inactivity) 2017-10-01T18:45:42Z PinealGlandOptic quit (Quit: leaving) 2017-10-01T18:47:15Z Xal quit (Quit: ZNC 1.6.5 - http://znc.in) 2017-10-01T18:48:06Z shrdlu68: Same things appears in drakma, it uses chunga's #'read-line, which simply reads until eof or CRLF. 2017-10-01T18:49:32Z Xal joined #lisp 2017-10-01T18:49:39Z shka quit (Read error: No route to host) 2017-10-01T18:50:02Z shka joined #lisp 2017-10-01T18:51:54Z shrdlu68: s/#'read-line/#'read-line* 2017-10-01T18:52:24Z shrdlu68: Probably hunchtoot too, from skimming through the code. 2017-10-01T18:54:54Z knicklux quit (Ping timeout: 248 seconds) 2017-10-01T18:57:49Z shrdlu68: ...and dexador. 2017-10-01T19:00:09Z Shinmera: What would a server gain by sending you a huge header? 2017-10-01T19:00:22Z hel-io_ joined #lisp 2017-10-01T19:00:26Z Shinmera: Like, even if we assume it's malicious 2017-10-01T19:02:51Z z3t0 joined #lisp 2017-10-01T19:03:01Z hel-io quit (Ping timeout: 240 seconds) 2017-10-01T19:04:10Z hel-io_ quit (Client Quit) 2017-10-01T19:04:29Z shrdlu68: Shinmera: DOS. But it's likely inconsequential in most cases. 2017-10-01T19:04:44Z Shinmera: Huh? 2017-10-01T19:04:53Z Shinmera: This is an HTTP client we're talking about here, yeah? 2017-10-01T19:04:56Z hel-io joined #lisp 2017-10-01T19:05:40Z Shinmera: The client isn't magically going to open up new connections, so what would you DOS? 2017-10-01T19:06:22Z shrdlu68: Shinmera: In the case of hunchentoot, a server as well. 2017-10-01T19:06:32Z random-nick quit (Remote host closed the connection) 2017-10-01T19:06:53Z Shinmera: Hunchentoot has other problems already anyway (like using interning for headers/post/get vars) 2017-10-01T19:06:57Z knicklux joined #lisp 2017-10-01T19:07:10Z shrdlu68: Oh dear. 2017-10-01T19:07:29Z shrdlu68: Meh! Doesn't matter, right? 2017-10-01T19:08:50Z Shinmera: Well, depends on how pragmatic and/or paranoid you are. 2017-10-01T19:08:52Z vlatkoB_ quit (Remote host closed the connection) 2017-10-01T19:09:10Z sz0 quit (Quit: Connection closed for inactivity) 2017-10-01T19:12:36Z sellout-1 quit (Quit: Leaving.) 2017-10-01T19:12:39Z Jesin quit (Quit: Leaving) 2017-10-01T19:12:47Z sellout- joined #lisp 2017-10-01T19:13:19Z sellout- quit (Client Quit) 2017-10-01T19:13:30Z sellout- joined #lisp 2017-10-01T19:14:07Z sellout- quit (Client Quit) 2017-10-01T19:14:17Z sellout- joined #lisp 2017-10-01T19:14:48Z epony joined #lisp 2017-10-01T19:14:55Z sellout- quit (Client Quit) 2017-10-01T19:15:06Z sellout- joined #lisp 2017-10-01T19:15:43Z sellout- quit (Client Quit) 2017-10-01T19:15:54Z sellout- joined #lisp 2017-10-01T19:16:31Z sellout- quit (Client Quit) 2017-10-01T19:19:38Z knobo quit (Read error: Connection reset by peer) 2017-10-01T19:19:40Z Jesin joined #lisp 2017-10-01T19:19:43Z fluxit quit (Read error: Connection reset by peer) 2017-10-01T19:22:48Z knicklux quit (Ping timeout: 258 seconds) 2017-10-01T19:27:37Z zooey quit (Ping timeout: 248 seconds) 2017-10-01T19:29:39Z toy_m quit (Remote host closed the connection) 2017-10-01T19:30:27Z zooey joined #lisp 2017-10-01T19:30:44Z knobo joined #lisp 2017-10-01T19:32:30Z z3t0 quit (Remote host closed the connection) 2017-10-01T19:32:31Z neoncontrails joined #lisp 2017-10-01T19:32:46Z kjak quit (Quit: leaving) 2017-10-01T19:33:19Z kjak joined #lisp 2017-10-01T19:35:29Z knicklux joined #lisp 2017-10-01T19:35:29Z knobo quit (Read error: Connection reset by peer) 2017-10-01T19:35:54Z z3t0 joined #lisp 2017-10-01T19:35:56Z z3t0 quit (Remote host closed the connection) 2017-10-01T19:36:11Z z3t0 joined #lisp 2017-10-01T19:36:58Z kjak quit (Client Quit) 2017-10-01T19:38:19Z kjak joined #lisp 2017-10-01T19:42:09Z phoe: Can I call a hook when an ASDF system is successfully loaded? 2017-10-01T19:42:24Z phoe: Is there some kind of keyword argument to DEFSYSTEM that I can use for that? 2017-10-01T19:45:02Z Shinmera: Uuuh there's some stuff to sorta declaratively define a perform method 2017-10-01T19:45:19Z Shinmera: And I think you can do an after method on perform load-op of a particular system. 2017-10-01T19:45:33Z Shinmera: So yes, but I don't remember how exactly. 2017-10-01T19:46:09Z phoe: Will it be a hack to just call some code in the last file of that system? 2017-10-01T19:46:21Z phoe: Which, with :SERIAL T, will imply that all previous files compiled successfully? 2017-10-01T19:47:24Z Shinmera: If this is your own system, why not just add a new file or something that's loaded last 2017-10-01T19:47:36Z Shinmera: I mean, what exactly do you even think you need to do? 2017-10-01T19:48:27Z rjid quit (Ping timeout: 260 seconds) 2017-10-01T19:51:57Z random-nick joined #lisp 2017-10-01T19:54:45Z bigos quit (Remote host closed the connection) 2017-10-01T20:01:39Z hel-io quit (Ping timeout: 264 seconds) 2017-10-01T20:05:23Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2017-10-01T20:08:24Z bigos_ joined #lisp 2017-10-01T20:11:13Z hel-io joined #lisp 2017-10-01T20:20:18Z papachan quit (Ping timeout: 258 seconds) 2017-10-01T20:20:36Z z3t0 quit (Remote host closed the connection) 2017-10-01T20:20:55Z pierpa joined #lisp 2017-10-01T20:24:29Z z3t0 joined #lisp 2017-10-01T20:25:06Z solene quit (Remote host closed the connection) 2017-10-01T20:27:11Z bigos_ quit (Quit: Leaving) 2017-10-01T20:28:47Z hel-io_ joined #lisp 2017-10-01T20:28:56Z z3t0 quit (Remote host closed the connection) 2017-10-01T20:29:12Z z3t0 joined #lisp 2017-10-01T20:29:32Z random-nick quit (Remote host closed the connection) 2017-10-01T20:30:21Z stylewarning: Who has taken over maintenance of hunchentoot 2017-10-01T20:30:46Z Shinmera: Probably nobody so far 2017-10-01T20:31:01Z phoe: Shinmera: I actually want to do this. And, whenever a system is loaded, I want to push some stuff to lists, so the GUI/Qtools module knows which buttons to display and widgets to instantiate. 2017-10-01T20:31:28Z phoe: Basically, for each system A, B, C, the system FOO will need to display a button that triggers visibility of A's widget. 2017-10-01T20:32:12Z Shinmera: Uh, so you want to load systems during the runtime of your gui? 2017-10-01T20:32:21Z hel-io quit (Ping timeout: 240 seconds) 2017-10-01T20:34:47Z DingoSaar_ joined #lisp 2017-10-01T20:35:56Z mrcom quit (Read error: Connection reset by peer) 2017-10-01T20:36:03Z stylewarning: phoe can you define after methods on the symbolic name of the system 2017-10-01T20:36:36Z stylewarning: EQL-specialized :after method on the systems of interest 2017-10-01T20:36:53Z stylewarning: Or an AROUND method that intercepts all loaded systems 2017-10-01T20:37:38Z stylewarning: (Prog1 (call-next-method) (if system-of-interest do-thing)) 2017-10-01T20:37:45Z Shinmera: I don't think it's guaranteed that perform is called on the system's name, just its object. 2017-10-01T20:38:06Z Shinmera: Actually I'd be surprised if perform is called on the system's name at all, ever. 2017-10-01T20:38:50Z DingoSaar quit (Ping timeout: 264 seconds) 2017-10-01T20:46:07Z Josh_2` joined #lisp 2017-10-01T20:47:21Z mrcom joined #lisp 2017-10-01T20:47:34Z Josh_2 quit (Ping timeout: 240 seconds) 2017-10-01T20:50:03Z Josh_2` quit (Remote host closed the connection) 2017-10-01T20:51:28Z whoman is now known as hooman 2017-10-01T21:02:01Z pjb quit (Ping timeout: 240 seconds) 2017-10-01T21:06:18Z knicklux quit (Ping timeout: 258 seconds) 2017-10-01T21:09:55Z knicklux joined #lisp 2017-10-01T21:18:16Z z3t0 quit (Remote host closed the connection) 2017-10-01T21:18:54Z z3t0 joined #lisp 2017-10-01T21:19:16Z angavrilov quit (Remote host closed the connection) 2017-10-01T21:23:29Z z3t0 quit (Ping timeout: 240 seconds) 2017-10-01T21:26:27Z aeth: Is alexandria:read-file-into-byte-vector the way to go for binary data? 2017-10-01T21:26:50Z aeth: Just something simple, encoding things as numbers, not a full serialization 2017-10-01T21:27:00Z neoncontrails quit 2017-10-01T21:27:03Z z3t0 joined #lisp 2017-10-01T21:29:59Z stylewarning: aeth no 2017-10-01T21:30:14Z stylewarning: Well I guess it depends on what you’re asking 2017-10-01T21:30:23Z shrdlu68: aeth: It simply opens with :element-type '(unsigned-byte 8) and reads the whole file. 2017-10-01T21:30:46Z stylewarning: If you’re saying you have a file containing bytes and you want to make that into an array containing bytes, then it’s the way to go 2017-10-01T21:31:24Z aeth: I want a file that can essentially be expressed as #(0-255 0-255 0-255 0-255 0-255 0-255 0-255 0-255 0-255 0-255 0-255 ...) 2017-10-01T21:32:10Z aeth: so I see no reason to not do this 2017-10-01T21:32:14Z knicklux quit (Ping timeout: 264 seconds) 2017-10-01T21:32:28Z z3t0 quit (Remote host closed the connection) 2017-10-01T21:33:03Z z3t0 joined #lisp 2017-10-01T21:35:33Z stylewarning: Sounds fine then 2017-10-01T21:36:05Z z3t0 quit (Remote host closed the connection) 2017-10-01T21:36:21Z z3t0 joined #lisp 2017-10-01T21:41:45Z Karl_Dscc quit (Remote host closed the connection) 2017-10-01T21:47:14Z knicklux joined #lisp 2017-10-01T21:50:13Z z3t0 quit (Remote host closed the connection) 2017-10-01T21:50:48Z z3t0 joined #lisp 2017-10-01T21:54:58Z z3t0 quit (Ping timeout: 240 seconds) 2017-10-01T21:59:26Z pjb joined #lisp 2017-10-01T22:02:20Z shrdlu68: Is there a variable that holds the value of the last thing evaluated? Not the return value, but what was evaluated. 2017-10-01T22:04:06Z z3t0 joined #lisp 2017-10-01T22:05:16Z shrdlu68: Say I call a function, and then re-define it. How can I call it again as I had called it the last time without having to type it all? 2017-10-01T22:05:57Z shrdlu68: In the repl, that is. 2017-10-01T22:15:24Z phoe: Shinmera: yes 2017-10-01T22:15:26Z phoe: * 2017-10-01T22:15:33Z phoe: oh, wait 2017-10-01T22:15:35Z phoe: + 2017-10-01T22:15:58Z phoe: if you type "(+ 2 2)" in REPL, then * will be bound to 4 and + will be bound to (+ 2 2) 2017-10-01T22:16:02Z phoe: shrdlu68: ^ 2017-10-01T22:16:04Z phoe: Shinmera: sorry 2017-10-01T22:17:23Z shrdlu68: phoe: Thanks. 2017-10-01T22:18:37Z phoe: shrdlu68: - is the currently evaluated expression and / is the m-v-l of the last expression's values 2017-10-01T22:18:46Z phoe: + * / also come in ++ and +++ variants 2017-10-01T22:19:02Z pjb quit (Ping timeout: 264 seconds) 2017-10-01T22:21:53Z varjag quit (Ping timeout: 240 seconds) 2017-10-01T22:21:55Z mishoo quit (Ping timeout: 246 seconds) 2017-10-01T22:24:43Z attila_lendvai joined #lisp 2017-10-01T22:25:09Z kobain quit (Read error: Connection reset by peer) 2017-10-01T22:25:41Z kobain joined #lisp 2017-10-01T22:27:20Z _death: + can also be useful after evaluating a special variable.. if you want to change it you can do (set + ).. an old trick I found reading cl-su-ai 2017-10-01T22:37:48Z shifty quit (Ping timeout: 248 seconds) 2017-10-01T22:41:21Z shka quit (Ping timeout: 240 seconds) 2017-10-01T22:43:59Z z3t0 quit (Remote host closed the connection) 2017-10-01T22:44:23Z attila_lendvai quit (Quit: Leaving.) 2017-10-01T22:44:31Z z3t0 joined #lisp 2017-10-01T22:44:50Z wigust joined #lisp 2017-10-01T22:49:02Z z3t0 quit (Ping timeout: 248 seconds) 2017-10-01T22:51:48Z z3t0 joined #lisp 2017-10-01T23:05:22Z stylewarning: I’ve basically never used anything but * ** 2017-10-01T23:05:30Z stylewarning: The rest are gimmicks 2017-10-01T23:09:48Z yaocl joined #lisp 2017-10-01T23:15:53Z z3t0 quit (Remote host closed the connection) 2017-10-01T23:18:20Z varjag joined #lisp 2017-10-01T23:19:15Z raynold joined #lisp 2017-10-01T23:19:24Z Josh_2 joined #lisp 2017-10-01T23:20:36Z al-damiri joined #lisp 2017-10-01T23:23:00Z varjag quit (Ping timeout: 240 seconds) 2017-10-01T23:25:37Z sellout- joined #lisp 2017-10-01T23:25:40Z moei quit (Quit: Leaving...) 2017-10-01T23:28:07Z Fare: Elias Pipping, who wrote the launch-program support for ASDF 3.2, just passed away. :-( 2017-10-01T23:31:32Z stylewarning: Fare: that is unfortunate news, especially collected with these other untimely deaths :( 2017-10-01T23:31:58Z epony quit (Ping timeout: 258 seconds) 2017-10-01T23:33:12Z yaocl quit (Quit: yaocl) 2017-10-01T23:33:41Z Fare: other untimely deaths? 2017-10-01T23:33:50Z Fare: who are you thinking of? 2017-10-01T23:34:07Z stylewarning: Fare: Vladimir Voevodsky 2017-10-01T23:35:00Z margeas quit (Ping timeout: 260 seconds) 2017-10-01T23:35:02Z Fare: yeah, not a lisper, but a great loss for computer science :-( 2017-10-01T23:36:05Z Fare: and, who knows, maybe a proper solution to higher-order equality paths is in a reflection principle that would take the world closer to Lisp 2017-10-01T23:37:28Z Fare: that said, to an extropian, all deaths are untimely 2017-10-01T23:39:52Z Fare: except maybe those of unredeemable criminals, that come all too late. 2017-10-01T23:43:57Z edgar-rft: let's make a list of people who died just-in-time 2017-10-02T00:02:56Z itruslove quit (Remote host closed the connection) 2017-10-02T00:02:56Z Guest431 quit (Remote host closed the connection) 2017-10-02T00:03:50Z papachan joined #lisp 2017-10-02T00:04:07Z stylewarning: edgar-rft: death is rarely a positive event, but there are folks who spent an average or above average lifetime doing productive things for humanity 2017-10-02T00:04:11Z wxie joined #lisp 2017-10-02T00:04:32Z stylewarning: and then there are some who have produced exceptional things for humanity but only lived half the time as any (average) other. To me, those are especially untimely. 2017-10-02T00:04:35Z rpg: If anyone around has operator privs, it might be nice to put a micro-obituary for Elias in the message for #lisp. 2017-10-02T00:05:37Z yaocl joined #lisp 2017-10-02T00:06:50Z Fare: edgar-rft: that would be criminals stopped just before the act by the victim in self-defense. 2017-10-02T00:08:45Z z3t0 joined #lisp 2017-10-02T00:10:47Z z3t0 quit (Remote host closed the connection) 2017-10-02T00:11:21Z z3t0 joined #lisp 2017-10-02T00:11:53Z z3t0 quit (Remote host closed the connection) 2017-10-02T00:12:06Z z3t0 joined #lisp 2017-10-02T00:13:36Z z3t0: hi 2017-10-02T00:26:40Z yaocl quit (Quit: yaocl) 2017-10-02T00:28:43Z EvW1 quit (Ping timeout: 255 seconds) 2017-10-02T00:30:10Z shrdlu68: z3t0: Hello 2017-10-02T00:35:02Z pierpa quit (Quit: Page closed) 2017-10-02T00:38:00Z marvin2 left #lisp 2017-10-02T00:48:22Z z3t0: hey shrdlu68 2017-10-02T00:48:24Z z3t0: whats up 2017-10-02T00:52:10Z nydel quit (Read error: Connection reset by peer) 2017-10-02T00:52:39Z z3t0 quit (Remote host closed the connection) 2017-10-02T00:53:16Z z3t0 joined #lisp 2017-10-02T00:55:10Z z3t0_ joined #lisp 2017-10-02T00:55:11Z z3t0 quit (Read error: Connection reset by peer) 2017-10-02T00:55:43Z jmercouris joined #lisp 2017-10-02T01:04:12Z hel-io_ quit (Remote host closed the connection) 2017-10-02T01:04:20Z wigust quit (Remote host closed the connection) 2017-10-02T01:04:31Z hel-io joined #lisp 2017-10-02T01:04:58Z hel-io quit (Remote host closed the connection) 2017-10-02T01:05:25Z DeadTrickster quit (Read error: Connection reset by peer) 2017-10-02T01:05:59Z DeadTrickster_ joined #lisp 2017-10-02T01:12:21Z d4ryus1 joined #lisp 2017-10-02T01:15:27Z smokeink joined #lisp 2017-10-02T01:15:27Z d4ryus quit (Ping timeout: 240 seconds) 2017-10-02T01:15:56Z smokeink: how to macroexpand a reader macro ? 2017-10-02T01:18:20Z megalography joined #lisp 2017-10-02T01:21:32Z neoncontrails joined #lisp 2017-10-02T01:22:37Z Bicyclidine joined #lisp 2017-10-02T01:23:10Z Bike quit (Ping timeout: 255 seconds) 2017-10-02T01:25:49Z orivej quit (Ping timeout: 258 seconds) 2017-10-02T01:28:05Z Fare: you read a string 2017-10-02T01:28:21Z Fare: you read *from* a string. 2017-10-02T01:28:46Z Denommus joined #lisp 2017-10-02T01:28:55Z smokeink: (read-from-string "'q") ; how to make it return (quote q) ? 2017-10-02T01:29:02Z igemnace joined #lisp 2017-10-02T01:34:19Z stylewarning: Any ABCL users? I'm curious about your experience. 2017-10-02T01:34:45Z stylewarning: smokeink: it does return (QUOTE Q) 2017-10-02T01:34:53Z stylewarning: that is printed by the printer as 'Q 2017-10-02T01:35:54Z hel-io joined #lisp 2017-10-02T01:36:29Z stylewarning: Observe: 2017-10-02T01:36:35Z stylewarning: * (let ((*print-pretty* nil)) (prin1-to-string (read-from-string "'q"))) 2017-10-02T01:36:35Z stylewarning: "(QUOTE Q)" 2017-10-02T01:37:31Z itruslove joined #lisp 2017-10-02T01:38:53Z smokeink: ok that worked. thanks 2017-10-02T01:40:23Z hel-io quit (Ping timeout: 258 seconds) 2017-10-02T01:41:26Z giraffe joined #lisp 2017-10-02T01:41:42Z giraffe is now known as Guest21598 2017-10-02T01:48:20Z epony joined #lisp 2017-10-02T01:50:53Z dddddd quit (Remote host closed the connection) 2017-10-02T01:55:19Z DingoSaar_ quit (Ping timeout: 258 seconds) 2017-10-02T01:55:24Z Denommus quit (Remote host closed the connection) 2017-10-02T02:02:05Z Khisanth quit (Ping timeout: 248 seconds) 2017-10-02T02:02:58Z serviteur quit (Remote host closed the connection) 2017-10-02T02:04:03Z LiamH quit (Quit: Leaving.) 2017-10-02T02:04:59Z nowhereman quit (Remote host closed the connection) 2017-10-02T02:05:26Z nowhereman joined #lisp 2017-10-02T02:06:59Z dieggsy joined #lisp 2017-10-02T02:11:13Z sellout-1 joined #lisp 2017-10-02T02:12:11Z sellout- quit (Ping timeout: 258 seconds) 2017-10-02T02:12:57Z dieggsy quit (Ping timeout: 258 seconds) 2017-10-02T02:15:10Z Khisanth joined #lisp 2017-10-02T02:18:39Z hel-io joined #lisp 2017-10-02T02:21:38Z daemoz quit (Remote host closed the connection) 2017-10-02T02:21:39Z igemnace quit (Read error: Connection reset by peer) 2017-10-02T02:21:58Z daemoz joined #lisp 2017-10-02T02:22:36Z igemnace joined #lisp 2017-10-02T02:23:16Z saki joined #lisp 2017-10-02T02:24:52Z saki quit (Client Quit) 2017-10-02T02:29:22Z saki joined #lisp 2017-10-02T02:30:16Z saki quit (Client Quit) 2017-10-02T02:30:36Z turkja joined #lisp 2017-10-02T02:30:57Z turkja left #lisp 2017-10-02T02:31:13Z basket joined #lisp 2017-10-02T02:32:55Z saki joined #lisp 2017-10-02T02:33:15Z saki quit (Client Quit) 2017-10-02T02:36:21Z Josh_2 quit (Remote host closed the connection) 2017-10-02T02:36:52Z FreeBirdLjj joined #lisp 2017-10-02T02:37:09Z kobain quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2017-10-02T02:38:05Z z3t0_ quit (Remote host closed the connection) 2017-10-02T02:38:41Z z3t0 joined #lisp 2017-10-02T02:39:04Z turkja joined #lisp 2017-10-02T02:43:09Z z3t0 quit (Ping timeout: 248 seconds) 2017-10-02T02:45:39Z ACE_Recliner joined #lisp 2017-10-02T02:49:18Z ACE_Recliner quit (Remote host closed the connection) 2017-10-02T02:53:53Z FreeBirdLjj quit (Remote host closed the connection) 2017-10-02T02:54:12Z z3t0 joined #lisp 2017-10-02T02:55:01Z FreeBirdLjj joined #lisp 2017-10-02T02:58:21Z FreeBirdLjj quit (Read error: Connection reset by peer) 2017-10-02T02:58:35Z FreeBirdLjj joined #lisp 2017-10-02T03:02:21Z FreeBirdLjj quit (Remote host closed the connection) 2017-10-02T03:02:38Z FreeBirdLjj joined #lisp 2017-10-02T03:20:24Z Bicyclidine quit (Ping timeout: 258 seconds) 2017-10-02T03:26:09Z shifty joined #lisp 2017-10-02T03:28:42Z FreeBirdLjj quit (Remote host closed the connection) 2017-10-02T03:29:21Z FreeBirdLjj joined #lisp 2017-10-02T03:30:03Z FreeBirdLjj quit (Remote host closed the connection) 2017-10-02T03:31:32Z z3t0 quit (Remote host closed the connection) 2017-10-02T03:32:01Z papachan quit (Ping timeout: 240 seconds) 2017-10-02T03:32:05Z z3t0 joined #lisp 2017-10-02T03:33:54Z Fade: Fare: hat's unfortunate. Is there an obituary? 2017-10-02T03:34:12Z Guest99802 is now known as kushal 2017-10-02T03:34:26Z FreeBirdLjj joined #lisp 2017-10-02T03:34:40Z kushal quit (Changing host) 2017-10-02T03:34:40Z kushal joined #lisp 2017-10-02T03:34:41Z Fade: s/hat/that 2017-10-02T03:34:56Z hel-io quit (Remote host closed the connection) 2017-10-02T03:35:16Z hel-io joined #lisp 2017-10-02T03:35:44Z hel-io quit (Remote host closed the connection) 2017-10-02T03:36:07Z hel-io joined #lisp 2017-10-02T03:36:27Z z3t0 quit (Ping timeout: 260 seconds) 2017-10-02T03:36:32Z hel-io quit (Remote host closed the connection) 2017-10-02T03:36:54Z hel-io joined #lisp 2017-10-02T03:37:20Z hel-io quit (Remote host closed the connection) 2017-10-02T03:37:38Z hel-io joined #lisp 2017-10-02T03:38:08Z hel-io quit (Remote host closed the connection) 2017-10-02T03:44:37Z schoppenhauer quit (Ping timeout: 260 seconds) 2017-10-02T03:46:35Z schoppenhauer joined #lisp 2017-10-02T03:48:14Z hel-io joined #lisp 2017-10-02T03:50:29Z beach: Good morning everyone! 2017-10-02T03:51:16Z shrdlu68: Good morning, beach 2017-10-02T03:53:18Z stylewarning: good evening 2017-10-02T03:54:58Z hel-io quit (Ping timeout: 264 seconds) 2017-10-02T03:56:37Z smokeink: is there any way to eval regions that contain read-macros (such as cl-annot's @export ) in slime ? It always gives me "variable @export is unbound". c-K (compile the whole file) works but i'm wondering if there's a way to eval just a region 2017-10-02T04:01:51Z jmercouris: beach: good morning 2017-10-02T04:05:39Z Blukunfando quit (Read error: Connection reset by peer) 2017-10-02T04:07:03Z neoncontrails quit (Remote host closed the connection) 2017-10-02T04:07:41Z neoncontrails joined #lisp 2017-10-02T04:08:40Z nika joined #lisp 2017-10-02T04:12:09Z neoncontrails quit (Ping timeout: 258 seconds) 2017-10-02T04:16:14Z sz0 joined #lisp 2017-10-02T04:20:17Z shrdlu68 quit (Ping timeout: 248 seconds) 2017-10-02T04:20:56Z damke joined #lisp 2017-10-02T04:20:57Z stylewarning: smokeink: SLIME-EVAL-REGION? 2017-10-02T04:21:06Z stylewarning: select a region and callbg7vt 2017-10-02T04:21:14Z stylewarning: call that* 2017-10-02T04:21:35Z beach: I am not sure it installs the right readtable then. 2017-10-02T04:21:50Z yaocl joined #lisp 2017-10-02T04:22:16Z stylewarning: The @export read macro isn't cool anyway :D 2017-10-02T04:22:25Z beach: True. 2017-10-02T04:22:28Z stylewarning: we have a perfectly good EXPORT function :) 2017-10-02T04:24:50Z |3b|: and perfectly good keybindings to add an export to the defpackage :) 2017-10-02T04:25:17Z stylewarning: What I do think I'd like is something like Haskell's DERIVING 2017-10-02T04:25:42Z stylewarning: @derive(equality print ...) (defstruct/defclass ...) 2017-10-02T04:27:56Z beach: I have a similar problem in that I have defined a reader macro for Cleavir ASTs. It looks like this [ : ... : ] 2017-10-02T04:28:32Z stylewarning: I actually have been wanting to see/write a tutorial about what's actually involved in defining a new object or new read macro. How do you _properly_ write a printer, a load-form, etc.? 2017-10-02T04:28:36Z beach: And I also can't evaluate a single definition using SLIME because of the wrong readtable being used. 2017-10-02T04:28:58Z smokeink: what does derive do in haskell ? Actually I am not using export, i'm using an ordinary custom function called cors that sets up some hunchentoot headers and cl annot allows one to use @ in front of any function so i have @cors (f) which translates to (cors (f)) 2017-10-02T04:30:08Z Fare: stylewarning, did you look at lisp-interface-library ? 2017-10-02T04:30:17Z stylewarning: Fare, yes of course! 2017-10-02T04:30:18Z beach: stylewarning: I have a save-info macro that, for a given class, associates a list of pairs (:initarg accessor). When the object is written, it is written in the form you saw above, but with *package* bound to the keyword package so that all package prefixes are present. 2017-10-02T04:30:29Z |3b|: does slime take advantage of named-readtables? 2017-10-02T04:30:48Z beach: I think named-readtables could be the solution. 2017-10-02T04:31:36Z Fare: stylewarning, no inference, but you can explicitly get your typeclass-like stuff with interface mixins 2017-10-02T04:31:38Z beach: stylewarning: When I read an object, I just read the class name and the list of initializations as a plist, then I do (apply #'make-instance class-name initargs) 2017-10-02T04:31:40Z |3b| sees a sly contrib for it, but not finding anything for slime 2017-10-02T04:32:28Z stylewarning: Fare: I meant something irrespective of the notion of a typeclass I guess. Just ways of automatically generating things, just as DEFSTRUCT does with a few things. 2017-10-02T04:32:54Z beach: stylewarning: That way, I only save enough of an object to reproduce its API. 2017-10-02T04:33:07Z stylewarning: beach: link to the code for this? 2017-10-02T04:33:34Z FreeBirdLjj quit (Remote host closed the connection) 2017-10-02T04:33:45Z beach: https://github.com/robert-strandh/SICL/tree/master/Code/Cleavir/Input-output 2017-10-02T04:33:54Z |3b|: looks like slime is expected to notice named-readtables, so might help 2017-10-02T04:35:06Z neoncontrails joined #lisp 2017-10-02T04:35:21Z neoncontrails quit (Read error: Connection reset by peer) 2017-10-02T04:35:30Z beach: stylewarning: I use it for ASTs in Cleavir, but I have also used it in the past for saving the entire object graph in Gsharp. Circularity is handled correctly, provided your Common Lisp implementation has a good reader. 2017-10-02T04:46:38Z neoncontrails joined #lisp 2017-10-02T04:46:47Z neoncontrails quit (Client Quit) 2017-10-02T04:47:11Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-10-02T04:53:49Z shka joined #lisp 2017-10-02T04:55:51Z saki joined #lisp 2017-10-02T04:56:57Z zooey quit (Remote host closed the connection) 2017-10-02T04:57:24Z zooey joined #lisp 2017-10-02T05:00:12Z z3t0 joined #lisp 2017-10-02T05:01:21Z jmercouris quit (Ping timeout: 240 seconds) 2017-10-02T05:01:32Z pjb joined #lisp 2017-10-02T05:05:07Z z3t0 quit (Ping timeout: 260 seconds) 2017-10-02T05:08:56Z vlatkoB joined #lisp 2017-10-02T05:09:23Z vtomole joined #lisp 2017-10-02T05:13:39Z vtomole quit (Ping timeout: 260 seconds) 2017-10-02T05:16:15Z z3t0 joined #lisp 2017-10-02T05:17:04Z chiyosaki joined #lisp 2017-10-02T05:17:08Z saki quit (Ping timeout: 240 seconds) 2017-10-02T05:18:36Z wxie quit (Quit: Bye.) 2017-10-02T05:20:36Z z3t0 quit (Ping timeout: 240 seconds) 2017-10-02T05:23:04Z yaocl quit (Quit: yaocl) 2017-10-02T05:25:10Z neoncontrails joined #lisp 2017-10-02T05:27:09Z PuercoPop joined #lisp 2017-10-02T05:27:33Z PuercoPop is now known as Guest43159 2017-10-02T05:27:41Z araujo quit (Read error: Connection reset by peer) 2017-10-02T05:27:53Z araujo joined #lisp 2017-10-02T05:28:26Z araujo quit (Max SendQ exceeded) 2017-10-02T05:29:01Z araujo joined #lisp 2017-10-02T05:29:10Z yaocl joined #lisp 2017-10-02T05:35:23Z z3t0 joined #lisp 2017-10-02T05:38:34Z Karl_Dscc joined #lisp 2017-10-02T05:39:22Z nika quit (Remote host closed the connection) 2017-10-02T05:39:58Z z3t0 quit (Ping timeout: 264 seconds) 2017-10-02T05:44:50Z flamebeard joined #lisp 2017-10-02T05:50:01Z mishoo joined #lisp 2017-10-02T05:53:36Z Mon_Ouie quit (Ping timeout: 240 seconds) 2017-10-02T06:01:14Z neoncont_ joined #lisp 2017-10-02T06:04:38Z neoncontrails quit (Ping timeout: 255 seconds) 2017-10-02T06:11:28Z dec0n joined #lisp 2017-10-02T06:13:08Z Karl_Dscc quit (Remote host closed the connection) 2017-10-02T06:13:08Z FreeBirdLjj joined #lisp 2017-10-02T06:19:22Z safe quit (Read error: Connection reset by peer) 2017-10-02T06:20:08Z Fare quit (Ping timeout: 240 seconds) 2017-10-02T06:24:13Z sz0 quit (Quit: Connection closed for inactivity) 2017-10-02T06:26:56Z varjag joined #lisp 2017-10-02T06:32:10Z nika_ joined #lisp 2017-10-02T06:33:13Z scymtym quit (Ping timeout: 258 seconds) 2017-10-02T06:36:31Z angavrilov joined #lisp 2017-10-02T06:42:25Z orivej joined #lisp 2017-10-02T06:46:04Z z3t0 joined #lisp 2017-10-02T06:49:00Z a_ joined #lisp 2017-10-02T06:50:06Z z3t0 quit (Ping timeout: 240 seconds) 2017-10-02T06:51:38Z a_: how to assign string to variable? 2017-10-02T06:51:46Z LAG_ quit (Quit: Connection closed for inactivity) 2017-10-02T06:52:01Z a_: LET: illegal variable specification "foo" 2017-10-02T06:54:50Z a_ quit (Quit: Leaving) 2017-10-02T06:57:05Z pjb: He has only 2/4; missing what he did, and missing waiting for the answer… 2017-10-02T06:58:21Z damke quit (Ping timeout: 240 seconds) 2017-10-02T06:59:51Z hajovonta joined #lisp 2017-10-02T07:07:47Z damke joined #lisp 2017-10-02T07:21:31Z shka quit (Ping timeout: 258 seconds) 2017-10-02T07:25:21Z FreeBirdLjj quit (Remote host closed the connection) 2017-10-02T07:25:24Z ChanServ has set mode +o phoe 2017-10-02T07:25:30Z loke quit (Remote host closed the connection) 2017-10-02T07:25:53Z loke` is now known as loke 2017-10-02T07:25:59Z FreeBirdLjj joined #lisp 2017-10-02T07:26:20Z FreeBirdLjj quit (Remote host closed the connection) 2017-10-02T07:26:39Z FreeBirdLjj joined #lisp 2017-10-02T07:27:09Z FreeBirdLjj quit (Remote host closed the connection) 2017-10-02T07:27:26Z FreeBirdLjj joined #lisp 2017-10-02T07:27:48Z FreeBirdLjj quit (Remote host closed the connection) 2017-10-02T07:28:07Z FreeBirdLjj joined #lisp 2017-10-02T07:28:37Z FreeBirdLjj quit (Remote host closed the connection) 2017-10-02T07:31:14Z phoe: I am not good at writing obituaries. Please fix it if I screw it up. 2017-10-02T07:31:23Z phoe changed the topic of #lisp to: Common Lisp, the #1=(programmable . #1#) programming language logs: | contact op if muted | SBCL 1.4.0, CMUCL 21b, ECL 16.1.3, CCL 1.11 | ASDF 3.2.1 | Farewell and thank you, Elias Pipping. May you rest peacefully. 2017-10-02T07:31:30Z ChanServ has set mode -o phoe 2017-10-02T07:31:58Z phoe: minion: memo for rpg: done. 2017-10-02T07:31:59Z minion: Remembered. I'll tell rpg when he/she/it next speaks. 2017-10-02T07:33:40Z hajovonta: hello 2017-10-02T07:33:45Z phoe: hey hajovonta 2017-10-02T07:34:00Z hajovonta: hi 2017-10-02T07:34:06Z knicklux quit (Ping timeout: 240 seconds) 2017-10-02T07:34:47Z hajovonta: I have a general problem which I already solved one way, but I'm interested if anyone else faced it before and what was the solution 2017-10-02T07:35:00Z phoe: hajovonta: describe this problem then! 2017-10-02T07:35:22Z hajovonta: it is that I have a dataset (say, a list of lists), and have to display and edit it somehow, as in Excel or other tabular editor 2017-10-02T07:35:39Z hajovonta: because it's inconvenient to enter and edit this kind of data in the REPL 2017-10-02T07:36:03Z phoe: a list of lists can be possibly interpreted as a 2D array. 2017-10-02T07:36:09Z hajovonta: yes 2017-10-02T07:36:11Z beach: hajovonta: Can't you just stick it in a file? 2017-10-02T07:36:21Z phoe: ^ 2017-10-02T07:36:27Z hajovonta: beach: sure I can 2017-10-02T07:36:41Z phoe: In the worst worst case, export your data into some kind of CSV file and load it up in any spreadsheet program. 2017-10-02T07:36:45Z hajovonta: my solution was that I print this as an org-table and edit it in Emacs as org 2017-10-02T07:36:54Z phoe: Exactly. 2017-10-02T07:37:13Z hajovonta: then, when loading back into CL, interpret it as pipe-separated CSV and then post-process 2017-10-02T07:38:06Z hajovonta: and it works, but, as you see, I'm now bound to Emacs. I don't know if Emacs has a good csv editor 2017-10-02T07:38:30Z hajovonta: I tried csv-mode, but I was not satisfied 2017-10-02T07:38:39Z phoe: orgmode tables are probably as good as you can get. 2017-10-02T07:38:53Z arduo joined #lisp 2017-10-02T07:38:57Z hajovonta: that's good to hear :) 2017-10-02T07:39:05Z phoe: But then again, that's an #emacs question actually. 2017-10-02T07:39:11Z hajovonta: yes,... 2017-10-02T07:39:12Z phoe: You might get better answers there. 2017-10-02T07:39:36Z hajovonta: I'm a bit concerned with loading back and forth 2017-10-02T07:39:45Z froggey quit (Ping timeout: 248 seconds) 2017-10-02T07:39:59Z hajovonta: from and to the CL image 2017-10-02T07:40:21Z phoe: CSV is a very troublesome format in the matter, because it is subject to a lot of interpretation. 2017-10-02T07:40:45Z phoe: If every *every* newline starts a new row, what are the delimiters, how do you escape strings, and so on, and so on. 2017-10-02T07:41:10Z phoe: As long as you have software that uses a common version of CSV file format, you should be good. 2017-10-02T07:41:33Z froggey joined #lisp 2017-10-02T07:41:47Z hajovonta: yes, I'm aware... I want to just stick with Excel-format, because the software I'm working on might be of use by Excel people. 2017-10-02T07:41:53Z beach: hajovonta: Is it not practical to just have a text file that can be processed with READ? 2017-10-02T07:42:01Z beach: Oh. 2017-10-02T07:42:07Z phoe: CSV is an excel enough format. 2017-10-02T07:42:13Z phoe: It is readable via Excel. 2017-10-02T07:42:25Z hajovonta: beach: there is the performance problem of having large quantities of data in list of lists 2017-10-02T07:42:34Z phoe: And you should be able to work out a compromise that is read well enough by Lisp, by Emacs, and Excel. 2017-10-02T07:42:37Z hajovonta: what is the general way to store this in CL? 2017-10-02T07:42:54Z phoe: hajovonta: you can store it in a vector of vectors if you are concerned about that. 2017-10-02T07:42:59Z beach: hajovonta: How large quantities are we talking about, and what are your performance requirements? 2017-10-02T07:43:25Z phoe: If your lists are of equal length and will not grow, you can use a 2D array. 2017-10-02T07:43:43Z hajovonta: I have problems when I have cells in the millions range 2017-10-02T07:44:00Z hajovonta: On my computer, I managed to load a 5-million cell array 2017-10-02T07:44:09Z beach: That should not be a problem at all. 2017-10-02T07:44:15Z hajovonta: like 50 columns x 100000 rows 2017-10-02T07:44:31Z hajovonta: phoe: it must be dynamic 2017-10-02T07:44:43Z hajovonta: to be able to add rows and remove and also columns 2017-10-02T07:44:45Z phoe: hajovonta: then adjustable vector of adjustable vectors. 2017-10-02T07:44:59Z hajovonta: can I filter and sort and search in them? 2017-10-02T07:45:04Z phoe: though in this case removing a row or a column will be O(n). 2017-10-02T07:45:07Z phoe: Yes, you can. 2017-10-02T07:45:16Z phoe: REMOVE, SORT, SEARCH all accept sequences. 2017-10-02T07:45:44Z hajovonta: right now I just have a hashtable with the key (column,row) and values as values 2017-10-02T07:46:05Z hajovonta: I don't know if it's better or worse 2017-10-02T07:46:27Z phoe: Depends. For 5e6 elements, this might be starting to get troublesome. 2017-10-02T07:47:11Z scymtym joined #lisp 2017-10-02T07:47:23Z knicklux joined #lisp 2017-10-02T07:48:45Z hajovonta: phoe: how does vector x vector compare to that? 2017-10-02T07:49:18Z FreeBirdLjj joined #lisp 2017-10-02T07:50:02Z phoe: hajovonta: frankly, I don't know. Vector² access is O(1), hash table access is amortized O(1). 2017-10-02T07:50:22Z phoe: You'd need to measure it yourself to see which one works better. 2017-10-02T07:50:28Z z3t0 joined #lisp 2017-10-02T07:51:38Z hajovonta: amortized? :D 2017-10-02T07:51:45Z JuanDaugherty joined #lisp 2017-10-02T07:51:54Z phoe: hajovonta: in simpler words, most of the time. 2017-10-02T07:52:11Z phoe: hash table access is O(1) unless there are collisions, at which point it might take more than that. 2017-10-02T07:52:19Z JuanDaugherty: linpack or other purpose built stuff wouldn't be better? 2017-10-02T07:52:35Z phoe: The worst possible case ever for a hash table is O(n) but achieving this means that your hash table is broken. 2017-10-02T07:54:58Z z3t0 quit (Ping timeout: 264 seconds) 2017-10-02T07:56:52Z hajovonta: is the key type a factor here? like, numbered, symbol, string, or other types? 2017-10-02T07:57:41Z phoe: Might be, but not really. You might want to read up on how hash tables are constructed. 2017-10-02T07:57:46Z chiyosaki quit (Quit: chiyosaki) 2017-10-02T07:58:44Z hajovonta: thanks! 2017-10-02T07:59:31Z hajovonta: another question. it might be SBCL-specific. say, I have large quantities of data in memory, how do I release the memory? 2017-10-02T07:59:44Z phoe: make sure the data is not accessible anymore. 2017-10-02T07:59:46Z Mon_Ouie joined #lisp 2017-10-02T07:59:46Z some-user joined #lisp 2017-10-02T07:59:47Z JuanDaugherty left #lisp 2017-10-02T07:59:49Z some-user: hello 2017-10-02T07:59:58Z phoe: Lisp does not manage memory manually - it is a garbage collected language. 2017-10-02T08:00:03Z beach: Hello some-user. 2017-10-02T08:00:06Z phoe: hey some-user 2017-10-02T08:00:55Z Shinmera: phoe: It's perfectly valid for an implementation to just continue accumulating memory and never freeing it. 2017-10-02T08:01:05Z phoe: hajovonta: so if your huge array is only accessible via the *HUGE-ARRAY* special variable, do (setf *huge-array* nil) and the array will eventually be-- 2017-10-02T08:01:07Z some-user: how to reload defparameter/:allocation :class/etc when you restart your saved image as executable? 2017-10-02T08:01:21Z phoe: Shinmera: ...really? 2017-10-02T08:01:36Z Shinmera: phoe: Obviously, since the spec says absolutely nothing about memory. 2017-10-02T08:01:48Z phoe: ...well. Right. 2017-10-02T08:01:59Z beach: some-user: I think you need to explain your problem in a greater level of detail. 2017-10-02T08:02:07Z Shinmera: It is also conceivable that there could be an implementation with manual freeing. 2017-10-02T08:02:12Z beach: some-user: Otherwise, the answer is going to be: use the function LOAD. 2017-10-02T08:02:18Z hhdave joined #lisp 2017-10-02T08:02:34Z phoe: some-user: these should be saved together with the image and accessible after you reload it. 2017-10-02T08:02:47Z some-user: currently when i restarting my image defparameters remain in the same state as of the time image was created 2017-10-02T08:03:00Z beach: Of course. 2017-10-02T08:03:00Z phoe: some-user: yes, and this is expected behaviour. 2017-10-02T08:03:30Z phoe: If you want to modify them when the image is reloaded, then you will want to call some hook functions on when the image is loaded again. 2017-10-02T08:03:51Z phoe: See UIOP/IMAGE package for tools that allow you to do this. 2017-10-02T08:04:06Z arduo quit (Ping timeout: 240 seconds) 2017-10-02T08:04:25Z scymtym: phoe: hajovonta: for EQUAL hash-tables, the key type can be important. when computing the hash value for CONSes, some implementations stop at a certain depth. thus having lists as keys that are identical up to that point can cause degraded performance (see https://bugs.launchpad.net/sbcl/+bug/1712130 ) 2017-10-02T08:04:42Z some-user: phoe: got it, thanks! give me a sec and i'll provide complete example of what i'm trying to do, maybe there is a better way 2017-10-02T08:04:48Z some-user: beach: ^ 2017-10-02T08:05:19Z phoe: scymtym: thanks. 2017-10-02T08:08:19Z pjb: hajovonta: emacs has several good spreadsheets. https://www.emacswiki.org/emacs/SpreadSheet 2017-10-02T08:09:44Z shka joined #lisp 2017-10-02T08:10:38Z Mon_Ouie quit (Quit: WeeChat 1.9) 2017-10-02T08:10:43Z some-user: phoe: beach https://gist.github.com/anonymous/bca72012cd541d4aab458da716a82a1c 2017-10-02T08:12:29Z beach: some-user: You either need to save a new image after updating the variable, or you need to save/load a file with the new value of the parameter. I am sorry to say this, but it is a direct consequence of the stupidity of existing operating systems. 2017-10-02T08:12:53Z phoe: some-user: you need to reopen all files after dumping the image. 2017-10-02T08:13:08Z phoe: or rather, close the files before dumping the image, and open the files after restoring it. 2017-10-02T08:13:23Z beach: That too. 2017-10-02T08:13:54Z beach: But I don't think that's the issue here. 2017-10-02T08:14:08Z kami joined #lisp 2017-10-02T08:14:12Z phoe: Oh, one more thing. 2017-10-02T08:14:14Z kami: Good morning 2017-10-02T08:14:19Z phoe: Do you rebind *STATE* as a dynamic variable? 2017-10-02T08:14:20Z beach: Hello kami. 2017-10-02T08:14:21Z marvin2 joined #lisp 2017-10-02T08:14:40Z phoe: AFAIK SBCL only saves the toplevel value, so in case of (let ((*state* ...)) ...) - this value is lost. 2017-10-02T08:14:45Z beach: phoe: It looks like it is SETF-ed 2017-10-02T08:14:52Z some-user: phoe: nope, i just use it for setf 2017-10-02T08:15:05Z phoe: beach: yes, but the toplevel binding there is SETFed, this should be preserved nonetheless. 2017-10-02T08:15:54Z Mon_Ouie joined #lisp 2017-10-02T08:18:51Z some-user: phoe: could you please expand on your open/close files suggestion, i'm not sure i understand? 2017-10-02T08:19:17Z beach: some-user: phoe is thinking that you might be trying to keep files open in the saved image. 2017-10-02T08:19:25Z beach: some-user: It doesn't look like that to me. 2017-10-02T08:21:28Z some-user: beach: you're right, my idea was just to load state once on program startup and then update it with setf(also save updates to state file) 2017-10-02T08:21:54Z some-user: which is works normally but breaks if i'm trying to save image 2017-10-02T08:21:55Z beach: some-user: It doesn't work that way. 2017-10-02T08:22:29Z hajovonta: scymtym: thanks! 2017-10-02T08:22:35Z hajovonta: pjb: thanks 2017-10-02T08:22:35Z beach: some-user: The image that you saved on disk is not affected by any action after you load the image into memory. 2017-10-02T08:24:06Z damke quit (Read error: Connection reset by peer) 2017-10-02T08:24:56Z some-user: beach: yeah but what to do in my scenario then, what approach i should take? i'd like to save my program image for startup speed reasons 2017-10-02T08:25:23Z damke joined #lisp 2017-10-02T08:25:27Z beach: some-user: Keep a file with the current value of the variable. 2017-10-02T08:25:41Z hajovonta: scymtym: I have keys as two-element lists, so I guess I'm under that threshold? 2017-10-02T08:25:52Z hajovonta: is my understanding correct? 2017-10-02T08:25:58Z beach: some-user: Whenever you modify the value of the variable, OR, whenever you quit the program, write the current value of the variable to that file. 2017-10-02T08:26:09Z hajovonta: "This is caused by hash collisions because the keys are long-ish lists and EQUAL-HASH (via SXHASH) only traverses CONS trees up to depth 4. CCL seems to cut off at depth 6." 2017-10-02T08:26:21Z beach: some-user: Then, when you load the image, the first action to take is to also set the variable to the value stored in the file. 2017-10-02T08:27:52Z some-user: beach: got it, thank you! 2017-10-02T08:28:02Z beach: Sure. Good luck. 2017-10-02T08:33:29Z nirved joined #lisp 2017-10-02T08:34:25Z some-user: sigh, i'm not sure i understand everything completely but image approach seems needlesly complex for solving slow startup problem 2017-10-02T08:34:27Z beach: some-user: I find it interesting that you were surprised about this behavior. Most people are so brainwashed by the Unix-style distinction between primary and secondary memory that they would be very surprised if things worked the way you expected them to. 2017-10-02T08:34:31Z sz0 joined #lisp 2017-10-02T08:34:53Z saki joined #lisp 2017-10-02T08:35:41Z FreeBirdLjj quit (Remote host closed the connection) 2017-10-02T08:35:42Z nika_ quit (Remote host closed the connection) 2017-10-02T08:35:42Z scymtym: hajovonta: yeah, that should not be an issue 2017-10-02T08:35:45Z beach: some-user: Things in Unix land (or other similar operating systems) are needlessly complex because of this distinction between primary and secondary memory. Sorry this is happening to you. 2017-10-02T08:36:05Z nika_ joined #lisp 2017-10-02T08:36:16Z FreeBirdLjj joined #lisp 2017-10-02T08:36:38Z beach: some-user: Do you have a single variable that you need to save the value of? 2017-10-02T08:36:51Z beach: ... otherwise, things can become a bit messy. 2017-10-02T08:37:15Z some-user: beach: yeah, luckily it's just a single variable :) 2017-10-02T08:37:38Z beach: some-user: And what is the type of its value? Something simple like a number? 2017-10-02T08:38:00Z some-user: beach: nah, it's a hash-table 2017-10-02T08:38:16Z beach: That complicates things a lot :( 2017-10-02T08:38:52Z beach: ... because there is no pre-defined way of writing a hash table to a stream. 2017-10-02T08:39:14Z geertvl joined #lisp 2017-10-02T08:39:30Z some-user: beach: i'm using cl-store for this 2017-10-02T08:40:03Z beach: Er, then you should not have a problem. Just store the thing in the, well, store. 2017-10-02T08:40:33Z FreeBirdLjj quit (Ping timeout: 248 seconds) 2017-10-02T08:42:28Z some-user: beach: the problem was in my defparameter from gist used for setfing and retrieving data, so now i understand better how to rewrite it, thank you 2017-10-02T08:42:39Z beach: Anytime. 2017-10-02T08:43:49Z phoe: beach: actually, it depends on what is stored inside that hash table. 2017-10-02T08:44:14Z beach: That too. 2017-10-02T08:44:27Z phoe: I have been using a trick in form of https://blog.teknik.io/phoe/p/390 to turn the hash table into an alist and print it, all while preserving identity. 2017-10-02T08:44:57Z phoe: Then all it takes to read the hashtable back is to call READ on its printed representation. 2017-10-02T08:45:08Z phoe: It's portable, since ALEXANDRIA is portable. 2017-10-02T08:45:32Z phoe: But it depends on all objects stored inside the hashtable being printable readably. 2017-10-02T08:46:32Z phoe: some-user: ^ 2017-10-02T08:47:13Z hajovonta: I think my program satisfies that requirement. 2017-10-02T08:47:44Z hajovonta: is there any good free persistence library around? 2017-10-02T08:48:02Z phoe: hajovonta: BKNR.DATASTORE 2017-10-02T08:48:08Z hajovonta: I used AllegroCache in the past, and it was very good, also Rucksack but it seems to be old. 2017-10-02T08:48:16Z phoe: but then, depends on your definition of persistence 2017-10-02T08:49:20Z hajovonta: hm 2017-10-02T08:49:22Z hajovonta: thanks 2017-10-02T08:50:44Z beach again observes the numerous attempts to compensate for Unix stupidity. This time in the form of various ways of handling the difference between primary and secondary memory. 2017-10-02T08:51:35Z phoe: beach: yep, it's a burden that we contemporary programmers need to carry for now. 2017-10-02T08:51:57Z beach: You should go on a global strike. 2017-10-02T08:52:26Z phoe: It's hard, the people I might be striking against would be all "but we're in the same hole as you". :( 2017-10-02T08:52:29Z dim: what's the alternative? the RAM being a transparent cache for the disk? 2017-10-02T08:52:41Z dim: much like the CPU cache levels are? 2017-10-02T08:52:55Z beach: dim: Yes. The solution has been known for half a century. 2017-10-02T08:52:58Z phoe: dim: basically, yes. 2017-10-02T08:53:08Z hajovonta: yes 2017-10-02T08:53:17Z _cosmonaut_ joined #lisp 2017-10-02T08:53:20Z dim: do you still have a local heap and stack in a process? 2017-10-02T08:53:41Z beach: dim: The concept of a process is another Unix stupidity. 2017-10-02T08:53:46Z dim: hehe 2017-10-02T08:53:49Z hajovonta: I think it's because of the C people we have to face this situation 2017-10-02T08:54:06Z dim: beach: in my mind it solves the problem of having multiple people program a single machine 2017-10-02T08:54:17Z beach: dim: See section 1.2 of this document: http://metamodular.com/lispos.pdf 2017-10-02T08:54:31Z dim: thanks 2017-10-02T08:54:40Z dim: beach: do you ever consider publishing? 2017-10-02T08:54:49Z beach: dim: It does solve that problem yes. But it is using heavy artillery to kill small insects. 2017-10-02T08:55:09Z beach: dim: I publish 2-3 papers per year. This particular one is not yet ready. 2017-10-02T08:56:14Z phoe: brb, time to do something productive 2017-10-02T08:56:52Z dim: beach: ah yeah academia... I guess 2017-10-02T08:57:04Z dim: I had already read that parts of your paper, it seems 2017-10-02T08:57:05Z beach: That's what I do, yes. 2017-10-02T08:59:18Z dim: yeah, I'm currently writing a book that I'm self-publishing 2017-10-02T08:59:19Z some-user: phoe: thanks for suggestion! 2017-10-02T08:59:26Z dim: hence a different mindset around the same activity 2017-10-02T08:59:37Z dim: didn't want to push it on you tho, sorry if it came out that way 2017-10-02T08:59:39Z beach: dim: That's an excellent idea. I do that too. 2017-10-02T09:00:19Z dim: seems that I can't find this Naggum article comparing Unix and Lisp in the same spirit as in your paper 2017-10-02T09:00:30Z dim: (of course with much more anger, Naggum's style) 2017-10-02T09:00:37Z beach: Heh, yes, of course. 2017-10-02T09:00:57Z beach does not recall having read such an article. 2017-10-02T09:01:04Z terpri joined #lisp 2017-10-02T09:01:19Z quazimodo quit (Ping timeout: 248 seconds) 2017-10-02T09:01:40Z jackdaniel: wasn't it perl-lisp comparison? 2017-10-02T09:03:28Z _cosmonaut_ quit (Ping timeout: 240 seconds) 2017-10-02T09:05:39Z dim: Eric was answering someone who wanted a Python like os package as a CL facility 2017-10-02T09:05:59Z terpri quit (Ping timeout: 255 seconds) 2017-10-02T09:06:14Z beach: "Erik", not "Eric". 2017-10-02T09:07:25Z dim: found it! 2017-10-02T09:07:25Z dim: https://www.xach.com/naggum/articles/3245983402026014@naggum.no.html 2017-10-02T09:07:35Z dim: ah yeah Erik, sorry (Norway and all that) 2017-10-02T09:08:10Z dim: « That would be good. An abstraction of the operating system services and objects into Common Lisp would be fantastically welcome, precisely because it is so goddamn hard to do. » 2017-10-02T09:08:33Z dim: and then he expands on the differences in spirit that makes it so hard, and your paper reminded me of that 2017-10-02T09:10:09Z beach: Thanks for the link. 2017-10-02T09:10:57Z beach: Yes, I don't have a solution for that problem. 2017-10-02T09:11:59Z pjb: Well, one could still make a POSIX package using CFFI… I don't think it would be as bad as he says that you'd have to maintain 12 implementations. 2017-10-02T09:12:35Z dim: beach: so you do also publish books outside of your accademic curriculum? 2017-10-02T09:12:37Z jackdaniel: osicat aims at that 2017-10-02T09:12:41Z pjb: Now, if vendors want to optimize the POSIX package for their own implementation, they're free. 2017-10-02T09:12:49Z beach: I have a better idea. Create a library with Common Lisp functions that correspond to POSIX system calls. 2017-10-02T09:12:51Z shka: hello all 2017-10-02T09:13:08Z shka: beach: osicat? 2017-10-02T09:13:09Z pjb: hello one 2017-10-02T09:13:19Z shka: yes 2017-10-02T09:13:23Z shka: i am one 2017-10-02T09:13:24Z dim: pjb: my understanding of what Erik says is more to do with the incompabilility of the level of abstractions of Unix and Lisp, not how to reconcile them in practical terms 2017-10-02T09:13:25Z beach: dim: Mostly books that I find I need to write when I take on a new course. 2017-10-02T09:13:26Z shka: ;] 2017-10-02T09:13:56Z pjb: dim: a POSIX package wouldn't have to reconcile them. Just provide the POSIX abstractions. Ie, no pathname, just paths that are strings. 2017-10-02T09:14:12Z beach: dim: But also when I think about the sad state of some topics such as algorithms and data structures, operating systems, programming languages, the software industry, etc. 2017-10-02T09:15:14Z pjb: beach: what do you mena the sad state of algorithms and data structures? (I've got Knuth at hand reach). 2017-10-02T09:15:34Z dim: pjb: Unix file names (paths) are **NOT** strings 2017-10-02T09:15:41Z dim: they are byte arrays 2017-10-02T09:15:50Z pjb: right, sorry for the lax terminology. 2017-10-02T09:15:50Z dim: on windows they are strings, encoded in UTF16 2017-10-02T09:16:04Z dim: on Unix there is no encoding, only bytes, so it's not even a string 2017-10-02T09:16:14Z pjb: windows is not POSIX, is it? 2017-10-02T09:16:18Z dim: it is 2017-10-02T09:16:39Z dim: well there are 3 or 4 levels of POSIX compat and windows reaches the first of them, IIRC 2017-10-02T09:18:08Z Mon_Ouie quit (Ping timeout: 255 seconds) 2017-10-02T09:18:34Z beach: pjb: They algorithmic languages used are basically Fortran. They don't take modern architectures into account, still assuming the RAM model is valid, and they still think that a factor 256 can be neglected because it is a constant after all. 2017-10-02T09:19:03Z dim: beach: do you sell on LeanPub, somewhere else? would you share your experience? (maybe in PM rather than on the channel, that said) 2017-10-02T09:19:10Z pjb: Some books use functional languages and data structures… 2017-10-02T09:19:24Z shka: beach: academia and industry are not exactly well connected 2017-10-02T09:19:25Z beach: dim: I use CreateSpace which is an Amazon affiliate. 2017-10-02T09:19:32Z terpri joined #lisp 2017-10-02T09:19:33Z shka: and this is not even the best example of that 2017-10-02T09:19:41Z dim: oh, so they take 70% of the profits, IIUC 2017-10-02T09:19:51Z beach: No, not at all. 2017-10-02T09:20:00Z some-user quit (Remote host closed the connection) 2017-10-02T09:20:13Z beach: They have a fixed cost for printing. The author can choose any price higher than the cost. 2017-10-02T09:20:19Z pjb: But in any case, it is assumed that your O(.) must be computed in function of the operations you deem important. Books only use memory accesses as examples, it's left as an exercise for the reader, to assertain whether memory accesses are O(1) and factor that in. 2017-10-02T09:20:57Z drcode joined #lisp 2017-10-02T09:21:03Z beach: pjb: Also, apparently almost all books get the elementary stuff wrong. For instance binary search. 2017-10-02T09:21:10Z pjb: The only way would be to make those books even more mathematical. 2017-10-02T09:21:43Z beach: pjb: Furthermore, current books assume that all containers contain integers. This gives a false impression that comparing keys has the same cost as (say) comparing indices. 2017-10-02T09:21:46Z pjb: Really, the binary search bug goes back to books? 2017-10-02T09:22:03Z al-damiri quit (Quit: Connection closed for inactivity) 2017-10-02T09:22:27Z pjb: Well, as I said, the only solution would be to have a more mathematical, formalized presentation. It wouldn't help students… 2017-10-02T09:23:06Z beach: pjb: Moreover, because they don't care about constant factors, they don't bother finding optimal representations. A stack can be a list, but you then assume that allocation is O(1) and you pay a factor 256 penalty for (say) a list of DNA letters. 2017-10-02T09:23:13Z geertvl left #lisp 2017-10-02T09:23:34Z pjb: Indeed when we talk about algorithm complexities, we consider in general only one operation class. It's rare to see an analysis that takes into account all the "elementary" operations. 2017-10-02T09:23:40Z beach: pjb: And if you use an array, you need to have an upper bound OR reallocate, and in the latter case, you can't guarantee an upper bound on the time of an operation. 2017-10-02T09:23:41Z shka: beach: just finish that book, alright? :P 2017-10-02T09:23:47Z shka: and another one as well 2017-10-02T09:24:15Z beach: pjb: And I think that is not good enough in the environment we have today. 2017-10-02T09:24:34Z beach: Hence the "sad state of algorithms and data structures". 2017-10-02T09:24:48Z beach: shka: Yeah, it might be faster than to argue about it each time. :) 2017-10-02T09:25:00Z shka: yes! 2017-10-02T09:25:07Z dim: also cache friendly algorithms, and also sorting a 10 elements list is easy whatever the algo 2017-10-02T09:25:09Z pjb: beach: anyways, I agree that a more formal mathematical treatment should even help find some nice details. I've spent a few months starting to mathematize scanners, and it looked interesting (if not really worth the investment from a practical point of view). 2017-10-02T09:25:40Z dim: pjb: it looks to me like more formal math-like approach would help you a lot, but not everyone thinks the same way 2017-10-02T09:25:49Z shka: i would even consider asking you to review documentation that i'm writting right now, but i won't because you have tone of stuff to finish already :P 2017-10-02T09:26:26Z beach: The stuff I write does not rely on more theory or mathematics. Just a better grasp of orders of magnitude than most of my colleagues seem to have. 2017-10-02T09:26:42Z pjb: I guess people are busy finding new algorithms, rather than refining the presentation and design of existing ones… 2017-10-02T09:26:43Z dim: beach: any book about all that should begin with Amdahl's law 2017-10-02T09:26:57Z beach: dim: Why? 2017-10-02T09:27:22Z dim: I do lots of [Postgre]SQL consulting, and lots of query optimization, and people usually forget about it 2017-10-02T09:27:49Z beach: dim: How is it relevant to algorithms and data structures? 2017-10-02T09:27:50Z dim: if your SQL query takes 0.1ms on the server and your function takes 1s, maybe what you need to optimize isn't the SQL query… 2017-10-02T09:28:15Z dim: beach: because the first thing to understand is when do you have to be really careful about them 2017-10-02T09:28:20Z beach: How is that related to Amdahl's law? 2017-10-02T09:28:22Z dim: in my opinion at least 2017-10-02T09:29:50Z beach: I think I see what you mean. 2017-10-02T09:29:56Z beach: Forget my stupid questions. 2017-10-02T09:30:20Z dim: practical example, pgloader: I don't care much about algos and data structures for internal catalog representations, because I know that's not where the thing must be really fast 2017-10-02T09:31:05Z dim: it's going to take 1% to 5% maybe of the whole runtime anyway, and if it reaches more than 10% it's because you have a very small database to migrate 2017-10-02T09:31:21Z beach: I think I see what you mean. 2017-10-02T09:31:28Z dim: okay 2017-10-02T09:31:41Z dim: (sorry had to answer other people and didn't backlog before sending) 2017-10-02T09:31:51Z dim: anyway 2017-10-02T09:31:53Z beach: Sure. 2017-10-02T09:33:08Z dim: the other classic example, that I really want to mention because you'd never believe it until you see it, is the “PostgreSQL is 100% cpu, that's our bottleneck, please have a look”, and when you do well, any web page runs 1 to 10 *thousands* of SQL queries 2017-10-02T09:33:29Z phoe: dim: the fuck 2017-10-02T09:33:33Z dim: so you have 11 pages per second being displayed, and pg doing like 18592 TPS 2017-10-02T09:33:48Z dim: and the guys are like “well please fix pg it's too slow” 2017-10-02T09:33:49Z phoe: 1000 of SQL queries per single webpage? 2017-10-02T09:33:58Z dim: and you're like “please only run the queries you need?” 2017-10-02T09:34:04Z dim: phoe: that's a classic really, yes 2017-10-02T09:34:15Z phoe: I have no words. 2017-10-02T09:34:24Z beach: pjb: The thing is that there is a representation of (say) a stack that does not have the overhead of a list, and that still has bounded execution time (provided allocation is O(n) where n is the size of the block being allocated), but none of my colleagues had thought about it (including Algorithms and Data Structures experts) and no book talks about it. 2017-10-02T09:34:26Z dim: ingredients: team work, ORM, middleware APIs 2017-10-02T09:34:58Z dim: and then some dev loop over an API that fetches exactly one piece of what he needs at a time, in a very nice O(n) loop 2017-10-02T09:35:09Z dim: very well managed, memory optimization, all the things 2017-10-02T09:35:22Z dim: only each N is a SQL query... with a full network round-trip, etc 2017-10-02T09:35:34Z beach: Amazing. 2017-10-02T09:35:39Z dim: yeah 2017-10-02T09:35:56Z terpri quit (Remote host closed the connection) 2017-10-02T09:36:00Z phoe: PEBPSAC 2017-10-02T09:36:09Z dim: most devs don't want to think about what they're doing 2017-10-02T09:36:15Z phoe: problem exists between postgres and chair 2017-10-02T09:36:20Z dim: or they think too much about the wrong thing 2017-10-02T09:36:23Z dim: phoe: hehe 2017-10-02T09:36:46Z geertvl joined #lisp 2017-10-02T09:36:55Z geertvl quit (Client Quit) 2017-10-02T09:37:13Z dim: so I would love for someone to write a book about where to look, rather than about how to make something in particular as nice as possible wrt memory/cpu/... complexity 2017-10-02T09:37:34Z phoe: dim: tl;dr look at the slowest part of your code 2017-10-02T09:37:35Z dim: the 3% in the famous Knuth's quote 2017-10-02T09:38:18Z dim: Programmers waste enormous amounts of time thinking about, or worrying about, the speed of noncritical parts of their programs, and these attempts at efficiency actually have a strong negative impact when debugging and maintenance are considered. We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil. Yet we should not pass up our opportunities in that cr 2017-10-02T09:38:18Z dim: itical 3%. 2017-10-02T09:38:46Z phoe: make it work, make it correct, make it fast 2017-10-02T09:39:19Z dim: beach: so any algo book should begin with a lecture about “are you working on the 97% or the 3%? this book is only about those 3%, or about things you have *measured* to be worth spending quality time with” 2017-10-02T09:39:34Z dim: well, it's ony my opinion, of course 2017-10-02T09:39:38Z dim: only 2017-10-02T09:40:04Z terpri joined #lisp 2017-10-02T09:40:09Z beach: dim: I get your point. 2017-10-02T09:40:13Z phoe: dim: these 3% are going to be found in different places in each codebase though. 2017-10-02T09:40:40Z dim: phoe: of course, that's why we write version 1 then version 2 2017-10-02T09:40:43Z phoe: And it's pretty hard to generalize, other than things like "don't be worried about psql speed until you really start doing hundreds of queries per second". 2017-10-02T09:40:58Z pjb: Well arithmetic books don't tell you that you should not apply multiplication when you need the total length… 2017-10-02T09:41:01Z dim: make it clean, make it obvious 2017-10-02T09:41:10Z dim: only then make it fast, and only in cases when you need to 2017-10-02T09:41:33Z phoe: dim: I'd actually suggest to spend some focus on heuristics of where and how one can find these 3% in their codebase. 2017-10-02T09:41:49Z pjb: because, in some case, you may use multiplication actually. It's up to the user of algorithm, to think and understand when and how to apply them. 2017-10-02T09:42:00Z dim: I'm not writing such a book, I don't think I could 2017-10-02T09:42:14Z phoe: it would take a lot of collective knowledge to write one 2017-10-02T09:43:32Z dim: the book I'm writing is http://masteringpostgresql.com, it's quite a different one, even if it talks about performances to some degree and has the Knuth's quote in the Data Modeling chapter, in the Anti Patterns section ;-) 2017-10-02T09:43:52Z z3t0 joined #lisp 2017-10-02T09:43:57Z drcode quit (Ping timeout: 260 seconds) 2017-10-02T09:44:05Z dim should now breathe and stop writing, maybe… 2017-10-02T09:48:06Z loke: dim: How so? 2017-10-02T09:48:13Z loke: dim: Which quote? 2017-10-02T09:48:22Z z3t0 quit (Ping timeout: 264 seconds) 2017-10-02T09:48:53Z nika_ quit (Remote host closed the connection) 2017-10-02T09:49:24Z dim: the Knuth one about premature optimization being the root of all evil 2017-10-02T09:50:49Z _cosmonaut_ joined #lisp 2017-10-02T09:54:22Z nika_ joined #lisp 2017-10-02T09:55:05Z yaocl quit (Quit: yaocl) 2017-10-02T09:55:55Z vap1 quit (Quit: Leaving) 2017-10-02T09:56:07Z vaporatorius joined #lisp 2017-10-02T09:56:07Z vaporatorius quit (Changing host) 2017-10-02T09:56:07Z vaporatorius joined #lisp 2017-10-02T09:57:06Z terpri quit (Remote host closed the connection) 2017-10-02T09:57:16Z jackdaniel: I think that nowdays we see the other side of the coin - sloppy programming being the root of abstraction overflow (leading to having slightly better software on tremendously better hardware in comparison to '80) 2017-10-02T09:58:02Z nika_ quit (Client Quit) 2017-10-02T09:58:20Z shka: more like: "let's make it as convoluted and complicated as humanly possible" 2017-10-02T09:58:23Z nika_ joined #lisp 2017-10-02T09:59:19Z yaocl joined #lisp 2017-10-02T09:59:51Z shka: you will need http server for starting application, and we will block this thread and start another process that will be waiting in the event loop 2017-10-02T10:00:00Z dim: beach: resuming to read your paper (lispos), very nice read! thx 2017-10-02T10:03:25Z phoe: beach: I remember that I need to read Clordane. I will do it, eventually. 2017-10-02T10:05:07Z terpri joined #lisp 2017-10-02T10:05:33Z beach: dim: Thanks! 2017-10-02T10:07:29Z beach: phoe: No rush. I am not working on it right now. 2017-10-02T10:08:15Z beach: I have said this before, but I say it again: The way I am currently working with the CST-to-AST system is very reassuring. I use sb-cover to check what code has been executed and what part has not. Then, for some code that has not been executed, I write a unit test. If the test doesn't pass, I work on the code until it does. Then I run the coverage again, making sure that the previously untested code has now been executed. Then I 2017-10-02T10:08:15Z beach: repeat the procedure. 2017-10-02T10:09:14Z phoe: beach: that sounds like a very sane way of using coverage tools. 2017-10-02T10:09:20Z dim: I wonder if the LispOS object store could be a PostgreSQL instance 2017-10-02T10:09:21Z z3t0 joined #lisp 2017-10-02T10:09:59Z phoe: dim: could be anything that implements the object store protocol with all its implications. 2017-10-02T10:10:19Z phoe: the biggest trouble I see is references to other objects. 2017-10-02T10:10:32Z dim: well PostgreSQL allows for “background workers” and advanced hooks in many places in the system, not just SQL level triggers 2017-10-02T10:10:41Z phoe: since these sound very much like pointers, which aren't directly translatable into SQL. 2017-10-02T10:10:54Z dim: so we could easily enough have SBCL (or another one) run as a PostgreSQL background worker and implement whatever we need 2017-10-02T10:11:20Z dim: and SQL queries could then hook into the SBCL instance when needed 2017-10-02T10:11:36Z margeas joined #lisp 2017-10-02T10:11:40Z phoe: dim: biggest issue: this needs to be transparent to the user. 2017-10-02T10:11:48Z dim: define transparent? 2017-10-02T10:12:00Z phoe: so you'll literally need to store all of SBCL objects in PostgreSQL in the naïve case. 2017-10-02T10:12:25Z shka: dim: or foreign data wrapper 2017-10-02T10:12:41Z dim: the LispOS Object Store seems to be more about the meta-data, IIUC 2017-10-02T10:12:42Z phoe: like, we make a cons and reference it somewhere. This cons now needs to be stored in postgres, and the reference to this cons needs to be stored as well. 2017-10-02T10:12:52Z shka: phoe: no 2017-10-02T10:12:54Z phoe: actually let me have another look at the paper. 2017-10-02T10:13:02Z dim: the main storage could be separately handled 2017-10-02T10:13:08Z shka: phoe: it does not have to be stored in postgres 2017-10-02T10:13:11Z phoe: but then we go back to the idea of primary and secondary memory. 2017-10-02T10:13:13Z dim: having a transactionnal catalog is a nice property in general 2017-10-02T10:13:25Z dim: then you can have a signature based storage 2017-10-02T10:13:27Z shka: it is possible i think 2017-10-02T10:13:28Z z3t0 quit (Ping timeout: 240 seconds) 2017-10-02T10:13:38Z dim: key/value lisp storage where the key is e.g. a sha1 of the object/value 2017-10-02T10:13:43Z shka: not exactly easy, but possible 2017-10-02T10:13:49Z dim: the data store registers the key only 2017-10-02T10:14:06Z dim: and it's then “easy” to implement undo 2017-10-02T10:14:18Z dim: as easy as in an immutable data store with a transactional catalog 2017-10-02T10:16:11Z shka: so not easy at all :D 2017-10-02T10:16:23Z quazimodo joined #lisp 2017-10-02T10:16:25Z dim: the filename is then only one of the attributes, an can change and have an history that is independant of the content of the file, so you can even have the same file with different names in different environments/applications/user processes, which is nice 2017-10-02T10:17:02Z dim: different names means also that the same file may exists in different “places” (directories?) at the same time, more relational than hierarchical 2017-10-02T10:17:13Z dim: which is a nice property of the LispOS proposal, again, IIUC 2017-10-02T10:19:01Z dim: beach: did you have a look at an immutable data store for LispOS in order to simplify “undo” implementations? 2017-10-02T10:19:44Z dim: related, https://joearms.github.io/published/2015-03-12-The_web_of_names.html 2017-10-02T10:20:11Z orivej quit (Ping timeout: 246 seconds) 2017-10-02T10:25:53Z drcode joined #lisp 2017-10-02T10:28:49Z z3t0 joined #lisp 2017-10-02T10:29:23Z LAG_ joined #lisp 2017-10-02T10:33:01Z z3t0 quit (Ping timeout: 240 seconds) 2017-10-02T10:33:48Z m00natic joined #lisp 2017-10-02T10:34:06Z terpri quit (Remote host closed the connection) 2017-10-02T10:34:15Z phoe: Can I define an ASDF system named FOO/BAR? 2017-10-02T10:35:41Z orivej joined #lisp 2017-10-02T10:35:44Z jackdaniel: yes, but it needs to be in file foo.asd 2017-10-02T10:36:05Z jackdaniel: it should work in asdf 3.1.x onwards I think 2017-10-02T10:36:30Z phoe: Troublesome for me. 2017-10-02T10:36:48Z phoe: I want to define a system SKIPPY/RENDERER - would this need to be in a file skippy.asd then? 2017-10-02T10:37:02Z phoe: Note that I want to do it outside of SKIPPY's own ASD file. 2017-10-02T10:37:13Z Shinmera: Just use dashes 2017-10-02T10:37:15Z jackdaniel: if you want to have a proper system definition, then yes 2017-10-02T10:37:29Z jackdaniel: skippy-renderer in skippy-renderer.asd should do the trick (as Shinmera pointed out) 2017-10-02T10:37:37Z phoe: Dashes it is then. 2017-10-02T10:40:01Z orivej quit (Ping timeout: 240 seconds) 2017-10-02T10:43:43Z sz0 quit (Quit: Connection closed for inactivity) 2017-10-02T10:47:32Z yaocl quit (Quit: yaocl) 2017-10-02T11:00:19Z igemnace quit (Quit: WeeChat 1.9.1) 2017-10-02T11:01:53Z damke_ joined #lisp 2017-10-02T11:04:01Z damke quit (Ping timeout: 240 seconds) 2017-10-02T11:08:20Z nika_ quit 2017-10-02T11:09:21Z neoncont_ quit (Remote host closed the connection) 2017-10-02T11:12:03Z scymtym: this can be useful for defining foo and foo/test in foo.asd, though 2017-10-02T11:12:38Z papachan joined #lisp 2017-10-02T11:13:35Z marvin3 joined #lisp 2017-10-02T11:14:43Z beach: dim: Sorry, I was away. Mondays are crazy around here. 2017-10-02T11:15:13Z marvin2 quit (Ping timeout: 248 seconds) 2017-10-02T11:15:46Z beach: dim: I haven't thought too much about undo, but I know it is not enough to have it in the data store. Each application would have to implement undo as well. Not every object in an application would be in the data store. 2017-10-02T11:15:50Z dim: no pb, IRC is async anyway 2017-10-02T11:16:22Z dim: immutable objects in the store won't solve undo by itself, totally agreed 2017-10-02T11:16:29Z dim: it makes it simple to reason about, that said 2017-10-02T11:16:49Z dim: (I think) 2017-10-02T11:17:26Z beach: dim: I also don't know the implications of the object store that I am thinking of being based on an SQL database. 2017-10-02T11:20:05Z Ichimusai quit (Ping timeout: 240 seconds) 2017-10-02T11:20:49Z orivej joined #lisp 2017-10-02T11:21:37Z yaocl joined #lisp 2017-10-02T11:22:14Z beach: My thinking so far is like this: To collect all entries corresponding to some criteria, one would define a function (lambda (&key ... &allow-other-keys) ...) that would return a Boolean when applied to the keys in the object store. If the function returns true, then the entry is collected. 2017-10-02T11:23:13Z Ichimusai joined #lisp 2017-10-02T11:23:38Z phoe: beach: so basically a remove-if-not predicate 2017-10-02T11:23:52Z beach: Pretty much. 2017-10-02T11:23:58Z beach: So for instance I could define (lambda (&key type date author) (and (eq type 'email) (< lower data upper) (eq author sven))) 2017-10-02T11:24:02Z Bike joined #lisp 2017-10-02T11:24:22Z dim: I was more thinking (out loud) in terms of the object store having ACID properties, and about the relational model for attributes being a goot fit, possibly 2017-10-02T11:24:34Z dim: but really I think I'm just too used to think in pgsql terms here 2017-10-02T11:25:06Z beach: Yeah, I don't know how to combine the two. I need to think about it some more. 2017-10-02T11:26:34Z beach: The object store I have been thinking of so far is more like a file system, but without the restrictions of a Unix-like file system, so not just byte-sequence files, not a hierarchy, etc. 2017-10-02T11:26:36Z _cosmonaut_ quit (Ping timeout: 240 seconds) 2017-10-02T11:30:33Z z3t0 joined #lisp 2017-10-02T11:33:41Z phoe: Which ASD file should I look at for a good example of ASDF modules? 2017-10-02T11:33:58Z pjb: one which contains module definitions. 2017-10-02T11:34:34Z phoe: pjb: yes, I'm looking for a file which contains module definitions. 2017-10-02T11:34:39Z Shinmera: Modules are just subdirectories. What more do you need to know? 2017-10-02T11:34:54Z z3t0 quit (Ping timeout: 258 seconds) 2017-10-02T11:35:08Z phoe: Can I declare system dependencies in modules, or only in the DEFSYSTEM toplevel? 2017-10-02T11:35:13Z pjb: find ~/quicklisp -name \*.asd -exec grep -nHi :module {} + 2017-10-02T11:35:30Z wxie joined #lisp 2017-10-02T11:35:35Z pjb: phoe: so you don't speak unix… 2017-10-02T11:36:12Z Shinmera: If you think you need to make the system dependencies part of the module, you probably should make multiple systems instead. 2017-10-02T11:36:25Z phoe: pjb: thanks. 2017-10-02T11:36:29Z shka: beach: why not just large prolog database? 2017-10-02T11:36:45Z phoe: Shinmera: hm. I see. 2017-10-02T11:37:06Z raynold quit (Quit: Connection closed for inactivity) 2017-10-02T11:37:22Z dim: beach: a good alternative to the 70s hierarchical organisation is the relational model, but it means changing the key/value attributes idea in your paper (or EAV design) into a proper relational model 2017-10-02T11:37:54Z dim: with a relational model it should be trivial to have a file appear in several “directories” (or listings) depending on criteria such as the attributes 2017-10-02T11:38:21Z dim: or flags / colors / keywords (manual or automatics with document scanners) 2017-10-02T11:38:40Z phoe: Should I define multiple systems in one ASD file? If not, how can I make sure that ASDF finds all the ASD files? 2017-10-02T11:39:01Z Shinmera: You should not 2017-10-02T11:39:08Z dim: but to have the proper model for that you need to think about the use cases, and it seems that your target audience isn't the end-user but rather app developers 2017-10-02T11:39:09Z Shinmera: And you do that by telling ASDF where they are, what else 2017-10-02T11:39:46Z neoncontrails joined #lisp 2017-10-02T11:39:51Z dim: Shinmera: ~/.config/common-lisp/source-registry.conf.d/*.conf ? 2017-10-02T11:40:08Z phoe: In layman's terms, should I create multiple .asd files in ~/quicklisp/local-projects/foo-project/ ? 2017-10-02T11:40:18Z pjb: yes, that's what I'd do. 2017-10-02T11:40:38Z phoe: Okay. 2017-10-02T11:40:40Z Shinmera: Well, since you were talking about modules, I'd put each asd file in the respective folder of its sources. 2017-10-02T11:41:03Z Shinmera: But other people do it differently than I, so whatever 2017-10-02T11:41:03Z phoe: Shinmera: does ASDF walk directories recursively in search for ASD files? 2017-10-02T11:41:11Z pjb: Modules don't necessarily correspond to the subdirectories. 2017-10-02T11:41:20Z phoe: In my case, they do, so I'd like that. 2017-10-02T11:41:27Z pjb: You can have modules for variants of your products. 2017-10-02T11:41:29Z Shinmera: It does if you configure it to. Quicklisp only does a recursive update of local-projects if you do an explicit update. 2017-10-02T11:41:56Z phoe: Hm. I see. 2017-10-02T11:42:37Z _cosmonaut_ joined #lisp 2017-10-02T11:42:49Z beach: shka: sure, why not. 2017-10-02T11:42:51Z SaganMan joined #lisp 2017-10-02T11:44:02Z beach: dim: I am worried what happens if I store a list in such a database, and the GC decides to move the CONS cells. Would it have to traverse the entire database and change the pointers? 2017-10-02T11:45:02Z phoe: beach: define "move" - you mean, compact in memory? 2017-10-02T11:45:08Z shrdlu68 joined #lisp 2017-10-02T11:45:16Z beach: Compact or copy or some other GC algorithm. 2017-10-02T11:45:23Z phoe: How would GC work in PostgreSQL's case, anyway? 2017-10-02T11:45:32Z beach: That is what I am asking. 2017-10-02T11:45:33Z phoe: We still have a linear mapping from memory addreses to objects, right? 2017-10-02T11:45:47Z phoe: Because that's the basic assumption under which modern GCs operate. 2017-10-02T11:46:18Z pjb: You'd need to save the root set in a table, and then you could implement the GC in a stored procedure. 2017-10-02T11:46:27Z jackdaniel: s/modern/some/ 2017-10-02T11:46:35Z phoe: (incf jackdaniel) 2017-10-02T11:47:03Z z3t0 joined #lisp 2017-10-02T11:47:47Z beach: phoe: That may not be true. There could be different memory pools, etc. But the important part here is what the GC needs to do if some of its objects are stored in a relational database. 2017-10-02T11:49:01Z nowolfer quit (Ping timeout: 240 seconds) 2017-10-02T11:49:36Z phoe: beach: Sounds like issuing SQL updates and deletes. 2017-10-02T11:49:46Z phoe: That's the first thing that comes to my mind. 2017-10-02T11:50:07Z beach: phoe: How does the GC know that some object is stored in a relational database? 2017-10-02T11:50:35Z phoe: beach: that's the fundamental design question. 2017-10-02T11:51:20Z beach: dim: You see, what I know about relational databases dates from several decades ago, when you could only store simple data objects in a relational database, and when you had to invent manual pointers in the form of unique identifiers. I can imagine that things are very different nowadays. 2017-10-02T11:51:23Z z3t0 quit (Ping timeout: 258 seconds) 2017-10-02T11:51:48Z dim: quite 2017-10-02T11:52:31Z dim: and I'm not sure pgsql makes any sense in the context of LispOS 2017-10-02T11:52:52Z Josh_2 joined #lisp 2017-10-02T11:53:08Z beach: I have a visitor coming in less than 10 minutes, so I'll be off for a while, but if you could explain the basic thing about storing Common Lisp objects in a relational database to me sometime later, I would appreciate it. 2017-10-02T11:53:11Z dim: but the ACID properties for the Data Store, and the relational model / thinking for the attributes and for managing a collection of objects, yes 2017-10-02T11:53:26Z beach: OK. 2017-10-02T11:53:32Z dieggsy joined #lisp 2017-10-02T11:53:36Z phoe: Is there any way to point ASDF from "root" ASD file that it should also read the ASDF files in this or that subdirectory of the project directory tree? 2017-10-02T11:53:45Z yaocl quit (Quit: yaocl) 2017-10-02T11:53:56Z beach: I guess I no longer know what "the relational model" implies because of my dated knowledge. 2017-10-02T11:53:57Z dim: I'll try to mature the gut feeling into something that we would be able to discus, later, if you will 2017-10-02T11:53:59Z thinkpad quit (Ping timeout: 246 seconds) 2017-10-02T11:54:06Z beach: That would be great! 2017-10-02T11:54:34Z Shinmera: Since one of the core points of a LispOS is a unified address space and automated offloading of data as required, I don't see why you would need any extra stuff for the "file system" other than an index to reach certain objects with. 2017-10-02T11:54:35Z phoe: I'm still puzzled about how the sub-ASD files should be found by ASDF. I don't want to do some ASDF configuration magic either since my users likely won't want to do it. 2017-10-02T11:55:07Z Shinmera: If it's in local-projects, (ql:register-local-projects) 2017-10-02T11:55:13Z beach: Shinmera: It is about naming things so that you can share them, sort them, organize them, etc. 2017-10-02T11:55:14Z Shinmera: If it's from QL itself, nothing. 2017-10-02T11:55:28Z dim: Shinmera: the index might have several “dimensions” 2017-10-02T11:55:39Z shka: how to describe contract about class when multimethods are used 2017-10-02T11:55:54Z phoe: shka: what do you mean, contract about class? 2017-10-02T11:55:56Z shka: "implements method" is just wrong 2017-10-02T11:56:20Z beach: shka: The contract is related to the generic function, not the class. You are still in Java mode it seems. 2017-10-02T11:56:22Z nowolfer joined #lisp 2017-10-02T11:56:32Z shka: phoe: i mean that object that you are passing here will be called with generic function that is dispatched on two classes at once 2017-10-02T11:56:34Z dim: Shinmera: think user-defined tags with different users using different sets of tags ontop of the same collection of objects; and the best way to implement a generic system of indexing on-top oof that 2017-10-02T11:56:47Z dim: Shinmera: my gut feeling is that we're re-inventing a relational data model here 2017-10-02T11:57:18Z Shinmera: dim: I don't really get that feeling. All I see is a bunch of indexes. 2017-10-02T11:57:36Z dim: yeah. that's what a relational database is, a bunch of indexes ;-) 2017-10-02T11:57:51Z Shinmera: I'd say an RDBMS does a bit more than that. 2017-10-02T11:58:10Z phoe: what is a database? a miserable little pile of indices 2017-10-02T11:58:16Z dim: it is a very generic way to address many different sets of problems 2017-10-02T11:58:30Z hajovonta: what about no-sql databases? 2017-10-02T11:58:47Z Shinmera: What about them 2017-10-02T11:59:46Z hajovonta: the question was could postgresql be used with lispos, did anyone consider nosql for this purpose and is there any paper accessible on that? 2017-10-02T12:00:12Z rpg joined #lisp 2017-10-02T12:00:43Z Shinmera: You can't compare an implementation of an RDBMS to a db paradigm. 2017-10-02T12:01:19Z yaocl joined #lisp 2017-10-02T12:01:21Z dim: it was my mistake to propose pgsql as part of the lispos implementation 2017-10-02T12:01:33Z hajovonta: I'm happy to admit I'm no expert in this field by any means, so my question may seem a bit... ignorant 2017-10-02T12:01:45Z dim: while it would help solving several problems, it might not be the best way to have at it 2017-10-02T12:01:58Z dim: hajovonta: and nosql is too vague to be useful to talk about 2017-10-02T12:02:58Z shka: beach: that does not help me actually 2017-10-02T12:03:31Z shka: i am mentally in the multiple dispatch land, i just don't have words :/ 2017-10-02T12:03:57Z lieven: some of the people who did Statice on Symbolics later worked on the Objectstore OODB. That might be a more lispy model. 2017-10-02T12:04:13Z DingoSaar_ joined #lisp 2017-10-02T12:04:59Z panji joined #lisp 2017-10-02T12:06:31Z thinkpad joined #lisp 2017-10-02T12:07:11Z shka: defined in terms? 2017-10-02T12:07:17Z shka: defined to combination? 2017-10-02T12:07:25Z shka is pulling his hair out 2017-10-02T12:08:15Z groovy2shoes quit (Ping timeout: 246 seconds) 2017-10-02T12:11:36Z z3t0 joined #lisp 2017-10-02T12:13:08Z serviteur joined #lisp 2017-10-02T12:13:14Z foom2 joined #lisp 2017-10-02T12:15:31Z hajovonta does not have hair anymore 2017-10-02T12:16:05Z z3t0 quit (Ping timeout: 240 seconds) 2017-10-02T12:16:20Z foom quit (Ping timeout: 255 seconds) 2017-10-02T12:18:22Z zhormistr joined #lisp 2017-10-02T12:19:01Z dddddd joined #lisp 2017-10-02T12:19:03Z shka: lucky you 2017-10-02T12:25:47Z Bike quit (Ping timeout: 255 seconds) 2017-10-02T12:25:57Z SaganMan quit (Quit: laters) 2017-10-02T12:26:46Z knicklux quit (Ping timeout: 264 seconds) 2017-10-02T12:29:01Z dieggsy quit (Remote host closed the connection) 2017-10-02T12:31:04Z serviteur quit (Remote host closed the connection) 2017-10-02T12:31:22Z Mon_Ouie joined #lisp 2017-10-02T12:34:16Z arduo joined #lisp 2017-10-02T12:36:13Z z3t0 joined #lisp 2017-10-02T12:36:37Z serviteur joined #lisp 2017-10-02T12:38:09Z FreeBirdLjj joined #lisp 2017-10-02T12:40:38Z z3t0 quit (Ping timeout: 255 seconds) 2017-10-02T12:41:18Z knicklux joined #lisp 2017-10-02T12:47:29Z panji quit (Ping timeout: 248 seconds) 2017-10-02T12:55:58Z z3t0 joined #lisp 2017-10-02T12:59:51Z Bike joined #lisp 2017-10-02T13:00:10Z panji joined #lisp 2017-10-02T13:00:17Z z3t0 quit (Ping timeout: 248 seconds) 2017-10-02T13:02:33Z damke joined #lisp 2017-10-02T13:04:41Z damke_ quit (Ping timeout: 240 seconds) 2017-10-02T13:05:50Z safe joined #lisp 2017-10-02T13:07:40Z EvW joined #lisp 2017-10-02T13:09:36Z epony quit (Ping timeout: 240 seconds) 2017-10-02T13:15:42Z Kevslinger joined #lisp 2017-10-02T13:16:29Z papachan quit (Ping timeout: 258 seconds) 2017-10-02T13:17:56Z mson joined #lisp 2017-10-02T13:24:49Z EvW quit (Ping timeout: 248 seconds) 2017-10-02T13:26:44Z z3t0 joined #lisp 2017-10-02T13:29:37Z sjl_ quit (Ping timeout: 248 seconds) 2017-10-02T13:31:05Z z3t0 quit (Ping timeout: 240 seconds) 2017-10-02T13:32:25Z can3p quit (Quit: Connection closed for inactivity) 2017-10-02T13:34:07Z rumbler31 joined #lisp 2017-10-02T13:34:53Z hajovonta quit (Quit: hajovonta) 2017-10-02T13:36:41Z wxie quit (Remote host closed the connection) 2017-10-02T13:45:47Z sz0 joined #lisp 2017-10-02T13:46:22Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-10-02T13:46:39Z terpri joined #lisp 2017-10-02T13:47:52Z hel-io joined #lisp 2017-10-02T13:48:57Z groovy2shoes joined #lisp 2017-10-02T13:49:35Z cromachina quit (Read error: Connection reset by peer) 2017-10-02T13:50:57Z terpri quit (Ping timeout: 248 seconds) 2017-10-02T13:52:37Z saki quit (Quit: saki) 2017-10-02T13:53:49Z z3t0 joined #lisp 2017-10-02T13:54:13Z flamebeard quit (Quit: Leaving) 2017-10-02T13:57:18Z whyNOP joined #lisp 2017-10-02T13:58:09Z z3t0 quit (Ping timeout: 246 seconds) 2017-10-02T13:59:29Z hhdave quit (Ping timeout: 248 seconds) 2017-10-02T14:00:42Z JuanDaugherty joined #lisp 2017-10-02T14:01:11Z terpri joined #lisp 2017-10-02T14:05:33Z yeticry joined #lisp 2017-10-02T14:06:05Z z3t0 joined #lisp 2017-10-02T14:07:07Z yeticry_ quit (Read error: Connection reset by peer) 2017-10-02T14:09:25Z arbv quit (Quit: ZNC - http://znc.in) 2017-10-02T14:10:08Z z3t0 quit (Ping timeout: 240 seconds) 2017-10-02T14:13:32Z brit joined #lisp 2017-10-02T14:14:12Z arbv joined #lisp 2017-10-02T14:14:18Z beach: dim: Again, I will be perfectly happy to consider a relational model as long as I am convinced that it will fit the purpose. But I don't know the current definition of "the relational model", so I need to consider some arguments on both sides. 2017-10-02T14:16:43Z beach goes to read up on "the relational model". 2017-10-02T14:19:59Z beach: I may have (incorrectly) assumed that "the relational model" implies SQL, which I now know (after reading a bit) is not so. 2017-10-02T14:21:00Z zooey quit (Ping timeout: 248 seconds) 2017-10-02T14:21:35Z papachan joined #lisp 2017-10-02T14:22:59Z dim: read about normalization, if you're interested 2017-10-02T14:23:20Z dim: https://en.wikipedia.org/wiki/Database_normalization 2017-10-02T14:23:27Z beach: OK, thanks. 2017-10-02T14:23:35Z dim: you don't need SQL or an SQL engine to think in the relational model 2017-10-02T14:23:48Z dim: also I think your current model is the https://en.wikipedia.org/wiki/Entity–attribute–value_model 2017-10-02T14:23:56Z hexfive joined #lisp 2017-10-02T14:23:59Z dim: which in the relational world is known as the worst possible 2017-10-02T14:24:07Z dim: but the most versatile / generic 2017-10-02T14:24:22Z beach: Hmm. 2017-10-02T14:24:35Z beach: Why is it considered the worst possible? 2017-10-02T14:25:05Z beach feels this discussion is going to teach him a lot. 2017-10-02T14:25:19Z beach: ... or at least the reading that has to be done as a result of it. 2017-10-02T14:25:24Z dim: because it is too generic to then make sense of anything in there 2017-10-02T14:25:41Z dim: only the application storing things in the EAV knows what to do with it 2017-10-02T14:25:53Z dim: no other app has any idea of what the attribute name might need 2017-10-02T14:26:26Z dim: in the Object Store case, you might want to “normalize” some of the attributes at least, like the filename, the mime type, size, location or address, etc 2017-10-02T14:26:34Z beach: Definitely. 2017-10-02T14:26:40Z phoe: these are going to stay, yes 2017-10-02T14:26:45Z dim: maybe you want some application specific attributes also 2017-10-02T14:26:50Z beach: Others should be free form. 2017-10-02T14:26:53Z phoe: but I think that the user will have an ability to create their own tags. 2017-10-02T14:26:56Z dim: well not really free form 2017-10-02T14:27:08Z beach: OK, not form, but interpretation. 2017-10-02T14:27:22Z beach: :mood :terrible on a picture for instance. 2017-10-02T14:27:28Z dim: I think lispos should provide a “framework” so that application can enrich the meta-data model/store, but still cooperate easily 2017-10-02T14:27:32Z phoe: at which point some tags are fixed, as in, they will appear for sure, but some are arbitrarily set 2017-10-02T14:27:34Z beach: There should be nothing preventing the user from storing such a thing. 2017-10-02T14:27:39Z dim: if you want to enable cooperation, you need structure 2017-10-02T14:27:49Z dim: EAV is as far away from structure as you can imagine 2017-10-02T14:28:18Z beach: The object store as I have seen it is not meant for collaboration between applications, but I am willing to change my mind about that. 2017-10-02T14:28:24Z dim: beach: in the ideal case all apps on the lispos are able to interpret :mood in the same way 2017-10-02T14:28:36Z dim: and some of them even share the :terrible meaning 2017-10-02T14:29:02Z zooey joined #lisp 2017-10-02T14:29:05Z phoe: probably depends on the convention used or set by the system 2017-10-02T14:29:07Z beach: I see your point, and, as you pointed out, some of them need to be normalized. 2017-10-02T14:29:09Z dim: well for the filename, address, mime type, size, you want to enforce a single common meaning that every app needs to follow 2017-10-02T14:29:16Z beach: Absolutely. 2017-10-02T14:29:24Z dim: the relational model forces you to think about the whole attributes that way 2017-10-02T14:29:38Z beach: Except that there is not a concept of a "file name". 2017-10-02T14:29:39Z dim: if you can't solve that problem, fine, punt, but document it and why 2017-10-02T14:29:39Z phoe: for keyword keys, I can see this being required - but if someone wants to set an attribute for key foo-custom-package::%secret-symbol, I don't think it would be required 2017-10-02T14:29:47Z beach: Nor address by the way. 2017-10-02T14:29:55Z dim: “extension points” might be a term 2017-10-02T14:30:02Z f278f1b2 joined #lisp 2017-10-02T14:30:11Z phoe: basically a protocol for "file" metadata 2017-10-02T14:30:28Z phoe: whatever "file" might mean in such context. 2017-10-02T14:30:35Z phoe: or rather, for object metadata. 2017-10-02T14:30:38Z dim: yeah, and relational model then allows to have high quality data, well maintained, without duplicates and divergence 2017-10-02T14:30:46Z dim: first normal form is a must 2017-10-02T14:31:09Z beach: How is "mime type" useful in a LispOS? 2017-10-02T14:31:35Z dim: for users to choose a custom application to process a known content? 2017-10-02T14:31:47Z dim: in debian there's /etc/alternatives and things 2017-10-02T14:31:49Z phoe: you want to know if this stream of bytes is an AES256 encrypted archive or a music file or a photo or Lisp source code 2017-10-02T14:32:07Z beach: I would think the type would be determined by (class-of ). No? 2017-10-02T14:32:17Z phoe: hm. 2017-10-02T14:32:24Z phoe: that sounds somewhat sane. 2017-10-02T14:32:29Z beach: phoe: Stream of bytes? How Unix-y. 2017-10-02T14:32:34Z z3t0 joined #lisp 2017-10-02T14:32:40Z phoe: and then you could have a mapping between classes and mimetypes for applications that require it. 2017-10-02T14:32:44Z phoe: beach: :P 2017-10-02T14:32:45Z dim: beach: it seems to me that your target audience is a CL programmer, only, and we are still thinking in terms of end-users that only, you know, use an already written application 2017-10-02T14:33:08Z beach: phoe: The entire point of LispOS is to get away from untyped streams of bytes. 2017-10-02T14:33:30Z phoe: beach: I see. Then I'm wrong. 2017-10-02T14:33:43Z beach: dim: I don't see that, but I might be wrong. 2017-10-02T14:34:02Z phoe: CLASS-OF sounds like a decent solution. 2017-10-02T14:34:27Z beach: I just meant that the type of an object is determined by Lisp, because it is an instance of some class. There is no need to mark byte streams as containing some encoding of an object. At least not in the beginning. 2017-10-02T14:34:48Z beach: The objects in the object store will be first-class Common Lisp objects. 2017-10-02T14:35:23Z pjb: Object stores store objects, not bytes. 2017-10-02T14:36:03Z beach: Exactly. And in this case, "store" is not quite true, because nothing is moved. It is only marked with identifying metadata. 2017-10-02T14:36:22Z DingoSaar_ quit (Ping timeout: 255 seconds) 2017-10-02T14:36:45Z beach: Though, the object can be stored as it is, and one could search for all movies, for instance (no matter the author, length, language, etc.) 2017-10-02T14:36:59Z z3t0 quit (Ping timeout: 258 seconds) 2017-10-02T14:38:14Z phoe: So... object index? 2017-10-02T14:38:24Z beach: Index? 2017-10-02T14:38:27Z beach: What is that? 2017-10-02T14:38:36Z phoe: I mean - you're not storing anything, so it's not a store. 2017-10-02T14:38:44Z phoe: You're gathering metadata. 2017-10-02T14:38:55Z beach: Yes, index in that sense. Yes. 2017-10-02T14:39:11Z phoe: So you're basically creating Yellow Pages, except with Lisp objects and not companies. 2017-10-02T14:39:36Z beach: Sure, that sounds right. 2017-10-02T14:40:11Z phoe: Store, in this context, got me fooled. 2017-10-02T14:40:27Z dim: which is why I think the relational model applies, btw 2017-10-02T14:40:31Z phoe: Since I actually thought that you'd be storing them, as in, placing them in their bytestream form somewhere. 2017-10-02T14:40:40Z dim: you're “organizing” existing objects 2017-10-02T14:41:03Z dim: and at the moment the whole organisation system is a set of key/values 2017-10-02T14:41:14Z phoe: you have MongoDB. 2017-10-02T14:41:15Z dim: maybe there's something smarter to do there 2017-10-02T14:41:17Z Lowl3v3l joined #lisp 2017-10-02T14:41:17Z phoe ducks 2017-10-02T14:41:23Z beach: dim: I don't see many situations where an application would find its object through the object store. 2017-10-02T14:41:39Z dim: the “Finder” app maybe? 2017-10-02T14:41:46Z beach: Yes, exactly. 2017-10-02T14:42:01Z phoe: music player? video player? document writer? 2017-10-02T14:42:15Z beach: An editor would take a text string as an input. A score editor would take a score. A music player would take a music object, etc. 2017-10-02T14:42:19Z hooman: clim has presentations for that 2017-10-02T14:42:32Z phoe: These would have some music/video/media/document libraries though, I imagine. 2017-10-02T14:42:39Z dim: beach: those might want to open existing objects that are not yet “loaded”? 2017-10-02T14:42:41Z beach: hooman: I think how they are presented is somewhat orthogonal. 2017-10-02T14:42:57Z phoe: Like, you have a hundred music albums on your hard drive, and you want Rolling Stones. 2017-10-02T14:43:14Z phoe: I bet that you access that particular album through the object store, searching it for music from "Rolling Stones". 2017-10-02T14:43:16Z beach: dim: Possibly. But I tend to think that this functionality would be concentrated into a single application. 2017-10-02T14:43:17Z hooman: i wonder if we could just why not go full nix, and present objects with arbitrary processes, x11 style. 2017-10-02T14:43:56Z beach: hooman: Unix-style processes? 2017-10-02T14:43:57Z dim: finding objects in the store would be the responsibility of a single app, that others app might use and then work with the full CL object given to them? 2017-10-02T14:44:17Z beach: Yes, I think so. 2017-10-02T14:44:21Z dim: I like that it avoids re-inventing all the basics I/O every time ;-) 2017-10-02T14:44:47Z beach: A lot of factoring can be done when one abandons the Unix model. 2017-10-02T14:44:56Z dim: also it allows to have a very clean “internal” representation for objects in the store, and a full design other than EAV might be relevant 2017-10-02T14:45:05Z hooman: beach, yeah. arbitrary input/output, we can echo to the sound card device and such; now its up to the user and how the pieces are plugged together. (Pd/Max?) 2017-10-02T14:45:10Z EvW joined #lisp 2017-10-02T14:45:34Z beach: hooman: I think you might have missed the beginning of this discussion. :) 2017-10-02T14:46:18Z hooman: sorry =) now i am thinking that things were simpler when we just trusted each other, and all our programs lived happily together 2017-10-02T14:46:20Z beach: See section 1.2.1 in this document: http://metamodular.com/lispos.pdf 2017-10-02T14:46:36Z neoncontrails quit (Remote host closed the connection) 2017-10-02T14:46:39Z hooman: ohhhhh, ty! 2017-10-02T14:46:59Z beach: hooman: You are misunderstanding. Not using processes does not mean that one has to have full trust. 2017-10-02T14:47:30Z hooman: beach, i mean the days of no memory protection and such. when apps can really talk to each other whether they like it or not 2017-10-02T14:47:34Z beach: hooman: Processes represent one solution to the problem, but it has SOOO many disadvantages, and it is way overkill. 2017-10-02T14:47:54Z beach: hooman: And I am not advocating that. 2017-10-02T14:48:23Z hooman: i did not mean to advocate unix processes, but only when someone is mentioning mime types and object stores, it feels like a layer over too much already, whatever the discussion was 2017-10-02T14:49:03Z beach: hooman: It is not a layer over anything. It is a way to escape from all those Unix stupidities. 2017-10-02T14:49:09Z hooman: sidenote, erlang feels like a mini unix land, with all its processes and how they both succeed and fail regardless of their supervisions/init 2017-10-02T14:50:00Z hooman: mime types is not a layer ? i mean... i mentioned clim presentations because well. method dispatch would make stuff automatic and natural, without having to keep more databases in sync, which is the layers of potential trouble 2017-10-02T14:50:13Z beach: Interpret "object store" not as something that stores objects to disk, but as a "store", i.e. a "shop" where you can pick out the objects you want. 2017-10-02T14:50:30Z hooman: if the objects/closures come with their own way to edit/view themselves ? 2017-10-02T14:50:37Z yaocl quit (Quit: yaocl) 2017-10-02T14:50:48Z hooman: yep, i am thinking, filesystem 2017-10-02T14:51:04Z beach: What do you mean by objects/closures? It sounds like you are confusing the two. 2017-10-02T14:51:22Z hooman: i am not sure that we really need or even *can* invent new solutions to old problems that have already been solved 2017-10-02T14:51:43Z beach: Oh, then I should definitely quit my job. 2017-10-02T14:51:44Z hooman: beach, sorry that was a reference to a joke in a sister channel. i mean Objects. like EO of nextstep kind 2017-10-02T14:52:19Z hooman: if we admit it to ourselves, we could solve our clients/bosses problems without any work and for free. but we need something to do anyways ! 2017-10-02T14:52:51Z hooman: i wonder how clim/genera does with its filesystem and object store? i read somewhere that Mac resource forks were inspired by there somewhere 2017-10-02T14:56:49Z beach: dim: Maybe one way forward is to come up with "scenarios", i.e. use case situations, and then see how they would be dealt with in a relational model. 2017-10-02T14:57:20Z phoe: beach: sounds pretty good. I'd brainstorm that. 2017-10-02T14:57:29Z dec0n quit (Read error: Connection reset by peer) 2017-10-02T14:57:38Z beach: I'll try to work on some and submit them here. 2017-10-02T14:57:42Z dim: beach: yes, usually that's how a relational model is built, it needs use cases 2017-10-02T14:57:51Z beach: Good. 2017-10-02T14:57:57Z dim: it can't exists without a definite set of problems to solve 2017-10-02T14:58:10Z phoe: dim: as for custom tags, you can have a three-column table: object ID (key), key, value. 2017-10-02T14:58:34Z phoe: so you can have #(# :mood :terrible) 2017-10-02T14:58:37Z dim: and now it's even worse, phoe, because the key isn't unique anymore 2017-10-02T14:58:49Z phoe: wait. damn! 2017-10-02T14:59:02Z phoe: you're right, there's no key there. you'd need four columns. 2017-10-02T14:59:02Z dim: but have a look at RDF if you want that kind of flexibility 2017-10-02T14:59:28Z dim: RDF is a “triplet” based model for data, used mainly for making graphs IIUC 2017-10-02T14:59:39Z dim: https://en.wikipedia.org/wiki/Resource_Description_Framework 2017-10-02T14:59:55Z hooman: =/ 2017-10-02T15:00:08Z phoe: dim: I wonder about beach's idea of tags. 2017-10-02T15:00:16Z phoe: And if it actually fits the relational model. 2017-10-02T15:00:23Z dim: it is way too generic for my taste, but maybe what's needed here is that generic 2017-10-02T15:00:37Z dim: tags is an association table in the relational model 2017-10-02T15:01:06Z dim: object - association - tag, where you can add and remove tags as you will, either per application, per user or some other association keys 2017-10-02T15:01:12Z phoe: it's a many-to-many-to-many. 2017-10-02T15:01:22Z hooman: what are you doing 2017-10-02T15:01:26Z phoe: because for arbitrary objects you can have arbitrary keys with arbitrary values. 2017-10-02T15:01:28Z phoe: hooman: discussing 2017-10-02T15:02:04Z hooman: more so wondering what you are discussing and why 2017-10-02T15:02:48Z phoe: hooman: https://ccl.clozure.com/irc-logs/lisp/lisp-2017-10.txt is the backlog - you can read up on it 2017-10-02T15:02:50Z MrBismuth quit (Ping timeout: 255 seconds) 2017-10-02T15:03:13Z hooman: okay thank you . 2017-10-02T15:03:37Z phoe: in general, https://ccl.clozure.com/irc-logs/ has logs from multiple channels. 2017-10-02T15:06:16Z rippa joined #lisp 2017-10-02T15:07:46Z fluxit joined #lisp 2017-10-02T15:10:20Z smokeink quit (Ping timeout: 258 seconds) 2017-10-02T15:10:46Z Karl_Dscc joined #lisp 2017-10-02T15:19:03Z zhormistr quit (Quit: leaving) 2017-10-02T15:25:02Z dyelar joined #lisp 2017-10-02T15:27:44Z mson quit (Quit: Connection closed for inactivity) 2017-10-02T15:29:07Z dim: Don't know how to REQUIRE SB-BSD-SOCKETS 2017-10-02T15:29:24Z dim: mmm, the SBCL package in alpine linux looks “interesting” 2017-10-02T15:29:24Z arduo quit (Read error: Connection reset by peer) 2017-10-02T15:29:50Z orivej quit (Ping timeout: 255 seconds) 2017-10-02T15:31:05Z f278f1b2 quit (Read error: No route to host) 2017-10-02T15:40:51Z Jesin quit (Quit: Leaving) 2017-10-02T15:41:13Z warweasle joined #lisp 2017-10-02T15:43:24Z Jesin joined #lisp 2017-10-02T15:46:38Z rpg joined #lisp 2017-10-02T15:50:21Z _cosmonaut_ quit (Ping timeout: 240 seconds) 2017-10-02T15:50:46Z sz0 quit (Quit: Connection closed for inactivity) 2017-10-02T15:51:32Z smokeink joined #lisp 2017-10-02T15:52:40Z epony joined #lisp 2017-10-02T15:53:02Z EvW quit (Ping timeout: 246 seconds) 2017-10-02T15:53:56Z varjag quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2017-10-02T15:55:16Z EvW1 joined #lisp 2017-10-02T15:58:12Z Mon_Ouie quit (Ping timeout: 246 seconds) 2017-10-02T15:58:17Z kami quit (Ping timeout: 246 seconds) 2017-10-02T15:59:32Z davsebamse quit (Ping timeout: 255 seconds) 2017-10-02T15:59:39Z DingoSaar_ joined #lisp 2017-10-02T15:59:41Z EvW1 quit (Ping timeout: 246 seconds) 2017-10-02T16:00:26Z EvW joined #lisp 2017-10-02T16:04:50Z beach: dim: I am thinking of descriptions like this: http://metamodular.com/lispos.pdf document page 41, PDF page 45 (Appendix A). Would that be suitable? 2017-10-02T16:05:00Z beach: I have only just started of course. 2017-10-02T16:07:00Z pjb: http://metamodular.com/lispos.pdf?physical-page=45&logical-page=41§ion=Appendix%20A 2017-10-02T16:07:19Z saki joined #lisp 2017-10-02T16:07:47Z hel-io quit (Remote host closed the connection) 2017-10-02T16:11:05Z beach: pjb: Thanks! 2017-10-02T16:13:46Z pjb: beach: not necessarily a good idea, if those url components are not taken into account. 2017-10-02T16:13:56Z pjb: It would depend on the "browser" or pdf viewer… 2017-10-02T16:14:05Z smokeink quit (Ping timeout: 240 seconds) 2017-10-02T16:14:46Z hsu joined #lisp 2017-10-02T16:17:11Z marcux joined #lisp 2017-10-02T16:18:29Z beach: Yeah, the idea was good, but it didn't work here (Firefox). 2017-10-02T16:19:24Z pjb: # anchors may work, but the pdf document would have to be designed with such anchor, and again, the browser would have to interpret them for pdf documents. 2017-10-02T16:20:23Z beach: I see. I probably didn't put anchors in this particular document. :( 2017-10-02T16:21:30Z DingoSaar_ is now known as DingoSaar 2017-10-02T16:21:31Z pjb: https://stackoverflow.com/questions/13427302/linking-from-a-web-page-to-a-specific-section-anchor-in-pdf-document 2017-10-02T16:21:33Z beach: dim: GAH, I did almost no work on Cleavir today, and it's all your fault. :) 2017-10-02T16:21:49Z pjb: the 3rd option may work: http://www.scala-lang.org/docu/files/ScalaReference.pdf#page=23 2017-10-02T16:22:00Z pjb: I assume it's the physical page, ie. 45 in your case. 2017-10-02T16:22:12Z beach: Yes. 2017-10-02T16:22:37Z pjb: But browsers don't do it: Any OS, Firefox 15+ PDF.js internal PDF viewer - does not work 2017-10-02T16:22:41Z pjb: only Acrobat reader… 2017-10-02T16:22:47Z dim: beach: sorry! 2017-10-02T16:22:56Z beach: dim: Joking. 2017-10-02T16:22:57Z panji quit (Ping timeout: 260 seconds) 2017-10-02T16:23:17Z beach: dim: It was a very valuable discussion, and I am hoping for more to come. 2017-10-02T16:23:20Z pjb: I guess we can put it on the unix philosophy. If urls were objects on lispos, it'd probably work. 2017-10-02T16:23:53Z dim: beach: thanks! 2017-10-02T16:24:12Z zooey quit (Ping timeout: 248 seconds) 2017-10-02T16:25:12Z zooey joined #lisp 2017-10-02T16:25:41Z sellout-1 quit (Ping timeout: 240 seconds) 2017-10-02T16:30:10Z Jesin quit (Quit: Leaving) 2017-10-02T16:31:53Z _rumbler31 joined #lisp 2017-10-02T16:33:37Z thinkpad quit (Ping timeout: 248 seconds) 2017-10-02T16:33:40Z Jesin joined #lisp 2017-10-02T16:35:24Z LiamH joined #lisp 2017-10-02T16:35:44Z rumbler31 quit (Ping timeout: 248 seconds) 2017-10-02T16:35:49Z panji joined #lisp 2017-10-02T16:47:49Z Devon joined #lisp 2017-10-02T16:52:48Z varjag joined #lisp 2017-10-02T16:54:57Z neoncontrails joined #lisp 2017-10-02T16:57:26Z EvW quit (Ping timeout: 246 seconds) 2017-10-02T17:00:44Z milanj joined #lisp 2017-10-02T17:01:11Z damke_ joined #lisp 2017-10-02T17:03:21Z damke quit (Ping timeout: 240 seconds) 2017-10-02T17:08:43Z hel-io joined #lisp 2017-10-02T17:11:17Z shka_ joined #lisp 2017-10-02T17:13:35Z hel-io quit (Ping timeout: 240 seconds) 2017-10-02T17:15:04Z turkja quit (Quit: Leaving.) 2017-10-02T17:15:18Z shifty quit (Ping timeout: 258 seconds) 2017-10-02T17:16:10Z phoe: dim: interesting? 2017-10-02T17:16:52Z slyrus joined #lisp 2017-10-02T17:19:47Z optikalmouse joined #lisp 2017-10-02T17:20:29Z orivej joined #lisp 2017-10-02T17:23:44Z epony quit (Ping timeout: 258 seconds) 2017-10-02T17:25:19Z dim: phoe: compiled without sb-bsd-sockets apparently 2017-10-02T17:28:32Z phoe: dim: woah 2017-10-02T17:28:38Z phoe: did someone know how to compile SBCL there? 2017-10-02T17:28:41Z phoe: like, with --fancy? 2017-10-02T17:30:13Z nika joined #lisp 2017-10-02T17:33:18Z koenig: phoe: There are instructions at the top level of the tarball that tell how to recompile. 2017-10-02T17:34:11Z koenig: The file is called INSTALL. There's "Quick start" for the binary distribution option and then instructions for building from source. 2017-10-02T17:36:32Z al-damiri joined #lisp 2017-10-02T17:39:38Z mson joined #lisp 2017-10-02T17:40:34Z dim: https://git.alpinelinux.org/cgit/aports/tree/testing/sbcl/APKBUILD?id=ca92cb7079bf7b03137449e0104fc2591663dede 2017-10-02T17:41:52Z vlatkoB_ joined #lisp 2017-10-02T17:45:21Z vlatkoB quit (Ping timeout: 240 seconds) 2017-10-02T17:46:36Z nika quit 2017-10-02T17:49:14Z Mon_Ouie joined #lisp 2017-10-02T17:49:48Z hel-io joined #lisp 2017-10-02T17:51:01Z damke_ quit (Ping timeout: 240 seconds) 2017-10-02T17:53:22Z brit quit (Read error: Connection reset by peer) 2017-10-02T17:54:36Z Mon_Ouie quit (Ping timeout: 240 seconds) 2017-10-02T18:10:25Z m00natic quit (Remote host closed the connection) 2017-10-02T18:12:18Z fe[nl]ix has set mode -t 2017-10-02T18:12:36Z jmercouris joined #lisp 2017-10-02T18:13:28Z jmercouris: hey, does anyone know how I can transform the following code using paredit: https://gist.github.com/679f59a02247c9e061d4e5f6f58c6e2c 2017-10-02T18:14:42Z scymtym: jmercouris: place point on second ( and press M-r (paredit-raise-sexp) 2017-10-02T18:15:10Z jmercouris: scymtym: thank you, I've been looking for that command forever 2017-10-02T18:15:13Z hooman: for me, its C-up 2017-10-02T18:15:23Z EvW joined #lisp 2017-10-02T18:15:27Z jmercouris: C-up is unfortunately bound to something on my OS, so I cant use that 2017-10-02T18:15:50Z hooman: ahh =) 2017-10-02T18:16:46Z hooman: sorry, it is M-up, paredit-splice-sexp-killing-backward 2017-10-02T18:21:01Z zachk joined #lisp 2017-10-02T18:21:52Z Mon_Ouie joined #lisp 2017-10-02T18:24:35Z hsu quit (Quit: Connection closed for inactivity) 2017-10-02T18:26:36Z panji quit (Ping timeout: 240 seconds) 2017-10-02T18:27:20Z optikalmouse quit (Quit: optikalmouse) 2017-10-02T18:30:28Z nirved quit (Quit: Leaving) 2017-10-02T18:32:04Z zhormistr joined #lisp 2017-10-02T18:32:37Z marcux quit (Ping timeout: 255 seconds) 2017-10-02T18:49:56Z epony joined #lisp 2017-10-02T18:53:28Z JuanDaugherty quit (Quit: Ex Chat) 2017-10-02T19:12:01Z WorldControl quit (Remote host closed the connection) 2017-10-02T19:12:57Z marcux joined #lisp 2017-10-02T19:25:17Z dieggsy joined #lisp 2017-10-02T19:26:04Z zooey quit (Ping timeout: 248 seconds) 2017-10-02T19:26:53Z scymtym quit (Ping timeout: 246 seconds) 2017-10-02T19:27:34Z vlatkoB_ quit (Remote host closed the connection) 2017-10-02T19:29:37Z Devon quit (Ping timeout: 260 seconds) 2017-10-02T19:31:34Z ym quit (Ping timeout: 264 seconds) 2017-10-02T19:36:37Z FreeBirdLjj quit (Remote host closed the connection) 2017-10-02T19:37:19Z FreeBirdLjj joined #lisp 2017-10-02T19:37:46Z hel-io quit (Remote host closed the connection) 2017-10-02T19:41:52Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2017-10-02T19:42:31Z hel-io joined #lisp 2017-10-02T19:43:40Z attila_lendvai joined #lisp 2017-10-02T19:44:07Z zooey joined #lisp 2017-10-02T19:48:05Z shka_ quit (Ping timeout: 240 seconds) 2017-10-02T19:49:23Z mson quit (Quit: Connection closed for inactivity) 2017-10-02T19:54:14Z neoncontrails quit (Read error: Connection reset by peer) 2017-10-02T19:54:47Z neoncontrails joined #lisp 2017-10-02T19:56:15Z Mon_Ouie quit (Ping timeout: 248 seconds) 2017-10-02T19:57:13Z davsebamse joined #lisp 2017-10-02T20:00:35Z renard_ quit (Ping timeout: 240 seconds) 2017-10-02T20:01:40Z renard_ joined #lisp 2017-10-02T20:04:11Z Karl_Dscc quit (Remote host closed the connection) 2017-10-02T20:04:18Z agaric joined #lisp 2017-10-02T20:05:58Z Jesin quit (Quit: Leaving) 2017-10-02T20:08:08Z pjb quit (Ping timeout: 240 seconds) 2017-10-02T20:11:10Z Jesin joined #lisp 2017-10-02T20:18:01Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2017-10-02T20:18:18Z scymtym joined #lisp 2017-10-02T20:19:49Z brit joined #lisp 2017-10-02T20:20:10Z quazimodo quit (Ping timeout: 255 seconds) 2017-10-02T20:20:36Z ryanbw quit (Ping timeout: 240 seconds) 2017-10-02T20:20:42Z warweasle quit (Quit: rcirc on GNU Emacs 24.4.1) 2017-10-02T20:23:57Z Mon_Ouie joined #lisp 2017-10-02T20:24:58Z zhormistr quit (Quit: leaving) 2017-10-02T20:35:24Z agaric quit (Ping timeout: 258 seconds) 2017-10-02T20:35:55Z DingoSaar_ joined #lisp 2017-10-02T20:35:55Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-10-02T20:36:11Z agaric joined #lisp 2017-10-02T20:38:06Z marcux quit (Ping timeout: 240 seconds) 2017-10-02T20:39:29Z DingoSaar quit (Ping timeout: 248 seconds) 2017-10-02T20:40:29Z Jesin quit (Quit: Leaving) 2017-10-02T20:41:57Z dyelar quit (Quit: Leaving.) 2017-10-02T20:45:41Z earl-ducaine joined #lisp 2017-10-02T20:47:59Z papachan quit (Ping timeout: 248 seconds) 2017-10-02T20:50:34Z hexfive quit (Quit: WeeChat 1.9) 2017-10-02T20:56:36Z terpri quit (Ping timeout: 240 seconds) 2017-10-02T20:58:32Z hel-io quit (Remote host closed the connection) 2017-10-02T20:59:21Z pillton quit (Ping timeout: 240 seconds) 2017-10-02T21:00:49Z pierpa joined #lisp 2017-10-02T21:01:57Z brit quit (Remote host closed the connection) 2017-10-02T21:05:05Z EvW quit (Ping timeout: 255 seconds) 2017-10-02T21:09:52Z hel-io joined #lisp 2017-10-02T21:10:04Z pjb joined #lisp 2017-10-02T21:10:27Z rpg joined #lisp 2017-10-02T21:16:58Z hel-io quit (Remote host closed the connection) 2017-10-02T21:21:41Z Josh_2 quit (Remote host closed the connection) 2017-10-02T21:24:11Z serviteur quit (Read error: Connection reset by peer) 2017-10-02T21:26:21Z hel-io joined #lisp 2017-10-02T21:27:47Z ShakespeareFan00 joined #lisp 2017-10-02T21:28:37Z Bike quit (Ping timeout: 260 seconds) 2017-10-02T21:31:24Z pjb quit (Ping timeout: 246 seconds) 2017-10-02T21:40:30Z Jesin joined #lisp 2017-10-02T21:42:10Z Jesin quit (Remote host closed the connection) 2017-10-02T21:42:21Z omilu quit (Ping timeout: 240 seconds) 2017-10-02T21:48:38Z ShakespeareFan00 left #lisp 2017-10-02T21:49:11Z dieggsy quit (Remote host closed the connection) 2017-10-02T21:49:44Z Josh_2 joined #lisp 2017-10-02T21:49:51Z Jesin joined #lisp 2017-10-02T21:49:59Z dieggsy joined #lisp 2017-10-02T21:54:13Z nullniverse joined #lisp 2017-10-02T21:55:06Z hel-io quit (Remote host closed the connection) 2017-10-02T21:55:42Z agaric quit (Quit: bye) 2017-10-02T21:58:25Z nalik891 joined #lisp 2017-10-02T21:58:36Z ym joined #lisp 2017-10-02T22:01:30Z LiamH quit (Quit: Leaving.) 2017-10-02T22:01:30Z Bock quit (Ping timeout: 246 seconds) 2017-10-02T22:01:48Z dieggsy` joined #lisp 2017-10-02T22:02:06Z nullniverse quit (Ping timeout: 240 seconds) 2017-10-02T22:02:17Z dieggsy` quit (Remote host closed the connection) 2017-10-02T22:02:32Z Bock joined #lisp 2017-10-02T22:03:50Z Bock quit (Remote host closed the connection) 2017-10-02T22:04:09Z Bock joined #lisp 2017-10-02T22:05:29Z dieggsy quit (Ping timeout: 258 seconds) 2017-10-02T22:06:08Z _rumbler31 quit (Ping timeout: 246 seconds) 2017-10-02T22:08:29Z Bike joined #lisp 2017-10-02T22:15:37Z attila_lendvai quit (Quit: Leaving.) 2017-10-02T22:15:39Z pierpa quit (Ping timeout: 260 seconds) 2017-10-02T22:16:45Z sjl_ joined #lisp 2017-10-02T22:23:23Z varjag quit (Ping timeout: 255 seconds) 2017-10-02T22:29:22Z daemoz quit (Remote host closed the connection) 2017-10-02T22:30:29Z daemoz joined #lisp 2017-10-02T22:35:12Z terpri joined #lisp 2017-10-02T22:38:58Z raynold joined #lisp 2017-10-02T22:40:06Z sjl_ quit (Ping timeout: 240 seconds) 2017-10-02T22:49:04Z EvW1 joined #lisp 2017-10-02T22:51:32Z Buzzy joined #lisp 2017-10-02T22:51:41Z smokeink joined #lisp 2017-10-02T22:55:32Z mishoo quit (Ping timeout: 260 seconds) 2017-10-02T22:57:27Z Buzzy left #lisp 2017-10-02T22:59:41Z rumbler31 joined #lisp 2017-10-02T23:01:25Z sjl_ joined #lisp 2017-10-02T23:01:56Z dieggsy joined #lisp 2017-10-02T23:04:01Z rumbler31 quit (Ping timeout: 248 seconds) 2017-10-02T23:04:23Z quazimodo joined #lisp 2017-10-02T23:08:00Z thinkpad joined #lisp 2017-10-02T23:08:32Z pillton joined #lisp 2017-10-02T23:08:49Z sjl_ quit (Ping timeout: 248 seconds) 2017-10-02T23:09:58Z Bike quit (Remote host closed the connection) 2017-10-02T23:10:19Z Bike joined #lisp 2017-10-02T23:13:05Z epony quit (Ping timeout: 248 seconds) 2017-10-02T23:15:47Z epony joined #lisp 2017-10-02T23:16:18Z Josh_2: Where can I learn how I manipulate bytes etc in CL? I keep getting stuck and then I don't want to ask in this chat because I'm embarrassed. 2017-10-02T23:18:08Z epony quit (Client Quit) 2017-10-02T23:18:22Z epony joined #lisp 2017-10-02T23:19:18Z varjag joined #lisp 2017-10-02T23:21:46Z Bike: it's ok, we don't care. 2017-10-02T23:22:02Z Bike: do you mean bitvectors, or treating integers (numbers) as sequences of bits? 2017-10-02T23:22:59Z dim: sometimes the best way to learn new trick involves looking stupid for a short while 2017-10-02T23:23:11Z dim: beats staying stupid for longer ;-) 2017-10-02T23:23:25Z yaocl joined #lisp 2017-10-02T23:23:35Z Bike: in any case, for bit vectors you use the sequence functions plus bit-and and such, and for integers you have ldb, dpb, logbitp, and logxor et al 2017-10-02T23:24:17Z varjag quit (Ping timeout: 248 seconds) 2017-10-02T23:25:38Z Josh_2: I should take that to heart dim. 2017-10-02T23:26:17Z Josh_2: Well I am trying to make my own dns packets, so I'm manipulating unsigned-byte 8's 2017-10-02T23:26:34Z clintm joined #lisp 2017-10-02T23:26:44Z Xach: I have a library for dns queries. 2017-10-02T23:26:53Z Xach wonders where he put it 2017-10-02T23:27:08Z sjl_ joined #lisp 2017-10-02T23:27:53Z Xach: heh, RCS Id header indicates it's 10 years old now, whee! 2017-10-02T23:28:04Z cromachina joined #lisp 2017-10-02T23:28:08Z dim: happy birthday lib? 2017-10-02T23:28:34Z Josh_2: There are a few DNS libraries, but this is more of a learning exercise for me. 2017-10-02T23:28:39Z dim: I guess 10 years old and still loads and runs like a charm 2017-10-02T23:28:51Z dim: that's one beauty of CL that I wish other systems had 2017-10-02T23:29:31Z Xach: dim: it does rely on some ffi in sbcl, but it uses sb-alien, so it probably does still work. 2017-10-02T23:29:44Z Xach: dim: and of course the packet parsing and construction can be done in plain old lisp 2017-10-02T23:29:58Z Xach: https://www.xach.com/tmp/dns.lisp 2017-10-02T23:30:10Z nalik891 quit (Remote host closed the connection) 2017-10-02T23:30:49Z nalik891 joined #lisp 2017-10-02T23:33:05Z dim: no ipv6? 2017-10-02T23:33:26Z Xach: that will be for when it turns 20 2017-10-02T23:33:37Z dim: that means something's left to hack for Josh_2, maybe ;-) 2017-10-02T23:33:51Z dim: ipv6 is more than 20 I believe 2017-10-02T23:34:05Z dim: (couldn't resist) 2017-10-02T23:34:16Z Bike: Josh_2: vectors of bytes? i mean, what operations are you doing on them? 2017-10-02T23:35:20Z dim: I have that usual joke on people using SQL'92 to this day (rather than SQL'2016, the current standard revision), where 92 saw inventions of Unicode and ipv6, that everybody's using right? so why sticking to SQL'92 after all... 2017-10-02T23:35:30Z jasom: clhs ldb 2017-10-02T23:35:31Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_ldb.htm 2017-10-02T23:35:47Z rumbler31 joined #lisp 2017-10-02T23:35:51Z wxie joined #lisp 2017-10-02T23:35:54Z jasom: ^^^ Josh_2: That single accessor is sufficient for setting bitfields in arbitrary width integers, which will let you go pretty far. 2017-10-02T23:36:31Z jasom: clhs logior 2017-10-02T23:36:32Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_logand.htm 2017-10-02T23:36:51Z jasom: ^^^ Josh_2 there are the basic bitwise logical operations as well 2017-10-02T23:39:03Z jasom: Josh_2: fast-io is for fast streaming of binary data, but it also happens to provide operations for reading 8/16/32/64/12 signed,unsigned,big,little endian values: https://github.com/rpav/fast-io 2017-10-02T23:39:56Z jasom: Josh_2: If you've at least *looked* at some of those pages, don't be embarassed to ask here, we all have holes in our knowledge. 2017-10-02T23:40:08Z rumbler31 quit (Ping timeout: 240 seconds) 2017-10-02T23:40:49Z Bike: if you hadn't looked at them because you didn't know where they were that's ok too 2017-10-02T23:41:11Z Josh_2: I have looked at logand, not ldb. I don't understand what ldb does. 2017-10-02T23:44:16Z Bike: know any assembly? 2017-10-02T23:44:22Z Josh_2: No 2017-10-02T23:44:28Z Bike: can you read hex? 2017-10-02T23:44:56Z Josh_2: I'll go on the safe side and say I can't anymore 2017-10-02T23:46:08Z Bike: well, whatever. it extracts bits. so for example you can do (ldb (byte 4 0) #xd3f) => #xf, (ldb (byte 4 4) #xd3f) => #x3, (ldb (byte 4 8) #xd3f) => #xd 2017-10-02T23:47:59Z aeth: It really helps imo to concretely know what bit magic you're trying to do, and then define trivial inline functions that basically rename the cryptic byte magic to something more familiar. 2017-10-02T23:48:35Z aeth: e.g. https://gitlab.com/zombie-raptor/zombie-raptor/blob/30173c4c164e4ab579cff414d398dd3613f70d1f/math/boolean-set.lisp 2017-10-02T23:48:43Z dim: also #x is a prefix that indicates following numbers are in base 16 2017-10-02T23:49:23Z dim: #xd3f = d3f in base 16 = 3391, try it at your lisp REPL 2017-10-02T23:50:20Z dim: (format t "~2r" (ldb (byte 4 0) #b11001010)) gives 1010 2017-10-02T23:50:42Z dim: (format t "~2x" (ldb (byte 4 0) #b11001010)) gives A 2017-10-02T23:50:45Z Josh_2: I normally just change *print-base* in repl 2017-10-02T23:51:07Z dim: #b, #x and #o are quite convenient 2017-10-02T23:53:28Z dim: (format t "~2,4,'0r" (ldb (byte 4 8) #b110010101001000)) is 0101 2017-10-02T23:56:29Z nalik891 quit (Remote host closed the connection) 2017-10-02T23:57:22Z yaocl quit (Ping timeout: 260 seconds) 2017-10-02T23:57:23Z nalik891 joined #lisp 2017-10-02T23:58:51Z yaocl joined #lisp 2017-10-03T00:00:34Z aeth: Is a constant available at read time? i.e. in #. 2017-10-03T00:00:37Z aeth: It appears like it is. 2017-10-03T00:02:23Z Bike: constants are bound at compile time, so they'll be available for forms read later 2017-10-03T00:02:38Z aeth: thanks, I couldn't find anything about constants in the HyperSpec for read 2017-10-03T00:02:45Z aeth: but that makes sense 2017-10-03T00:02:48Z Bike: wait, i take that back 2017-10-03T00:03:12Z Bike: the value /may/ be bound, but all that's actually required is that the compiler understands that it's constant 2017-10-03T00:03:23Z Bike: so an implementation could hypothetically not bind it, though i don't thiink any actually do. 2017-10-03T00:04:05Z aeth: I want to essentially do this to have a print-boolean-set: (format t #.(concatenate 'string "~" (write-to-string +boolean-set-max-size+) ",'0b") boolean-set) rather than hardcode the magic number like (format t "~60,'0b" boolean-set) 2017-10-03T00:04:30Z aeth: Then I can see what the number looks like as bits representing true/false. 2017-10-03T00:05:56Z aeth: e.g. for something that's 59 of the 60 things (print-boolean-set (1- (expt 2 59))) => 011111111111111111111111111111111111111111111111111111111111 2017-10-03T00:06:32Z clintm quit (Remote host closed the connection) 2017-10-03T00:09:36Z Posterdati quit (Ping timeout: 240 seconds) 2017-10-03T00:10:10Z Posterdati joined #lisp 2017-10-03T00:10:47Z aeth: (It's just an integer, so I can't/shouldn't set an automatic print representation for it, but I can provide a function for more elaborate data structures that use it.) 2017-10-03T00:11:56Z Bike: (format t "~v,'0b" +boolean-set-max-size+ boolean-set) 2017-10-03T00:12:17Z basket quit (Ping timeout: 248 seconds) 2017-10-03T00:12:45Z aeth: that... disassembles to the same thing in SBCL 2017-10-03T00:12:48Z aeth: I was overthinking things 2017-10-03T00:12:56Z earl-ducaine: @Josh_2 re: byte some things that helped me: ldb stands for load byte and dpb deposit byte. #b101 is a byte string literal, format t "~b" 123 to print 2017-10-03T00:13:09Z Bike: disassembles? if you're worried about performance i don't recommend format, or, i/o 2017-10-03T00:13:37Z aeth: This is not going to be run at runtime unless there's something that needs to be debugged. 2017-10-03T00:13:58Z Bike: why are you disassembling anything 2017-10-03T00:14:27Z aeth: To see if logically equivalent things are equivalent to each other once compiled. 2017-10-03T00:14:37Z aeth: If the disassemblies match I don't even need to test it 2017-10-03T00:15:27Z quazimodo quit (Ping timeout: 248 seconds) 2017-10-03T00:15:49Z margeas quit (Ping timeout: 258 seconds) 2017-10-03T00:15:54Z MrBusiness joined #lisp 2017-10-03T00:16:15Z aeth: Also, it's a habit to disassemble everything. 2017-10-03T00:18:39Z aeth: Most of what I've done in the past year needs to be fast because I've been doing the core of the game engine, hence lots of disassemble. I probably over-optimized it because I was trying to get 60 FPS on ECL when it turns out it was a CFFI issue, not an issue on my end. So I've almost finished removing all consing in the core of the game loop. 2017-10-03T00:19:45Z jmercouris: sqlite interface for CL? 2017-10-03T00:19:54Z jmercouris: suggestions? 2017-10-03T00:20:18Z dim: (ql:quickload "sqlite") 2017-10-03T00:20:29Z jmercouris: dim: documentation for it? 2017-10-03T00:20:45Z dim: or use pgloader, load the whole database into PostgreSQL in one command, then use postmodern instead 2017-10-03T00:21:03Z jmercouris: dim: Has to be 100% portable 2017-10-03T00:21:17Z dim: http://quickdocs.org/cl-sqlite/api#package-SQLITE I guess 2017-10-03T00:21:20Z dim: it's CFFI based 2017-10-03T00:22:26Z earl-ducaine: Also again re: byte arithmetic, negative numbers extend their left most '1' into infinity and positive number extend their 0 into infinity, e.g. 2017-10-03T00:22:32Z earl-ducaine: (ldb (byte 3 5) -1) 2017-10-03T00:22:36Z earl-ducaine: => 7 2017-10-03T00:22:56Z wooden_ quit (Ping timeout: 248 seconds) 2017-10-03T00:23:31Z earl-ducaine: Took me an embarassingly long time to realize that. 2017-10-03T00:24:04Z Xach: Xof taught me about it. 2017-10-03T00:24:18Z Xach: or maybe it was the dpb into -1 2017-10-03T00:24:59Z aeth: is ldb the recommended way to handle storing information in byte-arrays? Or I guess retrieving information 2017-10-03T00:25:37Z hooman: aeth, is your code public ? 2017-10-03T00:25:50Z Bike: ldb doesn't do byte arrays. 2017-10-03T00:25:58Z aeth: hooman: right now, most of my code is public 2017-10-03T00:26:43Z aeth: Essentially, the game engine is public, the games themselves will be mixed. Probably wouldn't be too hard to reverse engineer them, though. 2017-10-03T00:26:58Z aeth: Bike: Bytes in byte arrays, though. 2017-10-03T00:27:13Z aeth: Not everything needs a whole byte. 2017-10-03T00:27:31Z aeth: Although some things might need two bytes, so merging them might be complicated? 2017-10-03T00:27:37Z Bike: ldb is a good way to get numbers out of bigger numbers. nothing to do with arrays 2017-10-03T00:29:11Z aeth: Bike: Yes, let me rephrase. #(0-255 0-255 0-255 ...) is going to be my basic map format for terrain (structures like buildings will need real geometry). I get reading/writing this from alexandria for free, afaik. 2017-10-03T00:29:23Z dieggsy quit (Ping timeout: 255 seconds) 2017-10-03T00:29:36Z aeth: So everything will have to be encoded in numbers from 0-255, even if there aren't 255 possible states. 2017-10-03T00:29:42Z aeth: (Or if there are more.) 2017-10-03T00:29:58Z hooman: everything..? 2017-10-03T00:30:02Z jmercouris: Xach: is it true that there are no tests in quicklisp? 2017-10-03T00:30:31Z jmercouris: I saw this article on reddit and it blew my mind: https://markkarpov.com/post/lisp-and-haskell.html 2017-10-03T00:30:34Z Xach: jmercouris: it depends on what you mean by "quicklisp". do you mean the software? 2017-10-03T00:30:44Z Xach: or the librries? 2017-10-03T00:30:49Z Xach: lliibraries 2017-10-03T00:30:52Z Xach: errrgh keybaord lag 2017-10-03T00:31:07Z dim: your keyboard is brok 2017-10-03T00:31:10Z jmercouris: iiii dooonnnnttttt knnooowww 2017-10-03T00:31:14Z dim: (ahah, sorry, it's very late here) 2017-10-03T00:31:17Z jmercouris: I just meant the software 2017-10-03T00:31:25Z jmercouris: not like the actual sources 2017-10-03T00:31:33Z jmercouris: as far as I understand you test that all the sources together work 2017-10-03T00:31:50Z jmercouris: which is why releases are very stable, but do you actually test the system itself? 2017-10-03T00:32:05Z Xach: It is pretty dumb to describe me as an uber lisp hacker. 2017-10-03T00:32:14Z jmercouris: I didn't write the article :P 2017-10-03T00:32:25Z Xach: jmercouris: the quicklisp client does not have any tests, no. I would like to add some, though. 2017-10-03T00:32:46Z Xach: I am not opposed to tests, but I haven't made them a priority in the past but would like to in the future. 2017-10-03T00:32:54Z jmercouris: Xach: I hear ya 2017-10-03T00:33:02Z jmercouris: Really great piece of software btw, I'm a huge fan 2017-10-03T00:33:13Z Xach: glad to hear it, thanks. 2017-10-03T00:33:13Z jmercouris: Unless you're adding features though, I'm not sure why add tests 2017-10-03T00:33:29Z Xach: Well, I think of tests as adding confidence against unintended breakage. 2017-10-03T00:33:34Z yaocl quit (Quit: yaocl) 2017-10-03T00:33:46Z jmercouris: are you actively updating it though? 2017-10-03T00:33:50Z jmercouris: does it really need any new features? 2017-10-03T00:34:08Z jmercouris: also pjb (I think) had posted about some very interesting koans the other day regarding tests 2017-10-03T00:34:43Z sjl_: the upcoming pgp key verification is a very-needed new feature 2017-10-03T00:34:51Z Xach: jmercouris: i am updating it 2017-10-03T00:35:02Z jmercouris: ah yeah, that'll be nice indeed 2017-10-03T00:35:03Z sjl_: very happy to see that in the works 2017-10-03T00:35:19Z jmercouris: what I really like about quicklisp is that it feels like we can avoid a sort of leftpad /npm type disaster 2017-10-03T00:35:56Z aeth: hooman: alexandria:read-file-into-byte-vector returns an (unsigned-byte 8) vector so the most natural way to read/write map files is as bytes. Any sort of metadata that's more about strings/etc. could go into a separate file, or could even use babel:octets-to-string 2017-10-03T00:35:57Z jmercouris: and with this sort of additional security, hopefully we can be sure we're running safe code (at least from a malicious perspective) 2017-10-03T00:36:18Z Xach: Well, the pgp and related things are more of a "last mile" thing. 2017-10-03T00:36:34Z Xach: better than "no mile" but not end to end 2017-10-03T00:36:58Z Bike: leftpad was removed because the developer asked for it to be removed, yes? is there something about quicklisp's architecture that would... prevent that? or do you just mean an updated distro with unsatisfied dependencies wouldn't go up. 2017-10-03T00:37:07Z sjl_: I'm not sure that's completely true. If an attacker gets an innocuous-looking package into QL and then pushed an 'rm -rf' update, but makes sure it doesn't run on Xach's machines, we're likely still hosed 2017-10-03T00:37:28Z sjl_: assuming xach doesn't manually review every single diff for each ql release, which would be insane 2017-10-03T00:37:29Z hooman: aeth, ahh i see =) 2017-10-03T00:37:54Z Xach: full review of everything would be great but difficult 2017-10-03T00:38:08Z sjl_: yeah, it's not practical for a single person 2017-10-03T00:38:23Z jmercouris: I meant that basically a developer can't just randomly pull some stuff of ql afaik 2017-10-03T00:38:27Z sjl_: Bike: I think the leftpad thing wouldn't be nearly as bad. The author would have to contact Xach to get it removed 2017-10-03T00:38:50Z sjl_: and then if the removal broke things, the next QL dist could be delayed until the situation was untangled 2017-10-03T00:38:51Z jmercouris: also yeah, we can't really do a openbsd style audit of every package, that would be a monumental effort 2017-10-03T00:39:11Z Xach: well, maybe it can be done. 2017-10-03T00:39:25Z jmercouris: you know, maybe we can have a set of "trusted" packages 2017-10-03T00:39:26Z Xach: sometimes small is an advantage 2017-10-03T00:39:35Z jmercouris: and then like a set of "untrusted" packages, which you just install at your own risk 2017-10-03T00:39:55Z aeth: sjl_: But the Quicklisp model wouldn't scale up to the size of JavaScript 2017-10-03T00:40:10Z jmercouris: and if you want your package to go from untrusted --> trusted, you have to pay for a security audit or somethng 2017-10-03T00:40:17Z sjl_: aeth: nope 2017-10-03T00:40:20Z Xach: i was pretty bummed at the hacker news discussion that mixed accurate info with "asdf-install solved these issues", which i don't think is true. 2017-10-03T00:40:40Z jmercouris: Xach: which article are you talking about? 2017-10-03T00:40:59Z Xach: some hacker news discussion related to my pgp/sha testing blog post 2017-10-03T00:41:01Z wooden joined #lisp 2017-10-03T00:41:28Z Xach: i try not to read lisp discussion on hacker news because it rarely brings new ideas to bear on anything lisp-related 2017-10-03T00:41:46Z jmercouris: yeah, I feel like it's mostly just people who want to pretend they use lisp, and have lots to say about it 2017-10-03T00:41:54Z sjl_: s/lisp-related// 2017-10-03T00:42:05Z jmercouris: "lol parens anyone?" "wow paredit mode so good" 2017-10-03T00:42:44Z Xach: yes, i don't generally make a habit of reading any discussion there at all, but sometimes people point me at lisp stuff there and then i get sad for a bit if i can't resist reading it 2017-10-03T00:43:18Z jmercouris: sjl_: +1 2017-10-03T00:45:29Z Xach: anyway, when people make software to share, i generally think they're doing the best they can with the info they have. 2017-10-03T00:45:41Z Xach: and the time and other resources on hand 2017-10-03T00:46:22Z Xach: and the requirements, etc. 2017-10-03T00:46:26Z jmercouris: yeah, I don't imagine many open source stuff is malicious 2017-10-03T00:46:42Z Xach: oh, this is more about things working at various scales. 2017-10-03T00:46:49Z Zhivago: Malicious generally takes extra work. 2017-10-03T00:46:51Z Josh_2: I can't for the life of me work out what ldb does. I guess I'll try again tomorrow. Not really sure what the point of it is either. 2017-10-03T00:47:55Z Xach: like, even if a package system doesn't work the way i need or like, it's not because someone was trying to make me made. 2017-10-03T00:47:58Z Xach: mad, rather. 2017-10-03T00:48:11Z Xach: stuff is hard to make 2017-10-03T00:48:32Z arbv quit (Ping timeout: 246 seconds) 2017-10-03T00:50:51Z jmercouris: yeah it is 2017-10-03T00:51:00Z jmercouris: I've been working over a week on compilation issues... 2017-10-03T00:51:21Z dim: Josh_2: load byte, the (byte x y) is a specification for which byte to load 2017-10-03T00:51:58Z dim: Josh_2: when that when invented, bytes weren't all 8 bits long, so you can choose your byte specification length, and position where to start reading, that's the (byte x y) parts 2017-10-03T00:52:37Z dim: ldb applies that specification to an input, a number taken as being an “encoded” byte value if you will 2017-10-03T00:52:45Z dim: Josh_2: does that make any sense? 2017-10-03T00:53:40Z sjl_: where "load" means "return" 2017-10-03T00:54:14Z sjl_: ldb extracts a hunk of bits from a number and returns them. it's kinda hard to understand at first because cl reads and prints in base 10 by default 2017-10-03T00:54:15Z dim: on that, gn! 2017-10-03T00:54:43Z sjl_: if you (setf *print-base* 2) to make it print numbers in binary it becomes a bit easeir to read 2017-10-03T00:55:06Z sjl_: (ldb (byte 3 5) #b1100010100011) => "give me the 3 bits starting at position 5" => 101 2017-10-03T00:55:53Z sjl_ is now known as sjl 2017-10-03T00:57:32Z malice joined #lisp 2017-10-03T00:59:58Z arbv joined #lisp 2017-10-03T01:00:05Z Josh_2: o 2017-10-03T01:00:56Z Josh_2: well yeah that makes sense. I'd already set *print-base* to two. You made it a lot easier to understand than the spec did... 2017-10-03T01:01:33Z sjl: the spec is great once you have the general idea, because it specifies all the edge cases I didn't mention 2017-10-03T01:01:47Z sjl: but trying to learn Lisp by reading the spec is like trying to learn French with a dictionary 2017-10-03T01:02:03Z sjl: like, I guess it could work, but there are easier roads 2017-10-03T01:02:42Z z3t0 joined #lisp 2017-10-03T01:03:37Z Xach: it can be fun to read the dictionary even if you don't retain it all, because you might remember useful bits and pieces down the road 2017-10-03T01:04:06Z Xach: but it is not a good way to get going 2017-10-03T01:04:23Z Josh_2: I've been learning CL since I was 19.. I'm 21 now. 2017-10-03T01:04:59Z Josh_2: Not constantly obviously. I used to be in clnoobs not here that's all. 2017-10-03T01:06:20Z nalik891 quit (Remote host closed the connection) 2017-10-03T01:06:39Z vyzo quit (Ping timeout: 246 seconds) 2017-10-03T01:06:54Z zachk quit (Quit: Leaving) 2017-10-03T01:07:05Z nalik891 joined #lisp 2017-10-03T01:07:05Z vyzo joined #lisp 2017-10-03T01:07:09Z Josh_2: Also, I haven't just been reading the hyperspec :P I've got books like Land of Lisp, PCL and I started with "A Gentle Intro.." + "The Little Schemer" 2017-10-03T01:08:06Z Xach: cool 2017-10-03T01:12:01Z Josh_2: I've never made anything though. 2017-10-03T01:12:38Z d4ryus2 joined #lisp 2017-10-03T01:15:36Z d4ryus1 quit (Ping timeout: 240 seconds) 2017-10-03T01:19:47Z EvW1 quit (Ping timeout: 255 seconds) 2017-10-03T01:24:34Z milanj quit (Quit: This computer has gone to sleep) 2017-10-03T01:25:34Z Xach: if you stick with it, making something will eventually happen 2017-10-03T01:25:40Z Xach: it can be hard to avoid 2017-10-03T01:33:13Z z3t0 quit (Remote host closed the connection) 2017-10-03T01:33:46Z z3t0 joined #lisp 2017-10-03T01:34:04Z jmercouris: Josh_2: i think the best way to learn is by doing a simple project 2017-10-03T01:34:41Z jmercouris: maybe make like a program that helps you read books or something 2017-10-03T01:34:46Z jmercouris: hey that's actually a really good idea 2017-10-03T01:34:58Z jmercouris: so basically our eyes have to scan across the page right? and that's pretty tiring 2017-10-03T01:35:11Z jmercouris: so what if instead of our eyes scanning across the page, the text scrolled across like a region 2017-10-03T01:35:23Z jmercouris: and we can customize the speed of it via the mouse so that we could read with less eye strain 2017-10-03T01:35:30Z z3t0 quit (Remote host closed the connection) 2017-10-03T01:35:45Z z3t0 joined #lisp 2017-10-03T01:36:40Z rumbler31 joined #lisp 2017-10-03T01:37:26Z Josh_2: That's a funny idea, the epitome of laziness. 2017-10-03T01:39:50Z z3t0 quit (Client Quit) 2017-10-03T01:41:05Z rumbler31 quit (Ping timeout: 240 seconds) 2017-10-03T01:41:10Z yaocl joined #lisp 2017-10-03T01:44:08Z Josh_2: I'll write something tomorrow that'll read through all my .lisp files and count up the total number of SLOC 2017-10-03T01:44:26Z Josh_2: Then Ima keep trying with my DNS program 2017-10-03T01:45:37Z gilberth: I could potentially speed up reading. I sometimes read every other line backwards. That is faster, as you skip the carriage^Weye return. 2017-10-03T01:45:43Z gilberth: It, even. 2017-10-03T01:49:58Z gilberth: Hmm, would flashing words be an alternative. I have a hard time reading scrolling text. 2017-10-03T01:53:35Z shifty joined #lisp 2017-10-03T01:55:22Z quazimodo joined #lisp 2017-10-03T01:55:35Z yaocl quit (Ping timeout: 240 seconds) 2017-10-03T01:58:36Z Josh_2 quit (Remote host closed the connection) 2017-10-03T01:59:22Z yaocl joined #lisp 2017-10-03T02:00:29Z emaczen joined #lisp 2017-10-03T02:02:35Z jmercouris: gilberth: yeah scrolling text is hard, maybe it just like jumps words like you said 2017-10-03T02:02:54Z jmercouris: so every like 1/4 second or something, the sentence shifts a little bit to the left and the leftmostword is consumed 2017-10-03T02:04:06Z gilberth: That sounds like a good idea. We could experiment with making the delay dependent on the word. 2017-10-03T02:05:03Z gilberth: [For German though, your really would like that, as words can get as long as you wish.] 2017-10-03T02:05:39Z gilberth: Do we have an eye tracker? 2017-10-03T02:08:27Z jmercouris: hmm nothing that can't be done with cffi 2017-10-03T02:08:39Z edgar-rft: I've heard OpenCV can do ball-tracking... 2017-10-03T02:08:45Z gilberth: Actually I find that quite an interessting problem. Imagine you could read a novel on your smart watch. 2017-10-03T02:08:47Z jmercouris: yeah was bout to suggest: http://opencv.org 2017-10-03T02:09:03Z jmercouris: gilberth: bist du deutsche oder? 2017-10-03T02:09:24Z gilberth: jmercouris: Ja, ich bin Deutscher. 2017-10-03T02:09:47Z jmercouris: makes sense based on your spelling of interesting and the comment about german words :P 2017-10-03T02:10:07Z gilberth: *sigh* 2017-10-03T02:10:25Z gilberth: My english spelling is rusty. 2017-10-03T02:10:32Z jmercouris: it's okay, you should see my german spelling :D 2017-10-03T02:10:43Z jmercouris: es ist eigentlich voll schlecht :D 2017-10-03T02:10:48Z gilberth: And your grammar! :-P 2017-10-03T02:10:59Z jmercouris: tja, my grammar is quite bad 2017-10-03T02:11:31Z gilberth: But then, it is a hard language, I imagine. 2017-10-03T02:11:42Z jmercouris: don't even get me started lol 2017-10-03T02:11:53Z daniel-s joined #lisp 2017-10-03T02:11:58Z jmercouris: I've been living in Germany for 4 years, and I still feel like I have no idea how to string together a sentence 2017-10-03T02:12:27Z gilberth: jmercouris: But then, most Germans don't even get ther German grammar right. 2017-10-03T02:12:41Z jmercouris: dude tell me about it, in Berlin everybody speaks super wrong German 2017-10-03T02:12:48Z jmercouris: it used to drive me crazy, but now I do it too lol 2017-10-03T02:12:51Z jmercouris: allet jut wahr? 2017-10-03T02:13:32Z gilberth: It is worse in Bavaria. I have trouble understanding those people. 2017-10-03T02:14:01Z gilberth: Or Saxiony. 2017-10-03T02:14:08Z gilberth: Saxony, even. 2017-10-03T02:14:09Z jmercouris: oh yeah, it get's even worse in switzerland 2017-10-03T02:14:20Z jmercouris: I was watching this one video and I could have sworn they were speaking a foreign language 2017-10-03T02:14:27Z gilberth: That is chinese to me. 2017-10-03T02:14:58Z al-damiri quit (Quit: Connection closed for inactivity) 2017-10-03T02:15:28Z gilberth: But then I have a hard time to understand British people, while I have absolutely not problem understanding US english. 2017-10-03T02:15:42Z gilberth: s/not/no/ 2017-10-03T02:15:45Z jmercouris: yeah, I even have trouble with some british accents though, and english is one of my first languages 2017-10-03T02:15:57Z jmercouris: so don't feel too bad about it 2017-10-03T02:16:27Z gilberth: What is your other first language? 2017-10-03T02:16:31Z jmercouris: Greek 2017-10-03T02:16:38Z jmercouris: and then Spanish, and then German 2017-10-03T02:16:42Z gilberth: Long words! 2017-10-03T02:16:53Z jmercouris: lol yeah, Greek is actually very similar to German in a grammatic sense 2017-10-03T02:17:05Z jmercouris: we have a similar idea of deklinationen and how we can combine words 2017-10-03T02:17:17Z jmercouris: it's actually an even more succinct language, what you say in like 4 words in german is one in greek 2017-10-03T02:17:49Z jmercouris: like for example: ich habe gegessen, would just be εφαγα 2017-10-03T02:17:57Z jmercouris: like literally one word for 3, and it has all the meaning 2017-10-03T02:23:51Z earl-ducaine: I won't chime in on the superiority of languages, but what I particularly like about Modern Greek is that it retains the original synthetic passive voice. So, you can say something like: 2017-10-03T02:23:51Z earl-ducaine: το φαγητό τρώγεται. The food was eaten. 2017-10-03T02:27:09Z ryanbw joined #lisp 2017-10-03T02:28:20Z earl-ducaine: 'original' being the synthetic passive inherited from Indo-European. 2017-10-03T02:29:06Z jmercouris: earl-ducaine: I speak Modern Greek and I have no idea what you mean :D 2017-10-03T02:32:11Z FreeBirdLjj joined #lisp 2017-10-03T02:33:45Z earl-ducaine: Passive voice is where the subject is acted upon by the object e.g. The boy was hit by the ball. 2017-10-03T02:33:56Z jmercouris: aha okay, then yes, I know what you mean 2017-10-03T02:34:32Z nalik891 quit (Quit: Leaving) 2017-10-03T02:34:33Z earl-ducaine: In English we have to use a periphrasic construction 'was hit' 2017-10-03T02:35:40Z earl-ducaine: but in greek you can use one word: χτυπήθηκε 2017-10-03T02:35:50Z jmercouris: yep 2017-10-03T02:35:59Z jmercouris: do you speak greek or something? 2017-10-03T02:36:20Z earl-ducaine: Just a bit. Mostly forgotten. 2017-10-03T02:36:56Z jmercouris: nice! 2017-10-03T02:37:22Z marcux joined #lisp 2017-10-03T02:40:33Z daniel-s quit (Ping timeout: 248 seconds) 2017-10-03T02:44:13Z Bicyclidine joined #lisp 2017-10-03T02:46:51Z Bike quit (Ping timeout: 258 seconds) 2017-10-03T02:47:10Z marcux quit (Quit: Lost terminal) 2017-10-03T02:47:14Z malice quit (Remote host closed the connection) 2017-10-03T02:47:41Z Beetny joined #lisp 2017-10-03T02:50:19Z Nostrovus joined #lisp 2017-10-03T02:50:28Z emaczen quit (Read error: Connection reset by peer) 2017-10-03T02:50:36Z Bicyclidine quit (Ping timeout: 246 seconds) 2017-10-03T02:51:58Z emaczen joined #lisp 2017-10-03T02:52:26Z Nostrovus quit (Client Quit) 2017-10-03T02:54:48Z dddddd quit (Remote host closed the connection) 2017-10-03T02:55:35Z terpri quit (Ping timeout: 246 seconds) 2017-10-03T02:57:35Z hsu joined #lisp 2017-10-03T03:08:49Z saki quit (Ping timeout: 248 seconds) 2017-10-03T03:14:15Z Karl_Dscc joined #lisp 2017-10-03T03:15:30Z Karl_Dscc quit (Remote host closed the connection) 2017-10-03T03:20:44Z yaocl quit (Quit: yaocl) 2017-10-03T03:22:23Z rumbler31 joined #lisp 2017-10-03T03:24:17Z tessier quit (Ping timeout: 248 seconds) 2017-10-03T03:26:35Z rumbler31 quit (Ping timeout: 240 seconds) 2017-10-03T03:31:45Z sjl quit (Ping timeout: 248 seconds) 2017-10-03T03:33:35Z yaocl joined #lisp 2017-10-03T03:38:07Z stylewarning: Could someone give me the precise meaning of :read-only in DEFSTRUCT? The spec says "When x is true, this specifies that this slot cannot be altered; it will always contain the value supplied at construction time." Does this only mean the slot cannot point to a different object? Or that the object itself can't be modified? 2017-10-03T03:38:25Z jmercouris: I think both are true 2017-10-03T03:38:36Z jmercouris: the slot is part of the struct, it is an object only technically 2017-10-03T03:39:03Z jmercouris: so most definitely you cannot change the value the slot is pointing to, but you MAY perhaps change the value at that address 2017-10-03T03:39:42Z jmercouris: like let's say I make a slot pointing to some mutable object, and that slot is read only, of course I cannot reassign that slot, but I should be able to freely mutate that object, thereby changing the value of the slot 2017-10-03T03:39:54Z jmercouris: at least that's my interpretation 2017-10-03T03:40:19Z stylewarning: Yes but the struct doesn't know anything about the internals of the object. The object can maintain identity or even EQL-ness. The spec defines "same" as "2. (of objects if no predicate is implied by context) indistinguishable by eql." 2017-10-03T03:40:23Z wheelsucker joined #lisp 2017-10-03T03:41:04Z jmercouris: stylewarning: when you say "the object" what are you talking about? 2017-10-03T03:41:05Z stylewarning: I know the meaning of DEFSTRUCT's :read-only doesn't contain the word "same", but I'd interpret it as "the same value" 2017-10-03T03:41:15Z stylewarning: The object to which the slot is set. 2017-10-03T03:41:53Z jmercouris: I still don't understand what you are trying to say here 2017-10-03T03:42:33Z stylewarning: You don't understand my question, or my follow-up statements? 2017-10-03T03:42:38Z jmercouris: the follow up 2017-10-03T03:43:17Z jmercouris: "the struct doesn't know anything about the internals of the object", why does it have to know? 2017-10-03T03:43:21Z jmercouris: this is what I am not getting 2017-10-03T03:43:36Z stylewarning: It *doesn't* have to know. But if it *doesn't* know, then it can't know that the object changed. 2017-10-03T03:43:50Z jmercouris: no where in the spec does it say it knows if the object changed or not though 2017-10-03T03:43:54Z jmercouris: that's what I'm not getting here 2017-10-03T03:44:04Z jmercouris: I am assuming only the REFERENCE cannot change, e.g. the address 2017-10-03T03:44:13Z jmercouris: at least that is what makes sense to me 2017-10-03T03:44:15Z stylewarning: I am assuming that too. 2017-10-03T03:44:19Z stylewarning: That is the minimum requirement seemingly. 2017-10-03T03:44:28Z stylewarning: But I am wondering if it can be read into any more. 2017-10-03T03:44:42Z jmercouris: maybe, I'd guess you're overreading into it though 2017-10-03T03:44:44Z jmercouris: but I'm no lisp expert 2017-10-03T03:45:12Z stylewarning: Well it would seem that "read-only" would mean "the object set here is not for any sort of writing" 2017-10-03T03:45:31Z jmercouris: yeah, i bet basically you can just not use the struct accessors with setf 2017-10-03T03:45:38Z jmercouris: that's my guess 2017-10-03T03:45:43Z stylewarning: I know that bit is definitely true. 2017-10-03T03:45:47Z jmercouris: if you have a different reference to the object, then it must stay mutable 2017-10-03T03:46:07Z jmercouris: I don't see how else they could enforce/implement that 2017-10-03T03:46:17Z jmercouris: unless it makes a copy of an object on setting of that slot 2017-10-03T03:47:20Z sjl joined #lisp 2017-10-03T03:47:22Z stylewarning: Well if the object is, say, a simple-array of floats, then maybe (??) an implementation could decide to embed those floats in the struct itself 2017-10-03T03:47:25Z tessier joined #lisp 2017-10-03T03:47:25Z tessier quit (Changing host) 2017-10-03T03:47:25Z tessier joined #lisp 2017-10-03T03:49:29Z jmercouris: stylewarning: but what if it is a complex object? what about references from those object? 2017-10-03T03:49:44Z jmercouris: I mean how far down the dependency tree do we have to main "read only"ness 2017-10-03T03:50:00Z jmercouris: is a slot of that object that is also an object now read only? 2017-10-03T03:50:25Z moei joined #lisp 2017-10-03T03:50:34Z jmercouris: the only scenario that makes sense is one of 2 things probably: 1. deep copy of the original reference following all dependencies, or 2. they actually mean immutable reference 2017-10-03T03:51:21Z marvin3 quit 2017-10-03T03:54:49Z marcux joined #lisp 2017-10-03T03:57:56Z nika joined #lisp 2017-10-03T04:02:21Z marcux quit (Quit: leaving) 2017-10-03T04:02:37Z marcux joined #lisp 2017-10-03T04:04:36Z marcux quit (Client Quit) 2017-10-03T04:04:57Z marcux joined #lisp 2017-10-03T04:06:04Z clintm joined #lisp 2017-10-03T04:09:02Z omilu joined #lisp 2017-10-03T04:10:24Z SAL9000 quit (Ping timeout: 246 seconds) 2017-10-03T04:15:05Z yaocl quit (Quit: yaocl) 2017-10-03T04:22:32Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-10-03T04:25:41Z marcux quit (Ping timeout: 240 seconds) 2017-10-03T04:32:59Z damke_ joined #lisp 2017-10-03T04:36:14Z FreeBirdLjj quit (Remote host closed the connection) 2017-10-03T04:37:39Z FreeBirdLjj joined #lisp 2017-10-03T04:45:45Z yaocl joined #lisp 2017-10-03T05:13:15Z shka_ joined #lisp 2017-10-03T05:16:58Z FreeBirdLjj quit (Remote host closed the connection) 2017-10-03T05:19:24Z rumbler31 joined #lisp 2017-10-03T05:23:17Z rumbler3_ joined #lisp 2017-10-03T05:23:25Z moei quit (Read error: Connection reset by peer) 2017-10-03T05:23:51Z moei joined #lisp 2017-10-03T05:24:01Z rumbler31 quit (Ping timeout: 240 seconds) 2017-10-03T05:24:13Z nika quit (Remote host closed the connection) 2017-10-03T05:27:29Z rumbler3_ quit (Ping timeout: 248 seconds) 2017-10-03T05:29:07Z moei quit (Read error: Connection reset by peer) 2017-10-03T05:29:13Z emaczen quit (Read error: Connection reset by peer) 2017-10-03T05:29:18Z moei joined #lisp 2017-10-03T05:33:15Z FreeBirdLjj joined #lisp 2017-10-03T05:33:41Z eschatologist quit (Ping timeout: 240 seconds) 2017-10-03T05:34:14Z vlatkoB joined #lisp 2017-10-03T05:34:25Z moei quit (Ping timeout: 248 seconds) 2017-10-03T05:36:04Z emaczen joined #lisp 2017-10-03T05:40:03Z jackdaniel: `read-only' means, that the slot is read-only (as in: binding is immutable), it doesn't say anything about the object 2017-10-03T05:40:58Z jackdaniel: stylewarning: ↑ 2017-10-03T05:41:23Z stylewarning: Thanks 2017-10-03T05:42:59Z nika joined #lisp 2017-10-03T05:43:10Z flamebeard joined #lisp 2017-10-03T05:51:35Z smokeink quit (Ping timeout: 240 seconds) 2017-10-03T05:54:24Z emaczen quit (Read error: Connection reset by peer) 2017-10-03T05:57:32Z beach: Good morning everyone! 2017-10-03T05:59:45Z SaganMan joined #lisp 2017-10-03T06:00:47Z mishoo joined #lisp 2017-10-03T06:01:18Z milanj joined #lisp 2017-10-03T06:06:43Z dec0n joined #lisp 2017-10-03T06:10:21Z jmercouris: jackdaniel: aha! so I was correct :D 2017-10-03T06:12:46Z saki joined #lisp 2017-10-03T06:12:58Z safe quit (Read error: Connection reset by peer) 2017-10-03T06:14:24Z Mon_Ouie quit (Ping timeout: 248 seconds) 2017-10-03T06:15:44Z jackdaniel: most likely, I didn't read whole thing in detail, just got a gist of it :-) 2017-10-03T06:17:03Z jmercouris quit (Ping timeout: 248 seconds) 2017-10-03T06:18:49Z emaczen joined #lisp 2017-10-03T06:19:50Z wxie quit (Quit: Bye.) 2017-10-03T06:23:07Z salva joined #lisp 2017-10-03T06:27:52Z pjb joined #lisp 2017-10-03T06:31:04Z arbv quit (Read error: Connection reset by peer) 2017-10-03T06:31:14Z arbv_ joined #lisp 2017-10-03T06:31:30Z arbv_ is now known as arbv 2017-10-03T06:33:16Z sz0 joined #lisp 2017-10-03T06:35:46Z damke joined #lisp 2017-10-03T06:36:41Z damke_ quit (Ping timeout: 240 seconds) 2017-10-03T06:37:26Z DingoSaar_ quit (Remote host closed the connection) 2017-10-03T06:38:37Z DingoSaar_ joined #lisp 2017-10-03T06:40:33Z Beetny quit (Ping timeout: 248 seconds) 2017-10-03T06:43:18Z FreeBirdLjj quit (Remote host closed the connection) 2017-10-03T06:48:47Z yaocl quit (Quit: yaocl) 2017-10-03T06:48:58Z varjag joined #lisp 2017-10-03T06:52:52Z yaocl joined #lisp 2017-10-03T06:58:04Z Mon_Ouie joined #lisp 2017-10-03T06:58:25Z neoncontrails quit (Remote host closed the connection) 2017-10-03T06:59:04Z CHIPPY joined #lisp 2017-10-03T07:01:46Z FreeBirdLjj joined #lisp 2017-10-03T07:03:02Z trinitr0n quit (Quit: leaving) 2017-10-03T07:03:22Z trinitr0n joined #lisp 2017-10-03T07:04:41Z damke quit (Ping timeout: 240 seconds) 2017-10-03T07:06:12Z FreeBird_ joined #lisp 2017-10-03T07:06:24Z yaocl quit (Quit: yaocl) 2017-10-03T07:07:02Z damke joined #lisp 2017-10-03T07:07:36Z trinitr0n left #lisp 2017-10-03T07:08:32Z FreeBirdLjj quit (Ping timeout: 255 seconds) 2017-10-03T07:08:49Z shka_ quit (Ping timeout: 248 seconds) 2017-10-03T07:10:51Z yaocl joined #lisp 2017-10-03T07:10:57Z FreeBird_ quit (Ping timeout: 248 seconds) 2017-10-03T07:13:06Z FreeBirdLjj joined #lisp 2017-10-03T07:17:21Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2017-10-03T07:21:37Z yaocl quit (Quit: yaocl) 2017-10-03T07:25:36Z yaocl joined #lisp 2017-10-03T07:28:27Z xantoz joined #lisp 2017-10-03T07:32:16Z hsu quit (Quit: Connection closed for inactivity) 2017-10-03T07:34:24Z joast quit (Ping timeout: 248 seconds) 2017-10-03T07:34:25Z CHIPPY quit (Ping timeout: 248 seconds) 2017-10-03T07:38:17Z FreeBirdLjj joined #lisp 2017-10-03T07:42:52Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2017-10-03T07:48:12Z krasnal joined #lisp 2017-10-03T07:54:49Z clintm quit (Remote host closed the connection) 2017-10-03T07:55:29Z FreeBirdLjj joined #lisp 2017-10-03T07:57:09Z clintm joined #lisp 2017-10-03T08:02:39Z FreeBirdLjj quit (Ping timeout: 248 seconds) 2017-10-03T08:08:35Z FreeBirdLjj joined #lisp 2017-10-03T08:11:45Z hhdave joined #lisp 2017-10-03T08:12:41Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2017-10-03T08:14:35Z hhdave_ joined #lisp 2017-10-03T08:16:05Z hhdave quit (Ping timeout: 240 seconds) 2017-10-03T08:16:05Z hhdave_ is now known as hhdave 2017-10-03T08:37:13Z arbv quit (Ping timeout: 258 seconds) 2017-10-03T08:40:17Z Mon_Ouie quit (Ping timeout: 258 seconds) 2017-10-03T08:44:53Z arbv joined #lisp 2017-10-03T08:46:02Z smokeink joined #lisp 2017-10-03T08:46:18Z emaczen` joined #lisp 2017-10-03T08:49:52Z emaczen quit (Ping timeout: 258 seconds) 2017-10-03T08:55:28Z milanj quit (Quit: This computer has gone to sleep) 2017-10-03T08:58:41Z scymtym quit (Ping timeout: 248 seconds) 2017-10-03T08:59:00Z yaocl quit (Quit: yaocl) 2017-10-03T09:00:31Z FreeBirdLjj joined #lisp 2017-10-03T09:04:49Z FreeBirdLjj quit (Ping timeout: 258 seconds) 2017-10-03T09:11:05Z earl-ducaine quit (Ping timeout: 240 seconds) 2017-10-03T09:13:43Z smokeink quit (Ping timeout: 255 seconds) 2017-10-03T09:17:12Z _cosmonaut_ joined #lisp 2017-10-03T09:17:51Z ym quit (Ping timeout: 248 seconds) 2017-10-03T09:19:09Z ym joined #lisp 2017-10-03T09:20:24Z smokeink joined #lisp 2017-10-03T09:24:45Z rumbler31 joined #lisp 2017-10-03T09:25:35Z epony quit (Ping timeout: 240 seconds) 2017-10-03T09:25:53Z earl-ducaine joined #lisp 2017-10-03T09:28:02Z scymtym joined #lisp 2017-10-03T09:29:01Z rumbler31 quit (Ping timeout: 240 seconds) 2017-10-03T09:30:14Z sz0 quit (Quit: Connection closed for inactivity) 2017-10-03T09:30:34Z epony joined #lisp 2017-10-03T09:32:35Z terpri joined #lisp 2017-10-03T09:41:41Z quazimodo quit (Ping timeout: 240 seconds) 2017-10-03T09:45:34Z panji joined #lisp 2017-10-03T09:45:40Z arbv quit (Ping timeout: 255 seconds) 2017-10-03T09:47:00Z damke_ joined #lisp 2017-10-03T09:48:01Z damke quit (Ping timeout: 240 seconds) 2017-10-03T09:48:35Z terpri quit (Ping timeout: 240 seconds) 2017-10-03T09:53:10Z Sigyn quit (Quit: NO HEARTBEAT, NO SERVICE.) 2017-10-03T09:53:39Z Sigyn joined #lisp 2017-10-03T09:54:51Z saki quit (Quit: saki) 2017-10-03T09:55:01Z arbv joined #lisp 2017-10-03T09:55:02Z terpri joined #lisp 2017-10-03T10:00:26Z terpri quit (Ping timeout: 255 seconds) 2017-10-03T10:00:49Z attila_lendvai joined #lisp 2017-10-03T10:00:49Z attila_lendvai quit (Changing host) 2017-10-03T10:00:49Z attila_lendvai joined #lisp 2017-10-03T10:01:34Z araujo quit (Ping timeout: 264 seconds) 2017-10-03T10:02:29Z pmden joined #lisp 2017-10-03T10:03:06Z Karl_Dscc joined #lisp 2017-10-03T10:03:58Z d4ryus2 quit (Quit: WeeChat 1.9.1) 2017-10-03T10:09:50Z yaocl joined #lisp 2017-10-03T10:14:08Z araujo joined #lisp 2017-10-03T10:14:08Z araujo quit (Changing host) 2017-10-03T10:14:08Z araujo joined #lisp 2017-10-03T10:27:16Z terpri joined #lisp 2017-10-03T10:27:29Z terpri quit (Remote host closed the connection) 2017-10-03T10:27:44Z terpri joined #lisp 2017-10-03T10:28:46Z margeas joined #lisp 2017-10-03T10:37:45Z m00natic joined #lisp 2017-10-03T10:38:41Z araujo quit (Ping timeout: 240 seconds) 2017-10-03T10:53:30Z krasnal quit (Read error: Connection reset by peer) 2017-10-03T10:54:50Z Bike joined #lisp 2017-10-03T10:55:06Z Mon_Ouie joined #lisp 2017-10-03T10:55:27Z araujo joined #lisp 2017-10-03T10:55:27Z araujo quit (Changing host) 2017-10-03T10:55:27Z araujo joined #lisp 2017-10-03T10:56:28Z wxie joined #lisp 2017-10-03T11:01:12Z nika quit (Remote host closed the connection) 2017-10-03T11:01:35Z damke joined #lisp 2017-10-03T11:03:01Z damke_ quit (Ping timeout: 240 seconds) 2017-10-03T11:14:09Z earl-ducaine quit (Ping timeout: 248 seconds) 2017-10-03T11:17:53Z yaocl quit (Quit: yaocl) 2017-10-03T11:22:06Z attila_lendvai quit (Quit: Leaving.) 2017-10-03T11:22:25Z attila_lendvai joined #lisp 2017-10-03T11:24:07Z dieggsy joined #lisp 2017-10-03T11:25:29Z rumbler31 joined #lisp 2017-10-03T11:27:20Z marvin2 joined #lisp 2017-10-03T11:28:41Z angavrilov quit (Ping timeout: 240 seconds) 2017-10-03T11:29:39Z rumbler31 quit (Ping timeout: 246 seconds) 2017-10-03T11:37:27Z phoe: Coming back to the discussion about defining ASD systems: in which file I should define a system called FOO/TEST ? 2017-10-03T11:38:01Z phoe: If it is foo.asd, then in which file I should define a system called FOO ? If it is also foo.asd, then what about the rule of not defining multiple systems in one ASD file? 2017-10-03T11:38:41Z Shinmera: a foo/test system must be in the foo file 2017-10-03T11:38:55Z Shinmera: so you can't really avoid multiple systems in the same file. 2017-10-03T11:40:22Z dim: apparently (push "$(PWD)/" asdf:*central-registry*) isn't enough to add something to quickload... ideas? 2017-10-03T11:40:35Z dim: context: Makefile / build script for users who don't have QL locally 2017-10-03T11:40:40Z phoe: dim: (ql:register-local-projects) ? 2017-10-03T11:40:41Z earl-ducaine joined #lisp 2017-10-03T11:40:54Z dim: so we install QL in the Makefile at build time in ./build/quicklisp 2017-10-03T11:41:13Z dim: *local-project-directories* 2017-10-03T11:41:18Z dim: I might play with that, thanks 2017-10-03T11:42:12Z pillton quit (Ping timeout: 240 seconds) 2017-10-03T11:44:31Z dim: (otherwise ql:quickload downloads the previous pgloader release, and the asd dependencies changed, and build fails) 2017-10-03T11:46:20Z yaocl joined #lisp 2017-10-03T11:47:25Z dim: seems to work, thanks 2017-10-03T11:48:20Z phoe: <3 2017-10-03T11:48:29Z Shinmera: This is probably overkill for your case, but Radiance has an automated bootstrapper thing that deploys everything needed to a single directory from a single file. https://github.com/Shirakumo/radiance-bootstrap 2017-10-03T11:48:50Z Shinmera: It's tailored for Radiance, so it would need adapting. 2017-10-03T11:49:12Z Shinmera: It's also probably one of the most superfluous things I've ever done. 2017-10-03T11:49:39Z dim: pgloader also as a “bundle” facility for “lazy” packagers 2017-10-03T11:49:45Z dim: built on QL's facility 2017-10-03T11:50:25Z Shinmera: That's not what this is-- it's intended for use on a consumer's machine. 2017-10-03T11:51:03Z Shinmera: You download the bootstrap script, run it with sbcl, and get a wizard for a Radiance installation. 2017-10-03T11:51:38Z dim: oh nice 2017-10-03T11:51:53Z dim: well my intended audience doesn't care about Common Lisp and QL, in the best case 2017-10-03T11:52:13Z dim: in the usual scenario, they are afraid of it and any problem it might cause for not being streamlined enough 2017-10-03T11:52:28Z phoe: dim: why not build a binary for them? 2017-10-03T11:52:34Z Shinmera: phoe: He does. 2017-10-03T11:52:45Z phoe: then why download quicklisp on client machines? 2017-10-03T11:52:47Z dim: that's what I'm doing, and we're talking about the automatic Makefile that does that ;-) 2017-10-03T11:52:48Z Shinmera: The current issue is for when they want to build the binary themselves for debugging purposes. 2017-10-03T11:52:53Z phoe: ooh. 2017-10-03T11:52:56Z dim: phoe: not client machine, build machines 2017-10-03T11:53:17Z dim: it's all automated so that when I fix a bug it's easy to build for users, without me having to release again 2017-10-03T11:53:27Z SAL9000 joined #lisp 2017-10-03T11:53:30Z phoe: I see. 2017-10-03T11:53:34Z dim: git clone; make; ./build/bin/pgloader --version; there you go 2017-10-03T11:54:07Z dim: I'd rather not admit how many hours went into this Makefile 2017-10-03T11:54:31Z Shinmera: Automation is hard it turns out :^) 2017-10-03T11:54:53Z dim: in exchange I have users on github issues customarily build from source, no glitch 2017-10-03T11:55:02Z dim: even had some easy bug fixes / contribs done that way 2017-10-03T11:55:13Z dim: (no SLIME, just edit a file, make, test, send a PR) 2017-10-03T11:55:50Z dim: ok the build just passed on the build machine (for another project that build-depends on pgloader), thx 2017-10-03T11:57:24Z Shinmera: The bootstrapper is primarily inspired and modelled after the Quicklisp bootstrapper, so kudos to Xach. 2017-10-03T11:58:24Z dddddd joined #lisp 2017-10-03T11:58:57Z earl-ducaine quit (Ping timeout: 260 seconds) 2017-10-03T11:59:38Z jameser joined #lisp 2017-10-03T11:59:39Z papachan` joined #lisp 2017-10-03T12:00:19Z rpg joined #lisp 2017-10-03T12:04:03Z dim: the whole pgloader build process is made around QL, I agree to send kudos to Xach :-) 2017-10-03T12:06:55Z p_l: dim: how many people who aren't lispers in general notice lisp in pgloader? :) 2017-10-03T12:07:31Z dim: good question, no idea 2017-10-03T12:07:50Z dim: unfortunately it shows in quite obvious way in badly handled error scenarios 2017-10-03T12:07:53Z p_l: till today I never noticed Scheme in VMware 2017-10-03T12:08:09Z Shinmera: p_l: News to me! 2017-10-03T12:08:13Z dim: Scheme in VMware?! 2017-10-03T12:08:15Z Shinmera: What's it used for? 2017-10-03T12:08:16Z p_l: yep 2017-10-03T12:08:36Z p_l: Shinmera: scripting various internal actions 2017-10-03T12:08:43Z Shinmera: Interesting. 2017-10-03T12:08:56Z Bike quit (Ping timeout: 246 seconds) 2017-10-03T12:09:01Z p_l: run `strings` on VMX executable (vmware-vmx, aka the actual hypervisor binary) 2017-10-03T12:10:33Z Shinmera: Hah! 2017-10-03T12:11:28Z epony quit (Ping timeout: 240 seconds) 2017-10-03T12:12:01Z Shinmera: I wonder what kind of scheme they use that makes it necessary to define: (define (length lst) (if (null? lst) 0 (+ 1 (length (cdr lst))))) 2017-10-03T12:13:06Z p_l: Shinmera: could be one where only the bare minimum is compiled in another language and we see bits of libs included 2017-10-03T12:13:33Z p_l: build Scheme from first principles, include libs in the program 2017-10-03T12:15:20Z BitPuffin|osx joined #lisp 2017-10-03T12:21:01Z p_l: wonder if the gui also has some 2017-10-03T12:21:43Z krasnal joined #lisp 2017-10-03T12:21:57Z attila_lendvai quit (Quit: Leaving.) 2017-10-03T12:28:21Z jameser quit (Ping timeout: 240 seconds) 2017-10-03T12:29:53Z Shinmera: strings on the vmware workstation binary doesn't show anything. 2017-10-03T12:29:59Z Shinmera: anything of the sort, I mean. 2017-10-03T12:30:07Z Bike joined #lisp 2017-10-03T12:30:11Z Bike quit (Remote host closed the connection) 2017-10-03T12:32:48Z Bike joined #lisp 2017-10-03T12:32:49Z Oladon quit (Read error: Connection reset by peer) 2017-10-03T12:32:52Z jameser joined #lisp 2017-10-03T12:33:25Z phoe: time to write the first MAKE-LOAD-FORM methods in my life 2017-10-03T12:33:49Z Oladon joined #lisp 2017-10-03T12:34:35Z krasnal quit (Ping timeout: 240 seconds) 2017-10-03T12:38:42Z al-damiri joined #lisp 2017-10-03T12:38:46Z Oladon quit (Ping timeout: 264 seconds) 2017-10-03T12:39:18Z Bike quit (Ping timeout: 246 seconds) 2017-10-03T12:48:49Z mson joined #lisp 2017-10-03T12:49:16Z krasnal joined #lisp 2017-10-03T12:50:07Z milanj joined #lisp 2017-10-03T12:59:19Z rumbler31 joined #lisp 2017-10-03T13:03:21Z damke quit (Ping timeout: 240 seconds) 2017-10-03T13:03:48Z joast joined #lisp 2017-10-03T13:05:57Z damke joined #lisp 2017-10-03T13:07:29Z p_l: Shinmera: find `vmware-vmx` 2017-10-03T13:07:39Z p_l: on linux it's in /usr/lib/vmware/bin/vmware-vmx 2017-10-03T13:08:13Z p_l: it's the actual hypervisor (`vmware` starts a GUI which manages it) 2017-10-03T13:08:28Z flip214: strange that this LENGTH uses recursion and not an auxilliary function with accumulator... 2017-10-03T13:09:29Z hel-io joined #lisp 2017-10-03T13:09:56Z p_l: Shinmera: generally, "VMX" is the hypervisor and its code is shared between all VMware platforms (so yes, ESXi runs essentially the same thing, just on a system totally optimized for the job) 2017-10-03T13:10:46Z dlowe: flip214: it's possibly slighly more efficient as long as you have TCO 2017-10-03T13:11:17Z krasnal quit (Ping timeout: 260 seconds) 2017-10-03T13:11:21Z p_l: is that length implementation TCO? 2017-10-03T13:12:32Z dlowe: it's a scheme, right? 2017-10-03T13:12:51Z flip214: dlowe: it has "+ 1" on the outside of the recursive call, so the compiler would have to translate to aux vars by itself 2017-10-03T13:13:57Z p_l: most importantly, that code appears to verify and translate config files 2017-10-03T13:16:21Z p_l: for example, there's code near the end of VMware 14 which says what "virtual hw version" is lowest possible given the options set 2017-10-03T13:17:53Z sjl quit (Ping timeout: 248 seconds) 2017-10-03T13:20:32Z shrdlu68 quit (Ping timeout: 248 seconds) 2017-10-03T13:25:51Z krasnal joined #lisp 2017-10-03T13:27:22Z rumbler31 quit (Remote host closed the connection) 2017-10-03T13:28:33Z _cosmonaut_ quit (Ping timeout: 258 seconds) 2017-10-03T13:28:41Z damke quit (Ping timeout: 240 seconds) 2017-10-03T13:29:49Z Shinmera: p_l: I know. I already did that, which is where I got the other code from. 2017-10-03T13:30:02Z Shinmera: p_l: I just reported that the gui didn't have anything after your query. 2017-10-03T13:30:25Z p_l: aaahhh, sorry 2017-10-03T13:30:39Z p_l juggles a lot of things in the air being job-less and job-hunting 2017-10-03T13:31:39Z Shinmera: 𝓝𝓸 𝓹𝓻𝓸𝓫𝓵𝓮𝓶 2017-10-03T13:32:02Z hel-io quit 2017-10-03T13:34:35Z krasnal quit (Ping timeout: 240 seconds) 2017-10-03T13:34:35Z p_l: still was a fun find 2017-10-03T13:35:06Z Shinmera: It's interesting that it's in there in plain text, rather than being compiled. 2017-10-03T13:37:39Z epony joined #lisp 2017-10-03T13:38:50Z ski: flip214,dlowe : would require a variation of TCMC, yes. perhaps ask LeoNerd, they implemented this, iirc 2017-10-03T13:39:07Z pjb: p_l: you get a preview of retirement: when you don't have a job, you do a lot more than when you have a 9-5 job… 2017-10-03T13:39:14Z milanj quit (Read error: Connection reset by peer) 2017-10-03T13:39:26Z Lowl3v3l quit (Quit: Leaving.) 2017-10-03T13:39:59Z p_l: pjb: My last dorm had, hidden in alcove, the place where I'll retire. 2017-10-03T13:40:01Z p_l: A cemetery 2017-10-03T13:42:40Z pjb: A cemetery, with wifi! http://www.bbc.com/news/blogs-news-from-elsewhere-35062758 2017-10-03T13:43:16Z pjb: I would certainly request to be buried with my laptop… 2017-10-03T13:43:28Z p_l: (because retirement == death from hunger as pensions are destroyed in orgy of whatever the fuck is going on with the economy) 2017-10-03T13:43:38Z Shinmera: There's gravestones that connect to the net :/ 2017-10-03T13:44:00Z pjb: p_l: or the time you at least, archieve this diet and perfect weight! 2017-10-03T13:45:23Z pjb: Now, since I would hope to be found by some future archeologist, I should choose my cementery carefuly to increase those probabilities. Perhaps the Andean altiplateau… 2017-10-03T13:46:32Z p_l: I should add that said cemetery was forgotten and I don't think many students noticed it was there 2017-10-03T13:46:59Z _death: sensors in the casket 2017-10-03T13:46:59Z p_l: ~200yo gravestones that I could read the dates from, a lot that I couldn't 2017-10-03T13:47:35Z cromachina quit (Read error: Connection reset by peer) 2017-10-03T13:47:50Z p_l: the kind of burial I'd like would involve me having the kind of money to actually think about retirement, which seems unlikely 2017-10-03T13:48:30Z pjb: Time to become a drug lord, then. 2017-10-03T13:48:33Z p_l: (it would involve a space rocket and maybe nuclear funeral pyre ;P) 2017-10-03T13:49:09Z krasnal joined #lisp 2017-10-03T13:49:20Z pjb: 2022 BFR SpaceX to Mars! 2017-10-03T13:51:54Z damke joined #lisp 2017-10-03T13:52:00Z TeMPOraL: so say we all! 2017-10-03T13:52:26Z p_l: (that said, I could probably arrange for someone to send snail-mail to some people on my death from "Furude Rika, Shirakawa-mura, Ono-gun, Gifu-ken, Japan" with appropriate letters...) 2017-10-03T13:53:13Z p_l: hopefully it wouldn't cause heart-attacks, but who knows ^^; 2017-10-03T13:53:46Z pjb: There are services to do that, indeed. 2017-10-03T13:53:48Z _cosmonaut_ joined #lisp 2017-10-03T13:54:35Z panji quit (Ping timeout: 240 seconds) 2017-10-03T13:58:51Z p_l: btw, does anyone knows a company in quantum computing that does *not* use lisp? 2017-10-03T14:01:29Z Josh_2 joined #lisp 2017-10-03T14:03:55Z hexfive joined #lisp 2017-10-03T14:03:57Z yaocl quit (Quit: yaocl) 2017-10-03T14:04:48Z yaocl joined #lisp 2017-10-03T14:06:53Z terpri quit (Ping timeout: 258 seconds) 2017-10-03T14:08:15Z panji joined #lisp 2017-10-03T14:10:31Z terpri joined #lisp 2017-10-03T14:10:50Z epony quit (Quit: QUIT) 2017-10-03T14:11:38Z phoe: I both know and don't know 2017-10-03T14:11:56Z jdz: Shroedingers phoe. 2017-10-03T14:12:17Z smokeink quit (Ping timeout: 248 seconds) 2017-10-03T14:14:27Z flamebeard quit (Quit: Leaving) 2017-10-03T14:15:09Z yaocl quit (Quit: yaocl) 2017-10-03T14:16:02Z wxie quit (Ping timeout: 255 seconds) 2017-10-03T14:16:31Z terpri quit (Ping timeout: 248 seconds) 2017-10-03T14:18:45Z Josh_2: Are there logs for this channel online? 2017-10-03T14:18:49Z pedh joined #lisp 2017-10-03T14:19:54Z terpri joined #lisp 2017-10-03T14:20:14Z dlowe: Yes. Just search for lisp irc freenode 2017-10-03T14:20:28Z babalua quit (Remote host closed the connection) 2017-10-03T14:20:36Z jdz: Or check the topic? 2017-10-03T14:20:47Z phoe: Josh_2: https://ccl.clozure.com/irc-logs/lisp/ 2017-10-03T14:21:35Z edgar-rft: Josh_2, see , , 2017-10-03T14:22:18Z Josh_2: Thanks :D 2017-10-03T14:22:28Z yrk joined #lisp 2017-10-03T14:25:48Z jdz: There's also http://ircbrowse.net/browse/lisp 2017-10-03T14:26:55Z babalua joined #lisp 2017-10-03T14:27:51Z rumbler31 joined #lisp 2017-10-03T14:31:38Z neoncontrails joined #lisp 2017-10-03T14:33:18Z Jesin quit (Quit: Leaving) 2017-10-03T14:37:25Z nika joined #lisp 2017-10-03T14:39:04Z shrdlu68 joined #lisp 2017-10-03T14:41:05Z krasnal quit (Ping timeout: 240 seconds) 2017-10-03T14:50:06Z nika quit (Remote host closed the connection) 2017-10-03T14:54:01Z _cosmonaut_ quit (Ping timeout: 240 seconds) 2017-10-03T14:55:51Z krasnal joined #lisp 2017-10-03T14:56:18Z damke_ joined #lisp 2017-10-03T14:57:41Z damke quit (Ping timeout: 240 seconds) 2017-10-03T15:02:01Z damke_ quit (Ping timeout: 240 seconds) 2017-10-03T15:02:35Z orivej quit (Ping timeout: 240 seconds) 2017-10-03T15:03:49Z orivej joined #lisp 2017-10-03T15:03:58Z damke joined #lisp 2017-10-03T15:07:17Z angavrilov joined #lisp 2017-10-03T15:07:17Z shka quit (Read error: Connection reset by peer) 2017-10-03T15:08:40Z shka joined #lisp 2017-10-03T15:13:15Z Jesin joined #lisp 2017-10-03T15:13:51Z Bike joined #lisp 2017-10-03T15:13:54Z Bike quit (Remote host closed the connection) 2017-10-03T15:15:45Z dec0n quit (Read error: Connection reset by peer) 2017-10-03T15:17:27Z NingaLeaf joined #lisp 2017-10-03T15:18:35Z shifty quit (Ping timeout: 240 seconds) 2017-10-03T15:19:34Z orivej quit (Ping timeout: 264 seconds) 2017-10-03T15:24:50Z pedh quit (Quit: pedh) 2017-10-03T15:25:29Z pedh joined #lisp 2017-10-03T15:28:30Z panji quit (Quit: Leaving) 2017-10-03T15:30:59Z hsu joined #lisp 2017-10-03T15:39:54Z Jesin quit (Quit: Leaving) 2017-10-03T15:41:10Z LiamH joined #lisp 2017-10-03T15:41:14Z varjag quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2017-10-03T15:43:13Z Josh_2: Does the variable defined using :with in Loop change each iteration? 2017-10-03T15:43:24Z shrdlu68: Nope. 2017-10-03T15:43:28Z Josh_2: Thanks 2017-10-03T15:45:24Z milanj joined #lisp 2017-10-03T15:54:08Z rippa joined #lisp 2017-10-03T15:54:43Z orivej joined #lisp 2017-10-03T15:56:05Z dlowe: you want FOR X = FOO if you want it to change 2017-10-03T15:56:16Z dlowe: or FOR X = FOO THEN BAR 2017-10-03T15:57:44Z Mon_Ouie quit (Ping timeout: 255 seconds) 2017-10-03T15:58:08Z didi joined #lisp 2017-10-03T15:58:49Z yrk quit (Read error: Connection reset by peer) 2017-10-03T15:59:26Z didi: What's usually the name of functions that write a datum to disk in a specific format? `write-NAME_OF_FORMAT'? 2017-10-03T16:01:45Z jmercouris joined #lisp 2017-10-03T16:03:24Z cgay: clhs loop 2017-10-03T16:03:25Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/m_loop.htm 2017-10-03T16:04:36Z cgay: Couldn't remember if there was a difference between "loop for" and "loop as". 2017-10-03T16:05:17Z Josh_2: dlowe: I want the value to stay the same 2017-10-03T16:08:37Z mson quit (Quit: Connection closed for inactivity) 2017-10-03T16:09:42Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-10-03T16:11:33Z yrk joined #lisp 2017-10-03T16:17:03Z BitPuffin|osx quit (Ping timeout: 248 seconds) 2017-10-03T16:21:02Z dlowe: cgay: there is not 2017-10-03T16:21:08Z scymtym quit (Ping timeout: 255 seconds) 2017-10-03T16:21:28Z dlowe: it's kind of a semantic difference, where "as" implies that there is a dependency on the "for" value 2017-10-03T16:22:04Z dlowe: didi: I might name it FORMATNAME-write-DATATYPE 2017-10-03T16:22:29Z terpri quit (Ping timeout: 255 seconds) 2017-10-03T16:25:01Z didi: dlowe: Thanks. 2017-10-03T16:26:42Z pedh quit (Ping timeout: 260 seconds) 2017-10-03T16:29:04Z marcux joined #lisp 2017-10-03T16:30:48Z rpg joined #lisp 2017-10-03T16:31:28Z Josh_2: Can I use loop in a macro so that the loop generates multiple function calls with the correct values in place? 2017-10-03T16:31:35Z hhdave quit (Ping timeout: 240 seconds) 2017-10-03T16:31:54Z didi: dlowe: Because I'm using CLOSS, I think I will use FORMATNAME-write and let the dispatch take care of the data type. 2017-10-03T16:32:34Z didi: (spot the extra S) 2017-10-03T16:32:41Z Josh_2: It would sorta look like this http://paste.lisp.org/display/357579 2017-10-03T16:32:54Z Josh_2: I've been trying for ages and can't get anything that remotely works 2017-10-03T16:34:34Z thinkpad quit (Ping timeout: 264 seconds) 2017-10-03T16:35:01Z Josh_2: This is what I have http://paste.lisp.org/display/357579#1 2017-10-03T16:35:38Z dieggsy quit (Ping timeout: 246 seconds) 2017-10-03T16:36:01Z hooman doing lisp-koans 2017-10-03T16:36:09Z scymtym joined #lisp 2017-10-03T16:37:21Z papachan` quit (Ping timeout: 248 seconds) 2017-10-03T16:37:48Z marcux quit (Remote host closed the connection) 2017-10-03T16:42:05Z searcher quit (Ping timeout: 240 seconds) 2017-10-03T16:42:48Z pjb: Is there a web service that would give me pointers to data matching some keyword? 2017-10-03T16:45:22Z dieggsy joined #lisp 2017-10-03T16:47:42Z dieggsy quit (Remote host closed the connection) 2017-10-03T16:48:47Z jmercouris: pjb: what do you mean? 2017-10-03T16:48:52Z jmercouris: like a search engine? 2017-10-03T16:49:21Z dieggsy joined #lisp 2017-10-03T16:55:36Z shka_ joined #lisp 2017-10-03T16:56:09Z ski annotated "asdf" with "perhaps this is closer to working ?" at 2017-10-03T16:56:17Z ski: Josh_2 ^ 2017-10-03T16:58:12Z pjb: jmercouris: I mean if people ask about irc logs here, perhaps there's no search engines on the web. 2017-10-03T16:58:38Z pjb: When you switch to an alternate universe, it's not always obvious. 2017-10-03T16:58:41Z Josh_2: ski: that doesn't work either, expands to "(OR (CHAR= #\# (CHAR QUOTE 0)) (CHAR= #\# (CHAR (";" "#") 0)))" 2017-10-03T16:58:56Z jmercouris: pjb: I'm still not understanding you, I don't see anyone talking about logs 2017-10-03T16:59:05Z pjb: Josh_2: of course, ";" is not the name of a function! 2017-10-03T16:59:34Z pjb: jmercouris: it was more than two hours ago… 2017-10-03T16:59:43Z pjb: I was AFK for that long! 2017-10-03T16:59:43Z jmercouris: pjb: ah well, you see, I didn't check the logs :P 2017-10-03T16:59:47Z Josh_2: Yeh it was me asking about logs when I should have googled it. 2017-10-03T16:59:47Z pjb: :-) 2017-10-03T17:00:08Z pjb: Josh_2: In general, in lisp programs ( = call 2017-10-03T17:00:18Z jmercouris: pjb: except for macros 2017-10-03T17:00:29Z pjb: You can also "call" macros. Except inside macros. 2017-10-03T17:00:33Z jmercouris: like (let ((bind1 val1))) 2017-10-03T17:00:49Z jmercouris: You would agree that the outer paren of a let statement is not a function call, right? 2017-10-03T17:00:52Z pjb: (char (";" "#") 0) means call the function char with as argument: call the function ";" with as argument "#"; and 0. 2017-10-03T17:01:00Z pjb: jmercouris: yes. 2017-10-03T17:01:09Z jmercouris: in this case yes, because char is not a macro afaik 2017-10-03T17:01:10Z damke_ joined #lisp 2017-10-03T17:01:11Z pjb: It's the case that is not in the "in general". 2017-10-03T17:01:39Z jmercouris: I'm just putting a disclaimer becasue that confused me for a long time, I was trying to understand some functions of some macros 2017-10-03T17:01:46Z jmercouris: but they weren't actually functions :D 2017-10-03T17:01:58Z ski: Josh_2 : instead of (contains-comment-character-p "#..." '(";" "#")) perhaps try (contains-comment-character-p "#..." (";" "#")) ? 2017-10-03T17:02:14Z pjb: jmercouris: this is already level 2. level one is to understand that there is no parenthesis. 2017-10-03T17:02:21Z pjb: Josh_2: go to the Oracle! 2017-10-03T17:02:29Z Josh_2: lol 2017-10-03T17:02:53Z Josh_2: *face palm* 2017-10-03T17:03:01Z damke quit (Ping timeout: 240 seconds) 2017-10-03T17:03:05Z shrdlu68: "file-length returns the length of stream, or nil if the length cannot be determined." In what instances can it not be determined, if I opened the stream with :element-type '(unsigned-byte 8)? 2017-10-03T17:03:07Z jmercouris palms face 2017-10-03T17:03:18Z pjb: Josh_2: when you have a or char= char=, you can instead do find ch string 2017-10-03T17:03:33Z ski: Josh_2 : any closer, with that suggestion ? 2017-10-03T17:03:47Z Josh_2: pjb: I made a function version of this macro, just wanted to make a macro version for fun. 2017-10-03T17:03:52Z pjb: (or (char= c #\#) (char= #\;)) == (find c "#;") 2017-10-03T17:04:52Z pjb: Josh_2: in general, if you have a function: (defun f* (…) …) you make the macro simply: (defmacro f (…) `(f* ,…)) 2017-10-03T17:05:03Z Josh_2: ski: Yah, I've had the list wrong this whole time. 2017-10-03T17:05:19Z pjb: Josh_2: better a function than a macro anyways. 2017-10-03T17:05:45Z pjb: We use macros only because functions cannot do everything. 2017-10-03T17:06:05Z hooman: can't tell the difference 2017-10-03T17:06:19Z ski is waiting for Josh_2 to exclaim that they actually wanted a function instead 2017-10-03T17:07:10Z Josh_2: ski: It was a learning exercise for me where I learned I'm a doofus. Thanks for the help anyways. 2017-10-03T17:08:21Z ski: Josh_2 : do you want to be able to pass in a dynamically / run-time computed list as second argument ? or is it always statically / compile-time (or really macro-expand-time) known ? 2017-10-03T17:08:50Z neoncontrails quit (Remote host closed the connection) 2017-10-03T17:08:52Z Josh_2: It will always be known 2017-10-03T17:09:03Z ski: ok. then a macro is possible 2017-10-03T17:09:06Z varjag joined #lisp 2017-10-03T17:09:39Z shrdlu68: Can I change that color of output in slime? I'm not quite comfortable with red. 2017-10-03T17:09:59Z Josh_2: I was always quoting my list like '("#" ";") (like I would a function call) instead of just ("#" ";") 2017-10-03T17:10:15Z pjb: In general in emacs, move on the text and type M-x customize-face RET 2017-10-03T17:10:27Z jmercouris: Josh_2: you can also type in (list "#" ";") 2017-10-03T17:10:31Z jmercouris: if it clarifies the code 2017-10-03T17:10:31Z ski was reverse-engineering that fact, from the sample expansion Josh_2 provided 2017-10-03T17:10:47Z ski: jmercouris : not in this case, it's a static macro argument, not an expression 2017-10-03T17:11:18Z Josh_2: So if I wanted '() instead, I can't use a macro? 2017-10-03T17:11:35Z ski: you could, manually, strip off the wrapping `quote' .. 2017-10-03T17:11:47Z ski: (but what for ?) 2017-10-03T17:12:01Z sebboh left #lisp 2017-10-03T17:12:06Z Josh_2: Well I've got a function version that works fine. 2017-10-03T17:12:12Z Josh_2: Thanks again. 2017-10-03T17:12:26Z ski: if you wanted to compute the list, instead of writing it literally, then you probably can't use a macro 2017-10-03T17:13:06Z Josh_2: Well the list would be generated from shell arguments 2017-10-03T17:13:19Z ski: (the list might be computed at compile-time, hence the caveat) 2017-10-03T17:13:55Z ski: that sounds like it would be computed at run-time, so then you can't use a macro. use the `find' function as pjb suggested ? 2017-10-03T17:15:01Z damke_ quit (Ping timeout: 240 seconds) 2017-10-03T17:15:14Z Josh_2: I made this function http://paste.lisp.org/display/357583 2017-10-03T17:16:25Z pjb: Josh_2: loop has always never and thereis 2017-10-03T17:17:00Z didi likes thereis 2017-10-03T17:18:42Z Josh_2: Changed it to thereis. Thanks pjb. No need for the (every.. call now 2017-10-03T17:21:19Z marcux joined #lisp 2017-10-03T17:23:03Z m00natic quit (Remote host closed the connection) 2017-10-03T17:24:48Z moei joined #lisp 2017-10-03T17:28:40Z Bike joined #lisp 2017-10-03T17:28:41Z marcux quit (Quit: Lost terminal) 2017-10-03T17:37:32Z jmercouris: ski: aha okay I see 2017-10-03T17:39:17Z arbv quit (Quit: ZNC - http://znc.in) 2017-10-03T17:40:11Z mson joined #lisp 2017-10-03T17:40:11Z Josh_2: Is calling (length string) the same as (array-dimension string 0)? 2017-10-03T17:40:42Z hsu quit (Quit: Connection closed for inactivity) 2017-10-03T17:40:47Z frgo joined #lisp 2017-10-03T17:41:48Z Bike: if it's a simple-string, yes. 2017-10-03T17:42:05Z vlatkoB_ joined #lisp 2017-10-03T17:42:09Z safe joined #lisp 2017-10-03T17:42:13Z Josh_2: Thanks 2017-10-03T17:42:43Z jbm joined #lisp 2017-10-03T17:42:57Z arbv joined #lisp 2017-10-03T17:43:03Z pjb: Josh_2: do you know what a simple-string is? (or rather, is not)? 2017-10-03T17:43:17Z Josh_2: I don't know what it isn't 2017-10-03T17:43:38Z pjb: Josh_2: the important case is the string with a fill-pointer (in general, a vector with a fill-vector). 2017-10-03T17:43:55Z pjb: In that case, length and array-dimension 0 will be different. In general, you will want to use length. 2017-10-03T17:44:08Z pjb: Don't expect simple-vector or simple-string: this will break a lot of use cases. 2017-10-03T17:44:52Z Josh_2: Alright, thanks. 2017-10-03T17:45:48Z vlatkoB quit (Ping timeout: 240 seconds) 2017-10-03T17:48:26Z pjb: The other case is displaced arrays or displaced vectors. Displaced arrays imply an indirection, which changes the efficiency of the operations. In absence of fill-pointer (which a displaced vector can also have), a displaced vector length is its array-dimension 0. 2017-10-03T17:48:38Z didi: Hum. I am yet to mutate a string. 2017-10-03T17:48:57Z pjb: But specifying a simple-string, simple-vector or simple-array exclude displaced arrays, and therefore prevents their use in some optimizations. 2017-10-03T17:49:31Z didi: I tried using displaced arrays once. In my case, it performed worse. 2017-10-03T17:49:35Z Josh_2: Well I just realized that all this stuff I've been using Loop for I could have done with mapcar which is what I would prefer. 2017-10-03T17:49:52Z pjb: didi: displaced arrays let you avoid copying the original array (or parts of). 2017-10-03T17:49:53Z dlowe: I only use mapcar if I don't need to use an anonymous function 2017-10-03T17:50:08Z Josh_2: Why? 2017-10-03T17:50:10Z dlowe: otherwise it just makes it pointlessly harder to read 2017-10-03T17:50:14Z Josh_2: Ahh 2017-10-03T17:50:15Z didi: pjb: Indeed. 2017-10-03T17:50:34Z didi: pjb: But it made indexing slower. 2017-10-03T17:50:40Z didi: Again, in my particular use case. 2017-10-03T17:50:45Z dlowe: if I can map with a named function, it's often much more readable than the equivalent iterative construct 2017-10-03T17:51:05Z pjb: didi: Sure. But it's also nice as a specific abstraction. You can use them as segment pointers, and adjust them. 2017-10-03T17:51:41Z dlowe: actually, I take that back. If I'm using positional-lambda, a plambda works quite well 2017-10-03T17:51:50Z dlowe: (mapcar (plambda (+ :1)) '(1 2 3)) 2017-10-03T17:52:17Z didi: pjb: Cool. I've never done that. 2017-10-03T17:52:19Z frgo quit (Remote host closed the connection) 2017-10-03T17:52:39Z pjb: cf. com.informatimago.common-lisp.cesarum.array:nudge-displaced-vector 2017-10-03T17:52:51Z didi: Thanks. 2017-10-03T17:54:15Z Josh_2: I personally find it easier to think of the iterative constructs rather than the mapped counterparts 2017-10-03T17:57:54Z Merv joined #lisp 2017-10-03T17:57:59Z phoe: https://github.com/phoe/ccl-compat/blob/master/ccl-compat.asd#L12 <- how bad is this in an ASD file? 2017-10-03T17:58:49Z Bike: why even have it as a dependency if you're not on ccl 2017-10-03T17:59:40Z phoe: Bike: I want to prevent an accident where someone on CCL loads that system 2017-10-03T17:59:44Z pjb: I would still depend on the package. package.lisp could contain #+ccl to re-export the ccl symbols. 2017-10-03T17:59:45Z phoe: at which point, sure, it should load, but do nothing 2017-10-03T17:59:52Z pjb: Then ccldoc could just use ccl-compat in all cases. 2017-10-03T18:00:11Z pjb: (without any #+) 2017-10-03T18:00:15Z phoe: it's either we put #+ccl in ccl-compat or #+ccl in all clients of that library 2017-10-03T18:00:31Z phoe: and I prefer to put it in ccl-compat to idiot-proof and mistake-proof everyone 2017-10-03T18:01:05Z _death: ugh.. (swank::send-to-emacs `(:write-image ((:type swank-io-package::png :data ,*b64-png-data*)) "\n")) 2017-10-03T18:01:38Z phoe: _death: is this the famous swank image rendering? 2017-10-03T18:01:52Z _death: why doesn't slime-media munge the type so that one doesn't need to intern symbols in swank-io-package 2017-10-03T18:01:52Z ecraven: I've used it, and it's nice :P 2017-10-03T18:03:47Z epony joined #lisp 2017-10-03T18:05:38Z _death: also slime-media.lisp has nothing but a strange comment :/ 2017-10-03T18:06:16Z phoe: _death: perhaps it was put there by the previous person who attempted to use that 2017-10-03T18:06:31Z _death: phoe: no, it was put there by the person who implemented slime-media.. 2017-10-03T18:10:12Z phoe: well 2017-10-03T18:10:15Z phoe: shit. 2017-10-03T18:12:31Z milanj quit (Quit: This computer has gone to sleep) 2017-10-03T18:12:45Z _death: otherwise the b64 idea is cute (in the same way that data uri is cute :/) 2017-10-03T18:13:36Z jbm left #lisp 2017-10-03T18:19:25Z igemnace joined #lisp 2017-10-03T18:20:13Z Josh_2: Do the higher order functions use recursion or iterative constructs like dotimes/do? My guess is iterative. 2017-10-03T18:20:58Z phoe: Josh_2: huh? 2017-10-03T18:20:58Z beach: What "higher order functions"? 2017-10-03T18:21:05Z frgo joined #lisp 2017-10-03T18:21:15Z phoe: like mapcar or...? 2017-10-03T18:21:22Z Josh_2: mapcar 2017-10-03T18:21:23Z beach: Josh_2: The Common Lisp standard does not specify how things are implemented. 2017-10-03T18:21:32Z phoe: depends on the implementation, but I can bet 300 parens that most mapcar implementations are iterative 2017-10-03T18:21:39Z beach: Josh_2: It would be silly for an implementation to use recursion. 2017-10-03T18:21:51Z Josh_2: No tail call optimization or something like that 2017-10-03T18:21:58Z SaganMan quit (Quit: WeeChat 1.6) 2017-10-03T18:22:00Z phoe: Common Lisp standard does not specify TCO. 2017-10-03T18:22:04Z dlowe: I bet that most mapcar implementations are just branches and jumps 2017-10-03T18:22:11Z Josh_2: Historically they would have used recursion? 2017-10-03T18:22:18Z phoe: define "historically" 2017-10-03T18:22:32Z Josh_2: Lisp 1 2017-10-03T18:22:40Z phoe: I don't think Lisp 1 had mapcar at all. 2017-10-03T18:22:56Z Josh_2: Lisp 2 then 2017-10-03T18:23:04Z phoe: there wasn't a Lisp 2 AFAIK 2017-10-03T18:23:05Z hooman: 1.5 ? 2017-10-03T18:23:10Z Josh_2: 1.5 xD 2017-10-03T18:23:11Z logicmoo is now known as dmiles 2017-10-03T18:23:26Z hooman: no currying =( 2017-10-03T18:23:45Z Josh_2: 1 became Scheme and 1.5 is CL right? 2017-10-03T18:23:46Z phoe: feel free to find it yourself, http://libgen.io/book/index.php?md5=CAD76904D24F22D38E7CA012984A92F1 2017-10-03T18:23:49Z phoe: no 2017-10-03T18:23:50Z phoe: very no 2017-10-03T18:23:56Z frgo quit (Remote host closed the connection) 2017-10-03T18:24:02Z beach: Josh_2: I think you are confused. 2017-10-03T18:24:06Z Josh_2: I think I'm also confused 2017-10-03T18:24:13Z Josh_2: That site is blocked for me 2017-10-03T18:24:30Z phoe: http://dreamsongs.com/Files/Hopl2.pdf 2017-10-03T18:24:31Z zachk joined #lisp 2017-10-03T18:24:43Z phoe: Josh_2: look for "Lisp 1.5 programmer's manual" by McCarthy 2017-10-03T18:25:04Z Josh_2: I like the first sentence 2017-10-03T18:26:59Z groovy2shoes quit (Remote host closed the connection) 2017-10-03T18:29:02Z hooman: beach, he was asking for confirmation/clarification. 2017-10-03T18:29:20Z Bock quit (Ping timeout: 248 seconds) 2017-10-03T18:29:25Z Josh_2: That I was 2017-10-03T18:29:32Z Jesin joined #lisp 2017-10-03T18:29:37Z hooman: i do not see the point of that. "what color is the door?" "you obviously dont know the color of the door" .............. 2017-10-03T18:31:09Z Josh_2: Well In the Lisp 1.5 manual Maplist is recursive. 2017-10-03T18:31:19Z dlowe: Josh_2: Scheme was an independent experimental project. 2017-10-03T18:31:30Z pjb: If you implemented it in scheme, you'd use recursion… 2017-10-03T18:31:45Z pjb: If your implementation has TCO and optimizes it well, you may want to use recursion too. 2017-10-03T18:32:25Z hooman: was 2017-10-03T18:33:50Z Josh_2: phoe: There is a Lisp 2 https://stackoverflow.com/questions/4578574/what-is-the-difference-between-lisp-1-and-lisp-2#4579608 2017-10-03T18:37:44Z Josh_2: pjb: Thanks for clarifying. 2017-10-03T18:40:35Z wooden quit (Ping timeout: 240 seconds) 2017-10-03T18:42:28Z phoe: Josh_2: yes, but these are not related to versions 2017-10-03T18:42:37Z phoe: these are related to namespaces. 2017-10-03T18:43:08Z Josh_2: Well that's my fault for not being specific enough. 2017-10-03T18:52:42Z _death: phoe: anyway, slapped something in my fork, better than nothing 2017-10-03T18:52:53Z milanj joined #lisp 2017-10-03T18:53:01Z milanj quit (Client Quit) 2017-10-03T18:58:05Z mnoonan quit (Ping timeout: 240 seconds) 2017-10-03T18:59:06Z wooden joined #lisp 2017-10-03T19:00:23Z TCZ joined #lisp 2017-10-03T19:00:53Z orivej quit (Ping timeout: 246 seconds) 2017-10-03T19:03:57Z shka_ quit (Ping timeout: 246 seconds) 2017-10-03T19:14:26Z LiamH quit (Read error: Connection reset by peer) 2017-10-03T19:14:44Z eschatologist joined #lisp 2017-10-03T19:16:14Z phoe: _death: fork of what exactly? 2017-10-03T19:16:32Z phoe: oh, slime 2017-10-03T19:26:25Z phoe: ... 2017-10-03T19:26:29Z phoe: stassats is pretty amazing 2017-10-03T19:27:03Z phoe: I submitted an improvement request 10 hours ago based on https://markkarpov.com/post/lisp-and-haskell.html - and bam, https://bugs.launchpad.net/sbcl/+bug/1720962/ 2017-10-03T19:27:40Z TCZ quit (Quit: Leaving) 2017-10-03T19:31:46Z milanj joined #lisp 2017-10-03T19:32:03Z Karl_Dscc quit (Remote host closed the connection) 2017-10-03T19:32:10Z milanj quit (Client Quit) 2017-10-03T19:36:47Z milanj joined #lisp 2017-10-03T19:37:11Z milanj quit (Client Quit) 2017-10-03T19:38:09Z schoppenhauer quit (Ping timeout: 248 seconds) 2017-10-03T19:39:02Z bigos joined #lisp 2017-10-03T19:42:14Z schoppenhauer joined #lisp 2017-10-03T19:42:52Z mnoonan joined #lisp 2017-10-03T19:47:03Z jackdaniel: not so easy chrissy 2017-10-03T19:47:15Z jackdaniel: taka analiza niekoniecznie jest trywialna 2017-10-03T19:47:47Z jackdaniel: wyobraz sobie (lamba (x) (catch 'x (dotimes (i 3) (external-fun)))) 2017-10-03T19:48:14Z jmercouris: jackdaniel: tak 2017-10-03T19:48:28Z jackdaniel: oh, it isn't #lisp-pl 2017-10-03T19:48:32Z jackdaniel: hm 2017-10-03T19:48:34Z jmercouris: :D 2017-10-03T19:48:34Z jackdaniel: sorry 2017-10-03T19:48:51Z Jesin quit (Quit: Leaving) 2017-10-03T19:49:12Z jackdaniel: it's apprently late for me, good night o/ 2017-10-03T19:49:33Z jmercouris: it's like 10:00? 2017-10-03T19:49:43Z jackdaniel: and I'm up since 5:30am 2017-10-03T19:49:49Z jmercouris: oh damn, well then, goodnight! 2017-10-03T19:49:59Z mson quit (Quit: Connection closed for inactivity) 2017-10-03T19:52:54Z didi quit (Quit: you can't /fire me, I /quit) 2017-10-03T19:53:31Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2017-10-03T19:56:37Z emacsomancer joined #lisp 2017-10-03T19:57:57Z vlatkoB_ quit (Remote host closed the connection) 2017-10-03T19:58:39Z emaczen`: pjb: Exactly how should I place (declaim (optimize...)) in my generate-application.lisp file? 2017-10-03T20:00:00Z phoe: jackdaniel: no to jak jest catch, no to rzucone może być cokolwiek, więc nie ma szans zawarnować 2017-10-03T20:00:12Z phoe: ale jak jest widoczne, to czemu nie 2017-10-03T20:00:16Z phoe: ...oh 2017-10-03T20:00:26Z phoe: I should go to sleep as well, it seems 2017-10-03T20:01:12Z angavrilov quit (Remote host closed the connection) 2017-10-03T20:01:38Z AxelAlex joined #lisp 2017-10-03T20:04:29Z shifty joined #lisp 2017-10-03T20:04:42Z pjb: emaczen`: you can put it at the beginning of the file. 2017-10-03T20:05:15Z emaczen`: pjb: Ok, and that is all? 2017-10-03T20:05:20Z pjb: Yes. 2017-10-03T20:05:36Z pjb: As long as no library you quickload changes it… 2017-10-03T20:05:44Z emaczen`: pjb: Wow, I wonder where I got the idea of putting it in every file... 2017-10-03T20:06:14Z nydel joined #lisp 2017-10-03T20:06:43Z pjb: If you have a library that contains such a proclamation, you quickload it first, then do your own declaim and then quickload the rest. 2017-10-03T20:07:06Z pjb: There are implementation specific functions to get the current optimization levels to check. 2017-10-03T20:07:23Z dlowe: and then file a bug report :p because that's not something a library should be doing 2017-10-03T20:07:52Z pjb: yes 2017-10-03T20:09:05Z rpg quit (Ping timeout: 248 seconds) 2017-10-03T20:10:16Z malice joined #lisp 2017-10-03T20:11:29Z attila_lendvai joined #lisp 2017-10-03T20:17:05Z AxelAlex quit (Ping timeout: 248 seconds) 2017-10-03T20:18:16Z sellout joined #lisp 2017-10-03T20:21:25Z AxelAlex joined #lisp 2017-10-03T20:26:37Z cgay quit (Remote host closed the connection) 2017-10-03T20:30:31Z cgay joined #lisp 2017-10-03T20:33:06Z papachan` joined #lisp 2017-10-03T20:36:10Z DingoSAL joined #lisp 2017-10-03T20:38:28Z jmercouris: phoe: nice!! that's insane speed 2017-10-03T20:38:35Z AxelAlex quit (Ping timeout: 240 seconds) 2017-10-03T20:38:37Z DingoSAL quit (Client Quit) 2017-10-03T20:38:49Z AxelAlex joined #lisp 2017-10-03T20:40:00Z DingoSaar_ quit (Ping timeout: 248 seconds) 2017-10-03T20:41:06Z rpg joined #lisp 2017-10-03T20:41:30Z groovy2shoes joined #lisp 2017-10-03T20:41:35Z AxelAlex quit (Remote host closed the connection) 2017-10-03T20:41:47Z papachan` is now known as papachan 2017-10-03T20:41:49Z AxelAlex joined #lisp 2017-10-03T20:41:51Z Shinmera: phoe: You were lucky since Stas was already working on things in that vein. 2017-10-03T20:44:12Z phoe: Shinmera: I know - that's actually why I filed that bug. 2017-10-03T20:44:27Z phoe: He's working on type inference for standard higher-order functions. 2017-10-03T20:44:53Z Shinmera: And error reporting improvements in general. 2017-10-03T20:45:48Z LiamH joined #lisp 2017-10-03T20:49:42Z phoe: Yep. 2017-10-03T20:50:55Z jmercouris: Shinmera: how does https://github.com/Shinmera/qtools compare to eql? 2017-10-03T20:51:18Z krasnal quit (Remote host closed the connection) 2017-10-03T20:51:24Z Shinmera: I've never used EQL, so I can't say. 2017-10-03T20:52:38Z jmercouris: Why did you make such a tool if you've never tried the existing ones? 2017-10-03T20:53:03Z Shinmera: I used CommonQt, which is what Qtools is based on. 2017-10-03T20:53:20Z Shinmera: Qtools grew out of the tools I wrote to help with CommonQt. 2017-10-03T20:53:38Z Shinmera: As it explains in the documentation there. 2017-10-03T20:54:14Z jmercouris: But how do you even really use it? 2017-10-03T20:54:17Z jmercouris: are you still using qt4? 2017-10-03T20:54:30Z Shinmera: It has a tutorial on there and everything, what more do you want 2017-10-03T20:54:43Z Shinmera: CommonQt is Qt4, so yes. 2017-10-03T20:54:54Z Jesin joined #lisp 2017-10-03T20:54:58Z jmercouris: I'm not asking for more, I'm just wondering why you are working on it, when it only supports qt4 2017-10-03T20:55:04Z jmercouris: don't take it as an attack, I am just trying to understand 2017-10-03T20:55:24Z Shinmera: I don't need anything from Qt5, and I'll take the version downgrade over having to use ECL. 2017-10-03T20:55:39Z jmercouris: okay, that was basically what I wanted to know 2017-10-03T20:55:45Z jmercouris: can you expand on why you prefer sbcl to ecl? 2017-10-03T20:56:19Z Shinmera: It's what I'm used to and test with. It's nicely fast, and most of everything is either at least tested for it, or specifically tailored to work well with it. 2017-10-03T20:56:45Z Shinmera: I don't need the features ECL offers, so there's no reason for me to use it. 2017-10-03T20:57:31Z jmercouris: ok interesting I see, so it's just like a case of inertia? 2017-10-03T20:57:58Z hexfive quit (Quit: WeeChat 1.9) 2017-10-03T20:58:24Z Shinmera: You won't found deeply reasoned decisions behind any of my projects. Spending time evaluating libraries is about my least favourite thing to ever do, so usually I just pick one after a few minutes of consideration and roll with it, or make my own. 2017-10-03T20:58:29Z Shinmera: *You won't find 2017-10-03T20:59:51Z jmercouris: okay interesting, thank you for sharing your perspective 2017-10-03T21:00:12Z Shinmera: CommonQt was the only available choice for me since I didn't want to pick a thing that was tied to an implementation. That's about it. 2017-10-03T21:00:39Z yrk quit (Read error: Connection reset by peer) 2017-10-03T21:00:57Z Shinmera: I started a few years ago, and back then Qt4 wasn't quite yet as unappealing as it probably is now. 2017-10-03T21:01:44Z Shinmera: I'd like to get Qt5 support at some point, but I lack the expertise to do it myself (and the will to gain that expertise), and Stas doesn't really want to work on it either, so here we are. 2017-10-03T21:02:26Z Shinmera: FWIW Stas has made some attempts to start on a Qt5 rewrite of CommonQt, but I think he never got settled on how to generate the bindings from the C++ source. 2017-10-03T21:09:21Z AxelAlex quit (Ping timeout: 248 seconds) 2017-10-03T21:10:05Z Bike quit (Ping timeout: 240 seconds) 2017-10-03T21:10:16Z phoe: jmercouris: Qt4 is enough for my use case, too - I'm a Qtools user 2017-10-03T21:10:38Z phoe: jmercouris: also, EQL is tied to ECL as far as I know 2017-10-03T21:10:57Z Denommus joined #lisp 2017-10-03T21:15:51Z NingaLeaf quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-10-03T21:16:32Z p_l: I think that surprisingly it might be doable to generate partial bindings using parts of ECL, then just do enough crazy meta or plain SWIG weirdness to get it working 2017-10-03T21:17:18Z pjb quit (Ping timeout: 246 seconds) 2017-10-03T21:17:51Z Shinmera: p_l: Stas investigated a couple of angles-- Clasp being one (it has that kinda thing with the clang ast-matcher tools), and c2ffi which can also do the kind of extractions, probably. 2017-10-03T21:18:13Z Shinmera: He also tried doing a native C++ thingy with clang but gave up on that since it took way too long to get anywhere at all (surprise). 2017-10-03T21:19:04Z Shinmera: I don't remember if he came to any kind of verdict before he moved to other stuff again. 2017-10-03T21:19:06Z p_l: Shinmera: since EQL5 already has to dump Qt symbol tables to generate itself, I was thinking of hijacking that to drive SWIG which can build bindings for classes to C++ 2017-10-03T21:19:45Z jmercouris: phoe: I am an ECL user, so it is no problem for me 2017-10-03T21:20:14Z jmercouris: We're a QT 5.9 at this point, commonQT is just way way too behind, and i wouldn't want to use a system that is one major version behind 2017-10-03T21:20:32Z Shinmera: p_l: I don't think Stas would want to use SWIG. 2017-10-03T21:21:56Z p_l: jmercouris: did you patch EQL to go past Qt 5.4, or did you just rip the non-working parts? 2017-10-03T21:23:36Z p_l: Shinmera: well, tough - I'd take SWIG-bindings over no-bindings 2017-10-03T21:23:59Z Shinmera: p_l: Well, if you're going to go and implement it, surprise me! :) 2017-10-03T21:24:20Z p_l: GCC-generated C++ binaries are just too much of a PITA to interface without crazy extern C wrappers 2017-10-03T21:24:35Z Shinmera: I'm fine where things are now, Qt5 is just a "nice to have" and would actually give me a bunch of work again for a while. 2017-10-03T21:25:16Z Shinmera: I think Stas' idea was to generate the C wrappers himself. 2017-10-03T21:25:17Z p_l: the only sensible, cooperating C++ binaries I had heard of involved compiling to .NET or compiling using IBM XL with a certain special, rarely used mode which applied similar behaviour obj-c to C++ 2017-10-03T21:26:07Z sjl joined #lisp 2017-10-03T21:27:35Z phoe: jmercouris: I am not a ECL user, so it is a problem for me 2017-10-03T21:29:51Z sjl quit (Client Quit) 2017-10-03T21:32:18Z rpg quit (Read error: Connection reset by peer) 2017-10-03T21:32:44Z rpg joined #lisp 2017-10-03T21:34:47Z sjl joined #lisp 2017-10-03T21:43:21Z Bike joined #lisp 2017-10-03T21:44:14Z rumbler31 quit (Ping timeout: 255 seconds) 2017-10-03T21:45:11Z Bicyclidine joined #lisp 2017-10-03T21:45:14Z Bicyclidine quit (Remote host closed the connection) 2017-10-03T21:45:36Z Bicyclidine joined #lisp 2017-10-03T21:46:11Z malice quit (Read error: Connection reset by peer) 2017-10-03T21:47:05Z Gorgias joined #lisp 2017-10-03T21:47:07Z Gorgias quit (Remote host closed the connection) 2017-10-03T21:47:25Z Gorgias joined #lisp 2017-10-03T21:47:45Z Bike quit (Ping timeout: 248 seconds) 2017-10-03T21:48:35Z dieggsy` joined #lisp 2017-10-03T21:49:11Z dieggsy quit (Ping timeout: 255 seconds) 2017-10-03T21:50:05Z Bicyclidine quit (Ping timeout: 255 seconds) 2017-10-03T21:52:46Z varjag quit (Quit: ERC (IRC client for Emacs 25.2.1)) 2017-10-03T22:00:06Z safe quit (Read error: Connection reset by peer) 2017-10-03T22:01:05Z shifty quit (Ping timeout: 248 seconds) 2017-10-03T22:06:02Z neoncontrails joined #lisp 2017-10-03T22:06:21Z mishoo quit (Ping timeout: 240 seconds) 2017-10-03T22:07:55Z gacepa joined #lisp 2017-10-03T22:08:12Z NingaLeaf joined #lisp 2017-10-03T22:12:16Z dieggsy` quit (Quit: ERC (IRC client for Emacs 27.0.50)) 2017-10-03T22:12:27Z NingaLeaf quit (Client Quit) 2017-10-03T22:18:34Z Bike joined #lisp 2017-10-03T22:19:25Z jmercouris: p_l: 99% of plugins work 2017-10-03T22:19:35Z jmercouris: there's only some strange issues on my system with some header files 2017-10-03T22:20:25Z p_l: jmercouris: when I tried in august or so there was an issue with ecl expecting modules that changed or were removed altogether 2017-10-03T22:20:29Z jmercouris: basically everthing works except for quick I guess 2017-10-03T22:20:40Z jmercouris: that's very strange 2017-10-03T22:20:58Z jmercouris: how did your eql5.pro file look? 2017-10-03T22:21:46Z Gorgias quit (Ping timeout: 258 seconds) 2017-10-03T22:21:58Z jmercouris: also what OS are you on? how did you install QT? 2017-10-03T22:22:58Z hexfive joined #lisp 2017-10-03T22:25:14Z igemnace quit (Quit: WeeChat 1.9.1) 2017-10-03T22:25:42Z LiamH quit (Quit: Leaving.) 2017-10-03T22:30:17Z terpri joined #lisp 2017-10-03T22:36:04Z pillton joined #lisp 2017-10-03T22:39:19Z epony quit (Quit: QUIT) 2017-10-03T22:53:14Z wigust joined #lisp 2017-10-03T22:58:57Z stylewarning: Is this a bug in flexistreams? http://paste.lisp.org/display/357599 2017-10-03T23:00:01Z _ark_ joined #lisp 2017-10-03T23:00:47Z milanj joined #lisp 2017-10-03T23:05:07Z rumbler31 joined #lisp 2017-10-03T23:06:17Z cromachina joined #lisp 2017-10-03T23:07:58Z thinkpad joined #lisp 2017-10-03T23:09:34Z rumbler31 quit (Ping timeout: 240 seconds) 2017-10-03T23:09:38Z Denommus quit (Quit: going home) 2017-10-03T23:12:48Z AxelAlex joined #lisp 2017-10-03T23:23:19Z _death: stylewarning: I don't get this warning when loading flexi-streams-1.0.15 2017-10-03T23:25:42Z wxie joined #lisp 2017-10-03T23:29:04Z yaocl joined #lisp 2017-10-03T23:29:16Z Bicyclidine joined #lisp 2017-10-03T23:29:59Z Bike quit (Ping timeout: 255 seconds) 2017-10-03T23:40:42Z sellout quit (Ping timeout: 260 seconds) 2017-10-03T23:42:19Z epony joined #lisp 2017-10-03T23:45:41Z Oladon joined #lisp 2017-10-03T23:46:48Z neoncontrails quit (Remote host closed the connection) 2017-10-03T23:48:32Z vtomole joined #lisp 2017-10-03T23:50:16Z Josh_2: I keep running into the error "the octet sequence #(226) cannot be decoded" I'm guessing I can use some sort of error handling to ignore that? 2017-10-03T23:50:32Z yaocl quit (Quit: yaocl) 2017-10-03T23:51:09Z quazimodo joined #lisp 2017-10-03T23:52:20Z Bicyclidine: that sounds like you're trying to decode a non-ASCII file as if it was an ASCII file 2017-10-03T23:52:25Z Bicyclidine: which i would recommend not doing. 2017-10-03T23:52:42Z Josh_2: But it is an Ascii file, it's a .lisp file 2017-10-03T23:52:47Z Josh_2: written using Emacs 2017-10-03T23:53:22Z Josh_2: All but one other file isn't causing any issues 2017-10-03T23:53:24Z Bicyclidine: being a lisp file doesn't mean it's ascii 2017-10-03T23:53:40Z Bicyclidine: someone could have snuck in some accents 2017-10-03T23:54:18Z stylewarning: _death: you need to enable function type derivation 2017-10-03T23:54:34Z Josh_2: So I should open it as utf instead? 2017-10-03T23:54:39Z stylewarning: _death: (setq sb-ext:*derive-function-types* t) 2017-10-03T23:55:01Z Bicyclidine: if you know the encoding, you should just that encoding 2017-10-03T23:55:05Z Bicyclidine: i would guess utf8, sure 2017-10-03T23:55:30Z Josh_2: Well I'm processing lots of .lisp files, not sure why these are causing issue. 2017-10-03T23:55:36Z Josh_2: I'll try utf8 2017-10-03T23:56:43Z yaocl joined #lisp 2017-10-03T23:57:12Z Josh_2: UTF-8 worked perfectly. I'm not sure where the unicode characters are in these files but whatever 2017-10-03T23:58:41Z Josh_2: I've written roughly 1809 lines of CL 2017-10-03T23:58:48Z stylewarning: lots of CL 2017-10-03T23:59:07Z Josh_2: Well that's in total 2017-10-04T00:02:21Z stylewarning: Josh_2: what does your Lisp code do 2017-10-04T00:02:59Z Jonsky joined #lisp 2017-10-04T00:03:32Z White_Flame: just look at your file in a simple text editor or hex editor. See what it looks like, especially if that character is multi-byte 2017-10-04T00:03:54Z Josh_2: 1994 lines in lots of various CL things stylewarning not one project 2017-10-04T00:03:56Z White_Flame: if it's multi-byte it's utf-8, else try latin-1 or something 2017-10-04T00:07:16Z marcux joined #lisp 2017-10-04T00:14:08Z rumbler31 joined #lisp 2017-10-04T00:14:18Z bigos quit (Remote host closed the connection) 2017-10-04T00:16:21Z pierpa joined #lisp 2017-10-04T00:17:43Z gacepa quit (Quit: Connection closed for inactivity) 2017-10-04T00:21:17Z emaczen` quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2017-10-04T00:30:01Z hexfive quit (Quit: WeeChat 1.9) 2017-10-04T00:34:00Z zachk quit (Quit: Leaving) 2017-10-04T00:37:28Z margeas quit (Ping timeout: 258 seconds) 2017-10-04T00:48:33Z Josh_2 quit (Quit: ERC (IRC client for Emacs 25.2.1)) 2017-10-04T00:49:03Z LAG_ quit (Quit: Connection closed for inactivity) 2017-10-04T00:51:42Z Josh_2 joined #lisp 2017-10-04T00:53:59Z vtomole quit (Ping timeout: 260 seconds) 2017-10-04T01:02:30Z Jonsky quit (Quit: time to fly a kite) 2017-10-04T01:03:33Z yaocl quit (Quit: yaocl) 2017-10-04T01:16:09Z _death: stylewarning: yes, certainly looks like a bug.. https://github.com/edicl/flexi-streams/blob/master/decode.lisp#L216 the body is the char-decoder block, which may return with NIL.. and flexi-streams uses safety 0 :( 2017-10-04T01:17:05Z attila_lendvai quit (Quit: Leaving.) 2017-10-04T01:17:45Z _death: the next step is to use safety 3 and get a test case working 2017-10-04T01:30:57Z marcux quit (Ping timeout: 260 seconds) 2017-10-04T01:30:59Z rpg quit (Quit: Textual IRC Client: www.textualapp.com) 2017-10-04T01:32:05Z smokeink joined #lisp 2017-10-04T01:52:55Z Josh_2: huh ecl doesn't seem to be saving the .c file when I use -c 2017-10-04T01:54:44Z terpri quit (Quit: Leaving) 2017-10-04T01:59:29Z jmercouris quit (Ping timeout: 248 seconds) 2017-10-04T02:00:29Z vtomole joined #lisp 2017-10-04T02:07:07Z marvin2 quit (Ping timeout: 255 seconds) 2017-10-04T02:09:02Z MrBismuth joined #lisp 2017-10-04T02:11:46Z MrBusiness quit (Ping timeout: 258 seconds) 2017-10-04T02:15:07Z Bike joined #lisp 2017-10-04T02:16:21Z sjl quit (Quit: WeeChat 1.3) 2017-10-04T02:18:17Z Bicyclidine quit (Ping timeout: 258 seconds) 2017-10-04T02:18:30Z Josh_2 quit (Remote host closed the connection) 2017-10-04T02:21:49Z mr_yogurt joined #lisp 2017-10-04T02:22:08Z mr_yogurt: Are there any differences (to the user) between special forms and macros? 2017-10-04T02:25:26Z Bike: macro forms can be expanded 2017-10-04T02:26:49Z karswell_ is now known as karswell 2017-10-04T02:27:22Z aeth: http://l1sp.org/search?q=macroexpand 2017-10-04T02:28:49Z papachan quit (Ping timeout: 248 seconds) 2017-10-04T02:30:22Z mr_yogurt: anything else? 2017-10-04T02:31:03Z Bike: that's, like, kind of important. 2017-10-04T02:31:16Z Bike: but i suppose everything else flows from that. 2017-10-04T02:32:22Z mr_yogurt: Bike: i'm not sure i understand the implications then. what does that change? 2017-10-04T02:33:33Z dddddd quit (Remote host closed the connection) 2017-10-04T02:35:35Z Bike: well... ok, so what kind of "user" is in play here? 2017-10-04T02:36:22Z mr_yogurt: Bike: well, obviously not me. you? (or a user like you) 2017-10-04T02:40:49Z neoncontrails joined #lisp 2017-10-04T02:42:22Z Bike: i do weird things. 2017-10-04T02:42:40Z Bike: well, basically a macro form has a meaning in terms of other things. 2017-10-04T02:42:50Z vtomole: The way I understand, Most of Lisp is built basically from the special forms. More specifically, they define eval (correct me if i'm wrong) 2017-10-04T02:43:03Z vtomole: *used to define eval 2017-10-04T02:43:06Z Bike: loop is a macro; maybe (loop (do-stuff)) macroexpands into (tagbody #:loop (do-stuff) (go #:loop)) 2017-10-04T02:43:22Z Bike: tagbody and go are special operators, and do-stuff is a function. no macros. 2017-10-04T02:43:52Z Bike: then the evaluation semantics can be defined in terms of just a few special operators. 2017-10-04T02:46:10Z vtomole: Could loop also be defined by macroexpanding to recursive procedures? 2017-10-04T02:46:39Z Bike: sure. 2017-10-04T02:47:10Z Bike: (loop (do-stuff)) => (labels ((#:body () (do-stuff) (#:body))) (#:body)) 2017-10-04T03:03:29Z rumbler31 quit (Remote host closed the connection) 2017-10-04T03:08:45Z rumbler31 joined #lisp 2017-10-04T03:11:35Z Bike quit (Ping timeout: 240 seconds) 2017-10-04T03:18:03Z nika joined #lisp 2017-10-04T03:19:27Z quazimodo quit (Ping timeout: 248 seconds) 2017-10-04T03:19:49Z yaocl joined #lisp 2017-10-04T03:22:08Z pillton: vtomole: You should also be aware that an implementation is allowed to implement a special operator using a macro function e.g. http://paste.lisp.org/display/357601 2017-10-04T03:25:42Z milanj quit (Quit: This computer has gone to sleep) 2017-10-04T03:26:20Z vtomole: haha so elegant! What is the MINIMUM number of special forms you can get away with? 5? Quote, Progn, Setq, If, and Lambda? 2017-10-04T03:29:40Z pillton: lambda and funcall 2017-10-04T03:30:03Z pillton: You might need quote. 2017-10-04T03:31:38Z vtomole: Yeah I was wondering if it would be possible to create quote out of lambda and or funcall.. 2017-10-04T03:32:25Z vtomole: clhs funcall 2017-10-04T03:32:26Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_funcal.htm 2017-10-04T03:32:37Z vtomole: clhs apply 2017-10-04T03:32:38Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_apply.htm 2017-10-04T03:33:09Z pierpa quit (Quit: Page closed) 2017-10-04T03:33:35Z jmercouris joined #lisp 2017-10-04T03:38:34Z kjak quit (Ping timeout: 240 seconds) 2017-10-04T03:39:05Z kjak joined #lisp 2017-10-04T03:39:47Z safe joined #lisp 2017-10-04T03:43:46Z nowhereman quit (Remote host closed the connection) 2017-10-04T03:44:12Z nowhereman joined #lisp 2017-10-04T03:46:14Z stylewarning: I have a tricky piece of Lisp code that breaks SBCL but is ok in CCL. Who is ready for some CONFORMANCE CHECKING??? 2017-10-04T03:49:08Z schoppenhauer quit (Ping timeout: 258 seconds) 2017-10-04T03:49:21Z stylewarning: The failing code is https://bitbucket.org/tarballs_are_good/lisp-random/src/d5205c097b73bb1e914f7b82d8f0e51456461461/jump.lisp?at=master&fileviewer=file-view-default#jump.lisp-225 2017-10-04T03:50:57Z schoppenhauer joined #lisp 2017-10-04T03:53:09Z stylewarning: Here is the macroexpanded function so you don't have to pick apart everything yourself: http://paste.lisp.org/display/357602 2017-10-04T03:53:27Z stylewarning: I'm wondering if this code is valid 2017-10-04T03:55:00Z pillton: (test-small-hop 1) breaks for me . 2017-10-04T03:56:00Z stylewarning: pillton: it works for me on the first call (where it is constructing the vector for STATIC-STORE) 2017-10-04T03:56:12Z stylewarning: but the second call (when it uses the *same* lambda in STATIC-STORE) fails 2017-10-04T03:56:27Z stylewarning: (in SBCL 1.4.0) 2017-10-04T03:57:34Z pillton: It is something to do with the load-time-value. 2017-10-04T03:58:29Z stylewarning: What about it? It successfully stores into the LTV vector, and retrieves from the LTV vector. 2017-10-04T03:58:53Z pillton: If you replace it with identity, it works on SBCL 1.3.21. 2017-10-04T03:59:47Z stylewarning: yes 2017-10-04T04:01:37Z beach: Good morning everyone! 2017-10-04T04:02:17Z stylewarning: beach: check out my riddle above (the paste.lisp link) 2017-10-04T04:04:10Z quazimodo joined #lisp 2017-10-04T04:04:44Z mr_yogurt quit (Ping timeout: 260 seconds) 2017-10-04T04:06:57Z rumbler31 quit (Remote host closed the connection) 2017-10-04T04:08:11Z beach: It is pretty long. Where does it fail? 2017-10-04T04:08:39Z _ark_ quit (Quit: ERC (IRC client for Emacs 25.3.1)) 2017-10-04T04:09:39Z yaocl quit (Quit: yaocl) 2017-10-04T04:09:40Z stylewarning: when you call it twice 2017-10-04T04:09:56Z stylewarning: (fail 0) (fail 0) 2017-10-04T04:11:08Z stylewarning: I'm guessing whatever the reason is described here: http://clhs.lisp.se/Body/05_b.htm 2017-10-04T04:12:28Z beach: Well, I haven't even had my morning coffee yet, so I am largely incapable of understanding the code this early. 2017-10-04T04:13:26Z beach: When you said (fail 0), did you mean (hop 0)? 2017-10-04T04:13:48Z beach: Oh, the second link. 2017-10-04T04:13:50Z beach: Sorry. 2017-10-04T04:16:24Z GGMethos quit (Ping timeout: 252 seconds) 2017-10-04T04:16:32Z Ober quit (Ping timeout: 248 seconds) 2017-10-04T04:16:43Z beach: Can you explain what it is that you are trying to accomplish? 2017-10-04T04:17:16Z stylewarning: I was trying to accomplish a jump table, which I try every few years 2017-10-04T04:17:31Z stylewarning: (and fail every few years :) 2017-10-04T04:18:03Z beach: I see. 2017-10-04T04:18:46Z beach: A brief inspection suggests that your suspicion is correct, i.e. that the point of exit has been abandoned before you attempt to use it later. 2017-10-04T04:19:41Z beach: But I don't understand the code in detail yet. 2017-10-04T04:20:01Z GGMethos joined #lisp 2017-10-04T04:24:01Z cpt_nemo quit (Ping timeout: 258 seconds) 2017-10-04T04:24:10Z cpt_nemo joined #lisp 2017-10-04T04:24:49Z aoh quit (Ping timeout: 255 seconds) 2017-10-04T04:25:01Z stylewarning: Does a TAGBODY more-or-less generate a unique ID which the GO's also attach themselves to? 2017-10-04T04:25:21Z stylewarning: And that ID changes every time the TAGBODY is entered? 2017-10-04T04:28:26Z akkad joined #lisp 2017-10-04T04:29:03Z al-damiri quit (Quit: Connection closed for inactivity) 2017-10-04T04:29:31Z stylewarning: Maybe that's not what a real implementation does, but it seems to match what's going on. The stashed-away GO's in the lambdas match an old tagbody "id" which gets refreshed everytime we re-enter 2017-10-04T04:31:06Z aoh joined #lisp 2017-10-04T04:31:08Z beach: Is it possible that the same vector is re-used several times? 2017-10-04T04:31:48Z beach: If so, the test for NULL fails and the elements are not altered, so they contain old closures. 2017-10-04T04:31:49Z stylewarning: It is being re-used, yes 2017-10-04T04:31:56Z stylewarning: yes, they are old closures 2017-10-04T04:32:08Z beach: Isn't that the explanation then? 2017-10-04T04:32:30Z stylewarning: Probably yes, but I don't understand why a Lisp implementation couldn't (safely) support this 2017-10-04T04:33:31Z beach: It could, but it probably wouldn't be very efficient. I bet things would have to be moved from being stack allocated to being heap allocated. 2017-10-04T04:33:54Z beach: That is typically why the Common Lisp HyperSpec gives this freedom to the implementation. 2017-10-04T04:34:50Z beach: It would require full Scheme-like continuations. 2017-10-04T04:34:58Z stylewarning: Cant you always statically determine which TAGBODY a GO is associated with? 2017-10-04T04:35:30Z beach: Yes, you can. 2017-10-04T04:37:06Z stylewarning: So, why can't a lambda with a GO form capture, say, the address of the TAGBODY, and allow it to only be invoked when within that same TAGBODY, being essentially a jump? 2017-10-04T04:38:14Z stylewarning: I totally understand why this wouldn't work *outside* of lexical extent of the TAGBODY, and why you'd need something like Scheme continuations. 2017-10-04T04:38:50Z beach: I'll examine this thing when I am more awake than now and tell you. :) 2017-10-04T04:39:53Z beach: I don't think it is related to the GOs, but to the RETURN-FROMs. 2017-10-04T04:41:29Z vtomole quit (Ping timeout: 260 seconds) 2017-10-04T04:49:17Z jmercouris quit (Remote host closed the connection) 2017-10-04T04:58:14Z LAG_ joined #lisp 2017-10-04T05:09:33Z shka_ joined #lisp 2017-10-04T05:09:37Z beach: ... and once I figure out how to explain it, it will become an excellent chapter in the book I am working on, entitled "Common Lisp for language implementers". 2017-10-04T05:12:06Z pjb joined #lisp 2017-10-04T05:12:18Z yaocl joined #lisp 2017-10-04T05:15:51Z nika quit (Remote host closed the connection) 2017-10-04T05:19:19Z damke_ joined #lisp 2017-10-04T05:27:23Z akkad quit (Remote host closed the connection) 2017-10-04T05:28:53Z akkad joined #lisp 2017-10-04T05:29:00Z nekobasu4 joined #lisp 2017-10-04T05:29:53Z nekobasu4 left #lisp 2017-10-04T05:30:30Z wheelsucker quit (Quit: Client Quit) 2017-10-04T05:31:29Z safe quit (Read error: Connection reset by peer) 2017-10-04T05:36:48Z shrdlu68 quit (Ping timeout: 240 seconds) 2017-10-04T05:39:28Z yaocl quit (Ping timeout: 240 seconds) 2017-10-04T05:41:24Z vlatkoB joined #lisp 2017-10-04T05:43:35Z Karl_Dscc joined #lisp 2017-10-04T05:45:58Z nika joined #lisp 2017-10-04T05:51:23Z yaocl joined #lisp 2017-10-04T05:54:54Z Bock joined #lisp 2017-10-04T05:55:39Z Bock quit (Max SendQ exceeded) 2017-10-04T05:56:06Z Bock joined #lisp 2017-10-04T05:56:57Z Bock quit (Max SendQ exceeded) 2017-10-04T05:57:24Z Bock joined #lisp 2017-10-04T05:58:49Z mishoo joined #lisp 2017-10-04T05:59:03Z Bock quit (Max SendQ exceeded) 2017-10-04T05:59:31Z Bock joined #lisp 2017-10-04T06:01:00Z nocaberi joined #lisp 2017-10-04T06:01:46Z phoe: If I write a function, (SETF FOO), and then do (setf (foo) newval), where does the standard specify that the return value of this function must be NEWVAL itself? 2017-10-04T06:01:56Z phoe: I can't find it right now but I'm sure it is in thereo somewhere. 2017-10-04T06:04:16Z scymtym quit (Ping timeout: 248 seconds) 2017-10-04T06:04:27Z Bock quit (Ping timeout: 258 seconds) 2017-10-04T06:04:54Z nocaberi is now known as Bock 2017-10-04T06:05:26Z dec0n joined #lisp 2017-10-04T06:05:26Z pillton: clhs 5.1.1.2 2017-10-04T06:05:26Z specbot: Setf Expansions: http://www.lispworks.com/reference/HyperSpec/Body/05_aab.htm 2017-10-04T06:05:31Z pillton: Storing form 2017-10-04T06:06:57Z pillton: clhs tagbody 2017-10-04T06:06:57Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/s_tagbod.htm 2017-10-04T06:07:18Z pillton: stylewarning: Is this the bit then: "A tag established by tagbody has lexical scope and has dynamic extent." 2017-10-04T06:09:53Z phoe: pillton: thanks. 2017-10-04T06:11:59Z pillton: stylewarning beach: I think it is if you look at the definition of dynamic extent and extent. 2017-10-04T06:19:38Z Karl_Dscc quit (Remote host closed the connection) 2017-10-04T06:28:45Z flamebeard joined #lisp 2017-10-04T06:30:04Z mishoo quit (Ping timeout: 240 seconds) 2017-10-04T06:31:07Z varjag joined #lisp 2017-10-04T06:33:04Z yaocl quit (Ping timeout: 255 seconds) 2017-10-04T06:33:33Z yaocl joined #lisp 2017-10-04T06:43:14Z clintm quit (Remote host closed the connection) 2017-10-04T06:45:00Z yaocl quit (Ping timeout: 246 seconds) 2017-10-04T06:45:15Z beach: pillton: Yes, though, I may have to come up with some more sophisticated explanation. For example, if I can show that, if what stylewarning wants, then some cleanup form established by unwind-protect could be executed twice. 2017-10-04T06:48:47Z yaocl joined #lisp 2017-10-04T06:54:49Z yaocl quit (Quit: yaocl) 2017-10-04T06:55:00Z mishoo joined #lisp 2017-10-04T06:59:24Z orivej joined #lisp 2017-10-04T07:01:45Z yaocl joined #lisp 2017-10-04T07:02:55Z hajovonta joined #lisp 2017-10-04T07:03:45Z damke joined #lisp 2017-10-04T07:06:01Z damke_ quit (Ping timeout: 240 seconds) 2017-10-04T07:07:34Z LAG_ quit (Quit: Connection closed for inactivity) 2017-10-04T07:07:35Z pjb: phoe: notice that "the correct value for setf to return" is said to be the "storing form" in 5.1.1.2, (also in clhs setf), NOT the newval! 2017-10-04T07:10:00Z shka_: pjb: what does it mean in layman terms? 2017-10-04T07:10:38Z shka_: oh, nevermind 2017-10-04T07:10:41Z shka_: i got to go 2017-10-04T07:10:45Z shka_: see you later 2017-10-04T07:10:58Z hajovonta: hi! 2017-10-04T07:14:16Z pjb: shka: it means you have to return what you actually store, not the argument. 2017-10-04T07:15:11Z pjb: (setf (* 2 x) 4) would store 2 in x… (setf (foo) "foo") may store "FOO" or in any case, a copy of "foo". 2017-10-04T07:15:41Z damke quit (Ping timeout: 240 seconds) 2017-10-04T07:16:12Z milanj joined #lisp 2017-10-04T07:16:48Z shka_ quit (Ping timeout: 240 seconds) 2017-10-04T07:18:00Z damke joined #lisp 2017-10-04T07:18:02Z carenz_ joined #lisp 2017-10-04T07:21:54Z pedh joined #lisp 2017-10-04T07:22:35Z damke_ joined #lisp 2017-10-04T07:24:41Z damke quit (Ping timeout: 240 seconds) 2017-10-04T07:27:45Z scymtym joined #lisp 2017-10-04T07:28:08Z loke: pjb: what would (setf (+ x y) 10) store? :-) 2017-10-04T07:28:34Z pjb: You have to define it. 2017-10-04T07:29:16Z loke: Actually, algebra systems can handle such things. You can say x+y=10 in Maxima, for exmaple... I think? 2017-10-04T07:30:27Z pjb: we may assume that both x and y are pre-defined, so it would be harder to give a good definition. But I guess with stuff like Cells, you could put something in x and y that would ensure the equation x+y=10. 2017-10-04T07:31:16Z nirved joined #lisp 2017-10-04T07:31:52Z knicklux quit (Quit: Leaving) 2017-10-04T07:32:03Z White_Flame: (setf (/ x y) pi) 2017-10-04T07:32:38Z White_Flame: (yeah, I know, x=pi, y=1) 2017-10-04T07:32:49Z phoe: pjb: tell me more, what does it mean, to return the storing form? 2017-10-04T07:32:54Z phoe: clhs 5.1.1.2 2017-10-04T07:32:55Z specbot: Setf Expansions: http://www.lispworks.com/reference/HyperSpec/Body/05_aab.htm 2017-10-04T07:33:10Z White_Flame: the values in the "store variables" 2017-10-04T07:33:29Z White_Flame: which, as I read it, are the temporary places where the setf values are held for parallel bindng 2017-10-04T07:33:33Z phoe: and store variables are, " 2017-10-04T07:33:36Z phoe: "a list of symbols naming temporary store variables which are to hold the new values that will be assigned to the place. " 2017-10-04T07:33:38Z White_Flame: erm, parallel setting 2017-10-04T07:33:41Z pjb: phoe: the storing form computes the values to be stored by the writer. This is what should be returned, not the newval. 2017-10-04T07:33:49Z pjb: clhs define-setf-expansio 2017-10-04T07:33:49Z specbot: Couldn't find anything for define-setf-expansio. 2017-10-04T07:33:50Z pjb: clhs define-setf-expansion 2017-10-04T07:33:51Z specbot: Couldn't find anything for define-setf-expansion. 2017-10-04T07:33:55Z pjb: clhs define-setf-expander 2017-10-04T07:33:55Z pjb quit (Killed (Sigyn (Spam is off topic on freenode.))) 2017-10-04T07:33:55Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/m_defi_3.htm 2017-10-04T07:35:09Z phoe: minion: memo for pjb: understood. I understand it as, SETF can return multiple values in such case, if there is more than one variable. 2017-10-04T07:35:10Z minion: Remembered. I'll tell pjb when he/she/it next speaks. 2017-10-04T07:44:00Z Bock quit (Ping timeout: 248 seconds) 2017-10-04T07:46:59Z pedh quit (Quit: pedh) 2017-10-04T07:47:35Z smokeink quit (Ping timeout: 240 seconds) 2017-10-04T07:50:31Z yaocl quit (Quit: yaocl) 2017-10-04T07:52:51Z arbv quit (Quit: ZNC - http://znc.in) 2017-10-04T07:53:00Z yaocl joined #lisp 2017-10-04T07:57:15Z arbv joined #lisp 2017-10-04T07:59:13Z jameser quit (Quit: Textual IRC Client: www.textualapp.com) 2017-10-04T08:00:30Z smokeink joined #lisp 2017-10-04T08:04:00Z Bock joined #lisp 2017-10-04T08:05:52Z angavrilov joined #lisp 2017-10-04T08:07:53Z aindilis quit (Ping timeout: 258 seconds) 2017-10-04T08:09:04Z aindilis` joined #lisp 2017-10-04T08:10:14Z nowhereman quit (Read error: Connection reset by peer) 2017-10-04T08:10:43Z nowhereman joined #lisp 2017-10-04T08:12:45Z raynold quit (Quit: Connection closed for inactivity) 2017-10-04T08:14:24Z ski: fyi 2017-10-04T08:14:32Z ski: <@netoper:#freenode> channel's opped user where sigyn is present can request /msg Sigyn unkline $nick when the user was recently klined by Sigyn from their channel 2017-10-04T08:14:39Z ski: netoper, how many times can we do this? 2017-10-04T08:14:44Z ski: <@netoper:#freenode> someone: you have around 15 minutes to do that 2017-10-04T08:14:57Z ski: (issue already sorted out, in this case) 2017-10-04T08:18:22Z phoe: ski: huh? what is the context? 2017-10-04T08:18:32Z phoe: another kline storm? 2017-10-04T08:19:17Z ski: pjb above ? 2017-10-04T08:21:32Z phoe: oh, wait, I have joins/parts/quits turned off - I did not notice 2017-10-04T08:21:55Z ChanServ has set mode +o phoe 2017-10-04T08:21:58Z ski: (otherwise, iiuc, the protocol is to request via email that one's kline should be removed, which will typically take at least several hours i imagine) 2017-10-04T08:22:22Z ChanServ has set mode -o phoe 2017-10-04T08:22:32Z phoe: I'm too late then. 2017-10-04T08:22:43Z ski: (in any case, i already talked to an op in #freenode about it, and they said they lifted it) 2017-10-04T08:23:26Z phoe: ski: can you send me the bit of log where pjb was klined? 2017-10-04T08:23:59Z ski: i'm just mentioning this, for possible future use. i've noticed a handful of such misfirings in the past (including having experienced it myself) 2017-10-04T08:24:02Z ski: sure 2017-10-04T08:30:40Z jameser joined #lisp 2017-10-04T08:32:11Z pchrist quit (Quit: leaving) 2017-10-04T08:32:56Z pchrist joined #lisp 2017-10-04T08:34:13Z damke joined #lisp 2017-10-04T08:36:21Z damke_ quit (Ping timeout: 240 seconds) 2017-10-04T08:37:57Z pjb joined #lisp 2017-10-04T08:39:05Z pjb: phoe: hi! ;-) 2017-10-04T08:39:06Z minion: pjb, memo from phoe: understood. I understand it as, SETF can return multiple values in such case, if there is more than one variable. 2017-10-04T08:40:42Z pjb: phoe: definitely, if the define-setf-expander lists x and y (places in general) in the variable list. cf. get-setf-expansion too 2017-10-04T08:41:23Z phoe: pjb: welcome back! 2017-10-04T08:42:08Z damke_ joined #lisp 2017-10-04T08:42:12Z pjb: The only defect of this system, is that it cannot handle a variable number of multiple values, since define-setf-expansion cannot determine the number of values returned by the getter (it's used by setf itself). 2017-10-04T08:42:56Z pjb: I guess you could instead use multiple-value-list… 2017-10-04T08:44:01Z damke quit (Ping timeout: 240 seconds) 2017-10-04T08:46:00Z ski: pjb : wb ! :) 2017-10-04T08:46:40Z beach: Some people here should really work on their mode-specific abbrevs. 2017-10-04T08:47:01Z edgar-rft: pjb, I misread: values returned from the gutter 2017-10-04T08:48:43Z pjb: Some values should better be quite grateful, for we extracted them from the gutter. 2017-10-04T08:49:52Z m00natic joined #lisp 2017-10-04T08:53:30Z epony quit (Ping timeout: 258 seconds) 2017-10-04T08:57:58Z epony joined #lisp 2017-10-04T08:58:05Z shka quit (Read error: Connection reset by peer) 2017-10-04T08:59:50Z _cosmonaut_ joined #lisp 2017-10-04T09:02:16Z shka joined #lisp 2017-10-04T09:04:14Z neoncontrails quit (Remote host closed the connection) 2017-10-04T09:08:26Z damke joined #lisp 2017-10-04T09:11:01Z damke_ quit (Ping timeout: 240 seconds) 2017-10-04T09:22:30Z yaocl quit (Quit: yaocl) 2017-10-04T09:27:08Z smokeink quit (Ping timeout: 246 seconds) 2017-10-04T09:39:13Z froggey quit (Ping timeout: 248 seconds) 2017-10-04T09:40:09Z hhdave joined #lisp 2017-10-04T09:41:04Z froggey joined #lisp 2017-10-04T09:54:18Z arbv quit (Read error: Connection reset by peer) 2017-10-04T09:54:31Z arbv joined #lisp 2017-10-04T10:06:46Z attila_lendvai joined #lisp 2017-10-04T10:06:46Z attila_lendvai quit (Changing host) 2017-10-04T10:06:46Z attila_lendvai joined #lisp 2017-10-04T10:07:18Z Zhivago quit (Changing host) 2017-10-04T10:07:19Z Zhivago joined #lisp 2017-10-04T10:09:10Z margeas joined #lisp 2017-10-04T10:14:19Z Bike joined #lisp 2017-10-04T10:17:48Z carenz_ quit (Ping timeout: 246 seconds) 2017-10-04T10:23:28Z DeadTrickster_ quit (Remote host closed the connection) 2017-10-04T10:26:35Z DeadTrickster joined #lisp 2017-10-04T10:34:11Z SAL9000 quit (Quit: ZNC - http://znc.in) 2017-10-04T10:35:07Z SAL9000 joined #lisp 2017-10-04T10:37:20Z yaocl joined #lisp 2017-10-04T10:41:35Z yaocl quit (Ping timeout: 240 seconds) 2017-10-04T10:47:10Z phoe: Is there some portable utility function to reverse-search a hash-table in O(n)? 2017-10-04T10:47:35Z yaocl joined #lisp 2017-10-04T10:47:40Z phoe: I want to find any value that satisfies a predicate. 2017-10-04T10:48:07Z loke: phoe: reverse-search a hashtable? Hashtables are not ordered. 2017-10-04T10:48:43Z loke: You mean match by value? 2017-10-04T10:49:14Z loke: (look for v being each hash-value in the-hash when (matches v) return v) 2017-10-04T10:49:30Z loke: Something like that. 2017-10-04T10:52:06Z phoe: loke: yes, thank you. 2017-10-04T10:52:20Z phoe: I know they're not ordered - I want any value that satisfies a predicate. 2017-10-04T10:58:48Z marvin2 joined #lisp 2017-10-04T11:01:53Z damke_ joined #lisp 2017-10-04T11:02:40Z knobo joined #lisp 2017-10-04T11:03:21Z damke quit (Ping timeout: 240 seconds) 2017-10-04T11:05:51Z phoe: Is there any relationship between *PRINT-READABLY* and MAKE-LOAD-FORM? 2017-10-04T11:06:49Z Shinmera: No. 2017-10-04T11:06:59Z Shinmera: One is about printing, the other about FASLs. 2017-10-04T11:07:19Z Shinmera: There may be a relationship if you think the load form is appropriate for readable printing. 2017-10-04T11:07:33Z Shinmera: But, not everything that should be FASL dumpable should be readable. 2017-10-04T11:07:51Z Shinmera: And not everything that might be useful to be readable might need to be dumpable. 2017-10-04T11:07:54Z damke joined #lisp 2017-10-04T11:08:25Z phoe: My issue is: I want one object to print unreadably if *print-readably* is false, but to print something like (MAKE-INSTANCE 'FOO ...) when *print-readably* is true. 2017-10-04T11:08:44Z Shinmera: Then just do that logic in print-object 2017-10-04T11:08:45Z phoe: Can/should I achieve that by writing a PRINT-OBJECT method that checks the value of that variable? 2017-10-04T11:08:55Z phoe: Oh, so this is the way. I see. 2017-10-04T11:09:41Z damke_ quit (Ping timeout: 240 seconds) 2017-10-04T11:14:05Z wigust quit (Ping timeout: 240 seconds) 2017-10-04T11:14:07Z Bicyclidine joined #lisp 2017-10-04T11:15:03Z wigust joined #lisp 2017-10-04T11:15:45Z Bike quit (Ping timeout: 248 seconds) 2017-10-04T11:16:04Z marvin2 quit (Ping timeout: 240 seconds) 2017-10-04T11:17:39Z pjb: phoe: you need to prefix it with #. #.(make-instance …) 2017-10-04T11:18:04Z phoe: pjb: yes, correct. Thanks. 2017-10-04T11:18:14Z pjb: phoe: now consider that the various *print- variables and readtable may be changed. To ensure to be able to read it again in more cases, I would advise to print the symbols fully qualified and escaped. 2017-10-04T11:18:26Z pjb: #.(|CL|:|MAKE-INSTANCE| …) 2017-10-04T11:18:59Z pjb: Similarly, integers should be printed with decimal dot, or with an explicit radix #x #r etc. 2017-10-04T11:19:01Z |3b|: and to somehow enable *read-eval*? 2017-10-04T11:19:01Z quazimodo quit (Ping timeout: 240 seconds) 2017-10-04T11:19:04Z phoe: pjb: I know the state of all *print-foo* variables and the package that these are going to be read from. 2017-10-04T11:19:19Z phoe: And all *read-foo* variables. 2017-10-04T11:19:30Z pjb: you want to reduce dependencies. 2017-10-04T11:19:56Z pjb: and |3b| is correct, so a different solution would be to go ahead printing your data in a specific syntax, and to provide a reader macro. 2017-10-04T11:20:02Z pjb: for an example, see gsharp. 2017-10-04T11:20:15Z Shinmera: That just forces the user to a specific readtable 2017-10-04T11:20:15Z |3b|: or just expect the user to READ it in a sane state :) 2017-10-04T11:20:17Z Shinmera: Same problem 2017-10-04T11:20:43Z |3b|: particularly if you are the user 2017-10-04T11:20:45Z pjb: Well, I deem all the settings of the *print- variables sane: it's the user choices. 2017-10-04T11:20:56Z |3b|: sane for reading the data i mean 2017-10-04T11:21:19Z |3b|: with-standard-io-syntax or whatever if needed 2017-10-04T11:21:30Z pjb: perhaps, perhaps not. 2017-10-04T11:21:51Z |3b|: if the user is completely uncooperative, they might not even have a readtable that can parse sexps 2017-10-04T11:22:26Z pjb: If you consider "sane for reading the data", perhaps you want to be able to do something like: (read-from-string (prin1-to-string object)) so using with-standard-io-syntax in there may break it. And not considering the *print- and *read- variable will break too. 2017-10-04T11:22:26Z phoe: pjb: well, I'm the user here. 2017-10-04T11:22:40Z phoe: the files are being written and read only by my private functions. 2017-10-04T11:22:43Z Shinmera: Clearly it should write out to a rootkit that ensures your data can always be read back. 2017-10-04T11:22:51Z |3b|: so rather than trying to cover lots of random settings and then describing all the edge cases to the user, just pick something simple for both, like standard-io-syntax 2017-10-04T11:23:04Z pjb: phoe: so be careful. Perhaps what you want is just a serialization and deserialization function, and you want to take your distances from the lisp reader and printer. 2017-10-04T11:23:35Z pjb: I consider lisp print/read more as a debugging tool than something you can rely for production. 2017-10-04T11:23:46Z phoe: pjb: Lisp reader and writer is a good enough (de)serializer for me in this case. 2017-10-04T11:24:09Z Xof quit (Ping timeout: 258 seconds) 2017-10-04T11:24:17Z hooman: =) 2017-10-04T11:25:46Z hooman: oh, we can produce lisp with just print and read 2017-10-04T11:26:16Z Shinmera: Maybe your printer should infest the intel management engine so even if the user erases everything you can still eventually read back your data. 2017-10-04T11:28:04Z |3b|: just send the data to a cloud-hosted web service for READing :) 2017-10-04T11:29:14Z Shinmera: but what if the user disconnects the network 2017-10-04T11:30:02Z |3b|: and to avoid having to serialize/deserialize it to the web service, we can just send the whole image and restart using the modified image it returns 2017-10-04T11:30:17Z phoe: there should be a quantum chip in there to make sure there are no disconnections 2017-10-04T11:30:27Z pjb: Hook a 3D printer to your computer, and let the program 3D print a mechanical pidgeon to transport the packets with IPoAC. 2017-10-04T11:30:55Z pjb: Even updated for IPv6: https://tools.ietf.org/html/rfc6214 2017-10-04T11:36:54Z nika quit (Remote host closed the connection) 2017-10-04T11:36:57Z marvin2 joined #lisp 2017-10-04T11:44:58Z papachan joined #lisp 2017-10-04T11:46:27Z pedh joined #lisp 2017-10-04T11:50:17Z Josh_2 joined #lisp 2017-10-04T11:50:34Z wigust quit (Remote host closed the connection) 2017-10-04T11:55:10Z smokeink joined #lisp 2017-10-04T12:02:54Z scymtym_ joined #lisp 2017-10-04T12:07:20Z scymtym quit (Ping timeout: 255 seconds) 2017-10-04T12:10:11Z mrpat joined #lisp 2017-10-04T12:11:46Z mrpat: why does run-program insist on simple-string arguments and how can I coerce simple-base-strings to simple strings? 2017-10-04T12:16:25Z |3b|: (coerce simple-base-string simple-string) ? 2017-10-04T12:17:01Z |3b|: though simple-base-string is a subtype of simple-string 2017-10-04T12:18:34Z papachan quit (Ping timeout: 240 seconds) 2017-10-04T12:18:52Z |3b|: also, which run-program? 2017-10-04T12:19:22Z mrpat: I'm using CCL and when I type-of the coerce statement it gives simple-base-string 2017-10-04T12:20:34Z pjb: mrpat: exactly! Never insist on simple-string, simple-vector, simple-array: it's not the job of library API to tell the user how to store his data! 2017-10-04T12:20:47Z |3b|: yeah, i think it doesn't do anything if it is already a subtype 2017-10-04T12:20:53Z pjb: if the library needs a simple array to optimize out access, it can always make a copy itself! 2017-10-04T12:20:53Z |3b|: what is the error you get? 2017-10-04T12:21:27Z xenon- joined #lisp 2017-10-04T12:21:30Z pjb: Coerce is a function you must quote the type descriptor: (coerce simple-base-string 'simple-string) 2017-10-04T12:22:15Z mrpat: yes -still bounces into simple-base-string 2017-10-04T12:22:15Z xenon-: hi. is there a map/remove-if equivalent that takes any sequence, and returns transformed sequence of the same type? in other words string in, string out. list in, list out 2017-10-04T12:22:17Z |3b|: yeah, missed a character there 2017-10-04T12:22:50Z |3b|: xenon-: doesn't remove-if already do that? 2017-10-04T12:23:05Z |3b|: "If sequence is a vector, the result is a vector that has the same actual array element type as sequence. If sequence is a list, the result is a list. " 2017-10-04T12:23:22Z |3b|: and element type is what makes a particular vector a string 2017-10-04T12:23:34Z mrpat: I think it's a process-run-function problem, but it should not be this difficult to create simple-string 2017-10-04T12:23:36Z xenon-: |3b| you seem to be right 2017-10-04T12:23:46Z pjb: copy-seq should make a simple-vector 2017-10-04T12:23:50Z xenon-: |3b| is there a map-likey function that does the same? 2017-10-04T12:23:53Z xenon-: like* 2017-10-04T12:25:04Z |3b| doesn't think so, but you can try (map (type-of a) fun a ...) 2017-10-04T12:25:17Z |3b|: actually, not sure that would work for lists 2017-10-04T12:25:25Z Bicyclidine: or map-into copy-seq 2017-10-04T12:26:47Z |3b|: ah, cons and null are subtypes of list, so should be OK 2017-10-04T12:28:54Z |3b|: mrpat: that is the "Program args must all be simple strings:" error? 2017-10-04T12:29:14Z mrpat: yes 2017-10-04T12:29:51Z jackdaniel: coerce is one way to do that 2017-10-04T12:30:11Z jackdaniel: (mapcar (lambda (s) (coerce 'base-string s)) args) 2017-10-04T12:30:53Z |3b|: simple-base-string should already be a simple-string, try running type-of on all the arguments and see if any are unexpected types 2017-10-04T12:32:39Z |3b|: or just coerce them all to 'simple-string before calling run-program if they are coming from code you don't control 2017-10-04T12:32:59Z |3b|: (or if controlling them elsewhere is too much effort) 2017-10-04T12:33:26Z Bicyclidine quit (Ping timeout: 255 seconds) 2017-10-04T12:35:02Z mrpat: the first suggestion is what led me to ask, I will work on the second. Thanks for the help, 3b and jd 2017-10-04T12:42:09Z phoe: mrpat: (subtypep 'simple-base-string 'simple-string) ;=> T 2017-10-04T12:42:21Z phoe: your simple-base-string is already a simple-string 2017-10-04T12:42:52Z phoe: you can't tell an egg to be more of an egg than it already is 2017-10-04T12:55:51Z knicklux joined #lisp 2017-10-04T12:55:54Z pillton quit (Ping timeout: 240 seconds) 2017-10-04T12:58:23Z Achylles joined #lisp 2017-10-04T12:58:48Z epony quit (Ping timeout: 246 seconds) 2017-10-04T12:59:05Z cgay_ joined #lisp 2017-10-04T12:59:36Z SaganMan joined #lisp 2017-10-04T12:59:42Z terpri joined #lisp 2017-10-04T13:00:19Z milanj quit (Quit: This computer has gone to sleep) 2017-10-04T13:01:08Z mishoo quit (Ping timeout: 258 seconds) 2017-10-04T13:01:11Z damke_ joined #lisp 2017-10-04T13:01:35Z emacsomancer quit (Read error: Connection reset by peer) 2017-10-04T13:02:11Z Bike joined #lisp 2017-10-04T13:02:41Z damke quit (Ping timeout: 240 seconds) 2017-10-04T13:09:41Z mson joined #lisp 2017-10-04T13:12:24Z dddddd joined #lisp 2017-10-04T13:14:47Z LiamH joined #lisp 2017-10-04T13:18:07Z wxie quit (Remote host closed the connection) 2017-10-04T13:28:59Z Shinmera: Some eggs are more egg-like than others. 2017-10-04T13:29:57Z phoe: All eggs are EQL, but some are more EQL than others? 2017-10-04T13:31:11Z damke joined #lisp 2017-10-04T13:33:01Z damke_ quit (Ping timeout: 240 seconds) 2017-10-04T13:33:35Z orivej quit (Ping timeout: 240 seconds) 2017-10-04T13:34:56Z milanj joined #lisp 2017-10-04T13:35:27Z Shinmera: I'm sure someone made a language somewhere wherein truth is linear rather than boolean. 2017-10-04T13:35:49Z orivej joined #lisp 2017-10-04T13:36:31Z yaocl quit (Quit: yaocl) 2017-10-04T13:37:12Z dlowe: Sussman was working on it, last I heard 2017-10-04T13:37:33Z dlowe: He wanted to make programming have tolerances like mechanical engineering 2017-10-04T13:38:21Z _cosmonaut_ quit (Ping timeout: 246 seconds) 2017-10-04T13:42:00Z hajovonta: cool idea 2017-10-04T13:42:45Z hajovonta: maybe facts could have probability ratios and confidence intervals and then we could compute with them 2017-10-04T13:42:49Z damke_ joined #lisp 2017-10-04T13:42:54Z Shinmera: I'm also reminded of the language that had a non-linear concept of execution time. 2017-10-04T13:42:57Z phoe: and suddenly we have analog computing again! 2017-10-04T13:43:48Z hajovonta: (= x 10) ;; with probability=0.1 2017-10-04T13:44:36Z phoe: (= pi 3) ;; for large enough values of 3 2017-10-04T13:45:01Z damke quit (Ping timeout: 240 seconds) 2017-10-04T13:45:14Z Bike: https://pbs.twimg.com/media/DJD5-saXkAE9b0_.jpg analog never left anyway, baby 2017-10-04T13:45:33Z quazimodo joined #lisp 2017-10-04T13:45:43Z hajovonta: or something like 'x is between 4.5 and 6.7 with 95% probability' 2017-10-04T13:46:19Z phoe: hajovonta: take a look at screamer 2017-10-04T13:48:34Z scymtym_: screamer is more like prolog with constraints. but i think there is this "church" language that treats program execution as a markov chain monte carlo simulation and thereby approximates the probability distribution over possible program executions 2017-10-04T13:48:40Z epony joined #lisp 2017-10-04T13:52:38Z orivej quit (Ping timeout: 255 seconds) 2017-10-04T13:53:09Z terpri quit (Remote host closed the connection) 2017-10-04T13:55:41Z dieggsy joined #lisp 2017-10-04T13:55:55Z terpri joined #lisp 2017-10-04T13:56:15Z Shinmera: Nice 2017-10-04T13:56:17Z yeticry quit (Read error: Connection reset by peer) 2017-10-04T13:56:35Z yeticry joined #lisp 2017-10-04T13:57:08Z damke joined #lisp 2017-10-04T13:59:41Z damke_ quit (Ping timeout: 240 seconds) 2017-10-04T14:00:34Z xenon- quit (Quit: http://www.okay.uz/ (Ping timeout)) 2017-10-04T14:08:23Z phoe: I just got news that Franz is looking for a Lisp programmer. (No details yet, but I've asked them, and I'll share them as soon as I know anything.) 2017-10-04T14:09:01Z scymtym__ joined #lisp 2017-10-04T14:10:04Z cromachina quit (Read error: Connection reset by peer) 2017-10-04T14:10:36Z _cosmonaut_ joined #lisp 2017-10-04T14:12:47Z Achylles quit (Ping timeout: 248 seconds) 2017-10-04T14:13:00Z scymtym_ quit (Ping timeout: 246 seconds) 2017-10-04T14:14:24Z hajovonta: Allegro CL was the first CL that I came into contact with. It's an awesome product. 2017-10-04T14:15:22Z Achylles joined #lisp 2017-10-04T14:15:24Z hajovonta: In fact I learned CL with Allegro. I did the first 100 projecteuler problems. Then I ran into the limited heap size constraint, and had to learn Emacs and switched to SBCL. 2017-10-04T14:20:01Z damke quit (Ping timeout: 240 seconds) 2017-10-04T14:20:39Z rumbler31 joined #lisp 2017-10-04T14:22:26Z damke joined #lisp 2017-10-04T14:29:39Z hexfive joined #lisp 2017-10-04T14:31:07Z mishoo joined #lisp 2017-10-04T14:33:51Z saki joined #lisp 2017-10-04T14:39:57Z malice joined #lisp 2017-10-04T14:41:38Z malice: Hi all! 2017-10-04T14:41:55Z beach: Hello malice. 2017-10-04T14:41:57Z malice: Xach: is there a list of projects' downloads per month, other than the top 100? 2017-10-04T14:42:05Z malice: (from the Quicklisp) 2017-10-04T14:42:19Z jackdaniel:  2017-10-04T14:42:56Z malice: jackdaniel: is this emoji? It seems I don't have that font 2017-10-04T14:43:27Z Denommus joined #lisp 2017-10-04T14:44:56Z phoe: malice: AFAIK there is not. Maybe Xach will share more than the top 100 if you ask him nicely. 2017-10-04T14:44:58Z jackdaniel: no, I have accidently pressed enter 2017-10-04T14:45:06Z varjag quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2017-10-04T14:45:11Z jackdaniel: (apparently there was a space in the buffer as well) 2017-10-04T14:45:41Z Xach: malice: i can prepare a list 2017-10-04T14:46:02Z malice: Xach I am just curious. If that is not a problem, I would be glad if you could share that with me. 2017-10-04T14:46:10Z Jonsky joined #lisp 2017-10-04T14:46:26Z malice: Should I provide you with an email, or something else? 2017-10-04T14:46:50Z damke_ joined #lisp 2017-10-04T14:49:21Z damke quit (Ping timeout: 240 seconds) 2017-10-04T14:49:50Z dieggsy quit (Ping timeout: 246 seconds) 2017-10-04T14:49:54Z Xach: malice: https://www.quicklisp.org/tmp/dls.html 2017-10-04T14:52:06Z malice: Thank you very much. 2017-10-04T14:53:36Z tokenrove quit (Ping timeout: 246 seconds) 2017-10-04T14:54:23Z phoe: Xach: there should be more frequent stats like that 2017-10-04T14:54:42Z phoe: I often wondered about e.g. download stats of my projects, none of which are in top 100. 2017-10-04T14:55:18Z mrpat quit (Quit: Konversation terminated!) 2017-10-04T14:56:07Z malice: That was my motivation too 2017-10-04T14:56:21Z shka: somebody want's to check out documentation for my project? 2017-10-04T14:56:22Z shka: https://sirherrbatka.github.io/cl-data-structures/main.html#4313452350706669631 2017-10-04T14:56:24Z shka: :-) 2017-10-04T14:56:25Z malice: phoe: guess you have to try harder to get to top 100 then! 2017-10-04T14:56:26Z malice: :) 2017-10-04T14:56:30Z phoe: malice: ;_; 2017-10-04T14:56:52Z al-damiri joined #lisp 2017-10-04T14:58:01Z oleo quit (Quit: Leaving) 2017-10-04T14:58:04Z dec0n quit (Read error: Connection reset by peer) 2017-10-04T14:58:48Z tokenrove joined #lisp 2017-10-04T14:59:45Z hajovonta quit (Quit: hajovonta) 2017-10-04T15:03:06Z sz0 joined #lisp 2017-10-04T15:05:32Z XachX: phoe: I think so too 2017-10-04T15:06:31Z rippa joined #lisp 2017-10-04T15:07:21Z shrdlu68 joined #lisp 2017-10-04T15:07:35Z phoe: XachX: then we are of similar minds. this makes me very content. 2017-10-04T15:09:55Z papachan joined #lisp 2017-10-04T15:11:26Z malice: Is there some pattern for CL for creating so called "abstract classes", i.e. classes which can't have any instance? 2017-10-04T15:11:32Z malice: (used for inheritance) 2017-10-04T15:11:33Z phoe: malice: yes, protocol classes. 2017-10-04T15:11:37Z phoe: let me google a bit 2017-10-04T15:12:05Z terpri quit (Remote host closed the connection) 2017-10-04T15:12:26Z phoe: https://github.com/robert-strandh/McCLIM/blob/3dc3876dd1bc7e9a802c49968426ea691a5df5cb/Core/clim-basic/protocol-classes.lisp#L24 2017-10-04T15:12:47Z phoe: malice: warning, GNU LGPL. 2017-10-04T15:14:15Z malice: Thanks. 2017-10-04T15:14:17Z phoe: I really wish this single macro was licensed differently. 2017-10-04T15:14:27Z malice: I was thinking of similar "hack" for initialize-instance 2017-10-04T15:14:29Z dlowe: write your own clean room implementation :) 2017-10-04T15:14:43Z malice: But I thought that maybe there's another canonical way 2017-10-04T15:14:45Z malice: Thanks for help! 2017-10-04T15:15:38Z phoe: dlowe: I might, perhaps. 2017-10-04T15:15:42Z Bike: there's no specific provision in clos for enforcing that a class shouldn't be instantiated, if that's what you mean. 2017-10-04T15:19:33Z dlowe: phoe: http://paste.lisp.org/display/357643 2017-10-04T15:19:58Z dlowe: licensed as WTFPL :p 2017-10-04T15:20:22Z dlowe: also untested :D 2017-10-04T15:22:12Z smokeink quit (Ping timeout: 260 seconds) 2017-10-04T15:23:09Z phoe: dlowe: I figure it's nicer to ask the original author first. 2017-10-04T15:24:23Z dlowe: phoe: hm? I never looked at the code. I'm the original author of that paste. 2017-10-04T15:25:46Z beach: Bike: That macro checks and errors if the class is instantiated. 2017-10-04T15:26:05Z phoe: dlowe: I mean the original macro from the McCLIM code. 2017-10-04T15:28:40Z phoe: Mail sent, we'll see if I get a response. 2017-10-04T15:28:54Z dlowe: phoe: I think you're being overly thoughtful about a triviality. 2017-10-04T15:29:41Z phoe: dlowe: I am fully aware of this. 2017-10-04T15:34:20Z quazimodo quit (Ping timeout: 255 seconds) 2017-10-04T15:35:10Z Achylles quit (Ping timeout: 264 seconds) 2017-10-04T15:35:53Z shka: well, you can signal error in initialize-instance 2017-10-04T15:36:09Z beach: phoe: Tell moore33 hello from me. :) 2017-10-04T15:37:29Z shka: beach: good evening 2017-10-04T15:37:35Z beach: Hey shka. 2017-10-04T15:38:46Z phoe: beach: will do if I get a response. :) 2017-10-04T15:39:43Z beach: If you don't within a few days, let me know. 2017-10-04T15:39:49Z beach: ... and I'll remind him. 2017-10-04T15:43:07Z edgar-rft quit (Quit: edgar-rft) 2017-10-04T15:43:10Z Jesin quit (Quit: Leaving) 2017-10-04T15:46:30Z yrk joined #lisp 2017-10-04T15:47:01Z Achylles joined #lisp 2017-10-04T15:49:48Z Jesin joined #lisp 2017-10-04T15:51:58Z neoncontrails joined #lisp 2017-10-04T15:52:06Z knobo quit (Ping timeout: 258 seconds) 2017-10-04T15:53:53Z phoe: beach: T 2017-10-04T15:59:23Z terpri joined #lisp 2017-10-04T16:01:39Z malice: Is there some existing macro that adds CONTINUE as one of the restarts? 2017-10-04T16:01:49Z malice: I think there is one, but I can't remember the name 2017-10-04T16:01:52Z phoe: malice: CONTINUE what? 2017-10-04T16:02:07Z pedh quit (Quit: pedh) 2017-10-04T16:02:12Z _cosmonaut_ quit (Ping timeout: 246 seconds) 2017-10-04T16:02:16Z beach: clhs continue 2017-10-04T16:02:16Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/a_contin.htm 2017-10-04T16:02:21Z phoe: every CONTINUE restart needs to do something when invoked. 2017-10-04T16:03:10Z phoe: as in, every CONTINUE restart needs to have some logic that is run when that restart is invoked. 2017-10-04T16:03:58Z malice: I was looking for CERROR. Thanks. 2017-10-04T16:04:01Z phoe: and that logic depends on what you want to do in the context: ignore an error and continue loading a system, continue running something despite stumbling upon an error... 2017-10-04T16:04:05Z nika joined #lisp 2017-10-04T16:04:25Z malice: Yes, by continue I meant ignoring the error. Looks like cerror does just that. 2017-10-04T16:04:28Z phoe: Oh, that. Right, it allows you to continue executing your code that is past the CERROR call. 2017-10-04T16:04:29Z orivej joined #lisp 2017-10-04T16:04:56Z phoe: Google's Lisp style guidelines have a huge rule saying "never use CERROR", but oh well, it does have its uses. 2017-10-04T16:05:45Z malice: Why would you not use it? 2017-10-04T16:08:38Z phoe: ...wait, I am wrong. 2017-10-04T16:08:48Z phoe: I read it somewhere, and it's not Google's style guide. 2017-10-04T16:09:26Z phoe: Disregard me then. 2017-10-04T16:10:01Z malice: I think that's perfectly valid form to use. 2017-10-04T16:14:57Z hooman: lines of guidance for lisp from google ? 2017-10-04T16:15:10Z phoe: hooman: yes, google "lisp style guide". 2017-10-04T16:15:19Z beach: I think Fare wrote them when he worked for Google. 2017-10-04T16:15:47Z hooman: ok 2017-10-04T16:16:19Z flamebeard quit (Quit: Leaving) 2017-10-04T16:16:48Z arbv quit (Ping timeout: 240 seconds) 2017-10-04T16:17:12Z hooman: oh https://github.com/bbatsov/emacs-lisp-style-guide must be something else 2017-10-04T16:17:27Z phoe: hooman: that's emacs lisp 2017-10-04T16:19:21Z marcux joined #lisp 2017-10-04T16:20:17Z Karl_Dscc joined #lisp 2017-10-04T16:21:10Z Harag joined #lisp 2017-10-04T16:24:29Z arbv joined #lisp 2017-10-04T16:24:35Z Harag: is anybody seriously(for commercial) using clack? Is it worth it? I have been using hunchentoot for 10 years and never had any performance issues... 2017-10-04T16:24:52Z phoe: Harag: clack uses hunchentoot as a default backend 2017-10-04T16:25:21Z Harag: phoe: yeas saw that was just curious to try woo 2017-10-04T16:26:43Z Harag: phoe: I have my own web framework was wondering if I should seperate it from hunchentoot 2017-10-04T16:27:06Z phoe: Harag: I see. I don't complain about hunchentoot myself. 2017-10-04T16:27:43Z arbv_ joined #lisp 2017-10-04T16:28:28Z Harag: phoe: I was just trawling the web and their is a lot of "mouthing" off about clack and a whole lot of frameworks (not one of which i really liked) so was wondering if I am missing some wow factor 2017-10-04T16:28:48Z arbv quit (Ping timeout: 240 seconds) 2017-10-04T16:28:48Z arbv_ is now known as arbv 2017-10-04T16:28:49Z phoe: Harag: I don't know about "wow factor". 2017-10-04T16:29:17Z m00natic quit (Remote host closed the connection) 2017-10-04T16:29:19Z malice: I've tried lucerne and I liked it. 2017-10-04T16:29:50Z malice: It's much simpler than clack. Probably misses some functionality, but writing missing things is trivial due to the simplicity. Imho that's a nice thing. 2017-10-04T16:32:30Z Shinmera: Isn't lucerne built on clack 2017-10-04T16:32:33Z Harag: malice: yeah the ...stuff like this .. @route app "/"... just is not lispy to me I spent the first 10 years of my life learning new syntax , I have been very happy just dealing with () for the past 10 ;) 2017-10-04T16:33:21Z emaczen joined #lisp 2017-10-04T16:33:31Z Shinmera: Harag: What do you mean by "mouthing off"? 2017-10-04T16:34:39Z thinkpad quit (Ping timeout: 258 seconds) 2017-10-04T16:34:56Z lnostdal quit (Quit: lnostdal) 2017-10-04T16:35:05Z Harag: Shinmera: that state of lisp article ... stop using hunchentoot use clack... I say back it up with some decent docs 2017-10-04T16:35:19Z malice: Shinmera: I'm not sure, I thought it wasn't. 2017-10-04T16:35:22Z Shinmera: Ah. Well. A lot of people disagree with a lot of what that article says. 2017-10-04T16:35:30Z Shinmera: malice: I'm quite sure. It's right there in the .asd 2017-10-04T16:35:38Z malice: Shinmera: Then it does :) 2017-10-04T16:36:00Z Shinmera: malice: Anyway, clack is intended to be used to build a framework, not really to be used directly, for what that's worth. 2017-10-04T16:36:01Z orivej quit (Ping timeout: 240 seconds) 2017-10-04T16:36:24Z malice: Harag: You don't have to use the @ syntax, although I can't see why that would be a bad thing. 2017-10-04T16:38:45Z malice: Shinmera: (possible vague question incoming) what's the (main) difference between Clack and Radiance? 2017-10-04T16:39:17Z Harag: malice: cant see why it is a good thing either... its just personal preference... I also dont like regex expressions because I think it takes to much brain power to diciper 6 weeks after you wrote it ... hey its purely preference ;) 2017-10-04T16:39:21Z Shinmera: Radiance is a web application environment, and Clack is a http server abstraction, is what I would say. 2017-10-04T16:39:24Z JuanDaugherty joined #lisp 2017-10-04T16:39:30Z malice: I see. 2017-10-04T16:39:37Z malice: Why didn't you use clack though? 2017-10-04T16:39:47Z malice: You could have, right? 2017-10-04T16:39:50Z Shinmera: Because I do the http server abstraction better, in my opinion. 2017-10-04T16:39:59Z malice: Fair enough :) 2017-10-04T16:40:15Z Shinmera: Radiance is more fundamental in how it abstracts things. Using clack for just the server component would not have meshed well. 2017-10-04T16:42:24Z Shinmera: Though you probably could write an implementation for the server interface that just uses clack. 2017-10-04T16:42:51Z Shinmera: Actually I'm certain you could. 2017-10-04T16:43:00Z raynold joined #lisp 2017-10-04T16:43:13Z hhdave quit (Ping timeout: 248 seconds) 2017-10-04T16:46:20Z Harag: Shinmera: I need to dig into how radiance does modules... 2017-10-04T16:47:55Z Shinmera: Harag: do you mean how it implements what it considers "modules", or how it conceptually does the division into components? 2017-10-04T16:48:09Z Shinmera: "module" is a bit of a loaded term, unfortunately. 2017-10-04T16:50:39Z marcux quit (Ping timeout: 248 seconds) 2017-10-04T16:51:43Z Harag: how it implements what it consider modules 2017-10-04T16:51:55Z phoe: Shinmera: überloaded term, you say 2017-10-04T16:52:19Z Shinmera: Harag: That's done through the modularize library. http://shinmera.github.io/modularize/ 2017-10-04T16:52:31Z Harag: would plugin be a better term? 2017-10-04T16:53:10Z Shinmera: Not for my case 2017-10-04T16:53:45Z Shinmera: Plugin sounds more like something that extends the core functionality of the system, rather than just being a component of some form. 2017-10-04T16:54:38Z orivej joined #lisp 2017-10-04T16:54:44Z shka_ joined #lisp 2017-10-04T16:55:51Z Harag: ok... i need to do plugins... I have everything and the synq in my webframework licenses,modules,users menu's database intergration but I want to split modules into plugins ... plugin for crm system, plugin that does hr, plugin that does procurement etc. 2017-10-04T16:56:50Z random-nick joined #lisp 2017-10-04T16:59:06Z Harag: I currently have a couple of business systems that use the framework but I need to get them to play nice together.... 2017-10-04T17:00:41Z damke_ quit (Ping timeout: 240 seconds) 2017-10-04T17:07:16Z nika quit (Remote host closed the connection) 2017-10-04T17:12:16Z sz0 quit (Quit: Connection closed for inactivity) 2017-10-04T17:14:33Z random-nick quit (Remote host closed the connection) 2017-10-04T17:17:10Z Achylles quit (Ping timeout: 264 seconds) 2017-10-04T17:17:56Z JuanDaugherty quit (Quit: Ex Chat) 2017-10-04T17:20:28Z safe joined #lisp 2017-10-04T17:23:09Z JuanDaugherty joined #lisp 2017-10-04T17:23:47Z varjag joined #lisp 2017-10-04T17:29:28Z terpri quit (Ping timeout: 258 seconds) 2017-10-04T17:29:37Z safe quit (Ping timeout: 248 seconds) 2017-10-04T17:29:49Z Jesin quit (Quit: Leaving) 2017-10-04T17:31:34Z nika joined #lisp 2017-10-04T17:34:49Z epony quit (Remote host closed the connection) 2017-10-04T17:35:27Z EvW joined #lisp 2017-10-04T17:35:43Z zooey quit (Read error: Connection reset by peer) 2017-10-04T17:37:01Z zooey joined #lisp 2017-10-04T17:42:04Z vlatkoB_ joined #lisp 2017-10-04T17:42:44Z sellout joined #lisp 2017-10-04T17:45:08Z SaganMan quit (Quit: laters) 2017-10-04T17:46:09Z vlatkoB quit (Ping timeout: 248 seconds) 2017-10-04T17:48:41Z Achylles joined #lisp 2017-10-04T17:48:56Z sellout quit (Read error: Connection reset by peer) 2017-10-04T17:49:12Z sellout joined #lisp 2017-10-04T17:50:28Z knobo joined #lisp 2017-10-04T17:53:51Z terpri joined #lisp 2017-10-04T17:53:51Z neoncontrails quit (Remote host closed the connection) 2017-10-04T17:59:05Z weltung joined #lisp 2017-10-04T18:04:49Z neoncontrails joined #lisp 2017-10-04T18:05:15Z dto joined #lisp 2017-10-04T18:07:01Z eschatologist quit (Ping timeout: 240 seconds) 2017-10-04T18:07:26Z Harag: good night 2017-10-04T18:07:43Z dto: hi xach 2017-10-04T18:12:00Z eschatologist joined #lisp 2017-10-04T18:13:32Z knobo quit (Ping timeout: 246 seconds) 2017-10-04T18:14:32Z dto: hey everyone. wasn't sure where else to ask, all avenues have failed. i'm looking in earnest for a copy of "Instructor's Manual for Critical Thinking" by Francis Watanabe Dauer, Oxford University Press 1989. it's the companion volume to "Critical Thinking: An Introduction to Reasoning" by same author. over time i've come to learn that many lispers have extensive bookshelves and/or some were/are instructors, so i thought i would take a 2017-10-04T18:14:32Z dto: chance and see if someone here could suggest where to find one, or has one and would like to part with their copy. 2017-10-04T18:14:55Z dto: 2017-10-04T18:15:46Z dcluna quit (Read error: Connection reset by peer) 2017-10-04T18:16:27Z dto: in case i get disconnected, my email is dto@xelf.me thanks in advance to anyone who can help. 2017-10-04T18:20:20Z dcluna joined #lisp 2017-10-04T18:20:58Z Jesin joined #lisp 2017-10-04T18:23:43Z knobo joined #lisp 2017-10-04T18:29:50Z orivej quit (Remote host closed the connection) 2017-10-04T18:29:57Z orivej joined #lisp 2017-10-04T18:30:20Z Bock quit (Ping timeout: 246 seconds) 2017-10-04T18:32:43Z Jonsky quit (Ping timeout: 258 seconds) 2017-10-04T18:36:23Z terpri quit (Quit: Leaving) 2017-10-04T18:36:54Z knobo quit (Ping timeout: 246 seconds) 2017-10-04T18:37:45Z alexmlw joined #lisp 2017-10-04T18:38:00Z bigos joined #lisp 2017-10-04T18:38:23Z neoncontrails quit (Remote host closed the connection) 2017-10-04T18:38:38Z alexmlw left #lisp 2017-10-04T18:38:42Z nika quit 2017-10-04T18:38:56Z alexmlw joined #lisp 2017-10-04T18:46:39Z sellout quit (Remote host closed the connection) 2017-10-04T18:48:00Z bigos quit (Quit: Leaving) 2017-10-04T18:50:15Z nirved quit (Quit: Leaving) 2017-10-04T18:52:29Z carenz_ joined #lisp 2017-10-04T18:53:48Z schoppenhauer quit (Ping timeout: 258 seconds) 2017-10-04T18:55:55Z schoppenhauer joined #lisp 2017-10-04T18:58:25Z weltung_ joined #lisp 2017-10-04T19:00:01Z weltung quit (Ping timeout: 240 seconds) 2017-10-04T19:08:02Z bigdaddytank joined #lisp 2017-10-04T19:11:12Z rswords joined #lisp 2017-10-04T19:13:57Z weltung joined #lisp 2017-10-04T19:15:29Z weltung_ quit (Ping timeout: 246 seconds) 2017-10-04T19:19:04Z milanj quit (Quit: This computer has gone to sleep) 2017-10-04T19:20:35Z carenz_ quit (Ping timeout: 240 seconds) 2017-10-04T19:24:27Z vlatkoB_ quit (Remote host closed the connection) 2017-10-04T19:26:34Z jealousmonk joined #lisp 2017-10-04T19:28:27Z weltung_ joined #lisp 2017-10-04T19:29:05Z weltung quit (Ping timeout: 248 seconds) 2017-10-04T19:31:51Z scymtym__ quit (Ping timeout: 246 seconds) 2017-10-04T19:32:03Z scymtym__ joined #lisp 2017-10-04T19:33:15Z juki joined #lisp 2017-10-04T19:37:06Z scymtym__ quit (Ping timeout: 246 seconds) 2017-10-04T19:37:12Z weltung joined #lisp 2017-10-04T19:38:35Z weltung_ quit (Ping timeout: 240 seconds) 2017-10-04T19:43:48Z Lord_of_Life quit (Disconnected by services) 2017-10-04T19:46:39Z shka_ quit (Ping timeout: 248 seconds) 2017-10-04T19:46:57Z weltung_ joined #lisp 2017-10-04T19:48:17Z weltung quit (Ping timeout: 248 seconds) 2017-10-04T19:50:04Z tavurth joined #lisp 2017-10-04T19:50:11Z tavurth: Hi 2017-10-04T19:50:33Z tavurth: If I have a assoc: '(:a 1 :b 2) 2017-10-04T19:50:54Z tavurth: How can I mutate that so that '(:a 2 :b 2) without side effects? 2017-10-04T19:51:05Z tavurth: Is map really the most efficient way to do so? 2017-10-04T19:51:14Z tavurth: (Shallow map only) 2017-10-04T19:51:58Z tavurth: I want to write a stateful tree 2017-10-04T19:52:02Z dlowe: No, because the tail of your alist could share structure with the original 2017-10-04T19:52:30Z dlowe: I don't think there's a built-in function that changes a value without mutating. Seems simple enough to create one, though. 2017-10-04T19:53:07Z tavurth: @dlowe, I've come back to lisp after some time away, that may be beyond me at this point) 2017-10-04T19:53:29Z dlowe: on the other hand, unless you have an alist with billions of entries, I really just wouldn't worry about it 2017-10-04T19:53:53Z tavurth: The problem is, I hope to be collecting new states once every few milliseconds 2017-10-04T19:53:59Z tavurth: I was wondering about the GC 2017-10-04T19:54:45Z neoncontrails joined #lisp 2017-10-04T19:55:11Z dlowe: I still wouldn't worry about it until it became a measurable problem. 2017-10-04T19:55:23Z mishoo quit (Ping timeout: 246 seconds) 2017-10-04T19:55:30Z Baggers joined #lisp 2017-10-04T19:55:44Z tavurth: Ok, good point. I'll run with an abstracted map keys for now, and refactor later if I start to see slowdown 2017-10-04T19:56:03Z tavurth: Thank you :) 2017-10-04T19:57:32Z dlowe: no problem. 2017-10-04T19:59:04Z bigdaddytank quit (Quit: Peace out!) 2017-10-04T20:00:07Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2017-10-04T20:03:44Z juki: @tavurth I was just writing about places in CL, and used immutable plists as an example. Not an especially well tested / optimized solution (since it was just a quick example), but see the UPDATE-PROPERTY function here http://juki.gitlab.io/cl/setf.html (the article is still WIP) 2017-10-04T20:05:50Z alexmlw quit (Quit: alexmlw) 2017-10-04T20:06:49Z tavurth: @juki, thanks! I'll take a look 2017-10-04T20:09:18Z epony joined #lisp 2017-10-04T20:09:29Z mson quit (Quit: Connection closed for inactivity) 2017-10-04T20:13:15Z tavurth: (append (remove 'b '((a 1) (a 2) (b 1)) :test #'eql :key #'first) '((b 3))) 2017-10-04T20:13:21Z tavurth: Perhaps something like this 2017-10-04T20:14:01Z tavurth: Although I see that (copy-alist) exists 2017-10-04T20:14:04Z tavurth: https://www.gnu.org/software/emacs/manual/html_node/elisp/Association-Lists.html 2017-10-04T20:14:19Z tavurth: I'll do some quick perf testing 2017-10-04T20:17:54Z zachk joined #lisp 2017-10-04T20:18:44Z hooman: what do you want to do ? add (:a 1) to (:a 1 :b 2) ? 2017-10-04T20:19:32Z tavurth: @hooman, I want to change :a => 2 without changing the initial state 2017-10-04T20:19:45Z dlowe: actuall 2017-10-04T20:19:55Z dlowe: you know you can just cons (:a 2) to the front of the alist 2017-10-04T20:20:01Z dlowe: and assoc will pick it up first 2017-10-04T20:21:52Z hooman: what is the initial state ? 2017-10-04T20:22:44Z tavurth: @dlowe, won't that mean I've got an ever expanding stack? 2017-10-04T20:22:48Z tavurth: Here's an example 2017-10-04T20:23:00Z tavurth: https://paste.ofcode.org/FsdjMnt8KdVA6z2KKRbZHh 2017-10-04T20:23:19Z tavurth: (copy-alist) is 40% faster 2017-10-04T20:24:38Z edgar-rft joined #lisp 2017-10-04T20:26:03Z yrk quit (Read error: Connection reset by peer) 2017-10-04T20:26:42Z pierpa joined #lisp 2017-10-04T20:27:04Z dlowe: dont append to the back, cons to the front 2017-10-04T20:27:55Z dlowe: but remove is doing to create a completely new list here. 2017-10-04T20:29:50Z safe joined #lisp 2017-10-04T20:31:59Z dlowe: tavurth: https://paste.ofcode.org/hkRaS6AfwxuQkdARatHpuW 2017-10-04T20:32:06Z dlowe: I haven't tested it, but that should be faster 2017-10-04T20:34:14Z tavurth: Yeah, it comes out at 3.353 vs 3.478 for the copy-list 2017-10-04T20:37:07Z sukaeto: Harag: I use Clack at work. Performance is good for what we do. We use Hunchentoot in development and FastCGI in prod - it's really trivial to do that with Clack. 2017-10-04T20:37:38Z sukaeto: Harag: that being said, if you're happy with your current setup, I wouldn't be one to advocate switching. 2017-10-04T20:37:48Z tavurth: Although the new state becomes: ((B 3) (A . 1) (B . 2) (C . 1)) 2017-10-04T20:37:59Z tavurth: B . 3 2017-10-04T20:42:13Z scymtym joined #lisp 2017-10-04T20:52:28Z weltung joined #lisp 2017-10-04T20:54:24Z weltung_ quit (Ping timeout: 248 seconds) 2017-10-04T20:58:38Z knobo joined #lisp 2017-10-04T20:59:43Z tavurth: Oh I found a really fast solution using (rplacd) 2017-10-04T21:00:33Z tavurth: It's 50% the speed of (remove), and doesn't lead to large cons groups after many reductions 2017-10-04T21:00:34Z tavurth: https://paste.ofcode.org/JAyqz6HbYmKuaVvuhy8A9p 2017-10-04T21:00:51Z tavurth: Sorry, takes 50% the time, 2x the speed 2017-10-04T21:01:02Z juki` joined #lisp 2017-10-04T21:03:01Z phoe: tavurth: rplacd is destructive, just keep that in mind. 2017-10-04T21:03:18Z KongWubba joined #lisp 2017-10-04T21:04:10Z Shinmera: Why one would use rplaca/d instead of just setf car/cdr is beyond me. 2017-10-04T21:04:37Z juki quit (Ping timeout: 260 seconds) 2017-10-04T21:05:19Z White_Flame defines an expander for (setf (rplacd x) val) 2017-10-04T21:07:08Z tavurth: @Shinmera, I'm looking to generate states based on an assoc array 2017-10-04T21:07:26Z tavurth: As far as I can remember, setf doesn't work well 2017-10-04T21:07:32Z tavurth: Maybe I'm wrong 2017-10-04T21:07:52Z tavurth: @phoe, yes, I'll copy the state first, then mutate 2017-10-04T21:08:45Z tavurth: @dlowe, the version you suggest works well until I make a self reduction many many times, then it seems to fail, I don't know why :( 2017-10-04T21:08:57Z tavurth: I get a long string of cons cells in slime 2017-10-04T21:10:05Z tavurth: Ok, thanks guys I've got some options to play around with at least :) 2017-10-04T21:13:48Z jdz quit (Ping timeout: 240 seconds) 2017-10-04T21:14:28Z pjb quit (Ping timeout: 240 seconds) 2017-10-04T21:16:03Z Bike quit (Ping timeout: 240 seconds) 2017-10-04T21:16:41Z jdz joined #lisp 2017-10-04T21:16:41Z angavrilov quit (Remote host closed the connection) 2017-10-04T21:18:11Z JuanDaugherty quit (Quit: Ex Chat) 2017-10-04T21:18:15Z WorldControl joined #lisp 2017-10-04T21:20:44Z Josh_2: How do I compile my program using ECL when I'm pulling in a library with Quicklisp? 2017-10-04T21:21:16Z Josh_2: I just get an error saying there is no package with name ql although I load the setup.lisp file at the start of my program 2017-10-04T21:27:28Z Achylles quit (Ping timeout: 240 seconds) 2017-10-04T21:29:02Z phoe: Josh_2: how are you compiling your program? 2017-10-04T21:29:20Z tavurth quit (Quit: Page closed) 2017-10-04T21:29:27Z Josh_2: Using ecl -compile 2017-10-04T21:29:34Z Josh_2: From Bash 2017-10-04T21:29:46Z phoe: Don't, there 2017-10-04T21:29:51Z phoe: there's no need to. 2017-10-04T21:29:54Z phoe: What do you want to achieve? 2017-10-04T21:31:42Z White_Flame: are you loading setup.lisp from a separate toplevel form? 2017-10-04T21:31:54Z White_Flame: (progn (load "setup.lisp) (ql: ...)) would fail at the reader level 2017-10-04T21:32:04Z White_Flame: (even with correct quote balancing :-P) 2017-10-04T21:32:33Z Josh_2: No progn 2017-10-04T21:32:43Z Karl_Dscc quit (Remote host closed the connection) 2017-10-04T21:33:14Z pmetzger joined #lisp 2017-10-04T21:33:40Z Josh_2: I'm trying to get a nice and small binary I believe 2017-10-04T21:33:42Z Josh_2: something like that 2017-10-04T21:35:55Z phoe: Josh_2: ask on #ecl how to get it to build binaries 2017-10-04T21:36:03Z phoe: ...or I believe there are some cross-implementation solutions for that 2017-10-04T21:36:20Z phoe: most likely package UIOP/IMAGE has ECL-compatible solutions 2017-10-04T21:38:24Z Josh_2: I got it 2017-10-04T21:39:00Z Josh_2: I wanted a standalone. My bad 2017-10-04T21:40:47Z KongWubba quit (Quit: Yaaic - Yet another Android IRC client - http://www.yaaic.org) 2017-10-04T21:42:08Z mishoo joined #lisp 2017-10-04T21:42:27Z epony quit (Quit: QUIT) 2017-10-04T21:43:27Z phoe: ECL can compile binaries that are good to go 2017-10-04T21:43:33Z phoe: it's just that you don't do it by -compile 2017-10-04T21:43:42Z Josh_2: Yeh I got it, I did it in Slime 2017-10-04T21:43:45Z phoe: which most likely compiles a .lisp file into a .fasl file for fast loading 2017-10-04T21:43:58Z Josh_2: You compile a .o file then use that to make a standalone program 2017-10-04T21:46:32Z sjl joined #lisp 2017-10-04T21:47:29Z LiamH quit (Quit: Leaving.) 2017-10-04T21:47:33Z Bike joined #lisp 2017-10-04T21:48:10Z phoe: oh! 2017-10-04T21:48:20Z phoe: in this case, I don't know too much about ECL. 2017-10-04T21:48:36Z mishoo quit (Ping timeout: 258 seconds) 2017-10-04T21:48:55Z Josh_2: I normally use SBCL but I wanted to make a small executable, so I thought I'd compile in ECL 2017-10-04T21:51:45Z weltung_ joined #lisp 2017-10-04T21:52:03Z Xof joined #lisp 2017-10-04T21:53:35Z weltung quit (Ping timeout: 240 seconds) 2017-10-04T21:58:43Z epony joined #lisp 2017-10-04T22:06:13Z EvW2 joined #lisp 2017-10-04T22:07:53Z quazimodo joined #lisp 2017-10-04T22:08:09Z EvW quit (Ping timeout: 258 seconds) 2017-10-04T22:08:10Z EvW2 is now known as EvW 2017-10-04T22:10:41Z juki` quit (Quit: ERC (IRC client for Emacs 25.1.1)) 2017-10-04T22:12:11Z pmetzger_ joined #lisp 2017-10-04T22:12:12Z pmetzger quit (Read error: Connection reset by peer) 2017-10-04T22:14:23Z knobo quit (Ping timeout: 248 seconds) 2017-10-04T22:15:01Z mson joined #lisp 2017-10-04T22:15:01Z Baggers quit (Remote host closed the connection) 2017-10-04T22:19:45Z quazimodo quit (Ping timeout: 248 seconds) 2017-10-04T22:22:53Z Josh_2: *smashes head on keyboard* Says CL-FAD works on ECL, however it doesn't seem to be doing what the documentation says it should. 2017-10-04T22:23:35Z phoe: Josh_2: CL-FAD is deprecated, use UIOP instead. 2017-10-04T22:23:42Z varjag quit (Quit: ERC (IRC client for Emacs 25.2.1)) 2017-10-04T22:23:55Z Josh_2: O 2017-10-04T22:24:00Z Josh_2: Will do! 2017-10-04T22:32:55Z Denommus quit (Quit: going home) 2017-10-04T22:34:14Z dim: Josh_2: why is the size of the binary a concern? 2017-10-04T22:34:25Z dim: also, did you try with an --compress-core on SBCL? 2017-10-04T22:35:04Z Josh_2: I've not actually tried a SBCL version. I will try that after I get something that works how I want. 2017-10-04T22:35:18Z dim: as a data point, my pgloader binary weights around 21MB 2017-10-04T22:35:32Z dim: that's with --compress-core, otherwise it's 100MB 2017-10-04T22:35:54Z Josh_2: my first version is currently 37kb 2017-10-04T22:37:01Z dim: oh wow 2017-10-04T22:37:03Z rumbler31 quit (Ping timeout: 240 seconds) 2017-10-04T22:37:15Z dim: it depends in libc at runtime tho, right? 2017-10-04T22:37:34Z dim: but why is the size of the binary important? 2017-10-04T22:37:42Z Josh_2: I'd assume so. It compiles to a C file, then uses GCC to compile that C file. 2017-10-04T22:37:44Z anunnaki_ joined #lisp 2017-10-04T22:39:20Z anunnaki_ quit (Client Quit) 2017-10-04T22:41:05Z aindilis` quit (Ping timeout: 248 seconds) 2017-10-04T22:48:12Z Harag quit (Ping timeout: 246 seconds) 2017-10-04T22:52:29Z Achylles joined #lisp 2017-10-04T22:56:42Z Lord_of_Life joined #lisp 2017-10-04T23:02:00Z papachan quit (Quit: Saliendo) 2017-10-04T23:02:06Z pillton joined #lisp 2017-10-04T23:07:24Z karswell quit (Read error: Connection reset by peer) 2017-10-04T23:10:04Z thinkpad joined #lisp 2017-10-04T23:10:32Z aindilis joined #lisp 2017-10-04T23:15:46Z WorldControl quit (Remote host closed the connection) 2017-10-04T23:17:26Z anunnaki quit (Quit: Lost terminal) 2017-10-04T23:17:59Z anunnaki joined #lisp 2017-10-04T23:18:42Z cromachina joined #lisp 2017-10-04T23:19:02Z Josh_2: So I'm not sure if this is a bug or not.. http://i.imgur.com/F1n9Uie.png (directory* ..) doesn't print the contents of the directory when given a directory pathspec, neither does (directory-files ..) 2017-10-04T23:24:48Z pillton: It needs to match against pathspec. Try (directory* "/home/josh/Documents/Lisp/programs/**.*"). 2017-10-04T23:25:04Z malice quit (Remote host closed the connection) 2017-10-04T23:25:32Z pillton: Oh sorry. 2017-10-04T23:25:43Z pillton: Try (directory* "/home/josh/Documents/Lisp/programs/**/*.*"). 2017-10-04T23:26:04Z Josh_2: Nope 2017-10-04T23:26:24Z Josh_2: AAaaand ECL crashed. 2017-10-04T23:27:42Z hooman: what to do! 2017-10-04T23:27:42Z milanj joined #lisp 2017-10-04T23:29:35Z shrdlu68 quit (Ping timeout: 240 seconds) 2017-10-04T23:36:23Z rumbler31 joined #lisp 2017-10-04T23:38:54Z fe[nl]ix: Josh_2: try to recover the black box 2017-10-04T23:39:04Z Josh_2: Killed it already 2017-10-04T23:40:55Z rumbler31 quit (Ping timeout: 258 seconds) 2017-10-04T23:40:56Z dieggsy joined #lisp 2017-10-04T23:41:04Z rumbler31 joined #lisp 2017-10-04T23:41:38Z Harag joined #lisp 2017-10-04T23:43:25Z pierpa quit (Quit: Page closed) 2017-10-04T23:48:43Z attila_lendvai quit (Quit: Leaving.) 2017-10-04T23:52:03Z hooman: last LispWorks release, 2015? okay.. 2017-10-04T23:55:18Z rumbler31 quit (Remote host closed the connection) 2017-10-04T23:58:10Z jealousmonk quit (Quit: Leaving) 2017-10-05T00:01:21Z marvin2 quit 2017-10-05T00:04:21Z rumbler31 joined #lisp 2017-10-05T00:09:35Z rumbler31 quit (Remote host closed the connection) 2017-10-05T00:09:35Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-10-05T00:11:54Z _ark_ joined #lisp 2017-10-05T00:17:12Z yaocl joined #lisp 2017-10-05T00:18:19Z yaocl quit (Client Quit) 2017-10-05T00:21:56Z wheelsucker joined #lisp 2017-10-05T00:26:39Z zachk quit (Quit: Leaving) 2017-10-05T00:26:58Z cgay_: Would y'll say that http://www.cliki.net/Common+Lisp+implementation is still more or less up-to-date? 2017-10-05T00:27:25Z cgay_: yuh all...y'all 2017-10-05T00:28:44Z wheelsucker quit (Quit: Client Quit) 2017-10-05T00:30:45Z margeas quit (Ping timeout: 258 seconds) 2017-10-05T00:33:42Z aeth: CLISP, while technically actively developed, hasn't released a new version in a long time. 2017-10-05T00:34:50Z mson quit (Quit: Connection closed for inactivity) 2017-10-05T00:35:54Z aeth: I'm not sure about the order of the first list. It's not alphabetical. And it's not in recommended order, or at least not an order I'd recommend. I'd recommend to try SBCL, then CCL, then ECL. 2017-10-05T00:36:16Z aeth: And SBCL works fine on Windows afaik. 2017-10-05T00:48:46Z wheelsucker joined #lisp 2017-10-05T00:52:17Z EvW quit (Ping timeout: 248 seconds) 2017-10-05T00:55:01Z Josh_2 quit (Ping timeout: 240 seconds) 2017-10-05T00:55:54Z dto: last i heard SBCL support on winows is no longer "experimental" and the kitten of death is gone 2017-10-05T00:56:27Z marcux joined #lisp 2017-10-05T00:57:12Z mrpat joined #lisp 2017-10-05T01:01:19Z orivej quit (Ping timeout: 248 seconds) 2017-10-05T01:02:27Z marcux quit (Quit: leaving) 2017-10-05T01:02:45Z marcux joined #lisp 2017-10-05T01:04:01Z marcux quit (Client Quit) 2017-10-05T01:04:56Z cgay_: OMG please 'splain me the kitten 'o death! 2017-10-05T01:05:24Z Bike: when you started sbcl on windows there was a message like "This is experimental. Your kitten of death awaits!" or suchlike 2017-10-05T01:06:01Z cgay_: oh. That's not nearly as exciting as I'd hoped. :) 2017-10-05T01:06:05Z weltung joined #lisp 2017-10-05T01:06:17Z marcux joined #lisp 2017-10-05T01:07:05Z weltung_ quit (Ping timeout: 240 seconds) 2017-10-05T01:09:28Z marcux quit (Client Quit) 2017-10-05T01:11:30Z neoncontrails quit (Remote host closed the connection) 2017-10-05T01:13:21Z weltung_ joined #lisp 2017-10-05T01:14:08Z weltung quit (Ping timeout: 248 seconds) 2017-10-05T01:21:17Z yaocl joined #lisp 2017-10-05T01:27:22Z drwooly joined #lisp 2017-10-05T01:29:05Z yaocl quit (Ping timeout: 240 seconds) 2017-10-05T01:31:23Z yaocl joined #lisp 2017-10-05T01:34:14Z yottabyte joined #lisp 2017-10-05T01:35:48Z yottabyte: the little schemer's 6th commandment is "Simplify only after the function is correct." Can there be a corollary to optimize only after the function is correct? I find so many of my coworkers trying to optimize things from the get go, and often times it's unnecessary and only slows them down 2017-10-05T01:36:15Z yottabyte: I mean in an ideal world we'd have infinite time to spend as long as we want optimizing things, even the most trivial things which would never need such effort, but alas 2017-10-05T01:36:28Z mrpat quit (Quit: Konversation terminated!) 2017-10-05T01:38:46Z AlexOn365 joined #lisp 2017-10-05T01:50:55Z aphprentice joined #lisp 2017-10-05T01:52:24Z dieggsy quit (Ping timeout: 258 seconds) 2017-10-05T01:57:53Z Achylles quit (Ping timeout: 248 seconds) 2017-10-05T02:02:13Z ccl-logbot joined #lisp 2017-10-05T02:02:13Z 2017-10-05T02:02:13Z names: ccl-logbot Guest48568 milanj H4ns` aphprentice yottabyte yaocl drwooly weltung_ wheelsucker _ark_ Harag cromachina anunnaki aindilis thinkpad pillton Lord_of_Life pmetzger_ epony Xof Bike sjl jdz scymtym safe edgar-rft rswords schoppenhauer dcluna eschatologist dto zooey raynold emaczen arbv tokenrove al-damiri saki hexfive yeticry dddddd cgay_ knicklux SAL9000 DeadTrickster froggey shka pchrist nowhereman akkad aoh cpt_nemo GGMethos kjak MrBismuth 2017-10-05T02:02:13Z names: Oladon AxelAlex groovy2shoes cgay nydel mnoonan wooden Merv moei babalua joast araujo pmden Sigyn ym xantoz salva omilu tessier ryanbw vyzo Posterdati daemoz renard_ davsebamse slyrus fluxit whyNOP Kevslinger foom2 nowolfer Ichimusai drcode vaporatorius Guest43159 Khisanth Guest21598 itruslove megalography mrcom Xal hooman kozy kslt1 grumble midre Tristam les dmiles troydm hotbobby mathrick Zhivago White_Flame msb zaquest sword Mandus QualityAddict 2017-10-05T02:02:13Z names: gilberth otwieracz galdor Patzy gigetoo loke heurist` azrazalea kini vibs29 joga vsync Guest55162 beaky rotty danieli ninegrid myrkraverk runejuhl tonton beach cess11 lxpz easye Colleen equalunique[m] @fe[nl]ix specbot minion Blkt jsnell Shinmera isoraqathedh Intensity shenghi nopf c0dehero abbe sepi ski kushal arrsim AntiSpamMeta flazh whartung hjudt dim mingus clog cyberlard fluter cibs holly2 zacts ineiros ikopico malm guna sveit ggherdov catern 2017-10-05T02:02:13Z names: Tordek __main__ Fade krator44 dotcra Poeticode neuri8 gabot spacepluk cods djh_ koisoke_ TeMPOraL eagleflo sbryant koenig mulk butterthebuddha kolko drot stee_3 karstensrage SlashLife tfb antoszka jibanes creat himmAllRight sebastien_ flip214 hvxgr hiq[m] nicdev eMBee benny reu dxtr argoneus djinni` vhost- rjeli chocolait tokik Cthulhux snits sigjuice p_l terrorjack jyc jasom akash47 swflint jself gbyers askatasuna ck_ ecraven tmc spudinski amerlyq 2017-10-05T02:02:13Z names: fiddlerwoaroof Lord_Nightmare devlaf luis phoe astronavt[m] trigt[m] ArthurAGleckler[ thorondor[m] hdurer[m] l04m33[m] CharlieBrown Jach[m] dahs81[m] Sovereign_Bleak happy_gnu[m] RichardPaulBck[m ketralnis lonjil DGASAU ``Erik dmh convexferret XachX kilimanjaro stylewarning Meow-J splittist lispyone gko odin copec zotan nhandler alphor funnel alandipert Oddity razzy eli ssake shaftoe michalisko aeth jrm wladz theBlackDragon Ziemas libre-man sarkic 2017-10-05T02:02:13Z names: Ellenor SiCC nikivi emma ntinos a7f4 gingerale |3b| cyraxjoe angular_mike___ zkat billstclair rvirding tobel pankracy dan64 justinmcp zymurgy mfiano brandonz nimiux larme payphone drdo pacon stux|RC-only fouric bitch malcom2073 jurov raydeejay mrSpec MetaYan ircbrowse AeroNotix xristos arrdem misv phadthai cmatei eschulte danlentz cross ft add^_ micro_ j0ni e brucem gz_ drmeister lieven voidlily chu z0d Walex pok Xach jackdaniel uint Nikotiini borodust 2017-10-05T02:02:13Z names: banjiewen Aritheanie ramus intrigue gabiruh larsen TMA sukaeto Firedancer tkd _death dlowe mood rann CEnnis91 tomaw d4gg4d_ aaronjensen alms_clozure felideon l1x mjl joeygibson jerme_ trig-ger adulteratedjedi bailon gendl mbrock asedeno 2017-10-05T02:02:21Z flazh quit (Ping timeout: 240 seconds) 2017-10-05T02:03:24Z impulse joined #lisp 2017-10-05T02:05:32Z Guest48568 is now known as caffe 2017-10-05T02:05:41Z caffe quit (Changing host) 2017-10-05T02:05:41Z caffe joined #lisp 2017-10-05T02:06:34Z pedh joined #lisp 2017-10-05T02:07:11Z pedh quit (Client Quit) 2017-10-05T02:08:47Z papachan joined #lisp 2017-10-05T02:09:49Z AxelAlex quit (Quit: AxelAlex) 2017-10-05T02:16:56Z Bike quit (Ping timeout: 258 seconds) 2017-10-05T02:19:03Z pmetzger_ quit 2017-10-05T02:20:25Z hexfive quit (Quit: WeeChat 1.9) 2017-10-05T02:20:35Z saki quit (Quit: saki) 2017-10-05T02:20:50Z trn joined #lisp 2017-10-05T02:21:28Z stylewarning: yottabyte: that’s pretty commonly understood 2017-10-05T02:21:58Z yottabyte: stylewarning! 2017-10-05T02:22:15Z yottabyte: what are you doing here my long lost friend 2017-10-05T02:22:32Z stylewarning: write Lisp all day erry day 2017-10-05T02:22:37Z yottabyte: im scheming 2017-10-05T02:22:39Z yottabyte: are you proud of me 2017-10-05T02:23:00Z stylewarning: Yes 2017-10-05T02:23:53Z yottabyte: :> 2017-10-05T02:29:40Z flazh joined #lisp 2017-10-05T02:32:43Z vancan1ty joined #lisp 2017-10-05T02:35:39Z daemoz quit (Remote host closed the connection) 2017-10-05T02:35:58Z daemoz joined #lisp 2017-10-05T02:36:22Z quazimodo joined #lisp 2017-10-05T02:38:01Z papachan quit (Ping timeout: 240 seconds) 2017-10-05T02:40:18Z eminhi joined #lisp 2017-10-05T02:44:00Z yottabyte quit (Quit: gn) 2017-10-05T02:44:45Z ccl-logbot joined #lisp 2017-10-05T02:44:45Z 2017-10-05T02:44:45Z names: ccl-logbot eminhi quazimodo daemoz vancan1ty flazh trn impulse caffe milanj H4ns` aphprentice yaocl drwooly weltung_ wheelsucker _ark_ Harag cromachina anunnaki aindilis thinkpad pillton Lord_of_Life epony Xof sjl jdz scymtym safe edgar-rft rswords schoppenhauer dcluna eschatologist dto zooey raynold emaczen arbv tokenrove al-damiri yeticry dddddd cgay_ knicklux SAL9000 DeadTrickster froggey shka pchrist nowhereman akkad aoh cpt_nemo GGMethos kjak MrBismuth 2017-10-05T02:44:45Z names: Oladon groovy2shoes cgay nydel mnoonan wooden Merv moei babalua joast araujo pmden Sigyn ym xantoz salva omilu tessier ryanbw vyzo Posterdati renard_ davsebamse slyrus fluxit whyNOP Kevslinger foom2 nowolfer Ichimusai drcode vaporatorius Guest43159 Khisanth Guest21598 itruslove megalography mrcom Xal hooman kozy kslt1 grumble midre Tristam les dmiles troydm hotbobby mathrick Zhivago White_Flame msb zaquest sword Mandus QualityAddict gilberth otwieracz galdor 2017-10-05T02:44:45Z names: Patzy gigetoo loke heurist` azrazalea kini vibs29 joga vsync Guest55162 beaky rotty danieli ninegrid myrkraverk runejuhl tonton beach cess11 lxpz easye Colleen equalunique[m] @fe[nl]ix specbot minion Blkt jsnell Shinmera isoraqathedh Intensity shenghi nopf c0dehero abbe sepi ski kushal arrsim AntiSpamMeta whartung hjudt dim mingus clog cyberlard fluter cibs holly2 zacts ineiros ikopico malm guna sveit ggherdov catern Tordek __main__ Fade krator44 dotcra 2017-10-05T02:44:45Z names: Poeticode neuri8 gabot spacepluk cods djh_ koisoke_ TeMPOraL eagleflo sbryant koenig mulk butterthebuddha kolko drot stee_3 karstensrage SlashLife tfb antoszka jibanes creat himmAllRight sebastien_ flip214 hvxgr hiq[m] nicdev eMBee benny reu dxtr argoneus djinni` vhost- rjeli chocolait tokik Cthulhux snits sigjuice p_l terrorjack jyc jasom akash47 swflint jself gbyers askatasuna ck_ ecraven tmc spudinski amerlyq fiddlerwoaroof Lord_Nightmare devlaf luis phoe 2017-10-05T02:44:45Z names: astronavt[m] trigt[m] ArthurAGleckler[ thorondor[m] l04m33[m] dahs81[m] CharlieBrown Jach[m] hdurer[m] Sovereign_Bleak happy_gnu[m] RichardPaulBck[m ketralnis lonjil DGASAU ``Erik dmh convexferret XachX kilimanjaro stylewarning Meow-J splittist lispyone gko odin copec zotan nhandler alphor funnel alandipert Oddity razzy eli ssake shaftoe michalisko aeth jrm wladz theBlackDragon Ziemas libre-man sarkic Ellenor SiCC nikivi emma ntinos a7f4 gingerale |3b| 2017-10-05T02:44:45Z names: cyraxjoe angular_mike___ zkat billstclair rvirding tobel pankracy dan64 justinmcp zymurgy mfiano brandonz nimiux larme payphone drdo pacon stux|RC-only fouric bitch malcom2073 jurov raydeejay mrSpec MetaYan ircbrowse AeroNotix xristos arrdem misv phadthai cmatei eschulte danlentz cross ft add^_ micro_ j0ni e brucem gz_ drmeister lieven voidlily chu z0d Walex pok Xach jackdaniel uint Nikotiini borodust banjiewen Aritheanie ramus intrigue gabiruh larsen TMA 2017-10-05T02:44:45Z names: sukaeto Firedancer tkd _death dlowe mood rann CEnnis91 tomaw d4gg4d_ aaronjensen alms_clozure felideon l1x mjl joeygibson jerme_ trig-ger adulteratedjedi bailon gendl mbrock asedeno 2017-10-05T02:45:45Z quazimodo quit (Read error: Connection reset by peer) 2017-10-05T02:48:26Z smokeink joined #lisp 2017-10-05T02:49:36Z saki joined #lisp 2017-10-05T02:52:15Z earl-ducaine joined #lisp 2017-10-05T02:53:03Z jmercouris joined #lisp 2017-10-05T02:53:58Z jmercouris: Hey everyone, got a strange file system error today: https://imgur.com/a/iJcaZ 2017-10-05T02:54:01Z jmercouris: any idea what it means? 2017-10-05T02:56:11Z loke: jmercouris: which CL implementation is that? 2017-10-05T02:56:17Z jmercouris: ecl 2017-10-05T02:56:30Z jmercouris: loke: ecl 2017-10-05T02:56:33Z loke: I guess the file help.doc doesn't exist? 2017-10-05T02:56:46Z jmercouris: Well, it's a little more complex than just saying ecl 2017-10-05T02:56:55Z jmercouris: but what I am wondering is how to parse that that file path means 2017-10-05T02:57:00Z jmercouris: like what does it mean in terms of an actual unix file path 2017-10-05T02:58:24Z loke: jmercouris: It's a Lisp path. It's mapped using a logical pathname 2017-10-05T02:58:48Z jmercouris: yeah I've read about lisp pathnames, but can't remember anything 2017-10-05T02:58:54Z jmercouris: ultimately though it must be resolved to a physical path on the disk 2017-10-05T02:59:00Z jmercouris: how can I found out what it is resolved to? 2017-10-05T02:59:25Z loke: type: (logical-pathname-translations "SYS") 2017-10-05T02:59:37Z jmercouris: this piece of software I've written runs on my machine, but not on another persons Mac, so the question I'm trying to answer is, where is this file trying to be loaded from, and how can I either include it in the app bundle, or remove it 2017-10-05T02:59:43Z loke: that will tell you where it will be looking for the file. 2017-10-05T02:59:57Z jmercouris: ah, that's actually a very appropriately named function 2017-10-05T03:00:39Z yaocl quit (Quit: yaocl) 2017-10-05T03:02:22Z jmercouris: loke: thank you for the information 2017-10-05T03:02:34Z jmercouris: I wonder why it is doing this now, but was not doing it before :\ 2017-10-05T03:03:34Z loke: You've moved files around? 2017-10-05T03:03:58Z jmercouris: Not exactly, but kind of in a way 2017-10-05T03:04:03Z jmercouris: basically I'm trying to produce a standalone binary 2017-10-05T03:04:14Z jmercouris: and so other users will have different files 2017-10-05T03:04:24Z jmercouris: but in a previous version of my program, it did not have this complaint on other people's computers 2017-10-05T03:11:50Z loke: jmercouris: you should be able to adjust the pathname translations to match the location where the user installed his files. 2017-10-05T03:13:05Z jmercouris quit (Ping timeout: 248 seconds) 2017-10-05T03:14:51Z Oladon1 joined #lisp 2017-10-05T03:15:13Z eminhi quit (Ping timeout: 248 seconds) 2017-10-05T03:16:47Z Oladon quit (Ping timeout: 248 seconds) 2017-10-05T03:17:02Z jmercouris joined #lisp 2017-10-05T03:17:41Z Oladon1 is now known as Oladon 2017-10-05T03:17:51Z Khisanth quit (Ping timeout: 248 seconds) 2017-10-05T03:19:17Z yaocl joined #lisp 2017-10-05T03:22:26Z milanj quit (Quit: This computer has gone to sleep) 2017-10-05T03:23:33Z jmercouris quit (Remote host closed the connection) 2017-10-05T03:23:58Z jmercouris joined #lisp 2017-10-05T03:24:12Z jmercouris: loke: that's an interesting idea, but ideally I'd like to simply not load this file, as this is part of a distributable binary 2017-10-05T03:24:26Z jmercouris: I was thinking about how to modify the ecl sources to avoid loading this file, or maybe looking for a compiler flag 2017-10-05T03:24:46Z jmercouris: maybe the way in which I am compiling is actually wrong, and it would normally not be including these sources 2017-10-05T03:27:58Z quazimodo joined #lisp 2017-10-05T03:28:10Z stylewarning: What's the right way to execute things around the compilation of a system? 2017-10-05T03:28:17Z stylewarning: Usually there's some asdf magic you can play 2017-10-05T03:29:40Z jmercouris: stylewarning: what do you mean? 2017-10-05T03:30:01Z jmercouris: Basically here's what I am doing with asdf, I am turning the whole sort of system into a lib, which I am then offloading in C 2017-10-05T03:30:11Z jmercouris: not sure if "offloading" is the right word, but I mean loading 2017-10-05T03:30:38Z jmercouris: stylewarning: here's my asd file: https://github.com/nEXT-Browser/nEXT/blob/master/next/next.asd 2017-10-05T03:30:46Z jmercouris: stylewarning: here's my make file: https://github.com/nEXT-Browser/nEXT/blob/master/next/make.lisp 2017-10-05T03:30:48Z yaocl quit (Quit: yaocl) 2017-10-05T03:31:12Z Khisanth joined #lisp 2017-10-05T03:35:35Z stylewarning: jmercouris: here's a cool trick, you can use :pathname "lisp/" 2017-10-05T03:35:44Z stylewarning: instead of typing "lisp/" everywhere 2017-10-05T03:37:05Z jmercouris quit (Ping timeout: 248 seconds) 2017-10-05T03:38:46Z nika joined #lisp 2017-10-05T03:39:47Z jmercouris joined #lisp 2017-10-05T03:40:14Z jmercouris: stylewarning: I didn't know that, thanks! 2017-10-05T03:40:43Z stylewarning: jmercouris: Also use MERGE-PATHNAMES instead of this (format nil "~Afoo.ext") business 2017-10-05T03:40:44Z stylewarning: :) 2017-10-05T03:41:00Z stylewarning: (merge-pathnames "file.ext" "/path-to-file/") 2017-10-05T03:41:05Z _ark_` joined #lisp 2017-10-05T03:41:09Z jameser joined #lisp 2017-10-05T03:41:10Z jmercouris: stylewarning: in which file do you see me doing that? in the makefile? 2017-10-05T03:41:15Z stylewarning: yes 2017-10-05T03:41:45Z jmercouris: ah yeah, definitely need to fix that 2017-10-05T03:42:09Z jmercouris: the make file is pretty sloppy as it is a WIP, getting a standalone binary to compile has been nightmare fuel 2017-10-05T03:42:29Z nika_ joined #lisp 2017-10-05T03:42:48Z _ark_ quit (Ping timeout: 258 seconds) 2017-10-05T03:43:03Z stylewarning: im happy to send a patch for little things like that 2017-10-05T03:43:12Z stylewarning: but i probs don't have the requirements to load/test the system 2017-10-05T03:43:26Z jmercouris: stylewarning: I can test on my system no problem 2017-10-05T03:43:46Z jmercouris: stylewarning: all prs happily reviewed :P 2017-10-05T03:45:05Z nika quit (Ping timeout: 248 seconds) 2017-10-05T03:45:42Z pillton: stylewarning: https://common-lisp.net/project/asdf/asdf/Controlling-file-compilation.html 2017-10-05T03:45:45Z drwooly quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-10-05T03:46:03Z pillton: You can specify an :around-compile option. 2017-10-05T03:46:35Z dddddd quit (Remote host closed the connection) 2017-10-05T03:48:22Z stylewarning: If there's anything the Lisp world needs, it's better ASDF documentation. :S 2017-10-05T03:48:26Z drwooly joined #lisp 2017-10-05T03:48:38Z jmercouris: asdf is an enigma to me 2017-10-05T03:49:07Z jmercouris: there's just too little I know, but I suspect that's true for 99% of programmers in 99% of build environments 2017-10-05T03:49:15Z jmercouris: like how many people truly understand makefiles 2017-10-05T03:49:49Z pillton: How many people truly understand autoconf? 2017-10-05T03:49:49Z stylewarning: The thing is, I think ASDF is actually understandable. 2017-10-05T03:50:07Z stylewarning: pillton: ASDF has less of an excuse, because it's integrated with the Lisp environment 2017-10-05T03:50:11Z jmercouris: yeah I don't think anybody actually understands autoconf, probably not even the authors :D 2017-10-05T03:50:15Z stylewarning: but autoconf is its own crazy thing 2017-10-05T03:50:34Z jmercouris: ASDF could definitely be understood though, I think if there was just like a really simple tutorial that just gradually got more complex and then a good reference, yeah it'd be good 2017-10-05T03:50:48Z pillton: I like ASDF. What are you trying to do? 2017-10-05T03:50:51Z jmercouris: I never did quite find that good tutorial for ASDF though 2017-10-05T03:50:57Z _ark_` quit (Ping timeout: 248 seconds) 2017-10-05T03:50:57Z quazimodo quit (Ping timeout: 248 seconds) 2017-10-05T03:51:15Z jmercouris: more or less I have some behavior that ECL tries to load a help.doc in /usr/local/lib/ecl 2017-10-05T03:51:31Z jmercouris: I am thinking that perhaps I am compiling my binary wrong, and a monlothic library should not be trying to load this file 2017-10-05T03:51:38Z pillton: What loads the file? 2017-10-05T03:51:47Z impulse quit (Ping timeout: 260 seconds) 2017-10-05T03:52:01Z jmercouris: pillton: it's built into ecl, I'm not sure where in the source, I did a rgrep for the filename and came up with ~10 results 2017-10-05T03:52:23Z pillton: Why does it load it? When does it happen? 2017-10-05T03:52:41Z jmercouris: It loads it as soon as I am starting ECL, I'm not sure what the purpose of the file is, the name seems to imply some sort of documentation 2017-10-05T03:53:09Z jmercouris: I can show you the candidates, or you can rgrep them yourself, not sure which is easier 2017-10-05T03:53:11Z stylewarning: pillton: example, that page doesn't seem to actually describe *what* the function can be/do 2017-10-05T03:53:44Z impulse joined #lisp 2017-10-05T03:53:45Z stylewarning: what's the signature of the function? (function ( (function ()) )) ? 2017-10-05T03:54:03Z jmercouris: pillton: I'm using ecl 16.1.3 from here: https://common-lisp.net/project/ecl/static/files/release/ 2017-10-05T03:54:10Z jmercouris: the file is simply named help.doc 2017-10-05T03:55:19Z jmercouris: here's the results of the grep: https://gist.github.com/480a543b8fd178a259c70cd423520684 2017-10-05T03:55:25Z stylewarning: I guess this is the relevant line: "A non-nil value designates a function of one argument that will be called with a function that will invoke compile-file* with various arguments; the around-compile hook may supply additional keyword arguments to pass to that call to compile-file*." 2017-10-05T03:55:33Z slyrus quit (Ping timeout: 240 seconds) 2017-10-05T03:59:48Z pillton: Perhaps try messing around with si::*keep-documentation* and ext:*documentation-pool*. 2017-10-05T04:00:09Z pillton: Or wait until jackdaniel arives here and ask him. 2017-10-05T04:00:35Z jmercouris: pillton: Is 6am in Poland, I don't know if I want to wait that long :\ sent an email to ecl-devel, so we'll see 2017-10-05T04:01:20Z pillton: Email it is then. 2017-10-05T04:01:34Z jmercouris: thank you for your help any way, I appreciate it! 2017-10-05T04:01:56Z pillton: Sorry I couldn't help. 2017-10-05T04:02:11Z jmercouris: no problem at all! I mean this is an edge of an edge case, I don't expect many people are running my stack lol 2017-10-05T04:04:01Z dto quit (Remote host closed the connection) 2017-10-05T04:04:23Z wheelsucker quit (Quit: Client Quit) 2017-10-05T04:07:00Z wigust joined #lisp 2017-10-05T04:11:09Z nika_ quit 2017-10-05T04:11:44Z jmercouris quit (Remote host closed the connection) 2017-10-05T04:12:41Z vancan1ty quit (Ping timeout: 240 seconds) 2017-10-05T04:15:54Z EvilAngel joined #lisp 2017-10-05T04:19:21Z EvilAngel quit (Client Quit) 2017-10-05T04:20:37Z EvilAngel joined #lisp 2017-10-05T04:22:56Z EvilAngel quit (Client Quit) 2017-10-05T04:23:16Z neoncontrails joined #lisp 2017-10-05T04:24:43Z emaczen quit (Read error: Connection reset by peer) 2017-10-05T04:25:15Z emaczen joined #lisp 2017-10-05T04:29:59Z nika joined #lisp 2017-10-05T04:38:23Z pjb joined #lisp 2017-10-05T04:38:32Z jackdaniel: fyi I've sned answer to the mailing list 2017-10-05T04:42:10Z EvilAngel joined #lisp 2017-10-05T04:43:14Z vtomole joined #lisp 2017-10-05T04:43:21Z EvilAngel quit (Client Quit) 2017-10-05T04:48:28Z emaczen quit (Read error: Connection reset by peer) 2017-10-05T04:48:41Z emaczen joined #lisp 2017-10-05T04:53:26Z yaocl joined #lisp 2017-10-05T04:55:40Z shifty joined #lisp 2017-10-05T04:59:54Z neoncontrails quit (Remote host closed the connection) 2017-10-05T05:02:49Z drwooly quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-10-05T05:05:43Z vtomole quit (Quit: Page closed) 2017-10-05T05:08:21Z Bock joined #lisp 2017-10-05T05:10:11Z damke_ joined #lisp 2017-10-05T05:13:16Z smokeink quit (Ping timeout: 258 seconds) 2017-10-05T05:15:48Z nika quit (Remote host closed the connection) 2017-10-05T05:21:14Z yaocl quit (Quit: yaocl) 2017-10-05T05:27:58Z araujo_ joined #lisp 2017-10-05T05:30:02Z panji joined #lisp 2017-10-05T05:30:12Z mishoo joined #lisp 2017-10-05T05:31:23Z weltung_ quit (Quit: Textual IRC Client: www.textualapp.com) 2017-10-05T05:32:07Z araujo quit (Ping timeout: 260 seconds) 2017-10-05T05:35:06Z d4ryus joined #lisp 2017-10-05T05:40:42Z angavrilov joined #lisp 2017-10-05T05:46:20Z nika joined #lisp 2017-10-05T05:46:47Z nika quit (Remote host closed the connection) 2017-10-05T05:47:04Z nika joined #lisp 2017-10-05T05:48:58Z Karl_Dscc joined #lisp 2017-10-05T05:50:35Z shka_ joined #lisp 2017-10-05T05:51:22Z moei quit (Quit: Leaving...) 2017-10-05T05:51:24Z beach: Good morning everyone! 2017-10-05T05:56:10Z earl-ducaine: ASDF was totally impenitrable by me for years. 2017-10-05T05:56:23Z earl-ducaine: I still don't understand why. 2017-10-05T05:57:25Z earl-ducaine: Little by little I've slowly managed to grasp things.... 2017-10-05T05:58:23Z pillton: Which part was impenetrable? 2017-10-05T05:58:44Z earl-ducaine: Whta's especially odd, is that I find asdf itself very easy and intuive to setup and use, it's only when I go out of the ordinary and have to look up features in the documentation that I run into trouble. 2017-10-05T05:59:17Z earl-ducaine: The new method for were the local 'repository' is. 2017-10-05T05:59:49Z yaocl joined #lisp 2017-10-05T05:59:52Z earl-ducaine: And how the module system works.... that's still perplexing to me. 2017-10-05T06:00:00Z pillton: Oh yeah. I still push on to asdf:*central-registry*. 2017-10-05T06:00:21Z earl-ducaine: i.e. writing extentions that that have dependancies that need to be loaded. 2017-10-05T06:01:19Z milanj joined #lisp 2017-10-05T06:01:40Z pillton: It is pretty straightforward if you use :serial t. 2017-10-05T06:02:39Z jackdaniel: I think earl-ducaine asks about extensions to ASDF itself 2017-10-05T06:02:55Z jackdaniel: earl-ducaine: just add your "extension"-system as dependency in :defsystem-depends-on 2017-10-05T06:04:05Z earl-ducaine: Correct. I had this great (slightly hairbrained) idea that I would going to create a wrapper around cmake that would alow you to bundle c/c++ code with you're lisp and compile it all together. 2017-10-05T06:04:42Z earl-ducaine: Basically one section of your ASDF file would be a Makefile. 2017-10-05T06:05:07Z pillton: Well, defsystem-depends-on doesn't solve the need to do weird stuff like https://github.com/cffi/cffi/blob/master/grovel/asdf.lisp#L150 2017-10-05T06:05:25Z pillton: Extensions are hard. I agree with that. 2017-10-05T06:06:06Z aoh quit (Changing host) 2017-10-05T06:06:06Z aoh joined #lisp 2017-10-05T06:06:55Z earl-ducaine: jackdaniel: it looked like that should work to me too. But for some reason the systems I was expecting to be available weren't. 2017-10-05T06:07:10Z pillton: I refuse to do what is done in CFFI so I keep using eval-when like the old days. 2017-10-05T06:07:28Z nika quit (Remote host closed the connection) 2017-10-05T06:07:34Z dec0n joined #lisp 2017-10-05T06:07:58Z jackdaniel: pillton: file you have linked is implementaion of said extension 2017-10-05T06:08:18Z jackdaniel: s/said/such/ 2017-10-05T06:08:47Z jackdaniel: to use groveller (and it's file types) you do :defsystem-depends-on ("cffi-groveller") 2017-10-05T06:08:49Z nika joined #lisp 2017-10-05T06:09:12Z earl-ducaine: In any case what I was trying was probably not practicle.... But the biggest impediment was that I couldn't picture in my head what ASDF was doing and therefor I didn't even know where to start troubleshooting. 2017-10-05T06:10:18Z jackdaniel: earl-ducaine: defsystem-depends-on systems (and their dependencies) are loaded, before further defsystem processing is happening 2017-10-05T06:10:24Z vlatkoB joined #lisp 2017-10-05T06:10:45Z jackdaniel: so basically you implement ASDF extension in "ordinary" system, and you put this new system as dependency in :defsystem-depends-on 2017-10-05T06:11:27Z jackdaniel: not that I like ASDF architecture, just saying that his scenario is covered 2017-10-05T06:11:33Z jackdaniel: s/his/this/ 2017-10-05T06:11:38Z pillton: jackdaniel: Without those setf forms you would have to use cffi-grovel:grovel-file in your system definition. This would signal an error upon reading the system definition because the package cffi-grovel would not exist. 2017-10-05T06:12:39Z elderK joined #lisp 2017-10-05T06:12:39Z elderK quit (Changing host) 2017-10-05T06:12:39Z elderK joined #lisp 2017-10-05T06:12:49Z jackdaniel: pillton: ah, that's what you mean, right. fact, that asd files are "ordinary" lisp files is the biggest flaws of asdf imho 2017-10-05T06:13:32Z pillton: That or the design of packages. 2017-10-05T06:14:28Z Karl_Dscc quit (Remote host closed the connection) 2017-10-05T06:15:01Z jackdaniel: I like packaging system in CL, things would be much worse without it. To "solve" this setf "issue" one could do (in-package #:asdf) instead of (in-package #:cffi-grovel) 2017-10-05T06:15:23Z jackdaniel: and that would be approximation of not having packages (at least locally for asdf extensions) 2017-10-05T06:17:19Z smokeink joined #lisp 2017-10-05T06:19:05Z flamebeard joined #lisp 2017-10-05T06:19:34Z pillton: I am certainly not advocating a single namespace. I just think the package system in its current form does not scale. 2017-10-05T06:19:52Z earl-ducaine: jackdaniel: Rereading the asdf dockment I think that might have been my problem, i.e. I hadn't noticed that there was both depnds-on and defsystem-depends-on. 2017-10-05T06:22:05Z earl-ducaine: Your suggested approach of writting everything as an ordinary asdf system and then including it using defsystem-depends-on didn't even occure to me. That would have saved me a ton difficults with respect to trying to debug and figure out why things weren't working. 2017-10-05T06:24:33Z mishoo quit (Ping timeout: 248 seconds) 2017-10-05T06:29:06Z emaczen: Can you use https with hunchentoot:define-easy-handler? 2017-10-05T06:32:25Z elderK quit (Quit: WeeChat 1.9) 2017-10-05T06:34:28Z jackdaniel: emaczen: I think that depends on the acceptor 2017-10-05T06:34:38Z jackdaniel: if it is ssl acceptor, then easy handler will go with https 2017-10-05T06:34:47Z jackdaniel: if not, then it will go with http 2017-10-05T06:35:05Z emaczen: yes that's right now that I recall some details. 2017-10-05T06:35:09Z jackdaniel: earl-ducaine: glad I could put you on a good track 2017-10-05T06:35:23Z al-damiri quit (Quit: Connection closed for inactivity) 2017-10-05T06:35:35Z emaczen: I usually have an easy-acceptor that haven't dealt explicitly with in a bit. 2017-10-05T06:37:27Z scymtym quit (Ping timeout: 260 seconds) 2017-10-05T06:45:03Z shka_ quit (Ping timeout: 240 seconds) 2017-10-05T06:45:26Z mishoo joined #lisp 2017-10-05T06:47:35Z orivej joined #lisp 2017-10-05T06:59:30Z safe quit (Read error: Connection reset by peer) 2017-10-05T06:59:34Z earl-ducaine: Anyone familiar with cl-fad? I'm getting an odd result for cl-fad:pathname-equal: 2017-10-05T06:59:35Z earl-ducaine: https://gist.github.com/2aa8cc1f0cbcfa7ccd9256f63380e723 2017-10-05T07:00:20Z earl-ducaine: ^ returns nil (sbcl) when I would expect t 2017-10-05T07:01:26Z damke_ quit (Read error: Connection reset by peer) 2017-10-05T07:01:49Z damke joined #lisp 2017-10-05T07:05:09Z Shinmera: earl-ducaine: (pathname-version #p"/") vs. (pathname-version #p"/foo") 2017-10-05T07:05:40Z Shinmera: since p-d-p does not eliminate the version you get the mismatch. 2017-10-05T07:05:58Z loke: Are you sure? 2017-10-05T07:06:02Z Shinmera: I am. 2017-10-05T07:06:06Z Shinmera: I just tested it. 2017-10-05T07:06:09Z loke: The mismatch happens at the call to PATHNAME-NAME-EQUAL 2017-10-05T07:06:52Z loke: (cl-fad::pathname-name-equal *a* *b*) ⇒ NIL 2017-10-05T07:07:07Z Shinmera: https://filebox.tymoon.eu//file/TVRReU9BPT0= 2017-10-05T07:07:45Z loke: Shinmera: Right. But if you look at the implementation of PATHNAME-EQUAL it checks several things, and theit won 2017-10-05T07:07:49Z loke: t evet get to the version check 2017-10-05T07:07:57Z loke: it already fails on PATHNAME-NAME-EQUAL 2017-10-05T07:08:31Z Shinmera: That's odd, then. 2017-10-05T07:08:38Z loke: Right. That's what I'm saying 2017-10-05T07:09:00Z loke: Unless I made a mistake... hang on... 2017-10-05T07:09:04Z earl-ducaine: oh... probably because it things any name with a period in it is a file. 2017-10-05T07:09:24Z earl-ducaine: s/things/thinks/ 2017-10-05T07:09:31Z loke: You're right 2017-10-05T07:09:37Z loke: it was a typo on my part 2017-10-05T07:09:57Z loke: It' 2017-10-05T07:10:07Z loke: It's definitely the version, just like Shinmera said. 2017-10-05T07:10:15Z varjag joined #lisp 2017-10-05T07:10:47Z Shinmera wonders whether he should include a way to ignore components in pathname-utils' pathname= 2017-10-05T07:11:40Z loke: The defauly should probably to ignore :VERSION :-) 2017-10-05T07:11:54Z loke: After all, EQUAL on pathnames (on SBCL) doeems to do so) 2017-10-05T07:12:15Z Shinmera: Well, I have a PATHNAME=, and a PATHNAME-EQUAL. 2017-10-05T07:12:32Z Shinmera: The latter does a truename comparison, though. 2017-10-05T07:13:01Z saki quit (Ping timeout: 240 seconds) 2017-10-05T07:13:08Z Shinmera: I guess I'll add a :ignore-version argument. 2017-10-05T07:13:51Z saki joined #lisp 2017-10-05T07:14:52Z carenz_ joined #lisp 2017-10-05T07:18:15Z Shinmera: Woop. http://shinmera.github.io/pathname-utils/?refresh#PATHNAME-UTILS:PATHNAME= 2017-10-05T07:18:19Z yaocl quit (Quit: yaocl) 2017-10-05T07:18:26Z saki quit (Ping timeout: 255 seconds) 2017-10-05T07:26:05Z yaocl joined #lisp 2017-10-05T07:26:05Z marvin2 joined #lisp 2017-10-05T07:27:26Z earl-ducaine quit (Ping timeout: 258 seconds) 2017-10-05T07:36:25Z nicklaf joined #lisp 2017-10-05T07:48:19Z scymtym joined #lisp 2017-10-05T07:50:53Z panji quit (Read error: Connection reset by peer) 2017-10-05T07:53:12Z _cosmonaut_ joined #lisp 2017-10-05T07:54:35Z jibanes quit (Ping timeout: 240 seconds) 2017-10-05T07:54:39Z daemoz quit (Ping timeout: 258 seconds) 2017-10-05T08:00:29Z scymtym_ joined #lisp 2017-10-05T08:04:26Z scymtym quit (Ping timeout: 246 seconds) 2017-10-05T08:05:42Z CrazyEddy joined #lisp 2017-10-05T08:15:10Z pillton quit (Ping timeout: 240 seconds) 2017-10-05T08:19:46Z milanj quit (Quit: This computer has gone to sleep) 2017-10-05T08:20:22Z yaocl quit (Quit: yaocl) 2017-10-05T08:22:21Z knobo joined #lisp 2017-10-05T08:22:33Z anunnaki quit (Ping timeout: 240 seconds) 2017-10-05T08:23:31Z yaocl joined #lisp 2017-10-05T08:28:07Z attila_lendvai joined #lisp 2017-10-05T08:33:15Z nirved joined #lisp 2017-10-05T08:33:32Z loke: Shinmera: that was quick 2017-10-05T08:40:42Z hhdave joined #lisp 2017-10-05T08:43:35Z epony quit (Ping timeout: 240 seconds) 2017-10-05T08:44:34Z Shinmera: It was also a trivial change :) 2017-10-05T08:45:36Z manny8888 joined #lisp 2017-10-05T08:45:45Z d4ryus1 joined #lisp 2017-10-05T08:48:24Z knicklux quit (Remote host closed the connection) 2017-10-05T08:48:41Z d4ryus quit (Ping timeout: 240 seconds) 2017-10-05T08:48:52Z epony joined #lisp 2017-10-05T08:50:56Z yaocl quit (Quit: yaocl) 2017-10-05T08:53:21Z jameser quit (Ping timeout: 248 seconds) 2017-10-05T08:57:34Z jameser joined #lisp 2017-10-05T08:57:54Z flip214: I still don't "get" CFFI with respect to its pointer handling. 2017-10-05T08:58:14Z flip214: I've got a library with some initialize(void **foo) function... 2017-10-05T08:59:08Z flip214: and it initializes the destination stored in the pointer 2017-10-05T08:59:27Z flip214: and later on I need to pass the pointer _data_ on, how would I do that in CFFI? 2017-10-05T08:59:51Z flip214: (let ((foo (make-pointer 0))) (initialize foo)) 2017-10-05T09:00:13Z flip214: passes the _content_ (in this case the 0) to the function, right? 2017-10-05T09:00:49Z flip214: so how would I tell CFFI to pass the address of the pointer to that function? 2017-10-05T09:09:47Z easye: flip214: Not actually sure, but I think you want to get a "shared memory reference" from CFFI to pass. 2017-10-05T09:09:52Z beach: Pointers are values. They don't have addresses. Only l-values have addresses, like variables, struct fields, etc. 2017-10-05T09:10:44Z flip214: beach: thanks... 2017-10-05T09:11:30Z flip214: I found a stackoverflow that says to use mem-ref: https://stackoverflow.com/questions/35841771/common-lisp-cffi-pointer-to-the-pointer 2017-10-05T09:11:33Z smokeink quit (Ping timeout: 240 seconds) 2017-10-05T09:11:43Z flip214: playing around with that right now 2017-10-05T09:11:48Z flip214: easye: also, thanks ;) 2017-10-05T09:16:17Z loke: flip214: In 99% of cases where void ** is used, it's being used incorrectly (i.e. not following the spec) 2017-10-05T09:17:12Z loke: flip214: If you want to pass a pointer to a pointer (which I presume you want the function to fill in, do this: 2017-10-05T09:17:20Z CrazyEddy quit (Remote host closed the connection) 2017-10-05T09:18:07Z papachan joined #lisp 2017-10-05T09:18:40Z CrazyEddy joined #lisp 2017-10-05T09:19:12Z loke: (with-foreign-object (p '(:pointer :void)) (some-function p)) 2017-10-05T09:19:58Z flip214: loke: hmmm, thanks.... 2017-10-05T09:20:27Z flip214: but if I read the CFFI manual correctly the (:pointer :void) etc. things are just _documentation_? 2017-10-05T09:20:47Z flip214: so I'd have understood that CFFI would pass the pointer _value_ in, not the _address_ 2017-10-05T09:21:03Z papachan quit (Client Quit) 2017-10-05T09:24:55Z daemoz joined #lisp 2017-10-05T09:27:36Z manny8888 quit (Quit: Konversation terminated!) 2017-10-05T09:27:45Z Beetny joined #lisp 2017-10-05T09:29:02Z margeas joined #lisp 2017-10-05T09:29:33Z vaporatorius quit (Ping timeout: 240 seconds) 2017-10-05T09:33:31Z heurist` is now known as heurist 2017-10-05T09:34:11Z manny8888 joined #lisp 2017-10-05T09:34:46Z jibanes joined #lisp 2017-10-05T09:36:32Z anunnaki joined #lisp 2017-10-05T09:38:35Z manny8888 quit (Ping timeout: 246 seconds) 2017-10-05T09:40:12Z Harag quit (Quit: Harag) 2017-10-05T09:44:05Z loke: flip214: The '(:pointer :void) allocates enough space for a pointer. The :void part would only be useful on paltforms where pointers to different things have difference sizes, but I don't believe CFFI supports any such platforms 2017-10-05T09:44:58Z loke: the key is WITH-FOREIGN-OBJECT, which will returns a pointer to some memory. That memory is big enough to hold a pointer. The thing you pass to the function is therefore a pointer to a pointer. 2017-10-05T09:49:02Z clintm joined #lisp 2017-10-05T09:50:56Z nowhereman quit (Read error: Connection reset by peer) 2017-10-05T09:55:06Z nowhereman joined #lisp 2017-10-05T09:55:44Z flip214: loke: thanks, trying 2017-10-05T09:58:25Z araujo_ quit (Quit: Leaving) 2017-10-05T10:02:41Z nicklaf quit (Ping timeout: 248 seconds) 2017-10-05T10:03:30Z nicklaf joined #lisp 2017-10-05T10:03:32Z araujo joined #lisp 2017-10-05T10:09:32Z gorgor joined #lisp 2017-10-05T10:15:19Z merv_ joined #lisp 2017-10-05T10:16:15Z arbv quit (Quit: ZNC - http://znc.in) 2017-10-05T10:17:29Z arbv joined #lisp 2017-10-05T10:21:04Z merv_ quit 2017-10-05T10:21:20Z merv_ joined #lisp 2017-10-05T10:22:23Z merv_ is now known as Merv_ 2017-10-05T10:27:45Z shrdlu68 joined #lisp 2017-10-05T10:27:46Z Merv is now known as Guest85274 2017-10-05T10:28:41Z Merv_ is now known as pootler 2017-10-05T10:30:43Z d4ryus1 is now known as d4ryus 2017-10-05T10:37:38Z papachan joined #lisp 2017-10-05T10:37:53Z Guest85274 is now known as morthwyl 2017-10-05T10:40:51Z pootler quit 2017-10-05T10:42:56Z morthwyl quit 2017-10-05T10:43:08Z nika quit (Remote host closed the connection) 2017-10-05T10:44:58Z Bike joined #lisp 2017-10-05T10:47:07Z nicklaf quit (Ping timeout: 260 seconds) 2017-10-05T10:47:09Z nika joined #lisp 2017-10-05T10:47:09Z carenz_ quit (Ping timeout: 258 seconds) 2017-10-05T10:47:56Z nicklaf joined #lisp 2017-10-05T10:57:42Z vaporatorius joined #lisp 2017-10-05T11:01:04Z vap1 joined #lisp 2017-10-05T11:01:08Z orivej quit (Ping timeout: 240 seconds) 2017-10-05T11:01:28Z damke_ joined #lisp 2017-10-05T11:03:21Z damke quit (Ping timeout: 240 seconds) 2017-10-05T11:06:36Z nika quit (Remote host closed the connection) 2017-10-05T11:11:42Z EvW1 joined #lisp 2017-10-05T11:19:27Z wigust quit (Ping timeout: 248 seconds) 2017-10-05T11:21:18Z wigust joined #lisp 2017-10-05T11:29:19Z Bike quit (Ping timeout: 258 seconds) 2017-10-05T11:37:39Z Bike joined #lisp 2017-10-05T11:40:21Z Beetny quit (Ping timeout: 240 seconds) 2017-10-05T11:44:41Z nicklaf quit (Quit: leaving) 2017-10-05T11:48:32Z yrk joined #lisp 2017-10-05T11:49:59Z yaocl joined #lisp 2017-10-05T12:02:09Z Xal quit (Ping timeout: 248 seconds) 2017-10-05T12:04:15Z Xal joined #lisp 2017-10-05T12:08:21Z beach` joined #lisp 2017-10-05T12:09:10Z beach quit (Disconnected by services) 2017-10-05T12:09:23Z beach` is now known as beach 2017-10-05T12:10:58Z dddddd joined #lisp 2017-10-05T12:17:16Z yaocl quit (Quit: yaocl) 2017-10-05T12:19:56Z lnostdal joined #lisp 2017-10-05T12:30:44Z EvW1 quit (Ping timeout: 255 seconds) 2017-10-05T12:32:50Z pedh joined #lisp 2017-10-05T12:38:20Z abrcdbr joined #lisp 2017-10-05T12:39:05Z Bike quit (Ping timeout: 258 seconds) 2017-10-05T12:39:35Z papachan quit (Ping timeout: 240 seconds) 2017-10-05T12:42:10Z EvW joined #lisp 2017-10-05T12:42:56Z malice joined #lisp 2017-10-05T12:43:33Z shifty quit (Ping timeout: 240 seconds) 2017-10-05T12:45:35Z kslt1 quit (Quit: leaving) 2017-10-05T12:46:39Z serviteur joined #lisp 2017-10-05T12:47:16Z serviteur quit (Remote host closed the connection) 2017-10-05T12:47:24Z serviteur joined #lisp 2017-10-05T12:48:28Z wxie joined #lisp 2017-10-05T12:51:03Z Xal quit (Ping timeout: 240 seconds) 2017-10-05T12:51:18Z himmAllRight quit (Quit: No Ping reply in 180 seconds.) 2017-10-05T12:52:34Z himmAllRight joined #lisp 2017-10-05T12:53:05Z orivej joined #lisp 2017-10-05T12:54:50Z Xal joined #lisp 2017-10-05T12:56:54Z yaocl joined #lisp 2017-10-05T12:58:02Z mson joined #lisp 2017-10-05T12:58:39Z mishoo quit (Ping timeout: 248 seconds) 2017-10-05T12:58:46Z slyrus joined #lisp 2017-10-05T13:01:05Z damke joined #lisp 2017-10-05T13:03:36Z damke_ quit (Ping timeout: 246 seconds) 2017-10-05T13:03:44Z Josh_2 joined #lisp 2017-10-05T13:04:40Z malice: How can I set the slot of the class to the name of the class? 2017-10-05T13:04:43Z yaocl quit (Quit: yaocl) 2017-10-05T13:04:48Z malice: I've tried this, but it looks like it's not working: http://paste.lisp.org/+7O09 2017-10-05T13:04:51Z milanj joined #lisp 2017-10-05T13:05:12Z malice: basically I've got clox-error base class that is a subclass of error, and then other error classes that derive from clox-error. 2017-10-05T13:05:23Z EvW quit (Ping timeout: 255 seconds) 2017-10-05T13:05:34Z malice: I thought that putting this code in there would set the slot to the proper value 2017-10-05T13:06:13Z malice: Instead I get SIMPLE-ERROR telling me that slot error-name is unbound 2017-10-05T13:06:57Z |3b|: are you allowed to make-instance ERRORs? 2017-10-05T13:06:59Z _death: error is not a class, it is a condition type 2017-10-05T13:07:40Z malice: I thought it was both. 2017-10-05T13:07:43Z |3b|: well, it is a class too, just not a standard-class 2017-10-05T13:07:57Z malice: I am not making-instance ERRORS. I create them with ERROR/CERROR. 2017-10-05T13:08:20Z |3b|: " make-condition, not make-instance, must be used to create condition objects explicitly. " 2017-10-05T13:08:22Z malice: I just thought it would create a condition object, and so I wanted to make fill the error's error-name slot with the class name 2017-10-05T13:08:38Z |3b|: clhs condition 2017-10-05T13:08:38Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/e_cnd.htm 2017-10-05T13:08:42Z _death: 3b: despite it having a "Class Precedence List" entry, I've not seen evidence for this 2017-10-05T13:09:47Z |3b|: clhs 9.1.1 2017-10-05T13:09:47Z specbot: Condition Types: http://www.lispworks.com/reference/HyperSpec/Body/09_aa.htm 2017-10-05T13:09:53Z |3b|: "The metaclass of the class condition is not specified. " 2017-10-05T13:10:08Z Achylles joined #lisp 2017-10-05T13:10:47Z _death: 3b: the committee wanted to make it possible for CLOS-less implementations to support conditions 2017-10-05T13:10:47Z malice: So is there some (preferably portable!) way to set condition's slot to the condition's name? So clox-error's error-name would be "Clox-error", and the another-error that derives from clox-error would have a error-name slot filled with "Another-error"? 2017-10-05T13:11:56Z epony quit (Quit: QUIT) 2017-10-05T13:12:11Z |3b|: _death: right, being a class isn't a particularly useful property of condition, since you can't do much with it :) 2017-10-05T13:12:13Z kslt1 joined #lisp 2017-10-05T13:12:22Z _death: 3b: doesn't seem like much of a class if you can't subclass it.. and note it uses the term "supertype".. I think the use of "class" and "class precedence list" is just simple confusion 2017-10-05T13:12:52Z jackdaniel: malice: (define-condition clox-error (error) ((name :initarg :name :initform "Clox-error"))) 2017-10-05T13:13:07Z malice: jackdaniel: yes, but then I would have to do the same for each of the subclasses. 2017-10-05T13:13:17Z Bike joined #lisp 2017-10-05T13:13:20Z malice: And the goal was to provide an easy way of setting it automatically. 2017-10-05T13:13:21Z jackdaniel: yes, that's basically how inheritance works 2017-10-05T13:13:34Z _death: 3b: since they can't portably be used as classes, I think it's best to just consider them nonclasses, even if they may be represented as classes in certain implementations 2017-10-05T13:13:38Z malice: I could do that with macro, but that seems like an overkill. 2017-10-05T13:14:03Z jackdaniel: syntactic sugar causes cancer of the parenthesis 2017-10-05T13:15:41Z |3b|: _death: i think you can still define methods on them 2017-10-05T13:17:10Z scymtym_: malice: your slot will have a reader, right? just replace that with (defmethod clox-error-name ((condition clox-error)) (string-capitalize (type-of condition))) 2017-10-05T13:18:47Z malice: scymtym_: Now that's a simple idea that has never crossed my mind. 2017-10-05T13:19:48Z |3b| quit (Quit: b) 2017-10-05T13:20:30Z malice: scymtym_: Perfect. I have overcomplicated this. Thank you for help! 2017-10-05T13:20:53Z |3b| joined #lisp 2017-10-05T13:21:07Z saki joined #lisp 2017-10-05T13:22:17Z _death: 3b: it seems there are classes that correspond to condition types.. so you can count on the class precedence list and can specialize on them 2017-10-05T13:22:29Z _death: clhs 4.3.7 2017-10-05T13:22:29Z specbot: Integrating Types and Classes: http://www.lispworks.com/reference/HyperSpec/Body/04_cg.htm 2017-10-05T13:27:01Z phoe: clhs 9.1 2017-10-05T13:27:01Z specbot: Condition System Concepts: http://www.lispworks.com/reference/HyperSpec/Body/09_a.htm 2017-10-05T13:27:03Z damke quit (Ping timeout: 246 seconds) 2017-10-05T13:27:06Z phoe: "A hierarchy of condition classes is defined in Common Lisp." 2017-10-05T13:27:24Z phoe: so you can specialize on condition classes 2017-10-05T13:29:25Z damke joined #lisp 2017-10-05T13:34:41Z _death: yes.. so there are condition types and corresponding classes, which are not standard classes 2017-10-05T13:35:44Z _death: good, the issue is now settled in my mind ;) 2017-10-05T13:36:37Z shrdlu68 quit (Quit: Lost terminal) 2017-10-05T13:37:37Z Josh_2: tutorialspoint.com gets closing parentheses wrong... putting them on the next line. 2017-10-05T13:42:55Z phoe: Josh_2: where? 2017-10-05T13:42:57Z phoe: give me links 2017-10-05T13:45:44Z phoe: https://www.tutorialspoint.com/lisp/ could use an update in general 2017-10-05T13:47:06Z Josh_2: https://www.tutorialspoint.com/lisp/lisp_error_handling.htm 2017-10-05T13:50:33Z phoe: this page is shit 2017-10-05T13:51:11Z phoe: very bad indentation, dangling parens, single quotes interpreted as strings 2017-10-05T13:51:12Z phoe: guhhh 2017-10-05T13:51:19Z dlowe: and they're calling it LISP :) 2017-10-05T13:51:22Z Josh_2: It's pretty ugly 2017-10-05T13:51:23Z phoe: Josh_2: do yourself a favor and stop using it, there are better resources. 2017-10-05T13:51:26Z phoe: dlowe: GRRRRRR 2017-10-05T13:51:32Z Josh_2: I don't use it 2017-10-05T13:51:33Z m00natic joined #lisp 2017-10-05T13:51:34Z _death: "error format-string &rest args It signals a fatal error. It is impossible to continue from this kind of error; thus error will never return to its caller." 2017-10-05T13:51:35Z Josh_2: I mean normally anyways 2017-10-05T13:51:40Z phoe: Josh_2: good. 2017-10-05T13:51:42Z dlowe: yeah, this is pretty terrible 2017-10-05T13:51:44Z _death: didn't they just show how to continue in the previous section 2017-10-05T13:52:00Z dlowe: I wonder who wrote it 2017-10-05T13:52:10Z Josh_2: But I don't understand the error handling chapter in PCL 2017-10-05T13:52:17Z phoe: Josh_2: then ask questions 2017-10-05T13:52:34Z phoe: go work on PCL's error handling, and ask here or on #clnoobs any questions you might have 2017-10-05T13:52:55Z Josh_2: waits for pjb to make a joke about googling stuff 2017-10-05T13:53:22Z _death: Josh_2: I recommend Kent Pitman's articles.. http://www.nhplace.com/kent/Papers/Exceptional-Situations-1990.html http://www.nhplace.com/kent/Papers/Condition-Handling-2001.html 2017-10-05T13:53:41Z phoe: Josh_2: nothing to google in this case. Tell us what you don't understand in PCL's error handling page, or the articles from kmp that _death just posted. 2017-10-05T13:53:59Z dlowe: huh. you can execute common lisp right in the site. 2017-10-05T13:54:53Z phoe: dlowe: it's been possible for a long time, ever since people started hooking compilers to webpages 2017-10-05T13:55:26Z Josh_2: I've never done error handling past try: and except in Python, so it is actually a new concept. I'll ask questions when I get stuck. I'll also read those articles _death thanks. 2017-10-05T13:56:05Z sjl quit (Ping timeout: 240 seconds) 2017-10-05T13:57:38Z pjb: or just check the logs ;-) 2017-10-05T13:59:46Z mishoo joined #lisp 2017-10-05T14:02:22Z EvW joined #lisp 2017-10-05T14:04:48Z pedh quit (Quit: pedh) 2017-10-05T14:10:33Z lnostdal quit (Quit: lnostdal) 2017-10-05T14:12:15Z wxie quit (Remote host closed the connection) 2017-10-05T14:14:54Z abrcdbr quit (Quit: Textual IRC Client: www.textualapp.com) 2017-10-05T14:19:47Z deba5e12 joined #lisp 2017-10-05T14:26:15Z cromachina quit (Read error: Connection reset by peer) 2017-10-05T14:27:44Z hexfive joined #lisp 2017-10-05T14:28:45Z rumbler31 joined #lisp 2017-10-05T14:34:36Z scymtym_ quit (Ping timeout: 246 seconds) 2017-10-05T14:41:09Z LiamH joined #lisp 2017-10-05T14:44:56Z deba5e12 quit (Quit: WeeChat 1.9.1) 2017-10-05T14:47:08Z dim: hi 2017-10-05T14:47:27Z dim: beach: may I ask how you typically deal with books proof-reading? 2017-10-05T14:51:17Z deba5e12 joined #lisp 2017-10-05T14:53:48Z _ark_ joined #lisp 2017-10-05T14:54:45Z moei joined #lisp 2017-10-05T14:55:41Z deba5e12 quit (Client Quit) 2017-10-05T14:56:00Z beach: dim: Sure. 2017-10-05T14:56:09Z beach: dim: I do a lot myself. 2017-10-05T14:56:44Z beach: dim: Then I have my wife who has a PhD in English and who, at some point in her life, worked as a copy editor. So that helps. But she is often busy. 2017-10-05T14:57:06Z deba5e12 joined #lisp 2017-10-05T14:57:14Z rippa joined #lisp 2017-10-05T14:57:19Z beach: dim: Then I have my favorite co-author who is French, but her English is quite good, and she catches many mistakes. 2017-10-05T14:57:47Z Achylles quit (Remote host closed the connection) 2017-10-05T14:57:54Z dec0n quit (Read error: Connection reset by peer) 2017-10-05T14:58:55Z beach: dim: flip214 is also a good proofreader. He has done several of my articles, for which he is included in the acknowledgments. But for an entire book, you probably need to pay him. 2017-10-05T15:01:46Z dim: thanks 2017-10-05T15:01:55Z beach: Not sure that was very helpful. 2017-10-05T15:02:03Z dim: so that's comparable to my current set-up, even tho I'm not as lucky as you are with people around me 2017-10-05T15:02:05Z beach: You do need someone who is not you. 2017-10-05T15:02:16Z dim: I'm doing the basics with Grammarly 2017-10-05T15:02:25Z beach: I see. 2017-10-05T15:02:47Z dim: then I have a good friend who's American so learnts proper grammar English at school there, and he's kind of annal about that, so that makes him a good reviewer ;-) 2017-10-05T15:02:54Z beach: I don't usually have problems with the grammar, but I sometimes make stupid mistakes of course. 2017-10-05T15:03:04Z dim: we all do, of course 2017-10-05T15:03:08Z beach: Yes, that's good. 2017-10-05T15:03:14Z dim: I'm discovering the punctuation rules, myself 2017-10-05T15:03:21Z dim: they are quite different in English 2017-10-05T15:03:26Z dim: Of course, you get used to them. 2017-10-05T15:03:30Z beach: They are, yes. 2017-10-05T15:03:32Z dim: (see that comma afeter of course?) 2017-10-05T15:03:58Z knobo quit (Ping timeout: 264 seconds) 2017-10-05T15:04:03Z dim: Grammarly helps, even the free version of it 2017-10-05T15:04:20Z beach: Oh, I didn't realize there was a free version. 2017-10-05T15:04:28Z beach: Does it run on Linux? 2017-10-05T15:04:34Z dim: in a browser... 2017-10-05T15:04:40Z beach: Oh, I see. 2017-10-05T15:04:47Z dim: lots of copy/paste, I'm getting mad today 2017-10-05T15:05:23Z dim: e.g. “It appears that you have extra spaces surrounding the slash between the words key and value. Consider removing the extra spaces.” 2017-10-05T15:05:35Z Josh_2: I only found out yesterday that Grammarly uses CL. 2017-10-05T15:06:05Z heurist` joined #lisp 2017-10-05T15:06:06Z dim: do they? 2017-10-05T15:06:21Z beach: It is written in Common Lisp, or at least that is what I have heard. 2017-10-05T15:06:34Z Josh_2: https://tech.grammarly.com/blog/posts/Running-Lisp-in-Production.html 2017-10-05T15:06:45Z Josh_2: That was 2015, they could have changed ofcourse. 2017-10-05T15:06:48Z flamebeard quit (Quit: Leaving) 2017-10-05T15:07:52Z mson quit (Quit: Connection closed for inactivity) 2017-10-05T15:08:47Z Josh_2: Clojure and CL which is nice 2017-10-05T15:08:47Z heurist quit (Ping timeout: 248 seconds) 2017-10-05T15:16:40Z drwooly joined #lisp 2017-10-05T15:22:49Z drwooly quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-10-05T15:27:57Z SaganMan joined #lisp 2017-10-05T15:50:34Z neoncontrails joined #lisp 2017-10-05T15:55:23Z emaczen: is there a library for streaming video? 2017-10-05T15:58:30Z wheelsucker joined #lisp 2017-10-05T16:01:47Z pjb: emaczen: not in Common Lisp, not to do the streaming of the bits. 2017-10-05T16:03:09Z varjag quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2017-10-05T16:03:11Z pjb: emaczen: however, RTSP is an ASCII based protocol similar to HTTP, so you could easily drive a video streamer using Common Lisp. 2017-10-05T16:03:39Z emaczen: pjb: I'll look into that. Would I then control it via Drakma? 2017-10-05T16:04:38Z pjb: For the most basic requests, IIRC, it should be possible. But if you want finer control, you will probably want to implement it yourself. 2017-10-05T16:05:23Z pjb: Also, that would depend on drakma, if it would accept the RTSP answers: http://ptgmedia.pearsoncmg.com/images/chap3_0131014684/elementLinks/03fig08.gif 2017-10-05T16:06:34Z pjb: Yeah, probably forget drakma, it'll be simplier to implement RTSP directly. You could always use drakma as a model I guess. 2017-10-05T16:06:49Z emaczen: pjb: This is just the client-side right? 2017-10-05T16:07:30Z pjb: Yes. 2017-10-05T16:08:03Z pjb: The thing is that for the streaming part, you would rather want to implement that in C or C++; there are some real-time constraints, and you want to be efficient. 2017-10-05T16:08:13Z emaczen: I also need something to just start the stream 2017-10-05T16:08:25Z pjb: On the other hand, you may also stream directly from disk, where the file contains the pre-formated streams, so it may be feasible in CL. 2017-10-05T16:08:52Z emaczen: I'm just trying to capture a webcam feed 2017-10-05T16:08:54Z pjb: RTSP is the command language for a streamer. It's the <> buttons 2017-10-05T16:09:39Z pjb: Now, webcam are a different beast. If they're on the web, they often use page refresh. Not streaming, but posting jpeg static images. 2017-10-05T16:10:03Z Jesin joined #lisp 2017-10-05T16:10:47Z emaczen: pjb: Can you point me somewhere for how I can get the the feed of a webcam on my local network? 2017-10-05T16:11:19Z nika joined #lisp 2017-10-05T16:12:12Z emaczen: and then just display it via the HTML video tag? 2017-10-05T16:13:21Z _cosmonaut_ quit (Ping timeout: 248 seconds) 2017-10-05T16:15:38Z Karl_Dscc joined #lisp 2017-10-05T16:16:33Z pjb: emaczen: it really depends on your camera. Also you have to distinguish webcams from IP cams. webcams put on the network mere web pages, thru the http protocol: https://www.earthcam.com 2017-10-05T16:17:22Z pjb: webcams that want to do streaming to avoid the multiple http page reload, usually use a javascript applet to send the stream. I don't know what protocol they use, probably some custom protocol, I'd guess. 2017-10-05T16:17:47Z pjb: IP cams on the other hand would stream with standard IPTV formats, and have a RTSP server to get the commands. 2017-10-05T16:18:21Z pjb: So you should check the documentation of your webcam, and see what protocols it implements. 2017-10-05T16:18:21Z emaczen: usb webcam 2017-10-05T16:18:32Z emaczen: Ok I'll look into it 2017-10-05T16:18:47Z emaczen: I'm just having a hard time finding a starting point 2017-10-05T16:19:02Z |3b|: for usb you probably want to look into some video capture libs 2017-10-05T16:19:03Z pjb: Oh, if you mean you have a usb camera hooked on your computer and you want to send the images to the network, then you have to implement your own server. 2017-10-05T16:19:19Z pjb: Do you want to implement a webcam, or a video stream/ 2017-10-05T16:19:20Z pjb: ? 2017-10-05T16:20:20Z tonton quit (Ping timeout: 255 seconds) 2017-10-05T16:20:38Z |3b|: yeah, better specification of what you want might get better advice :) 2017-10-05T16:21:43Z pjb: To capture the usb image, there are libraries on Linux. 2017-10-05T16:21:53Z tonton joined #lisp 2017-10-05T16:22:42Z pjb: v42l, libfg2, coriander, etc. 2017-10-05T16:23:00Z pjb: The question is to find the library that has the driver that works with your webcam… 2017-10-05T16:23:17Z pjb: https://en.wikipedia.org/wiki/Video4Linux 2017-10-05T16:24:22Z pjb: Then you need to encode the pictures or video from the camera, and "forward it to the network". If you implement a web cam, you just need to take a snapshot at a low frequency (say 1 or 2 Hz), and to put a website (can be Hunchentoot), to publish a web page with a refresh at the same frequency. 2017-10-05T16:24:40Z emaczen: pjb: Thanks this seems to be what I want 2017-10-05T16:25:22Z pjb: And if you want to send a "real-time" video stream, then you need to encode the video (mpeg, h.262, etc) and stream it (better rely on C/C++ libraries), upon RTSP request you'd receive in your RTSP server (which can be implemented in CL without difficulties). 2017-10-05T16:26:02Z pjb: I assume you're on Linux, right? 2017-10-05T16:26:03Z pjb: https://linuxtv.org/downloads/v4l-dvb-apis/ 2017-10-05T16:28:29Z emacsomancer joined #lisp 2017-10-05T16:31:27Z pmetzger joined #lisp 2017-10-05T16:34:07Z thinkpad quit (Ping timeout: 248 seconds) 2017-10-05T16:38:39Z Karl_Dscc quit (Remote host closed the connection) 2017-10-05T16:39:04Z serviteu` joined #lisp 2017-10-05T16:40:56Z serviteur quit (Ping timeout: 255 seconds) 2017-10-05T16:45:21Z hhdave quit (Ping timeout: 248 seconds) 2017-10-05T16:50:54Z m00natic quit (Remote host closed the connection) 2017-10-05T16:55:52Z nika quit 2017-10-05T17:00:57Z damke_ joined #lisp 2017-10-05T17:03:21Z damke quit (Ping timeout: 240 seconds) 2017-10-05T17:06:35Z sz0 joined #lisp 2017-10-05T17:06:39Z SaganMan quit (Quit: laters) 2017-10-05T17:08:41Z damke_ quit (Ping timeout: 240 seconds) 2017-10-05T17:11:18Z serviteu` quit (Remote host closed the connection) 2017-10-05T17:11:31Z serviteur joined #lisp 2017-10-05T17:15:38Z scymtym joined #lisp 2017-10-05T17:28:57Z knobo joined #lisp 2017-10-05T17:36:01Z igemnace joined #lisp 2017-10-05T17:41:58Z sebastien_ quit (Quit: Reboot) 2017-10-05T17:42:10Z vlatkoB_ joined #lisp 2017-10-05T17:43:20Z shka_ joined #lisp 2017-10-05T17:43:41Z Jesin quit (Quit: Leaving) 2017-10-05T17:44:00Z rumbler31: emaczen: for the web part, look into MJPEGStreamer, the html side can be as simple as an tag with a multipart response on the server side 2017-10-05T17:44:40Z rumbler31: how you access the feeds from the webcam itself depend on the webcam so you'll have to dig there 2017-10-05T17:45:08Z emaczen: I'm using a raspberrypi -- maybe I should just use picamer 2017-10-05T17:45:10Z emaczen: picamera 2017-10-05T17:45:24Z rumbler31: picam on python 2017-10-05T17:45:25Z rumbler31: er 2017-10-05T17:45:27Z rumbler31: ... 2017-10-05T17:45:30Z emaczen: I was going to use a webcam, but mabye it isn't even worth it 2017-10-05T17:45:41Z emaczen: I don't presently have a picam though... 2017-10-05T17:45:56Z rumbler31: well what was the... camera you were hoping to capture from 2017-10-05T17:46:01Z rumbler31: connected via usb to the pi? 2017-10-05T17:46:03Z vlatkoB quit (Ping timeout: 240 seconds) 2017-10-05T17:46:08Z emaczen: rumbler31: yes 2017-10-05T17:47:27Z rumbler31: raspicam is a package that should get you access to at least a picam, opencv may have built in support for enumerating usb cameras for capture 2017-10-05T17:47:56Z rumbler31: likely there is going to be some cffi work to get access to camera data into lisp, just like I'm pretty sure the python libraries do it 2017-10-05T17:48:36Z rumbler31: what is the ultimate goal? 2017-10-05T17:49:59Z emaczen: rumbler31: Right now, I have some code that will display the video feed from your webcam on your machine in the browser 2017-10-05T17:50:33Z emaczen: rumbler31: Shouldn't there, or is there some kind of way to just redirect this video on my local network? 2017-10-05T17:50:59Z rumbler31: the answer depends on how you expect your end users to consume it 2017-10-05T17:51:27Z rumbler31: if you want them to consume it in their browser, then it sounds like you don't need to do any more work if you're serving the camera data to the browser already 2017-10-05T17:51:45Z sebastien_ joined #lisp 2017-10-05T17:52:14Z rumbler31: can you describe your existing implementation? 2017-10-05T17:52:51Z emaczen: rumbler31: I'm not actually serving any video (which is what I want to do). 2017-10-05T17:52:53Z Jesin joined #lisp 2017-10-05T17:53:26Z emaczen: I pretty much just have a video tag with some record and save file controls 2017-10-05T17:53:48Z emaczen: I want to be able to serve the video feed though. 2017-10-05T17:53:58Z emaczen: If I start my program on localhost, then I can see the feed from my webcam 2017-10-05T17:54:02Z milanj quit (Quit: This computer has gone to sleep) 2017-10-05T17:54:33Z emaczen: If I grab my laptop and access the program running on my desktop, then it will just start a feed from the laptop (which makes sense) 2017-10-05T17:54:43Z emaczen: That's all I have at the moment 2017-10-05T17:57:07Z rumbler31: if you start your program and have it listen on an ip address that isn't localhost, say 0.0.0.0 (for all interfaces on your port of choice), then you should be able to point your browser on your laptop to your desktop IP and be served the same content, right? 2017-10-05T18:03:45Z dlowe: depends on the rest of your network, but normally yes. 2017-10-05T18:04:33Z dlowe: it's not unheard of to isolate clients 2017-10-05T18:04:47Z emaczen: rumbler31: I'm not actually serving the video, I just have a video tag, so it serves HTML which will call getUserMedia() or something like that and display a feed if you have a webcam plugged in. 2017-10-05T18:04:58Z rumbler31: without much else to go on, this topic breaks down to, "How do I access frames of data from the webcam" which depends on the camera, or your os's support for capturing images from it. after that, re-broadcasting is simply a matter of deciding how you want everyone else to consume the content. Chrome has native support for whats called the "never ending push" style http request, where a request for the content 2017-10-05T18:04:58Z rumbler31: s of an tag is fed a never ending multipart response consisting of each jpeg frame 2017-10-05T18:05:47Z rumbler31: emaczen: are you pointing your browser at the webcam? or at a program you wrote, or is the video tag served by the program you wrote directing the browser to the webcam? 2017-10-05T18:05:55Z nydel: i'm trying to get the results of (time (foo)) where the function (foo) plugs the buffer up really quickly... how do i do this, what am i missing? i try (setq x (time (foo))) but x becomes the results of foo.. the idea is that i can't see the time before the buffer is full of thousands of lines 2017-10-05T18:06:12Z nydel: any guidance appreciated, i think i'm missing a core concept 2017-10-05T18:06:31Z emaczen: rumbler31: Just a served HTML file that will get a video stream from your machine and display it in the browser 2017-10-05T18:06:54Z emaczen: I need to serve the encoded video 2017-10-05T18:06:55Z rumbler31: nydel: are you getting any output at all? time probably side-effects by writing to stdio while returning the result of the inner form 2017-10-05T18:08:11Z rumbler31: so you're saying that you don't have code or process that is currently consuming the webcam, you just built a web page with video controls? 2017-10-05T18:08:14Z nydel: rumbler31: the time output does happen but the function is reading from a type of file. i'm trying to see how quickly, and the side-effects are so quickly to-screen that i can't see the time output by the time the buffer is full of the reading data 2017-10-05T18:08:48Z nydel: e.g. (time (print 'foo)) does just the same but i can see the time because it doesn't exceed the length of my terminal (by thousands of lines) 2017-10-05T18:09:03Z rumbler31: nydel: I think time might write to trace-output, you can temporarily, or permanently redirect that output to a file 2017-10-05T18:09:15Z rumbler31: iirc 2017-10-05T18:09:51Z nydel: thanks rumbler31 i'll try just that 2017-10-05T18:09:53Z rumbler31: you will probably be able to google how to redirect trace-output faster than I can paste a code example but that should do it 2017-10-05T18:10:14Z nydel: yeah i already found a page with instructions, just didn't know what i was looking for. this will do it, thank you! 2017-10-05T18:10:22Z |3b|: clhs time 2017-10-05T18:10:22Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/m_time.htm 2017-10-05T18:10:34Z rumbler31: nydel: yw. iirc I just added code to do that so if you get stuck let me know and I'll fish out an example 2017-10-05T18:11:54Z |3b|: (with-output-to-string (*trace-output*) (time ...)) will return a string of whatever time printed 2017-10-05T18:12:12Z nirved quit (Quit: Leaving) 2017-10-05T18:12:58Z |3b|: (and anything else that was printed to *trace-output* by ..., if that is a problem, maybe add a (let ((*trace-output* (make-broadcast-stream))) ) around ...) 2017-10-05T18:16:14Z nydel: just that exactly works |3b| -- i am needing to understand how exactly *trace-output* works. i understand it's a dynamic variable -- looks weird to me in that form -- into the textbooks i go! 2017-10-05T18:16:26Z nydel: thanks everyone i appreciate it 2017-10-05T18:18:42Z |3b|: with-output-to-string (x) probably expands to something like (let ((x (make-string-output-stream))) ...) if that helps make the binding clearer 2017-10-05T18:20:22Z pjb: (macroexpand-1 '(with-output-to-string (x) (foo x))) #| --> (let* ((x (make-string-output-stream))) (unwind-protect (progn (foo x) (get-output-stream-string x)) (close x))) ; t |# 2017-10-05T18:20:46Z pjb: #+ccl, of course, macro expansions are implementation dependent. 2017-10-05T18:22:02Z ym quit (Quit: Leaving) 2017-10-05T18:25:09Z |3b|: sbcl puts the g-o-s-s form at the end but is otherwise similar 2017-10-05T18:25:18Z |3b|: clhs with-output-to-string 2017-10-05T18:25:19Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/m_w_out_.htm 2017-10-05T18:27:14Z dyelar joined #lisp 2017-10-05T18:27:21Z |3b| can't decide if that is a user-visible difference or not, probably not 2017-10-05T18:29:23Z orivej quit (Ping timeout: 255 seconds) 2017-10-05T18:33:37Z Bock quit (Ping timeout: 248 seconds) 2017-10-05T18:40:43Z Xal quit (Ping timeout: 255 seconds) 2017-10-05T18:42:53Z Xal joined #lisp 2017-10-05T18:43:46Z neoncontrails quit (Remote host closed the connection) 2017-10-05T18:44:22Z neoncontrails joined #lisp 2017-10-05T18:45:37Z fraya joined #lisp 2017-10-05T18:46:00Z pjb: clhs get-output-stream-string 2017-10-05T18:46:01Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_get_ou.htm 2017-10-05T18:46:30Z pjb: portably, "The consequences are undefined if stream-output-string is closed." 2017-10-05T18:47:15Z pjb: but the sbcl implementation may define that you can get the output stream string after a close, and therefore call it after. It only means that the macro expansion in sbcl of with-output-to-string is sbcl specific. 2017-10-05T18:48:07Z pjb: Of course, most CL macros if not all, can have a conforming implementation. When you implement a code walker, it may even be a good idea to provide a conforming implementatin of all the CL macros, instead of relying on the implementation… 2017-10-05T18:48:37Z neoncontrails quit (Ping timeout: 258 seconds) 2017-10-05T18:48:43Z pjb: well, I say code walker, I mean, some tool that needs to analyse CL sources… 2017-10-05T18:52:48Z dyelar quit (Remote host closed the connection) 2017-10-05T18:53:23Z dyelar joined #lisp 2017-10-05T18:54:49Z dyelar quit (Client Quit) 2017-10-05T18:56:56Z neoncontrails joined #lisp 2017-10-05T18:58:07Z |3b|: pjb: i meant whether returning the string inside the uwp body our outside the uwp mattered (aside from the macroexpansion) 2017-10-05T18:58:12Z Josh_2 quit (Ping timeout: 258 seconds) 2017-10-05T18:58:22Z |3b|: it still closes in the uwp cleanup as specified by spec 2017-10-05T18:58:37Z |3b|: ah, nevermind, misread 2017-10-05T18:58:49Z pjb: Yes, there are not 36 ways to do it. 2017-10-05T18:59:59Z pjb: Well, in general, CL macros can be implemented as special operators, or may expand to expressions resolving eventually to special operators and/or function calls. 2017-10-05T19:00:18Z pjb: Function calls pose no problem. If the special operators are the standard special operators, then no problem. 2017-10-05T19:00:45Z pjb: The problem occurs when the implementation has implementation specific special operators and uses them in the standard macro expansions. 2017-10-05T19:01:04Z pjb: In that case, it's not possible to write a portable code walker. 2017-10-05T19:02:34Z papachan joined #lisp 2017-10-05T19:03:24Z alexmlw joined #lisp 2017-10-05T19:03:32Z pjb: But AFAIK, you can provide a "compilation-time" expansion for all the standard macro; that is, to perform compilation time processing of the sources, what you need to know is what is data (variables, bindings) and what is code. So all macros can expand basically to something like (let (x y z …) (f% x y z … (lambda () …) …)) 2017-10-05T19:03:58Z pjb: you don't need to know the f%; the variables and the lambdas are specified by clhs. 2017-10-05T19:05:06Z pjb: and of course, (when I looked about it), the only implementation with an implementation specific special operator was sbcl… 2017-10-05T19:07:31Z alexmlw quit (Client Quit) 2017-10-05T19:07:35Z fraya left #lisp 2017-10-05T19:08:04Z alexmlw joined #lisp 2017-10-05T19:11:39Z foom2 is now known as foom 2017-10-05T19:15:47Z sz0 quit (Quit: Connection closed for inactivity) 2017-10-05T19:18:04Z vlatkoB_ quit (Remote host closed the connection) 2017-10-05T19:23:01Z eschatologist quit (Ping timeout: 240 seconds) 2017-10-05T19:23:11Z eschatologist joined #lisp 2017-10-05T19:34:01Z lnostdal joined #lisp 2017-10-05T19:35:24Z Bike quit (Remote host closed the connection) 2017-10-05T19:36:25Z Bike joined #lisp 2017-10-05T19:38:50Z varjag joined #lisp 2017-10-05T19:43:13Z Denommus joined #lisp 2017-10-05T19:52:15Z varjag quit (Remote host closed the connection) 2017-10-05T20:00:44Z shenghi quit (Ping timeout: 255 seconds) 2017-10-05T20:02:03Z kolko quit (Ping timeout: 240 seconds) 2017-10-05T20:07:44Z shenghi joined #lisp 2017-10-05T20:09:33Z orivej joined #lisp 2017-10-05T20:12:49Z Xal quit (Ping timeout: 248 seconds) 2017-10-05T20:13:32Z shka_ quit (Ping timeout: 260 seconds) 2017-10-05T20:16:58Z fortitude joined #lisp 2017-10-05T20:17:08Z Xal joined #lisp 2017-10-05T20:22:05Z zachk joined #lisp 2017-10-05T20:22:41Z alexmlw quit (Quit: alexmlw) 2017-10-05T20:27:06Z yottabyte joined #lisp 2017-10-05T20:27:13Z Bike: hello, slime question i may have to take to a mailing list: swank:autodoc says it returns a two-element list, but sets up a handler that returns only a string if there's an error. slime-autodoc--async doesn't seem to like that. is there some way errors could be dealt with better? 2017-10-05T20:29:37Z malice quit (Remote host closed the connection) 2017-10-05T20:29:38Z mishoo quit (Ping timeout: 255 seconds) 2017-10-05T20:30:48Z iqubic joined #lisp 2017-10-05T20:35:38Z ym joined #lisp 2017-10-05T20:37:50Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2017-10-05T20:49:25Z sjl joined #lisp 2017-10-05T20:50:25Z varjag joined #lisp 2017-10-05T20:50:44Z earl-ducaine joined #lisp 2017-10-05T20:57:42Z ym quit (Quit: Leaving) 2017-10-05T21:01:15Z KongWubba joined #lisp 2017-10-05T21:01:18Z ym joined #lisp 2017-10-05T21:07:45Z Bike quit (Ping timeout: 248 seconds) 2017-10-05T21:09:02Z Jonsky joined #lisp 2017-10-05T21:12:17Z Karl_Dscc joined #lisp 2017-10-05T21:17:21Z deba5e12 quit (Ping timeout: 248 seconds) 2017-10-05T21:39:55Z Bike joined #lisp 2017-10-05T21:39:58Z phoe quit (Ping timeout: 264 seconds) 2017-10-05T21:44:04Z scottj joined #lisp 2017-10-05T21:45:33Z wheelsucker quit (Quit: Client Quit) 2017-10-05T21:45:36Z deba5e12_ joined #lisp 2017-10-05T21:52:24Z LiamH quit (Quit: Leaving.) 2017-10-05T22:00:34Z KongWubba quit (Quit: Yaaic - Yet another Android IRC client - http://www.yaaic.org) 2017-10-05T22:00:37Z manny8888 joined #lisp 2017-10-05T22:01:05Z Jonsky quit (Quit: time to drink milk) 2017-10-05T22:01:21Z emaczen` joined #lisp 2017-10-05T22:02:35Z schoppenhauer quit (Ping timeout: 240 seconds) 2017-10-05T22:04:07Z emaczen quit (Ping timeout: 258 seconds) 2017-10-05T22:04:22Z fortitude: anybody know if writes to a socket (using usocket) can set a stream's end-of-file status, assuming the remote end is closed? 2017-10-05T22:04:53Z fortitude: I have a curious case where a server accepts a connection, sends data, and reads data; and a test client that connects, sends, and closes immediately 2017-10-05T22:04:53Z varjag quit (Ping timeout: 258 seconds) 2017-10-05T22:04:55Z fe[nl]ix: no, you have to close the socket 2017-10-05T22:05:08Z fortitude: READ-SEQUENCE is returning EOF without reading any data in the server 2017-10-05T22:05:32Z fortitude: even though if I do a READ-BYTE directly, it will return the client's data 2017-10-05T22:05:35Z varjag joined #lisp 2017-10-05T22:06:29Z phoe joined #lisp 2017-10-05T22:07:27Z Karl_Dscc quit (Remote host closed the connection) 2017-10-05T22:09:01Z al-damiri joined #lisp 2017-10-05T22:09:21Z schoppenhauer joined #lisp 2017-10-05T22:10:09Z varjag quit (Ping timeout: 248 seconds) 2017-10-05T22:14:38Z JuanDaugherty joined #lisp 2017-10-05T22:18:47Z EvW quit (Ping timeout: 246 seconds) 2017-10-05T22:25:32Z Jesin quit (Quit: Leaving) 2017-10-05T22:29:03Z nicklaf joined #lisp 2017-10-05T22:29:38Z fortitude: turns out the trick is doing a write beforehand; looks like this is either a usocket bug, or an I/O bug in both sbcl and ccl 2017-10-05T22:30:12Z quazimodo joined #lisp 2017-10-05T22:34:00Z vancan1ty joined #lisp 2017-10-05T22:35:48Z phoe: fortitude: can you prepare a small test case? 2017-10-05T22:36:09Z phoe: once we have something that we can copypaste into REPL to trigger that behaviour, we can try tracking it down and fixing 2017-10-05T22:37:53Z fortitude: phoe: I created an issue on usocket's github repo with test code 2017-10-05T22:38:18Z fortitude: https://github.com/usocket/usocket/issues/31 2017-10-05T22:39:05Z serviteur quit (Remote host closed the connection) 2017-10-05T22:39:14Z pillton joined #lisp 2017-10-05T22:40:09Z fortitude: ...except that apparently I used the wrong arg for MAKE-SEQUENCE 2017-10-05T22:40:25Z phoe: fortitude: I need to sleep now; I will perhaps verify this tomorrow on linux 2017-10-05T22:40:36Z phoe: or maybe someone else from #lisp can do it 2017-10-05T22:40:44Z phoe: for now, good night #parens 2017-10-05T22:42:19Z terpri joined #lisp 2017-10-05T22:42:56Z phoe_ joined #lisp 2017-10-05T22:44:00Z hexfive quit (Quit: WeeChat 1.9) 2017-10-05T22:49:17Z rumbler31 quit (Ping timeout: 260 seconds) 2017-10-05T22:49:32Z vancan1ty quit (Ping timeout: 240 seconds) 2017-10-05T22:52:43Z pmetzger quit 2017-10-05T22:56:22Z fortitude quit (Quit: Leaving) 2017-10-05T22:56:33Z nicklaf quit (Ping timeout: 248 seconds) 2017-10-05T22:57:14Z nicklaf joined #lisp 2017-10-05T22:57:49Z stapler joined #lisp 2017-10-05T22:58:09Z stapler: hi all, what's the preferred way of doing non-portable/os specific functions? 2017-10-05T23:05:31Z attila_lendvai quit (Quit: Leaving.) 2017-10-05T23:05:58Z thinkpad joined #lisp 2017-10-05T23:07:02Z edgar-rft: stapler, see 2017-10-05T23:08:03Z edgar-rft: either use quicklisp, or if not the code is here: 2017-10-05T23:08:13Z moei quit (Quit: Leaving...) 2017-10-05T23:08:41Z stapler: i see. is there any good quick reference of best practices? i just want to jump into writing something 2017-10-05T23:09:26Z Jesin joined #lisp 2017-10-05T23:09:46Z safe joined #lisp 2017-10-05T23:13:06Z pillton: stapler: This might help. http://jcsu.jesus.cam.ac.uk/~csr21/features.pdf 2017-10-05T23:14:01Z neoncontrails quit 2017-10-05T23:15:08Z manny8888 quit (Ping timeout: 246 seconds) 2017-10-05T23:20:31Z iqubic quit (Quit: Connection closed for inactivity) 2017-10-05T23:26:03Z Josh_2 joined #lisp 2017-10-05T23:26:51Z schoppenhauer quit (Read error: Connection timed out) 2017-10-05T23:26:57Z Xal quit (Ping timeout: 246 seconds) 2017-10-05T23:27:48Z pjb quit (Ping timeout: 240 seconds) 2017-10-05T23:28:09Z JuanDaugherty quit (Quit: Ex Chat) 2017-10-05T23:28:30Z Xal joined #lisp 2017-10-05T23:28:44Z earl-ducaine: stapler: To some extend it depends on what you want to do. cffi allows you interact with many c/c++ libraries and write you're own wrappers of OS specific Features in C. 2017-10-05T23:29:53Z stapler: earl-ducaine, indeed the ffi is quite nice 2017-10-05T23:29:56Z stapler: (alien-funcall (extern-alien "SetCursorPos" (function boolean int int)) 10 10) 2017-10-05T23:30:05Z wigust quit (Remote host closed the connection) 2017-10-05T23:30:26Z wxie joined #lisp 2017-10-05T23:31:15Z earl-ducaine: CFFI does have some limitation in terms of capabilities, those can often be overcome by using ECL (rather than SBCL, CCL, etc) 2017-10-05T23:31:50Z earl-ducaine: ECL is a full ansi complient embeddable CL. 2017-10-05T23:32:37Z stapler: any examples of these limitations? 2017-10-05T23:32:51Z earl-ducaine: One way of thinking about it is that CFFI allows you call 'out' of Lisp. ECL allows you to call 'into' a CL 2017-10-05T23:33:51Z schoppenhauer joined #lisp 2017-10-05T23:34:03Z earl-ducaine: So, if your application needs to start up in a certain way and especially if it generates and handles signals SBCL can be difficult to accomodate. 2017-10-05T23:34:34Z earl-ducaine: ECL allows you to specific what symbols it uses for its own management. 2017-10-05T23:35:43Z stapler: earl-ducaine, oh so you just mean that I can't really embed sbcl/ccl/etc 2017-10-05T23:35:45Z stapler: that's fine i guess 2017-10-05T23:35:48Z stapler: i'm mostly calling out 2017-10-05T23:36:37Z earl-ducaine: Correct, you need to start up 'into Lisp' first and then you can make CFFI calls. 2017-10-05T23:37:45Z stapler: is a & before &key in arguments for example just a convention? 2017-10-05T23:37:47Z yaocl joined #lisp 2017-10-05T23:38:03Z stapler: i should probably take this to #clnoob, heh 2017-10-05T23:39:25Z earl-ducaine: Lots of C/C++ libraries are written with the express intension of being used in a dynamic context and therefor have fascilities to configure it to 'play nice' with languages like Python, Lisp, Node, etc. 2017-10-05T23:40:03Z earl-ducaine: So, you'll find you can go a long way with CFFI before you need to use an embeddable Lisp. 2017-10-05T23:40:10Z zachk quit (Quit: night) 2017-10-05T23:40:18Z anunnaki quit (Quit: leaving) 2017-10-05T23:40:39Z anunnaki joined #lisp 2017-10-05T23:40:43Z nicklaf quit (Ping timeout: 258 seconds) 2017-10-05T23:42:39Z nicklaf joined #lisp 2017-10-05T23:46:30Z earl-ducaine: :zlib is a quickloadable library that is an example of how to write CFFI code. And CFFI itself has some example code in its repo. 2017-10-05T23:47:43Z orivej quit (Ping timeout: 248 seconds) 2017-10-05T23:49:27Z stapler: and how will i know when i need to write a macro? will i just feel it? 2017-10-05T23:49:38Z stapler: sorry, again, very noobish with lisp but i can see its power 2017-10-05T23:49:41Z stapler: just not how to interact with it, heh 2017-10-05T23:50:36Z papachan quit (Quit: Saliendo) 2017-10-05T23:53:22Z earl-ducaine: stapler: there's a wide spectum of opinions on that. Some people would say practically never (or in fact never) others would say that you can't understand and use lisp properly without writting them. 2017-10-05T23:54:24Z earl-ducaine: a middle ground *might* be that you should think of macros as writing your own mini language. So, when ever you need that much power. 2017-10-05T23:54:47Z earl-ducaine: Though I'm not 100% sure that actually says anything useful. 2017-10-05T23:56:00Z earl-ducaine: For myself I fell in love with CL once I understood how macros work. But, I seldom use them myself. 2017-10-05T23:58:43Z aeth: Imo, macros should mostly be used when they fit clear patterns. Usually that's do-foo, with-foo, define-foo. 2017-10-05T23:59:19Z aeth: They also have a use when you really need to set something, like incf. But, fortunately, in that special case there is iirc a define-modify-macro, which makes such macros trivial to write. 2017-10-06T00:00:28Z aeth: But for the most part, unless you're really doing fancy things, you don't need to make your own macros. 2017-10-06T00:00:53Z jealousmonk joined #lisp 2017-10-06T00:01:01Z cromachina joined #lisp 2017-10-06T00:01:34Z aeth: Fancy things can include a macro that e.g. generates shaders. Several people generate GLSL shaders using different approaches. I'm sure SQL is the same way. Or HTML. Or any other time you're forced to use a language and you'd rather use s-expressions instead. Usually the libraries are already written, though. 2017-10-06T00:01:54Z fortitude joined #lisp 2017-10-06T00:01:54Z stapler: i see 2017-10-06T00:02:17Z stapler: lets say im going to write a bunch of functions that will have a case to switch on operating systems 2017-10-06T00:02:22Z stapler: is this worthy of being promoted into a macro? 2017-10-06T00:03:30Z daemoz quit (Quit: WeeChat 1.9) 2017-10-06T00:06:48Z Kristof_HT joined #lisp 2017-10-06T00:09:11Z aeth: I've been tempted to write my own case macros before, but I'm not sure I'd do that when there are essentially just three options (if I'm understanding your question correctly). 2017-10-06T00:10:21Z clintm: Are the -async features of slime something I need to turn on, or does it detect a threading lisp and just do the right thing? 2017-10-06T00:10:41Z clintm: Looking through the docs, but I'm not seeing much. 2017-10-06T00:13:19Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-10-06T00:15:17Z wheelsucker joined #lisp 2017-10-06T00:15:38Z yaocl quit (Quit: yaocl) 2017-10-06T00:15:38Z Bike: clintm: there's a variable you can set to change it. default should be multithreaded async stuff on most lisps, though 2017-10-06T00:15:54Z clintm: ok, thanks! 2017-10-06T00:16:26Z Bike: clintm: https://common-lisp.net/project/slime/doc/html/Communication-style.html#Communication-style 2017-10-06T00:17:16Z earl-ducaine: stapler: Typically that wouldn't be something you'd use macros for. The feature variable tends to be the conventional appoarch 2017-10-06T00:17:17Z earl-ducaine: https://gist.github.com/4dbf9383ed485d44893dd5b43cef1b6d 2017-10-06T00:18:34Z earl-ducaine: Trivial Features provides a somewhat standardized and consistent framework for detecting commonly used configurations: https://github.com/trivial-features/trivial-features/blob/master/SPEC.md 2017-10-06T00:19:02Z earl-ducaine: ^ code snippet was from ccl. 2017-10-06T00:22:38Z babalua quit (Remote host closed the connection) 2017-10-06T00:23:21Z babalua joined #lisp 2017-10-06T00:24:01Z margeas quit (Ping timeout: 248 seconds) 2017-10-06T00:25:05Z pjb joined #lisp 2017-10-06T00:25:58Z jameser joined #lisp 2017-10-06T00:26:29Z grublet joined #lisp 2017-10-06T00:28:55Z shifty joined #lisp 2017-10-06T00:30:55Z grublet quit (Client Quit) 2017-10-06T00:31:13Z yaocl joined #lisp 2017-10-06T00:31:32Z earl-ducaine quit (Ping timeout: 240 seconds) 2017-10-06T00:32:26Z earl-ducaine joined #lisp 2017-10-06T00:33:50Z Bicyclidine joined #lisp 2017-10-06T00:36:08Z Bike quit (Ping timeout: 240 seconds) 2017-10-06T00:37:58Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-10-06T00:38:41Z earl-ducaine quit (Remote host closed the connection) 2017-10-06T00:40:37Z bdTaylor joined #lisp 2017-10-06T00:45:02Z arrdem quit (Ping timeout: 240 seconds) 2017-10-06T00:45:53Z jameser joined #lisp 2017-10-06T00:46:15Z arrdem joined #lisp 2017-10-06T00:46:27Z lambdice joined #lisp 2017-10-06T00:47:49Z bdTaylor is now known as BigBen 2017-10-06T00:47:55Z jameser quit (Client Quit) 2017-10-06T00:48:08Z BigBen is now known as bdTaylor 2017-10-06T00:49:28Z pjb quit (Ping timeout: 240 seconds) 2017-10-06T00:51:10Z lambdice: hi all, http://paste.lisp.org/display/357746 i should get (sherlock 221B baker street) but i just get (shelock) as output 2017-10-06T00:51:38Z pmetzger joined #lisp 2017-10-06T00:52:03Z lambdice: looks like the list spliced inside the backquote disappears 2017-10-06T00:53:02Z nicklaf quit (Ping timeout: 240 seconds) 2017-10-06T00:54:27Z nicklaf joined #lisp 2017-10-06T00:55:03Z Bicyclidine: shouldn't really work. it's a macro, it doesn't evaluate, it'll try to splice in the symbol called "ADDRESS" 2017-10-06T00:55:10Z Bicyclidine: why is this a macro? 2017-10-06T00:55:29Z heurist` quit (Ping timeout: 255 seconds) 2017-10-06T00:55:30Z heurist`_ joined #lisp 2017-10-06T00:55:42Z lambdice: this is a macro cause i am still trying to understand how macro works.. just testing things 2017-10-06T00:56:05Z lambdice: so i should use ,@,address? 2017-10-06T00:56:20Z lambdice: ,@,lst i mean 2017-10-06T00:56:48Z lambdice: nope that doesnt works ofc 2017-10-06T00:57:21Z Josh_2 quit (Remote host closed the connection) 2017-10-06T00:57:41Z fortitude: lambdice: you probably want to figure out what the macro should expand into first, and then write the macro to actually do the expansion 2017-10-06T00:57:59Z Bicyclidine: lambdice: if you want to evaluate the symbol, and get the actual value, you'd have to do that explicitly, with eval. 2017-10-06T00:58:06Z Bicyclidine: this is almost always a bad idea 2017-10-06T00:58:23Z Bicyclidine: now, what you can do is skip the macro, and just write `(,name ,@address) 2017-10-06T00:58:30Z lambdice: so i dont undestand how ,@ works then 2017-10-06T00:58:36Z Bicyclidine: it splices 2017-10-06T00:58:52Z Bicyclidine: `(list ,name ,@address) is shorthand for (append '(list) (list name) address) 2017-10-06T00:59:10Z Bicyclidine: (more or less) 2017-10-06T01:00:24Z lambdice: ok i got and understand if i type it directly in the repl 2017-10-06T01:00:49Z lambdice: but inside a macro how ,@lst expand? 2017-10-06T01:00:57Z d4ryus1 joined #lisp 2017-10-06T01:01:03Z lambdice: the expandmacro-l is pretty strange for me lol 2017-10-06T01:01:14Z Bicyclidine: macros are unrelated 2017-10-06T01:01:39Z Bicyclidine: backquoting is just a thing that's used commonly in macros. it's not tied to macros in any way 2017-10-06T01:01:57Z lambdice: ok 2017-10-06T01:03:24Z Bicyclidine: what you might not expand is what a macro function receives as arguments 2017-10-06T01:03:55Z Bicyclidine: when you have (defmacro test (one two) ...), when you write (test foo bar), the macro function receives teh /symbols/ FOO and BAR as arguments 2017-10-06T01:03:59Z Bicyclidine: not their values or anything 2017-10-06T01:04:07Z d4ryus quit (Ping timeout: 255 seconds) 2017-10-06T01:05:50Z lambdice: ok i understand so far 2017-10-06T01:06:16Z Bicyclidine: i mean, that's basically it. 2017-10-06T01:06:30Z Bicyclidine: for your test macro, you seemed to assume that the /values/ of name and address would be involved somehow. 2017-10-06T01:06:31Z scottj quit (Quit: leaving) 2017-10-06T01:06:48Z yaocl quit (Quit: yaocl) 2017-10-06T01:07:04Z lambdice: Bicyclidine: indeed and it is wrong 2017-10-06T01:07:11Z marvin2 quit 2017-10-06T01:10:49Z lambdice: but i am curious to know how i could get the result (sherlock 221B baker street) if i want to use a macro 2017-10-06T01:11:29Z Bicyclidine: you'd have to use symbol-value or eval. 2017-10-06T01:12:00Z Bicyclidine: like (defmacro test (n lst) `(list ,(symbol-value n) ,@(symbol-value lst))) which is not really how macros ought to work. 2017-10-06T01:12:28Z Bicyclidine: because at that point you're no longer operating on the actual source text, which is the entire raison d'etre of macros. 2017-10-06T01:12:53Z lambdice: "raison d'etre" :) 2017-10-06T01:12:55Z lambdice: indeed 2017-10-06T01:13:12Z Bicyclidine: my keyboard doesn't have diacritics, and i don't have spelling 2017-10-06T01:13:21Z eschatologist quit (Ping timeout: 240 seconds) 2017-10-06T01:13:22Z Bicyclidine: you could more easily write (defun test (n lst) `(,n ,@lst)) and then (test name address) => (SHERLOCK |221B| BAKER STREET) indeed 2017-10-06T01:15:07Z lambdice: Bicyclidine: so it is non sense to use ",@" on macro parameters? 2017-10-06T01:15:25Z lambdice: cause as you said macros receive symbols 2017-10-06T01:15:51Z jameser joined #lisp 2017-10-06T01:16:04Z fortitude: lambdice: sometimes macros receive lists, too (&rest and &body parameters are the most common ones) 2017-10-06T01:16:07Z lambdice: well unless the macro parameter is litteraly a list maybe 2017-10-06T01:16:18Z fortitude: lambdice: and even for regular parameters, the macro might test whether it's a list or not 2017-10-06T01:16:18Z lambdice: fortitude: indeed! 2017-10-06T01:16:23Z pierpa joined #lisp 2017-10-06T01:18:45Z lambdice: so if i am right, everything after a ,@ is 1) evaluated and the result has to be a lise and 2) spliced into the bacquoted expression 2017-10-06T01:19:03Z Bicyclidine: well "evaluated" is tricky here 2017-10-06T01:19:16Z Bicyclidine: this is why i explained it in terms of append 2017-10-06T01:19:27Z Bicyclidine: `(,@foo ,@bar) is just (append foo bar) 2017-10-06T01:19:44Z Bicyclidine: foo and bar are "evaluated" in the sense of a normal evaluation, but not "evaluated" in that you're going to get a symbol-value or nothin 2017-10-06T01:20:40Z fortitude: it's technically accurate to say that's it's evaluated; the tricky bit is what gets passed to the macro in the first place 2017-10-06T01:20:47Z lambdice: Bicyclidine: so tricky indeed 2017-10-06T01:20:59Z fortitude: (namely the results of READ, not (EVAL (READ)) like with regular functions) 2017-10-06T01:22:29Z yaocl joined #lisp 2017-10-06T01:22:39Z jameser_ joined #lisp 2017-10-06T01:22:41Z earl-ducaine joined #lisp 2017-10-06T01:23:27Z lambdice: thx a lot for all this explanation 2017-10-06T01:23:43Z jameser quit (Ping timeout: 248 seconds) 2017-10-06T01:24:17Z fortitude: I don't want to make things worse by explaining too much, but I find it helps to remember how the REP part of a REPL works 2017-10-06T01:24:34Z nydel: |3b|: i did a lot of reading an experimenting around that *trace-output* and make-string-output-stream & a bunch of things that enhanced my understanding of lisp buffers, thanks for always sharing good info to dig into & with kindnes to people who aren't all-knowins lispers yet - appreciated much 2017-10-06T01:27:01Z d4ryus1 quit (Ping timeout: 240 seconds) 2017-10-06T01:27:17Z d4ryus1 joined #lisp 2017-10-06T01:28:50Z dieggsy joined #lisp 2017-10-06T01:28:58Z yottabyte quit (Quit: Connection closed for inactivity) 2017-10-06T01:30:22Z pmetzger quit 2017-10-06T01:36:59Z clintm quit (Read error: Connection reset by peer) 2017-10-06T01:37:26Z clintm joined #lisp 2017-10-06T01:37:49Z clintm is now known as Guest96442 2017-10-06T01:38:27Z milanj joined #lisp 2017-10-06T01:48:22Z Denommus quit (Ping timeout: 264 seconds) 2017-10-06T01:49:10Z yaocl quit (Quit: yaocl) 2017-10-06T01:57:09Z pyx joined #lisp 2017-10-06T01:58:32Z pyx quit (Client Quit) 2017-10-06T01:58:46Z jameser_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-10-06T02:00:29Z d4ryus2 joined #lisp 2017-10-06T02:03:32Z d4ryus1 quit (Ping timeout: 260 seconds) 2017-10-06T02:04:26Z jyc quit (Ping timeout: 255 seconds) 2017-10-06T02:05:09Z lambdice quit (Quit: Page closed) 2017-10-06T02:05:14Z hexfive joined #lisp 2017-10-06T02:05:19Z jdz quit (Ping timeout: 255 seconds) 2017-10-06T02:05:20Z danlentz quit (Ping timeout: 255 seconds) 2017-10-06T02:05:20Z drmeister quit (Ping timeout: 255 seconds) 2017-10-06T02:05:34Z jdz joined #lisp 2017-10-06T02:05:47Z ggherdov quit (Ping timeout: 255 seconds) 2017-10-06T02:06:14Z xristos quit (Ping timeout: 255 seconds) 2017-10-06T02:06:41Z Fade quit (Ping timeout: 255 seconds) 2017-10-06T02:06:41Z razzy quit (Ping timeout: 255 seconds) 2017-10-06T02:06:47Z Fade joined #lisp 2017-10-06T02:07:15Z drmeister joined #lisp 2017-10-06T02:07:23Z danlentz joined #lisp 2017-10-06T02:08:02Z guna quit (Ping timeout: 240 seconds) 2017-10-06T02:08:19Z razzy joined #lisp 2017-10-06T02:09:59Z gz__ joined #lisp 2017-10-06T02:10:15Z MightyJoe joined #lisp 2017-10-06T02:10:42Z guna joined #lisp 2017-10-06T02:11:38Z lacedaemon joined #lisp 2017-10-06T02:11:39Z ChanServ has set mode +o lacedaemon 2017-10-06T02:12:00Z nicklaf quit (Quit: leaving) 2017-10-06T02:12:38Z gz_ quit (Ping timeout: 255 seconds) 2017-10-06T02:12:38Z cyraxjoe quit (Quit: No Ping reply in 180 seconds.) 2017-10-06T02:12:38Z p_l quit (Ping timeout: 255 seconds) 2017-10-06T02:12:38Z bailon quit (Ping timeout: 255 seconds) 2017-10-06T02:12:38Z fe[nl]ix quit (Quit: No Ping reply in 180 seconds.) 2017-10-06T02:12:38Z ikopico quit (Ping timeout: 255 seconds) 2017-10-06T02:12:38Z clog quit (Ping timeout: 255 seconds) 2017-10-06T02:12:38Z neuri8 quit (Ping timeout: 255 seconds) 2017-10-06T02:12:38Z trigt[m] quit (Ping timeout: 255 seconds) 2017-10-06T02:12:39Z Sovereign_Bleak quit (Ping timeout: 255 seconds) 2017-10-06T02:12:39Z dmiles quit (Remote host closed the connection) 2017-10-06T02:12:39Z himmAllRight quit (Quit: No Ping reply in 180 seconds.) 2017-10-06T02:12:39Z terrorjack quit (Ping timeout: 255 seconds) 2017-10-06T02:12:39Z mrSpec quit (Ping timeout: 255 seconds) 2017-10-06T02:12:39Z quazimodo quit (Read error: Connection reset by peer) 2017-10-06T02:12:40Z xristos joined #lisp 2017-10-06T02:12:45Z bailon joined #lisp 2017-10-06T02:12:46Z gz__ is now known as gz_ 2017-10-06T02:13:09Z xristos is now known as Guest8465 2017-10-06T02:13:10Z himmAllRight joined #lisp 2017-10-06T02:13:17Z logicmoo joined #lisp 2017-10-06T02:13:20Z neuri8 joined #lisp 2017-10-06T02:13:26Z chu quit (Ping timeout: 255 seconds) 2017-10-06T02:13:30Z quazimodo joined #lisp 2017-10-06T02:13:42Z jyc joined #lisp 2017-10-06T02:13:58Z mrSpec joined #lisp 2017-10-06T02:14:06Z safe quit (Quit: Leaving) 2017-10-06T02:14:21Z mrSpec is now known as Guest8081 2017-10-06T02:14:27Z terrorjack joined #lisp 2017-10-06T02:14:52Z ikopico joined #lisp 2017-10-06T02:15:02Z drcode quit (Ping timeout: 240 seconds) 2017-10-06T02:15:12Z catern quit (Ping timeout: 260 seconds) 2017-10-06T02:16:59Z trigt[m] joined #lisp 2017-10-06T02:17:12Z Sovereign_Bleak joined #lisp 2017-10-06T02:17:57Z mrpat joined #lisp 2017-10-06T02:19:13Z catern joined #lisp 2017-10-06T02:23:23Z igemnace quit (Quit: WeeChat 1.9.1) 2017-10-06T02:24:42Z |3b|` joined #lisp 2017-10-06T02:25:53Z |3b| quit (Ping timeout: 246 seconds) 2017-10-06T02:29:03Z terpri quit (Remote host closed the connection) 2017-10-06T02:30:32Z Bicyclidine quit (Ping timeout: 258 seconds) 2017-10-06T02:30:52Z |3b|`` joined #lisp 2017-10-06T02:31:03Z terpri joined #lisp 2017-10-06T02:34:59Z larme quit (Ping timeout: 246 seconds) 2017-10-06T02:35:59Z zacts quit (Ping timeout: 255 seconds) 2017-10-06T02:35:59Z Guest8465 quit (Ping timeout: 255 seconds) 2017-10-06T02:35:59Z __main__ quit (Ping timeout: 255 seconds) 2017-10-06T02:36:00Z |3b|` quit (Ping timeout: 255 seconds) 2017-10-06T02:36:00Z krator44 quit (Ping timeout: 255 seconds) 2017-10-06T02:36:12Z xristos_ joined #lisp 2017-10-06T02:36:14Z _main_ joined #lisp 2017-10-06T02:37:17Z _krator44 joined #lisp 2017-10-06T02:38:18Z zacts joined #lisp 2017-10-06T02:38:29Z _ark_` joined #lisp 2017-10-06T02:39:04Z _main_ is now known as __main__ 2017-10-06T02:39:25Z _ark_` quit (Client Quit) 2017-10-06T02:39:32Z _ark_ quit (Ping timeout: 246 seconds) 2017-10-06T02:40:35Z saki quit (Ping timeout: 240 seconds) 2017-10-06T02:41:46Z saki joined #lisp 2017-10-06T02:42:21Z chu joined #lisp 2017-10-06T02:42:32Z damke_ joined #lisp 2017-10-06T02:43:02Z catern quit (Ping timeout: 240 seconds) 2017-10-06T02:45:21Z larme joined #lisp 2017-10-06T02:47:56Z mrpat quit (Read error: Connection reset by peer) 2017-10-06T02:49:12Z catern joined #lisp 2017-10-06T02:53:48Z krwq joined #lisp 2017-10-06T02:56:36Z quazimodo quit (Read error: Connection reset by peer) 2017-10-06T02:56:51Z quazimodo joined #lisp 2017-10-06T02:58:21Z manny8888 joined #lisp 2017-10-06T02:58:32Z hexfive quit (Ping timeout: 240 seconds) 2017-10-06T02:58:53Z dddddd quit (Remote host closed the connection) 2017-10-06T03:01:24Z beach: Good morning everyone! 2017-10-06T03:01:34Z quazimodo quit (Ping timeout: 255 seconds) 2017-10-06T03:06:13Z nydel: morning beach 2017-10-06T03:12:46Z manny8888 quit (Read error: Connection reset by peer) 2017-10-06T03:12:59Z manny8888 joined #lisp 2017-10-06T03:14:05Z deba5e12_ quit (Ping timeout: 240 seconds) 2017-10-06T03:15:23Z hexfive joined #lisp 2017-10-06T03:15:29Z stapler: q: everything in a lisp file is executed when loaded (with asdf in particular but i think its like that in particular?) 2017-10-06T03:16:52Z beach: stapler: That's not quite true. 2017-10-06T03:17:35Z beach: stapler: Most of the time top-level forms are evaluated at load-time, if that is what you mean. 2017-10-06T03:17:46Z beach: stapler: I suggest you ask a more precise question. 2017-10-06T03:19:35Z fortitude quit (Quit: Leaving) 2017-10-06T03:19:43Z stapler: ex i want to evaluate some expressions when someone loads the system 2017-10-06T03:20:36Z beach: Making it a top-level form should work. 2017-10-06T03:21:15Z stapler: alright, thanks 2017-10-06T03:23:13Z schoppenhauer quit (Ping timeout: 248 seconds) 2017-10-06T03:25:14Z schoppenhauer joined #lisp 2017-10-06T03:26:29Z manny8888 quit (Read error: Connection reset by peer) 2017-10-06T03:26:33Z manny8888_ joined #lisp 2017-10-06T03:27:16Z dieggsy quit (Ping timeout: 258 seconds) 2017-10-06T03:28:53Z beach: stapler: Also, ASDF does things that are more complicated than loading the files. It checks dependencies and compiles and loads files in a particular order, or not at all if it turns out not to be necessary. 2017-10-06T03:29:15Z beach: In other words, you can't count on ASDF to always load your files. 2017-10-06T03:34:24Z babalua quit (Quit: babalua) 2017-10-06T03:34:52Z manny8888_ quit (Ping timeout: 255 seconds) 2017-10-06T03:44:36Z pierpa quit (Quit: Page closed) 2017-10-06T03:51:08Z emacsomancer quit (Read error: Connection reset by peer) 2017-10-06T03:53:26Z pillton: You can do (asdf:load-system "blah" :force t). 2017-10-06T03:53:43Z eschatologist joined #lisp 2017-10-06T03:54:10Z beach: Yes, of course. 2017-10-06T03:56:28Z pillton: Or (asdf:load-system "blah" :force :all) to (re)load everything. 2017-10-06T03:59:49Z beach: We have been given too little information about the use case to know what is really practical in this situation. 2017-10-06T04:01:41Z damke joined #lisp 2017-10-06T04:03:21Z damke_ quit (Ping timeout: 240 seconds) 2017-10-06T04:05:01Z eschatologist quit (Ping timeout: 240 seconds) 2017-10-06T04:06:17Z p_l joined #lisp 2017-10-06T04:06:29Z eschatologist joined #lisp 2017-10-06T04:07:26Z ggherdov joined #lisp 2017-10-06T04:07:33Z quazimodo joined #lisp 2017-10-06T04:09:24Z clog joined #lisp 2017-10-06T04:09:43Z pillton: Sure. I was just showing how you tell ASDF to always load your files. 2017-10-06T04:09:52Z beach: Right. 2017-10-06T04:10:25Z emacsomancer joined #lisp 2017-10-06T04:12:07Z itruslove quit (Ping timeout: 258 seconds) 2017-10-06T04:12:08Z damke_ joined #lisp 2017-10-06T04:13:28Z vtomole joined #lisp 2017-10-06T04:14:41Z damke quit (Ping timeout: 240 seconds) 2017-10-06T04:15:51Z shka_ joined #lisp 2017-10-06T04:16:58Z damke joined #lisp 2017-10-06T04:17:38Z jmercouris joined #lisp 2017-10-06T04:17:55Z damke quit (Read error: Connection reset by peer) 2017-10-06T04:19:01Z damke_ quit (Ping timeout: 240 seconds) 2017-10-06T04:23:26Z stapler: is using progn bad/unlisplike? 2017-10-06T04:23:37Z jmercouris: stapler: not necessarily, it can be very useful 2017-10-06T04:23:54Z jmercouris: in places where there is only one form, but if you abuse it for example, in place of a "when" inside of an if body, then yes 2017-10-06T04:24:39Z stapler: what do you mean by "one form?" 2017-10-06T04:24:50Z jmercouris: hey everyone, I'm trying to remove an element from my list: https://gist.github.com/89d8bdf87b833a6d4e79a14f3d3f5e54 unfortunately, it is not removed even though the remove command should remove it, any ideas why that is? 2017-10-06T04:25:29Z beach: stapler: For example, the IF special operator takes a single form for the THEN branch and a single form for the ELSE branch. 2017-10-06T04:25:41Z beach: stapler: So if you need more than one form there, you use a PROGN. 2017-10-06T04:25:42Z jmercouris: stapler: I mean for example if you look at the clhs for "if" http://www.lispworks.com/documentation/lw60/CLHS/Body/s_if.htm 2017-10-06T04:26:13Z jmercouris: I know in other languages, it is bad to remove an element from a list during iteration, is the same true in lisp? 2017-10-06T04:26:15Z beach: stapler: Why did you think PROGN might be bad? 2017-10-06T04:26:25Z stapler: beach, it seems very unfunctional 2017-10-06T04:26:38Z jmercouris: it's a common fallacy that lisp is a functional language 2017-10-06T04:27:02Z beach: stapler: Yes, but Common Lisp is not a particularly functional language in that sense. 2017-10-06T04:27:12Z pedh joined #lisp 2017-10-06T04:27:14Z beach: jmercouris: You are not allowed to modify the list you are iterating over. 2017-10-06T04:27:34Z jmercouris: beach: so how do I get around this limitation in this case? 2017-10-06T04:27:37Z jmercouris: stapler: https://letoverlambda.com/index.cl/guest/chap5.html 2017-10-06T04:27:38Z damke joined #lisp 2017-10-06T04:27:40Z beach: clhs 3.6 2017-10-06T04:27:40Z specbot: Traversal Rules and Side Effects: http://www.lispworks.com/reference/HyperSpec/Body/03_f.htm 2017-10-06T04:28:02Z beach: jmercouris: Now you are asking me to understand what you want to do. That's a lot more work. 2017-10-06T04:28:11Z jmercouris: beach: right, that makes sense, it's true in other langsa as well 2017-10-06T04:28:16Z pedh quit (Client Quit) 2017-10-06T04:28:24Z jmercouris: beach: I explain it very briefly, and if you don't feel like thinking about it, is okay :D 2017-10-06T04:28:48Z jmercouris: beach: I am simply trying to iterate through a list of buffers, find one with a matching name, and then remove it from the list of buffers 2017-10-06T04:28:50Z beach: jmercouris: You might use for x = then (cdr x) instead. 2017-10-06T04:29:12Z beach: jmercouris: You can use remove-if instead. 2017-10-06T04:29:34Z beach: Or just REMOVE. 2017-10-06T04:30:11Z beach: You can give a KEY and a TEST to REMOVE. 2017-10-06T04:30:42Z jmercouris: within the test, how do I refer to the element I'm testing? 2017-10-06T04:30:43Z beach: (remove input *buffers* :key #'name :test #'equalp) 2017-10-06T04:31:26Z beach: clhs remove 2017-10-06T04:31:27Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_rm_rm.htm 2017-10-06T04:31:35Z jmercouris: I'm already looking at that :\ 2017-10-06T04:33:10Z beach: Notice that REMOVE doesn't alter the list. 2017-10-06T04:33:25Z beach: So you have to set the special variable to the result of the call. 2017-10-06T04:33:42Z marusich joined #lisp 2017-10-06T04:33:56Z beach: You can use DELETE instead, but you still have to set the variable to the result of the call. 2017-10-06T04:33:59Z damke_ joined #lisp 2017-10-06T04:34:04Z jmercouris: I think i'm better off doing a find, and then a delete on a separate line 2017-10-06T04:34:08Z jmercouris: because I need to do some other operations as well 2017-10-06T04:34:24Z jmercouris: thank you for your help 2017-10-06T04:34:27Z stapler: https://hastebin.com/jubaqoguko.lisp is this alright? 2017-10-06T04:34:33Z beach: jmercouris: Sure. 2017-10-06T04:34:59Z stapler: not sure why its indented so far in in the paste 2017-10-06T04:35:00Z beach: stapler: When you present code for others to read, make sure it is indented correctly. 2017-10-06T04:35:10Z jmercouris: stapler: you can use paste.lisp.org 2017-10-06T04:35:21Z damke quit (Ping timeout: 240 seconds) 2017-10-06T04:35:50Z nsrahmad joined #lisp 2017-10-06T04:36:12Z beach: stapler: Also, COND has an implicit PROGN in each clause, so you don't need an explicit one right there. 2017-10-06T04:36:22Z stapler: beach, ah, today I learned 2017-10-06T04:36:26Z stapler: I should probably RTFM 2017-10-06T04:36:32Z beach: stapler: What is left-down, left-up, right-down, and right-up? 2017-10-06T04:36:41Z stapler: win32 api constants 2017-10-06T04:36:52Z beach: Oh dear. 2017-10-06T04:37:04Z stapler: heh 2017-10-06T04:37:44Z stapler: perhaps should wrap them in * and do defparameter? 2017-10-06T04:38:50Z beach: I am afraid I have no advice to give in this situation. 2017-10-06T04:39:18Z stapler_ joined #lisp 2017-10-06T04:39:20Z stapler quit (Disconnected by services) 2017-10-06T04:39:21Z stapler_ is now known as stapler 2017-10-06T04:39:24Z stapler quit (Changing host) 2017-10-06T04:39:24Z stapler joined #lisp 2017-10-06T04:42:23Z hexfive quit (Quit: WeeChat 1.9) 2017-10-06T04:42:44Z stapler: yikes just realized i forgot to wrap one of the conditions 2017-10-06T04:42:47Z stapler: im a mess 2017-10-06T04:42:58Z stapler: either way I'm enjoying toying around with this 2017-10-06T04:44:25Z vlatkoB joined #lisp 2017-10-06T04:44:48Z jmercouris: stapler: that's good! 2017-10-06T04:50:18Z yaocl joined #lisp 2017-10-06T04:50:46Z pjb joined #lisp 2017-10-06T04:52:57Z milanj quit (Quit: This computer has gone to sleep) 2017-10-06T04:53:28Z pedh joined #lisp 2017-10-06T04:53:46Z mishoo joined #lisp 2017-10-06T04:55:49Z pedh quit (Client Quit) 2017-10-06T04:56:43Z beach: stapler: It is easy to detect problems like that (forgetting a pair of parentheses) if the code is correctly indented. 2017-10-06T05:00:01Z shka_ quit (Ping timeout: 240 seconds) 2017-10-06T05:10:07Z jasom: stapler: which editor are you using? I can help you get it setup to indent lisp properly perhaps? 2017-10-06T05:10:30Z pillton quit (Quit: ERC (IRC client for Emacs 25.3.1)) 2017-10-06T05:10:36Z stapler: aha, i really should be at least using atom with atom-slime 2017-10-06T05:10:47Z stapler: but vs code with parinfer 2017-10-06T05:11:25Z nsrahmad quit (Quit: Leaving) 2017-10-06T05:11:36Z stapler: should probably use spaces over tabs 2017-10-06T05:12:00Z jasom: hmm, I'm not seeing any way to do pluggable indenting with vs code... if you know of one, there is a javascript program for indenting lisp code... 2017-10-06T05:12:06Z beach: stapler: The point is that you should not indent your code manually. 2017-10-06T05:12:23Z beach: stapler: You should use an editor that indents correctly for you. 2017-10-06T05:12:27Z Guest8081 quit (Changing host) 2017-10-06T05:12:27Z Guest8081 joined #lisp 2017-10-06T05:12:38Z stapler: parinfer does that 2017-10-06T05:12:40Z Guest8081 is now known as mrSpec 2017-10-06T05:12:43Z stapler: i've to learn to use it correctly however 2017-10-06T05:12:53Z stapler: https://shaunlebron.github.io/parinfer/ 2017-10-06T05:12:57Z al-damiri quit (Quit: Connection closed for inactivity) 2017-10-06T05:14:26Z beach: stapler: The recommended way is to use SLIME with the slime-indentation contribution. There are many other reasons to use SLIME as well, of course. 2017-10-06T05:15:20Z jasom: stapler: parinfer is the opposite; it adjusts your parens to match your indentation 2017-10-06T05:16:19Z jasom: https://code.visualstudio.com/updates/v1_14#_auto-indent-on-type-move-lines-and-paste <-- here's the customization of VS code indentation; it looks insufficient for properly indenting lisp (even with a static list of special forms and macros) 2017-10-06T05:17:20Z stapler: i will take a look later 2017-10-06T05:17:23Z jmercouris: stapler: I might suggest you give emacs a try :P 2017-10-06T05:17:23Z stapler: for now i am going to sleep 2017-10-06T05:17:38Z stapler: jmercouris, ..not my cup of tea but i may have to learn to love it i suppose 2017-10-06T05:17:51Z jasom: stapler: if you do try emacs, I strongly recommend going with portacle; it's already setup with sbcl and quicklisp 2017-10-06T05:17:59Z jasom: minion: tell stapler about portacle 2017-10-06T05:17:59Z minion: stapler: 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-10-06T05:18:07Z jmercouris quit (Read error: Connection reset by peer) 2017-10-06T05:20:06Z damke_ quit (Ping timeout: 246 seconds) 2017-10-06T05:22:11Z stapler: perhaps i should try to learn it again 2017-10-06T05:23:08Z Kristof_HT quit (Quit: Leaving) 2017-10-06T05:23:40Z beach: stapler: I personally think you should. You see, the problem is that Emacs with SLIME and slime-indentation is pretty much the only setup that allows you to indent almost all Common Lisp programs correctly... 2017-10-06T05:24:23Z beach: stapler: ... and if you use something else, you will then almost certainly submit code for others to read that is incorrectly indented, and that is not very polite. 2017-10-06T05:25:31Z beach: stapler: Not to mention the time you waste, both for those other people and for yourself by trying to find defects in your code that could have been easily spotted with correct indentation. 2017-10-06T05:27:23Z beach: stapler: Plus, SLIME allows you to save a lot of time in other ways, by letting you examine backtraces, inspect objects, find source locations of errors, etc. 2017-10-06T05:28:05Z vtomole quit (Ping timeout: 260 seconds) 2017-10-06T05:28:05Z stapler: lesson learned 2017-10-06T05:31:54Z safe joined #lisp 2017-10-06T05:33:09Z damke_ joined #lisp 2017-10-06T05:36:16Z milanj joined #lisp 2017-10-06T05:41:24Z damke joined #lisp 2017-10-06T05:43:01Z damke_ quit (Ping timeout: 240 seconds) 2017-10-06T05:45:36Z quazimodo quit (Read error: Connection reset by peer) 2017-10-06T05:45:49Z yaocl quit (Quit: yaocl) 2017-10-06T05:45:52Z quazimodo joined #lisp 2017-10-06T05:46:10Z damke_ joined #lisp 2017-10-06T05:46:47Z Karl_Dscc joined #lisp 2017-10-06T05:48:21Z damke quit (Ping timeout: 240 seconds) 2017-10-06T05:49:21Z flamebeard joined #lisp 2017-10-06T05:52:43Z Bock joined #lisp 2017-10-06T05:53:18Z vtomole joined #lisp 2017-10-06T05:57:02Z marusich quit (Ping timeout: 240 seconds) 2017-10-06T05:58:32Z marusich joined #lisp 2017-10-06T05:58:57Z damke joined #lisp 2017-10-06T05:59:20Z phoe_ left #lisp 2017-10-06T06:01:01Z damke_ quit (Ping timeout: 240 seconds) 2017-10-06T06:01:22Z yaocl joined #lisp 2017-10-06T06:01:32Z scymtym quit (Ping timeout: 260 seconds) 2017-10-06T06:02:34Z phoe_ joined #lisp 2017-10-06T06:02:35Z quazimodo quit (Read error: Connection reset by peer) 2017-10-06T06:02:50Z quazimodo joined #lisp 2017-10-06T06:03:54Z pillton joined #lisp 2017-10-06T06:05:01Z marusich quit (Ping timeout: 240 seconds) 2017-10-06T06:05:51Z marusich joined #lisp 2017-10-06T06:11:10Z dec0n joined #lisp 2017-10-06T06:12:20Z yrk quit (Read error: Connection reset by peer) 2017-10-06T06:16:35Z earl-ducaine quit (Remote host closed the connection) 2017-10-06T06:16:35Z drcode joined #lisp 2017-10-06T06:17:09Z pjb quit (Remote host closed the connection) 2017-10-06T06:17:38Z orivej joined #lisp 2017-10-06T06:18:02Z mishoo quit (Ping timeout: 240 seconds) 2017-10-06T06:18:50Z vtomole quit (Ping timeout: 260 seconds) 2017-10-06T06:19:49Z pjb joined #lisp 2017-10-06T06:27:52Z Karl_Dscc quit (Remote host closed the connection) 2017-10-06T06:30:30Z carenz_ joined #lisp 2017-10-06T06:30:31Z shka quit (Read error: Connection reset by peer) 2017-10-06T06:35:58Z phoe quit (Quit: leaving) 2017-10-06T06:38:01Z eschatologist quit (Ping timeout: 240 seconds) 2017-10-06T06:38:14Z mishoo joined #lisp 2017-10-06T06:38:25Z shka joined #lisp 2017-10-06T06:44:05Z krwq quit (Remote host closed the connection) 2017-10-06T06:44:12Z emaczen` quit (Read error: Connection reset by peer) 2017-10-06T06:45:22Z knobo quit (Ping timeout: 264 seconds) 2017-10-06T06:48:35Z wxie quit (Remote host closed the connection) 2017-10-06T06:48:52Z wxie joined #lisp 2017-10-06T06:50:32Z orivej quit (Ping timeout: 240 seconds) 2017-10-06T06:55:18Z Guest21598 quit (Quit: ZNC - http://znc.in) 2017-10-06T06:56:19Z beach: In Cleavir, when I convert a form (in fact it is not a form, but a concrete syntax tree representing a form), if it is a special form and perhaps even if it is a macro call to a standard macro, I would like to check the syntax first. Also, I would like to have a general restart RECOVER that tries to patch incorrect forms so that conversion can continue as much as possible. 2017-10-06T06:56:20Z beach: What would be a good way to organize this recovery so as to avoid code duplication? Perhaps I should have an :AROUND method on the conversion function that checks the syntax. The syntax checker can then return a patched form so that the :AROUND method calls the converter with the patched form if necessary. Does that sound reasonable? 2017-10-06T06:57:52Z safe quit (Read error: Connection reset by peer) 2017-10-06T06:58:25Z EvW1 joined #lisp 2017-10-06T07:00:06Z itruslove joined #lisp 2017-10-06T07:00:29Z emaczen` joined #lisp 2017-10-06T07:02:14Z damke_ joined #lisp 2017-10-06T07:03:36Z giraffe joined #lisp 2017-10-06T07:03:51Z giraffe is now known as Guest43993 2017-10-06T07:04:01Z damke quit (Ping timeout: 240 seconds) 2017-10-06T07:05:00Z Shinmera: That minion message about Portacle has an outdated link. It's now https://portacle.github.io 2017-10-06T07:06:29Z alexmlw joined #lisp 2017-10-06T07:07:32Z hajovonta joined #lisp 2017-10-06T07:11:08Z sarkic quit (Ping timeout: 246 seconds) 2017-10-06T07:12:03Z sarkic joined #lisp 2017-10-06T07:12:18Z mishoo_ joined #lisp 2017-10-06T07:13:35Z mishoo quit (Ping timeout: 240 seconds) 2017-10-06T07:18:00Z milanj quit (Quit: This computer has gone to sleep) 2017-10-06T07:20:03Z yaocl quit (Quit: yaocl) 2017-10-06T07:20:12Z varjag joined #lisp 2017-10-06T07:20:20Z yaocl joined #lisp 2017-10-06T07:21:18Z wxie quit (Remote host closed the connection) 2017-10-06T07:21:35Z wxie joined #lisp 2017-10-06T07:23:34Z sz0 joined #lisp 2017-10-06T07:27:16Z damke joined #lisp 2017-10-06T07:28:14Z hooman quit (Read error: Connection reset by peer) 2017-10-06T07:29:01Z damke_ quit (Ping timeout: 240 seconds) 2017-10-06T07:34:35Z knobo joined #lisp 2017-10-06T07:34:38Z scymtym joined #lisp 2017-10-06T07:38:40Z hajovonta: good morning! 2017-10-06T07:39:58Z _cosmonaut_ joined #lisp 2017-10-06T07:43:29Z pjb: beach: :around may be a problem in your case, if you want to change what is compiled, since clhs call-next-method says you cannot change the applicable methods. 2017-10-06T07:43:32Z pjb: "When providing arguments to call-next-method, the following rule must be satisfied or an error of type error should be signaled: the ordered set of applicable methods for a changed set of arguments for call-next-method must be the same as the ordered set of applicable methods for the original arguments to the generic function. Optimizations of the error checking are possible, but they must not change the semantics of call-next-me 2017-10-06T07:44:01Z pjb: So depending on what you want to do to correct the errors, it may be better to find a different mechanism (or use optional parameters). 2017-10-06T07:45:31Z juki joined #lisp 2017-10-06T07:47:18Z yaocl quit (Quit: yaocl) 2017-10-06T07:47:52Z pjb quit (Remote host closed the connection) 2017-10-06T07:47:53Z mishoo__ joined #lisp 2017-10-06T07:49:02Z mishoo_ quit (Ping timeout: 240 seconds) 2017-10-06T07:49:29Z pjb joined #lisp 2017-10-06T07:56:45Z edgar-rft quit (Quit: edgar-rft) 2017-10-06T07:57:28Z wxie quit (Read error: Connection reset by peer) 2017-10-06T07:57:48Z wxie joined #lisp 2017-10-06T08:02:13Z marvin2 joined #lisp 2017-10-06T08:04:50Z yaocl joined #lisp 2017-10-06T08:05:11Z krasnal joined #lisp 2017-10-06T08:15:18Z yaocl quit (Quit: yaocl) 2017-10-06T08:18:41Z marusich quit (Quit: Leaving) 2017-10-06T08:19:47Z yaocl joined #lisp 2017-10-06T08:32:48Z nirved joined #lisp 2017-10-06T08:33:40Z beach: pjb: That might indeed be a consideration. Thanks. 2017-10-06T08:34:35Z beach: I'll just make it two functions. 2017-10-06T08:34:51Z zooey quit (Remote host closed the connection) 2017-10-06T08:43:11Z beach: Either way, I will need a function that takes a CST representing a formm, that checks its syntax, signals an error if it is wrong, proposes a restart to fix it, and finally returns either the original CST or a fixed one. 2017-10-06T08:52:43Z Guest96442 is now known as clintm 2017-10-06T08:52:52Z clintm quit (Changing host) 2017-10-06T08:52:52Z clintm joined #lisp 2017-10-06T08:56:00Z emaczen`` joined #lisp 2017-10-06T08:58:28Z quazimodo quit (Ping timeout: 258 seconds) 2017-10-06T08:59:38Z emaczen` quit (Ping timeout: 246 seconds) 2017-10-06T09:01:03Z orivej joined #lisp 2017-10-06T09:02:02Z mishoo__ quit (Ping timeout: 240 seconds) 2017-10-06T09:02:07Z mishoo_ joined #lisp 2017-10-06T09:05:16Z yaocl quit (Quit: yaocl) 2017-10-06T09:10:05Z beach: Or how about this: I have an :AROUND method on the conversion function. It calls the syntax checker. If the syntax checker returns something EQ to its argument, the :AROUND method does (CALL-NEXT-METHOD). If not, it calls the conversion function recursively and never calls the next method. 2017-10-06T09:10:15Z bwv joined #lisp 2017-10-06T09:11:08Z beach: With this organization I won't alter the argument, so there is no issue with applicable methods. But the primary methods of the conversion function can still assume that the syntax is correct. 2017-10-06T09:11:15Z phoe_: Returns something EQ? So it returns the argument itself? 2017-10-06T09:11:23Z beach: Exactly. 2017-10-06T09:11:31Z phoe_: Is the argument to the syntax checker immutable? 2017-10-06T09:11:52Z beach: I think that would be best to respect, yes. 2017-10-06T09:11:52Z phoe_: Oh right, it is, "you won't alter the argument". 2017-10-06T09:12:26Z beach: Even so, if it were modified, there would be some mysterious error messages and backtraces. 2017-10-06T09:12:32Z beach: I try to avoid that if possible. 2017-10-06T09:12:43Z phoe_: That sounds okay. The primary methods assume that their arguments are correct, and :AROUND methods are there to catch any mistakes. 2017-10-06T09:12:56Z beach: Like: "WHAT, I never call this function with that argument!!!" 2017-10-06T09:13:11Z beach: Yes, that's my thinking. 2017-10-06T09:13:44Z phoe_: Sounds pretty right. 2017-10-06T09:13:52Z beach: Good. Thanks. 2017-10-06T09:13:57Z phoe_: Just one more question. 2017-10-06T09:14:17Z jackdaniel: that is one of premises of aspect programming 2017-10-06T09:14:24Z jackdaniel: you may validate input 2017-10-06T09:14:37Z phoe_: I don't understand calling the conversion function recursively. 2017-10-06T09:15:05Z phoe_: So there are three possible outputs from the syntax checker function: something EQ to the argument itself, something NOT EQ to the argument itself, and an error? 2017-10-06T09:15:14Z jackdaniel: phoe_: so :around method foo does call `foo' but not as (call-next-method), but rather a new function call (foo arg) 2017-10-06T09:15:39Z beach: (defmethod convert :AROUND (cst) (let ((fixed-cst (check-syntax cst))) (if (eq cst fixed-cst) (call-next-method) (convert fixed-cst)))) 2017-10-06T09:15:54Z phoe_: beach: ooh, I see. 2017-10-06T09:16:03Z phoe_: So basically you fix it until it's fixed enough. 2017-10-06T09:16:24Z beach: phoe_: No, if the syntax checker returns, it returns something that is correct. 2017-10-06T09:16:41Z beach: phoe_: But it may not return. 2017-10-06T09:16:41Z phoe_: Why can't you (call-next-method fixed-cst) then? 2017-10-06T09:16:50Z beach: Because of what pjb said. 2017-10-06T09:17:01Z beach: It is possible that fixed-cst would give different applicable methods. 2017-10-06T09:17:04Z beach: And that is not allowed. 2017-10-06T09:17:14Z phoe_: Oh! It would be an instance of a different class? 2017-10-06T09:17:21Z phoe_: s/would/could/ 2017-10-06T09:17:24Z beach: Or a different EQL specializer. 2017-10-06T09:17:32Z phoe_: I see. I understand now. 2017-10-06T09:18:10Z phoe_: So, basically, you need to make a full recursive call to make the whole CLOS magic happen again on the new syntax. 2017-10-06T09:18:20Z beach: Exactly. 2017-10-06T09:18:36Z phoe_: And, because the syntax checker will return something that is correct, there will be at most one such recursive call. 2017-10-06T09:18:42Z phoe_: So you don't risk blowing up the stack. 2017-10-06T09:18:47Z beach: Right. 2017-10-06T09:19:19Z beach: It will at most double the recursion depth for a nested form. 2017-10-06T09:19:30Z beach: But that case will be very infrequent. 2017-10-06T09:19:38Z hhdave joined #lisp 2017-10-06T09:20:29Z beach: The recursion depth will be proportional to the nesting depth of the form to be compiled, so it should be well below 100. 2017-10-06T09:20:42Z phoe_: I guess that if you want to very, very much avoid that, you can always THROW the fixed CST up the stack. But that would be a hack, and one hundred stack frames perhaps aren't that much nowadays. 2017-10-06T09:20:56Z beach: It is not much. 2017-10-06T09:20:58Z phoe_: Especially when compiling. 2017-10-06T09:21:20Z beach: Yeah, you will usually start with an empty stack. 2017-10-06T09:25:04Z yaocl joined #lisp 2017-10-06T09:25:48Z m00natic joined #lisp 2017-10-06T09:35:32Z yaocl quit (Quit: yaocl) 2017-10-06T09:46:01Z bwv quit (Quit: bwv) 2017-10-06T09:50:56Z bwv joined #lisp 2017-10-06T09:52:59Z yaocl joined #lisp 2017-10-06T09:54:59Z quazimodo joined #lisp 2017-10-06T09:55:40Z wigust joined #lisp 2017-10-06T09:56:04Z juki quit (Quit: ERC (IRC client for Emacs 25.3.1)) 2017-10-06T10:05:46Z bwv quit (Ping timeout: 264 seconds) 2017-10-06T10:07:22Z bwv joined #lisp 2017-10-06T10:13:06Z yaocl quit (Quit: yaocl) 2017-10-06T10:14:01Z raynold quit (Quit: Connection closed for inactivity) 2017-10-06T10:19:47Z yaocl joined #lisp 2017-10-06T10:24:31Z bwv quit (Quit: bwv) 2017-10-06T10:25:18Z zooey joined #lisp 2017-10-06T10:25:48Z bwv joined #lisp 2017-10-06T10:30:12Z yaocl quit (Quit: yaocl) 2017-10-06T10:32:21Z yaocl joined #lisp 2017-10-06T10:35:31Z margeas joined #lisp 2017-10-06T10:43:13Z terpri_ joined #lisp 2017-10-06T10:45:05Z terpri quit (Ping timeout: 240 seconds) 2017-10-06T10:47:41Z terpri_ quit (Ping timeout: 240 seconds) 2017-10-06T10:50:10Z terpri joined #lisp 2017-10-06T10:59:05Z quazimodo quit (Ping timeout: 240 seconds) 2017-10-06T10:59:13Z Bike joined #lisp 2017-10-06T10:59:48Z yaocl quit (Quit: yaocl) 2017-10-06T11:01:39Z damke_ joined #lisp 2017-10-06T11:03:20Z damke quit (Ping timeout: 252 seconds) 2017-10-06T11:03:42Z ym quit (Ping timeout: 260 seconds) 2017-10-06T11:05:27Z ym joined #lisp 2017-10-06T11:10:38Z nowhereman quit (Ping timeout: 255 seconds) 2017-10-06T11:11:46Z deba5e12 joined #lisp 2017-10-06T11:13:01Z deba5e12 quit (Read error: Connection reset by peer) 2017-10-06T11:13:21Z deba5e12 joined #lisp 2017-10-06T11:13:40Z deba5e12 quit (Client Quit) 2017-10-06T11:14:19Z deba5e12 joined #lisp 2017-10-06T11:14:24Z AlphaAtom joined #lisp 2017-10-06T11:16:52Z deba5e12 quit (Client Quit) 2017-10-06T11:17:29Z marvin2 quit (Ping timeout: 255 seconds) 2017-10-06T11:18:54Z deba5e12 joined #lisp 2017-10-06T11:19:02Z deba5e12 quit (Client Quit) 2017-10-06T11:20:16Z yaocl joined #lisp 2017-10-06T11:22:09Z deba5e12 joined #lisp 2017-10-06T11:22:15Z deba5e12 quit (Client Quit) 2017-10-06T11:22:22Z terpri quit (Remote host closed the connection) 2017-10-06T11:22:40Z deba5e12 joined #lisp 2017-10-06T11:22:57Z terpri joined #lisp 2017-10-06T11:24:01Z wigust quit (Ping timeout: 240 seconds) 2017-10-06T11:24:59Z wigust joined #lisp 2017-10-06T11:30:19Z JuanDaugherty joined #lisp 2017-10-06T11:31:11Z mishoo_ quit (Ping timeout: 246 seconds) 2017-10-06T11:33:36Z ym quit (Remote host closed the connection) 2017-10-06T11:34:55Z AlphaAtom quit (Quit: Textual IRC Client: www.textualapp.com) 2017-10-06T11:35:41Z milanj joined #lisp 2017-10-06T11:36:27Z knicklux joined #lisp 2017-10-06T11:37:10Z mishoo joined #lisp 2017-10-06T11:40:23Z koisoke_ is now known as koisoke 2017-10-06T11:40:33Z marvin2 joined #lisp 2017-10-06T11:49:51Z froggey quit (Ping timeout: 248 seconds) 2017-10-06T11:51:44Z froggey joined #lisp 2017-10-06T11:55:00Z Josh_2 joined #lisp 2017-10-06T12:01:39Z damke_ quit (Read error: Connection reset by peer) 2017-10-06T12:01:49Z Josh_2: So apparently I don't have to use C++ for my algorithms coursework, but it has to have "good low level access" not sure what they qualify as good though. 2017-10-06T12:04:05Z Josh_2 wants to use CL ofcourse 2017-10-06T12:05:01Z xantoz: try Rust or Nim? They should have no problem qualifying for "good low level access", and at least they have macros (AFAIK Nim has lispier Macros, though). 2017-10-06T12:05:09Z bdTaylor quit (Ping timeout: 258 seconds) 2017-10-06T12:05:51Z shifty quit (Ping timeout: 248 seconds) 2017-10-06T12:06:54Z rumbler31 joined #lisp 2017-10-06T12:08:30Z dddddd joined #lisp 2017-10-06T12:09:53Z dim: low-level access in an algo course might prevent using Garbage Collected language implementations, if I'd have to guess 2017-10-06T12:11:54Z pjb: Josh_2: Common Lisp is actually lower level than C or C++. 2017-10-06T12:12:15Z pjb: Josh_2: for example, Common Lisp let you access bits in integers. You don't have such primitives in C. 2017-10-06T12:12:31Z pjb: (ldb (byte 4 3) #xa5) #| --> 4 |# 2017-10-06T12:12:34Z dim: for some values of “low-level” which might not be the same as the teacher's definition 2017-10-06T12:12:49Z Josh_2: I will ask my lecturer to clarify what he means 2017-10-06T12:13:14Z saki quit (Quit: saki) 2017-10-06T12:13:20Z pjb: You can as easily implement a garbage collector in CL as in C. cf. https://framagit.org/com-informatimago/com-informatimago/tree/master/common-lisp/heap 2017-10-06T12:13:57Z dim: I'd advice against trying to game him or working around the rules, Josh_2, just say him you want to try in CL, and maybe attach an exercise or two made in CL for the lecturer to make his own opinion? 2017-10-06T12:15:14Z Josh_2: pjb: that does not seem simple to me 2017-10-06T12:16:15Z pjb: I didn't that garbage collecting was simple, I said that it was as easy in CL as in C (if not easier actually). 2017-10-06T12:16:31Z quazimodo joined #lisp 2017-10-06T12:16:33Z Josh_2: O my mistake 2017-10-06T12:17:03Z dim: Josh_2: how many assignements did you complete in CL and in something else? 2017-10-06T12:18:00Z Josh_2: I haven't had any assignments yet, it is a single project and a presentation at the end of the semester. We have to use 2 algorithms to solve a particular problem, I will assume we will be given a list of the algorithms we can pick from, although I am not certain. 2017-10-06T12:18:02Z dim: really, complete 2 to 6 of them in both C and CL, send that to the lecturer, and ask if continuing in CL is ok for him, you'll have full answer and no second guessing 2017-10-06T12:18:16Z dim: oh 2017-10-06T12:18:26Z Josh_2: We are given "labs" but they are not assessed 2017-10-06T12:19:52Z dim: well then show him a “lab” done in C and in CL and say him you'd rather implement the project in CL, unless he says otherwise 2017-10-06T12:20:22Z dim: don't ask if it's ok do use CL, say you will unless he says not to; that way you can work in CL if he doesn't answer your e-mail 2017-10-06T12:20:51Z dim: not sure about doing that in education context, but in pro context you mostly have to 2017-10-06T12:23:03Z Josh_2: If only it was just C. I'd be happy with C. Not C++ though. I'm no windoge user. 2017-10-06T12:24:06Z xantoz: Then just use C? C surely qualifies 2017-10-06T12:25:20Z pjb: CL still better :-) 2017-10-06T12:26:09Z Josh_2: ^^ 2017-10-06T12:28:18Z Josh_2: If I want to be a half decent programmer I'd have to learn C anyway. So I think I will learn C on the side. I didn't mind C++ until we started using classes, then it just became a pita. 2017-10-06T12:28:29Z Bike quit (Ping timeout: 255 seconds) 2017-10-06T12:28:52Z xantoz: wait until you see template metaprogramming 2017-10-06T12:29:05Z dim: how many programming languages are you comfortable with? “fluent”? 2017-10-06T12:29:51Z Josh_2: xantoz: A butchered attempt at macros? 2017-10-06T12:30:01Z Josh_2: dim: I would say none, but can anyone say they are fluent at cl? 2017-10-06T12:30:15Z xantoz: Josh_2: sort-of, but worse 2017-10-06T12:30:19Z xantoz: turns out it is it's own programming language 2017-10-06T12:31:05Z xantoz: but it was not meant to be one 2017-10-06T12:31:18Z Josh_2: xantoz: I can't imagine my Uni would ever teach that. 2017-10-06T12:31:21Z pedh joined #lisp 2017-10-06T12:31:21Z pedh quit (Client Quit) 2017-10-06T12:31:31Z xantoz: my uni C++ course touched way too little on macros... 2017-10-06T12:31:32Z pjb: You can also do the kind of low level programming you do in C, using Pascal or better, Modula-2. You can replace C++ with Modula-3 or Oberon. But of course, Common Lisp can do everything better, so… 2017-10-06T12:31:36Z xantoz: s/macros/templates 2017-10-06T12:31:47Z Josh_2: pjb: I like your way of thinking. 2017-10-06T12:32:04Z Josh_2: You are a CL elitist like me pjb you are most likely a reason for that. 2017-10-06T12:32:06Z pedh joined #lisp 2017-10-06T12:32:34Z xantoz: I wonder if anybody has tried implementing CL in C++ macros yet 2017-10-06T12:32:47Z xantoz: s/macros/templates 2017-10-06T12:32:50Z pjb: Yes, more or less. 2017-10-06T12:33:05Z pjb: See: http://informatimago.com/articles/life-saver.html 2017-10-06T12:33:41Z pjb: in particular InteLib :-) 2017-10-06T12:33:50Z Josh_2: dim: I would say I'm comfortable with Python although not fluent. CL was my first and is my favourite language. 2017-10-06T12:34:16Z pjb: Now, in practice, it's useless, because if you start using that kind of thing in an enterprise, all the teams will complain about you not writing C++ code… 2017-10-06T12:34:47Z pjb: bbl 2017-10-06T12:35:46Z xantoz: cute :) 2017-10-06T12:36:17Z mishoo quit (Ping timeout: 248 seconds) 2017-10-06T12:38:55Z yottabyte joined #lisp 2017-10-06T12:39:50Z pjb quit (Ping timeout: 255 seconds) 2017-10-06T12:39:50Z igemnace joined #lisp 2017-10-06T12:39:57Z dim: Josh_2: if you're fluent in none, just learn C++, then half-a-dozen other languages, and then allow yourself you have an educated opinion on C++, maybe? 2017-10-06T12:40:33Z rumbler31 quit (Remote host closed the connection) 2017-10-06T12:43:28Z Josh_2: Rather learn VB than learn C++ just so I can tell you in a year how much I dislike it. I don't need to have an "educated" opinion to tell you I simply do not enjoy writing programs in it. I had to do all my coursework in C++ last year. 2017-10-06T12:43:58Z Josh_2: Probably scratched the surface of what you can do with C++. Still don't like it. 2017-10-06T12:44:35Z yottabyte: ecraven: are those all R7RS languages in your benchmark? Chez scheme says it's R6RS, for example 2017-10-06T12:44:41Z varjag: if you don't like c++ at the start, it doesn't get better with time 2017-10-06T12:44:47Z yottabyte: I actually haven't found a good summary of what features R7RS adds 2017-10-06T12:45:08Z dim: Josh_2: is your course “how to like a programming language”? ;-) 2017-10-06T12:45:41Z yottabyte: also, did Cisco buy the rights/license to Chez scheme or something? they employ dybvig just so he can work on chez? or do they use chez internally too? 2017-10-06T12:45:44Z ecraven: yottabyte: no, they are not, but the benchmark code is 2017-10-06T12:45:46Z dim: what I mean is that there's value in learning C++ even if you're not going to ever choose to program in C++ for the rest of your life 2017-10-06T12:45:50Z ecraven: there's a bit of shim code to make it run on all of them 2017-10-06T12:46:03Z yottabyte: ah, nice 2017-10-06T12:46:57Z igemnace quit (Quit: WeeChat 1.9.1) 2017-10-06T12:47:28Z varjag: dim: the return on investment on learning c++ has diminished greatly 2017-10-06T12:47:36Z varjag: all the low level bits are in c really 2017-10-06T12:47:37Z phoe_: SELL! 2017-10-06T12:47:38Z phoe_ ducks 2017-10-06T12:47:49Z Josh_2: varjag: I was just about to ask that question. 2017-10-06T12:48:00Z varjag: c++ was hot in the 1990s 2017-10-06T12:48:05Z varjag: then java killed it 2017-10-06T12:48:10Z dim: varjag: you still learn how to think in a certain way and learn lots of history 2017-10-06T12:48:11Z mson joined #lisp 2017-10-06T12:48:15Z yottabyte: C++ is still hot, isn't it 2017-10-06T12:48:23Z varjag: not very 2017-10-06T12:48:26Z Josh_2: Probably more history in learning Fortran 2017-10-06T12:48:28Z yottabyte: browsers such like Firefox, Chrome, etc, use C++ in droves 2017-10-06T12:48:30Z varjag: i think c# is "hotter" 2017-10-06T12:48:35Z dim: also you develop your taste I guess 2017-10-06T12:48:59Z Josh_2: By learning lots of languages you learn what you like/dislike. 2017-10-06T12:49:00Z dim: anyway it doesn't strike me as worthwile for a student to try to escape a C++ curriculum, it's not that bad 2017-10-06T12:49:08Z yottabyte: C# is getting hotter in web development maybe, but from what I see, anything systems or os related, and most major desktop apps (like the web browsers) use C++ 2017-10-06T12:49:24Z varjag: i would say you need to learn c 2017-10-06T12:49:24Z dim: as a student you probably want to learn as much as possible 2017-10-06T12:49:31Z varjag: c++ is highly optional 2017-10-06T12:49:37Z Josh_2: varjag: I agree with you. 2017-10-06T12:49:43Z varjag: nothing useful there that isn't found in other languages 2017-10-06T12:50:02Z dim: well the only important opinion on which language to learn as a student, as far as Josh_2 is concerned, seems to be his lecturer's opinion, right? 2017-10-06T12:50:28Z Josh_2: dim: I agree with that, but I would have to choose whether to become okay at a wide variety of languages or better with a select few. Broad or focussed learning. 2017-10-06T12:50:29Z dim: let's be clear, I dispised C++ when I was taught it, and never used it again 2017-10-06T12:51:05Z dim: Josh_2: how many hours are you going to spend doing C++ this year? total in your studies? what scale is your reasoning? 2017-10-06T12:51:37Z dim: it's like avoiding an O(N) or worse algo on a 10 items list 2017-10-06T12:51:44Z Josh_2: dim: The only reason we are using C++ is because my course is throw in with the game dev students who have to use C++ in industry. Otherwise I'd bed that we would be using Python. 2017-10-06T12:51:47Z dim: you just don't care if the list only has 10 elements ;-) 2017-10-06T12:52:14Z dim: it's a 10 hours course? 100 hours? 2017-10-06T12:52:33Z hajovonta: I have two objects, and I want to define an operation where I add certain slot of the objects and want to use the + operator for that. But then I get an error that the function already exists and then I can replace the existing binding or abort. 2017-10-06T12:52:45Z hajovonta: how do I properly do this? 2017-10-06T12:53:00Z dim: hajovonta: we need the code to help you 2017-10-06T12:53:15Z dim: hajovonta: it sounds like you're trying to implement a method on a function that is not a generic function, tho 2017-10-06T12:53:35Z hajovonta: i typed (defgeneric + (var1 var2)) 2017-10-06T12:53:49Z dim: in which package? 2017-10-06T12:54:00Z hajovonta: in my-package 2017-10-06T12:54:09Z varjag: dim: sure, if it's in the curriculum i guess you have to get through it 2017-10-06T12:54:31Z hajovonta: but it uses :cl 2017-10-06T12:54:38Z varjag: i similarly suffered through pascal, can't say it made me a better dev 2017-10-06T12:54:46Z dim: varjag: exactly, my argument is that I don't think it's worthwile to whine and try to do CL instead... 2017-10-06T12:54:58Z hajovonta: i can do something like (defgeneric add (var1 var2)) 2017-10-06T12:55:09Z hajovonta: then write the defmethod and it's working fine 2017-10-06T12:55:14Z beach: hajovonta: You need to shadow + in that package if you want to be able to use +. 2017-10-06T12:55:50Z damke_ joined #lisp 2017-10-06T12:55:57Z hajovonta: beach: but will I lose the functionality altogether or will I shadow it just for the operation defined in the defmethod? I mean, between two objects 2017-10-06T12:56:20Z hajovonta: because I will need the standard + when adding two numbers 2017-10-06T12:56:24Z dim: you still can use cl:+ 2017-10-06T12:56:25Z beach: hajovonta: You are not allowed to modify the Common Lisp + function. 2017-10-06T12:56:27Z hajovonta: I just want to extend it to my objects 2017-10-06T12:56:31Z Josh_2: dim: I wasn't whining... expressing a dislike for something is not whining. I'm going to use C. 2017-10-06T12:56:41Z beach: hajovonta: You can't extend the Common Lisp + function. 2017-10-06T12:56:47Z beach: hajovonta: It is not a generic function. 2017-10-06T12:56:55Z quazimodo quit (Ping timeout: 255 seconds) 2017-10-06T12:57:08Z dim: Josh_2: sorry, I'm not an English native speaker, might have used the wrong word here 2017-10-06T12:57:23Z beach: hajovonta: But you can add a method to your + like this: (defmethod + ((x number) (y number)) (cl:+ x y)) 2017-10-06T12:57:39Z Jesin quit (Quit: Leaving) 2017-10-06T12:57:50Z Josh_2: dim: Don't worry about it. Thank you for your input, I appreciate it. You also varjag. 2017-10-06T12:58:46Z Josh_2: Now I just have to get some time management skills so I can learn more CL at the same time. 2017-10-06T12:58:56Z hajovonta: beach: thanks. 2017-10-06T12:59:03Z beach: Sure. 2017-10-06T12:59:05Z quazimodo joined #lisp 2017-10-06T13:00:43Z varjag: yottabyte: most systems related stuff is c by huge margin 2017-10-06T13:00:57Z Bike joined #lisp 2017-10-06T13:01:10Z Josh_2: Isn't C# just M$ version of Java? 2017-10-06T13:01:39Z damke joined #lisp 2017-10-06T13:02:04Z varjag: it was certainly their answer to java 2017-10-06T13:02:24Z varjag: it's not bad, from the little i know 2017-10-06T13:02:44Z dim: Josh_2: implement your assignements in both C++ and CL 2017-10-06T13:03:15Z Josh_2: I already repeat all my work in CL. 2017-10-06T13:03:41Z damke_ quit (Ping timeout: 240 seconds) 2017-10-06T13:07:09Z shka quit (Quit: Konversation terminated!) 2017-10-06T13:09:18Z LAG_ joined #lisp 2017-10-06T13:16:07Z |3b|`` is now known as |3b| 2017-10-06T13:19:28Z sjl quit (Ping timeout: 240 seconds) 2017-10-06T13:20:04Z Josh_2: Just got this from my lecturer http://i.imgur.com/WVmS9Ng.png 2017-10-06T13:21:41Z nowhereman joined #lisp 2017-10-06T13:22:08Z clintm: All I can think about is that they used winky-face. Not sure what that says about me. 2017-10-06T13:22:55Z Josh_2: Well I asked last week if we have to use C++ and he said yes. But this week he has changed it so we don't have to use C++. Which is nice. 2017-10-06T13:23:12Z clintm: That is definitely a plus! 2017-10-06T13:23:30Z nowhereman quit (Read error: Connection reset by peer) 2017-10-06T13:23:32Z nowhere_man joined #lisp 2017-10-06T13:24:10Z rumbler31 joined #lisp 2017-10-06T13:24:27Z Josh_2: He's actually changed the written specification. 2017-10-06T13:24:44Z dlowe: that sounds hard as an instructor 2017-10-06T13:24:59Z Josh_2: He wrote the spec, so I'm sure he can change it 2017-10-06T13:25:06Z cromachina quit (Read error: Connection reset by peer) 2017-10-06T13:27:16Z damke_ joined #lisp 2017-10-06T13:27:21Z damke quit (Ping timeout: 240 seconds) 2017-10-06T13:29:06Z damke joined #lisp 2017-10-06T13:32:21Z damke_ quit (Ping timeout: 240 seconds) 2017-10-06T13:32:38Z damke__ joined #lisp 2017-10-06T13:33:21Z damke quit (Ping timeout: 240 seconds) 2017-10-06T13:33:53Z dlowe: I mean to verify correctness in N languages 2017-10-06T13:34:41Z Josh_2: Well we are technically assessed on our presentation. So I think he will care more that we understand the algorithms than the actually code we write. 2017-10-06T13:34:53Z dlowe: yes, but *he* has to understand the code you write 2017-10-06T13:35:30Z igemnace joined #lisp 2017-10-06T13:35:53Z Josh_2: Well I asked him if he has used any Lisp before, he has written Scheme and has a complicated .emacs file so I think he'll be fine 2017-10-06T13:36:32Z pjb joined #lisp 2017-10-06T13:38:35Z yrk joined #lisp 2017-10-06T13:40:16Z xristos_ is now known as xristos 2017-10-06T13:40:45Z xristos is now known as Guest43259 2017-10-06T13:40:53Z Guest43259 is now known as xristos` 2017-10-06T13:41:02Z xristos` is now known as xristos 2017-10-06T13:41:06Z xristos quit (Changing host) 2017-10-06T13:41:06Z xristos joined #lisp 2017-10-06T13:43:53Z pedh quit (Quit: pedh) 2017-10-06T13:46:38Z yeticry quit (Read error: Connection reset by peer) 2017-10-06T13:46:40Z yeticry_ joined #lisp 2017-10-06T13:50:48Z quazimodo quit (Read error: No route to host) 2017-10-06T13:55:01Z mishoo joined #lisp 2017-10-06T13:56:07Z rippa joined #lisp 2017-10-06T13:56:15Z flamebeard quit (Quit: Leaving) 2017-10-06T13:57:40Z pjb quit (Ping timeout: 255 seconds) 2017-10-06T13:58:53Z wxie quit (Remote host closed the connection) 2017-10-06T14:06:36Z Josh_2: Gonna talk to one of my lecturers about swapping courses 2017-10-06T14:06:49Z thblt joined #lisp 2017-10-06T14:07:43Z rumbler31: accidentally posted this to lispgames, would like your opinions http://paste.lisp.org/display/357790 2017-10-06T14:09:27Z Josh_2: Couldn't you just wrap (if "0.0063451775%" but in sbcl "0.63451775%" 2017-10-07T07:10:23Z clintm: I guess I should probably ask in #ccl. 2017-10-07T07:13:01Z shka quit (Ping timeout: 240 seconds) 2017-10-07T07:13:03Z rumbler31 quit (Ping timeout: 248 seconds) 2017-10-07T07:13:04Z clintm: beach: I think that's a pretty sound hypothesis. 2017-10-07T07:13:28Z beach: What is ~,,2f supposed to do? 2017-10-07T07:14:03Z Shinmera: beach: I mean, your hypothesis is at least true for me. 2017-10-07T07:14:30Z vlatkoB joined #lisp 2017-10-07T07:14:49Z clintm: beach: I'm going to admit, I'm not completely sure. I'm dusting off an old project. 2017-10-07T07:15:12Z beach: The SBCL output looks wrong. 2017-10-07T07:15:43Z beach: Oh, scale factor. 2017-10-07T07:15:45Z beach: I see. 2017-10-07T07:16:05Z beach: So CCL is wrong then. 2017-10-07T07:18:13Z jackdaniel: ECL is right \o/ 2017-10-07T07:18:21Z clintm: haha 2017-10-07T07:23:01Z nowhere_man quit (Ping timeout: 255 seconds) 2017-10-07T07:26:38Z itself_famishing quit (Quit: peace out) 2017-10-07T07:31:40Z angavrilov joined #lisp 2017-10-07T07:36:17Z safe quit (Read error: Connection reset by peer) 2017-10-07T07:37:36Z damke joined #lisp 2017-10-07T07:38:20Z pjb: clintm: a nice bug in ccl, indeed. 2017-10-07T07:39:41Z damke_ quit (Ping timeout: 240 seconds) 2017-10-07T07:42:50Z neoncontrails joined #lisp 2017-10-07T07:54:32Z clintm: Thanks! I guess I should add an issue if it's not there already. Got sidetracked about something else and forgot for a bit. 2017-10-07T07:59:35Z earl-ducaine joined #lisp 2017-10-07T08:04:19Z damke_ joined #lisp 2017-10-07T08:04:24Z Karl_Dscc joined #lisp 2017-10-07T08:05:21Z damke quit (Ping timeout: 240 seconds) 2017-10-07T08:09:54Z manny8888_ joined #lisp 2017-10-07T08:10:03Z JuanDaugherty joined #lisp 2017-10-07T08:11:15Z MrBusiness3 joined #lisp 2017-10-07T08:13:48Z MrBismuth quit (Ping timeout: 240 seconds) 2017-10-07T08:15:12Z schoppenhauer quit (Read error: Connection timed out) 2017-10-07T08:16:19Z earl-ducaine quit (Remote host closed the connection) 2017-10-07T08:17:46Z manny8888_ quit (Ping timeout: 264 seconds) 2017-10-07T08:18:46Z damke joined #lisp 2017-10-07T08:19:21Z damke_ quit (Ping timeout: 240 seconds) 2017-10-07T08:21:33Z manny8888_ joined #lisp 2017-10-07T08:22:18Z schoppenhauer joined #lisp 2017-10-07T08:28:06Z random-nick joined #lisp 2017-10-07T08:33:01Z yaocl quit (Read error: Connection reset by peer) 2017-10-07T08:33:25Z yaocl joined #lisp 2017-10-07T08:50:20Z terpri quit (Ping timeout: 255 seconds) 2017-10-07T08:50:54Z rixard joined #lisp 2017-10-07T08:52:37Z rixard quit (Client Quit) 2017-10-07T08:56:23Z rixard joined #lisp 2017-10-07T08:57:25Z drot quit (Quit: Quit.) 2017-10-07T08:58:54Z neoncontrails quit (Read error: Connection reset by peer) 2017-10-07T08:58:59Z drot joined #lisp 2017-10-07T08:59:08Z neoncontrails joined #lisp 2017-10-07T09:09:23Z rumbler31 joined #lisp 2017-10-07T09:12:37Z rixard quit (Quit: (exit)) 2017-10-07T09:13:37Z rumbler31 quit (Ping timeout: 248 seconds) 2017-10-07T09:13:45Z kolko joined #lisp 2017-10-07T09:22:37Z rixard joined #lisp 2017-10-07T09:26:27Z nowhere_man joined #lisp 2017-10-07T09:26:32Z manny8888_ quit (Ping timeout: 260 seconds) 2017-10-07T09:29:49Z rixard quit (Quit: (exit)) 2017-10-07T09:30:55Z reu quit (Remote host closed the connection) 2017-10-07T09:34:57Z edgar-rft joined #lisp 2017-10-07T09:41:35Z beach: Time to get a new computer. This one has unpredictable random memory errors it seems. 2017-10-07T09:51:12Z phoe_: beach: Won't it be enough to find and replace the faulty RAM chip? 2017-10-07T09:51:26Z phoe_: You can use a boot-time utility called memtest to verify RAM dice. 2017-10-07T09:55:48Z attila_lendvai joined #lisp 2017-10-07T09:55:51Z wxie joined #lisp 2017-10-07T09:57:14Z clintm: beach: there used to be a usb, cd, and floppy image that the memtest project produced that booted just enough of something to run memtest. It's been years since I've needed it though. 2017-10-07T09:57:48Z clintm: yea, they still do it. cd and usb images on the memtest86 download page. 2017-10-07T10:05:46Z beach: phoe_: My experience is that, whenever I replace my computer, the kind of chips they use has changed. 2017-10-07T10:06:47Z beach: clintm: I think the BIOS has a memory test as well, but I hate to take my computer down. It takes forever to re-create my 36 workspaces. 2017-10-07T10:06:53Z phoe_: beach: That's right, but you still can get unused older chips unless your computer is so old that it needs to be replaced anyway. 2017-10-07T10:07:10Z varjag joined #lisp 2017-10-07T10:07:44Z beach: I think it is time for a new one anyway. 2017-10-07T10:08:32Z scymtym quit (Ping timeout: 260 seconds) 2017-10-07T10:09:39Z phoe_: In this case, it's shopping time for you. 2017-10-07T10:13:06Z beach: I usually contact one of those companies that build computers. That way, I don't have to pay for a commercial operating system. And I get the configuration that I want. Plus, I keep local companies in business. 2017-10-07T10:13:31Z phoe_: Yay! 2017-10-07T10:13:53Z nowhere_man quit (Ping timeout: 248 seconds) 2017-10-07T10:18:01Z Arun__ joined #lisp 2017-10-07T10:19:09Z vibs29 quit (Ping timeout: 258 seconds) 2017-10-07T10:19:54Z vibs29 joined #lisp 2017-10-07T10:20:15Z Bike joined #lisp 2017-10-07T10:22:25Z lnostdal quit (Ping timeout: 248 seconds) 2017-10-07T10:23:18Z wxie quit (Quit: Bye.) 2017-10-07T10:23:22Z FreeBirdLjj joined #lisp 2017-10-07T10:24:16Z manny8888_ joined #lisp 2017-10-07T10:26:35Z lnostdal joined #lisp 2017-10-07T10:29:28Z babalua quit (Quit: babalua) 2017-10-07T10:32:53Z attila_lendvai quit (Quit: Leaving.) 2017-10-07T10:33:12Z MoritaShinobu joined #lisp 2017-10-07T10:34:23Z scymtym joined #lisp 2017-10-07T10:36:33Z babalua joined #lisp 2017-10-07T10:39:28Z babalua quit (Client Quit) 2017-10-07T10:39:52Z babalua joined #lisp 2017-10-07T10:43:59Z babalua quit (Client Quit) 2017-10-07T10:44:24Z babalua joined #lisp 2017-10-07T10:45:19Z neoncontrails quit (Remote host closed the connection) 2017-10-07T10:46:19Z FreeBirdLjj quit 2017-10-07T10:47:11Z carenz_ joined #lisp 2017-10-07T10:49:28Z babalua quit (Quit: babalua) 2017-10-07T10:49:55Z marvin2 joined #lisp 2017-10-07T10:49:55Z babalua joined #lisp 2017-10-07T10:50:00Z clintm: beach: oh man, I know the feeling. re. workspaces... 2017-10-07T10:53:59Z babalua quit (Client Quit) 2017-10-07T10:54:25Z babalua joined #lisp 2017-10-07T10:54:37Z kolko quit (Ping timeout: 260 seconds) 2017-10-07T10:54:46Z kolko joined #lisp 2017-10-07T10:57:26Z edgar-rft quit (Quit: edgar-rft) 2017-10-07T10:57:41Z beach: Yeah. And because of Unix stupidity, whenever I update the operating system, I need to restart my computer, thereby losing all my workspaces as well. 2017-10-07T11:02:05Z damke_ joined #lisp 2017-10-07T11:03:47Z damke quit (Ping timeout: 252 seconds) 2017-10-07T11:04:01Z flazh quit (Ping timeout: 240 seconds) 2017-10-07T11:04:25Z flazh joined #lisp 2017-10-07T11:08:54Z quazimodo joined #lisp 2017-10-07T11:10:08Z rumbler31 joined #lisp 2017-10-07T11:14:41Z rumbler31 quit (Ping timeout: 248 seconds) 2017-10-07T11:15:16Z nowhere_man joined #lisp 2017-10-07T11:15:37Z beach: Anyway, I won't elaborate, because last time I did, tetero felt insulted, left #lisp, and apparently never came back. 2017-10-07T11:15:42Z marvin3 joined #lisp 2017-10-07T11:16:38Z dddddd joined #lisp 2017-10-07T11:18:23Z marvin2 quit (Ping timeout: 255 seconds) 2017-10-07T11:21:54Z clintm: I think that says more about them than you, but no one asked me. 2017-10-07T11:23:48Z raynold quit (Quit: Connection closed for inactivity) 2017-10-07T11:24:06Z beach: I think you are right. 2017-10-07T11:27:57Z Ellenor is now known as Reinhilde 2017-10-07T11:29:16Z beach: As part of the SICL boot procedure, I create several first-class global environments. I create them in a sequence without any intervening code (other than a message printed with FORMAT), and always in the same way: (MAKE-INSTANCE 'SICL-EXTRINSIC-ENVIRONMENT:ENVIRONMENT). 2017-10-07T11:29:21Z beach: The fifth time, it fails with an error that too many arguments were supplied to a macro function. The macro function in question has a lambda list with a single parameter (which is wrong). 2017-10-07T11:29:22Z beach: But I can't see how that is possible, given that I have created many macros before, and in fact, it worked four times before. But I worry, because it happened twice in the same way. Can a memory problem really be the cause of that? 2017-10-07T11:29:35Z wigust quit (Ping timeout: 248 seconds) 2017-10-07T11:30:28Z beach: I know. I should ask someone else to run it. 2017-10-07T11:30:45Z beach: But that someone needs a pretty good computer and a 10GB SBCL image. 2017-10-07T11:31:03Z beach: ... and some patience. 2017-10-07T11:31:11Z clintm: heh. 2017-10-07T11:31:20Z clintm: I'll try... I'm between distractions. 2017-10-07T11:31:40Z wigust joined #lisp 2017-10-07T11:31:57Z beach: OK, thanks. You need to clone SICL and make sure that ASDF finds the system files in the repository. 2017-10-07T11:32:47Z beach: Oh, and you will need some prerequisites as well. Acclimation (in Quicklisp) and Concrete Syntax Tree. 2017-10-07T11:33:40Z beach: Then you should just have to do (asdf:load-system :sicl-boot), (in-package #:sicl-boot), (make-instance 'boot) 2017-10-07T11:33:59Z beach: There might be other dependencies as well that I forgot about. 2017-10-07T11:34:28Z babalua quit (Quit: babalua) 2017-10-07T11:34:48Z neoncontrails joined #lisp 2017-10-07T11:34:53Z babalua joined #lisp 2017-10-07T11:35:29Z clintm: (make-instance-ing now... 2017-10-07T11:36:17Z beach: Great! Do you see a message that an environment is being created? 2017-10-07T11:36:54Z clintm: It's loading a bunch of files at the moment. standard-environment-functions.lisp 2017-10-07T11:37:03Z beach: Right. 2017-10-07T11:37:06Z beach: That's normal 2017-10-07T11:37:07Z clintm: is/was the current one. 2017-10-07T11:37:26Z Reinhilde is now known as Ellenor 2017-10-07T11:37:34Z clintm: It's freebsd, btw. Hopefully that doesn't matter. 2017-10-07T11:37:52Z beach: It shouldn't. I am not using any OS functions. 2017-10-07T11:38:09Z random-nick quit (Remote host closed the connection) 2017-10-07T11:38:14Z clintm: Getting a drink... back in a sec. 2017-10-07T11:38:59Z babalua quit (Client Quit) 2017-10-07T11:39:25Z babalua joined #lisp 2017-10-07T11:43:28Z clintm: These must be some rugged files. 2017-10-07T11:43:51Z beach: No, they are not loaded by SBCL load. 2017-10-07T11:44:16Z beach: They are compiled to AST then HIR then translated to a huge Common Lisp program, then compiled by the SBCL compiler. :) 2017-10-07T11:44:22Z beach: That's what makes it slow. 2017-10-07T11:44:31Z MoritaShinobu quit (Ping timeout: 240 seconds) 2017-10-07T11:44:31Z clintm: Environment/standard-environment-functions.lisp / cleavir-environment:no-function-info / undefined function named common-lisp:setf 2017-10-07T11:44:52Z beach: Wow. 2017-10-07T11:44:54Z beach: Thanks 2017-10-07T11:45:04Z beach: I got that error too, but only when using the cache. 2017-10-07T11:45:13Z beach: Did you set *cache-p* to T? 2017-10-07T11:45:47Z clintm: oooh, I copy/pasted from the project readme. 2017-10-07T11:46:00Z clintm: That was dumb. You didn't say to do that. 2017-10-07T11:46:07Z beach: I didn't :) 2017-10-07T11:46:29Z beach: Before starting over, you may want to restart your SBCL. 2017-10-07T11:46:35Z beach: It is easy to run out of heap. 2017-10-07T11:47:18Z clintm: Restarted, and now loading again. 2017-10-07T11:52:51Z beach: If it gets to "Finished creating run-time environment R4", I have my answer. 2017-10-07T11:54:28Z babalua quit (Quit: babalua) 2017-10-07T11:54:42Z carenz_ quit (Ping timeout: 260 seconds) 2017-10-07T11:55:18Z babalua joined #lisp 2017-10-07T11:57:25Z FreeBirdLjj joined #lisp 2017-10-07T11:57:49Z clintm: Well past the point where it died last time... 2017-10-07T11:58:12Z beach: Whew! Is it still working on creating environment C1? 2017-10-07T11:58:22Z MoritaShinobu joined #lisp 2017-10-07T11:58:22Z stnutt joined #lisp 2017-10-07T11:58:34Z clintm: Nope, on C2 - shiftf-defmacro.lisp 2017-10-07T11:58:39Z beach: Great! 2017-10-07T11:58:59Z babalua quit (Client Quit) 2017-10-07T11:59:25Z babalua joined #lisp 2017-10-07T12:00:20Z Arun__ quit (Ping timeout: 260 seconds) 2017-10-07T12:00:37Z bwv joined #lisp 2017-10-07T12:04:48Z clintm: Oh, about 10 files into R1... I was reading in the other monitor. 2017-10-07T12:05:08Z beach: Great. I think it failed for me during the creation of R2. 2017-10-07T12:06:46Z joaj joined #lisp 2017-10-07T12:08:24Z arbv quit (Ping timeout: 258 seconds) 2017-10-07T12:08:36Z LiamH joined #lisp 2017-10-07T12:11:29Z Nickname123 joined #lisp 2017-10-07T12:11:32Z random-nick joined #lisp 2017-10-07T12:12:21Z clintm: R2... 2017-10-07T12:15:29Z orivej quit (Ping timeout: 248 seconds) 2017-10-07T12:17:31Z kilfer quit (Ping timeout: 240 seconds) 2017-10-07T12:27:48Z beach: Any progress? 2017-10-07T12:31:11Z varjag quit (Remote host closed the connection) 2017-10-07T12:31:21Z varjag joined #lisp 2017-10-07T12:32:24Z Nickname123 quit (Quit: Page closed) 2017-10-07T12:35:04Z clintm: R3 / remf-defmacro.lisp 2017-10-07T12:35:10Z clintm: and counting... 2017-10-07T12:35:24Z beach: Excellent! 2017-10-07T12:37:05Z quazimodo quit (Ping timeout: 240 seconds) 2017-10-07T12:39:28Z babalua quit (Quit: babalua) 2017-10-07T12:39:52Z babalua joined #lisp 2017-10-07T12:41:33Z kilfer joined #lisp 2017-10-07T12:42:07Z panji joined #lisp 2017-10-07T12:42:34Z clintm: End of phase 3 / # 2017-10-07T12:43:08Z beach: Excellent!!!!! 2017-10-07T12:43:22Z beach: Thank you so much. You saved me at least a day of mystery debugging. 2017-10-07T12:43:39Z clintm: hehe any time. 2017-10-07T12:44:32Z beach: I might take you up on that. :) 2017-10-07T12:48:59Z babalua quit (Quit: babalua) 2017-10-07T12:49:23Z babalua joined #lisp 2017-10-07T12:50:55Z neoncont_ joined #lisp 2017-10-07T12:54:01Z neoncontrails quit (Ping timeout: 240 seconds) 2017-10-07T12:56:05Z Josh_2 joined #lisp 2017-10-07T12:59:28Z babalua quit (Quit: babalua) 2017-10-07T12:59:53Z babalua joined #lisp 2017-10-07T13:00:35Z vancan1ty joined #lisp 2017-10-07T13:01:35Z damke joined #lisp 2017-10-07T13:03:59Z babalua quit (Client Quit) 2017-10-07T13:04:01Z damke_ quit (Ping timeout: 240 seconds) 2017-10-07T13:04:09Z rumbler31 joined #lisp 2017-10-07T13:04:29Z babalua joined #lisp 2017-10-07T13:08:49Z rumbler31 quit (Ping timeout: 248 seconds) 2017-10-07T13:16:39Z reu joined #lisp 2017-10-07T13:20:37Z neoncontrails joined #lisp 2017-10-07T13:24:17Z neoncont_ quit (Ping timeout: 248 seconds) 2017-10-07T13:29:35Z Posterdati: hi 2017-10-07T13:29:53Z beach: Hello Posterdati. 2017-10-07T13:29:54Z orivej joined #lisp 2017-10-07T13:39:11Z Josh_2: Afternoon Posterdati 2017-10-07T13:39:32Z neoncont_ joined #lisp 2017-10-07T13:40:24Z neoncont_ quit (Read error: Connection reset by peer) 2017-10-07T13:41:41Z neoncontrails quit (Ping timeout: 240 seconds) 2017-10-07T13:43:31Z vancan1ty quit (Ping timeout: 240 seconds) 2017-10-07T13:44:28Z babalua quit (Quit: babalua) 2017-10-07T13:44:47Z SaganMan joined #lisp 2017-10-07T13:44:50Z babalua joined #lisp 2017-10-07T13:45:03Z neoncontrails joined #lisp 2017-10-07T13:46:11Z panji quit (Read error: Connection reset by peer) 2017-10-07T13:48:14Z xxoxx joined #lisp 2017-10-07T13:49:16Z Posterdati: what's up folks? 2017-10-07T13:49:24Z SaganMan: yo 2017-10-07T13:50:05Z beach: Posterdati: I have what seems to be a working version of the CST-to-AST system in Cleavir. 2017-10-07T13:50:09Z xxoxx: hi 2017-10-07T13:51:01Z manny8888_ quit (Ping timeout: 240 seconds) 2017-10-07T13:51:52Z neoncontrails quit (Read error: Connection reset by peer) 2017-10-07T13:52:25Z whoman: Concrete? 2017-10-07T13:52:51Z beach: whoman: Yes, just a Common Lisp form wrapped in standard objects to keep track of source information. 2017-10-07T13:53:04Z whoman: ah ok cool=) 2017-10-07T13:55:58Z Shinmera: Working on an article that quickly describes all of my projects. I hope that helps some people find some libraries they could use but weren't aware of. 2017-10-07T13:56:11Z phoe_: Shinmera: yes! I'd love that. 2017-10-07T13:56:29Z phoe_: There is also https://www.quicklisp.org/tmp/dls.html but much more general. 2017-10-07T13:56:44Z phoe_: beach: Congrats! 2017-10-07T13:56:50Z beach: Thanks. 2017-10-07T13:57:25Z whoman: i started a new project to organize my projects. i have to accept that it will never be "finished" but hopefully always complete. 2017-10-07T13:57:51Z phoe_: >i started a new project to organize my projects 2017-10-07T13:57:55Z phoe_: obligatory https://xkcd.com/927/ 2017-10-07T13:57:58Z phoe_: but I know the pain. 2017-10-07T13:58:03Z rjid joined #lisp 2017-10-07T13:58:51Z shka joined #lisp 2017-10-07T13:58:59Z babalua quit (Quit: babalua) 2017-10-07T13:59:21Z babalua joined #lisp 2017-10-07T13:59:30Z yaocl quit (Quit: yaocl) 2017-10-07T14:00:31Z whoman: =) hopefully org mode will keep my head by excersizing digital containment 2017-10-07T14:01:48Z whoman: as a human, i find it is also healthy to maintain human language connection, rather than my wierd idea to use raw elisp for documenting. 2017-10-07T14:02:05Z phoe_: s/as a human/as a whoman/ 2017-10-07T14:02:11Z panji joined #lisp 2017-10-07T14:02:30Z phoe_ ducks 2017-10-07T14:03:52Z whoman: a human duck?? =) my only ideas of human[ity] are formed by following the conventions of others =) 2017-10-07T14:03:55Z yottabyte joined #lisp 2017-10-07T14:04:11Z knobo joined #lisp 2017-10-07T14:04:26Z whoman: (others rated by how much like myself they are, whatever they are) 2017-10-07T14:05:05Z rumbler31 joined #lisp 2017-10-07T14:07:21Z neoncontrails joined #lisp 2017-10-07T14:09:20Z neoncontrails quit (Remote host closed the connection) 2017-10-07T14:09:38Z neoncontrails joined #lisp 2017-10-07T14:09:52Z neoncontrails quit (Remote host closed the connection) 2017-10-07T14:09:58Z rumbler31 quit (Ping timeout: 264 seconds) 2017-10-07T14:10:25Z rjid quit (Ping timeout: 260 seconds) 2017-10-07T14:10:28Z orivej quit (Ping timeout: 240 seconds) 2017-10-07T14:19:17Z shifty quit (Ping timeout: 255 seconds) 2017-10-07T14:21:26Z deba5e12 joined #lisp 2017-10-07T14:21:36Z pedh joined #lisp 2017-10-07T14:27:11Z wxie joined #lisp 2017-10-07T14:28:30Z rumbler31 joined #lisp 2017-10-07T14:29:19Z nowhere_man quit (Ping timeout: 248 seconds) 2017-10-07T14:29:28Z babalua quit (Quit: babalua) 2017-10-07T14:29:50Z babalua joined #lisp 2017-10-07T14:36:09Z wxie quit (Quit: Bye.) 2017-10-07T14:38:55Z FreeBirdLjj quit (Remote host closed the connection) 2017-10-07T14:38:59Z babalua quit (Quit: babalua) 2017-10-07T14:39:25Z babalua joined #lisp 2017-10-07T14:39:33Z FreeBirdLjj joined #lisp 2017-10-07T14:40:11Z deba5e12 quit (Quit: WeeChat 1.9.1) 2017-10-07T14:40:23Z deba5e12 joined #lisp 2017-10-07T14:44:01Z FreeBirdLjj quit (Ping timeout: 255 seconds) 2017-10-07T14:48:38Z raynold joined #lisp 2017-10-07T14:48:43Z manny8888_ joined #lisp 2017-10-07T14:49:28Z babalua quit (Quit: babalua) 2017-10-07T14:49:52Z babalua joined #lisp 2017-10-07T14:51:13Z Jalapen quit (Ping timeout: 248 seconds) 2017-10-07T14:53:37Z varjag quit (Remote host closed the connection) 2017-10-07T14:57:42Z pedh quit (Quit: pedh) 2017-10-07T14:57:58Z joaj quit (Quit: Leaving) 2017-10-07T14:58:09Z Shinmera: Here we are. https://reader.tymoon.eu/article/357 2017-10-07T14:58:41Z kolko quit (Ping timeout: 248 seconds) 2017-10-07T14:58:59Z babalua quit (Quit: babalua) 2017-10-07T14:59:25Z babalua joined #lisp 2017-10-07T15:00:12Z Josh_2: Shinmera: You get a lot done. 2017-10-07T15:00:28Z Shinmera: It appears so. 2017-10-07T15:01:57Z Josh_2: Is that your art? 2017-10-07T15:02:00Z Shinmera: No 2017-10-07T15:02:18Z Shinmera: My art is here: http://tumblr.shinmera.com/ 2017-10-07T15:02:51Z pedh joined #lisp 2017-10-07T15:03:09Z Josh_2: You can draw me a poisoned lion if you want :D 2017-10-07T15:03:43Z Shinmera: Is that a euphemism for something? 2017-10-07T15:04:28Z babalua quit (Quit: babalua) 2017-10-07T15:04:37Z mishoo_ joined #lisp 2017-10-07T15:04:51Z Josh_2: No 2017-10-07T15:04:53Z babalua joined #lisp 2017-10-07T15:05:19Z Shinmera: Not sure how poisoning is something that would be particularly well depictable graphically, then. 2017-10-07T15:06:02Z mishoo quit (Ping timeout: 260 seconds) 2017-10-07T15:08:46Z knobo quit (Ping timeout: 255 seconds) 2017-10-07T15:09:21Z knobo joined #lisp 2017-10-07T15:13:40Z FreeBirdLjj joined #lisp 2017-10-07T15:13:59Z babalua quit (Quit: babalua) 2017-10-07T15:14:13Z Bike: green, lil purple gas skulls 2017-10-07T15:14:23Z babalua joined #lisp 2017-10-07T15:16:16Z Josh_2: It could be bitten by a snake 2017-10-07T15:16:40Z Shinmera: Well, either way, Requests only by email. 2017-10-07T15:19:08Z SaganMan quit (Ping timeout: 255 seconds) 2017-10-07T15:19:28Z babalua quit (Quit: babalua) 2017-10-07T15:19:44Z grumble2 joined #lisp 2017-10-07T15:19:51Z grumble quit (Quit: the) 2017-10-07T15:19:55Z babalua joined #lisp 2017-10-07T15:22:19Z pedh quit (Quit: pedh) 2017-10-07T15:22:55Z moei joined #lisp 2017-10-07T15:23:59Z babalua quit (Client Quit) 2017-10-07T15:24:23Z babalua joined #lisp 2017-10-07T15:26:52Z pedh joined #lisp 2017-10-07T15:27:11Z phoe_: >qtools 2017-10-07T15:27:13Z phoe_: >minor 2017-10-07T15:27:21Z phoe_: Shinmera: I don't think that's correct 2017-10-07T15:27:31Z flip214: Can I tell ASDF to use some specific *PACKAGE* during reading of one file? 2017-10-07T15:28:32Z phoe_: flip214: why doesn't that file have an IN-PACKAGE call on top of it? 2017-10-07T15:28:44Z grumble joined #lisp 2017-10-07T15:29:00Z flip214: phoe_: because it gets auto-generated by swig, and so it would be easier to tell ASDF which package should be active 2017-10-07T15:29:37Z phoe_: flip214: swig autogenerates that file? Is it in Lisp syntax? 2017-10-07T15:30:06Z flip214: I guess I could use :around-compile 2017-10-07T15:30:17Z flip214: phoe_: yes, swig gives me CFFI output 2017-10-07T15:30:28Z phoe_: I see. 2017-10-07T15:30:29Z sjl: phoe_: yes, swig will generate lisp 2017-10-07T15:30:41Z sjl: e.g. https://github.com/sjl/cl-blt/blob/master/src/low-level/bearlibterminal.swig generates https://github.com/sjl/cl-blt/blob/master/src/low-level/bearlibterminal.lisp 2017-10-07T15:31:08Z pedh quit (Ping timeout: 240 seconds) 2017-10-07T15:31:17Z grumble2 left #lisp 2017-10-07T15:31:49Z Josh_2: Shinmera: I like the way you write. 2017-10-07T15:32:24Z flip214: looks like :around-compile does what I need.... thanks anyway! 2017-10-07T15:35:07Z sebastien_ quit (Quit: Reboot) 2017-10-07T15:36:21Z wooden quit (Ping timeout: 240 seconds) 2017-10-07T15:40:18Z sebastien_ joined #lisp 2017-10-07T15:45:32Z wooden joined #lisp 2017-10-07T15:45:57Z Shinmera: phoe_: Well, I consider it minor rather than major. 2017-10-07T15:46:12Z Shinmera: Josh_2: Glad to hear. 2017-10-07T15:48:14Z Shinmera: Josh_2: There's plenty of other articles on the site for you to read, then :) 2017-10-07T15:48:20Z lnostdal quit (Ping timeout: 246 seconds) 2017-10-07T15:54:28Z babalua quit (Quit: babalua) 2017-10-07T15:54:53Z babalua joined #lisp 2017-10-07T15:56:59Z phoe_: Shinmera: understood. From my point of view, it's a rather big improvement over CommonQt though. 2017-10-07T15:57:15Z Shinmera: Well, I didn't categorise them by impact :) 2017-10-07T15:58:59Z babalua quit (Client Quit) 2017-10-07T15:59:23Z babalua joined #lisp 2017-10-07T16:04:26Z knobo quit (Ping timeout: 246 seconds) 2017-10-07T16:04:51Z SaganMan joined #lisp 2017-10-07T16:05:21Z kilfer quit (Ping timeout: 248 seconds) 2017-10-07T16:05:34Z knobo joined #lisp 2017-10-07T16:07:26Z pedh joined #lisp 2017-10-07T16:07:57Z lnostdal joined #lisp 2017-10-07T16:09:41Z scymtym quit (Ping timeout: 246 seconds) 2017-10-07T16:10:29Z kilfer joined #lisp 2017-10-07T16:12:35Z pedh quit (Ping timeout: 258 seconds) 2017-10-07T16:14:28Z babalua quit (Quit: babalua) 2017-10-07T16:14:50Z babalua joined #lisp 2017-10-07T16:18:59Z babalua quit (Client Quit) 2017-10-07T16:19:16Z Jesin joined #lisp 2017-10-07T16:19:23Z babalua joined #lisp 2017-10-07T16:20:47Z lnostdal quit (Ping timeout: 248 seconds) 2017-10-07T16:23:09Z phoe_: You should. (: 2017-10-07T16:24:28Z babalua quit (Quit: babalua) 2017-10-07T16:25:23Z babalua joined #lisp 2017-10-07T16:26:01Z Shinmera: I'll leave that to someone who cares more about it than I do 2017-10-07T16:26:21Z lnostdal joined #lisp 2017-10-07T16:27:00Z wigust quit (Ping timeout: 240 seconds) 2017-10-07T16:27:09Z knobo quit (Ping timeout: 258 seconds) 2017-10-07T16:27:55Z mishoo__ joined #lisp 2017-10-07T16:28:59Z babalua quit (Client Quit) 2017-10-07T16:29:21Z mishoo_ quit (Ping timeout: 248 seconds) 2017-10-07T16:29:23Z babalua joined #lisp 2017-10-07T16:30:23Z Karl_Dscc quit (Remote host closed the connection) 2017-10-07T16:33:23Z thinkpad quit (Ping timeout: 255 seconds) 2017-10-07T16:34:28Z babalua quit (Quit: babalua) 2017-10-07T16:34:52Z babalua joined #lisp 2017-10-07T16:36:21Z SaganMan quit (Ping timeout: 258 seconds) 2017-10-07T16:36:50Z sjl: is there something built-in or in a utils library somewhere that will mapcar, but only stop at the end of the longest list, filling in values for shorter lists with a default value? 2017-10-07T16:37:21Z sjl: e.g. I want (mapcar #'+ '(1 2 3) '(10 20)) 2017-10-07T16:37:26Z sjl: but instead 2017-10-07T16:37:41Z sjl: (mapcar-longest #'+ 0 '(1 2 3) '(10 20)) 2017-10-07T16:37:52Z sjl: to return (11 22 3) 2017-10-07T16:38:59Z babalua quit (Client Quit) 2017-10-07T16:39:28Z babalua joined #lisp 2017-10-07T16:41:43Z phoe_: sjl: I think not 2017-10-07T16:41:54Z sjl: quickutil has a zip-long 2017-10-07T16:41:58Z sjl: but that's all I've found 2017-10-07T16:42:05Z sjl: alexandria and serapeum don't seem to have it 2017-10-07T16:42:13Z yottabyte quit 2017-10-07T16:42:57Z phoe_: sjl: time to write it and submit to some sorta library then 2017-10-07T16:43:03Z phoe_: I don't recall seeing such an util anywhere. 2017-10-07T16:44:47Z panji quit (Ping timeout: 248 seconds) 2017-10-07T16:46:50Z sjl: probably a better way to do it, but http://paste.stevelosh.com/59d904eca46df70008775a50 2017-10-07T16:54:47Z stux|RC-only joined #lisp 2017-10-07T16:54:57Z phoe_: >#'head 2017-10-07T16:55:12Z phoe_: hey, but we already have #'car and #'first! 2017-10-07T16:55:38Z sjl: I needed a name for a nil-patched car 2017-10-07T16:56:43Z sjl: and im bad at naming 2017-10-07T17:01:02Z damke_ joined #lisp 2017-10-07T17:01:03Z vap1 quit (Quit: Leaving) 2017-10-07T17:01:46Z Shinmera: maybe-car 2017-10-07T17:02:08Z Shinmera: Oh wait, that would be if it returns NIL, not "error on nil" 2017-10-07T17:02:23Z Shinmera: Then something like ensure-car 2017-10-07T17:02:26Z sjl: ah, alexandria's ensure-car 2017-10-07T17:02:28Z sjl: yeah 2017-10-07T17:03:01Z damke quit (Ping timeout: 240 seconds) 2017-10-07T17:03:07Z krwq joined #lisp 2017-10-07T17:03:11Z Shinmera: Generally I name things ensure- if it should error on unfound, and maybe- if it should NIL on unfound or error. 2017-10-07T17:03:26Z sjl: wait 2017-10-07T17:03:33Z sjl: "If `thing` is a `cons`, its `car` is returned. Otherwise `thing` is returned." 2017-10-07T17:03:36Z sjl: that's not what I want 2017-10-07T17:04:00Z sjl: I want "if thing is a cons, its car is returned, otherwise some default value is returned" 2017-10-07T17:04:26Z Shinmera: Not what I would expect ensure-car to do, tbqh 2017-10-07T17:04:54Z Bike_ joined #lisp 2017-10-07T17:05:09Z Bike quit (Disconnected by services) 2017-10-07T17:05:14Z sjl: right, so I don't want that for this case 2017-10-07T17:05:17Z phoe_: sjl: uh, "some default value" 2017-10-07T17:05:21Z Bike_ is now known as Bike 2017-10-07T17:05:25Z sjl: phoe_: the one I pass in 2017-10-07T17:05:26Z phoe_: (ensure-car thing default) 2017-10-07T17:05:41Z phoe_: if thing is a cons, its car is returned, otherwise, default is returned 2017-10-07T17:05:46Z phoe_: so you can do (nth n list) 2017-10-07T17:05:51Z phoe_: and either you get a valid cons and return its car 2017-10-07T17:05:58Z phoe_: or you get a NIL when you run out of conses and you return default 2017-10-07T17:06:17Z phoe_: (ensure-car (nth n list) default) 2017-10-07T17:06:26Z sjl: phoe_: https://gitlab.common-lisp.net/alexandria/alexandria/blob/master/lists.lisp#L246-250 2017-10-07T17:06:31Z sjl: that's not how ensure-car works 2017-10-07T17:06:41Z phoe_: oh wait 2017-10-07T17:06:49Z phoe_: damn it. correct. 2017-10-07T17:06:57Z phoe_: (or (ensure-car (nth n list)) default) 2017-10-07T17:07:14Z phoe_: it'll return NIL in case of proper lists, at which point you can default. 2017-10-07T17:07:15Z sjl: phoe_: what if the car of the list is nil? 2017-10-07T17:07:28Z phoe_: huh, correct 2017-10-07T17:07:41Z phoe_: it stops being trivial now. 2017-10-07T17:07:47Z sjl: I mean, it's still trivial 2017-10-07T17:07:54Z sjl: it just doesn't already exist 2017-10-07T17:08:40Z phoe_: (if (nthcdr n list) (nth n list) default) 2017-10-07T17:08:58Z phoe_: double traversal, yuck 2017-10-07T17:09:20Z phoe_: (let ((cons (nthcdr n list))) (if cons (car cons) default)) 2017-10-07T17:09:21Z stux|RC-only quit (Quit: Aloha!) 2017-10-07T17:09:45Z phoe_: still, it's linear, so if you iterate, it'll be quadratic 2017-10-07T17:11:02Z hel-io joined #lisp 2017-10-07T17:11:18Z sjl: the version I pasted should be O(number of lists * length of longest list), right? 2017-10-07T17:11:24Z stux|RC-only joined #lisp 2017-10-07T17:11:35Z phoe_: one second 2017-10-07T17:11:39Z Posterdati: beach: the what? 2017-10-07T17:11:44Z phoe_: http://paste.stevelosh.com/59d904eca46df70008775a50 this, right? 2017-10-07T17:11:49Z Posterdati: beach: what is CST-to-AST? 2017-10-07T17:11:49Z sjl: yes 2017-10-07T17:12:18Z sjl: it iterates until all the lists are finish, which takes length-of-longest-list times 2017-10-07T17:12:41Z phoe_: yes, for N lists with max length of M you iterate M*N times 2017-10-07T17:12:48Z sjl: and at each step, it iterates over the collection of lists 3 times (every, advance, mapcar) 2017-10-07T17:12:49Z phoe_: so basically once for each list element 2017-10-07T17:13:16Z sjl: I could potentially combine the advance/finish check to get it down to 2N 2017-10-07T17:13:20Z sjl: but I don't care enough right now 2017-10-07T17:13:28Z phoe_: so it's O(n) where n is number of conses 2017-10-07T17:13:40Z phoe_: like, total of all lists 2017-10-07T17:13:56Z varjag joined #lisp 2017-10-07T17:14:25Z sjl: M*N does not equal the number of conses... 2017-10-07T17:14:28Z babalua quit (Quit: babalua) 2017-10-07T17:14:37Z phoe_: M lists, each with N conses 2017-10-07T17:14:46Z sjl: sure, if they all have the same number 2017-10-07T17:14:53Z babalua joined #lisp 2017-10-07T17:14:58Z phoe_: yes - less, if there's less 2017-10-07T17:15:03Z sjl: but if I do (mapcar-long ... (1 2 3 ... 1000)) 2017-10-07T17:15:07Z sjl: and then add another list into it 2017-10-07T17:15:13Z sjl: (mapcar-long ... (1 2 3 ... 1000) ()) 2017-10-07T17:15:25Z sjl: it doubles the number of operations, right? 2017-10-07T17:15:35Z sjl: but only adds a single cons to the total 2017-10-07T17:15:37Z phoe_: you are right - I was giving an upper bound there, not trying to be precise and correct :) 2017-10-07T17:15:46Z phoe_: 2000 operations, correct. 2017-10-07T17:16:20Z sjl: yeah, so I could potentially improve it, but this is clear and works well enough for what I need right now 2017-10-07T17:16:26Z zachk joined #lisp 2017-10-07T17:20:15Z terpri joined #lisp 2017-10-07T17:21:17Z manny8888 joined #lisp 2017-10-07T17:22:32Z mson joined #lisp 2017-10-07T17:23:59Z babalua quit (Quit: babalua) 2017-10-07T17:24:08Z varjag quit (Ping timeout: 240 seconds) 2017-10-07T17:24:22Z babalua joined #lisp 2017-10-07T17:25:01Z manny8888_ quit (Ping timeout: 240 seconds) 2017-10-07T17:25:26Z FreeBirdLjj quit (Remote host closed the connection) 2017-10-07T17:26:00Z nowhere_man joined #lisp 2017-10-07T17:26:06Z FreeBirdLjj joined #lisp 2017-10-07T17:26:15Z varjag joined #lisp 2017-10-07T17:27:55Z flip214: the list of lists could be trimmed, and then the end-check becomes (null list-of-lists) 2017-10-07T17:28:09Z yrk quit (Read error: Connection reset by peer) 2017-10-07T17:28:13Z sjl: flip214: but then how do you know where the placeholders go in the arglist to apply? 2017-10-07T17:28:26Z flip214: oh, so much flexibility is wanted? 2017-10-07T17:28:45Z flip214: I thought that some function should just get "a list of arguments", never mind which original list they're from 2017-10-07T17:28:52Z sjl: I mean, (mapcar-long ... '(1 2 3) () '(10 20)) should work properly 2017-10-07T17:29:01Z sjl: yes, I want the order of args preserved... 2017-10-07T17:29:04Z sjl: just like mapcar 2017-10-07T17:29:12Z flip214: the order, yes. 2017-10-07T17:30:08Z flip214: but if the arguments don't have any special role within the called function (so NILs can be removed), you could reduce the number of lists during traversal. 2017-10-07T17:30:47Z sjl: for a case like + that would work, but other cases it might not 2017-10-07T17:30:58Z FreeBirdLjj quit (Ping timeout: 264 seconds) 2017-10-07T17:33:05Z varjag quit (Ping timeout: 240 seconds) 2017-10-07T17:34:42Z bdTaylor joined #lisp 2017-10-07T17:36:47Z arbv joined #lisp 2017-10-07T17:39:28Z babalua quit (Quit: babalua) 2017-10-07T17:39:50Z babalua joined #lisp 2017-10-07T17:40:26Z panji joined #lisp 2017-10-07T17:41:47Z deba5e12 quit (Ping timeout: 255 seconds) 2017-10-07T17:43:59Z babalua quit (Client Quit) 2017-10-07T17:44:30Z babalua joined #lisp 2017-10-07T17:44:51Z stux|RC-only quit (Quit: Aloha!) 2017-10-07T17:46:27Z vlatkoB quit (Ping timeout: 260 seconds) 2017-10-07T17:48:53Z babalua_ joined #lisp 2017-10-07T17:49:09Z emaczen joined #lisp 2017-10-07T17:49:20Z stux|RC-only joined #lisp 2017-10-07T17:49:24Z clintm quit (Remote host closed the connection) 2017-10-07T17:50:08Z babalua quit (Ping timeout: 246 seconds) 2017-10-07T17:53:15Z turkja joined #lisp 2017-10-07T17:53:21Z turkja quit (Read error: Connection reset by peer) 2017-10-07T17:54:20Z Amplituhedron joined #lisp 2017-10-07T17:55:27Z sjl: also if anyone knows of a way to iterate over a list L plus one extra value that's cleaner than https://github.com/sjl/euler/blob/master/src/problems.lisp#L1896-L1898 please let me know 2017-10-07T17:57:24Z raynold quit (Quit: Connection closed for inactivity) 2017-10-07T17:57:31Z pjb: sjl: (loop for e in (cons 'one-more list) do (something e)) 2017-10-07T17:58:28Z pjb: sjl: (loop for previous in (cons nil list) for current in list do (something-with previous current)) 2017-10-07T18:05:01Z damke_ quit (Ping timeout: 240 seconds) 2017-10-07T18:07:21Z Oladon quit (Ping timeout: 240 seconds) 2017-10-07T18:07:56Z deba5e12 joined #lisp 2017-10-07T18:08:26Z Oladon joined #lisp 2017-10-07T18:21:17Z yeticry_ quit (Ping timeout: 255 seconds) 2017-10-07T18:23:04Z yeticry joined #lisp 2017-10-07T18:24:28Z babalua_ quit (Quit: babalua_) 2017-10-07T18:24:56Z babalua_ joined #lisp 2017-10-07T18:32:06Z jealousmonk joined #lisp 2017-10-07T18:33:58Z sjl: pjb: that adds 'one-more to the beginning of the iteration, I want it at the end 2017-10-07T18:34:40Z sjl: e.g. (loop :for x :in '(1 2 3) ...plus 4 somehow... (collect x)) => (1 2 3 4) 2017-10-07T18:34:54Z sjl: without reversing the list or appending or something equally wasteful 2017-10-07T18:38:59Z babalua_ quit (Quit: babalua_) 2017-10-07T18:39:25Z babalua_ joined #lisp 2017-10-07T18:41:33Z pjb: sjl: (loop for e in list do (something e) finally (something 'one-more)) 2017-10-07T18:43:07Z shrdlu68 joined #lisp 2017-10-07T18:44:28Z babalua_ quit (Quit: babalua_) 2017-10-07T18:44:55Z babalua_ joined #lisp 2017-10-07T18:47:04Z varjag joined #lisp 2017-10-07T18:50:43Z sjl: that works for side effects, but doesn't work for collecting/etc. I'll probably just write an iterate driver for it 2017-10-07T18:51:20Z whoman: two fors.. 2017-10-07T18:51:36Z sjl: that steps them in parallel? 2017-10-07T18:53:59Z babalua_ quit (Quit: babalua_) 2017-10-07T18:54:23Z babalua_ joined #lisp 2017-10-07T18:54:38Z arrdem quit (Remote host closed the connection) 2017-10-07T18:54:42Z |3b|: (loop for (x . m) on '(1 2 3) collect x unless m collect 4) is a slightly ugly way 2017-10-07T18:55:05Z manny8888 quit (Ping timeout: 240 seconds) 2017-10-07T18:55:06Z sjl: yeah 2017-10-07T18:58:07Z bwv quit (Quit: bwv) 2017-10-07T18:59:28Z babalua_ quit (Quit: babalua_) 2017-10-07T18:59:54Z babalua_ joined #lisp 2017-10-07T19:02:20Z jackdaniel: sjl: (alexandria:mappend 'fun (list 1 2 3) (list 4)) 2017-10-07T19:03:06Z sjl: jackdaniel: which of my questions is that for? 2017-10-07T19:03:40Z jackdaniel: about iterating over a list plus one extra value 2017-10-07T19:03:59Z babalua_ quit (Client Quit) 2017-10-07T19:04:04Z sjl: I'm ... not sure how that does that? 2017-10-07T19:04:26Z babalua_ joined #lisp 2017-10-07T19:04:33Z Jesin quit (Quit: Leaving) 2017-10-07T19:05:09Z sjl: that requires the function to return a list, which gets appended 2017-10-07T19:05:47Z jackdaniel: hm, nvm me 2017-10-07T19:06:07Z sjl: http://paste.stevelosh.com/59d925984221e30008a616c9 2017-10-07T19:06:16Z sjl: there's an iterate driver that does what I was looking for 2017-10-07T19:06:23Z sjl: (iterate (for x :in-list '(1 2 3) :initially 0 :finally 4) (collect (cons x (square x)))) 2017-10-07T19:06:28Z sjl: ((0 . 0) (1 . 1) (2 . 4) (3 . 9) (4 . 16)) 2017-10-07T19:06:47Z jackdaniel: yes, I have confused things, mb 2017-10-07T19:06:48Z sjl: just need to make it not *require* both args now... 2017-10-07T19:09:46Z neoncontrails joined #lisp 2017-10-07T19:10:06Z sjl: gross http://paste.stevelosh.com/59d926824221e30008a616ca 2017-10-07T19:10:11Z sjl: but it works 2017-10-07T19:11:35Z sjl: http://paste.stevelosh.com/59d926c94221e30008a616cb?lisp macroexpansions 2017-10-07T19:14:50Z bdTaylor quit (Ping timeout: 255 seconds) 2017-10-07T19:19:28Z babalua_ quit (Quit: babalua_) 2017-10-07T19:23:11Z babalua joined #lisp 2017-10-07T19:23:29Z phoe_: sjl: what's WITH? 2017-10-07T19:23:47Z phoe_: oh wait, this isn't your average macroexpand 2017-10-07T19:24:01Z babalua quit (Client Quit) 2017-10-07T19:24:22Z babalua joined #lisp 2017-10-07T19:26:27Z sjl: yeah this is an iterate driver's macroexpansion 2017-10-07T19:26:39Z sjl: so it gets spliced into an (iterate ...) form 2017-10-07T19:27:39Z abrcdbr joined #lisp 2017-10-07T19:29:22Z sjl: also there's a bug 2017-10-07T19:29:28Z sjl: if final-value should be if final-value? 2017-10-07T19:29:37Z sjl: otherwise a final-value of nil breaks things 2017-10-07T19:32:14Z mson quit (Quit: Connection closed for inactivity) 2017-10-07T19:46:14Z hel-io quit 2017-10-07T19:47:32Z sjl: fixed version https://github.com/sjl/euler/blob/3eec0faddae1871bcda358828b463a14178a4dbd/src/utils.lisp#L70-L120 2017-10-07T19:50:57Z MoritaShinobu quit (Quit: Leaving) 2017-10-07T19:54:28Z babalua quit (Quit: babalua) 2017-10-07T19:55:10Z babalua joined #lisp 2017-10-07T19:55:16Z nowhere_man quit (Read error: Connection reset by peer) 2017-10-07T19:55:28Z nowhere_man joined #lisp 2017-10-07T19:56:51Z raynold joined #lisp 2017-10-07T19:58:59Z babalua quit (Client Quit) 2017-10-07T19:59:24Z babalua joined #lisp 2017-10-07T20:04:10Z MarkusBarthlen joined #lisp 2017-10-07T20:04:28Z babalua quit (Quit: babalua) 2017-10-07T20:04:54Z babalua joined #lisp 2017-10-07T20:08:59Z babalua quit (Client Quit) 2017-10-07T20:09:33Z babalua joined #lisp 2017-10-07T20:10:25Z edgar-rft joined #lisp 2017-10-07T20:21:35Z impulse quit (Ping timeout: 240 seconds) 2017-10-07T20:23:49Z impulse joined #lisp 2017-10-07T20:23:57Z shrdlu68 quit (Ping timeout: 260 seconds) 2017-10-07T20:25:34Z arbv quit (Ping timeout: 255 seconds) 2017-10-07T20:26:09Z pedh joined #lisp 2017-10-07T20:34:28Z babalua quit (Quit: babalua) 2017-10-07T20:34:36Z pierpa joined #lisp 2017-10-07T20:34:53Z babalua joined #lisp 2017-10-07T20:36:00Z arbv joined #lisp 2017-10-07T20:38:59Z babalua quit (Client Quit) 2017-10-07T20:39:44Z babalua joined #lisp 2017-10-07T20:39:45Z Oladon quit (Read error: No route to host) 2017-10-07T20:40:28Z varjag quit (Ping timeout: 240 seconds) 2017-10-07T20:40:46Z Oladon joined #lisp 2017-10-07T20:40:58Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2017-10-07T20:44:28Z babalua quit (Client Quit) 2017-10-07T20:44:50Z babalua joined #lisp 2017-10-07T20:44:53Z xxoxx quit (Quit: Leaving) 2017-10-07T20:46:16Z varjag joined #lisp 2017-10-07T20:48:59Z babalua quit (Client Quit) 2017-10-07T20:49:23Z babalua joined #lisp 2017-10-07T20:52:38Z angavrilov quit (Remote host closed the connection) 2017-10-07T20:54:28Z babalua quit (Quit: babalua) 2017-10-07T20:54:50Z babalua joined #lisp 2017-10-07T21:03:59Z babalua quit (Quit: babalua) 2017-10-07T21:04:25Z babalua joined #lisp 2017-10-07T21:06:36Z MarkusBarthlen quit (Ping timeout: 258 seconds) 2017-10-07T21:07:07Z abrcdbr_ joined #lisp 2017-10-07T21:09:28Z babalua quit (Quit: babalua) 2017-10-07T21:09:30Z abrcdbr quit (Ping timeout: 240 seconds) 2017-10-07T21:09:51Z babalua joined #lisp 2017-10-07T21:13:59Z babalua quit (Client Quit) 2017-10-07T21:16:44Z Guest45419 joined #lisp 2017-10-07T21:17:53Z wooden quit (Ping timeout: 248 seconds) 2017-10-07T21:24:57Z wooden joined #lisp 2017-10-07T21:28:01Z varjag quit (Remote host closed the connection) 2017-10-07T21:28:18Z varjag joined #lisp 2017-10-07T21:34:30Z Guest45419 quit (Quit: Guest45419) 2017-10-07T21:40:52Z BlueRavenGT joined #lisp 2017-10-07T21:44:47Z shka quit (Ping timeout: 255 seconds) 2017-10-07T21:49:00Z whoman quit (Ping timeout: 240 seconds) 2017-10-07T21:49:20Z QualityAddict quit (Quit: Leaving) 2017-10-07T21:50:46Z Noonenyan joined #lisp 2017-10-07T21:51:04Z deba5e12 quit (Ping timeout: 255 seconds) 2017-10-07T21:51:48Z Noone joined #lisp 2017-10-07T21:51:48Z Noonenyan quit (Read error: Connection reset by peer) 2017-10-07T21:51:54Z Guest55162 quit (Remote host closed the connection) 2017-10-07T21:51:55Z Noone is now known as Noonenyan 2017-10-07T21:51:58Z Noonenyan left #lisp 2017-10-07T21:52:20Z vancan1ty joined #lisp 2017-10-07T21:54:22Z mishoo__ quit (Ping timeout: 260 seconds) 2017-10-07T21:56:15Z deba5e12 joined #lisp 2017-10-07T21:56:46Z xantoz quit (Ping timeout: 264 seconds) 2017-10-07T21:59:13Z QualityAddict joined #lisp 2017-10-07T22:02:26Z deba5e12 quit (Quit: WeeChat 1.9.1) 2017-10-07T22:02:41Z deba5e12 joined #lisp 2017-10-07T22:06:00Z Josh_2 quit (Ping timeout: 240 seconds) 2017-10-07T22:06:50Z ym quit (Quit: Leaving) 2017-10-07T22:06:54Z Guest45419 joined #lisp 2017-10-07T22:09:32Z xantoz joined #lisp 2017-10-07T22:12:06Z random-nick quit (Remote host closed the connection) 2017-10-07T22:19:52Z deba5e12 quit (Ping timeout: 255 seconds) 2017-10-07T22:26:34Z alexmlw quit (Remote host closed the connection) 2017-10-07T22:29:28Z Guest45419 quit (Quit: Guest45419) 2017-10-07T22:29:57Z Guest45419 joined #lisp 2017-10-07T22:31:06Z panji quit (Remote host closed the connection) 2017-10-07T22:32:13Z whoman joined #lisp 2017-10-07T22:32:50Z ym joined #lisp 2017-10-07T22:33:59Z Guest45419 quit (Client Quit) 2017-10-07T22:34:23Z Guest45419 joined #lisp 2017-10-07T22:39:12Z deba5e12 joined #lisp 2017-10-07T22:39:28Z Guest45419 quit (Quit: Guest45419) 2017-10-07T22:44:23Z Guest45419 joined #lisp 2017-10-07T22:56:24Z varjag quit (Remote host closed the connection) 2017-10-07T22:56:46Z varjag joined #lisp 2017-10-07T22:58:27Z yaocl joined #lisp 2017-10-07T22:59:28Z Guest45419 quit (Quit: Guest45419) 2017-10-07T22:59:53Z Guest45419 joined #lisp 2017-10-07T23:00:57Z yaocl quit (Client Quit) 2017-10-07T23:01:05Z varjag quit (Ping timeout: 240 seconds) 2017-10-07T23:01:22Z yaocl joined #lisp 2017-10-07T23:01:40Z yaocl quit (Client Quit) 2017-10-07T23:05:58Z thinkpad joined #lisp 2017-10-07T23:06:07Z moei quit (Quit: Leaving...) 2017-10-07T23:08:59Z Guest45419 quit (Quit: Guest45419) 2017-10-07T23:09:26Z Guest45419 joined #lisp 2017-10-07T23:10:43Z peschkaj joined #lisp 2017-10-07T23:11:29Z jealousmonk quit (Ping timeout: 248 seconds) 2017-10-07T23:11:38Z papachan joined #lisp 2017-10-07T23:18:18Z wxie joined #lisp 2017-10-07T23:25:12Z ym quit (Quit: Leaving) 2017-10-07T23:25:55Z ym joined #lisp 2017-10-07T23:26:28Z miatomi joined #lisp 2017-10-07T23:26:31Z emaczen: Isn't (and #+ccl #+darwin) an example of a correct compound read time conditional? 2017-10-07T23:27:02Z pierpa: no 2017-10-07T23:27:26Z emaczen: is it #+(and ccl darwin) then? 2017-10-07T23:27:46Z zachk quit (Quit: more to do when nothing is done...) 2017-10-07T23:28:55Z pierpa: yes 2017-10-07T23:29:28Z Guest45419 quit (Quit: Guest45419) 2017-10-07T23:29:55Z Guest45419 joined #lisp 2017-10-07T23:33:59Z Guest45419 quit (Client Quit) 2017-10-07T23:34:27Z Guest45419 joined #lisp 2017-10-07T23:37:34Z pierpa: curiously, in the hyperspec there's not even a single example of a compound conditional (that I could find :) 2017-10-07T23:40:24Z pierpa: ah, no, here they are http://www.lispworks.com/documentation/lw70/CLHS/Body/24_abaa.htm 2017-10-07T23:50:49Z knobo joined #lisp 2017-10-08T00:00:01Z kozy quit (Remote host closed the connection) 2017-10-08T00:00:03Z Fare joined #lisp 2017-10-08T00:05:13Z wxie quit (Quit: Bye.) 2017-10-08T00:21:40Z Atomic2 joined #lisp 2017-10-08T00:22:53Z Atomic2 quit (Client Quit) 2017-10-08T00:23:28Z QualityAddict quit (Quit: Leaving) 2017-10-08T00:27:10Z abrcdbr_ quit (Remote host closed the connection) 2017-10-08T00:27:19Z neoncontrails quit (Remote host closed the connection) 2017-10-08T00:27:37Z neoncontrails joined #lisp 2017-10-08T00:28:07Z neoncontrails quit (Remote host closed the connection) 2017-10-08T00:28:26Z neoncontrails joined #lisp 2017-10-08T00:28:54Z neoncontrails quit (Remote host closed the connection) 2017-10-08T00:29:07Z marcux joined #lisp 2017-10-08T00:29:15Z neoncontrails joined #lisp 2017-10-08T00:29:42Z neoncontrails quit (Remote host closed the connection) 2017-10-08T00:30:02Z neoncontrails joined #lisp 2017-10-08T00:30:29Z neoncontrails quit (Remote host closed the connection) 2017-10-08T00:30:51Z neoncontrails joined #lisp 2017-10-08T00:31:17Z neoncontrails quit (Remote host closed the connection) 2017-10-08T00:34:28Z Guest45419 quit (Quit: Guest45419) 2017-10-08T00:34:53Z Guest45419 joined #lisp 2017-10-08T00:38:59Z Guest45419 quit (Client Quit) 2017-10-08T00:39:25Z Guest45419 joined #lisp 2017-10-08T00:40:05Z Amplituhedron quit (Ping timeout: 240 seconds) 2017-10-08T00:40:05Z pierpa quit (Quit: Page closed) 2017-10-08T00:41:51Z linoge joined #lisp 2017-10-08T00:43:30Z papachan quit (Ping timeout: 240 seconds) 2017-10-08T00:49:03Z stnutt quit (Remote host closed the connection) 2017-10-08T00:52:17Z margeas quit (Ping timeout: 260 seconds) 2017-10-08T00:55:02Z knobo quit (Ping timeout: 246 seconds) 2017-10-08T00:56:05Z knobo joined #lisp 2017-10-08T01:13:28Z pjb quit (Ping timeout: 240 seconds) 2017-10-08T01:24:28Z Guest45419 quit (Quit: Guest45419) 2017-10-08T01:24:54Z Guest45419 joined #lisp 2017-10-08T01:25:29Z clintm joined #lisp 2017-10-08T01:25:37Z clintm quit (Changing host) 2017-10-08T01:25:37Z clintm joined #lisp 2017-10-08T01:28:59Z Guest45419 quit (Client Quit) 2017-10-08T01:29:27Z Guest45419 joined #lisp 2017-10-08T01:40:37Z manny8888 joined #lisp 2017-10-08T01:44:28Z Guest45419 quit (Quit: Guest45419) 2017-10-08T01:44:54Z Guest45419 joined #lisp 2017-10-08T01:48:32Z manny8888 quit (Quit: Konversation terminated!) 2017-10-08T01:48:40Z knobo quit (Ping timeout: 255 seconds) 2017-10-08T01:48:59Z Guest45419 quit (Client Quit) 2017-10-08T01:49:17Z knobo joined #lisp 2017-10-08T01:49:25Z Guest45419 joined #lisp 2017-10-08T01:49:39Z manny8888 joined #lisp 2017-10-08T01:51:29Z marcux quit (Ping timeout: 248 seconds) 2017-10-08T01:56:37Z wxie joined #lisp 2017-10-08T01:57:18Z pjb joined #lisp 2017-10-08T01:57:35Z d4ryus2 joined #lisp 2017-10-08T02:00:33Z d4ryus1 quit (Ping timeout: 248 seconds) 2017-10-08T02:02:30Z deba5e12 quit (Ping timeout: 240 seconds) 2017-10-08T02:04:47Z deba5e12 joined #lisp 2017-10-08T02:04:53Z mson joined #lisp 2017-10-08T02:19:28Z Guest45419 quit (Quit: Guest45419) 2017-10-08T02:19:53Z Guest45419 joined #lisp 2017-10-08T02:20:15Z manny8888 quit (Ping timeout: 248 seconds) 2017-10-08T02:23:59Z Guest45419 quit (Client Quit) 2017-10-08T02:24:27Z Guest45419 joined #lisp 2017-10-08T02:25:08Z pjb quit (Ping timeout: 240 seconds) 2017-10-08T02:26:07Z Karl_Dscc joined #lisp 2017-10-08T02:30:54Z Karl_Dscc quit (Remote host closed the connection) 2017-10-08T02:31:38Z clintm quit (Read error: Connection reset by peer) 2017-10-08T02:32:05Z clintm joined #lisp 2017-10-08T02:32:28Z clintm is now known as Guest59280 2017-10-08T02:44:28Z Guest45419 quit (Quit: Guest45419) 2017-10-08T02:44:28Z knobo quit (Ping timeout: 240 seconds) 2017-10-08T02:44:56Z Guest45419 joined #lisp 2017-10-08T02:45:28Z knobo joined #lisp 2017-10-08T02:46:54Z CEnnis91 joined #lisp 2017-10-08T02:47:03Z stapler quit (Read error: Connection reset by peer) 2017-10-08T02:48:59Z Guest45419 quit (Client Quit) 2017-10-08T02:49:23Z Guest45419 joined #lisp 2017-10-08T02:50:01Z grublet joined #lisp 2017-10-08T02:58:25Z stylewarning: hey folks 2017-10-08T03:04:28Z Guest45419 quit (Quit: Guest45419) 2017-10-08T03:04:55Z Guest45419 joined #lisp 2017-10-08T03:07:19Z xantoz quit (Ping timeout: 258 seconds) 2017-10-08T03:08:15Z linoge: hey 2017-10-08T03:08:59Z Guest45419 quit (Client Quit) 2017-10-08T03:09:08Z xantoz joined #lisp 2017-10-08T03:09:23Z Guest45419 joined #lisp 2017-10-08T03:11:07Z schoppenhauer quit (Ping timeout: 260 seconds) 2017-10-08T03:12:54Z schoppenhauer joined #lisp 2017-10-08T03:19:28Z Guest45419 quit (Quit: Guest45419) 2017-10-08T03:19:55Z Guest45419 joined #lisp 2017-10-08T03:23:59Z Guest45419 quit (Client Quit) 2017-10-08T03:24:27Z Guest45419 joined #lisp 2017-10-08T03:31:05Z schoppenhauer quit (Ping timeout: 240 seconds) 2017-10-08T03:33:10Z schoppenhauer joined #lisp 2017-10-08T03:42:28Z knobo quit (Ping timeout: 240 seconds) 2017-10-08T03:43:59Z knobo joined #lisp 2017-10-08T03:49:28Z Guest45419 quit (Quit: Guest45419) 2017-10-08T03:49:38Z manny8888 joined #lisp 2017-10-08T03:49:52Z Guest45419 joined #lisp 2017-10-08T03:53:59Z Guest45419 quit (Client Quit) 2017-10-08T03:54:25Z Guest45419 joined #lisp 2017-10-08T03:59:10Z marvin3 quit (Ping timeout: 255 seconds) 2017-10-08T04:00:58Z deba5e12 quit (Ping timeout: 255 seconds) 2017-10-08T04:02:12Z beach: Good morning everyone! 2017-10-08T04:03:04Z stux|RC joined #lisp 2017-10-08T04:04:16Z deba5e12 joined #lisp 2017-10-08T04:09:08Z Guest59280 quit (Read error: Connection reset by peer) 2017-10-08T04:09:28Z Guest45419 quit (Quit: Guest45419) 2017-10-08T04:09:32Z Guest59280 joined #lisp 2017-10-08T04:09:52Z Guest59280 quit (Read error: Connection reset by peer) 2017-10-08T04:09:52Z Guest45419 joined #lisp 2017-10-08T04:10:17Z Guest59280 joined #lisp 2017-10-08T04:13:59Z Guest45419 quit (Client Quit) 2017-10-08T04:14:24Z Guest45419 joined #lisp 2017-10-08T04:14:26Z nhandler quit (Remote host closed the connection) 2017-10-08T04:15:35Z Guest59280 quit (Read error: Connection reset by peer) 2017-10-08T04:15:57Z Guest59280 joined #lisp 2017-10-08T04:16:32Z nhandler joined #lisp 2017-10-08T04:19:28Z Guest45419 quit (Quit: Guest45419) 2017-10-08T04:19:52Z Guest45419 joined #lisp 2017-10-08T04:20:10Z Fare: good morning! 2017-10-08T04:23:59Z Guest45419 quit (Client Quit) 2017-10-08T04:24:27Z Guest45419 joined #lisp 2017-10-08T04:24:53Z stylewarning: does anyone know how to make SLIME not try to be "smart" about opening buffers? 2017-10-08T04:25:16Z stylewarning: when I do M-x slime can I just have it open a REPL in the current window 2017-10-08T04:27:35Z Guest59280 quit (Read error: Connection reset by peer) 2017-10-08T04:28:03Z Guest59280 joined #lisp 2017-10-08T04:34:28Z Guest45419 quit (Quit: Guest45419) 2017-10-08T04:34:54Z Guest45419 joined #lisp 2017-10-08T04:34:59Z Guest59280 quit (Read error: Connection reset by peer) 2017-10-08T04:35:27Z Guest59280 joined #lisp 2017-10-08T04:39:03Z Guest45419 quit (Client Quit) 2017-10-08T04:39:28Z Guest45419 joined #lisp 2017-10-08T04:40:05Z Guest59280 quit (Read error: Connection reset by peer) 2017-10-08T04:40:32Z Guest59280 joined #lisp 2017-10-08T04:43:06Z damke_ joined #lisp 2017-10-08T04:43:08Z Bike: i think that's some emacs decision 2017-10-08T04:43:12Z Bike: maybe it's configurable? 2017-10-08T04:43:35Z Guest59280 quit (Read error: Connection reset by peer) 2017-10-08T04:44:02Z Guest59280 joined #lisp 2017-10-08T04:46:35Z Guest59280 quit (Read error: Connection reset by peer) 2017-10-08T04:47:00Z Guest59280 joined #lisp 2017-10-08T04:47:20Z Guest59280 quit (Read error: Connection reset by peer) 2017-10-08T04:48:08Z knobo quit (Ping timeout: 240 seconds) 2017-10-08T04:49:10Z knobo joined #lisp 2017-10-08T04:54:04Z vancan1ty quit (Ping timeout: 255 seconds) 2017-10-08T04:55:13Z clintm joined #lisp 2017-10-08T05:06:08Z CEnnis91 quit (Quit: Connection closed for inactivity) 2017-10-08T05:07:34Z arrdem joined #lisp 2017-10-08T05:09:23Z _krator44 quit (Ping timeout: 255 seconds) 2017-10-08T05:10:24Z manny8888 quit (Quit: Konversation terminated!) 2017-10-08T05:11:50Z manny8888 joined #lisp 2017-10-08T05:14:28Z Guest45419 quit (Quit: Guest45419) 2017-10-08T05:14:37Z mson quit (Quit: Connection closed for inactivity) 2017-10-08T05:14:52Z Guest45419 joined #lisp 2017-10-08T05:15:30Z deba5e12 quit (Ping timeout: 240 seconds) 2017-10-08T05:18:57Z Bike quit (Quit: Lost terminal) 2017-10-08T05:18:59Z Guest45419 quit (Client Quit) 2017-10-08T05:19:25Z Guest45419 joined #lisp 2017-10-08T05:23:40Z _krator44 joined #lisp 2017-10-08T05:23:46Z vtomole joined #lisp 2017-10-08T05:24:34Z vtomole: What theme does Portacle use? I want to install it on my local Emacs. 2017-10-08T05:28:04Z araujo_ joined #lisp 2017-10-08T05:30:45Z angavrilov joined #lisp 2017-10-08T05:32:17Z araujo quit (Ping timeout: 260 seconds) 2017-10-08T05:33:12Z krwq quit (Remote host closed the connection) 2017-10-08T05:36:07Z clintm quit (Remote host closed the connection) 2017-10-08T05:37:18Z manny8888_ joined #lisp 2017-10-08T05:41:21Z manny8888 quit (Ping timeout: 248 seconds) 2017-10-08T05:42:35Z BlueRavenGT quit (Ping timeout: 240 seconds) 2017-10-08T05:45:50Z quazimodo joined #lisp 2017-10-08T05:48:31Z knobo quit (Ping timeout: 255 seconds) 2017-10-08T05:49:23Z knobo joined #lisp 2017-10-08T05:52:03Z rippa joined #lisp 2017-10-08T05:52:12Z manny8888_ quit (Quit: Konversation terminated!) 2017-10-08T05:53:54Z manny8888 joined #lisp 2017-10-08T05:55:19Z krasnal quit (Quit: Wychodzi) 2017-10-08T05:56:02Z Amplituhedron joined #lisp 2017-10-08T06:01:03Z ahungry joined #lisp 2017-10-08T06:05:30Z manny8888 quit (Ping timeout: 240 seconds) 2017-10-08T06:13:30Z Amplituhedron quit (Ping timeout: 240 seconds) 2017-10-08T06:13:39Z Oladon quit (Read error: Connection reset by peer) 2017-10-08T06:14:28Z Guest45419 quit (Quit: Guest45419) 2017-10-08T06:14:57Z Guest45419 joined #lisp 2017-10-08T06:15:06Z Oladon joined #lisp 2017-10-08T06:15:28Z knobo quit (Ping timeout: 240 seconds) 2017-10-08T06:18:59Z Guest45419 quit (Client Quit) 2017-10-08T06:19:27Z Guest45419 joined #lisp 2017-10-08T06:27:28Z kev1n joined #lisp 2017-10-08T06:33:47Z dddddd quit (Remote host closed the connection) 2017-10-08T06:34:28Z Guest45419 quit (Quit: Guest45419) 2017-10-08T06:34:52Z Guest45419 joined #lisp 2017-10-08T06:36:29Z clintm joined #lisp 2017-10-08T06:37:06Z Shinmera: vtomole: https://github.com/portacle/emacsd/blob/master/portacle-window.el#L16 2017-10-08T06:38:59Z Guest45419 quit (Client Quit) 2017-10-08T06:39:25Z Guest45419 joined #lisp 2017-10-08T06:42:08Z mishoo__ joined #lisp 2017-10-08T06:43:47Z vtomole: Shinmera: Thanks! 2017-10-08T06:44:28Z Guest45419 quit (Quit: Guest45419) 2017-10-08T06:47:06Z Guest45419 joined #lisp 2017-10-08T06:49:48Z gigetoo quit (Ping timeout: 240 seconds) 2017-10-08T06:56:35Z ahungry quit (Remote host closed the connection) 2017-10-08T06:58:59Z Guest45419 quit (Quit: Guest45419) 2017-10-08T06:59:26Z Guest45419 joined #lisp 2017-10-08T06:59:34Z knobo joined #lisp 2017-10-08T06:59:47Z safe joined #lisp 2017-10-08T07:01:29Z damke_ quit (Read error: Connection reset by peer) 2017-10-08T07:01:57Z damke_ joined #lisp 2017-10-08T07:04:13Z knobo quit (Ping timeout: 258 seconds) 2017-10-08T07:08:03Z clintm quit (Remote host closed the connection) 2017-10-08T07:09:28Z Guest45419 quit (Quit: Guest45419) 2017-10-08T07:09:55Z Guest45419 joined #lisp 2017-10-08T07:13:59Z Guest45419 quit (Client Quit) 2017-10-08T07:14:25Z Guest45419 joined #lisp 2017-10-08T07:18:22Z karswell_ joined #lisp 2017-10-08T07:19:28Z Guest45419 quit (Quit: Guest45419) 2017-10-08T07:19:55Z Guest45419 joined #lisp 2017-10-08T07:20:33Z karswell quit (Ping timeout: 248 seconds) 2017-10-08T07:23:59Z Guest45419 quit (Client Quit) 2017-10-08T07:24:23Z Guest45419 joined #lisp 2017-10-08T07:27:16Z kevin joined #lisp 2017-10-08T07:27:39Z kevin is now known as Guest96613 2017-10-08T07:28:08Z SaganMan joined #lisp 2017-10-08T07:29:32Z kev1n quit (Ping timeout: 260 seconds) 2017-10-08T07:35:38Z neoncontrails joined #lisp 2017-10-08T07:36:25Z Guest96613 quit (Ping timeout: 258 seconds) 2017-10-08T07:37:24Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2017-10-08T07:45:51Z safe quit (Read error: Connection reset by peer) 2017-10-08T07:49:28Z Guest45419 quit (Quit: Guest45419) 2017-10-08T07:49:32Z whoman quit (Quit: Leaving) 2017-10-08T07:49:55Z Guest45419 joined #lisp 2017-10-08T07:53:59Z Guest45419 quit (Client Quit) 2017-10-08T07:54:25Z Guest45419 joined #lisp 2017-10-08T08:03:47Z wigust joined #lisp 2017-10-08T08:08:37Z d4ryus2 is now known as d4ryus 2017-10-08T08:19:28Z Guest45419 quit (Quit: Guest45419) 2017-10-08T08:19:52Z Guest45419 joined #lisp 2017-10-08T08:23:49Z knobo joined #lisp 2017-10-08T08:23:59Z Guest45419 quit (Client Quit) 2017-10-08T08:24:27Z Guest45419 joined #lisp 2017-10-08T08:26:30Z vtomole quit (Ping timeout: 260 seconds) 2017-10-08T08:34:02Z yaocl joined #lisp 2017-10-08T08:46:09Z antismap joined #lisp 2017-10-08T08:48:48Z jibanes quit (Ping timeout: 240 seconds) 2017-10-08T08:50:58Z jibanes joined #lisp 2017-10-08T08:51:55Z wxie quit (Remote host closed the connection) 2017-10-08T08:52:44Z random-nick joined #lisp 2017-10-08T08:58:53Z random-nick quit (Remote host closed the connection) 2017-10-08T08:59:28Z Guest45419 quit (Quit: Guest45419) 2017-10-08T08:59:55Z Guest45419 joined #lisp 2017-10-08T09:00:41Z marvin2 joined #lisp 2017-10-08T09:00:53Z random-nick joined #lisp 2017-10-08T09:01:19Z jibanes quit (Ping timeout: 248 seconds) 2017-10-08T09:01:34Z phoe_: stylewarning: if you find a solution, tell me 2017-10-08T09:03:20Z phoe_: Fare: is ASDF 3.3.0 officially released now? Should I update the topic? 2017-10-08T09:03:25Z jibanes joined #lisp 2017-10-08T09:08:07Z shka joined #lisp 2017-10-08T09:08:59Z Guest45419 quit (Quit: Guest45419) 2017-10-08T09:09:27Z Guest45419 joined #lisp 2017-10-08T09:17:41Z yaocl quit (Quit: yaocl) 2017-10-08T09:19:09Z knobo quit (Ping timeout: 258 seconds) 2017-10-08T09:19:28Z Guest45419 quit (Quit: Guest45419) 2017-10-08T09:19:52Z Guest45419 joined #lisp 2017-10-08T09:20:06Z knobo joined #lisp 2017-10-08T09:20:29Z wxie joined #lisp 2017-10-08T09:20:38Z Mon_Ouie joined #lisp 2017-10-08T09:23:59Z Guest45419 quit (Client Quit) 2017-10-08T09:24:27Z Guest45419 joined #lisp 2017-10-08T09:34:21Z manny8888 joined #lisp 2017-10-08T09:38:31Z wxie quit (Quit: Bye.) 2017-10-08T09:51:21Z MrBusiness3 quit (Ping timeout: 258 seconds) 2017-10-08T09:57:59Z varjag joined #lisp 2017-10-08T10:01:05Z scymtym joined #lisp 2017-10-08T10:04:28Z Guest45419 quit (Quit: Guest45419) 2017-10-08T10:04:55Z Guest45419 joined #lisp 2017-10-08T10:07:49Z bwv joined #lisp 2017-10-08T10:08:45Z scymtym_ joined #lisp 2017-10-08T10:13:02Z scymtym quit (Ping timeout: 255 seconds) 2017-10-08T10:13:59Z Guest45419 quit (Quit: Guest45419) 2017-10-08T10:14:25Z Guest45419 joined #lisp 2017-10-08T10:16:34Z knobo quit (Ping timeout: 264 seconds) 2017-10-08T10:17:17Z knobo joined #lisp 2017-10-08T10:27:03Z juki joined #lisp 2017-10-08T10:29:28Z Guest45419 quit (Quit: Guest45419) 2017-10-08T10:29:54Z Guest45419 joined #lisp 2017-10-08T10:33:23Z varjag quit (Ping timeout: 255 seconds) 2017-10-08T10:33:59Z Guest45419 quit (Client Quit) 2017-10-08T10:34:25Z Guest45419 joined #lisp 2017-10-08T10:35:01Z varjag joined #lisp 2017-10-08T10:37:05Z quazimodo quit (Ping timeout: 240 seconds) 2017-10-08T10:39:39Z malice joined #lisp 2017-10-08T10:41:39Z marcux joined #lisp 2017-10-08T10:57:06Z carenz_ joined #lisp 2017-10-08T10:59:28Z Guest45419 quit (Quit: Guest45419) 2017-10-08T10:59:54Z Guest45419 joined #lisp 2017-10-08T11:02:59Z wxie joined #lisp 2017-10-08T11:03:26Z damke joined #lisp 2017-10-08T11:03:30Z carenz_ quit (Ping timeout: 240 seconds) 2017-10-08T11:03:59Z Guest45419 quit (Client Quit) 2017-10-08T11:04:01Z varjag quit (Ping timeout: 248 seconds) 2017-10-08T11:04:24Z Guest45419 joined #lisp 2017-10-08T11:04:45Z nowhere_man quit (Remote host closed the connection) 2017-10-08T11:05:01Z damke_ quit (Ping timeout: 240 seconds) 2017-10-08T11:06:03Z nowhere_man joined #lisp 2017-10-08T11:06:56Z margeas joined #lisp 2017-10-08T11:09:28Z Guest45419 quit (Quit: Guest45419) 2017-10-08T11:09:55Z Guest45419 joined #lisp 2017-10-08T11:11:42Z random-nick quit (Remote host closed the connection) 2017-10-08T11:12:53Z knobo quit (Ping timeout: 255 seconds) 2017-10-08T11:13:28Z knobo joined #lisp 2017-10-08T11:13:59Z Guest45419 quit (Client Quit) 2017-10-08T11:14:24Z Guest45419 joined #lisp 2017-10-08T11:18:29Z varjag joined #lisp 2017-10-08T11:24:16Z shifty joined #lisp 2017-10-08T11:25:05Z pjb joined #lisp 2017-10-08T11:29:11Z Posterdati quit (Remote host closed the connection) 2017-10-08T11:32:13Z marcux quit (Read error: Connection reset by peer) 2017-10-08T11:32:30Z marcux joined #lisp 2017-10-08T11:34:08Z wigust quit (Ping timeout: 246 seconds) 2017-10-08T11:35:37Z Posterdati joined #lisp 2017-10-08T11:36:36Z wigust joined #lisp 2017-10-08T11:43:27Z marcux quit (Ping timeout: 248 seconds) 2017-10-08T11:47:05Z random-nick joined #lisp 2017-10-08T11:49:17Z stnutt joined #lisp 2017-10-08T11:52:59Z edgar-rft quit (Quit: edgar-rft) 2017-10-08T12:00:59Z juki` joined #lisp 2017-10-08T12:04:17Z juki quit (Ping timeout: 248 seconds) 2017-10-08T12:05:48Z neoncontrails quit (Remote host closed the connection) 2017-10-08T12:07:33Z k3rn31_ joined #lisp 2017-10-08T12:08:58Z knobo quit (Ping timeout: 258 seconds) 2017-10-08T12:09:47Z knobo joined #lisp 2017-10-08T12:10:58Z wxie quit (Quit: Bye.) 2017-10-08T12:11:35Z Bike joined #lisp 2017-10-08T12:11:53Z juki` quit (Quit: ERC (IRC client for Emacs 25.3.1)) 2017-10-08T12:12:34Z terpri quit (Remote host closed the connection) 2017-10-08T12:12:47Z terpri joined #lisp 2017-10-08T12:17:05Z terpri quit (Ping timeout: 240 seconds) 2017-10-08T12:23:35Z ft quit (Ping timeout: 240 seconds) 2017-10-08T12:24:16Z k3rn31_ quit (Quit: Leaving...) 2017-10-08T12:24:28Z Guest45419 quit (Quit: Guest45419) 2017-10-08T12:24:52Z Guest45419 joined #lisp 2017-10-08T12:28:59Z Guest45419 quit (Client Quit) 2017-10-08T12:29:23Z Guest45419 joined #lisp 2017-10-08T12:35:16Z ft joined #lisp 2017-10-08T12:44:28Z Guest45419 quit (Quit: Guest45419) 2017-10-08T12:44:55Z Guest45419 joined #lisp 2017-10-08T12:48:59Z Guest45419 quit (Client Quit) 2017-10-08T12:51:36Z Guest45419 joined #lisp 2017-10-08T13:01:04Z damke quit (Read error: Connection reset by peer) 2017-10-08T13:01:13Z whoman joined #lisp 2017-10-08T13:01:19Z damke_ joined #lisp 2017-10-08T13:04:08Z knobo quit (Ping timeout: 240 seconds) 2017-10-08T13:05:13Z knobo joined #lisp 2017-10-08T13:05:58Z payphone_ joined #lisp 2017-10-08T13:06:32Z payphone quit (Ping timeout: 246 seconds) 2017-10-08T13:06:50Z marcux joined #lisp 2017-10-08T13:09:28Z Guest45419 quit (Quit: Guest45419) 2017-10-08T13:10:20Z Guest45419 joined #lisp 2017-10-08T13:13:07Z varjag quit (Ping timeout: 255 seconds) 2017-10-08T13:13:59Z Guest45419 quit (Client Quit) 2017-10-08T13:14:23Z Guest45419 joined #lisp 2017-10-08T13:14:33Z payphone joined #lisp 2017-10-08T13:15:05Z payphone_ quit (Ping timeout: 240 seconds) 2017-10-08T13:18:53Z deba5e12 joined #lisp 2017-10-08T13:23:00Z marcux quit (Quit: leaving) 2017-10-08T13:23:01Z dddddd joined #lisp 2017-10-08T13:23:19Z marcux joined #lisp 2017-10-08T13:24:28Z Guest45419 quit (Quit: Guest45419) 2017-10-08T13:26:37Z knobo quit (Ping timeout: 255 seconds) 2017-10-08T13:27:05Z Guest45419 joined #lisp 2017-10-08T13:28:59Z Guest45419 quit (Client Quit) 2017-10-08T13:29:23Z Guest45419 joined #lisp 2017-10-08T13:36:32Z yeticry quit (Read error: Connection reset by peer) 2017-10-08T13:36:53Z yeticry joined #lisp 2017-10-08T13:36:54Z marcux quit (Quit: leaving) 2017-10-08T13:37:14Z marcux joined #lisp 2017-10-08T13:38:21Z rippa joined #lisp 2017-10-08T13:39:15Z varjag joined #lisp 2017-10-08T13:49:28Z Guest45419 quit (Quit: Guest45419) 2017-10-08T13:49:55Z Guest45419 joined #lisp 2017-10-08T13:50:15Z Amplituhedron joined #lisp 2017-10-08T13:52:17Z LiamH quit (Ping timeout: 255 seconds) 2017-10-08T13:52:40Z LiamH joined #lisp 2017-10-08T13:53:59Z Guest45419 quit (Client Quit) 2017-10-08T13:54:25Z Guest45419 joined #lisp 2017-10-08T14:00:23Z LiamH quit (Ping timeout: 255 seconds) 2017-10-08T14:00:53Z josemanuel joined #lisp 2017-10-08T14:05:01Z terpri joined #lisp 2017-10-08T14:09:27Z yaocl joined #lisp 2017-10-08T14:12:49Z terpri quit (Read error: Connection reset by peer) 2017-10-08T14:13:32Z BlueRavenGT joined #lisp 2017-10-08T14:14:28Z Guest45419 quit (Quit: Guest45419) 2017-10-08T14:14:56Z Guest45419 joined #lisp 2017-10-08T14:16:54Z compro joined #lisp 2017-10-08T14:16:56Z compro quit (Remote host closed the connection) 2017-10-08T14:17:20Z compro joined #lisp 2017-10-08T14:18:59Z Guest45419 quit (Client Quit) 2017-10-08T14:19:19Z unbalancedparen joined #lisp 2017-10-08T14:19:27Z Guest45419 joined #lisp 2017-10-08T14:20:05Z LiamH joined #lisp 2017-10-08T14:22:07Z pmetzger joined #lisp 2017-10-08T14:23:11Z unbalancedparen quit (Client Quit) 2017-10-08T14:23:52Z compro left #lisp 2017-10-08T14:34:28Z Guest45419 quit (Quit: Guest45419) 2017-10-08T14:34:53Z Guest45419 joined #lisp 2017-10-08T14:38:59Z Guest45419 quit (Client Quit) 2017-10-08T14:39:23Z Guest45419 joined #lisp 2017-10-08T14:40:28Z LiamH1 joined #lisp 2017-10-08T14:40:35Z LiamH quit (Quit: Leaving.) 2017-10-08T14:41:30Z turkja joined #lisp 2017-10-08T14:42:26Z Karl_Dscc joined #lisp 2017-10-08T14:43:44Z LiamH1 is now known as LiamH 2017-10-08T14:45:37Z Josh_2 joined #lisp 2017-10-08T14:48:45Z yrk joined #lisp 2017-10-08T14:55:31Z raynold quit (Quit: Connection closed for inactivity) 2017-10-08T14:57:43Z Ellenor is now known as Reinhilde 2017-10-08T15:12:34Z igemnace joined #lisp 2017-10-08T15:14:19Z attila_lendvai joined #lisp 2017-10-08T15:14:39Z shka: haha 2017-10-08T15:14:46Z shka: sorry, wrong channel 2017-10-08T15:15:48Z Reinhilde is now known as Ellenor 2017-10-08T15:17:59Z arbv quit (Ping timeout: 240 seconds) 2017-10-08T15:20:28Z arbv joined #lisp 2017-10-08T15:21:05Z varjag quit (Ping timeout: 248 seconds) 2017-10-08T15:21:57Z random-nick quit (Remote host closed the connection) 2017-10-08T15:23:14Z arbv_ joined #lisp 2017-10-08T15:24:05Z Mon_Ouie quit (Ping timeout: 240 seconds) 2017-10-08T15:25:20Z arbv quit (Ping timeout: 255 seconds) 2017-10-08T15:25:21Z arbv_ is now known as arbv 2017-10-08T15:25:38Z random-nick joined #lisp 2017-10-08T15:28:38Z LiamH quit (Quit: Leaving.) 2017-10-08T15:32:22Z Rawriful joined #lisp 2017-10-08T15:34:37Z scymtym_: could sbcl users who are annoyed with ironclad compile times try compiling ironclad with https://github.com/scymtym/sbcl/tree/pack-iterative-hopefully-final and report whether/how much times improve? thanks in advance 2017-10-08T15:35:33Z yaocl quit (Quit: yaocl) 2017-10-08T15:36:46Z yaocl joined #lisp 2017-10-08T15:39:55Z LiamH joined #lisp 2017-10-08T15:40:46Z trafaret1 joined #lisp 2017-10-08T15:40:53Z trafaret1: hello there 2017-10-08T15:41:53Z trafaret1: I just newbie in programming and I have question. I find emacs very suitable for programming and I see how powerfull it might be. But need I learn elisp to handle with it properly? 2017-10-08T15:43:58Z jackdaniel: trafaret1: you don't need to learn elisp 2017-10-08T15:44:04Z jackdaniel: for more information join #emacs 2017-10-08T15:44:08Z jackdaniel: this channel is about Common Lisp 2017-10-08T15:44:23Z jackdaniel: I use emacs for years and I know elisp only briefly (and didn't know it at all at first) 2017-10-08T15:44:28Z Guest45419 quit (Quit: Guest45419) 2017-10-08T15:44:55Z Guest45419 joined #lisp 2017-10-08T15:44:57Z pmetzger: there is an #emacs channel. 2017-10-08T15:45:18Z jackdaniel: I'm sure I've mentioned it at some point of time :) 2017-10-08T15:45:57Z shifty quit (Ping timeout: 260 seconds) 2017-10-08T15:47:37Z varjag joined #lisp 2017-10-08T15:48:39Z trafaret1: what is the diffrence between lisp and mathematica languages. I just know it is functional programming languages. Are they interchangable? 2017-10-08T15:48:44Z scymtym_ quit (Ping timeout: 255 seconds) 2017-10-08T15:48:59Z Guest45419 quit (Client Quit) 2017-10-08T15:49:17Z trafaret1: and that would be perspective to learn? 2017-10-08T15:49:23Z Guest45419 joined #lisp 2017-10-08T15:50:24Z varjagg joined #lisp 2017-10-08T15:50:35Z Fare: trafaret1, many differences, and some similarities 2017-10-08T15:50:36Z jackdaniel: mathematics are more declarative than functional. Common Lisp is multi-paradigm programming language and the most dominant approach atm is OOP 2017-10-08T15:50:53Z varjag quit (Remote host closed the connection) 2017-10-08T15:51:01Z jackdaniel: minion: tell trafaret1 about gentle 2017-10-08T15:51:01Z minion: trafaret1: please look at gentle: "Common Lisp: A Gentle Introduction to Symbolic Computation" is a smoother introduction to lisp programming. http://www.cs.cmu.edu/~dst/LispBook/ 2017-10-08T15:51:20Z Fare: mathematica is based on some generalized rewrite logic, whereas Common Lisp is based on the more narrowly defined rewrites of the lambda calculus 2017-10-08T15:52:19Z Fare: Common Lisp also has older roots with lots of low-level side-effects and quirks, and a low-level namespacing mechanism. 2017-10-08T15:52:28Z jealousmonk joined #lisp 2017-10-08T15:52:43Z Fare: mathematica usually works without namespacing; they do have some namespacing mechanism, but I've never seen or used it. 2017-10-08T15:53:30Z Fare: has the mathematica core language been open sourced yet? wolfram said he was working on it and it should be complete this year 2017-10-08T15:53:57Z moei joined #lisp 2017-10-08T15:54:44Z yaocl quit (Quit: yaocl) 2017-10-08T16:01:17Z Amplituhedron quit (Read error: Connection reset by peer) 2017-10-08T16:01:40Z FreeBirdLjj joined #lisp 2017-10-08T16:06:14Z Annatar joined #lisp 2017-10-08T16:06:46Z Annatar: Greetings, anyone currently active? 2017-10-08T16:07:25Z jackdaniel: of course 2017-10-08T16:07:30Z jackdaniel: what's up? 2017-10-08T16:08:21Z Annatar: I have a question regarding the getopt lisp module... I am just at the beginning of learning LISP, and could not find any documentation or examples on how to use it. I use Clozure LISP (CCL). 2017-10-08T16:08:50Z Fare: I recommend didier verna's clon instead, for full feature, or my command-line-arguments for a simple solution 2017-10-08T16:08:57Z Annatar: Tried understanding the code, but as I do not know enough LISP yet, reverse-engineering has proven... challenging. 2017-10-08T16:09:10Z Fare: didier has a LOT of documentation. 2017-10-08T16:09:14Z Annatar: clon was even more confusing. 2017-10-08T16:09:30Z jackdaniel: it is not LISP, but Common Lisp 2017-10-08T16:09:50Z Annatar: Some context would probably help here... I am well versed with getopts(3C) in C and getopts in shell. 2017-10-08T16:10:32Z jackdaniel: clon is a very good tool to process cli arguments 2017-10-08T16:10:59Z jackdaniel: here you can find documentation and reference manual: https://www.lrde.epita.fr/~didier/software/lisp/clon.php 2017-10-08T16:11:01Z SaganMan: is there any website which is like clisp reference? 2017-10-08T16:11:35Z Amplituhedron joined #lisp 2017-10-08T16:13:02Z Annatar: So the consensus then is clon for command line options parsing? 2017-10-08T16:13:38Z jackdaniel: there will never be consensus, but it is a good library 2017-10-08T16:15:18Z Annatar: Thank you for the clues and the link, I will give clon another look. You ladies and gentlemen don't mind if I pop in from time to time to ask what could probably be described trivial questions under the best of circumstances? 2017-10-08T16:16:22Z neoncontrails joined #lisp 2017-10-08T16:17:03Z scymtym joined #lisp 2017-10-08T16:17:05Z kilimanjaro: love pop ins 2017-10-08T16:17:58Z Annatar: Much obliged, and off I go to read the documentation. 2017-10-08T16:18:13Z kilimanjaro: I've heard clojure described as "not feeling lispy" (rough paraphrase). For any of you who share (or disagree) with this sentiment, would you care to comment? 2017-10-08T16:18:42Z Annatar mumbles a spell and vanishes in a puff of smoke. 2017-10-08T16:18:45Z Annatar quit 2017-10-08T16:19:16Z sjl: Clojure doesn't feel like Common Lisp. As to whether it feels "Lispy", that depends on what the person means by Lispy I guess. 2017-10-08T16:19:32Z kilimanjaro: sure 2017-10-08T16:19:43Z kilimanjaro: sjl: have you worked with it? 2017-10-08T16:19:43Z sjl: To me "Lispy" has become a word like "roguelike". Is Nethack a roguelike? Yes. Is FtL a roguelike? eh... maybe? 2017-10-08T16:19:56Z sjl: kilimanjaro: yes, I did a bunch of stuff in Clojure before moving to Common Lisp 2017-10-08T16:20:02Z kilimanjaro: Ah 2017-10-08T16:20:05Z knobo joined #lisp 2017-10-08T16:20:38Z sjl: ##lisp is probably a better topic if you're just interested in how Clojure compares to other lisps in general, as opposed to specifically Common Lisp 2017-10-08T16:20:41Z sjl: er 2017-10-08T16:20:46Z sjl: a better channel for the topic 2017-10-08T16:20:46Z LiamH quit (Ping timeout: 255 seconds) 2017-10-08T16:21:43Z kilimanjaro: I guess I imagine common lisp as being sort of the "cream of the crop" of dynamic languages, between clos, the condition system, SLIME, etc, and have the impression that for many people who worked with CL a lot and moved to clojure that there was something lost in that transition 2017-10-08T16:22:30Z kilimanjaro: But I'm not that experienced with either and I can't tell if it would be more of an issue of the JVM being a frustrating place to live, or other aspects of the language design, etc 2017-10-08T16:22:40Z sjl: They're different languages. You lose some things and gain others no matter which direction you go. Asking in here you'll probably find people predisposed to liking CL more. 2017-10-08T16:22:53Z kilimanjaro: Yes, that was my intent :p 2017-10-08T16:23:35Z kilimanjaro: I'm not trying to start a flame war, I'm just curious about what CL-lovers think, if they have experience with both 2017-10-08T16:23:45Z sjl: Coming to CL from Clojure, it was refreshing to have mutability embraced when I want to use it, and it is a bit frustrating that the immutable side of things is fragmented into various libraries with different interfaces/documentation/etc. 2017-10-08T16:24:42Z trafaret1 left #lisp 2017-10-08T16:24:44Z sjl: like, if I want immutable persistent data structures, do I use cl-hamt? fset? sycamore? 2017-10-08T16:25:05Z sjl: some cocktail of all of them? no matter what I pick, it's not gonna fit in with the core language super well. 2017-10-08T16:26:19Z kilimanjaro: i see 2017-10-08T16:29:41Z Fare: there were things I loved about Clojure, and things I hated 2017-10-08T16:30:14Z sjl: ^^ that 2017-10-08T16:30:17Z Fare: loved: pure data structures by default, cheap maps and sets, invisible meta field 2017-10-08T16:31:18Z Fare: loved: concurrency story, some good ideas about protocols 2017-10-08T16:32:48Z Fare: hated: overall poor object oriented features / integration, very poor backtraces, slow startup and slow compile, quirks with AOT compilation and discrepancies vs interpreted code 2017-10-08T16:33:50Z thinkpad quit (Ping timeout: 255 seconds) 2017-10-08T16:34:00Z Fare: with Clojure I felt both like there was something liberating at a concrete level (especially compared to other JVM languages) and yet a relatively low abstraction ceiling (compared to CL, not to talk about Haskell & al.) 2017-10-08T16:34:35Z Fare: sjl: I use lisp-interface-library for immutable persistent data structures 2017-10-08T16:34:50Z Fare: of course, it could use some love and more data structures. 2017-10-08T16:35:21Z sjl: Fare: and as the readme says, a manual 2017-10-08T16:35:24Z sjl: :) 2017-10-08T16:35:33Z kilimanjaro: I use a combo of python & scala for work, so once I got a whiff of clojure I started drooling 2017-10-08T16:35:48Z Fare: yeah well, I did announce that I'm moving my Lisp activity to Gerbil, did I not? 2017-10-08T16:36:06Z sjl: yeah 2017-10-08T16:36:11Z Fare: expect a port of lil to gerbil rather than more development on the CL side on my part --- but I will take patches and help new maintainers 2017-10-08T16:36:12Z sjl: so probably no manual forthcoming 2017-10-08T16:36:27Z Fare: not one that *I* will write 2017-10-08T16:36:43Z sjl: I feel like I've looked at LIL before and tried to understand it, but was too dumb to do so 2017-10-08T16:37:11Z Fare: if I were to work in that space, I'd probably develop the linear lisp that lil suggests will make mutable and immutable styles isomorphic. 2017-10-08T16:38:07Z LiamH joined #lisp 2017-10-08T16:38:26Z Fare: sjl: I admit I never spent enough time to make it usable to newbies. It was a 20% project, the 80% project ended up being cancelled before lil proved useful, etc. 2017-10-08T16:38:45Z Fare: sjl: but lil isn't THAT hard either. 2017-10-08T16:38:50Z sjl: maybe I'll print out the PDF linked there and read it while I update this laptop, which is now two OS versions behind 2017-10-08T16:39:31Z sjl: Fare: it just seems like there's a layer of abstraction on top of it that goes beyond what most other libraries provide, and without understanding that it's hard to grok the entire system 2017-10-08T16:39:34Z Fare: once you get the idea of interface-passing style, it's quite easy; then there's how the library is organized, that is a bit under-documented. 2017-10-08T16:39:53Z Fare: sjl: you definitely need to read the accompanying paper. 2017-10-08T16:39:56Z sjl: yeah, that's the thing I'm talking about 2017-10-08T16:40:14Z sjl: "What is interface-passing style" is probably something I need to learn before understanding LIL. 2017-10-08T16:40:27Z Fare: definitely 2017-10-08T16:40:36Z Fare: I think the paper is entertaining, but then again I wrote it. 2017-10-08T16:40:44Z sjl: is https://common-lisp.net/~frideau/lil-ilc2012/lil-ilc2012.html the place to learn that? 2017-10-08T16:40:49Z sjl: wait, that's just the paper in html form 2017-10-08T16:42:39Z sz0 joined #lisp 2017-10-08T16:44:52Z LiamH quit (Ping timeout: 260 seconds) 2017-10-08T16:47:16Z kilimanjaro: Fare: can you elaborate just a bit re: your comment on clojure having a low abstraction ceiling? 2017-10-08T16:52:49Z sjl quit (Quit: WeeChat 1.3) 2017-10-08T16:56:27Z edgar-rft joined #lisp 2017-10-08T16:58:05Z LiamH joined #lisp 2017-10-08T17:01:21Z Khisanth quit (Ping timeout: 240 seconds) 2017-10-08T17:01:51Z Fare: kilimanjaro, between complexity of protocols or user-defined types, limitations of the macro system, the fiasco of not offering the proper hooks for typed clojure, etc., I feel like Clojure is not offering a good environment for the kind of higher abstractions you can do with e.g. haskell typeclasses. 2017-10-08T17:02:22Z damke joined #lisp 2017-10-08T17:02:26Z Fare: at least in CL, cheap ad hoc polymorphism makes lil quite pleasant. 2017-10-08T17:02:50Z Fare: and debugging with SLIME makes type errors more bearable. 2017-10-08T17:04:01Z damke_ quit (Ping timeout: 240 seconds) 2017-10-08T17:04:28Z Guest45419 quit (Quit: Guest45419) 2017-10-08T17:04:52Z Guest45419 joined #lisp 2017-10-08T17:08:17Z deba5e12 quit (Ping timeout: 248 seconds) 2017-10-08T17:08:27Z Jesin joined #lisp 2017-10-08T17:08:40Z bigdaddytank joined #lisp 2017-10-08T17:08:59Z Guest45419 quit (Client Quit) 2017-10-08T17:09:23Z Fare: kilimanjaro, what do you think? 2017-10-08T17:09:26Z Guest45419 joined #lisp 2017-10-08T17:10:06Z Fare: also, things like multiple arities with very different types make for a very nice "practical" feeling, but a very hard to abstract away interface. 2017-10-08T17:10:34Z kilimanjaro: well, like I said, I don't have much experience with either, but the most resonating thing for me is your comment about SLIME making type errors more bearable 2017-10-08T17:11:28Z kilimanjaro: the penalty for some dumb mistake in code running on the jvm seems much higher, both in terms of the time needed to figure out what is going on (e.g. the enormous stack trace) as well as making corrections and reloading code 2017-10-08T17:11:42Z Fare quit (Remote host closed the connection) 2017-10-08T17:14:13Z Khisanth joined #lisp 2017-10-08T17:14:28Z deba5e12 joined #lisp 2017-10-08T17:14:31Z miatomi: lsblk 2017-10-08T17:16:53Z igemnace quit (Read error: Connection reset by peer) 2017-10-08T17:17:08Z jealousmonk quit (Ping timeout: 246 seconds) 2017-10-08T17:19:25Z mson joined #lisp 2017-10-08T17:19:28Z Guest45419 quit (Quit: Guest45419) 2017-10-08T17:20:35Z deba5e12 quit (Ping timeout: 240 seconds) 2017-10-08T17:21:01Z Guest45419 joined #lisp 2017-10-08T17:24:02Z Guest45419 quit (Client Quit) 2017-10-08T17:24:28Z Guest45419 joined #lisp 2017-10-08T17:26:32Z Fare joined #lisp 2017-10-08T17:28:17Z kilimanjaro: Fare: i don't know if you caught the last few messages i sent 2017-10-08T17:29:19Z kilimanjaro: anyways, the gist of it is that from my experience the penalty for dumb mistakes in a dynamic language is proportional to both how easy it is to diagnose them and how easy it is to correct them without disrupting the rest of the session or computation 2017-10-08T17:29:22Z kilimanjaro: CL is very good about both 2017-10-08T17:30:02Z kilimanjaro: working with jvm stack traces (as you mentioned) is pretty unpleasant and already starts to penalize dynamic languages in that sense 2017-10-08T17:30:42Z kilimanjaro: at my work we end up doing a lot with spark and this adds an extra level of unpleasantness, to the point where I think something like scala (which we use), despite being very heavy, is probably the right choice 2017-10-08T17:36:03Z bigdaddytank quit (Quit: Peace out!) 2017-10-08T17:38:24Z shka: Fare: what are typed closures? 2017-10-08T17:38:40Z FreeBirdLjj quit (Remote host closed the connection) 2017-10-08T17:39:24Z kolko joined #lisp 2017-10-08T17:39:28Z Guest45419 quit (Quit: Guest45419) 2017-10-08T17:39:55Z Guest45419 joined #lisp 2017-10-08T17:40:52Z shka: http://typedclojure.org/ 2017-10-08T17:40:53Z shka: that? 2017-10-08T17:41:14Z z3t0 joined #lisp 2017-10-08T17:43:59Z Guest45419 quit (Client Quit) 2017-10-08T17:44:24Z Guest45419 joined #lisp 2017-10-08T17:46:32Z Josh_2 quit (Ping timeout: 246 seconds) 2017-10-08T17:46:43Z random-nick quit (Remote host closed the connection) 2017-10-08T17:58:30Z slyrus quit (Remote host closed the connection) 2017-10-08T17:59:28Z Guest45419 quit (Quit: Guest45419) 2017-10-08T17:59:53Z Guest45419 joined #lisp 2017-10-08T18:03:59Z Guest45419 quit (Client Quit) 2017-10-08T18:05:21Z knicklux quit (Quit: Leaving) 2017-10-08T18:06:34Z Guest45419 joined #lisp 2017-10-08T18:07:00Z slyrus joined #lisp 2017-10-08T18:10:25Z QualityAddict joined #lisp 2017-10-08T18:10:59Z jibanes quit (Ping timeout: 240 seconds) 2017-10-08T18:13:06Z jibanes joined #lisp 2017-10-08T18:14:28Z Guest45419 quit (Quit: Guest45419) 2017-10-08T18:14:55Z Guest45419 joined #lisp 2017-10-08T18:15:24Z random-nick joined #lisp 2017-10-08T18:15:36Z turkja quit (Read error: Connection reset by peer) 2017-10-08T18:22:44Z MrBusiness3 joined #lisp 2017-10-08T18:23:59Z Guest45419 quit (Quit: Guest45419) 2017-10-08T18:24:23Z Guest45419 joined #lisp 2017-10-08T18:26:03Z Fare: shka: yes 2017-10-08T18:26:25Z Fare: kilimanjaro, I have ideas on how to make debugging uniformly more bearable including on the JVM 2017-10-08T18:26:36Z Fare: see my thesis https://j.mp/FarePhD 2017-10-08T18:29:17Z jackdaniel: \o/ ECL has implemented virtual streams handled by ext:run-program (that means, that gray stream may be used as :output argument) – cleaning up code now 2017-10-08T18:30:07Z Josh_2 joined #lisp 2017-10-08T18:30:56Z Shinmera didn't even know that that wasn't possible on some implementations 2017-10-08T18:31:58Z jackdaniel: for instance sbcl ignores gray streams when :wait is nil 2017-10-08T18:32:28Z jackdaniel: either way, it is not a trivial problem because gray streams doesn't have file descriptors which could be attached to process 2017-10-08T18:32:40Z jackdaniel: so there must be implemented a piping of some kind 2017-10-08T18:32:47Z Shinmera: Wait, actually, I did know. That's why I wrote a library that does copying in the background to allow using other kinds of streams. 2017-10-08T18:33:03Z Shinmera: I wish I actually knew all that I know. 2017-10-08T18:33:06Z SaganMan quit (Quit: WeeChat 1.6) 2017-10-08T18:34:49Z whoman: =) 2017-10-08T18:36:49Z marcux quit (Ping timeout: 248 seconds) 2017-10-08T18:39:28Z Guest45419 quit (Quit: Guest45419) 2017-10-08T18:39:55Z Guest45419 joined #lisp 2017-10-08T18:47:00Z Jesin quit (Quit: Leaving) 2017-10-08T18:47:56Z kilimanjaro: Fare: cool, I'll take a look 2017-10-08T18:51:01Z damke quit (Ping timeout: 240 seconds) 2017-10-08T18:51:41Z BlueRavenGT quit (Ping timeout: 240 seconds) 2017-10-08T18:52:33Z Jesin joined #lisp 2017-10-08T18:53:51Z jealousmonk joined #lisp 2017-10-08T18:55:45Z rumbler31: Ok what? 2017-10-08T18:58:25Z rumbler31: jackdaniel: help me understand the significance of what you're talking about 2017-10-08T19:01:10Z marcux joined #lisp 2017-10-08T19:02:10Z jackdaniel: rumbler31: you may for instance do (with-output-to-string (s) (ext:run-program "ls" nil :output s)) what wasn't possible before 2017-10-08T19:02:37Z jackdaniel: some badly written libraries depend on that, so they can gather system information etc 2017-10-08T19:03:08Z jackdaniel: (badly written in this regard, because this assumption doesn't always hold) 2017-10-08T19:03:38Z shka: Fare: what is even the point of this? 2017-10-08T19:03:59Z Guest45419 quit (Quit: Guest45419) 2017-10-08T19:04:04Z shka: or how does that compares to CL type declarations 2017-10-08T19:04:25Z Guest45419 joined #lisp 2017-10-08T19:04:39Z shka: because you can set ftype and also type of passed callback 2017-10-08T19:07:41Z bwv quit (Ping timeout: 240 seconds) 2017-10-08T19:09:28Z Guest45419 quit (Quit: Guest45419) 2017-10-08T19:09:55Z Guest45419 joined #lisp 2017-10-08T19:10:15Z rumbler31: jackdaniel: so what made the stream activity in ext:run-program special in that it *wouldn't* work with the stream created by w-o-t-s, that is now different and made to work the way you expect? 2017-10-08T19:10:36Z rumbler31: or rather, why didn't that work, and now, why does it 2017-10-08T19:11:12Z jackdaniel: I have mentioned that: virtual streams doesn't have a descriptor 2017-10-08T19:11:26Z jackdaniel: so you have nothing to attach to a newly created process and magic doesn't happen 2017-10-08T19:11:53Z jackdaniel: I had to write an in-memory piping 2017-10-08T19:13:21Z rumbler31: I know you said that virtual streams don't have a descriptor above, but if using a stream created by w-o-t-s wouldn't work with the run-program call, what kinds of streams were expected to work? 2017-10-08T19:13:46Z rumbler31: oh, I guess, a stream backed by a file? 2017-10-08T19:14:00Z Guest45419 quit (Client Quit) 2017-10-08T19:14:25Z Guest45419 joined #lisp 2017-10-08T19:14:47Z varjagg quit (Ping timeout: 260 seconds) 2017-10-08T19:15:41Z jackdaniel: stream with a descriptor. For instance console i/o 2017-10-08T19:16:23Z Guest43159 quit (Ping timeout: 258 seconds) 2017-10-08T19:16:24Z jackdaniel: or freshly created streams for process invocation purposes (default) 2017-10-08T19:16:36Z rumbler31: oh hmm 2017-10-08T19:16:41Z raynold joined #lisp 2017-10-08T19:17:19Z varjagg joined #lisp 2017-10-08T19:20:08Z rumbler31: thanks for the explanation, I don't usually find myself working in those layers and I'd like to learn more. I'd be interested in reading your commit 2017-10-08T19:21:03Z PuercoPop joined #lisp 2017-10-08T19:21:26Z PuercoPop is now known as Guest18570 2017-10-08T19:27:31Z Mon_Ouie joined #lisp 2017-10-08T19:28:33Z kilfer quit (Read error: Connection reset by peer) 2017-10-08T19:29:52Z basket joined #lisp 2017-10-08T19:32:33Z z3t0 quit (Remote host closed the connection) 2017-10-08T19:33:48Z z3t0 joined #lisp 2017-10-08T19:33:49Z z3t0 quit (Remote host closed the connection) 2017-10-08T19:33:51Z attila_lendvai quit (Quit: Leaving.) 2017-10-08T19:34:02Z z3t0 joined #lisp 2017-10-08T19:38:10Z alexmlw joined #lisp 2017-10-08T19:44:26Z varjagg is now known as varjag 2017-10-08T19:44:28Z Guest45419 quit (Quit: Guest45419) 2017-10-08T19:44:55Z Guest45419 joined #lisp 2017-10-08T19:47:30Z igemnace joined #lisp 2017-10-08T19:48:59Z Guest45419 quit (Client Quit) 2017-10-08T19:49:27Z Guest45419 joined #lisp 2017-10-08T19:50:09Z pmetzger quit 2017-10-08T20:02:17Z arbv quit (Read error: Connection reset by peer) 2017-10-08T20:02:30Z arbv joined #lisp 2017-10-08T20:07:00Z arbv_ joined #lisp 2017-10-08T20:07:45Z arbv quit (Ping timeout: 258 seconds) 2017-10-08T20:07:45Z arbv_ is now known as arbv 2017-10-08T20:14:28Z Guest45419 quit (Quit: Guest45419) 2017-10-08T20:14:55Z Guest45419 joined #lisp 2017-10-08T20:19:50Z neoncontrails quit (Remote host closed the connection) 2017-10-08T20:21:52Z neoncontrails joined #lisp 2017-10-08T20:23:01Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2017-10-08T20:23:02Z arbv quit (Ping timeout: 260 seconds) 2017-10-08T20:23:42Z jmercouris joined #lisp 2017-10-08T20:25:04Z arbv joined #lisp 2017-10-08T20:27:51Z neoncontrails quit (Remote host closed the connection) 2017-10-08T20:28:57Z sjl joined #lisp 2017-10-08T20:28:59Z Guest45419 quit (Quit: Guest45419) 2017-10-08T20:29:15Z wigust quit (Remote host closed the connection) 2017-10-08T20:29:26Z Guest45419 joined #lisp 2017-10-08T20:30:23Z neoncontrails joined #lisp 2017-10-08T20:30:28Z z3t0 quit (Remote host closed the connection) 2017-10-08T20:31:51Z QualityAddict quit (Quit: Leaving) 2017-10-08T20:31:54Z arbv quit (Ping timeout: 258 seconds) 2017-10-08T20:32:36Z emaczen quit (Read error: Connection reset by peer) 2017-10-08T20:32:50Z emaczen joined #lisp 2017-10-08T20:32:57Z arbv joined #lisp 2017-10-08T20:35:46Z random-nick quit (Remote host closed the connection) 2017-10-08T20:36:49Z jmercouris: why is documentation in the common lisp community so bad? 2017-10-08T20:36:50Z minion: jmercouris, memo from phoe_: https://github.com/brown/swank-client https://github.com/eudoxia0/swank-protocol 2017-10-08T20:38:06Z jmercouris: phoe_: aha, very interesting, swank-protocl is exactly what I needed!!! thanks! 2017-10-08T20:41:11Z sjl: jmercouris: I don't know. My only solution so far has been to try to document the stuff I release as well as possible, to be the change I want to see in the world. 2017-10-08T20:42:58Z Shinmera: jmercouris: Because you aren't writing the docs. 2017-10-08T20:44:28Z Guest45419 quit (Quit: Guest45419) 2017-10-08T20:44:52Z Guest45419 joined #lisp 2017-10-08T20:46:23Z LiamH quit (Quit: Leaving.) 2017-10-08T20:46:42Z LiamH joined #lisp 2017-10-08T20:48:23Z z3t0 joined #lisp 2017-10-08T20:48:52Z aijony joined #lisp 2017-10-08T20:48:59Z Guest45419 quit (Client Quit) 2017-10-08T20:49:25Z Guest45419 joined #lisp 2017-10-08T20:53:15Z xayto joined #lisp 2017-10-08T20:54:19Z panji joined #lisp 2017-10-08T20:59:28Z Guest45419 quit (Quit: Guest45419) 2017-10-08T20:59:52Z Guest45419 joined #lisp 2017-10-08T21:00:01Z pjb: jmercouris: it's so bad because it's so good: it's docstrings! 2017-10-08T21:02:08Z Amplituhedron quit (Ping timeout: 240 seconds) 2017-10-08T21:06:53Z jmercouris: sjl: Yeah, that's a good strategy, I try to do the same 2017-10-08T21:07:08Z jmercouris: Shinmera: what do you mean? 2017-10-08T21:07:22Z jmercouris: pjb: But many of them don't even have documentation in the code 2017-10-08T21:08:28Z Shinmera: jmercouris: The line of questioning that goes along the lines of "Why is the lisp community not doing X" always irks me because it implies you'd like to force other people to do what you want. This never works. All you can bet on is what you do on your own. Thus, if you don't like the current situation, /you/ do something about it. If you don't like the (lack of) documentation on a project, go fix it. 2017-10-08T21:08:57Z |3b|: and then watch as the next bunch of people comes in and complains it doesn't look modern enough :p 2017-10-08T21:08:59Z Guest45419 quit (Quit: Guest45419) 2017-10-08T21:09:25Z Guest45419 joined #lisp 2017-10-08T21:10:57Z miatomi quit (Ping timeout: 248 seconds) 2017-10-08T21:12:08Z Amplituhedron joined #lisp 2017-10-08T21:14:28Z Guest45419 quit (Quit: Guest45419) 2017-10-08T21:14:46Z margeas quit (Read error: Connection reset by peer) 2017-10-08T21:16:49Z pierpa joined #lisp 2017-10-08T21:17:05Z Guest45419 joined #lisp 2017-10-08T21:17:28Z Shinmera: Anyway, I think the perception of the state of documentation is biased against Lisp. For one, there's so few libraries that the chance of there being multiple libraries for a task is relatively slim. This in turn means the chance for a documented and tested library for a topic to exist is slim as well. Then there's the argument that writing a library in any other language incurs so much effort that 2017-10-08T21:17:31Z Shinmera: documentation at the end of it seems trivial or almost required because you already spent so much time writing the rest. 2017-10-08T21:18:14Z Shinmera: Given that, I doubt that, if we compare the state of documentation against other ecosystems and account for the numerical differences, Lisp would stand out as particularly bad. 2017-10-08T21:19:11Z Shinmera: Either way, complaining about it helps absolutely nobody, so you'd be doing everyone else a favour by doing literally anything else. 2017-10-08T21:19:22Z |3b|: well, there is probably some difference due to domain of experience, like JS or PHP dev being more likely to be (or at least know) web devs 2017-10-08T21:19:47Z aeth: Most Lisp libraries are done by one person as a hobby. The well-documented projects are usually either done by more than one person, or done by one person who uses it in their job. 2017-10-08T21:19:48Z |3b|: so for example you see more pretty documentation with a lack of project there :) 2017-10-08T21:20:41Z aeth: and, yeah, web dev stuff tends to be well documented because you just put the documentation on the web 2017-10-08T21:21:22Z aeth: Look at languages that aren't very web-focused. e.g. C and C++ projects often have terrible documentation. 2017-10-08T21:21:50Z aeth: Probably written once in 2003 on Sourceforge in plain HTML. 2017-10-08T21:22:22Z Shinmera: doxygen.html 2017-10-08T21:23:59Z Guest45419 quit (Quit: Guest45419) 2017-10-08T21:24:25Z Guest45419 joined #lisp 2017-10-08T21:24:52Z QualityAddict joined #lisp 2017-10-08T21:26:18Z jmercouris: Shinmera: I've never told anyone what to do with their project. I understand your sentiment though. 2017-10-08T21:26:44Z Shinmera: jmercouris: Your question hints at the desire to do so. 2017-10-08T21:27:02Z jmercouris: I think something that's important in life is giving people the benefit of the doubt, and taking things at face value 2017-10-08T21:27:19Z jmercouris: I only asked the question "why is the documentation so bad" 2017-10-08T21:27:54Z jmercouris: At any rate, asking the question is not complaining, it is a sincere question that has a very real value 2017-10-08T21:28:21Z jmercouris: If somebody responded with information such as "because x, y, z" they could either justify it, or explain its cause, and then it might possibly be remedied 2017-10-08T21:28:26Z Shinmera: The answer to that question is easy: because people don't want to do it. It takes time and effort. 2017-10-08T21:28:38Z jmercouris: Shinmera: that is NOT the answer to that question 2017-10-08T21:28:43Z jmercouris: that is a very simplistic view of things 2017-10-08T21:28:45Z p_l: and bad documentation can be worse than none 2017-10-08T21:28:50Z jmercouris: you might wonder why in other communities the situation is different 2017-10-08T21:28:54Z Shinmera: jmercouris: It is the answer, though. 2017-10-08T21:29:03Z jmercouris: and yet, the laziness of people is probably relatively consistent across languages 2017-10-08T21:29:20Z jmercouris: That's a literal answer, but not THE answer, you have to abstract one more layer up 2017-10-08T21:29:20Z p_l: jmercouris: popular libraries in most other communities benefit from economies of scale 2017-10-08T21:30:07Z jmercouris: p_l: this is true, definitely more people power = more likely to have documentation 2017-10-08T21:30:23Z p_l: most libs with good documentation have often an order of magnitude larger dev team 2017-10-08T21:30:48Z p_l: whereas with CL, modt libs appear to be one man shows 2017-10-08T21:31:08Z p_l: single people who still need to eat 2017-10-08T21:31:28Z jmercouris: That makes sense 2017-10-08T21:31:34Z Shinmera: And who have shifting interests. Documenting is boring and menial. 2017-10-08T21:31:45Z jmercouris: Documenting is not boring nor menial, perhaps to yourself 2017-10-08T21:32:02Z jmercouris: Documentation is one of THE most important things in a codebase, and it's probably a cylic thing 2017-10-08T21:32:13Z jmercouris: You find a library online, has poor documentation, hard to get started with, so you write your own 2017-10-08T21:32:18Z Shinmera: Have you considered the possibility that your opinion is in the minority? 2017-10-08T21:32:27Z sjl quit (Quit: WeeChat 1.9.1) 2017-10-08T21:32:29Z jmercouris: Shinmera: likewise 2017-10-08T21:32:44Z p_l: jmercouris: and yet documentation is routinely shit on whenever money is on the table, especially by managers telling to write it 2017-10-08T21:33:00Z p_l: Developers DO NOT write GOOD documentation 2017-10-08T21:33:16Z jmercouris: p_l: Yeah, that is true, but it is very short sighted to not write good documentation 2017-10-08T21:33:27Z Shinmera: jmercouris: Do a survey on it and get back to me. 2017-10-08T21:33:37Z p_l: it's very, very rare that someone has the right inclinations to make good documentation 2017-10-08T21:33:46Z p_l: I know I don't 2017-10-08T21:33:49Z quazimodo joined #lisp 2017-10-08T21:34:07Z jmercouris brb making survey :P 2017-10-08T21:34:25Z shka quit (Ping timeout: 248 seconds) 2017-10-08T21:34:25Z scymtym: i think a good basis for this discussion would have been stating what "good" and "bad" entails w.r.t. documentation 2017-10-08T21:34:28Z Guest45419 quit (Quit: Guest45419) 2017-10-08T21:34:45Z jmercouris: yeah, that's also true, without some basic axioms, we can't really discuss 2017-10-08T21:34:55Z p_l: in my professional work, the reality was that documentation was a task in which managers would figuratively shit on devs with "you have 3 days, and I still expect the tasks we planned for those 3 days to be done" 2017-10-08T21:35:00Z Guest45419 joined #lisp 2017-10-08T21:35:13Z jmercouris: p_l: 100% I know what you mean 2017-10-08T21:36:21Z p_l: so... if you want good documentation, either somehow find a way to involve people (opensource programming projects usually don't have lot of success there) or fund it 2017-10-08T21:38:03Z aeth: jmercouris: If you want people to use Lisp, make something people want to use. Documentation is not the key issue here. 2017-10-08T21:38:37Z p_l: I can't recall any case that wasn't crazy outlier where good docs happened without money. Getting people is outlier, too 2017-10-08T21:38:47Z marcux quit (Quit: Lost terminal) 2017-10-08T21:39:03Z Shinmera: I don't know if my docs qualify as good. I just write them because I fear the wrath of other people. 2017-10-08T21:39:20Z aeth: What gets people to use a language is that that language solves a problem hat they need solved. People do not use Ruby because of its documentation, they use Ruby because of Rails. etc. 2017-10-08T21:39:44Z aeth: Sure, Ruby probably has better documentation on average than Common Lisp, but Rails probably came first, and it probably wasn't that well-documented at first. 2017-10-08T21:39:45Z Shinmera: aeth: You can't solve a problem if you don't know how => documentation 2017-10-08T21:39:55Z p_l: aeth: except Python, people use Python because of docs ;-) 2017-10-08T21:40:21Z aeth: p_l: People use Python because it's either the easiest language in the world or the hardest, depending on if you mind the indentation rules or not. 2017-10-08T21:41:13Z p_l: aeth: I, and many other people I know, started Python because the bundled docs contained full language tutorial AND docs for all the batteries included 2017-10-08T21:41:50Z Shinmera: Part of what I really liked about Java, too, was that the javadocs are really extensive. 2017-10-08T21:41:52Z p_l: the language itself was ultimately irrelevant, and tbh later on with less need for crutches I dropped it 2017-10-08T21:42:25Z sjl joined #lisp 2017-10-08T21:43:59Z Guest45419 quit (Quit: Guest45419) 2017-10-08T21:44:25Z Guest45419 joined #lisp 2017-10-08T21:47:21Z alexmlw quit (Ping timeout: 240 seconds) 2017-10-08T21:48:11Z z3t0 quit (Quit: Leaving...) 2017-10-08T21:49:28Z Guest45419 quit (Quit: Guest45419) 2017-10-08T21:49:53Z quazimodo quit (Ping timeout: 248 seconds) 2017-10-08T21:49:55Z Guest45419 joined #lisp 2017-10-08T21:51:11Z fiddlerwoaroof: Shinmera: I find javadocs to be nearly unusable 2017-10-08T21:51:53Z fiddlerwoaroof: But, I agree in general: the reason why I got into Python in the first place was that it had excellent documentation for its standard library 2017-10-08T21:53:53Z fiddlerwoaroof: Anyways, is there any way to signal a style-warning at compile time in a conforming program? Do I just check for the condition I want to enforce and then throw a signal in my macro? 2017-10-08T21:54:36Z phoe_: fiddlerwoaroof: sounds like it, yes. 2017-10-08T21:54:39Z Shinmera: You'll probably want to sub-condition style-warning, since the type does not carry a message, otherwise. 2017-10-08T21:54:48Z phoe_: clhs style-warning 2017-10-08T21:54:48Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/e_style_.htm 2017-10-08T21:54:54Z Shinmera: But essentially, yes. 2017-10-08T21:55:02Z fiddlerwoaroof: Thanks 2017-10-08T21:55:31Z Shinmera: Also, you don't throw a signal. You throw to a tag, and you signal a condition. 2017-10-08T21:56:18Z josemanuel quit (Quit: leaving) 2017-10-08T21:58:59Z Guest45419 quit (Quit: Guest45419) 2017-10-08T21:59:21Z Karl_Dscc quit (Remote host closed the connection) 2017-10-08T21:59:25Z Guest45419 joined #lisp 2017-10-08T22:00:31Z micro_ quit (Remote host closed the connection) 2017-10-08T22:02:24Z fiddlerwoaroof: Yeah, I've been writing too much Java recently 2017-10-08T22:02:25Z Rawriful quit (Quit: WeeChat 1.4) 2017-10-08T22:06:05Z Xof quit (Ping timeout: 240 seconds) 2017-10-08T22:08:01Z karswell_ quit (Read error: Connection reset by peer) 2017-10-08T22:08:37Z p_l: a lot of javadoc is generated from docstrings, and the quality of those...differs 2017-10-08T22:09:14Z jmercouris: Shinmera: your docs are pretty good IMO, I wish all projects looked like yours 2017-10-08T22:09:23Z jmercouris: I frequently come across repositories that don't even have a readme :D 2017-10-08T22:10:47Z sz0 quit (Quit: Connection closed for inactivity) 2017-10-08T22:14:19Z rumbler31: The documentation in most code I've ever run into has been wrong, or misleading, or doesn't cover the topics I know it handles but need to use it for. In lisp, I load the library and play with the functions till I get a live understanding of what's going on and then move forward. At least for CL though, most libraries that are more complicated that might warrant some documentation seem to have it already, even as doc 2017-10-08T22:14:19Z rumbler31: strings in the function which seems to be enough for me. I've often heard people say "the documentation in this community is bad" and from a sample size of one (myself) I haven't seen it 2017-10-08T22:15:11Z marcux joined #lisp 2017-10-08T22:15:43Z rumbler31: in the c++ community its almost mandatory that documentation exists, because people think there is one version of c++, when there are really easily 5 or more. You need to know how the library is implemented and what platforms or toolchains support the features it relies on. Less so here 2017-10-08T22:17:03Z rumbler31: and live exploring some code is what they call prototyping, and they need it because there doesn't exist a live image workflow. So they end up wiring up all the common parts of any program just to exercise the functionality of a library, the burden of which is experienced less so by the cl community (imho, sample size one) 2017-10-08T22:17:44Z rumbler31: so jmercouris: in good faith, what task do you which to undertake for which you've found documentation lacking? 2017-10-08T22:18:39Z mishoo__ quit (Ping timeout: 248 seconds) 2017-10-08T22:18:57Z jmercouris: rumbler31: Well, I didn't think of a particular instance that brought it up, I was just thinking about lisp in general 2017-10-08T22:20:09Z rumbler31: so you're asking because you've heard it said? or you've experienced it lately but don't necessarily have a specific example? Or a different question, do you think that there is an issue with poor/no documentation? 2017-10-08T22:21:04Z jmercouris: rumbler31: I've experienced it recently 2017-10-08T22:21:35Z jmercouris: I think there is definitely an issue, lisp does that have discoverability, but a brief code example would save a lot of time when evaluating libraries 2017-10-08T22:22:58Z yaocl joined #lisp 2017-10-08T22:23:14Z jmercouris: anyways, it was nice talking gotta go for now! 2017-10-08T22:23:27Z Xal quit (Ping timeout: 248 seconds) 2017-10-08T22:25:25Z angavrilov quit (Remote host closed the connection) 2017-10-08T22:28:17Z Xal joined #lisp 2017-10-08T22:29:11Z yaocl quit (Quit: yaocl) 2017-10-08T22:34:16Z varjag quit (Ping timeout: 255 seconds) 2017-10-08T22:39:28Z Guest45419 quit (Quit: Guest45419) 2017-10-08T22:39:56Z Guest45419 joined #lisp 2017-10-08T22:40:09Z DeadTrickster_ joined #lisp 2017-10-08T22:41:04Z Josh_2 quit (Remote host closed the connection) 2017-10-08T22:42:59Z DeadTrickster quit (Ping timeout: 240 seconds) 2017-10-08T22:43:59Z Guest45419 quit (Client Quit) 2017-10-08T22:44:26Z Guest45419 joined #lisp 2017-10-08T22:46:57Z marcux quit (Ping timeout: 248 seconds) 2017-10-08T22:47:32Z LiamH quit (Quit: Leaving.) 2017-10-08T22:47:46Z LiamH joined #lisp 2017-10-08T22:49:28Z Guest45419 quit (Quit: Guest45419) 2017-10-08T22:49:54Z Guest45419 joined #lisp 2017-10-08T22:52:56Z Fare quit (Remote host closed the connection) 2017-10-08T22:53:59Z Guest45419 quit (Client Quit) 2017-10-08T22:54:24Z Guest45419 joined #lisp 2017-10-08T22:54:42Z wooden quit (Ping timeout: 260 seconds) 2017-10-08T22:56:05Z wooden joined #lisp 2017-10-08T23:06:30Z thinkpad joined #lisp 2017-10-08T23:09:00Z vancan1ty joined #lisp 2017-10-08T23:09:28Z Guest45419 quit (Quit: Guest45419) 2017-10-08T23:09:55Z Guest45419 joined #lisp 2017-10-08T23:11:03Z CrazyEddy quit (Remote host closed the connection) 2017-10-08T23:11:10Z CrazyEddy joined #lisp 2017-10-08T23:13:59Z Guest45419 quit (Client Quit) 2017-10-08T23:14:28Z Guest45419 joined #lisp 2017-10-08T23:14:29Z malice quit (Remote host closed the connection) 2017-10-08T23:16:32Z panji quit (Quit: Leaving) 2017-10-08T23:17:28Z pjb quit (Ping timeout: 255 seconds) 2017-10-08T23:19:28Z Guest45419 quit (Quit: Guest45419) 2017-10-08T23:19:54Z Guest45419 joined #lisp 2017-10-08T23:21:31Z marcux joined #lisp 2017-10-08T23:22:47Z wxie joined #lisp 2017-10-08T23:23:59Z Guest45419 quit (Client Quit) 2017-10-08T23:24:27Z Guest45419 joined #lisp 2017-10-08T23:25:02Z moei quit (Quit: Leaving...) 2017-10-08T23:29:28Z Guest45419 quit (Quit: Guest45419) 2017-10-08T23:29:54Z Guest45419 joined #lisp 2017-10-08T23:32:25Z wxie quit (Remote host closed the connection) 2017-10-08T23:33:59Z Guest45419 quit (Client Quit) 2017-10-08T23:34:25Z Guest45419 joined #lisp 2017-10-08T23:35:28Z jealousmonk quit (Ping timeout: 255 seconds) 2017-10-08T23:49:01Z linoge quit (Quit: WeeChat 1.9.1) 2017-10-09T00:13:26Z schoppenhauer quit (Read error: Connection timed out) 2017-10-09T00:14:02Z z3t0 joined #lisp 2017-10-09T00:14:36Z stylewarning: Hello folks 2017-10-09T00:19:34Z pillton: G'day. 2017-10-09T00:20:08Z stylewarning: What are you hacking on 2017-10-09T00:20:49Z schoppenhauer joined #lisp 2017-10-09T00:21:31Z manny8888 quit (Ping timeout: 258 seconds) 2017-10-09T00:22:09Z pillton: I have been mostly doing documentation for template-function and specialization-store. 2017-10-09T00:26:12Z stylewarning: Great!! 2017-10-09T00:26:13Z z3t0 quit (Remote host closed the connection) 2017-10-09T00:26:46Z z3t0 joined #lisp 2017-10-09T00:26:59Z pillton: And trying to decide what to do next. 2017-10-09T00:27:26Z stylewarning: Make some lisp applications:) 2017-10-09T00:27:58Z stylewarning: I think many Lisp programmers are too keen to write libraries. 2017-10-09T00:29:28Z Guest45419 quit (Quit: Guest45419) 2017-10-09T00:31:02Z pjb joined #lisp 2017-10-09T00:31:16Z z3t0 quit (Ping timeout: 255 seconds) 2017-10-09T00:31:24Z Guest45419 joined #lisp 2017-10-09T00:32:10Z wooden quit (Ping timeout: 255 seconds) 2017-10-09T00:33:59Z Guest45419 quit (Client Quit) 2017-10-09T00:36:12Z z3t0 joined #lisp 2017-10-09T00:36:35Z Guest45419 joined #lisp 2017-10-09T00:39:28Z Guest45419 quit (Client Quit) 2017-10-09T00:39:32Z karswell_ joined #lisp 2017-10-09T00:39:55Z Guest45419 joined #lisp 2017-10-09T00:40:14Z p_l: I wonder if better availability of tooling to deliver applications, and maybe user interface, would help there 2017-10-09T00:40:47Z p_l: I mean, we have buildapp and the like, but make it into somewhat more coherent thing? 2017-10-09T00:41:06Z emaczen` joined #lisp 2017-10-09T00:42:20Z stylewarning: p_l I think that’s right 2017-10-09T00:42:50Z p_l: also not everyone wants to make a web app 2017-10-09T00:42:57Z theBlackDragon quit (Ping timeout: 246 seconds) 2017-10-09T00:43:11Z stylewarning: Also just having more examples of how to make and button up a Lisp app would be good 2017-10-09T00:43:20Z stylewarning: LispWorks is good about this 2017-10-09T00:43:59Z Guest45419 quit (Client Quit) 2017-10-09T00:44:05Z emaczen quit (Ping timeout: 246 seconds) 2017-10-09T00:44:06Z stylewarning: It would be nice if Buildapp’s essential functionality was rolled into ASDF 2017-10-09T00:44:10Z _death: "Foreign Type: :long-double This type is only supported on SCL." ugh 2017-10-09T00:44:26Z Guest45419 joined #lisp 2017-10-09T00:44:41Z stylewarning: Where’s that from? _death 2017-10-09T00:44:45Z p_l: _death: is that the 80bit double? 2017-10-09T00:44:47Z _death: cffi manual 2017-10-09T00:45:02Z theBlackDragon joined #lisp 2017-10-09T00:45:07Z _death: p_l: yeah (on ordinary systems) 2017-10-09T00:45:28Z pjb quit (Ping timeout: 240 seconds) 2017-10-09T00:46:32Z takitus joined #lisp 2017-10-09T00:47:39Z turkja joined #lisp 2017-10-09T00:47:53Z stylewarning: _death: where do you need long-double? 2017-10-09T00:49:10Z _death: just tried autowrapping Torch 2017-10-09T00:49:35Z LiamH quit (Ping timeout: 240 seconds) 2017-10-09T00:51:28Z pillton: LispWorks has Hobbyists licenses now. 2017-10-09T00:51:40Z LiamH joined #lisp 2017-10-09T00:53:09Z _death: (don't really need torch, just wanted a quick look at what kind of issues could a torch bindings writer expect) 2017-10-09T00:55:05Z marcux quit (Ping timeout: 240 seconds) 2017-10-09T00:59:00Z sjl: does Lispworks cross compile, or do you need to buy N licenses, one per platform you want to deliver an executable for (even if you only develop on one)? 2017-10-09T01:00:43Z wooden joined #lisp 2017-10-09T01:03:11Z p_l: sjl: still a license for every platform 2017-10-09T01:04:22Z stnutt quit (Remote host closed the connection) 2017-10-09T01:09:14Z mson quit (Quit: Connection closed for inactivity) 2017-10-09T01:14:11Z marcux joined #lisp 2017-10-09T01:16:19Z newcoder joined #lisp 2017-10-09T01:16:24Z newcoder: (make-string 5 ?x) what is ? here? 2017-10-09T01:17:51Z Bike: uh, what context 2017-10-09T01:17:59Z Bike: make-string with two arguments won't work 2017-10-09T01:20:25Z newcoder: What is '?' there? 2017-10-09T01:20:33Z _death: newcoder: it's elisp syntax for character 2017-10-09T01:22:53Z newcoder: How can we make string in common lisp? 2017-10-09T01:23:11Z Bike: clhs make-string 2017-10-09T01:23:12Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_mk_stg.htm 2017-10-09T01:23:18Z Bike: character syntax is instead #\Name 2017-10-09T01:25:35Z marcux quit (Ping timeout: 240 seconds) 2017-10-09T01:26:46Z marcux joined #lisp 2017-10-09T01:28:16Z newcoder left #lisp 2017-10-09T01:29:28Z Guest45419 quit (Quit: Guest45419) 2017-10-09T01:29:52Z Guest45419 joined #lisp 2017-10-09T01:30:23Z Guest45419 quit (Remote host closed the connection) 2017-10-09T01:31:53Z vtomole joined #lisp 2017-10-09T01:32:21Z yaocl joined #lisp 2017-10-09T01:34:01Z z3t0 quit (Remote host closed the connection) 2017-10-09T01:36:16Z p_l: stylewarning: I've been toying for some time with idea for "application framework" that would abstract done of important parts which aren't "functional requirements" - like paths to app-specific directories, way to distribute easily native libs with your application, etc 2017-10-09T01:38:38Z p_l: curiously enough, it makes me think of using logical pathnames, at least as argument to merge-pathname 2017-10-09T01:42:41Z searcher joined #lisp 2017-10-09T01:45:49Z JuanDaugherty quit (Remote host closed the connection) 2017-10-09T01:47:30Z yaocl quit (Quit: yaocl) 2017-10-09T01:52:01Z igemnace quit (Quit: WeeChat 1.9.1) 2017-10-09T01:56:45Z d4ryus1 joined #lisp 2017-10-09T01:59:59Z d4ryus quit (Ping timeout: 240 seconds) 2017-10-09T02:09:01Z shifty joined #lisp 2017-10-09T02:09:42Z manny8888 joined #lisp 2017-10-09T02:10:07Z Mon_Ouie quit (Ping timeout: 260 seconds) 2017-10-09T02:13:25Z vancan1ty quit (Ping timeout: 255 seconds) 2017-10-09T02:16:43Z pierpa quit (Quit: Page closed) 2017-10-09T02:20:17Z yaocl joined #lisp 2017-10-09T02:25:03Z slyrus quit (Quit: Client Quit) 2017-10-09T02:26:41Z sjl quit (Ping timeout: 248 seconds) 2017-10-09T02:27:05Z marcux quit (Quit: Lost terminal) 2017-10-09T02:27:44Z Mon_Ouie joined #lisp 2017-10-09T02:35:47Z CEnnis91 joined #lisp 2017-10-09T02:41:23Z deba5e12 joined #lisp 2017-10-09T02:41:23Z jealousmonk joined #lisp 2017-10-09T02:42:12Z sjl joined #lisp 2017-10-09T02:46:54Z stylewarning: p_l what about illogical-pathnames ? 2017-10-09T02:46:55Z stylewarning: (: 2017-10-09T02:47:38Z stylewarning: p_l http://quickdocs.org/illogical-pathnames/ 2017-10-09T02:47:43Z p_l: don't recall them :-P 2017-10-09T02:48:46Z p_l: hmm 2017-10-09T02:49:09Z p_l: ok, they sound like an option, but I'll probably start with logical ones 2017-10-09T02:53:17Z stylewarning: I recommend against them 2017-10-09T02:53:31Z stylewarning: All-caps names, weird translation rules, wildly non-portable 2017-10-09T02:54:04Z p_l: ultimately, they only need to specify directories for merge-pathnames 2017-10-09T02:54:32Z p_l: the all-caps part might actually help with systems that ignore case 2017-10-09T02:55:01Z stylewarning: If it’s a tool to help apps developers make apps, they might feel like this is more wacky lisp stuff 2017-10-09T02:57:00Z p_l: stylewarning: well, quite possibly the end result will be a set of constants to refer to in code 2017-10-09T02:57:17Z p_l: with helper functions to check out multiple directories 2017-10-09T02:57:43Z stylewarning: I’m interested in what progress you make 2017-10-09T02:59:10Z p_l: we'll see. Recently I had very little time to myself 2017-10-09T02:59:59Z stylewarning: ): 2017-10-09T03:05:32Z slyrus joined #lisp 2017-10-09T03:09:36Z quazimodo joined #lisp 2017-10-09T03:10:06Z yaocl quit (Quit: yaocl) 2017-10-09T03:10:51Z beach: Good morning everyone! 2017-10-09T03:12:26Z basket: Hello beach 2017-10-09T03:12:55Z p_l: beach: morning! 2017-10-09T03:28:27Z dddddd quit (Remote host closed the connection) 2017-10-09T03:33:26Z yaocl joined #lisp 2017-10-09T03:49:24Z yaocl quit (Quit: yaocl) 2017-10-09T03:49:45Z Bike quit (Quit: Lost terminal) 2017-10-09T03:51:35Z miatomi joined #lisp 2017-10-09T03:54:44Z yaocl joined #lisp 2017-10-09T03:55:22Z Kevslinger quit (Quit: Connection closed for inactivity) 2017-10-09T03:55:28Z iqubic joined #lisp 2017-10-09T04:01:21Z marvin2 quit (Ping timeout: 240 seconds) 2017-10-09T04:01:47Z sjl quit (Ping timeout: 255 seconds) 2017-10-09T04:01:59Z manny8888 quit (Ping timeout: 240 seconds) 2017-10-09T04:08:05Z yaocl quit (Quit: yaocl) 2017-10-09T04:08:19Z QualityAddict quit (Quit: Leaving) 2017-10-09T04:08:57Z ahungry joined #lisp 2017-10-09T04:12:44Z xayto quit (Quit: leaving) 2017-10-09T04:13:03Z xayto joined #lisp 2017-10-09T04:14:01Z quazimodo quit (Ping timeout: 240 seconds) 2017-10-09T04:14:03Z iqubic quit 2017-10-09T04:22:23Z neoncontrails quit (Remote host closed the connection) 2017-10-09T04:31:21Z damke joined #lisp 2017-10-09T04:34:52Z vsync: is there a quick and easy way to see where quicklisp/asdf thinks a system definition lives? 2017-10-09T04:36:08Z beach: vsync: On your local system? 2017-10-09T04:37:17Z vsync: yes 2017-10-09T04:37:19Z vtomole: asdf:*central-registry* variable 2017-10-09T04:37:25Z beach: (asdf:find-system ) and you can inspect the result 2017-10-09T04:37:33Z vsync: ah thanks beach 2017-10-09T04:37:44Z vsync had gotten a little stale 2017-10-09T04:39:34Z vtomole: beach: How is second climacs going? 2017-10-09T04:40:06Z sjl joined #lisp 2017-10-09T04:40:38Z beach: vtomole: I am still working on the CST-to-AST system as part of Cleavir. That one is going to be used in Second Climacs so that I can compile top-level forms at typing speed and report problems by highlighting text in the buffer. 2017-10-09T04:41:23Z beach: But I am making great progress. It basically seems to work for correct input. Now I need to put in more error checking and a better way of signaling problems. 2017-10-09T04:48:44Z bigdaddytank joined #lisp 2017-10-09T04:49:14Z shka joined #lisp 2017-10-09T04:56:38Z bigdaddytank quit (Quit: Peace out!) 2017-10-09T04:59:44Z safe joined #lisp 2017-10-09T04:59:55Z miatomi quit (Ping timeout: 255 seconds) 2017-10-09T05:01:06Z pillton quit (Ping timeout: 240 seconds) 2017-10-09T05:01:21Z scymtym quit (Ping timeout: 248 seconds) 2017-10-09T05:02:07Z ahungry quit (Remote host closed the connection) 2017-10-09T05:10:46Z shka: yo 2017-10-09T05:12:40Z beach: Hello shka. 2017-10-09T05:13:38Z shka: regarding docs 2017-10-09T05:13:48Z shka: writing documentation is HARD 2017-10-09T05:14:01Z shka: especially if you are not so good with english 2017-10-09T05:14:06Z yaocl joined #lisp 2017-10-09T05:14:22Z shka: in fact, recently i spend more time working on docs then actually write code 2017-10-09T05:14:55Z shka: and sure, it is a learning process, yet, it is very difficult without guidance 2017-10-09T05:19:17Z bwv joined #lisp 2017-10-09T05:19:30Z vtomole quit (Ping timeout: 260 seconds) 2017-10-09T05:26:11Z beach: shka: You should definitely ask for guidance. 2017-10-09T05:26:25Z beach: shka: Several people here are good with proofreading. 2017-10-09T05:26:59Z shka: well, last time i did that i was just slapped with grammar book 2017-10-09T05:27:06Z shka: it was not very encouraging 2017-10-09T05:27:42Z beach: I would be perfectly willing to proofread for you. 2017-10-09T05:28:20Z jealousmonk quit (Quit: Leaving) 2017-10-09T05:28:43Z shka: well, i will ask about this once i will iron out text that does not seems to have sense 2017-10-09T05:29:59Z beach: shka: Ask anyway. Some members of a particular language group make systematic mistakes that can be corrected. 2017-10-09T05:30:55Z shka: well, ok 2017-10-09T05:31:00Z shka: here it is: https://sirherrbatka.github.io/cl-data-structures/main.html#2071197507043032227 2017-10-09T05:31:21Z shka: i got to go 2017-10-09T05:32:02Z shka: beach: ideally, i would prefer email with comments over irc messages 2017-10-09T05:33:31Z beach: Fine. 2017-10-09T05:34:34Z shka: i will correct spelling, and eventually get grammar strait so if you can just tell me if you actually understand this text... that would be great 2017-10-09T05:34:51Z beach: Will do. 2017-10-09T05:35:04Z beach: It won't be in the next few minutes. But I will do it. 2017-10-09T05:35:04Z CEnnis91 quit (Quit: Connection closed for inactivity) 2017-10-09T05:35:12Z beach: I may need to be reminded. 2017-10-09T05:35:25Z shka: i am really glad that you want to do it 2017-10-09T05:35:34Z shka: it means a lot to me 2017-10-09T05:35:36Z shka: :-) 2017-10-09T05:35:39Z beach: Pleasure! 2017-10-09T05:36:55Z Karl_Dscc joined #lisp 2017-10-09T05:39:09Z mishoo__ joined #lisp 2017-10-09T05:42:02Z zRecursive joined #lisp 2017-10-09T05:45:01Z eschatologist quit (Ping timeout: 240 seconds) 2017-10-09T05:46:53Z ozzloy joined #lisp 2017-10-09T05:46:53Z ozzloy quit (Changing host) 2017-10-09T05:46:53Z ozzloy joined #lisp 2017-10-09T05:47:28Z flamebeard joined #lisp 2017-10-09T05:51:41Z sjl quit (Ping timeout: 255 seconds) 2017-10-09T05:55:42Z d4ryus1 is now known as d4ryus 2017-10-09T05:58:07Z angavrilov joined #lisp 2017-10-09T05:58:37Z shdeng joined #lisp 2017-10-09T05:59:06Z phoe_: beach: I hereby remind you that moore33 has not replied to my mail. 2017-10-09T05:59:25Z phoe_: The one about DEFINE-PROTOCOL-CLASS. 2017-10-09T06:05:31Z dec0n joined #lisp 2017-10-09T06:07:47Z SaganMan joined #lisp 2017-10-09T06:07:52Z Mon_Ouie quit (Ping timeout: 255 seconds) 2017-10-09T06:08:31Z Karl_Dscc quit (Remote host closed the connection) 2017-10-09T06:08:53Z beach: OK, I'll write to him. 2017-10-09T06:09:29Z yaocl quit (Quit: yaocl) 2017-10-09T06:14:35Z vlatkoB joined #lisp 2017-10-09T06:17:35Z yaocl joined #lisp 2017-10-09T06:23:52Z SaganMan: hey beach 2017-10-09T06:24:31Z shka quit (Ping timeout: 248 seconds) 2017-10-09T06:30:20Z safe quit (Read error: Connection reset by peer) 2017-10-09T06:37:18Z Mon_Ouie joined #lisp 2017-10-09T06:48:21Z deba5e12 quit (Ping timeout: 240 seconds) 2017-10-09T06:49:51Z deba5e12 joined #lisp 2017-10-09T06:52:28Z Shinmera: p_l: Regarding deployment: https://shinmera.github.io/deploy/ 2017-10-09T07:00:16Z quazimodo joined #lisp 2017-10-09T07:01:08Z damke_ joined #lisp 2017-10-09T07:03:21Z damke quit (Ping timeout: 240 seconds) 2017-10-09T07:03:46Z zRecursive quit (Remote host closed the connection) 2017-10-09T07:03:59Z deba5e12 quit (Ping timeout: 248 seconds) 2017-10-09T07:09:13Z schoppenhauer quit (Read error: Connection timed out) 2017-10-09T07:16:15Z schoppenhauer joined #lisp 2017-10-09T07:17:32Z EvW joined #lisp 2017-10-09T07:18:22Z quazimodo quit (Ping timeout: 264 seconds) 2017-10-09T07:18:35Z troydm quit (Ping timeout: 240 seconds) 2017-10-09T07:19:50Z hajovonta joined #lisp 2017-10-09T07:23:12Z scymtym joined #lisp 2017-10-09T07:34:15Z quazimodo joined #lisp 2017-10-09T07:38:41Z quazimodo quit (Ping timeout: 248 seconds) 2017-10-09T07:45:29Z schoppenhauer quit (Ping timeout: 240 seconds) 2017-10-09T07:47:31Z schoppenhauer joined #lisp 2017-10-09T07:48:45Z p_l: Shinmera: ... I'm impressed and envious of your skills right now :) 2017-10-09T07:51:41Z Ellenor is now known as Reinhilde 2017-10-09T07:51:53Z Shinmera: p_l: How come? 2017-10-09T07:53:55Z jackdaniel: rumbler31: if you are still interested: https://gitlab.com/embeddable-common-lisp/ecl/commit/3043dac56b097d95b7a66fea7f71d40de8101453 (and commits around that) 2017-10-09T07:54:52Z p_l: Shinmera: combination of a) finding a solution to significant part of what you wanted to fix b) general awe in amount of projects, finished or not, you make 2017-10-09T07:55:06Z dim: Shinmera: how easy is it with deploy to support “--self-upgrade” option, by which I mean give the program a path to fresh sources (with a bug fix) and have it load the new sources at startup (monkey patching itself)? 2017-10-09T07:55:49Z Shinmera: dim: It doesn't do that at all, so you'd do that in your own application code. 2017-10-09T07:56:47Z Shinmera: dim: I've been thinking about a library to handle upgrades, but I can't say when I'll get to it. Might be years. 2017-10-09T07:57:06Z dim: the difficulty that I had with that is ASDF wanting to reload all dependencies from sources, where the ones in the binary are actually fine 2017-10-09T07:57:12Z Shinmera: p_l: I see. All I can say is that I have a lot of free time to use and nothing better to do. 2017-10-09T07:57:28Z dim: I didn't find a way for ASDF to use the already loaded dependencies 2017-10-09T07:57:46Z Shinmera: dim: Ah, so you want ASDF integration too, ok. 2017-10-09T07:58:32Z Shinmera: dim: What you can do in the interim is compute the action plan to load your system ahead of time, which will give you the order in which to load FASLs. That way you don't need to use ASDF at all. 2017-10-09T07:58:49Z Shinmera: dim: It won't work if you add new files, but other than that... 2017-10-09T07:59:36Z dim: I don't explicitely use fasl 2017-10-09T07:59:44Z dim: currently it's all Quickload and buildapp magic 2017-10-09T08:00:18Z shdeng quit (Quit: Leaving) 2017-10-09T08:00:18Z Shinmera: What I'm saying is: if you know the order in which to load FASLs, all your --self-upgrade option needs to do is, well, load the fasls from a directory in that order. 2017-10-09T08:00:19Z dim: it took me so much efforts to get to a point where my users can `git clone` and `make` and just use pgloader that I'm very worried about changing the build process 2017-10-09T08:00:39Z dim: Shinmera: my users only have the /usr/local/bin/pgloader 2017-10-09T08:00:49Z Shinmera: Yes, so? 2017-10-09T08:00:57Z dim: they know nothing about CL, don't have a nother SBCL/CCL installation, don't have any fasl file, nothing 2017-10-09T08:01:34Z dim: so either they install SBCL, some other bits and then can `git clone` and `make`, or I would like that the integrated compiler within pgloader could be used to monkey patch the binary at startup 2017-10-09T08:01:44Z Shinmera: But you just said that with --self-upgrade you'd give a path to sources to use for patching 2017-10-09T08:02:12Z Shinmera: That's literally the problem you posed to me. 2017-10-09T08:02:21Z dim: yes 2017-10-09T08:02:25Z dim: sources have no fasl 2017-10-09T08:02:39Z dim: you're saying to git commit/push the fasl with the sources? 2017-10-09T08:02:43Z Shinmera: Whether you load a source file or a fasl file doesn't really matter 2017-10-09T08:03:01Z Shinmera: Distributing the fasls for upgrading would just make the bootup a bit faster. 2017-10-09T08:03:32Z knobo quit (Ping timeout: 255 seconds) 2017-10-09T08:03:35Z dim: I see, just for upgrading... but what's the binary compat' of FASL from a platform to another? 2017-10-09T08:03:36Z michalisko quit (Ping timeout: 252 seconds) 2017-10-09T08:03:36Z Shinmera: Either way, the point is: you can compute the load order ahead of time, and then use that to load your sources without ASDF. 2017-10-09T08:03:51Z Shinmera: Depends on your implementation. Usually the compatibility is: none. 2017-10-09T08:04:01Z dim: yeah 2017-10-09T08:04:04Z Shinmera: SBCL doesn't even like loading FASLs between different SBCL versions. 2017-10-09T08:04:11Z dim: so not the road I'd want to follow ;-) 2017-10-09T08:04:50Z Shinmera: Adding a step to check for fasls and otherwise use compile-file first wouldn't be that big of a deal either. 2017-10-09T08:06:01Z dim: I think I understand what you're saying 2017-10-09T08:06:27Z dim: you can see my earlier failed attempts at https://github.com/dimitri/pgloader/blob/master/src/hooks.lisp 2017-10-09T08:06:47Z dim: also a part with cffi libs that I think `deploy` could take care of 2017-10-09T08:11:21Z Shinmera: Here's a quick idea of what I'm talking about: https://plaster.tymoon.eu/view/672#672 2017-10-09T08:11:50Z Shinmera: If you wrangle the pathnames a bit you can get a nice and clean list of source files that are necessary to load to get your system going. 2017-10-09T08:12:05Z Shinmera: You can then save this list in your binary, and use it to load from a directory at startup. 2017-10-09T08:14:17Z mishoo_ joined #lisp 2017-10-09T08:15:29Z mishoo__ quit (Ping timeout: 248 seconds) 2017-10-09T08:17:28Z ebzzry joined #lisp 2017-10-09T08:17:58Z mc40 joined #lisp 2017-10-09T08:18:37Z dim: looks useful thanks! 2017-10-09T08:20:00Z hhdave joined #lisp 2017-10-09T08:20:30Z mc40 quit (Client Quit) 2017-10-09T08:21:07Z dim: for pgloader, it gives 715 files ;-) 2017-10-09T08:21:14Z Reinhilde is now known as Ellenor 2017-10-09T08:22:24Z dim: but it looks easy enough to use that and load only the files I want 2017-10-09T08:22:37Z shka joined #lisp 2017-10-09T08:22:40Z dim: do you know how to “read” an .asd file with asdf? 2017-10-09T08:22:57Z Shinmera: you LOAD the file. 2017-10-09T08:23:04Z dim: the .asd? 2017-10-09T08:23:07Z Shinmera: yes. 2017-10-09T08:23:33Z Shinmera: asd files are just lisp source files that are loaded in a particular package. 2017-10-09T08:23:57Z dim: nice, I didn't realise that 2017-10-09T08:24:17Z Shinmera: It's a frequent source of frustration, since it makes it hard to analyse the files without executing code. 2017-10-09T08:24:17Z dim: so (load "pgloader.asd") then your loop works 2017-10-09T08:24:19Z pjb joined #lisp 2017-10-09T08:24:40Z dim: I mean from a clean start of the image, but there Quicklisp is loaded... 2017-10-09T08:26:21Z dim: thanks, given that I might be able to fix pgloader --self-upgrade for next release ;-) 2017-10-09T08:26:50Z _cosmonaut_ joined #lisp 2017-10-09T08:26:58Z dim: maybe it should be named --load-from-source "path/to/git/clone" 2017-10-09T08:27:11Z dim: or --monkey-patch-from 2017-10-09T08:30:34Z yaocl quit (Quit: yaocl) 2017-10-09T08:36:43Z DeadTrickster_ is now known as DeadTrickster 2017-10-09T08:38:42Z yaocl joined #lisp 2017-10-09T08:39:09Z igemnace joined #lisp 2017-10-09T08:44:18Z hajovonta: hi 2017-10-09T08:45:28Z knobo joined #lisp 2017-10-09T08:51:24Z eschatologist joined #lisp 2017-10-09T08:52:54Z beach: Hello hajovonta. 2017-10-09T09:06:35Z searcher quit (Ping timeout: 240 seconds) 2017-10-09T09:10:27Z forb291 joined #lisp 2017-10-09T09:11:27Z forb291: hello, has anyone got experience with using pgloader? 2017-10-09T09:12:35Z Shinmera: dim wrote it, so 2017-10-09T09:12:39Z dim: yeah 2017-10-09T09:12:47Z dim: some experience, yeah 2017-10-09T09:12:57Z dim: forb291: how can I help you? 2017-10-09T09:13:52Z forb291: :) ok :) I am trying to use it directly from an sbcl repl without going through the install. Is it possible? Currently, just doing (ql:quickload :pgloader) stops in trying to find the mysql libraries. But I only want it to load some csv into postgres 2017-10-09T09:13:57Z forb291: so tldr is: 2017-10-09T09:14:17Z forb291: caN I use it from repl witout installing other db libs etc? 2017-10-09T09:14:31Z dim: I didn't work on alternative dependencies yes, so you need the full set of supported drivers at the moment 2017-10-09T09:14:46Z dim: the MySQL libs used in pgloader is Qmynd, which is pure-CL, tho 2017-10-09T09:14:54Z dim: so Quicklisp should take care of that 2017-10-09T09:15:06Z dim: MSSQL and SQLite are CFFI based 2017-10-09T09:15:54Z forb291: hmm it doesnt. maybe I will cpy it to local-projects and install the libs myself. I wonder is it easy to map the lisp api from the command line documentation? 2017-10-09T09:16:29Z dim: (ql:quickload "pgloader") should load all the CL dependencies for you 2017-10-09T09:16:34Z dim: what are you doing exactly? 2017-10-09T09:17:08Z dim: the lisp API isn't a straight map, but https://github.com/dimitri/pgloader/blob/master/src/api.lisp should get you started 2017-10-09T09:17:22Z varjag joined #lisp 2017-10-09T09:17:23Z dim: not very well documented now, as I'm the only CL user of the thing 2017-10-09T09:18:40Z SaganMan quit (Ping timeout: 255 seconds) 2017-10-09T09:18:57Z forb291: now we are 2 :) 2017-10-09T09:19:21Z searcher joined #lisp 2017-10-09T09:19:26Z dim: welcome to the party! ;-) 2017-10-09T09:19:56Z dim: see pgloader:load-data as the main entry point from lisp 2017-10-09T09:20:09Z forb291: ok, I ll get to it. Thanks a lot for the project. Btw, I tried to find a donation link, but I couldn't. Is there any? 2017-10-09T09:20:12Z dim: and use a fresh git clone from github in local-projects 2017-10-09T09:20:17Z dim: not the QL stable distribution 2017-10-09T09:20:33Z dim: I've been working some on the API for lisp users 2017-10-09T09:20:41Z dim: and I don't release often enough 2017-10-09T09:22:43Z forb291: thanks for the tips. Is there any way I can donate? I will be using it heavily. 2017-10-09T09:23:08Z EvW quit (Ping timeout: 246 seconds) 2017-10-09T09:24:11Z schweers joined #lisp 2017-10-09T09:25:52Z dim: sure, you can buy a Moral Licence at http://pgloader.io/pgloader-moral-license.html 2017-10-09T09:26:15Z schweers: does anyone know if using return-from to escape deep recursion (a few hundred calls deep) is particularly bad for performance? 2017-10-09T09:26:23Z schweers: in sbcl, that is 2017-10-09T09:26:44Z dim: (or https://gumroad.com/l/Octgs as the form doesn't seem to load :/) 2017-10-09T09:28:10Z forb291: thanks a lot :) 2017-10-09T09:29:05Z beach: schweers: I doubt it. It probably removes all stack frames with no unwind-protect by just adjusting the stack and frame pointers. That's how I would implement it anyway. 2017-10-09T09:29:44Z schweers: by “no unwind-protect” you mean frames in which unwind-protect is not used? 2017-10-09T09:29:53Z beach: Yes. 2017-10-09T09:30:30Z schweers: I was wondering if the presence of return-from might make function calls particularly expensive 2017-10-09T09:30:51Z beach: I don't think so. 2017-10-09T09:31:11Z beach: I don't think a return-from alters the call protocol at all. 2017-10-09T09:31:14Z schweers: thanks. Well, then I‘ll have to further investigate what causes bad performance 2017-10-09T09:31:22Z beach: Or, rather, I would be very surprised if it did. 2017-10-09T09:32:22Z beach: Having said that, I don't actually know what SBCL does; only how I would do it myself. I also know that the SBCL maintainers are smart people, so I am guessing that they would have come up with solutions at least as good as mine. 2017-10-09T09:33:17Z schweers: :) 2017-10-09T09:33:58Z beach: Is it a big program? Too big to paste? 2017-10-09T09:34:53Z schweers: hm 2017-10-09T09:35:11Z schweers: whats the preferred paste service around here? 2017-10-09T09:35:13Z schweers: pastebin? 2017-10-09T09:35:20Z beach: minion: lisppaste 2017-10-09T09:35:20Z minion: lisppaste: lisppaste is an IRC bot that runs under the nickname "lisppaste" and can be used (only for the #lisp IRC channel!) at http://paste.lisp.org/new/lisp - or http://paste.lisp.org/ for other destinations 2017-10-09T09:35:27Z schweers: thanks 2017-10-09T09:35:39Z beach: The bot is no longer present, so you have to post the link yourself. 2017-10-09T09:36:31Z schweers: http://paste.lisp.org/display/358103 2017-10-09T09:36:57Z schweers: the code is not very pretty and you can ignore time-into *augmenting-path-time*, its for debugging 2017-10-09T09:37:09Z schweers: its part of an implementation on dinic algorithm 2017-10-09T09:37:55Z schweers: out-edges is pretty much constant-time (well, it depends on how many edges a node has, which is typically only a few) 2017-10-09T09:38:06Z schweers: has-flow-p also has almost constant time 2017-10-09T09:38:13Z schweers: for similar reasons 2017-10-09T09:39:51Z beach: That doesn't leave much, does it? 2017-10-09T09:39:54Z yaocl quit (Quit: yaocl) 2017-10-09T09:40:05Z beach: What is the observed performance problem? 2017-10-09T09:40:28Z schweers: that this function takes ages to run on a large graph 2017-10-09T09:40:50Z beach: Hmm. Did you try the statistical profiler? 2017-10-09T09:41:09Z schweers: if the input is large (I‘m testing it on ~68k vertices) a call to AUGMENTING-PATH usually takes minutes 2017-10-09T09:41:46Z schweers: for some reason directly profiling did not occur to me, no. Don‘t know what made me not do that. 2017-10-09T09:44:01Z beach: I suggest you try that first. It might be something obvious. 2017-10-09T09:45:28Z schweers: I‘m running it now, I can check what the profiler says while its running, right? 2017-10-09T09:45:42Z beach: I don't think so. 2017-10-09T09:45:48Z schweers: hm 2017-10-09T09:45:51Z beach: Did you use the statistical profiler? 2017-10-09T09:45:53Z schweers: yes 2017-10-09T09:46:02Z schweers: (sb-sprof:with-profiling () (time (write-graph))) 2017-10-09T09:46:03Z beach: Then maybe you can. I don't know. 2017-10-09T09:46:07Z schweers: that‘s what I said 2017-10-09T09:47:05Z grublet quit (Ping timeout: 240 seconds) 2017-10-09T09:47:27Z scymtym: not very important, but (time (with-profiling () …)) can eliminate a few things from the profile 2017-10-09T09:47:33Z scymtym: unless the type of the LEVELS array is known somehow, accessing its elements and then doing arithmetic with them is expensive 2017-10-09T09:48:29Z beach: It could be. Do you know the type of the array? 2017-10-09T09:48:52Z schweers: scymtym: expensive enough to explain why it takes more than a weekend to run on 68k vertices? 2017-10-09T09:49:04Z EvW joined #lisp 2017-10-09T09:49:14Z schweers: I think I did not exactly annotate it anywhere 2017-10-09T09:49:29Z schweers: even if I did, I‘d have to do so in the pasted function, right? 2017-10-09T09:49:55Z beach: schweers: That kind of execution time means some super-linear behavior. It could be intrinsic in your algorithm. I don't fully understand it. 2017-10-09T09:50:05Z scymtym: i can't say anything in terms of your code, but the difference can certainly be an order of magnitude 2017-10-09T09:50:10Z schweers: thats my thought to 2017-10-09T09:51:10Z beach: Can the graph have cycles? 2017-10-09T09:51:20Z strelox joined #lisp 2017-10-09T09:51:22Z LAG_ joined #lisp 2017-10-09T09:51:24Z schweers: I’ll try to isolate a call to augmenting-path so it will be called once instead of really often in order to do some statistics on it after lunch 2017-10-09T09:51:46Z schweers: beach: yes, but the algorithm only follows edges which descend costs to a set of destination edges 2017-10-09T09:52:00Z schweers: so it /should/ terminate quickly 2017-10-09T09:52:06Z schweers: for small inputs its also really fast 2017-10-09T09:52:06Z beach: I see. 2017-10-09T09:52:17Z schweers: as in: can‘t be meaningfully measured 2017-10-09T09:52:25Z beach: That, too, indicates some super-linear behavior. 2017-10-09T09:52:52Z beach: Probably at least quadratic. 2017-10-09T09:53:31Z schweers: it shouldn‘t though. if it does its a bug in my code 2017-10-09T09:54:02Z schweers: normally the algorithm is quadratic to nodes, but I use a variant which should be faster 2017-10-09T09:54:23Z schweers: I‘ll do some more digging, maybe I‘ll find something 2017-10-09T09:55:49Z scymtym: the way PATH is updated with the return value of the recursive call makes the code hard to understand 2017-10-09T09:55:50Z m00natic joined #lisp 2017-10-09T09:57:20Z schweers: scymtym: I know, its not exactly the most beautiful code I‘ve ever written. Its a port from C++ code 2017-10-09T09:57:38Z schweers: anyway, thanks for the help so far, I‘ll have lunch and then do some more digging 2017-10-09T09:58:23Z schweers: and I guess I should re-write the code to be more understandable 2017-10-09T10:00:33Z forb291: dim it works perfectly, after installing the freetds file. Since the options I need to feed to pgloader are scattered in different places, I used cl-emb to make a command text with my source, target, options, etc, and then feed it to run-commands api. I dont know if I need a true api, since this is very flexible. anyway thanks again for the info 2017-10-09T10:00:54Z araujo_ quit (Quit: Leaving) 2017-10-09T10:02:49Z forb291: the only thing I will try is modularize the loading of dependencies, so they are not all needed to load pgloader 2017-10-09T10:13:48Z EvW quit (Ping timeout: 246 seconds) 2017-10-09T10:14:47Z manny8888 joined #lisp 2017-10-09T10:19:32Z manny8888 quit (Ping timeout: 260 seconds) 2017-10-09T10:40:35Z Amplituhedron quit (Ping timeout: 240 seconds) 2017-10-09T10:44:20Z Josh_2 joined #lisp 2017-10-09T10:45:58Z EvW joined #lisp 2017-10-09T10:50:50Z Mon_Ouie quit (Ping timeout: 255 seconds) 2017-10-09T10:54:53Z Mon_Ouie joined #lisp 2017-10-09T11:01:17Z damke joined #lisp 2017-10-09T11:02:21Z damke_ quit (Ping timeout: 240 seconds) 2017-10-09T11:03:41Z Josh_2: When talking about condition handling, non-local transfer of control means control being moved outside of the current function? 2017-10-09T11:12:13Z jdz: Josh_2: file:///home/jdz/usr/share/doc/HyperSpec/Body/26_glo_n.htm#non-local_exit 2017-10-09T11:12:26Z jdz: Umm, that did not turn out as I wanted. 2017-10-09T11:13:11Z jdz: http://l1sp.org/cl/glossary/non-local_exit 2017-10-09T11:13:48Z Josh_2: So leaving the function without a normal return 2017-10-09T11:13:51Z Josh_2: Thanks 2017-10-09T11:14:21Z jdz: Josh_2: just make sure you understand what "normal return" means. 2017-10-09T11:14:30Z jdz: http://l1sp.org/cl/glossary/normal_return 2017-10-09T11:15:03Z jdz: The important part is that it does not involve RETURN. 2017-10-09T11:15:12Z jdz: clhs return 2017-10-09T11:15:12Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/m_return.htm 2017-10-09T11:16:39Z Josh_2: ty 2017-10-09T11:16:46Z jdz: You're welcome. 2017-10-09T11:18:22Z Bike joined #lisp 2017-10-09T11:20:00Z jdz: Josh_2: in case of condition handling non-local transfer of control is when the control is explicitly transferred out of the handling construct. 2017-10-09T11:20:12Z jdz: (Trying to use my own words here.) 2017-10-09T11:21:34Z Josh_2: I understand thanks. 2017-10-09T11:25:57Z foom2 joined #lisp 2017-10-09T11:28:26Z foom quit (Ping timeout: 246 seconds) 2017-10-09T11:34:29Z scymtym quit (Ping timeout: 255 seconds) 2017-10-09T11:36:59Z scymtym joined #lisp 2017-10-09T11:37:43Z carenz_ joined #lisp 2017-10-09T11:48:33Z stnutt joined #lisp 2017-10-09T11:48:47Z nowolfer quit (Ping timeout: 248 seconds) 2017-10-09T11:49:27Z schweers: does sbcl use :type specifiers in DEFCLASS in its type inferencer? or do I have to manually specify the types of slots again in code that uses them? 2017-10-09T11:50:54Z nowolfer joined #lisp 2017-10-09T11:52:54Z nirved joined #lisp 2017-10-09T11:56:26Z phoe_: schweers: #sbcl might be able to answer you better but AFAIK it does not. 2017-10-09T11:57:32Z jdz: schweers: why don't you write some code to see if it does? 2017-10-09T11:57:55Z schweers: I just did, it seems sbcl does not use this information 2017-10-09T11:58:02Z schweers: at least not on accessors 2017-10-09T11:58:17Z jdz: Accessors are generic functions. 2017-10-09T11:59:28Z hhdave quit (Ping timeout: 240 seconds) 2017-10-09T11:59:34Z jdz: schweers: what exactly are you trying to accomplish, considering that classes can be redefined at any time? 2017-10-09T11:59:38Z schweers: I know, and now that I think of it, it‘s somewhat obvious to me that this would at least be difficult 2017-10-09T12:00:54Z schweers: I have a class which contains --- among other things --- a simple-array of fixnums. I was naively hoping that using an accessor on an object of this class would let the compiler know what kind of value to expect. But now that I think of it, it might not be possible. 2017-10-09T12:01:07Z LAG_ quit (Quit: Connection closed for inactivity) 2017-10-09T12:01:23Z schweers: anyway, as soon as I add (the (simple-array fixnum) (accessor-use obj)) the compiler is happy 2017-10-09T12:04:17Z Mon_Ouie quit (Ping timeout: 255 seconds) 2017-10-09T12:07:09Z dddddd joined #lisp 2017-10-09T12:13:08Z Kevslinger joined #lisp 2017-10-09T12:14:04Z postit joined #lisp 2017-10-09T12:18:38Z quazimodo joined #lisp 2017-10-09T12:18:52Z dec0n quit (Read error: Connection reset by peer) 2017-10-09T12:20:33Z dec0n joined #lisp 2017-10-09T12:21:07Z SaganMan joined #lisp 2017-10-09T12:21:17Z EvW quit (Ping timeout: 255 seconds) 2017-10-09T12:23:02Z mson joined #lisp 2017-10-09T12:24:38Z turkja quit (Read error: Connection reset by peer) 2017-10-09T12:24:42Z yaocl joined #lisp 2017-10-09T12:32:05Z Bike quit (Ping timeout: 255 seconds) 2017-10-09T12:37:02Z yaocl quit (Ping timeout: 255 seconds) 2017-10-09T12:52:52Z Jesin quit (Quit: Leaving) 2017-10-09T12:57:24Z Bike joined #lisp 2017-10-09T12:59:13Z rumbler31: jackdaniel: ty 2017-10-09T13:00:17Z damke quit (Read error: Connection reset by peer) 2017-10-09T13:01:19Z damke joined #lisp 2017-10-09T13:14:30Z knicklux joined #lisp 2017-10-09T13:14:51Z wxie joined #lisp 2017-10-09T13:15:01Z hhdave joined #lisp 2017-10-09T13:16:28Z EvW joined #lisp 2017-10-09T13:20:44Z igemnace quit (Quit: WeeChat 1.9.1) 2017-10-09T13:27:52Z Mon_Ouie joined #lisp 2017-10-09T13:29:07Z panji joined #lisp 2017-10-09T13:29:09Z marcux joined #lisp 2017-10-09T13:33:46Z CEnnis91 joined #lisp 2017-10-09T13:40:39Z scymtym_ joined #lisp 2017-10-09T13:41:34Z deba5e12 joined #lisp 2017-10-09T13:42:39Z postit quit (Quit: quiting) 2017-10-09T13:44:59Z scymtym quit (Ping timeout: 258 seconds) 2017-10-09T13:46:37Z cromachina quit (Read error: Connection reset by peer) 2017-10-09T13:49:12Z cioran89 joined #lisp 2017-10-09T13:58:33Z wxie quit (Quit: Bye.) 2017-10-09T14:00:13Z marvin2 joined #lisp 2017-10-09T14:01:42Z smokeink joined #lisp 2017-10-09T14:09:28Z _rumbler31 joined #lisp 2017-10-09T14:12:03Z Jesin joined #lisp 2017-10-09T14:12:17Z mishoo__ joined #lisp 2017-10-09T14:14:10Z Jesin quit (Remote host closed the connection) 2017-10-09T14:14:10Z mishoo_ quit (Ping timeout: 264 seconds) 2017-10-09T14:20:18Z Jesin joined #lisp 2017-10-09T14:20:51Z vancan1ty joined #lisp 2017-10-09T14:21:08Z EvW quit (Ping timeout: 240 seconds) 2017-10-09T14:25:02Z flamebeard quit (Quit: Leaving) 2017-10-09T14:25:17Z panji quit (Read error: Connection reset by peer) 2017-10-09T14:33:23Z cioran89 quit (Read error: Connection reset by peer) 2017-10-09T14:33:36Z cioran89 joined #lisp 2017-10-09T14:33:59Z kozy joined #lisp 2017-10-09T14:35:23Z scymtym_ quit (Ping timeout: 255 seconds) 2017-10-09T14:35:46Z EvW joined #lisp 2017-10-09T14:35:52Z igemnace joined #lisp 2017-10-09T14:35:57Z dtornabene joined #lisp 2017-10-09T14:40:35Z marvin2 quit (Read error: Connection reset by peer) 2017-10-09T14:40:35Z deba5e12 quit (Ping timeout: 246 seconds) 2017-10-09T14:42:34Z panji joined #lisp 2017-10-09T14:43:01Z deba5e12 joined #lisp 2017-10-09T14:45:11Z papachan joined #lisp 2017-10-09T14:47:05Z turkja joined #lisp 2017-10-09T14:47:41Z neoncontrails joined #lisp 2017-10-09T14:48:35Z quazimodo quit (Ping timeout: 240 seconds) 2017-10-09T14:50:35Z cioran89_ joined #lisp 2017-10-09T14:51:11Z cioran89_ quit (Remote host closed the connection) 2017-10-09T14:56:20Z rippa joined #lisp 2017-10-09T14:57:28Z dec0n quit (Read error: Connection reset by peer) 2017-10-09T14:58:24Z Devon joined #lisp 2017-10-09T14:58:25Z hajovonta quit (Quit: hajovonta) 2017-10-09T14:58:54Z sjl joined #lisp 2017-10-09T14:59:17Z vlatkoB quit (Remote host closed the connection) 2017-10-09T14:59:58Z vancan1ty quit (Ping timeout: 240 seconds) 2017-10-09T15:00:24Z neoncontrails quit (Remote host closed the connection) 2017-10-09T15:00:40Z vlatkoB joined #lisp 2017-10-09T15:01:16Z rgrau joined #lisp 2017-10-09T15:03:35Z beach: schweers: SBCL uses the type information if you have the right OPTIMIZE settings, or at least it did that in the past. 2017-10-09T15:03:50Z dtornabene quit (Remote host closed the connection) 2017-10-09T15:04:34Z beach: Again, the default settings are unfortunate, in my opinion, because most people just leave them that way, and then they are missing out on beter debugging behavior. 2017-10-09T15:04:42Z schweers: beach: for some reason it didn‘t for me, on the contrary: it warned me that it didn‘t have enough type information. But now that I’ve added some hints the warnings disappeared :) 2017-10-09T15:09:03Z beach: Oh, I think I misunderstood, or read too fast. 2017-10-09T15:09:23Z beach: Yes, the type inferencer might not use it. It is checked at runtime though. 2017-10-09T15:10:25Z xayto quit (Ping timeout: 248 seconds) 2017-10-09T15:12:23Z deba5e12 quit (Ping timeout: 255 seconds) 2017-10-09T15:12:36Z xayto joined #lisp 2017-10-09T15:13:58Z anonchik joined #lisp 2017-10-09T15:14:05Z Mon_Ouie quit (Ping timeout: 240 seconds) 2017-10-09T15:14:50Z anonchik quit (Client Quit) 2017-10-09T15:14:54Z cioran89 quit (Quit: Leaving) 2017-10-09T15:15:02Z Mon_Ouie joined #lisp 2017-10-09T15:20:19Z forb291 quit (Ping timeout: 260 seconds) 2017-10-09T15:21:44Z sjl_ joined #lisp 2017-10-09T15:23:59Z sjl quit (Ping timeout: 246 seconds) 2017-10-09T15:27:58Z knobo quit (Ping timeout: 240 seconds) 2017-10-09T15:28:28Z FreeBirdLjj joined #lisp 2017-10-09T15:30:53Z deba5e12 joined #lisp 2017-10-09T15:31:03Z panji quit (Quit: Leaving) 2017-10-09T15:31:21Z smokeink quit (Ping timeout: 240 seconds) 2017-10-09T15:31:46Z schweers quit (Remote host closed the connection) 2017-10-09T15:32:19Z strelox quit (Ping timeout: 258 seconds) 2017-10-09T15:32:32Z EvW quit (Remote host closed the connection) 2017-10-09T15:32:45Z EvW joined #lisp 2017-10-09T15:42:12Z schoppenhauer quit (Read error: Connection timed out) 2017-10-09T15:42:18Z Denommus joined #lisp 2017-10-09T15:42:34Z abrcdbr joined #lisp 2017-10-09T15:42:50Z abrcdbr quit (Client Quit) 2017-10-09T15:44:03Z Denommus quit (Client Quit) 2017-10-09T15:44:26Z Denommus joined #lisp 2017-10-09T15:45:37Z shifty quit (Ping timeout: 260 seconds) 2017-10-09T15:47:56Z _cosmonaut_ quit (Ping timeout: 255 seconds) 2017-10-09T15:50:04Z schoppenhauer joined #lisp 2017-10-09T15:51:41Z Mon_Ouie quit (Quit: WeeChat 1.9.1) 2017-10-09T15:53:48Z varjag quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2017-10-09T16:00:01Z araujo joined #lisp 2017-10-09T16:02:05Z sjl_ is now known as sjl 2017-10-09T16:05:04Z Josh_2: How do I define a condition that needs no slots for an argument passed to a function? 2017-10-09T16:10:35Z beach: I don't even know what that means. 2017-10-09T16:10:51Z Josh_2: Well I'm confused 2017-10-09T16:11:10Z beach: But I am notorious for having a hard time understanding problem descriptions. 2017-10-09T16:11:52Z _rumbler31: beach: can you go into a little more detail on that? I.e. what are the default settings (or what don't they provide), and what do the settings need to be, and how should they be applied? 2017-10-09T16:12:06Z mson quit (Quit: Connection closed for inactivity) 2017-10-09T16:12:48Z beach: _rumbler31: I don't know that much. I just know that I have (declaim (optimize (speed 0) (debug 3) (safety 3))) in my .sbclrc. 2017-10-09T16:13:27Z beach: _rumbler31: And that means I catch things that people using the default settings can't, and I get more information in my backtraces. 2017-10-09T16:14:34Z beach: _rumbler31: But mainly, I am surprised that people don't do this, and instead spend a lot of time trying to find difficult bugs with the default settings. And that has made want the default setting to be different. 2017-10-09T16:14:49Z mson joined #lisp 2017-10-09T16:15:15Z _rumbler31: So does it just end up, showing more details in backtraces? 2017-10-09T16:15:21Z _rumbler31: and some other things like that I can't think of? 2017-10-09T16:15:37Z beach: It checks types of slots in standard instances. 2017-10-09T16:16:01Z ebzzry quit (Ping timeout: 248 seconds) 2017-10-09T16:16:56Z beach: But showing more detail in backtraces is very valuable. As I recall, there is also more detail about the precise location (in source code) of an error. 2017-10-09T16:18:31Z Josh_2: Well you convinced me already 2017-10-09T16:18:40Z Josh_2: Also I figured out my problem 2017-10-09T16:19:16Z beach: Good. 2017-10-09T16:19:33Z Karl_Dscc joined #lisp 2017-10-09T16:22:35Z igemnace quit (Quit: WeeChat 1.9.1) 2017-10-09T16:23:46Z neoncontrails joined #lisp 2017-10-09T16:25:18Z Josh_2: I read the papers _death suggested to me on the condition system in CL, and I understand how it works, but not how to actually use it... 2017-10-09T16:25:33Z beach: What seems to be the problem? 2017-10-09T16:26:53Z beach: I mean, a simple use is just to signal an error when your program detects a situation it can not handle. 2017-10-09T16:27:27Z Karl_Dscc quit (Remote host closed the connection) 2017-10-09T16:30:08Z EvW quit (Ping timeout: 255 seconds) 2017-10-09T16:30:11Z Josh_2: I'm going to go to the gym and then try again. This is getting very frustrating. 2017-10-09T16:30:11Z phoe_: Josh_2: PCL has an example use case for errors while parsing things. 2017-10-09T16:30:32Z Josh_2: phoe_: I've got it open in front of me 2017-10-09T16:30:49Z Josh_2: I'll read it again later 2017-10-09T16:30:56Z phoe_: Good. Tell us which part of that chapter is confusing. 2017-10-09T16:33:17Z Posterdati quit (Ping timeout: 246 seconds) 2017-10-09T16:33:27Z thinkpad quit (Ping timeout: 260 seconds) 2017-10-09T16:35:15Z moei joined #lisp 2017-10-09T16:37:39Z neoncontrails quit (Remote host closed the connection) 2017-10-09T16:38:25Z mishoo_ joined #lisp 2017-10-09T16:38:37Z adamada joined #lisp 2017-10-09T16:40:01Z neoncontrails joined #lisp 2017-10-09T16:40:05Z mishoo__ quit (Ping timeout: 240 seconds) 2017-10-09T16:40:08Z hhdave quit (Ping timeout: 255 seconds) 2017-10-09T16:40:23Z wooden quit (Read error: Connection reset by peer) 2017-10-09T16:40:28Z moei quit (Ping timeout: 240 seconds) 2017-10-09T16:42:40Z wooden joined #lisp 2017-10-09T16:46:35Z Posterdati joined #lisp 2017-10-09T16:48:16Z nsrahmad joined #lisp 2017-10-09T16:49:15Z varjag joined #lisp 2017-10-09T16:53:14Z nsrahmad quit (Ping timeout: 246 seconds) 2017-10-09T16:54:58Z xayto quit (Ping timeout: 255 seconds) 2017-10-09T16:56:53Z xayto joined #lisp 2017-10-09T16:57:03Z m00natic quit (Remote host closed the connection) 2017-10-09T17:02:11Z damke_ joined #lisp 2017-10-09T17:02:57Z scymtym joined #lisp 2017-10-09T17:04:21Z damke quit (Ping timeout: 240 seconds) 2017-10-09T17:04:21Z LiamH quit (Read error: Connection reset by peer) 2017-10-09T17:04:33Z LiamH joined #lisp 2017-10-09T17:04:35Z moei joined #lisp 2017-10-09T17:05:36Z nsrahmad joined #lisp 2017-10-09T17:14:52Z dyelar joined #lisp 2017-10-09T17:15:03Z nsrahmad quit (Ping timeout: 258 seconds) 2017-10-09T17:16:08Z adamada quit (Ping timeout: 240 seconds) 2017-10-09T17:16:37Z pmetzger joined #lisp 2017-10-09T17:19:57Z knobo joined #lisp 2017-10-09T17:20:01Z damke_ quit (Ping timeout: 240 seconds) 2017-10-09T17:20:38Z emacsomancer quit (Quit: ERC (IRC client for Emacs 25.3.1)) 2017-10-09T17:20:41Z xayto quit (Ping timeout: 240 seconds) 2017-10-09T17:21:35Z emacsomancer joined #lisp 2017-10-09T17:22:53Z xayto joined #lisp 2017-10-09T17:24:22Z rgrau quit (Ping timeout: 264 seconds) 2017-10-09T17:26:42Z z3t0 joined #lisp 2017-10-09T17:26:50Z z3t0 quit (Client Quit) 2017-10-09T17:28:09Z nsrahmad joined #lisp 2017-10-09T17:29:27Z adamada joined #lisp 2017-10-09T17:30:05Z turkja left #lisp 2017-10-09T17:39:25Z zotan_ joined #lisp 2017-10-09T17:39:25Z zotan quit (Read error: Connection reset by peer) 2017-10-09T17:39:41Z zotan_ is now known as zotan 2017-10-09T17:42:13Z nsrahmad quit (Ping timeout: 255 seconds) 2017-10-09T17:42:42Z vlatkoB_ joined #lisp 2017-10-09T17:43:18Z shka_ joined #lisp 2017-10-09T17:44:33Z scymtym quit (Ping timeout: 248 seconds) 2017-10-09T17:46:01Z vlatkoB quit (Ping timeout: 240 seconds) 2017-10-09T17:46:20Z neoncontrails quit (Remote host closed the connection) 2017-10-09T18:01:21Z sjl quit (Quit: WeeChat 1.9.1) 2017-10-09T18:02:15Z sjl joined #lisp 2017-10-09T18:03:15Z sjl quit (Client Quit) 2017-10-09T18:03:41Z sjl joined #lisp 2017-10-09T18:04:56Z FreeBirdLjj quit (Remote host closed the connection) 2017-10-09T18:08:43Z carenz_ quit (Ping timeout: 258 seconds) 2017-10-09T18:09:04Z SaganMan quit (Quit: WeeChat 1.6) 2017-10-09T18:12:22Z Posterdati quit (Ping timeout: 255 seconds) 2017-10-09T18:13:25Z gigetoo joined #lisp 2017-10-09T18:22:07Z zachk joined #lisp 2017-10-09T18:24:32Z wooden quit (Read error: Connection reset by peer) 2017-10-09T18:25:31Z rgrau joined #lisp 2017-10-09T18:26:00Z Posterdati joined #lisp 2017-10-09T18:26:57Z nirved quit (Quit: Leaving) 2017-10-09T18:28:43Z wooden joined #lisp 2017-10-09T18:29:13Z nchambers joined #lisp 2017-10-09T18:29:53Z Bock quit (Ping timeout: 248 seconds) 2017-10-09T18:30:55Z Posterdati quit (Read error: Connection reset by peer) 2017-10-09T18:32:10Z varjag quit (Ping timeout: 255 seconds) 2017-10-09T18:32:26Z searcher2 joined #lisp 2017-10-09T18:33:25Z searcher quit (Read error: Connection reset by peer) 2017-10-09T18:33:28Z FreeBirdLjj joined #lisp 2017-10-09T18:34:01Z jmercouris quit (Ping timeout: 258 seconds) 2017-10-09T18:36:11Z varjag joined #lisp 2017-10-09T18:36:12Z varjag quit (Remote host closed the connection) 2017-10-09T18:41:46Z vsync: what does this mean? "| foo-bar | type-slot, converting FOO to BAR |" on http://www.cliki.net/naming+conventions 2017-10-09T18:43:05Z shka_: vsync: either type-slot (list-stuff) or converting types (like list-to-vector) 2017-10-09T18:43:45Z vsync: yes, i'm not sure what "type-slot" refers to... may not have seen the term before 2017-10-09T18:43:57Z shka_: no 2017-10-09T18:44:03Z shka_: it is 'type'-'slot' 2017-10-09T18:44:05Z Ichimusai quit (Ping timeout: 240 seconds) 2017-10-09T18:44:16Z shka_: so instead of thing like list-of-stuff you have list-stuff 2017-10-09T18:44:29Z shka_: where list is a type and stuff is actual name 2017-10-09T18:44:43Z phoe_: vsync: example, symbol-package 2017-10-09T18:44:57Z phoe_: this function, when given a symbol, extracts a package that this symbol belongs to, and returns that package 2017-10-09T18:45:23Z phoe_: package-name - accepts a package, returns its name 2017-10-09T18:45:39Z phoe_: generic-function-methods - accepts a generic function, returns all of its method objects 2017-10-09T18:45:44Z phoe_: et cetera, et cetera. 2017-10-09T18:45:52Z vsync: gotcha 2017-10-09T18:47:28Z Posterdati joined #lisp 2017-10-09T18:50:16Z EvW1 joined #lisp 2017-10-09T18:51:11Z rgrau quit (Ping timeout: 248 seconds) 2017-10-09T18:56:23Z deba5e12 quit (Ping timeout: 255 seconds) 2017-10-09T19:01:29Z copec: Were there ever any lisp based BBSs back in the day? 2017-10-09T19:01:53Z shka_: define bbs 2017-10-09T19:02:25Z copec: The dial up bulletin board system with various features 2017-10-09T19:02:31Z shka_: ok 2017-10-09T19:02:36Z shka_: i don't know 2017-10-09T19:04:34Z zachk quit (Quit: Leaving) 2017-10-09T19:06:26Z emaczen`: do enums in C usually have names? 2017-10-09T19:07:13Z copec: Isn't that the point of enums? 2017-10-09T19:07:38Z neoncontrails joined #lisp 2017-10-09T19:08:32Z scymtym joined #lisp 2017-10-09T19:08:39Z emaczen`: I'm looking at a C library to use CFFI, and there is no name after the closing } 2017-10-09T19:09:24Z phoe_: actually, emaczen` - C enums don't need to have names 2017-10-09T19:09:39Z phoe_: enum {FOO, BAR, BAZ}; int main () { return 0; } 2017-10-09T19:09:45Z phoe_: this is a valid C program from what it seems. 2017-10-09T19:09:52Z phoe_: but it's also a valid #lispcafe discussion. 2017-10-09T19:09:58Z emaczen`: How do you refer to FOO then? 2017-10-09T19:10:12Z emaczen`: phoe_: I'm doing this because of CFFI 2017-10-09T19:10:50Z Bike: i think the constants get identities of their own 2017-10-09T19:11:00Z Bike: like, you do enum {FOO}; now FOO is defined 2017-10-09T19:11:05Z Ichimusai joined #lisp 2017-10-09T19:11:26Z phoe_: enum {FOO = 0, BAR, BAZ}; int main () { return FOO; } 2017-10-09T19:11:34Z phoe_: this is also a valid C constant now. 2017-10-09T19:11:45Z phoe_: but it's a compile-time constant AFAIK. 2017-10-09T19:11:57Z shka_: yes 2017-10-09T19:12:05Z Bike: it's constant either way i think 2017-10-09T19:12:26Z shka_: it makes difference in C++ 2017-10-09T19:12:36Z Bike: jeez 2017-10-09T19:13:46Z shka_: sorry! 2017-10-09T19:13:53Z shka_: i just had to 2017-10-09T19:13:55Z shka_: … 2017-10-09T19:24:04Z knobo quit (Quit: WeeChat 1.7) 2017-10-09T19:24:08Z adamada quit (Ping timeout: 240 seconds) 2017-10-09T19:25:32Z nullniverse joined #lisp 2017-10-09T19:30:35Z Bicyclidine joined #lisp 2017-10-09T19:31:01Z FreeBirdLjj quit (Remote host closed the connection) 2017-10-09T19:31:13Z javmx joined #lisp 2017-10-09T19:31:31Z Bike quit (Ping timeout: 258 seconds) 2017-10-09T19:31:38Z FreeBirdLjj joined #lisp 2017-10-09T19:32:35Z alexmlw joined #lisp 2017-10-09T19:33:39Z vedm_ joined #lisp 2017-10-09T19:34:17Z alexmlw quit (Client Quit) 2017-10-09T19:35:44Z safe joined #lisp 2017-10-09T19:36:07Z FreeBirdLjj quit (Ping timeout: 258 seconds) 2017-10-09T19:37:07Z adamada joined #lisp 2017-10-09T19:37:17Z JSA_ joined #lisp 2017-10-09T19:38:39Z knicklux quit (Quit: Leaving) 2017-10-09T19:39:47Z bigos joined #lisp 2017-10-09T19:42:15Z Bicyclidine quit (Ping timeout: 258 seconds) 2017-10-09T19:45:05Z shka_ quit (Ping timeout: 255 seconds) 2017-10-09T19:46:00Z vedm_ quit (Quit: vedm_) 2017-10-09T19:47:39Z Bike joined #lisp 2017-10-09T19:50:16Z hhdave joined #lisp 2017-10-09T19:52:00Z hhdave_ joined #lisp 2017-10-09T19:52:46Z josemanuel joined #lisp 2017-10-09T19:54:31Z hhdave quit (Ping timeout: 255 seconds) 2017-10-09T19:54:31Z hhdave_ is now known as hhdave 2017-10-09T20:04:34Z Bike quit (Ping timeout: 264 seconds) 2017-10-09T20:05:43Z rgrau joined #lisp 2017-10-09T20:15:40Z Bike joined #lisp 2017-10-09T20:16:45Z sjl quit (Quit: WeeChat 1.9.1) 2017-10-09T20:17:25Z dliot joined #lisp 2017-10-09T20:18:39Z dliot quit (Quit: dliot) 2017-10-09T20:19:26Z dliot joined #lisp 2017-10-09T20:19:42Z neoncontrails quit (Remote host closed the connection) 2017-10-09T20:19:56Z lacedaemon is now known as fe[nl]ix 2017-10-09T20:20:52Z varjag joined #lisp 2017-10-09T20:21:26Z bwv quit (Quit: bwv) 2017-10-09T20:23:20Z ebzzry joined #lisp 2017-10-09T20:27:57Z angavrilov quit (Remote host closed the connection) 2017-10-09T20:28:08Z alexmlw joined #lisp 2017-10-09T20:30:21Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2017-10-09T20:31:32Z jmercouris joined #lisp 2017-10-09T20:40:16Z dliot quit (Quit: dliot) 2017-10-09T20:40:41Z dliot joined #lisp 2017-10-09T20:41:01Z dliot left #lisp 2017-10-09T20:41:45Z dliot joined #lisp 2017-10-09T20:41:54Z dliot quit (Client Quit) 2017-10-09T20:46:43Z emaczen`: I'm using CFFI with opencv and I've defined (defcfun "cvNamedWindow" :int (name :string) (flags :int)), and it will open a window with CCL but not SBCL 2017-10-09T20:46:54Z emaczen`: How can I get it to work with SBCL too 2017-10-09T20:47:06Z emaczen`: I am running OSX 2017-10-09T20:50:30Z sjl joined #lisp 2017-10-09T20:54:25Z jackdaniel: emaczen`: one thing is that you must call this function from your main thread (starting one) 2017-10-09T20:54:36Z jackdaniel: this is one of nuisances of OSX 2017-10-09T20:54:57Z nullniverse quit (Quit: Leaving) 2017-10-09T20:55:55Z Amplituhedron joined #lisp 2017-10-09T20:57:17Z emaczen`: actually I can't even get it to work with CCL anymore 2017-10-09T20:57:27Z emaczen`: and I do have a macro with-main-thread for CCL 2017-10-09T20:57:50Z emaczen`: what would that look like in SBCL? 2017-10-09T20:58:08Z sjl: https://github.com/Shinmera/trivial-main-thread 2017-10-09T20:58:48Z jmercouris: any more recent performance benchmarks than these: http://www.cliki.net/Performance%20Benchmarks? 2017-10-09T20:59:53Z safe quit (Quit: Leaving) 2017-10-09T21:00:12Z jackdaniel: jmercouris: certainly 2017-10-09T21:00:13Z jackdaniel: sec 2017-10-09T21:00:41Z jackdaniel: jmercouris: https://common-lisp.net/project/ecl/static/files/misc/benchmarks/2016-05-bench-all.html 2017-10-09T21:00:46Z jackdaniel: 2016-05 2017-10-09T21:02:30Z jmercouris: jackdaniel: thank you! 2017-10-09T21:02:48Z jmercouris: I'm not sure what I am reading here 2017-10-09T21:02:57Z jmercouris: is the number a load time? 2017-10-09T21:03:15Z jackdaniel: which number? 2017-10-09T21:03:33Z jmercouris: all of the numbers 2017-10-09T21:03:44Z jmercouris: I understand left = operation, top = implementation 2017-10-09T21:03:54Z jmercouris: is the number therefore like a score where lower = better? 2017-10-09T21:04:20Z jackdaniel: it is execution time of prepared benchmark cases (scaled down) 2017-10-09T21:04:23Z jackdaniel: yes, lower is better 2017-10-09T21:05:06Z jackdaniel: I'm out to sleep, check out cl-bench for details 2017-10-09T21:05:12Z jmercouris: ok, goodnight! 2017-10-09T21:05:12Z jackdaniel: it's on gitlab.common-lisp.net 2017-10-09T21:05:17Z jmercouris: thanks! 2017-10-09T21:05:22Z jackdaniel: sure, good night 2017-10-09T21:05:59Z postit joined #lisp 2017-10-09T21:08:36Z neoncontrails joined #lisp 2017-10-09T21:09:14Z Bike quit (Ping timeout: 255 seconds) 2017-10-09T21:10:04Z Tordek quit (Remote host closed the connection) 2017-10-09T21:10:13Z Tordek joined #lisp 2017-10-09T21:10:30Z KongWubba joined #lisp 2017-10-09T21:10:32Z Posterdati quit (Ping timeout: 260 seconds) 2017-10-09T21:12:35Z Devon quit (Ping timeout: 246 seconds) 2017-10-09T21:13:17Z JSA_: hi all, anyone here work on codebases with >10 MLOC? 2017-10-09T21:13:36Z nchambers: yes, but nothing that uses lisp D: 2017-10-09T21:14:02Z sjl quit (Ping timeout: 260 seconds) 2017-10-09T21:14:23Z Posterdati joined #lisp 2017-10-09T21:14:32Z JSA_: ah, bummer, this is regarding a common lisp codebase 2017-10-09T21:15:36Z Karl_Dscc joined #lisp 2017-10-09T21:17:53Z owstoni joined #lisp 2017-10-09T21:18:41Z jmercouris: Is there something similar to the c preprocessor #if for lisp? 2017-10-09T21:20:39Z vlatkoB_ quit (Remote host closed the connection) 2017-10-09T21:28:17Z Josh_2: So I have this code http://paste.lisp.org/display/358158 and It currently enters the debugger and lets me choose my restart (division-by-zero-1 ..) however it is written like the example at the top of PCL page 240. I'm a lot confused about this. 2017-10-09T21:28:26Z EvW1 quit (Ping timeout: 258 seconds) 2017-10-09T21:29:46Z wheelsucker quit (Quit: Client Quit) 2017-10-09T21:29:56Z KongWubba quit (Quit: Yaaic - Yet another Android IRC client - http://www.yaaic.org) 2017-10-09T21:30:42Z basket: jmercouris: What do you want it for? 2017-10-09T21:32:08Z Bike joined #lisp 2017-10-09T21:32:34Z jmercouris: basket: to make OS specific directives 2017-10-09T21:32:41Z froggey quit (Ping timeout: 240 seconds) 2017-10-09T21:32:57Z jmercouris: like for example a defmacro that expands to a particular code on OSX and a different one on Linux 2017-10-09T21:33:19Z Josh_2: What do I need to change to make it automatically invoke the restart? 2017-10-09T21:33:42Z froggey joined #lisp 2017-10-09T21:34:46Z gacepa joined #lisp 2017-10-09T21:36:36Z basket: jmercouris: You want the #+ read macro, you would use it like #+linux (foo) and foo would be evaluated iff :linux is in *features*, otherwise it's as if it were commented out 2017-10-09T21:39:03Z _death: Josh_2: there are several issues.. you define a DIVISION-BY-ZERO-1 condition, but never signal it.. when the division by zero will occur, a DIVISION-BY-ZERO error will be signaled by lisp.. you use the same name for a restart, which is just confusing; a better name would be, say, RETURN-NIL.. in N-RANDOM, you set up a handler in each iteration, which is unnecessary, you can have it once outside the loop.. you handle DIVISION-BY-ZERO-1 2017-10-09T21:39:03Z _death: conditions, which are, again, not signaled anywhere.. your handler function takes no arguments, but it should take one - the condition object 2017-10-09T21:39:03Z Bike: Josh_2: what is the example? online copy doesn't have page numbering. 2017-10-09T21:42:02Z Josh_2: How do I pass the condition object? 2017-10-09T21:42:21Z Bike: the condition system does that for you 2017-10-09T21:42:30Z Bike: the problem is just that your function doesn't receive it 2017-10-09T21:42:45Z Josh_2: Like I said 2017-10-09T21:42:48Z Bike: the part about the condition not being signaled is really the core problem, though. 2017-10-09T21:43:09Z Josh_2: I'm very confused and there is so much information in this chapter that I'm finding it hard to ask a specific question 2017-10-09T21:43:22Z Bike: what specific example were you trying to copy? 2017-10-09T21:45:52Z Josh_2: If you search for "(invoke-restart " it is the first example with the lambda 2017-10-09T21:46:20Z papachan quit (Quit: Saliendo) 2017-10-09T21:47:06Z Bike: defun log-analyzer? 2017-10-09T21:47:35Z Josh_2: There's a lot of defun log-analyzer, it is the one with the lambda 2017-10-09T21:48:03Z Bike: okay, so it does restart-case around a loop of analyze-log, right? 2017-10-09T21:48:06Z Jesin quit (Quit: Leaving) 2017-10-09T21:48:26Z Josh_2: Yes 2017-10-09T21:48:46Z _death: uh, no.. 2017-10-09T21:49:01Z Bike: handler-bind around a loop of analyze-log, my mistake 2017-10-09T21:49:05Z Josh_2: No it doesn't it does (handler-bind 2017-10-09T21:49:34Z Bike: analyze-log calls prase-log-file, which calls parse-log-entry 2017-10-09T21:49:40Z Josh_2: _death: at least you are awake. 2017-10-09T21:49:45Z Bike: which, in an error condition, signals MALFORMED-LOG-ENTRY-ERROR 2017-10-09T21:50:05Z Bike: which is the condition handled way up in log-analyzer 2017-10-09T21:50:11Z _death: Josh_2: you see that the lambda function takes one parameter.. 2017-10-09T21:50:14Z Bike: in your code, you signal no conditions 2017-10-09T21:50:24Z Bike: this is the fundamental issue (not that there aren't others) 2017-10-09T21:51:00Z Josh_2: I know there are others problems, I've fixed those on my side. 2017-10-09T21:51:24Z Bike: well this is the main one. if you want to handle a condition, it has to be signaled somewhere 2017-10-09T21:51:38Z jmercouris: basket: got it, thank ou! 2017-10-09T21:52:07Z Bike: you don't signal a condition, you call mod, which can, sometimes, signal a condition 2017-10-09T21:52:21Z Bike: but it's a condition of type DIVISION-BY-ZERO, which you don't refer to 2017-10-09T21:52:27Z sjl joined #lisp 2017-10-09T21:53:11Z ninegrid quit (Ping timeout: 246 seconds) 2017-10-09T21:53:30Z whoman quit (Quit: Leaving) 2017-10-09T21:54:26Z safe joined #lisp 2017-10-09T21:55:17Z Josh_2: So I have to manually trigger an error of type division-by-zero-1 2017-10-09T21:56:00Z Bike: uh, i guess 2017-10-09T21:56:09Z Bike: but the easier thing would be to have a handler on DIVISION-BY-ZERO 2017-10-09T21:56:13Z Bike: which is the one mod signals 2017-10-09T21:56:31Z _death: Xach: methinks ql:quickload should accept ql-dist:system objects 2017-10-09T21:57:16Z Josh_2: I'm confused. 2017-10-09T21:57:31Z Bike: about what? 2017-10-09T22:00:25Z Josh_2: Well I don't have to manually trigger an error of type "division-by-zero" because (mod.. will do that on it's own, so how do I catch that with a (handler-bind instead of a handler-case 2017-10-09T22:01:17Z Josh_2: Or do I not want to do that? Idk 2017-10-09T22:01:24Z Bike: you have the handler specialize on DIVISION-BY-ZERO, instead of DIVISION-BY-ZERO-1 like you have now. 2017-10-09T22:02:07Z Josh_2: For the latter to work I have to manually check if I am about to divide by 0? 2017-10-09T22:02:42Z Bike: yes, you'd have to define a condition class called DIVISION-BY-ZERO-1 and signal it yourself, as by ERROR. 2017-10-09T22:02:48Z Josh_2: That way I can use (error 'division-by-zero-1 ..) 2017-10-09T22:03:02Z Josh_2: What if I just want to use the built in error that mod will throw? 2017-10-09T22:03:14Z Bike: that's fine too. 2017-10-09T22:03:32Z hhdave quit (Quit: hhdave) 2017-10-09T22:03:33Z Josh_2: That way it calls (error 'division-by-zero .. on it's own? 2017-10-09T22:03:43Z Bike: mod does, yes, or something equivalent. 2017-10-09T22:04:29Z Josh_2: Okay, so now now it'll look back on the stack for a handler that can deal a division-by-zero error? 2017-10-09T22:04:35Z Josh_2: deal with* 2017-10-09T22:04:42Z Bike: yes. 2017-10-09T22:05:20Z Bike: you can try in your repl (handler-case (mod 7 0) (division-by-zero (c) (declare (ignore c)) (print 'in-handler))) 2017-10-09T22:05:34Z Josh_2: I don't want to use handler-case 2017-10-09T22:05:39Z Josh_2: handler-case unwinds the stack 2017-10-09T22:06:09Z Bike: i know. i'm just trying to get across how the types in handler-bind and handler-case work. that part is identical between them. 2017-10-09T22:07:05Z ebzzry quit (Ping timeout: 240 seconds) 2017-10-09T22:07:56Z Josh_2: Is it? Because in PCL it says that handler-bind must take a function-object unlike handler-case 2017-10-09T22:08:21Z Bike: in both forms you specify the type of conditions you want to handler 2017-10-09T22:08:23Z Bike: to handle* 2017-10-09T22:11:39Z Karl_Dscc quit (Remote host closed the connection) 2017-10-09T22:15:31Z Josh_2: Idk 2017-10-09T22:15:53Z Bike: what don't you know 2017-10-09T22:16:49Z Josh_2: I know how to get handler-case to work. I don't know how to put the handler for division-by-zero on the stack. 2017-10-09T22:16:58Z Josh_2: using handler-bind that is 2017-10-09T22:17:08Z Bike: did you try my short example? 2017-10-09T22:17:13Z Josh_2: Yes 2017-10-09T22:17:20Z Bike: and it printed in-handler? 2017-10-09T22:17:23Z Josh_2: Yes 2017-10-09T22:17:35Z Bike: okay, so now you just need to do handler-bind instead of handler-case. 2017-10-09T22:18:18Z Bike: you want to handle conditions of type DIVISION-BY-ZERO, so you'll write like (handler-bind ((division-by-zero ...)) ...) 2017-10-09T22:19:04Z josemanuel quit (Quit: leaving) 2017-10-09T22:19:13Z wxie joined #lisp 2017-10-09T22:21:14Z dirb joined #lisp 2017-10-09T22:21:23Z Josh_2: Nope 2017-10-09T22:21:35Z Bike: what do you mean nope 2017-10-09T22:22:10Z Josh_2: http://paste.lisp.org/display/358158#1 that 2017-10-09T22:22:31Z Bike: for handler-bind, the handler is a function of one argument 2017-10-09T22:22:34Z mishoo_ quit (Ping timeout: 255 seconds) 2017-10-09T22:22:54Z varjag quit (Quit: ERC (IRC client for Emacs 25.2.1)) 2017-10-09T22:23:19Z Bike: you had the syntax right before, (handler-bind ((division-by-zero #'(lambda ...))) ...) 2017-10-09T22:23:38Z basket: josh_2: That paste is expired 2017-10-09T22:24:09Z Josh_2: O yeah 2017-10-09T22:24:25Z Josh_2: 1 minute ago. 2017-10-09T22:26:59Z marvin2 joined #lisp 2017-10-09T22:27:24Z Josh_2: Still stuck. 2017-10-09T22:27:35Z sjl quit (Ping timeout: 240 seconds) 2017-10-09T22:27:47Z Bike: on what 2017-10-09T22:28:04Z Bike: i cannot assist if i don't know what problem you are having 2017-10-09T22:28:19Z Josh_2: Idk how to put my handler on the stack. 2017-10-09T22:28:29Z Bike: use handler bind 2017-10-09T22:28:31Z Bike: that is what it does 2017-10-09T22:28:52Z pjb quit (Ping timeout: 255 seconds) 2017-10-09T22:30:00Z Bike: if you are having a specific problem, please elaborate on it, i am not looking over your shoulder 2017-10-09T22:30:33Z Josh_2: I don't understand the syntax of (handler-bind ..) 2017-10-09T22:31:22Z Bike: (handler-bind ({binding}*) form*), where binding = (type handler) 2017-10-09T22:31:36Z Bike: so if you have one handler, (handler-bind ((type handler)) form*) 2017-10-09T22:32:00Z Bike: type is division-by-zero, handler is a function of one argument that invokes your restart, form* is going to call your function that calls mod 2017-10-09T22:32:04Z Bike: clhs handler-bind 2017-10-09T22:32:04Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/m_handle.htm 2017-10-09T22:32:08Z Bike: has more examples 2017-10-09T22:34:37Z rjid joined #lisp 2017-10-09T22:39:26Z postit quit (Quit: quiting) 2017-10-09T22:39:51Z wxie quit (Quit: Bye.) 2017-10-09T22:41:01Z Josh_2: I don't know what I'm doing. 2017-10-09T22:41:29Z Josh_2: Thanks for your help. I'm going to try again tomorrow. 2017-10-09T22:43:40Z rjid quit (Ping timeout: 260 seconds) 2017-10-09T22:47:19Z deba5e12 joined #lisp 2017-10-09T22:47:41Z _rumbler31 quit (Ping timeout: 240 seconds) 2017-10-09T22:48:42Z manny8888 joined #lisp 2017-10-09T22:49:04Z javmx quit (Quit: Leaving) 2017-10-09T22:52:10Z marcux quit (Quit: Lost terminal) 2017-10-09T22:52:34Z BlueRavenGT joined #lisp 2017-10-09T22:53:08Z marcux joined #lisp 2017-10-09T22:55:47Z bigos quit (Quit: Leaving) 2017-10-09T22:57:50Z sjl joined #lisp 2017-10-09T22:58:27Z Denommus quit (Quit: going home) 2017-10-09T23:01:57Z moei quit (Quit: Leaving...) 2017-10-09T23:04:07Z yrk quit (Read error: Connection reset by peer) 2017-10-09T23:05:27Z thinkpad joined #lisp 2017-10-09T23:09:04Z miatomi joined #lisp 2017-10-09T23:09:24Z LiamH quit (Read error: Connection reset by peer) 2017-10-09T23:09:35Z LiamH joined #lisp 2017-10-09T23:09:55Z Bike: okay, good luck then. 2017-10-09T23:11:11Z Josh_2: I'm sure I'll get it tomorrow. Got lots of time 2017-10-09T23:18:54Z marcux_ joined #lisp 2017-10-09T23:21:01Z Kaisyu joined #lisp 2017-10-09T23:21:54Z xayto left #lisp 2017-10-09T23:26:09Z pjb joined #lisp 2017-10-09T23:31:28Z schoppenhauer quit (Ping timeout: 240 seconds) 2017-10-09T23:33:31Z schoppenhauer joined #lisp 2017-10-09T23:44:20Z gacepa quit (Quit: Connection closed for inactivity) 2017-10-09T23:44:31Z shrdlu68 joined #lisp 2017-10-09T23:46:04Z _rumbler31 joined #lisp 2017-10-09T23:46:38Z Coming joined #lisp 2017-10-09T23:49:16Z pmetzger quit 2017-10-09T23:49:30Z marcux_ quit (Ping timeout: 258 seconds) 2017-10-09T23:50:28Z _rumbler31 quit (Ping timeout: 240 seconds) 2017-10-09T23:51:15Z Xach: hmm, hu.dwim.perec has started to take an absurd amount of time to build. 2017-10-09T23:52:08Z pjb quit (Ping timeout: 240 seconds) 2017-10-09T23:53:04Z bailon quit (Quit: fnord fnord fnord) 2017-10-09T23:55:06Z rumbler31 quit (Remote host closed the connection) 2017-10-09T23:56:27Z MetaYan: scymtym: timed ironclad : http://paste.lisp.org/+7OD1 2017-10-10T00:04:39Z Xach: oh, cool, some problem with uiop 3.3.0 2017-10-10T00:06:25Z Patzy quit (Ping timeout: 248 seconds) 2017-10-10T00:07:40Z MetaYan: scymtym: ironclad timing - full logs: https://pastebin.com/P62a5WR1 (scymtym) and https://pastebin.com/0ErHUQiy (sbcl 1.4.0) 2017-10-10T00:09:50Z rumbler31 joined #lisp 2017-10-10T00:13:35Z quazimodo joined #lisp 2017-10-10T00:15:38Z Xach: or maybe some bad interaction with hu.dwim.asdf? 2017-10-10T00:15:39Z Xach: hmm 2017-10-10T00:17:09Z rgrau quit (Ping timeout: 240 seconds) 2017-10-10T00:18:30Z MetaYan: Xach: Are you talking to me? 2017-10-10T00:18:55Z MetaYan: Sorry, didn't get it. 2017-10-10T00:21:17Z manny8888 quit (Ping timeout: 260 seconds) 2017-10-10T00:21:37Z Xach: MetaYan: to myself. i am having some Trouble with quicklisp building stuff. 2017-10-10T00:21:50Z Xach: and attila_lendvai is not present to discuss in real time 2017-10-10T00:21:51Z MetaYan: Those pastes are benchmarks for scymtym - some optimizations in SBCL. ironclad compiles in 25s instead of 66s. 2017-10-10T00:22:18Z MetaYan: Ah, alright. Didn't see anyone responding, so got me wondering... 2017-10-10T00:24:23Z Patzy joined #lisp 2017-10-10T00:25:37Z deba5e12 quit (Ping timeout: 248 seconds) 2017-10-10T00:34:04Z smokeink joined #lisp 2017-10-10T00:37:19Z shrdlu68 quit (Ping timeout: 248 seconds) 2017-10-10T00:43:19Z Xach: i like faster 2017-10-10T00:44:17Z stnutt quit (Ping timeout: 248 seconds) 2017-10-10T00:46:00Z stnutt joined #lisp 2017-10-10T00:47:54Z QualityAddict joined #lisp 2017-10-10T00:52:12Z impulse quit (Ping timeout: 260 seconds) 2017-10-10T00:54:03Z impulse joined #lisp 2017-10-10T00:54:11Z whoman joined #lisp 2017-10-10T00:56:53Z manny8888 joined #lisp 2017-10-10T01:02:30Z Coming quit (Quit: Leaving) 2017-10-10T01:07:15Z takitus quit (Remote host closed the connection) 2017-10-10T01:08:35Z pedh quit (Ping timeout: 240 seconds) 2017-10-10T01:10:16Z pedh joined #lisp 2017-10-10T01:12:24Z deba5e12 joined #lisp 2017-10-10T01:16:14Z jmercouris quit (Remote host closed the connection) 2017-10-10T01:19:55Z owstoni quit (Quit: Lost terminal) 2017-10-10T01:27:00Z neoncontrails quit (Remote host closed the connection) 2017-10-10T01:29:19Z pedh quit (Ping timeout: 255 seconds) 2017-10-10T01:30:44Z pedh joined #lisp 2017-10-10T01:32:34Z jmercouris joined #lisp 2017-10-10T01:34:09Z gilberth quit (Ping timeout: 258 seconds) 2017-10-10T01:34:15Z kozy quit (Remote host closed the connection) 2017-10-10T01:35:58Z stux|RC quit (Ping timeout: 240 seconds) 2017-10-10T01:39:02Z kozy joined #lisp 2017-10-10T01:49:52Z Josh_2 quit (Ping timeout: 258 seconds) 2017-10-10T01:55:56Z d4ryus1 joined #lisp 2017-10-10T01:58:37Z kozy quit (Remote host closed the connection) 2017-10-10T01:59:05Z d4ryus quit (Ping timeout: 240 seconds) 2017-10-10T01:59:37Z ebzzry joined #lisp 2017-10-10T01:59:51Z marvin2 quit 2017-10-10T02:02:12Z shifty joined #lisp 2017-10-10T02:07:34Z sebastien_ quit (Ping timeout: 255 seconds) 2017-10-10T02:08:02Z jmercouris quit (Ping timeout: 260 seconds) 2017-10-10T02:09:05Z marcux quit (Quit: leaving) 2017-10-10T02:09:24Z marcux joined #lisp 2017-10-10T02:12:29Z jmercouris joined #lisp 2017-10-10T02:12:44Z jmercouris quit (Remote host closed the connection) 2017-10-10T02:13:05Z jmercouris joined #lisp 2017-10-10T02:14:24Z Fare joined #lisp 2017-10-10T02:16:45Z Guest18570 quit (Remote host closed the connection) 2017-10-10T02:17:18Z kozy joined #lisp 2017-10-10T02:18:13Z jmercouris: what's the best way to make a blank file if it does not exist? 2017-10-10T02:18:19Z kozy quit (Remote host closed the connection) 2017-10-10T02:18:32Z jmercouris: I don't want to use lisp to write to it or anything, I just have to make sure it exists 2017-10-10T02:19:12Z jmercouris: I guess I can probe-file to see if it exists, but is there a way to just do like "touch"? 2017-10-10T02:19:20Z jmercouris quit (Read error: Connection reset by peer) 2017-10-10T02:19:38Z White_Flame: open & close it, with :if-does-not-exist :create 2017-10-10T02:19:47Z jmercouris joined #lisp 2017-10-10T02:19:52Z White_Flame: open & close it, with :if-does-not-exist :create 2017-10-10T02:20:12Z jmercouris: White_Flame: an interesting idea, I think that could work 2017-10-10T02:20:20Z jmercouris: I mean, I know it would work, I'm just not sure I should that way 2017-10-10T02:20:30Z White_Flame: I had to do similar in python recently, same dealio 2017-10-10T02:20:40Z jmercouris: yeah, it's always such a pain this type of operation 2017-10-10T02:21:16Z White_Flame: with with-open-file, it should just be a single clause, probably shorter than most languages 2017-10-10T02:21:36Z White_Flame: (conceptually shorter; it's pretty verbose letter-count-wise) 2017-10-10T02:22:06Z jmercouris: the only thing is, does with-open-file return if the file exists? 2017-10-10T02:22:34Z White_Flame: well, that wasn't part of the original question ;) 2017-10-10T02:22:48Z jmercouris: Right sorry yeah, I also want to do some operations 2017-10-10T02:23:02Z jmercouris: maybe I should probe, and then do with-open-file anyway 2017-10-10T02:23:11Z White_Flame: yep 2017-10-10T02:23:36Z jmercouris: anyways, thanks for your input! 2017-10-10T02:23:40Z White_Flame: np 2017-10-10T02:26:34Z jmercouris: hey everyone, sometimes slime doesn't show the function I'm working on in the message buffer, like it won't show me the current parameter I am on, any reason why that could be? 2017-10-10T02:26:46Z jmercouris: parameter = argument in this case 2017-10-10T02:27:25Z White_Flame: maybe if it's nested in a macro outer form, it doesn't know what it should be 2017-10-10T02:27:46Z damke joined #lisp 2017-10-10T02:27:49Z jmercouris: Well that's definitely a possibility yeah 2017-10-10T02:27:56Z jmercouris: but I meant sometimes I start emacs and it won't work at all, and others it will 2017-10-10T02:29:50Z adamada quit (Quit: Leaving) 2017-10-10T02:29:54Z jmercouris: It keeps putting strange stuff in my messages buffer: error in process filter: Wrong number of arguments: nil, 137 2017-10-10T02:30:21Z damke__ joined #lisp 2017-10-10T02:32:08Z jmercouris: I'm going to restart emacs, it's being really slow, brb 2017-10-10T02:32:11Z jmercouris quit (Remote host closed the connection) 2017-10-10T02:32:24Z vtomole joined #lisp 2017-10-10T02:33:41Z damke quit (Ping timeout: 240 seconds) 2017-10-10T02:34:06Z ahungry joined #lisp 2017-10-10T02:35:40Z zRecursive joined #lisp 2017-10-10T02:38:53Z damke joined #lisp 2017-10-10T02:41:19Z LiamH quit (Ping timeout: 255 seconds) 2017-10-10T02:41:21Z damke__ quit (Ping timeout: 240 seconds) 2017-10-10T02:43:28Z stux|RC joined #lisp 2017-10-10T02:46:12Z LAG_ joined #lisp 2017-10-10T02:47:28Z quazimodo quit (Ping timeout: 240 seconds) 2017-10-10T02:47:55Z damke_ joined #lisp 2017-10-10T02:49:18Z quazimodo joined #lisp 2017-10-10T02:49:41Z damke quit (Ping timeout: 240 seconds) 2017-10-10T02:49:41Z damke__ joined #lisp 2017-10-10T02:50:55Z yaocl joined #lisp 2017-10-10T02:52:21Z damke_ quit (Ping timeout: 240 seconds) 2017-10-10T02:54:57Z damke joined #lisp 2017-10-10T02:55:41Z damke__ quit (Ping timeout: 240 seconds) 2017-10-10T03:05:38Z jmercouris joined #lisp 2017-10-10T03:05:50Z jmercouris: for anyone curious what the issue is, I forgotten I had patched the lisp I compiled on my system to remove the help doc... 2017-10-10T03:07:57Z miatomi quit (Quit: Lost terminal) 2017-10-10T03:14:34Z igemnace joined #lisp 2017-10-10T03:15:42Z QualityAddict quit (Quit: Leaving) 2017-10-10T03:16:29Z damke_ joined #lisp 2017-10-10T03:18:41Z damke quit (Ping timeout: 240 seconds) 2017-10-10T03:23:46Z damke joined #lisp 2017-10-10T03:24:46Z dddddd quit (Remote host closed the connection) 2017-10-10T03:25:21Z damke_ quit (Ping timeout: 240 seconds) 2017-10-10T03:25:41Z damke__ joined #lisp 2017-10-10T03:28:01Z damke quit (Ping timeout: 240 seconds) 2017-10-10T03:28:19Z damke_ joined #lisp 2017-10-10T03:29:58Z gilberth joined #lisp 2017-10-10T03:30:21Z damke__ quit (Ping timeout: 240 seconds) 2017-10-10T03:31:15Z miatomi joined #lisp 2017-10-10T03:32:01Z Fare quit (Quit: Leaving) 2017-10-10T03:32:16Z yaocl quit (Quit: yaocl) 2017-10-10T03:33:38Z yaocl joined #lisp 2017-10-10T03:41:52Z damke joined #lisp 2017-10-10T03:43:21Z damke_ quit (Ping timeout: 240 seconds) 2017-10-10T03:46:01Z damke quit (Ping timeout: 240 seconds) 2017-10-10T03:46:01Z manny8888 quit (Ping timeout: 240 seconds) 2017-10-10T03:48:23Z damke joined #lisp 2017-10-10T03:48:43Z nika joined #lisp 2017-10-10T03:50:41Z damke_ joined #lisp 2017-10-10T03:50:45Z PuercoPope joined #lisp 2017-10-10T03:52:12Z didi joined #lisp 2017-10-10T03:52:19Z didi: How do I delete a directory? 2017-10-10T03:53:23Z damke quit (Ping timeout: 252 seconds) 2017-10-10T03:53:39Z PuercoPope quit (Remote host closed the connection) 2017-10-10T03:54:42Z jmercouris: didi: I think it should be like deleting a file, right? I mean at least on unix, a directory is just a file 2017-10-10T03:55:12Z shka_ joined #lisp 2017-10-10T03:55:25Z didi: jmercouris: SBCL doesn't let me. It says my directory is a directory, not a file. 2017-10-10T03:55:59Z jmercouris: didi: uiop:delete-directory-tree 2017-10-10T03:56:00Z didi: It is not wrong. ;-) 2017-10-10T03:56:20Z jmercouris: and then it just takes a pathname 2017-10-10T03:56:49Z didi: jmercouris: Thanks. No plain standard way tho? 2017-10-10T03:57:14Z jmercouris: didi: https://github.com/fare/asdf/blob/master/uiop/filesystem.lisp#L628 2017-10-10T03:57:23Z jmercouris: not that I know of, but uiop seems pretty standard to me 2017-10-10T03:57:38Z didi: jmercouris: Thanks. 2017-10-10T03:58:10Z yaocl quit (Quit: yaocl) 2017-10-10T03:58:15Z jmercouris: didi: no problem! 2017-10-10T03:59:08Z PuercoPop joined #lisp 2017-10-10T03:59:10Z Bike quit (Quit: leaving) 2017-10-10T03:59:41Z scb joined #lisp 2017-10-10T04:01:22Z damke joined #lisp 2017-10-10T04:03:07Z didi: Hihi: "If you're suicidal or extremely confident, just use :VALIDATE T." 2017-10-10T04:03:41Z damke_ quit (Ping timeout: 240 seconds) 2017-10-10T04:04:06Z iqubic joined #lisp 2017-10-10T04:05:07Z jmercouris: yeah, that was an interesting comment 2017-10-10T04:06:01Z damke quit (Ping timeout: 240 seconds) 2017-10-10T04:06:19Z iqubic: How is the next browser coming along? 2017-10-10T04:07:09Z damke joined #lisp 2017-10-10T04:07:26Z didi left #lisp 2017-10-10T04:09:58Z damke_ joined #lisp 2017-10-10T04:10:38Z jmercouris: iqubic: pretty okay, have you checked it out recently? 2017-10-10T04:10:54Z jmercouris: iqubic: https://github.com/nEXT-Browser/nEXT 2017-10-10T04:10:59Z iqubic: No. 2017-10-10T04:11:02Z jmercouris: I'm working on the bookmarking system right now actually 2017-10-10T04:11:07Z deba5e12 quit (Ping timeout: 260 seconds) 2017-10-10T04:11:25Z iqubic: I haven't ever tried running the browser yet. 2017-10-10T04:11:26Z jmercouris: I'm also thinking about how to improve the rendering performance of the actual webview 2017-10-10T04:11:41Z damke quit (Ping timeout: 240 seconds) 2017-10-10T04:11:45Z jmercouris: What OS are you on? 2017-10-10T04:12:34Z damke joined #lisp 2017-10-10T04:14:36Z iqubic: NixOS. It's a linux distro 2017-10-10T04:14:55Z iqubic: Just think of it as Linux. 2017-10-10T04:14:55Z jmercouris: yeah, I know it, should be relatively easy for you to run it if you want 2017-10-10T04:15:14Z damke_ quit (Read error: Connection reset by peer) 2017-10-10T04:15:17Z jmercouris: it's nothing terribly interesting at the moment, but yeah 2017-10-10T04:15:24Z iqubic: I'm busy now, but I'll look at it later, if that's okay. 2017-10-10T04:15:31Z jmercouris: yeah, no rush at all, :) 2017-10-10T04:21:22Z yaocl joined #lisp 2017-10-10T04:21:23Z yaocl quit (Client Quit) 2017-10-10T04:27:28Z PuercoPop quit (Quit: ERC (IRC client for Emacs 25.2.2)) 2017-10-10T04:28:11Z basket quit (Ping timeout: 258 seconds) 2017-10-10T04:32:07Z mson quit (Quit: Connection closed for inactivity) 2017-10-10T04:32:25Z vlatkoB joined #lisp 2017-10-10T04:32:50Z emaczen`: How would I stream video with hunchentoot? 2017-10-10T04:33:32Z emaczen`: I've only ever served data that isn't constantly being updated? I'm confused in terms of that constant change 2017-10-10T04:35:10Z rumbler31 quit (Remote host closed the connection) 2017-10-10T04:37:57Z marcux quit (Ping timeout: 260 seconds) 2017-10-10T04:43:15Z damke_ joined #lisp 2017-10-10T04:45:41Z damke quit (Ping timeout: 240 seconds) 2017-10-10T04:49:48Z yaocl joined #lisp 2017-10-10T04:50:35Z damke joined #lisp 2017-10-10T04:51:01Z eschatologist quit (Ping timeout: 240 seconds) 2017-10-10T04:51:43Z scb quit (Ping timeout: 248 seconds) 2017-10-10T04:52:01Z damke_ quit (Ping timeout: 240 seconds) 2017-10-10T04:52:06Z Bock joined #lisp 2017-10-10T04:52:43Z nika quit 2017-10-10T04:58:37Z eschatologist joined #lisp 2017-10-10T04:58:41Z damke quit (Ping timeout: 240 seconds) 2017-10-10T04:59:17Z yaocl quit (Quit: yaocl) 2017-10-10T05:01:10Z neoncontrails joined #lisp 2017-10-10T05:02:21Z stnutt quit (Ping timeout: 240 seconds) 2017-10-10T05:03:32Z neoncontrails quit (Read error: Connection reset by peer) 2017-10-10T05:03:48Z neoncontrails joined #lisp 2017-10-10T05:03:56Z damke joined #lisp 2017-10-10T05:15:15Z nsrahmad joined #lisp 2017-10-10T05:15:51Z beach: Good morning everyone! 2017-10-10T05:15:59Z jmercouris: Good morning beach 2017-10-10T05:17:21Z iqubic: Morning beach. 2017-10-10T05:20:37Z scb joined #lisp 2017-10-10T05:23:42Z emaczen`: morning beach 2017-10-10T05:23:45Z BlueRavenGT quit (Ping timeout: 248 seconds) 2017-10-10T05:28:30Z damke_ joined #lisp 2017-10-10T05:29:15Z emaczen`: http://paste.lisp.org/display/358171 2017-10-10T05:30:41Z damke quit (Ping timeout: 240 seconds) 2017-10-10T05:32:12Z miatomi quit (Ping timeout: 258 seconds) 2017-10-10T05:37:50Z flip214: eMBee: (hunchentoot:define-easy-handler (video-stream :uri "/stream") () 2017-10-10T05:38:06Z flip214: sorry, the tabs in the source line changed the nickname. 2017-10-10T05:38:08Z flip214: emaczen`: no. 2017-10-10T05:38:21Z flip214: (hunchentoot:define-easy-handler (video-stream :uri "/stream") 2017-10-10T05:38:38Z flip214: should be at top-level. 2017-10-10T05:39:09Z flip214: and I guess that you'll need to use one thread for capturing 2017-10-10T05:39:23Z flip214: and one (started implicitly by hunchentoot) to return the results to the browser 2017-10-10T05:39:37Z damke joined #lisp 2017-10-10T05:39:42Z Karl_Dscc joined #lisp 2017-10-10T05:40:13Z flip214: just store the bytes in some special variable (eg. "*current-frame*") 2017-10-10T05:40:21Z flip214: and return that data from the /stream handler. 2017-10-10T05:40:44Z safe quit (Read error: Connection reset by peer) 2017-10-10T05:41:20Z vtomole quit (Ping timeout: 260 seconds) 2017-10-10T05:41:21Z damke_ quit (Ping timeout: 240 seconds) 2017-10-10T05:41:27Z manny8888 joined #lisp 2017-10-10T05:44:10Z damke_ joined #lisp 2017-10-10T05:44:21Z damke quit (Ping timeout: 240 seconds) 2017-10-10T05:45:40Z jmercouris: what's the best way to transform from the 1st list, to the 2nd list: https://gist.github.com/237e37287765c1682e889aa39e25236d 2017-10-10T05:46:01Z emaczen`: flip214: Does define-easy-handler have to be at the toplevel? 2017-10-10T05:46:37Z ahungry quit (Remote host closed the connection) 2017-10-10T05:46:39Z flip214: emaczen`: well, you'll have to look at the macro expansion to know that. 2017-10-10T05:46:58Z flip214: but generally the (define-) things should or must be. 2017-10-10T05:47:09Z beach: jmercouris: (reduce #'append first-list :from-end t) 2017-10-10T05:47:15Z flip214: but you can just change the "bytes" to a special (defvar *bytes* "") 2017-10-10T05:47:23Z flip214: and move the handler outside. 2017-10-10T05:47:41Z jmercouris: beach: thank you for the response, can you please explain how it works? 2017-10-10T05:48:29Z beach: jmercouris: There might be simpler solutions, but you have only given one example. Do all the sub-lists in the initial case have a single element? Does the first list always have two sub-lists? etc, etc. 2017-10-10T05:48:41Z flip214: (mapcar #'car first-list) 2017-10-10T05:49:09Z jmercouris: beach: the list will always be in that format 2017-10-10T05:49:21Z jmercouris: your solution works fine, I just don't understand how it works 2017-10-10T05:49:43Z beach: jmercouris: Then (list (caar first-list) (cadar first-list)) 2017-10-10T05:50:00Z jmercouris: that is an even more cryptic solution to me :D 2017-10-10T05:50:26Z jmercouris: what is caar and cadar? 2017-10-10T05:50:29Z nika_ joined #lisp 2017-10-10T05:50:31Z beach: jmercouris: Or just '("http://google.com" "http://reddit.com") 2017-10-10T05:50:41Z beach: clhs caar 2017-10-10T05:50:41Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_car_c.htm 2017-10-10T05:50:50Z jmercouris: yeah I saw that 2017-10-10T05:50:58Z jmercouris: doesn't really clarify anything 2017-10-10T05:51:22Z d4ryus1 is now known as d4ryus 2017-10-10T05:51:36Z beach: I think it is time for you to draw some box diagrams with CONS cells. 2017-10-10T05:51:50Z jmercouris: maybe it is... maybe it is, so much to learn still :D 2017-10-10T05:52:01Z damke_ quit (Ping timeout: 240 seconds) 2017-10-10T05:54:06Z damke_ joined #lisp 2017-10-10T05:56:03Z mishoo_ joined #lisp 2017-10-10T05:56:47Z scb quit (Ping timeout: 248 seconds) 2017-10-10T05:57:14Z nsrahmad quit (Ping timeout: 246 seconds) 2017-10-10T05:57:56Z beach: jmercouris: If you draw the box diagram of you first list, you will immediately see the solution. 2017-10-10T05:58:00Z damke joined #lisp 2017-10-10T05:59:01Z beach: jmercouris: And if you don't know the structure of that list in the form of box diagrams, you need to learn it. Otherwise, there are some very fundamental things about Common Lisp that you won't understand. 2017-10-10T05:59:06Z jmercouris: beach: is this a good place to start? http://www.gigamonkeys.com/book/they-called-it-lisp-for-a-reason-list-processing.html 2017-10-10T05:59:06Z smokeink quit (Quit: Lost terminal) 2017-10-10T05:59:08Z emaczen` quit (Read error: Connection reset by peer) 2017-10-10T05:59:16Z flip214: jmercouris: yes. 2017-10-10T05:59:34Z jmercouris: I feel like a user of the language that doesn't understand it 2017-10-10T05:59:37Z beach: That looks good, yes. 2017-10-10T05:59:48Z jmercouris: I don't know, everytime I look at my code it looks just like I've written python with lisp syntax 2017-10-10T06:00:01Z damke_ quit (Ping timeout: 240 seconds) 2017-10-10T06:02:09Z phoe_: jmercouris: it's possible - it takes some time and a lot of code writing/reading/posting it up for others to review to get used to writing somewhat idiomatic Lisp. 2017-10-10T06:03:08Z jmercouris: phoe_: how long would you say it takes on average? 2017-10-10T06:04:20Z scymtym: MetaYan: thank you, that is about the expected speedup. a bit more than in my experiments even 2017-10-10T06:04:26Z phoe_: jmercouris: "it takes a day to learn Lisp, unless you know C, at which point it's three days" 2017-10-10T06:04:55Z phoe_: I have no idea about averages. Just keep on writing Lisp, reading it, and posting it up for review. 2017-10-10T06:05:01Z damke quit (Ping timeout: 240 seconds) 2017-10-10T06:05:01Z damke_ joined #lisp 2017-10-10T06:05:03Z Karl_Dscc quit (Remote host closed the connection) 2017-10-10T06:05:12Z phoe_: And you'll get there at some point in time. 2017-10-10T06:05:17Z yaocl joined #lisp 2017-10-10T06:05:22Z jmercouris: hmm yeah, someday... 2017-10-10T06:05:24Z angavrilov joined #lisp 2017-10-10T06:06:29Z whoman: and reading about it; getting into the zone, the mind set of other lisp coders and it rubs off. 2017-10-10T06:06:31Z beach: To become an expert in just about anything takes around 10000 hours of practice, according to many sources. 2017-10-10T06:07:09Z shrdlu68 joined #lisp 2017-10-10T06:07:33Z jmercouris: 10,000 hours, that's a long time 2017-10-10T06:07:37Z beach: That's a necessary, but not sufficient, condition. If you do it wrong, you will still be a beginner after 10k hours, like most professional software developers. 2017-10-10T06:08:10Z jmercouris: Well, I think I've been definitely programming for over 10,000 hours 2017-10-10T06:08:23Z beach: "In software development, people don't have 10 years of experience. They have 1 year of experience 10 times." 2017-10-10T06:08:30Z jmercouris: I'm not sure if I fall under the "beginner" tag, the imposter syndrome is real 2017-10-10T06:08:31Z scymtym quit (Ping timeout: 248 seconds) 2017-10-10T06:09:01Z beach: Like I said, it's a necessary, but not a sufficient, condition. 2017-10-10T06:09:43Z jmercouris: beach: what would you say separates a beginner programmer from an advanced one? 2017-10-10T06:10:16Z beach: The amount of practice, of course? 2017-10-10T06:10:22Z whoman: dexterity 2017-10-10T06:10:41Z beach: But if you mean two such programmers with the same amount of practice, then "intellectual curiosity". 2017-10-10T06:10:52Z jmercouris: No, that's not what I'm asking 2017-10-10T06:11:00Z dec0n joined #lisp 2017-10-10T06:11:22Z jmercouris: I'm saying something like, what is the difference between an expert and a beginner 2017-10-10T06:11:32Z whoman: when you know the difference, you might not be beginner 2017-10-10T06:11:34Z jmercouris: what kinds of things would a 1 year experience 10 times developer have 2017-10-10T06:11:53Z jmercouris: vs one that had been constantly progressing 2017-10-10T06:12:08Z beach: jmercouris: The one making progress has intellectual curiosity. 2017-10-10T06:12:15Z jmercouris: that is a tautology 2017-10-10T06:12:20Z jmercouris: I'm not asking what defines it 2017-10-10T06:12:28Z jmercouris: I'm asking what are the differences in their outcomes 2017-10-10T06:12:35Z jmercouris: what can the advanced developer do that the beginner cannot 2017-10-10T06:12:37Z shka_: hello 2017-10-10T06:12:43Z beach: jmercouris: So he or she will read code, articles, books, etc. And he or she will try new things, fail, fix it, try again, etc. 2017-10-10T06:13:00Z beach: Hello shka_. 2017-10-10T06:13:01Z damke_ quit (Ping timeout: 240 seconds) 2017-10-10T06:13:01Z jmercouris: that's what they'll do sure, but what CAN they do that the other CANNOT 2017-10-10T06:13:17Z damke joined #lisp 2017-10-10T06:13:18Z sebastien_ joined #lisp 2017-10-10T06:13:24Z zRecursive left #lisp 2017-10-10T06:13:47Z beach: jmercouris: They can write high-quality maintainable code. And they can do it faster. 2017-10-10T06:14:00Z whoman: solve problems [efficiently, tactfully, openly, ..] think of construction work on houses. what would be the difference between an expert builder and a beginner. let's imagine the houses they would each build 2017-10-10T06:14:20Z shka_: "In software development, people don't have 10 years of experience. They have 1 year of experience 10 times." 2017-10-10T06:14:24Z shka_: i like this one :D 2017-10-10T06:14:26Z emaczen` joined #lisp 2017-10-10T06:14:31Z shka_: it is so true it hurts 2017-10-10T06:14:38Z jmercouris: Is it though? 2017-10-10T06:14:48Z beach: shka_: Yes, I have seen it over and over again. 2017-10-10T06:15:18Z shka_: jmercouris: yes 2017-10-10T06:15:21Z jmercouris: I've worked with a lot of developers, and they seem to really know their domain, so idk, maybe it is the kinds of people I work with, or perhaps I am one of them and don't know it 2017-10-10T06:16:17Z shka_: well, yes, if you are staying in your domain 2017-10-10T06:16:38Z jmercouris: But what does it mean to be a good engineer then? 2017-10-10T06:16:46Z beach: jmercouris: Congratulations, you are very lucky. For example, I myself consider it an absolute necessity for a developer who is supposed to write efficient code, to know all about what the compiler is capable of, so he or she needs to know everything about compiler design. 2017-10-10T06:16:48Z jmercouris: should you just know a little of everything? or be an absolute expert in a domain 2017-10-10T06:16:50Z flamebeard joined #lisp 2017-10-10T06:16:53Z damke_ joined #lisp 2017-10-10T06:17:18Z jmercouris: I think I will disagree with that sentiment 2017-10-10T06:17:25Z beach: Of course we do. 2017-10-10T06:17:27Z jmercouris: I think it can be advantageous to know the compiler, but also DETRIMENTAL to know the compiler 2017-10-10T06:17:33Z shka_: jmercouris: i think that not many people can truly stick into one domain 2017-10-10T06:17:40Z waveprop joined #lisp 2017-10-10T06:17:41Z jmercouris: the whole purpose of the compiler is to serve as an abstraction between lower level bytecode and what we're writing 2017-10-10T06:17:56Z jmercouris: as soon as we break that abstraction, we start writing code outside of the spirit of whatever language it is 2017-10-10T06:17:56Z beach: jmercouris: But I know very few developers who even care about what the compiler does. Of course, there are jobs where it doesn't matter if you write efficient code or not. 2017-10-10T06:18:01Z damke quit (Ping timeout: 240 seconds) 2017-10-10T06:18:06Z jmercouris: It's not about writing efficient code 2017-10-10T06:18:10Z jrm quit (Read error: Connection reset by peer) 2017-10-10T06:18:22Z jmercouris: If we wanted the efficiency of things below the compiler, we'd write in assembler 2017-10-10T06:18:26Z shka_: jmercouris: i would rather say that the purpose of the language is to act as mere interface to compiler :] 2017-10-10T06:18:37Z jmercouris: No, the purpose of the language is an abstraction 2017-10-10T06:18:40Z jrm joined #lisp 2017-10-10T06:18:41Z jmercouris: it is not an interface to the compiler 2017-10-10T06:18:52Z jmercouris: It is a made up paradigm, and we should respect the authors intent 2017-10-10T06:18:57Z jmercouris: otherwise we'll work against the language 2017-10-10T06:19:05Z shka_: perhaps we should? 2017-10-10T06:19:09Z shka_: sometimes 2017-10-10T06:19:15Z beach: jmercouris: I think you misunderstand my point. What I see over and over again are developers who don't know what the compiler is capable of, so they write "optimized" code that is not necessary, and can even be worse than the "unoptimized" version. 2017-10-10T06:19:15Z shka_: just to see what happens 2017-10-10T06:19:15Z damke_ quit (Read error: Connection reset by peer) 2017-10-10T06:19:38Z vaporatorius quit (Ping timeout: 246 seconds) 2017-10-10T06:20:06Z jmercouris: beach: yes, I had unerstood something different 2017-10-10T06:20:23Z beach: jmercouris: And, because they have no idea what the compiler is capable of, they either just guess, or they go by rumors that are sometimes several decades old. 2017-10-10T06:20:41Z jmercouris: Yes, I've seen that many times in the python community 2017-10-10T06:21:01Z jmercouris: where bad habits carry over from python 2 to python 3 and the performance of things is vastly different 2017-10-10T06:21:13Z shka_: anyway, I, personally, CONSTANTLY switch domain which comes with a price of being in "I have no idea what i am doing" state most of the time 2017-10-10T06:21:52Z beach: shka_: That's the essence of learning, feeling like a child, basically. 2017-10-10T06:22:06Z jmercouris: In that case, I'm learning all the time :D 2017-10-10T06:22:29Z shka_: but i'm getting professional in "i have no idea what i am doing" handling 2017-10-10T06:22:37Z flip214: jmercouris: I believe the advantage of "advanced programmers" is just that they've seen much more kinds of problems already, 2017-10-10T06:22:44Z flip214: and so have a better idea of what to expect. 2017-10-10T06:22:51Z beach: jmercouris: And I am betting that there are still people who replace functions by macros in C for reasons of efficiency, not knowing that 1. The VAX is no longer a relevant platform, and 2. The compiler can inline functions these days. 2017-10-10T06:23:13Z jmercouris: Probably so 2017-10-10T06:23:22Z jmercouris: beach: what does "MC" in McClim stand for? 2017-10-10T06:23:28Z flip214: what kind of performance different approaches give, what happens when something doesn't work (everything stops, or only some part stops), etc 2017-10-10T06:23:39Z beach: jmercouris: The project was started by Mike McDonald. 2017-10-10T06:23:46Z jmercouris: Ah, I see 2017-10-10T06:23:47Z beach: It's in honor of him. 2017-10-10T06:24:49Z beach: I also think it is a good fit, because to me McNuggets, McGazpacho, etc, suggest "not quite real nuggets", "not quite real gazpacho", so this is "not quite real CLIM". 2017-10-10T06:25:01Z jmercouris: Hmm yeah, nah 2017-10-10T06:25:03Z shka_: excessive inlining is a problem on it's own 2017-10-10T06:25:18Z shka_: you never, ever, want to inline every function call 2017-10-10T06:25:34Z beach: shka_: In fact you can't. 2017-10-10T06:25:42Z jmercouris: I want to make a goto converter that just takes all of your control structures in java and transforms them into gotos 2017-10-10T06:25:47Z jmercouris: inlines functions with gotos etc 2017-10-10T06:25:50Z beach: shka_: Consider a (mutually) recursive function. 2017-10-10T06:26:00Z shka_: beach: good, because if you could, some people would do that 2017-10-10T06:26:33Z jmercouris: beach: how long have you been programming, how long have you been programming in lisp? 2017-10-10T06:26:40Z shka_: jmercouris: but why? 2017-10-10T06:27:03Z beach: jmercouris: 1. Since 1975. 2. Since 1977. 2017-10-10T06:27:04Z shka_: java has JIT compiler that can perform partial inlining and stuff 2017-10-10T06:27:22Z jmercouris: shka_: it was a joke 2017-10-10T06:27:30Z shka_: oh, ok 2017-10-10T06:28:06Z jmercouris: Okay so you have a good 39 year head start on me 2017-10-10T06:29:12Z jmercouris: at least for lisp, I've been doing other programming for 12 years 2017-10-10T06:29:16Z flip214: jmercouris: don't worry about that. 2017-10-10T06:29:28Z flip214: just get started with a good book, everything else will work out fine. 2017-10-10T06:29:37Z jmercouris: flip214: thanks :) 2017-10-10T06:30:03Z jmercouris: beach: Also I keep thinking about what you said about mixing foreign code with the actual data structures in my program 2017-10-10T06:30:26Z jmercouris: It was something about having the actual GUI toolkit in a separate thread communicating over some channel so that the state can never be broken 2017-10-10T06:30:27Z beach: I don't remember what I said. Age, you know. 2017-10-10T06:30:35Z beach: Ah, OK. 2017-10-10T06:30:56Z jmercouris: Maybe I'll do that, it carries an extra degree of complexity to it 2017-10-10T06:31:07Z jmercouris: but it could be worth it, I don't know 2017-10-10T06:31:24Z beach: It depends on your definition of "worth". 2017-10-10T06:31:26Z jmercouris: Especially for performance benefits 2017-10-10T06:31:36Z jmercouris: Well, stability of the program would be nice 2017-10-10T06:31:50Z jmercouris: It would be cool if the GUI could entirely crash, and the program would still function, or if it could be daemonized 2017-10-10T06:32:37Z groovy2shoes quit (Excess Flood) 2017-10-10T06:33:00Z groovy2shoes joined #lisp 2017-10-10T06:33:27Z beach: jmercouris: OK, here is another bit of my experience: Over and over, I find that industry projects decide to use C++ "because we need all the performance we can get". What they don't realize is that that statement is equivalent to this one: "No matter how minuscule a performance advantage we get, we are willing to spend any amount of time, energy, and money, to get it". When they realize that this is what they have actually said, 2017-10-10T06:33:27Z beach: they typically reconsider. 2017-10-10T06:34:15Z jmercouris: Ah yeah, but I'm not discussing a C++ rewrite here 2017-10-10T06:34:31Z shka_: jmercouris: well, you mentioned crashing :D 2017-10-10T06:34:33Z jmercouris: I'll just run webkit in a separate thread and communicate with it over some IPC 2017-10-10T06:34:46Z flip214: jmercouris: to have the GUI and the backend work independently, they'd need to be separate processes. 2017-10-10T06:34:48Z grublet joined #lisp 2017-10-10T06:34:54Z flip214: like a HTTP browser, yeah. 2017-10-10T06:35:01Z beach: jmercouris: And here is another one for you: Most professional software developers know nothing about the factors that determine performance. So again, they guess, or they go by rumors, with huge amounts of wasted time and energy. 2017-10-10T06:35:05Z jmercouris: Well yeah, that's what I'm saying, separate processes with a socket or something between them 2017-10-10T06:35:07Z flip214: but then you're back at web development and won't be using McClim ;) 2017-10-10T06:35:26Z flip214: beach: these are the bad "professionals", though. 2017-10-10T06:35:40Z jmercouris: flip214: I'm not making an electron app don't worry :D 2017-10-10T06:35:44Z jmercouris: flip214: I'm working on a browser 2017-10-10T06:35:44Z rumbler31 joined #lisp 2017-10-10T06:35:46Z flip214: the ones doing it for the money, so to say ;) 2017-10-10T06:36:08Z flip214: jmercouris: so your browser backend would communicate with the frontend via HTTP? ;) 2017-10-10T06:36:11Z beach: flip214: Yes, and most professionals are bad. A "professional" is someone who does something for money, and an "amateur" is someone who does something out of love. By definition. 2017-10-10T06:36:23Z jmercouris: flip214: well, maybe idk, just a thought 2017-10-10T06:36:51Z flip214: beach: well, I'm doing IT "professionally" because I have to support me and my family. 2017-10-10T06:36:54Z groovy2shoes quit (Excess Flood) 2017-10-10T06:37:00Z jmercouris: flip214: Currently my implementation has them both tightly integrated together, I don't understand enough about the libraries I'm using to know if they are on the same thread or not 2017-10-10T06:37:08Z flip214: but with no such constraints I'd still be doing IT, perhaps different parts of it. 2017-10-10T06:37:16Z beach: flip214: It is very unfortunate that "professional" is misunderstood as "good", simply because that is definitely not the case for most people. 2017-10-10T06:37:25Z flip214: beach: right, sadly. 2017-10-10T06:37:28Z groovy2shoes joined #lisp 2017-10-10T06:37:38Z jmercouris: flip214: At any rate, my program can crash (in the lisp sense) and stay running, but if the QT part crashes, it's not nearly as nice of a result :D 2017-10-10T06:37:45Z flip214: I've seen a MSc that didn't know the difference between array, list, set, and hash-tables... 2017-10-10T06:38:04Z beach: flip214: I am not the least bit surprised. 2017-10-10T06:38:04Z flip214: MSc of IT, that is 2017-10-10T06:38:06Z jmercouris: flip214: there is no difference, flip a coin, and then decide to use skip lists 2017-10-10T06:38:26Z jmercouris: MSc of IT is not really a software engineer though, they are just system administrators, no? 2017-10-10T06:38:48Z flip214: jmercouris: no, he sold himself as a developer. 2017-10-10T06:39:04Z jmercouris: I feel like software engineer needs to become a protected term 2017-10-10T06:39:05Z beach: flip214: Worse, I bet people were willing to hire him as such. 2017-10-10T06:39:08Z flip214: because he's done Java for 5 years! 2017-10-10T06:39:13Z jmercouris: we have way way too many coding bootcamp developers... 2017-10-10T06:39:18Z shka_: well, skip lists are kinda cool… 2017-10-10T06:39:23Z shka_: ;-) 2017-10-10T06:39:40Z flip214: beach: well, my previous employer god rid of him again. perhaps a bit because I insisted, too. 2017-10-10T06:39:48Z jmercouris: 5 years of java sounds like some really harsh punishment, what did he do? 2017-10-10T06:39:50Z beach: flip214: Good. 2017-10-10T06:40:12Z flip214: jmercouris: learning it in school. and he was proud of it, so he doesn't deserve any better. 2017-10-10T06:40:26Z Mon_Ouie joined #lisp 2017-10-10T06:40:30Z jmercouris: flip214: It was a joke about java being a crime :P 2017-10-10T06:40:31Z rumbler31 quit (Ping timeout: 248 seconds) 2017-10-10T06:40:42Z flip214: joking aside, this is a case of people knowing so _little_ about IT that they're not able to make informed comparisons. 2017-10-10T06:40:51Z flip214: not even _see_ that they can't. 2017-10-10T06:40:57Z jmercouris: Probably a little bit of dunning kruger here 2017-10-10T06:40:59Z flip214: Dunning-Kruger at its best. 2017-10-10T06:41:02Z flip214: ;) 2017-10-10T06:41:24Z flip214: jmercouris: the problem is that the joke is on the whole industry. 2017-10-10T06:41:28Z jmercouris: I sometimes wonder if the same is not true of myself 2017-10-10T06:41:43Z flip214: jmercouris: if you wonder about that, you're not in the lowest quartile anymore. 2017-10-10T06:41:49Z jmercouris: maybe the people I imagine I am better than are actually better than me, but I have this illusion that I am better than them because I don't know 2017-10-10T06:42:06Z beach: jmercouris: Here is another one for you: I think that every professional software developer should know Common Lisp. Not in order to use it in their job, which is unlikely anyway, but in order to know more techniques for structuring code, and in order to know what they are missing when they use whatever they have to. 2017-10-10T06:42:26Z jmercouris: beach: It's like tasting the nectar of the gods 2017-10-10T06:42:40Z jmercouris: I mean, is it a good thing if you know what you are missing out on? Maybe ignorance is bliss 2017-10-10T06:42:54Z beach: So, in summary, a professional software developer who doesn't know about compiler design, and who doesn't know Common Lisp, is not a great professional software developer. 2017-10-10T06:42:55Z jmercouris: I have been recently annoyed when programming python 2017-10-10T06:43:16Z jmercouris: Well by that definition, I must be a good professional developer :D 2017-10-10T06:43:35Z jmercouris: I "know" common lisp, rather "know of" common lisp lol 2017-10-10T06:43:38Z beach: Not to mention data structures, algorithms, complexity theory, etc. 2017-10-10T06:43:55Z jmercouris: Ah yes, I was always very good at data structures, but never good at time complexity 2017-10-10T06:44:03Z jmercouris: I also had a terrible time with discrete math 2017-10-10T06:44:21Z damke_ joined #lisp 2017-10-10T06:44:32Z beach: And I bet the same people who "need all the performance they can get" are typically ignorant about those things. 2017-10-10T06:45:00Z jmercouris: I don't know, I find it easy to forget these things 2017-10-10T06:45:07Z jmercouris: Without a daily application, I tend to forget them 2017-10-10T06:45:27Z jmercouris: Like, I had to implement a tree, and I couldn't remember how to do rotation transformation to keep it balanced 2017-10-10T06:45:50Z flip214: jmercouris: IMO that's not worthwhile to know. get a library to do that for you. 2017-10-10T06:46:33Z flip214: you'll need to know about various data _structures_ - linked lists, double-linked lists, arrays, hash-tables, binary trees, tries, skip-lists, bloom filters, etc. 2017-10-10T06:46:37Z jmercouris: flip214: Oh yeah, normally you are 100% right, this was a very particular use case 2017-10-10T06:46:42Z beach: Most professional software developers don't need to implement balanced trees. But they need to be "good consumers", i.e. knowing the performance characteristics so that they can choose the right data structure. But they typically don't, as flip214 pointed out. 2017-10-10T06:46:46Z flip214: and a bit of their performance expectations. 2017-10-10T06:47:00Z flip214: then you can use the one matching the problem. 2017-10-10T06:47:25Z jmercouris: I think my favorite thing to do is to invent data structures 2017-10-10T06:47:44Z shka_: beach: well, some WANT to 2017-10-10T06:47:46Z jmercouris: Especially by composting them 2017-10-10T06:47:57Z shka_: data structures are just damn interesting 2017-10-10T06:48:07Z jmercouris: It's very fun when you can get some clever tradeoff by combining several strategies together 2017-10-10T06:48:28Z jmercouris: or even by having the same data reprsented by several structures for performance gains in indexing, search, deletion etc 2017-10-10T06:48:40Z jmercouris: usually the memory of the data structure itself is so light weight that you can do so much 2017-10-10T06:48:43Z flip214: AFAICT, the big problem is not "choosing a red-black tree vs. an AVL tree", but "is it < 10 elements? use a list or simple array. is access needed in O(1)? use a hash-table. etc." (simplified.) 2017-10-10T06:48:49Z beach: shka_: Sure. I am one of them. My Cluffer library is an example of a data structure that I have been working on for a few decades. 2017-10-10T06:48:50Z shka_: personally i don't understand guys that have no clue about that structures because common, this stuff is awesome 2017-10-10T06:49:16Z jmercouris: beach: I thought cluffer was just a buffer library? 2017-10-10T06:49:38Z beach: jmercouris: ILTWYSJ 2017-10-10T06:49:39Z damke joined #lisp 2017-10-10T06:49:56Z flip214: "I love the way you say J"? 2017-10-10T06:50:06Z beach: "just" 2017-10-10T06:50:08Z shka_: it is getting weird :D 2017-10-10T06:50:09Z flip214: yeah ;) 2017-10-10T06:50:25Z flip214: beach: Linux is "just" a kernel, too ;) 2017-10-10T06:50:45Z jmercouris: Well, sure, but I imagine a buffer as just a contiguous memory space 2017-10-10T06:50:53Z shka_: ok, folks, i need to shave, wash myself and by a decent IT professional 2017-10-10T06:50:57Z shka_: see you later! 2017-10-10T06:50:58Z jmercouris: I guess it must grow and shrink to accomodate that, but what else is it? 2017-10-10T06:50:59Z beach: jmercouris: Yeah, think again. 2017-10-10T06:51:09Z jmercouris: shka_: cya 2017-10-10T06:51:23Z shka_ quit (Quit: Konversation terminated!) 2017-10-10T06:51:42Z jmercouris: beach: ah it's not actually a buffer 2017-10-10T06:51:48Z jmercouris: It's a "buffer" in the emacs sense, I see 2017-10-10T06:52:01Z damke_ quit (Ping timeout: 240 seconds) 2017-10-10T06:52:04Z flip214: jmercouris: see eg. https://news.ycombinator.com/item?id=15199642 for some discussions, also the article 2017-10-10T06:52:10Z damke__ joined #lisp 2017-10-10T06:52:17Z beach: It is an "editable sequence" with a very particular use case, namely a text editor. 2017-10-10T06:52:40Z jmercouris: Right yeah, but that's not REALLY a buffer 2017-10-10T06:52:47Z jmercouris: It's a buffer and more 2017-10-10T06:53:27Z beach: I don't think there is a widely agreed-upon definition of "buffer" as an abstract data type. 2017-10-10T06:54:04Z flip214: beach: quick, get a trademark on "Cluffer" for that! 2017-10-10T06:54:24Z flip214: then we only need to create lots of references, and you're good to go! 2017-10-10T06:54:35Z jmercouris: beach: In computer science, a data buffer (or just buffer) is a region of a physical memory storage used to temporarily store data while it is being moved from one place to another 2017-10-10T06:54:40Z jmercouris: beach: https://en.wikipedia.org/wiki/Data_buffer 2017-10-10T06:54:41Z damke quit (Ping timeout: 240 seconds) 2017-10-10T06:57:12Z scottj joined #lisp 2017-10-10T06:57:58Z jmercouris: beach: Anyways, I did not mean to demean your work if it came across that way 2017-10-10T06:58:21Z jmercouris: by saying "just" this library or so 2017-10-10T06:58:30Z jmercouris: so, sorry if I caused offense 2017-10-10T06:58:50Z waveprop left #lisp 2017-10-10T06:59:09Z jmercouris: anyways, goodnight everyone 2017-10-10T06:59:43Z bwv joined #lisp 2017-10-10T07:00:33Z beach: Like water off a duck's back. 2017-10-10T07:02:26Z Zhivago: A buffer need not be a region of physical memory, nor continuous. 2017-10-10T07:02:28Z damke joined #lisp 2017-10-10T07:03:01Z damke__ quit (Ping timeout: 240 seconds) 2017-10-10T07:03:40Z jmercouris quit (Ping timeout: 255 seconds) 2017-10-10T07:04:02Z yaocl quit (Quit: yaocl) 2017-10-10T07:05:57Z zooey quit (*.net *.split) 2017-10-10T07:05:59Z fourier joined #lisp 2017-10-10T07:06:40Z nsrahmad joined #lisp 2017-10-10T07:09:16Z nsrahmad quit (Client Quit) 2017-10-10T07:09:30Z damke_ joined #lisp 2017-10-10T07:11:23Z damke quit (Ping timeout: 252 seconds) 2017-10-10T07:11:52Z shka_ joined #lisp 2017-10-10T07:12:07Z zooey joined #lisp 2017-10-10T07:21:40Z shka_ quit (Ping timeout: 255 seconds) 2017-10-10T07:30:40Z tbarabosch joined #lisp 2017-10-10T07:31:15Z scymtym joined #lisp 2017-10-10T07:33:20Z tbarabosch quit (Client Quit) 2017-10-10T07:33:51Z tbarabosch joined #lisp 2017-10-10T07:40:57Z araujo quit (Ping timeout: 240 seconds) 2017-10-10T07:41:16Z araujo joined #lisp 2017-10-10T07:41:16Z araujo quit (Changing host) 2017-10-10T07:41:16Z araujo joined #lisp 2017-10-10T07:44:02Z pedh quit (Ping timeout: 260 seconds) 2017-10-10T07:47:04Z damke joined #lisp 2017-10-10T07:48:01Z damke_ quit (Ping timeout: 240 seconds) 2017-10-10T07:49:22Z damke_ joined #lisp 2017-10-10T07:49:31Z tbarabosch quit (Quit: Asta la vista) 2017-10-10T07:49:50Z tbarabosch joined #lisp 2017-10-10T07:51:21Z damke quit (Ping timeout: 240 seconds) 2017-10-10T07:53:04Z marcux joined #lisp 2017-10-10T07:55:03Z yaocl joined #lisp 2017-10-10T07:55:21Z damke_ quit (Ping timeout: 240 seconds) 2017-10-10T07:58:31Z damke_ joined #lisp 2017-10-10T07:59:17Z _cosmonaut_ joined #lisp 2017-10-10T08:00:14Z yaocl quit (Quit: yaocl) 2017-10-10T08:04:16Z damke joined #lisp 2017-10-10T08:05:17Z hhdave joined #lisp 2017-10-10T08:05:21Z damke_ quit (Ping timeout: 240 seconds) 2017-10-10T08:06:32Z yaocl joined #lisp 2017-10-10T08:09:06Z damke quit (Ping timeout: 246 seconds) 2017-10-10T08:09:21Z damke_ joined #lisp 2017-10-10T08:13:01Z damke joined #lisp 2017-10-10T08:15:01Z damke_ quit (Ping timeout: 240 seconds) 2017-10-10T08:17:55Z yaocl quit (Quit: yaocl) 2017-10-10T08:19:20Z Sigyn quit (Quit: NO HEARTBEAT, NO SERVICE.) 2017-10-10T08:20:03Z Sigyn joined #lisp 2017-10-10T08:21:41Z damke quit (Ping timeout: 240 seconds) 2017-10-10T08:21:43Z damke_ joined #lisp 2017-10-10T08:22:46Z yaocl joined #lisp 2017-10-10T08:29:21Z quazimodo quit (Ping timeout: 248 seconds) 2017-10-10T08:30:36Z damke joined #lisp 2017-10-10T08:30:43Z rgrau joined #lisp 2017-10-10T08:32:41Z damke_ quit (Ping timeout: 240 seconds) 2017-10-10T08:35:30Z yaocl quit (Quit: yaocl) 2017-10-10T08:36:50Z rumbler31 joined #lisp 2017-10-10T08:38:44Z panji joined #lisp 2017-10-10T08:39:14Z yaocl joined #lisp 2017-10-10T08:41:08Z damke_ joined #lisp 2017-10-10T08:41:46Z Amplituhedron quit (Ping timeout: 255 seconds) 2017-10-10T08:42:35Z rumbler31 quit (Ping timeout: 255 seconds) 2017-10-10T08:43:21Z damke quit (Ping timeout: 240 seconds) 2017-10-10T08:45:01Z marcux quit (Ping timeout: 258 seconds) 2017-10-10T08:46:21Z damke_ quit (Ping timeout: 240 seconds) 2017-10-10T08:48:03Z Amplituhedron joined #lisp 2017-10-10T08:49:25Z raynold quit (Quit: Connection closed for inactivity) 2017-10-10T08:50:19Z attila_lendvai joined #lisp 2017-10-10T08:52:33Z nsrahmad joined #lisp 2017-10-10T08:53:47Z damke joined #lisp 2017-10-10T09:08:47Z nsrahmad quit (Ping timeout: 258 seconds) 2017-10-10T09:08:47Z _cosmonaut_ quit (Ping timeout: 258 seconds) 2017-10-10T09:12:05Z ebzzry quit (Ping timeout: 240 seconds) 2017-10-10T09:12:56Z ebzzry joined #lisp 2017-10-10T09:20:54Z hhdave_ joined #lisp 2017-10-10T09:21:41Z smokeink joined #lisp 2017-10-10T09:21:59Z shka: how to check if stream ended without reading it? 2017-10-10T09:22:02Z hhdave quit (Ping timeout: 260 seconds) 2017-10-10T09:22:02Z hhdave_ is now known as hhdave 2017-10-10T09:22:13Z phoe_: shka: you don't 2017-10-10T09:22:17Z phoe_: PEEK-CHAR might be able to help 2017-10-10T09:22:24Z phoe_: but that's basically read + unread. 2017-10-10T09:22:25Z shka: "might" 2017-10-10T09:23:23Z phoe_: in other words, you don't. READ is able to return a special EOF value if it encounters an end of file. 2017-10-10T09:25:44Z attila_lendvai quit (Quit: Leaving.) 2017-10-10T09:26:12Z _cosmonaut_ joined #lisp 2017-10-10T09:28:21Z vhost- quit (Ping timeout: 240 seconds) 2017-10-10T09:29:07Z p_l: Zhivago: a buffer might not even be inside the computer :^) 2017-10-10T09:29:36Z m00natic joined #lisp 2017-10-10T09:30:06Z vhost- joined #lisp 2017-10-10T09:44:01Z manny8888 quit (Ping timeout: 248 seconds) 2017-10-10T09:57:05Z ebzzry quit (Ping timeout: 258 seconds) 2017-10-10T09:57:40Z yaocl quit (Quit: yaocl) 2017-10-10T10:00:59Z fourier: phoe_: i've created some pull request for your ccl-compat 2017-10-10T10:03:35Z Mon_Ouie quit (Ping timeout: 240 seconds) 2017-10-10T10:04:15Z nika_ quit (Remote host closed the connection) 2017-10-10T10:04:56Z nika_ joined #lisp 2017-10-10T10:09:17Z nika_ quit (Ping timeout: 260 seconds) 2017-10-10T10:20:01Z Xal quit (Ping timeout: 240 seconds) 2017-10-10T10:23:07Z Xal joined #lisp 2017-10-10T10:23:56Z nika_ joined #lisp 2017-10-10T10:26:03Z phoe_: fourier: let me take a lok 2017-10-10T10:26:05Z phoe_: look 2017-10-10T10:26:24Z fourier: (im furych from reddit as well) 2017-10-10T10:26:43Z deba5e12 joined #lisp 2017-10-10T10:26:57Z phoe_: fourier: I have no means to test it on my own machine. Can you load CCLDOC with your version of CCL-COMPAT on LispWorks? 2017-10-10T10:27:20Z fourier: the ccl doc will work with these changes and https://github.com/Clozure/ccldoc/pull/9 2017-10-10T10:27:32Z phoe_: Oh, so there's a PR on CCLDOC as well. 2017-10-10T10:27:34Z fourier: i tested sbcl, ccl and lispworks 2017-10-10T10:28:11Z fourier: they produce almost identical results with 2 exceptions: the class block in documentation is ccldoc:block now and

is on a newline in sbcl documentation 2017-10-10T10:28:38Z phoe_: fourier: yes, I see - I ran into the BLOCK issue myself. 2017-10-10T10:28:42Z damke_ joined #lisp 2017-10-10T10:29:24Z phoe_: I am worried about NEQ removal - CCLDOC uses it, from what I remember. 2017-10-10T10:29:25Z fourier: I decided just to shadow it 2017-10-10T10:29:32Z fourier: no, you have it twice 2017-10-10T10:29:34Z phoe_: fourier: yes, I see, it's a sane decision. 2017-10-10T10:29:37Z phoe_: Oooh. I see. 2017-10-10T10:30:37Z phoe_: Merged. Thanks! 2017-10-10T10:30:41Z damke quit (Ping timeout: 240 seconds) 2017-10-10T10:31:01Z deba5e12 quit (Ping timeout: 240 seconds) 2017-10-10T10:31:09Z fourier: no problem! would be happy to use ccldoc with my code. guess "choice of documentation system" problem is solved for me now :) 2017-10-10T10:31:29Z damke joined #lisp 2017-10-10T10:31:30Z phoe_: fourier: exactly our thoughts. our, as in, the group of people that are hacking away at CLUS. 2017-10-10T10:32:28Z phoe_: just one question remains: if ccldoc runs not only on ccl now, does it become just "doc"? 2017-10-10T10:32:32Z phoe_ mic drops, walks out 2017-10-10T10:33:03Z deba5e12 joined #lisp 2017-10-10T10:33:11Z fourier: its their development after all, hope they will continue to support it and we will just occasionally provide patches :) 2017-10-10T10:33:41Z damke_ quit (Ping timeout: 240 seconds) 2017-10-10T10:33:43Z phoe_: I know, I know. CCLDOC is still integrated tightly with CCL, and I had to explicitly stub out some functionalities such as source tracking. 2017-10-10T10:34:22Z flip214: phoe_: can't the source tracking stuff be portably solved via swank functionality? 2017-10-10T10:34:59Z phoe_: flip214: it does not work this way. CCLDOC does not use source tracking itself. It only provides input to CCL's source tracking functionalities. 2017-10-10T10:35:32Z phoe_: So it's CCLDOC -> CCL, and not the other way around. 2017-10-10T10:36:19Z damke_ joined #lisp 2017-10-10T10:36:41Z damke quit (Ping timeout: 240 seconds) 2017-10-10T10:37:52Z deba5e12 quit (Ping timeout: 255 seconds) 2017-10-10T10:39:26Z rumbler31 joined #lisp 2017-10-10T10:39:49Z damke joined #lisp 2017-10-10T10:42:01Z damke_ quit (Ping timeout: 240 seconds) 2017-10-10T10:43:18Z damke_ joined #lisp 2017-10-10T10:43:45Z rumbler31 quit (Ping timeout: 248 seconds) 2017-10-10T10:44:23Z Mon_Ouie joined #lisp 2017-10-10T10:45:41Z damke quit (Ping timeout: 240 seconds) 2017-10-10T10:49:50Z nirved joined #lisp 2017-10-10T10:59:49Z damke joined #lisp 2017-10-10T11:00:01Z damke_ quit (Ping timeout: 240 seconds) 2017-10-10T11:02:30Z deba5e12 joined #lisp 2017-10-10T11:02:39Z damke_ joined #lisp 2017-10-10T11:03:28Z kushal quit (Ping timeout: 240 seconds) 2017-10-10T11:04:01Z damke quit (Ping timeout: 240 seconds) 2017-10-10T11:05:21Z kushal joined #lisp 2017-10-10T11:05:44Z kushal is now known as Guest55037 2017-10-10T11:11:09Z damke joined #lisp 2017-10-10T11:13:00Z nika_ quit (Remote host closed the connection) 2017-10-10T11:13:33Z damke_ quit (Ping timeout: 246 seconds) 2017-10-10T11:18:07Z flip214 quit (Ping timeout: 260 seconds) 2017-10-10T11:18:19Z flip214 joined #lisp 2017-10-10T11:21:01Z damke quit (Ping timeout: 240 seconds) 2017-10-10T11:22:33Z damke joined #lisp 2017-10-10T11:23:09Z pjb joined #lisp 2017-10-10T11:27:01Z damke quit (Ping timeout: 240 seconds) 2017-10-10T11:28:27Z damke joined #lisp 2017-10-10T11:38:20Z fourier quit (Ping timeout: 260 seconds) 2017-10-10T11:39:45Z marvin2 joined #lisp 2017-10-10T11:40:35Z elts joined #lisp 2017-10-10T11:45:44Z Bike joined #lisp 2017-10-10T11:46:42Z deba5e12 quit (Ping timeout: 260 seconds) 2017-10-10T11:51:49Z yaocl joined #lisp 2017-10-10T11:52:09Z igemnace quit (Quit: WeeChat 1.9.1) 2017-10-10T11:53:59Z rumbler31 joined #lisp 2017-10-10T11:55:04Z damke quit (Read error: Connection reset by peer) 2017-10-10T11:55:37Z rumbler31 quit (Remote host closed the connection) 2017-10-10T11:57:03Z margeas joined #lisp 2017-10-10T11:58:06Z dddddd joined #lisp 2017-10-10T11:58:14Z tbarabosch quit (Remote host closed the connection) 2017-10-10T11:59:15Z TCZ joined #lisp 2017-10-10T12:03:50Z yaocl quit (Quit: yaocl) 2017-10-10T12:04:44Z al-damiri joined #lisp 2017-10-10T12:05:10Z TCZ quit (Quit: Leaving) 2017-10-10T12:05:18Z yaocl joined #lisp 2017-10-10T12:05:52Z varjag joined #lisp 2017-10-10T12:11:58Z deba5e12 joined #lisp 2017-10-10T12:12:02Z Oladon1 joined #lisp 2017-10-10T12:12:21Z deba5e12 quit (Client Quit) 2017-10-10T12:12:39Z deba5e12 joined #lisp 2017-10-10T12:14:03Z deba5e12 quit (Client Quit) 2017-10-10T12:14:19Z deba5e12 joined #lisp 2017-10-10T12:14:37Z Oladon quit (Ping timeout: 255 seconds) 2017-10-10T12:25:43Z Guest55037 is now known as kushal 2017-10-10T12:25:49Z kushal quit (Changing host) 2017-10-10T12:25:49Z kushal joined #lisp 2017-10-10T12:30:27Z Bike quit (Ping timeout: 260 seconds) 2017-10-10T12:33:05Z yaocl quit (Quit: yaocl) 2017-10-10T12:43:34Z akovalenko joined #lisp 2017-10-10T12:45:49Z Josh_2 joined #lisp 2017-10-10T12:47:10Z yaocl joined #lisp 2017-10-10T12:50:48Z m00natic quit (Remote host closed the connection) 2017-10-10T12:56:06Z user|2 joined #lisp 2017-10-10T13:00:30Z Bike joined #lisp 2017-10-10T13:03:11Z rumbler31 joined #lisp 2017-10-10T13:05:24Z yaocl quit (Quit: yaocl) 2017-10-10T13:05:27Z sjl quit (Ping timeout: 260 seconds) 2017-10-10T13:06:22Z yaocl joined #lisp 2017-10-10T13:06:37Z akovalenko quit (Ping timeout: 260 seconds) 2017-10-10T13:07:08Z damke joined #lisp 2017-10-10T13:09:00Z mson joined #lisp 2017-10-10T13:09:25Z yeticry_ joined #lisp 2017-10-10T13:11:05Z hexfive joined #lisp 2017-10-10T13:12:01Z yeticry quit (Ping timeout: 248 seconds) 2017-10-10T13:12:12Z flamebeard quit (Quit: Leaving) 2017-10-10T13:13:01Z user|2: i was thinking about learning lisp but dont you need a mega memory to remember all those parentheses and is prolog better or another language for AI these days? 2017-10-10T13:13:43Z beach: user|2: Common Lisp is not particularly for AI. It is a general-purpose programming language supporting multiple paradigms. 2017-10-10T13:13:53Z Josh_2: The parentheses are easy, a decent editor will help you get them correct. 2017-10-10T13:15:17Z varjag: and AI problems aren't programming language problems 2017-10-10T13:15:39Z LiamH joined #lisp 2017-10-10T13:16:11Z wxie joined #lisp 2017-10-10T13:17:42Z beach: user|2: Experienced Common Lisp programmers don't count parentheses. They go by indentation. The editor computes the indentation based on the nested parenthesis. You see a mistake almost immediately. 2017-10-10T13:17:49Z vancan1ty joined #lisp 2017-10-10T13:18:29Z rumbler31 quit (Remote host closed the connection) 2017-10-10T13:18:47Z Josh_2: They float away. I'll see if I can find the xkcd. https://xkcd.com/297/ 2017-10-10T13:18:51Z yeticry joined #lisp 2017-10-10T13:19:22Z Josh_2: Or this https://www.xkcd.com/224/ 2017-10-10T13:21:01Z yeticry_ quit (Read error: Connection reset by peer) 2017-10-10T13:21:36Z micro_ joined #lisp 2017-10-10T13:21:44Z iqubic quit (Ping timeout: 246 seconds) 2017-10-10T13:23:47Z phoe_: user|2: lispers never count parens or indent their code. It's their editor's job to do that. 2017-10-10T13:23:54Z pjb: pearl is dead. 2017-10-10T13:24:04Z phoe_: pjb: so is Lisp. 2017-10-10T13:24:16Z jdz: Yes, people have even forgot how it's spelled. 2017-10-10T13:24:18Z pjb: Nope. We still program in lisp. 2017-10-10T13:24:27Z wxie quit (Quit: Bye.) 2017-10-10T13:24:37Z user|2: thanks for that now i'm not so scared of trying to learn it. and those scary register names... 2017-10-10T13:24:37Z phoe_: pjb: and people still program in Perl. 2017-10-10T13:24:42Z shrdlu68: It's amazing how esoteric Lisp looks from some outsiders' perspective. 2017-10-10T13:24:44Z phoe_: user|2: register names? 2017-10-10T13:24:59Z xantoz: car cdr, probably 2017-10-10T13:25:01Z jdz: Address register, Decrement register. 2017-10-10T13:25:02Z phoe_: car and cdr, you mean? Feel free to use FIRST and REST instead. 2017-10-10T13:25:04Z Josh_2: user|2: If you already know how to program in other languages I don't think you'll have any problems. 2017-10-10T13:25:05Z pjb: phoe_: nope, they've switched to python. 2017-10-10T13:25:11Z user|2: yeah something like %r 2017-10-10T13:25:16Z phoe_: wait, %r? 2017-10-10T13:25:18Z user|2: ok that's good news 2017-10-10T13:25:27Z phoe_: Where did you get %r from? 2017-10-10T13:25:32Z shrdlu68: That sounds like asm. 2017-10-10T13:25:40Z jdz: clhs disassemble 2017-10-10T13:25:40Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_disass.htm 2017-10-10T13:25:46Z user|2: because i am desparate to make something intelligent that can learn 2017-10-10T13:26:03Z phoe_: user|2: I still don't know where you can find a %r in Lisp though. 2017-10-10T13:26:05Z user|2: and this may even in 2017 be the right language 2017-10-10T13:26:36Z Josh_2: CL is the right language for hard things (and all things) 2017-10-10T13:26:42Z user|2: maybe prolog or i have named it wrong what i'm talking about but it seemed really arcane and non descriptive 2017-10-10T13:27:43Z phoe_: Prolog is pretty peculiar and has a very hard-defined programming paradigm. Common Lisp is much more freeform when it comes to programming paradigms. 2017-10-10T13:27:47Z shrdlu68: user|2: Prolog is quite different from most languages, even more so than Common Lisp. 2017-10-10T13:28:10Z user|2: ok 2017-10-10T13:28:13Z phoe_: shrdlu68: true. 2017-10-10T13:28:14Z phoe_: :) 2017-10-10T13:29:14Z phoe_: like that old joke, a Prolog programmer and his wife had a baby, and they asked him, "is it a boy or a girl?", and he answered, "true" 2017-10-10T13:29:45Z phoe_: and once you understand that joke, then you have understood the basics of prolog 2017-10-10T13:30:48Z shrdlu68: user|2: If you're interested in it (python), learn it by all means. But Common Lisp is mostly just like any other language. Build webapps in it, write boring systems code in it, write skynet, write boring sysadmin scripts in it, write other languages in it...it's no more esoteric or domain-specific than, say, Python. 2017-10-10T13:31:00Z yaocl quit (Quit: yaocl) 2017-10-10T13:31:07Z Josh_2: "write skynet" 2017-10-10T13:31:16Z jdz: Among other things. 2017-10-10T13:31:44Z user|2: i heard yahoo used lisp 2017-10-10T13:32:07Z jdz: Nah. 2017-10-10T13:32:10Z Josh_2: Not publicly. 2017-10-10T13:32:16Z Josh_2: They rewrote viaweb 2017-10-10T13:32:23Z Josh_2: I think that's the name :O 2017-10-10T13:32:26Z jdz: In C++. 2017-10-10T13:32:36Z shrdlu68: user|2: I meant if you're interested in prolog above, don't know how python managed to sneak in there. 2017-10-10T13:32:36Z jdz: Took them some effort, though. 2017-10-10T13:32:39Z pjb: google bought ita software and uses sbcl to run it's travel stuff. 2017-10-10T13:32:55Z Josh_2: jdz: that's pretty much blasphemy... 2017-10-10T13:35:02Z yaocl joined #lisp 2017-10-10T13:41:44Z user|2 quit (Quit: KVIrc 4.9.2 Aria http://www.kvirc.net/) 2017-10-10T13:43:31Z igemnace joined #lisp 2017-10-10T13:50:55Z Josh_2 quit (Ping timeout: 248 seconds) 2017-10-10T13:51:22Z shka: what a shame that ccldoc was ported just now 2017-10-10T13:51:32Z vancan1ty quit (Ping timeout: 260 seconds) 2017-10-10T13:51:52Z shka: otherwise, i may not spend my time to develop my own custom documentation generator system 2017-10-10T13:58:17Z Sigyn quit (Quit: NO HEARTBEAT, NO SERVICE.) 2017-10-10T13:58:48Z Sigyn joined #lisp 2017-10-10T13:58:52Z Sigyn quit (Read error: Connection reset by peer) 2017-10-10T13:59:02Z phoe_: shka: :) 2017-10-10T13:59:46Z Sigyn joined #lisp 2017-10-10T14:00:53Z Sigyn quit (Remote host closed the connection) 2017-10-10T14:01:21Z Sigyn joined #lisp 2017-10-10T14:01:22Z phoe_: you could have ported it yourself, was two evenings of work 2017-10-10T14:01:31Z Sigyn quit (Remote host closed the connection) 2017-10-10T14:01:43Z yaocl quit (Quit: yaocl) 2017-10-10T14:02:22Z Sigyn joined #lisp 2017-10-10T14:02:23Z smokeink quit (Quit: leaving) 2017-10-10T14:02:27Z yaocl joined #lisp 2017-10-10T14:03:17Z phoe_: Now that it's portable, I'll want to use CCLDOC in my PROTEST project. 2017-10-10T14:03:31Z foom2 is now known as foom 2017-10-10T14:03:47Z shka: phoe_: or i could spend two weeks writing cl-lore 2017-10-10T14:04:13Z phoe_: shka: I don't even know what it is, there's no README 2017-10-10T14:04:26Z shka: ofc not! 2017-10-10T14:04:38Z phoe_: https://github.com/sirherrbatka/cl-lore/blob/master/cl-lore.asd#L8 there's no email, yuck 2017-10-10T14:04:41Z shka: i don't have time to document it because i have to document cl-data-structures! 2017-10-10T14:05:53Z neoncontrails quit (Ping timeout: 248 seconds) 2017-10-10T14:05:58Z shka: phoe_: don't judge me :P 2017-10-10T14:10:35Z yaocl quit (Quit: yaocl) 2017-10-10T14:14:01Z yaocl joined #lisp 2017-10-10T14:14:06Z Sigyn quit (Quit: NO HEARTBEAT, NO SERVICE.) 2017-10-10T14:15:02Z Sigyn joined #lisp 2017-10-10T14:16:23Z EvW joined #lisp 2017-10-10T14:17:02Z phoe_: shka: I have readme on PROTEST :) 2017-10-10T14:17:38Z shka: i have docs for cl-ds :P 2017-10-10T14:17:38Z stnutt joined #lisp 2017-10-10T14:18:13Z alexmlw quit (Remote host closed the connection) 2017-10-10T14:26:52Z yrk joined #lisp 2017-10-10T14:28:15Z yaocl quit (Quit: yaocl) 2017-10-10T14:29:27Z panji quit (Ping timeout: 260 seconds) 2017-10-10T14:29:39Z Josh_2 joined #lisp 2017-10-10T14:35:22Z Josh_2: beach: how do I add (optimize (speed 0) (debug 3) (safety 3)) to .sbclrc I get an error when I place it as is into the file 2017-10-10T14:35:40Z beach: clhs proclaim 2017-10-10T14:35:41Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_procla.htm 2017-10-10T14:35:58Z beach: clhs declaim 2017-10-10T14:35:58Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/m_declai.htm 2017-10-10T14:36:03Z beach: I have (declaim (optimize (speed 0) (debug 3) (safety 3))) 2017-10-10T14:36:59Z Josh_2: ahh see I tried (declare ) but that is for local declarations. Thanks! 2017-10-10T14:37:06Z beach: Sure. 2017-10-10T14:39:14Z wigust joined #lisp 2017-10-10T14:39:44Z stnutt quit (Remote host closed the connection) 2017-10-10T14:41:34Z panji joined #lisp 2017-10-10T14:41:51Z panji quit (Client Quit) 2017-10-10T14:44:01Z damke quit (Ping timeout: 240 seconds) 2017-10-10T14:46:59Z hjudt left #lisp 2017-10-10T14:48:37Z damke joined #lisp 2017-10-10T14:48:58Z jdz: Josh_2: SBCL also has sb-ext:restrict-compiler-policy which overrides usual declarations. 2017-10-10T14:49:19Z jdz: I find it very useful to deal with code that loves to declare SAFETY 0. 2017-10-10T14:53:13Z hjudt joined #lisp 2017-10-10T14:54:23Z grublet quit (Ping timeout: 248 seconds) 2017-10-10T14:54:29Z sz0 joined #lisp 2017-10-10T14:57:05Z Josh_2: Thanks 2017-10-10T14:57:28Z Josh_2: I haven't done a lot of work with other libraries yet, but I'll add it to my .sbclrc and comment it out for later 2017-10-10T14:57:41Z Josh_2: That way I know 2017-10-10T14:57:44Z m00natic joined #lisp 2017-10-10T14:58:41Z rumbler31 joined #lisp 2017-10-10T15:00:26Z vap1 joined #lisp 2017-10-10T15:00:29Z vaporatorius joined #lisp 2017-10-10T15:02:38Z damke_ joined #lisp 2017-10-10T15:04:21Z damke quit (Ping timeout: 240 seconds) 2017-10-10T15:04:29Z varjag quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2017-10-10T15:06:12Z rippa joined #lisp 2017-10-10T15:07:08Z EvW quit (Remote host closed the connection) 2017-10-10T15:07:09Z nika joined #lisp 2017-10-10T15:07:19Z EvW1 joined #lisp 2017-10-10T15:10:21Z damke_ quit (Ping timeout: 240 seconds) 2017-10-10T15:11:52Z damke_ joined #lisp 2017-10-10T15:12:17Z EvW1 quit (Ping timeout: 255 seconds) 2017-10-10T15:12:51Z cioran89 joined #lisp 2017-10-10T15:16:18Z LAG_ quit (Quit: Connection closed for inactivity) 2017-10-10T15:17:42Z vap1 quit (Quit: Leaving) 2017-10-10T15:19:06Z rumbler3_ joined #lisp 2017-10-10T15:19:17Z damke joined #lisp 2017-10-10T15:19:47Z terpri joined #lisp 2017-10-10T15:20:57Z damke__ joined #lisp 2017-10-10T15:21:41Z damke_ quit (Ping timeout: 240 seconds) 2017-10-10T15:23:30Z cioran89 quit (Remote host closed the connection) 2017-10-10T15:23:41Z damke quit (Ping timeout: 240 seconds) 2017-10-10T15:23:48Z rumbler3_ quit (Ping timeout: 246 seconds) 2017-10-10T15:23:50Z Josh_2: Okay, so I'm back to trying to figure out the condition system. I have this here code http://paste.lisp.org/display/358222 and it lets me invoke restarts from the debugger, how do I change it so it is automatic? 2017-10-10T15:24:01Z phoe_: clhs invoke-restart 2017-10-10T15:24:02Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_invo_1.htm 2017-10-10T15:24:03Z Josh_2: It looks like I'm doing it the same as in PCL but it isn't automatic 2017-10-10T15:24:11Z Josh_2: I've got invoke-restart. 2017-10-10T15:24:20Z Bike: josh, we tried to explain in detail why you're not doing it the same as in PCL 2017-10-10T15:24:24Z damke joined #lisp 2017-10-10T15:24:41Z rogersm joined #lisp 2017-10-10T15:24:46Z Bike: i see you've changed it since then 2017-10-10T15:24:55Z Bike: you seem to be confusing errors and restarts 2017-10-10T15:25:04Z Bike: you have (error 'nil-value) and (invoke-restart 'nil-value) 2017-10-10T15:25:10Z Josh_2: hmm 2017-10-10T15:25:20Z Bike: your error condition is called num-is-nil-error, not nil-value 2017-10-10T15:25:35Z Bike: so you should have (error 'num-is-nil-error) 2017-10-10T15:25:40Z Josh_2: ahh that was a mistake 2017-10-10T15:26:12Z Bike: you have restart-bind case with a restart called return-nil, but refer to return-nil nowhere else 2017-10-10T15:26:21Z Bike: probably (invoke-restart 'nil-value) should be (invoke-restart 'return-nil) 2017-10-10T15:26:37Z Bike: when you run this, did you not get an error like "No condition class nil-value"? 2017-10-10T15:26:49Z Josh_2: No 2017-10-10T15:26:53Z Josh_2: I'll double check 2017-10-10T15:27:01Z damke__ quit (Ping timeout: 240 seconds) 2017-10-10T15:27:06Z Bike: well anyway that's the main stuff. brb 2017-10-10T15:27:12Z Josh_2: I get "Condition COMMON-LISP-USER::NUM-IS-NIL-ERROR was signalled." 2017-10-10T15:27:25Z Josh_2: Then I can manually invoke the restart 2017-10-10T15:29:34Z bigdaddytank joined #lisp 2017-10-10T15:30:28Z bigdaddytank quit (Remote host closed the connection) 2017-10-10T15:31:18Z bigdaddytank joined #lisp 2017-10-10T15:33:04Z bigdaddytank quit (Client Quit) 2017-10-10T15:34:04Z lounge-user22 joined #lisp 2017-10-10T15:34:09Z pmetzger joined #lisp 2017-10-10T15:35:21Z beach: Josh_2: The docstring on RANDOM-NUM seems wrong. 2017-10-10T15:35:27Z Xal quit (Ping timeout: 248 seconds) 2017-10-10T15:35:28Z beach: Josh_2: Or the implementation. 2017-10-10T15:36:07Z Josh_2: It's a little off 2017-10-10T15:37:39Z Josh_2: Changed it my end 2017-10-10T15:37:55Z Josh_2: "returns a random number between 0 and 100. I the number is a multiple of 5 this will raise an error and return the value of nil" 2017-10-10T15:38:04Z Xal joined #lisp 2017-10-10T15:38:21Z beach: Josh_2: You don't "raise" errors in Common Lisp. You "signal" them. 2017-10-10T15:38:37Z Josh_2: true 2017-10-10T15:38:39Z beach: Josh_2: I think you have your abstractions wrong. 2017-10-10T15:39:04Z beach: RANDOM-NUM does not return if the number generated is a multiple of 5. 2017-10-10T15:39:54Z Josh_2: Hmm 2017-10-10T15:40:28Z carenz_ joined #lisp 2017-10-10T15:40:30Z Josh_2: It's handled higher up so the value returned is just ignored and a nil is put in it's place? 2017-10-10T15:40:36Z Josh_2: something like that 2017-10-10T15:40:52Z Josh_2: Because there is actually an error, not a returned value. 2017-10-10T15:40:54Z beach: Maybe so, but then you are definitely breaking the abstraction barriers. 2017-10-10T15:41:05Z Josh_2: I don't know what that means. 2017-10-10T15:41:15Z beach: And you are definitely giving the wrong documentation in the docstring. 2017-10-10T15:41:57Z beach: It means that a function should have a well-defined specification that depends on other functions as little as possible. 2017-10-10T15:42:00Z Josh_2: How about this one "returns a random number between 0 and 100, or signals an error if generated number is a multiple of 5" 2017-10-10T15:42:26Z beach: Sort of.... 2017-10-10T15:42:34Z shka: uhm 2017-10-10T15:42:36Z shka: but why? 2017-10-10T15:42:55Z Josh_2: why what? 2017-10-10T15:43:07Z shka: "returns a random number between 0 and 100, or signals an error if generated number is a multiple of 5" 2017-10-10T15:43:19Z beach: "Returns a random number between 0 and 100 that is never a multiple of 5. Around 20% of the time, it signals an error of type NIL-VALUE." 2017-10-10T15:43:20Z shka: randomly signaled error? 2017-10-10T15:43:21Z damke quit (Ping timeout: 240 seconds) 2017-10-10T15:43:23Z shka: why? 2017-10-10T15:43:32Z beach: What "generated number"? 2017-10-10T15:43:33Z igemnace quit (Read error: Connection reset by peer) 2017-10-10T15:43:38Z beach: That's part of the implementation. 2017-10-10T15:43:53Z shka: riiiiiight 2017-10-10T15:44:09Z igemnace joined #lisp 2017-10-10T15:44:13Z shka: no idea why anybody would need that 2017-10-10T15:44:18Z Josh_2: No one does need that 2017-10-10T15:44:36Z igemnace quit (Read error: Connection reset by peer) 2017-10-10T15:44:36Z Josh_2: I'm trying to learn to use the condition system, so I'm creating an unexpected situation 2017-10-10T15:44:42Z shka: aaah, ok 2017-10-10T15:45:18Z igemnace joined #lisp 2017-10-10T15:45:42Z Josh_2: Changed to "an error of type 'num-is-nil-error" still stuck though. 2017-10-10T15:45:50Z FreeBirdLjj joined #lisp 2017-10-10T15:46:31Z beach: Josh_2: Here is how to think about signals and restarts. Some low-level code detects a situation it can't handle, but it does not know what to do with it, so it signals an error. But it has several possibilities of continuing, except that it is unable to choose which one is appropriate. 2017-10-10T15:46:32Z beach: Higher level code invokes the lower-level code, knowing how to continue in case of a problematic situation. So higher-level code does a handler-bind in which it invokes the appropriate restart. 2017-10-10T15:46:57Z Josh_2: Haven't I done that? 2017-10-10T15:47:10Z beach: Josh_2: So in your code, what is the lower-level processing and what is the higher level code that invokes it? 2017-10-10T15:47:51Z shka: Josh_2: https://pastebin.com/sR4xhpDr real word example 2017-10-10T15:47:54Z beach: Josh_2: LIST-NUMBER says it creates a list of length len from numbers generated by func. 2017-10-10T15:48:01Z shka: throw away code, so not exactly pretty 2017-10-10T15:48:14Z beach: Josh_2: Why on earth would LIST-NUMBER have a restart-case then? 2017-10-10T15:48:31Z beach: Josh_2: What situation is it that list-number detects that it can not handle? 2017-10-10T15:49:16Z beach: Josh_2: From the example I gave you, LIST-NUMBER must be the lower-level code, but I don't see it detecting any situations it can not handle. 2017-10-10T15:49:40Z edgar-rft quit (Quit: edgar-rft) 2017-10-10T15:51:33Z Josh_2: Right 2017-10-10T15:51:39Z Josh_2: One minute 2017-10-10T15:52:10Z minion quit (Remote host closed the connection) 2017-10-10T15:52:16Z minion joined #lisp 2017-10-10T15:53:27Z LiamH quit (Ping timeout: 260 seconds) 2017-10-10T15:53:35Z Josh_2: return-type-of-predicate will have a problem when it tries to evaluate (evenp nil) 2017-10-10T15:54:09Z deba5e12 quit (Ping timeout: 248 seconds) 2017-10-10T15:55:16Z beach: The name and the docstring of return-type-of-predicate do not agree. Is it supposed to filter the elements of the LIST argument and return only those for which the predicate returns true? 2017-10-10T15:55:50Z Josh_2: yes 2017-10-10T15:56:03Z beach: So you need to say that, and you need to rename it. 2017-10-10T15:56:03Z LiamH joined #lisp 2017-10-10T15:56:19Z beach: But, it is none of the business of that function to check whether predicate has a problem. 2017-10-10T15:56:28Z carenz_ quit (Ping timeout: 255 seconds) 2017-10-10T15:56:44Z beach: If you do that, you need to check that predicate is a function, that it is a function that accepts exactly one argument, etc, etc. 2017-10-10T15:56:54Z beach: That's what I mean by getting the abstractions wrong. 2017-10-10T15:56:55Z Josh_2: Well the predicate returns an error if you give it a nil 2017-10-10T15:57:08Z Josh_2: or it signals a condition of type integer 2017-10-10T15:57:10Z beach: But things will break if the predicate is not a function as well. 2017-10-10T15:57:21Z beach: Why don't you test for that as well? 2017-10-10T15:57:37Z beach: I know why. Because it should not be done in this function. 2017-10-10T15:57:54Z Josh_2: O geez 2017-10-10T15:58:01Z beach: It is the predicate that has a problem. Not the function calling it. 2017-10-10T15:58:28Z Josh_2: Yah so don't I wrap the predicate in a (restart-case ..? 2017-10-10T15:58:57Z igemnace quit (Read error: Connection reset by peer) 2017-10-10T15:58:58Z beach: But you do that in return-type-of-predicate which is wrong. You should do it in the code for the predicate. 2017-10-10T15:59:14Z Josh_2: But It is the built in predicate I'm using 2017-10-10T15:59:20Z beach: You need to wrap evenp in a function that handles the error and proposes a restart. 2017-10-10T15:59:33Z Josh_2: O 2017-10-10T15:59:36Z Josh_2: hmm 2017-10-10T15:59:37Z beach: (defun my-evenp (thing) (restart-case ....)) 2017-10-10T15:59:51Z igemnace joined #lisp 2017-10-10T16:00:04Z beach: That's what I mean by your getting the abstractions wrong. 2017-10-10T16:00:29Z beach: In your code, the code that has a problem is not the one that proposes the restart. 2017-10-10T16:00:54Z beach: Add to this fact that your functions names are strange and your docstrings are wrong, and you have a mess. 2017-10-10T16:01:42Z Josh_2: Yes I get it 2017-10-10T16:01:47Z Josh_2: it sucks. 2017-10-10T16:03:08Z beach: I suggest you try to think in the terms I explained. Low-level code that detects a problem AND proposes restarts to fix it. High-level code that invokes the low-level code in a handler-bind and invokes the restart if the error happens. 2017-10-10T16:03:14Z ghull joined #lisp 2017-10-10T16:04:39Z beach: I also suggest that you look at the examples in PCL and try to identify the parts that I explained. 2017-10-10T16:05:05Z damke joined #lisp 2017-10-10T16:06:37Z Mon_Ouie quit (Ping timeout: 258 seconds) 2017-10-10T16:06:52Z shrdlu68: beach: You sound like a lecturer :-) 2017-10-10T16:07:17Z beach: And, when I look at the name LIST-OF-EVENS and its associated docstring, I think "That is a very complicated implementation of that specification. Why not just do (loop repeat (random m) collect (* 2 (random n)))? 2017-10-10T16:07:26Z Shinmera: shrdlu68: Well, he is a professor. 2017-10-10T16:07:59Z beach: shrdlu68: Occupational disease. 2017-10-10T16:08:55Z shrdlu68: Hehe, your exposition betrays it. 2017-10-10T16:11:31Z beach: Thanks [I guess]. 2017-10-10T16:16:01Z damke quit (Ping timeout: 240 seconds) 2017-10-10T16:16:07Z beach: Josh_2: I suggest you start by writing MY-EVEN-P which is like EVENP, except that it proposes one or more restarts if the argument is not an integer. So if it gets a value that is not an integer, it calls ERROR, signaling an appropriate condition, and it has one or more restarts like returning FALSE. 2017-10-10T16:16:43Z ghull quit (Ping timeout: 255 seconds) 2017-10-10T16:17:34Z beach: MY-EVEN-P is an appropriate abstraction, and it corresponds to the use case I explained before (i.e. low-level code that detects a problem...). 2017-10-10T16:18:27Z damke joined #lisp 2017-10-10T16:19:53Z sebastien_ quit (Ping timeout: 255 seconds) 2017-10-10T16:20:01Z sebastien_ joined #lisp 2017-10-10T16:20:21Z nika quit 2017-10-10T16:21:45Z lounge-user22 quit (Quit: Page closed) 2017-10-10T16:24:19Z damke quit (Read error: Connection reset by peer) 2017-10-10T16:26:28Z damke joined #lisp 2017-10-10T16:30:19Z MrBusiness3 quit (Read error: Connection reset by peer) 2017-10-10T16:30:20Z Josh_2: FINALLY 2017-10-10T16:31:42Z MrBusiness3 joined #lisp 2017-10-10T16:31:50Z Josh_2: I finally did ittttttttttttt 2017-10-10T16:32:21Z thinkpad quit (Ping timeout: 240 seconds) 2017-10-10T16:33:27Z damke quit (Ping timeout: 246 seconds) 2017-10-10T16:35:19Z Josh_2: http://paste.lisp.org/display/358222#1 Now I'm more than happy to talk about everything else that sucks. 2017-10-10T16:36:05Z papachan joined #lisp 2017-10-10T16:36:05Z Amplituhedron quit (Read error: Connection reset by peer) 2017-10-10T16:36:52Z Amplituhedron joined #lisp 2017-10-10T16:36:57Z Josh_2: Ahh drats. 2017-10-10T16:37:43Z random-nick joined #lisp 2017-10-10T16:37:57Z Josh_2: http://paste.lisp.org/display/358222#2 2017-10-10T16:39:16Z damke joined #lisp 2017-10-10T16:42:05Z _death: now you can rename your RETURN-8008 restart to USE-VALUE, have it take one parameter and set I to it.. then you can (use-value 8008 condition) in your HANDLER-BIND 2017-10-10T16:43:09Z _death: and then you should have another loop, calling the predicate with the new I until a valid value is used 2017-10-10T16:43:41Z damke quit (Ping timeout: 240 seconds) 2017-10-10T16:45:43Z paule32 joined #lisp 2017-10-10T16:46:06Z hhdave quit (Ping timeout: 258 seconds) 2017-10-10T16:46:10Z paule32: hello 2017-10-10T16:46:20Z paule32: i using sbcl at the moment 2017-10-10T16:46:30Z paule32: and get this: 2017-10-10T16:46:34Z paule32: STYLE-WARNING: Undefined alien:STYLE-WARNING: Undefined alien: 2017-10-10T16:47:29Z igemnace quit (Read error: Connection reset by peer) 2017-10-10T16:47:55Z phoe_: paule32: what are you doing in SBCL? 2017-10-10T16:48:11Z phoe_: This looks like CFFI problems. 2017-10-10T16:55:42Z compro joined #lisp 2017-10-10T16:55:45Z attila_lendvai joined #lisp 2017-10-10T16:55:45Z attila_lendvai quit (Changing host) 2017-10-10T16:55:45Z attila_lendvai joined #lisp 2017-10-10T16:55:53Z Xal quit (Ping timeout: 255 seconds) 2017-10-10T16:58:12Z Xal joined #lisp 2017-10-10T17:00:26Z random-nick quit (Remote host closed the connection) 2017-10-10T17:00:37Z sz0 quit (Quit: Connection closed for inactivity) 2017-10-10T17:00:39Z Mon_Ouie joined #lisp 2017-10-10T17:01:30Z Josh_2: _death: I did a thing 2017-10-10T17:02:22Z emaczen`: I'm trying to inspect a foreign array by using #'cffi:foreign-array-to-lisp but I have no idea what to do with the array-type argument 2017-10-10T17:02:30Z thinkpad joined #lisp 2017-10-10T17:02:38Z Josh_2: _death: http://paste.lisp.org/display/358222#3 2017-10-10T17:03:21Z varjag joined #lisp 2017-10-10T17:03:27Z attila_lendvai quit (Quit: Leaving.) 2017-10-10T17:03:47Z nirved quit (Quit: Leaving) 2017-10-10T17:09:10Z _death: Josh_2: cool.. usually you define a function that invokes the restart, for example (defun use-value (new-value &optional condition) (let ((restart (find-restart 'use-value condition))) (when restart (invoke-restart restart new-value)))) .. in the case of use-value, CL already defines such a function 2017-10-10T17:10:17Z emaczen`: has anyone used CFFI with opencv before? It is a bit difficult because the C API is deprecated in favor of the C++ API 2017-10-10T17:10:39Z paule32: phoe_: cffi 2017-10-10T17:10:49Z _death: emaczen: I wrote some opencv bindings years ago, when the C API was not yet deprecated.. 2017-10-10T17:11:44Z deba5e12 joined #lisp 2017-10-10T17:12:30Z paule32: Hello World! 2017-10-10T17:12:30Z paule32: 0 2017-10-10T17:12:30Z paule32: STYLE-WARNING: Undefined alien: "kallup_init_app" 2017-10-10T17:12:30Z paule32: 2 2017-10-10T17:12:42Z emaczen`: _death: I don't know who would remember particulars about cvEncodeImage... Only in the C API the documenatation says that it returns a single-row matrix that contains the encoded image as an array of bytes 2017-10-10T17:12:54Z paule32: (load-foreign-library 'libkallup) 2017-10-10T17:12:54Z paule32: (defcfun ("kallup_init_app" kallup-init-app) :int) 2017-10-10T17:13:12Z paule32: (print (kallup-init-app)) 2017-10-10T17:13:58Z Josh_2: hmm well I can't actually define a function called (use-value). I'm going out now so I'll fiddle when I get back. Thanks for all the help everyone. 2017-10-10T17:14:16Z emaczen`: In the newer APIs it looks like you pass a vector and it gets filled with your bytes... 2017-10-10T17:14:17Z _death: Josh_2: like I said, CL already defines it 2017-10-10T17:14:20Z Jesin joined #lisp 2017-10-10T17:14:25Z Josh_2: Yeah 2017-10-10T17:14:29Z shka_ joined #lisp 2017-10-10T17:14:37Z Josh_2: I'll do something like it when I get home 2017-10-10T17:14:49Z Josh_2: Something like what is written in PCL page 241 2017-10-10T17:16:06Z shka_: i'm back 2017-10-10T17:16:17Z shka_: *yawn* 2017-10-10T17:16:47Z _cosmonaut_ quit (Ping timeout: 248 seconds) 2017-10-10T17:19:02Z raynold joined #lisp 2017-10-10T17:20:41Z rixard joined #lisp 2017-10-10T17:23:01Z rixard quit (Client Quit) 2017-10-10T17:23:17Z Posterdati quit (Ping timeout: 260 seconds) 2017-10-10T17:24:15Z paule32: Hello World! 2017-10-10T17:24:15Z paule32: 0 2017-10-10T17:24:15Z paule32: STYLE-WARNING: Undefined alien: "kallup_init_app" 2017-10-10T17:24:49Z paule32: the Hello World message is in a C module via printf("Hello World!\n"); 2017-10-10T17:24:56Z paule32: the 0 ? 2017-10-10T17:25:03Z paule32: the warning ? 2017-10-10T17:25:50Z m00natic quit (Remote host closed the connection) 2017-10-10T17:28:32Z zaquest quit (Ping timeout: 260 seconds) 2017-10-10T17:29:33Z Posterdati joined #lisp 2017-10-10T17:34:57Z thinkpad quit (Ping timeout: 248 seconds) 2017-10-10T17:35:50Z emaczen`` joined #lisp 2017-10-10T17:37:38Z paule32: ah 2017-10-10T17:37:43Z paule32: i found 2017-10-10T17:37:47Z paule32: (close-foreign-library 'libkallup) 2017-10-10T17:38:03Z zaquest joined #lisp 2017-10-10T17:39:20Z emaczen` quit (Ping timeout: 246 seconds) 2017-10-10T17:42:54Z vlatkoB_ joined #lisp 2017-10-10T17:43:16Z bigos joined #lisp 2017-10-10T17:43:29Z compro quit (Ping timeout: 248 seconds) 2017-10-10T17:43:36Z attila_lendvai joined #lisp 2017-10-10T17:43:36Z attila_lendvai quit (Changing host) 2017-10-10T17:43:36Z attila_lendvai joined #lisp 2017-10-10T17:43:47Z micro_ quit (Quit: leaving) 2017-10-10T17:46:44Z vlatkoB quit (Ping timeout: 255 seconds) 2017-10-10T17:48:23Z fourier joined #lisp 2017-10-10T17:48:29Z compro joined #lisp 2017-10-10T17:54:18Z papachan quit (Quit: Saliendo) 2017-10-10T17:55:04Z ketralnis quit (Quit: Coyote finally caught me) 2017-10-10T17:55:22Z compro quit (Ping timeout: 260 seconds) 2017-10-10T17:56:20Z compro joined #lisp 2017-10-10T17:58:39Z jmercouris joined #lisp 2017-10-10T18:07:41Z AxelAlex joined #lisp 2017-10-10T18:07:54Z motersen joined #lisp 2017-10-10T18:14:11Z attila_lendvai: emaczen``: pass it something like '(:pointer (:structure my-foo-that-has-been-cffi-defstruct-ed) 2017-10-10T18:18:57Z Bock quit (Ping timeout: 240 seconds) 2017-10-10T18:21:40Z emaczen``: attila_lendvai: I'll try it in a second, I thought I was getting a byte array from C but I'm actually getting a CvMat* which has a single row, so I have to defcstruct CvMat* and get that single row byte array first... 2017-10-10T18:21:53Z Ven joined #lisp 2017-10-10T18:22:13Z emaczen``: too bad I can't use Clasp and access the C++ API 2017-10-10T18:22:17Z Ven is now known as Guest70887 2017-10-10T18:23:01Z emaczen``: this C++ API just returns a byte array lol 2017-10-10T18:25:45Z Karl_Dscc joined #lisp 2017-10-10T18:31:49Z Rawriful joined #lisp 2017-10-10T18:32:33Z micro joined #lisp 2017-10-10T18:37:53Z compro quit (Ping timeout: 248 seconds) 2017-10-10T18:38:58Z Guest70887 quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-10-10T18:40:03Z pmetzger quit (Remote host closed the connection) 2017-10-10T18:40:17Z pmetzger joined #lisp 2017-10-10T18:40:49Z pmetzger quit (Remote host closed the connection) 2017-10-10T18:41:05Z pmetzger joined #lisp 2017-10-10T18:41:35Z pmetzger quit (Remote host closed the connection) 2017-10-10T18:42:04Z compro joined #lisp 2017-10-10T18:42:13Z pmetzger joined #lisp 2017-10-10T18:42:22Z pmetzger quit (Remote host closed the connection) 2017-10-10T18:42:39Z pmetzger joined #lisp 2017-10-10T18:43:08Z pmetzger quit (Remote host closed the connection) 2017-10-10T18:43:29Z Tristam quit (Read error: Connection timed out) 2017-10-10T18:43:54Z pmetzger joined #lisp 2017-10-10T18:44:21Z Tristam joined #lisp 2017-10-10T18:44:42Z rogersm quit (Read error: Connection reset by peer) 2017-10-10T18:45:24Z rogersm joined #lisp 2017-10-10T18:45:42Z shifty quit (Ping timeout: 258 seconds) 2017-10-10T18:47:29Z LiamH quit (Ping timeout: 255 seconds) 2017-10-10T18:48:49Z pmetzger quit (Ping timeout: 255 seconds) 2017-10-10T18:49:40Z emaczen``: is there anyway to inspect foreign pointers? 2017-10-10T18:52:18Z FreeBirdLjj quit (Remote host closed the connection) 2017-10-10T18:56:41Z deba5e12 quit (Ping timeout: 240 seconds) 2017-10-10T18:59:01Z pjb: emaczen``: yes, with gdb. or lldb. 2017-10-10T18:59:44Z emaczen``: pjb: I should have specified "from lisp" 2017-10-10T19:00:11Z kilfer joined #lisp 2017-10-10T19:00:29Z deba5e12 joined #lisp 2017-10-10T19:00:38Z pjb: emaczen``: http://paste.lisp.org/display/358240 2017-10-10T19:01:59Z gko quit (Quit: ZNC - http://znc.in) 2017-10-10T19:02:04Z larme quit (Quit: WeeChat 1.9) 2017-10-10T19:03:58Z alexmlw joined #lisp 2017-10-10T19:05:47Z rumbler3_ joined #lisp 2017-10-10T19:06:33Z emaczen``: pjb: I'm going to make a paste... this is killing me. 2017-10-10T19:07:13Z dlowe: this is why we generally prefer all-lisp libraries 2017-10-10T19:07:25Z dlowe: it's just soooo much easier when there's a problem 2017-10-10T19:07:33Z dlowe: and there's always a problem eventually 2017-10-10T19:08:27Z emaczen``: dlowe: yep, unless someone else has already tied into C and wrote a wrapping API, then you have to 2017-10-10T19:09:07Z emaczen``: The C API I am trying to use is deprecated too... 2017-10-10T19:09:15Z emaczen``: in favor of the C++ one 2017-10-10T19:11:17Z kilfer quit (Remote host closed the connection) 2017-10-10T19:11:23Z rumbler3_ quit (Ping timeout: 246 seconds) 2017-10-10T19:12:40Z fourier: emaczen``: in difficult cases I typically write the short C/C++ program which does exactly what I expect from Lisp program to do towards the library I'm dealing with and literally translate all back to lisp 2017-10-10T19:12:50Z Posterdati|2 joined #lisp 2017-10-10T19:13:08Z Posterdati quit (Ping timeout: 255 seconds) 2017-10-10T19:13:34Z pjb quit (Ping timeout: 264 seconds) 2017-10-10T19:13:35Z kilfer joined #lisp 2017-10-10T19:13:55Z kilfer quit (Remote host closed the connection) 2017-10-10T19:14:11Z pmetzger joined #lisp 2017-10-10T19:15:59Z kilfer joined #lisp 2017-10-10T19:19:08Z pmetzger quit (Ping timeout: 240 seconds) 2017-10-10T19:19:59Z pmetzger joined #lisp 2017-10-10T19:20:00Z emaczen``: fourier: I'm dealing with images and I think I'm going to have a hard time determining if I'm even getting what I expect 2017-10-10T19:20:06Z emaczen``: fourier: I just haven't done enough C programming 2017-10-10T19:20:29Z emaczen``: I'll try to finish my post later if I fail with ABCL... which I probably will 2017-10-10T19:20:37Z Kaisyu quit (Quit: Connection closed for inactivity) 2017-10-10T19:21:22Z paule32: i search for quantum computer programming by doing lisp - have anyone links, infos ? 2017-10-10T19:22:35Z pmetzger quit (Read error: Connection reset by peer) 2017-10-10T19:22:44Z Amplituhedron quit (Read error: Connection reset by peer) 2017-10-10T19:22:51Z pmetzger joined #lisp 2017-10-10T19:27:04Z Bike: i don't think quantum annealing lends itself to languages much 2017-10-10T19:27:10Z _krator44 quit (Read error: Connection reset by peer) 2017-10-10T19:30:58Z scymtym quit (Ping timeout: 264 seconds) 2017-10-10T19:30:59Z Amplituhedron joined #lisp 2017-10-10T19:31:22Z Posterdati|2 quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2017-10-10T19:31:44Z Posterdati joined #lisp 2017-10-10T19:32:47Z kolko quit (Ping timeout: 248 seconds) 2017-10-10T19:33:16Z erg joined #lisp 2017-10-10T19:34:37Z gko joined #lisp 2017-10-10T19:34:38Z kolko joined #lisp 2017-10-10T19:37:04Z motersen quit (Quit: rcirc on GNU Emacs 25.3.1) 2017-10-10T19:37:30Z angavrilov quit (Remote host closed the connection) 2017-10-10T19:38:46Z malm quit (Ping timeout: 264 seconds) 2017-10-10T19:39:29Z pjb joined #lisp 2017-10-10T19:40:01Z wigust quit (Ping timeout: 240 seconds) 2017-10-10T19:42:51Z LiamH joined #lisp 2017-10-10T19:43:20Z malm joined #lisp 2017-10-10T19:47:02Z AxelAlex quit (Quit: AxelAlex) 2017-10-10T19:47:05Z Bike quit (Ping timeout: 240 seconds) 2017-10-10T19:49:15Z bigos quit (Quit: Leaving) 2017-10-10T19:51:52Z _krator44 joined #lisp 2017-10-10T19:57:16Z Bike joined #lisp 2017-10-10T20:01:00Z KongWubba joined #lisp 2017-10-10T20:04:17Z pmetzger quit (Ping timeout: 248 seconds) 2017-10-10T20:07:35Z schoppenhauer quit (Ping timeout: 255 seconds) 2017-10-10T20:08:56Z pjb quit (Ping timeout: 255 seconds) 2017-10-10T20:09:39Z schoppenhauer joined #lisp 2017-10-10T20:17:33Z EvW joined #lisp 2017-10-10T20:19:01Z compro quit (Ping timeout: 240 seconds) 2017-10-10T20:22:54Z earl-ducaine joined #lisp 2017-10-10T20:26:37Z nowhere_man quit (Remote host closed the connection) 2017-10-10T20:28:57Z vlatkoB_ quit (Remote host closed the connection) 2017-10-10T20:29:48Z pmetzger joined #lisp 2017-10-10T20:30:19Z nowhere_man joined #lisp 2017-10-10T20:34:57Z pmetzger quit (Ping timeout: 240 seconds) 2017-10-10T20:35:02Z deba5e12 quit (Ping timeout: 246 seconds) 2017-10-10T20:36:42Z pmetzger joined #lisp 2017-10-10T20:38:43Z deba5e12 joined #lisp 2017-10-10T20:41:21Z pmetzger quit (Ping timeout: 240 seconds) 2017-10-10T20:44:47Z scymtym joined #lisp 2017-10-10T20:48:00Z mrcom quit (Read error: Connection reset by peer) 2017-10-10T20:48:00Z pmetzger joined #lisp 2017-10-10T20:49:31Z edgar-rft joined #lisp 2017-10-10T20:50:30Z stnutt joined #lisp 2017-10-10T20:53:14Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2017-10-10T20:56:59Z bwv quit (Quit: bwv) 2017-10-10T20:58:27Z shka_ quit (Ping timeout: 240 seconds) 2017-10-10T20:58:43Z mrcom joined #lisp 2017-10-10T20:59:01Z grublet joined #lisp 2017-10-10T21:03:57Z kilfer quit (Remote host closed the connection) 2017-10-10T21:04:18Z varjag quit (Quit: ERC (IRC client for Emacs 25.2.1)) 2017-10-10T21:04:45Z fourier quit (Ping timeout: 260 seconds) 2017-10-10T21:08:46Z Amplituhedron quit (Read error: Connection reset by peer) 2017-10-10T21:08:48Z sjl joined #lisp 2017-10-10T21:10:46Z Karl_Dscc quit (Remote host closed the connection) 2017-10-10T21:13:57Z Bike quit (Ping timeout: 240 seconds) 2017-10-10T21:14:40Z neoncontrails joined #lisp 2017-10-10T21:14:58Z JSA_: anyone here ever do any binary or malware analysis? 2017-10-10T21:16:46Z MrBusiness3 quit (Quit: https://www.youtube.com/watch?v=xIIqYqtR1lY -- Suicide is Painless - Johnny Mandel) 2017-10-10T21:17:34Z alexmlw quit (Quit: alexmlw) 2017-10-10T21:19:04Z Amplituhedron joined #lisp 2017-10-10T21:19:10Z BlueRavenGT joined #lisp 2017-10-10T21:21:57Z p_l: N6 2017-10-10T21:22:04Z p_l: oops, wrong window 2017-10-10T21:27:40Z MrBusiness joined #lisp 2017-10-10T21:36:09Z KongWubba quit (Quit: Yaaic - Yet another Android IRC client - http://www.yaaic.org) 2017-10-10T21:36:36Z ebzzry joined #lisp 2017-10-10T21:38:57Z deba5e12 quit (Ping timeout: 240 seconds) 2017-10-10T21:41:26Z deba5e12 joined #lisp 2017-10-10T21:44:54Z stnutt quit (Remote host closed the connection) 2017-10-10T21:50:06Z Bike joined #lisp 2017-10-10T21:51:51Z White_Flame: JSA_: yeah 2017-10-10T21:52:09Z White_Flame: although it's a very broad field & varying skill sets 2017-10-10T21:52:57Z joga quit (Ping timeout: 240 seconds) 2017-10-10T21:53:47Z pmetzger quit (Ping timeout: 255 seconds) 2017-10-10T21:55:55Z LAG_ joined #lisp 2017-10-10T21:58:27Z drmeister: I'm trying to rethink how clasp bootstraps itself. 2017-10-10T21:58:44Z mson quit (Quit: Connection closed for inactivity) 2017-10-10T21:58:46Z drmeister: Let's say I compile a minimal version of Clasp that has a compiler compiled into it. 2017-10-10T21:59:34Z drmeister: Can I expect to be able to compile-file all of the Common Lisp source code (including CLOS) and then link and load that together. 2017-10-10T21:59:45Z drmeister: Or do I need to compile-file each source file separately and then load it? 2017-10-10T21:59:56Z dim: reminds me of the “Trusting trust” talk from Thompson 2017-10-10T22:00:09Z dim: https://www.ece.cmu.edu/~ganger/712.fall02/papers/p761-thompson.pdf --- you might already be familiar with it 2017-10-10T22:00:11Z Bike: if the files are written for it they can all be compiled before being loaded 2017-10-10T22:00:25Z drmeister: I realize this is not a well formed question and there are implementation dependent stuff here. 2017-10-10T22:00:40Z drmeister: Right - so they have to be written for it. 2017-10-10T22:00:42Z Bike: the trick is to make sure that anything the compiler uses is properly defind in the compiler context 2017-10-10T22:00:46Z epony joined #lisp 2017-10-10T22:00:47Z drmeister: How would I know if they are written for it. 2017-10-10T22:00:53Z Shinmera: drmeister: In general you cannot compile-file and load in separate stages. 2017-10-10T22:01:08Z Bike: how would you know? if it works, i guess 2017-10-10T22:01:25Z Shinmera: drmeister: You'd need something like SBCL's cfasls. 2017-10-10T22:01:50Z drmeister: What are cfasls? 2017-10-10T22:02:05Z Bike: they're fasls that record the compile-time side effects 2017-10-10T22:02:12Z Shinmera: fasls that only contain compile-time side-effects, such that you can load this minimal part to compile-file the rest without having to do a full load. 2017-10-10T22:02:49Z Bike: (eval-when (:load-toplevel) ...this goes in the fasl...) (eval-when (:execute) ...this is only executed when loading as source...) (eval-when (:compile-toplevel) ...in the cfasl...) 2017-10-10T22:02:50Z Shinmera: It was used to do build parallelisation, I believe. 2017-10-10T22:04:02Z iqubic joined #lisp 2017-10-10T22:04:05Z Shinmera: Actually now I'm not so sure if what I'm talking about is even relevant 2017-10-10T22:04:11Z Shinmera: it's too late for me to give advice. 2017-10-10T22:04:27Z rumbler31 quit (Ping timeout: 260 seconds) 2017-10-10T22:04:32Z drmeister: Thank you 2017-10-10T22:05:09Z LiamH quit (Quit: Leaving.) 2017-10-10T22:05:27Z joga joined #lisp 2017-10-10T22:05:37Z Tordek quit (Ping timeout: 260 seconds) 2017-10-10T22:05:57Z mishoo_ quit (Ping timeout: 240 seconds) 2017-10-10T22:06:27Z Tordek joined #lisp 2017-10-10T22:07:17Z yaocl joined #lisp 2017-10-10T22:07:40Z emacsomancer quit (Remote host closed the connection) 2017-10-10T22:08:15Z drmeister: The slow part of building clasp has been bclasp LOADing and JITting all of Cleavir and clasp's extensions to Cleavir, (~10 min) and then running that code to build all of cclasp (~50 min). 2017-10-10T22:09:17Z drmeister: Compiling all of the cclasp source code with cclasp takes about 15 min. 2017-10-10T22:09:45Z Josh_2: You should try Gentoo 2017-10-10T22:09:52Z dieggsy joined #lisp 2017-10-10T22:10:26Z emacsomancer joined #lisp 2017-10-10T22:11:22Z attila_lendvai quit (Quit: Leaving.) 2017-10-10T22:11:35Z drmeister has enough slow in his life 2017-10-10T22:11:45Z joaj joined #lisp 2017-10-10T22:11:55Z drmeister: Computers suck 2017-10-10T22:13:52Z attila_lendvai joined #lisp 2017-10-10T22:13:59Z DingoSaar joined #lisp 2017-10-10T22:15:55Z AntiSpamMeta quit (Read error: Connection reset by peer) 2017-10-10T22:16:07Z AntiSpamMeta joined #lisp 2017-10-10T22:19:05Z pmetzger joined #lisp 2017-10-10T22:20:23Z attila_lendvai quit (Quit: Leaving.) 2017-10-10T22:21:34Z DingoSaar quit (Remote host closed the connection) 2017-10-10T22:22:26Z DingoSaar joined #lisp 2017-10-10T22:23:17Z AxelAlex joined #lisp 2017-10-10T22:24:49Z pmetzger quit (Ping timeout: 255 seconds) 2017-10-10T22:29:14Z yaocl quit (Quit: yaocl) 2017-10-10T22:32:10Z wooden quit (Ping timeout: 264 seconds) 2017-10-10T22:33:30Z pmetzger joined #lisp 2017-10-10T22:33:48Z QualityAddict joined #lisp 2017-10-10T22:34:46Z safe joined #lisp 2017-10-10T22:36:19Z manny8888 joined #lisp 2017-10-10T22:37:11Z emaczen``: Can anyone tell me how to reference a java static variable in ABCL? 2017-10-10T22:37:56Z marcux joined #lisp 2017-10-10T22:38:55Z pmetzger quit (Ping timeout: 248 seconds) 2017-10-10T22:40:07Z BlueRavenGT quit (Ping timeout: 255 seconds) 2017-10-10T22:41:03Z wooden joined #lisp 2017-10-10T22:44:28Z iqubic: emaczen``: abcl is not a jave repl. 2017-10-10T22:44:30Z iqubic: Sorry. 2017-10-10T22:48:54Z Rawriful quit (Quit: WeeChat 1.4) 2017-10-10T22:51:30Z White_Flame: emaczen``: do you mean a class variable? 2017-10-10T22:54:10Z emaczen`` quit (Remote host closed the connection) 2017-10-10T22:57:06Z rumbler31 joined #lisp 2017-10-10T22:58:05Z jmercouris quit (Remote host closed the connection) 2017-10-10T22:58:20Z jmercouris joined #lisp 2017-10-10T22:59:49Z emaczen joined #lisp 2017-10-10T23:00:28Z deba5e12 quit (Ping timeout: 240 seconds) 2017-10-10T23:01:35Z rumbler31 quit (Ping timeout: 240 seconds) 2017-10-10T23:02:44Z neoncontrails quit (Ping timeout: 246 seconds) 2017-10-10T23:03:58Z neoncontrails joined #lisp 2017-10-10T23:04:49Z mson joined #lisp 2017-10-10T23:05:29Z thinkpad joined #lisp 2017-10-10T23:08:30Z BlueRavenGT joined #lisp 2017-10-10T23:08:39Z rumbler31 joined #lisp 2017-10-10T23:09:57Z epony quit (Quit: QUIT) 2017-10-10T23:13:05Z rumbler31 quit (Ping timeout: 248 seconds) 2017-10-10T23:15:07Z dieggsy` joined #lisp 2017-10-10T23:15:20Z dieggsy quit (Ping timeout: 246 seconds) 2017-10-10T23:15:28Z wxie joined #lisp 2017-10-10T23:15:35Z deba5e12 joined #lisp 2017-10-10T23:16:48Z vancan1ty joined #lisp 2017-10-10T23:21:07Z cromachina joined #lisp 2017-10-10T23:22:53Z DingoSaar quit (Quit: Leaving) 2017-10-10T23:26:01Z dieggsy` quit (Quit: ERC (IRC client for Emacs 27.0.50)) 2017-10-10T23:26:20Z wxie quit (Quit: Bye.) 2017-10-10T23:26:47Z dieggsy joined #lisp 2017-10-10T23:28:45Z anticrisis joined #lisp 2017-10-10T23:29:19Z yrk quit (Read error: Connection reset by peer) 2017-10-10T23:33:51Z anticrisis: hello, #lisp, question on check-type and structs: http://paste.lisp.org/+7OFL 2017-10-10T23:34:23Z anticrisis: it's not evident from clhs: check-type that it can't be used for structs, or did i miss something? 2017-10-10T23:34:36Z jasom: anticrisis: check-type always returns nil 2017-10-10T23:34:41Z jasom: clhs check-type 2017-10-10T23:34:41Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/m_check_.htm 2017-10-10T23:34:46Z anticrisis: oh 2017-10-10T23:34:55Z jasom: it's a type assertion 2017-10-10T23:35:10Z anticrisis: right, it's supposed throw a signal if it fails 2017-10-10T23:35:34Z anticrisis: ok, my brain obviously stopped a little bit earlier, sorry. 2017-10-10T23:37:13Z anticrisis: i don't suppose we can erase the last few lines of the irc log, can we? 2017-10-10T23:38:36Z jmercouris: Does anyone know how to call rust functions from within lisp? 2017-10-10T23:38:57Z Khisanth quit (Ping timeout: 240 seconds) 2017-10-10T23:39:20Z javmx joined #lisp 2017-10-10T23:42:49Z wxie joined #lisp 2017-10-10T23:48:15Z wxie quit (Remote host closed the connection) 2017-10-10T23:52:40Z pmetzger joined #lisp 2017-10-10T23:55:36Z quazimodo joined #lisp 2017-10-10T23:57:21Z Khisanth joined #lisp 2017-10-11T00:00:25Z dieggsy quit (Ping timeout: 258 seconds) 2017-10-11T00:01:32Z itruslove quit (Ping timeout: 246 seconds) 2017-10-11T00:02:14Z sukaeto quit (Ping timeout: 246 seconds) 2017-10-11T00:02:33Z sukaeto joined #lisp 2017-10-11T00:03:41Z itruslove joined #lisp 2017-10-11T00:06:15Z Kaisyu joined #lisp 2017-10-11T00:07:03Z nowhere_man quit (Read error: Connection reset by peer) 2017-10-11T00:08:17Z antoszka: jmercouris: did you try compiling rust to object code/libraries and calling that the same way you'd call C (via cffi)? 2017-10-11T00:08:41Z antoszka: jmercouris: that's how I'd approach the problem, though I've honestly have zero experience with rust ;) 2017-10-11T00:08:57Z pmetzger quit (Ping timeout: 240 seconds) 2017-10-11T00:12:20Z nowhere_man joined #lisp 2017-10-11T00:17:11Z jmercouris: antoszka: I didn't try that, at any rate, I found out the project I want to use is too immature any way, so I'll just use C++ and I'll be fine :D 2017-10-11T00:18:18Z scottj quit (Quit: leaving) 2017-10-11T00:19:51Z joaj quit (Quit: WeeChat 1.9.1) 2017-10-11T00:23:25Z antoszka: jmercouris: cool 2017-10-11T00:23:28Z iqubic quit (Remote host closed the connection) 2017-10-11T00:23:43Z iqubic joined #lisp 2017-10-11T00:23:59Z marcux quit (Ping timeout: 248 seconds) 2017-10-11T00:25:26Z EvW quit (Ping timeout: 255 seconds) 2017-10-11T00:25:57Z rgrau quit (Ping timeout: 240 seconds) 2017-10-11T00:29:35Z manny8888 quit (Ping timeout: 240 seconds) 2017-10-11T00:31:00Z epony joined #lisp 2017-10-11T00:37:35Z margeas quit (Ping timeout: 255 seconds) 2017-10-11T00:54:03Z manny8888 joined #lisp 2017-10-11T00:57:17Z javmx quit (Read error: Connection reset by peer) 2017-10-11T00:58:56Z marcux joined #lisp 2017-10-11T01:00:42Z whoman quit (Read error: Connection reset by peer) 2017-10-11T01:16:11Z hexfive quit (Quit: WeeChat 1.9) 2017-10-11T01:17:19Z libre-man quit (Ping timeout: 248 seconds) 2017-10-11T01:23:13Z Devon joined #lisp 2017-10-11T01:23:36Z impulse quit (Read error: Connection reset by peer) 2017-10-11T01:25:32Z iqubic quit (Ping timeout: 246 seconds) 2017-10-11T01:32:28Z marcux quit (Ping timeout: 255 seconds) 2017-10-11T01:39:18Z emaczen: as predicted I failed to get ABCL to do what I want... 2017-10-11T01:39:25Z emaczen: here is my paste: 2017-10-11T01:39:31Z emaczen: http://paste.lisp.org/submit 2017-10-11T01:39:37Z emaczen: wait 2017-10-11T01:39:48Z emaczen: http://paste.lisp.org/display/358268 2017-10-11T01:40:37Z emaczen: all help is much appreciated 2017-10-11T01:42:06Z Zhivago: What is the first surprising thing about your code? 2017-10-11T01:43:03Z emaczen: Zhivago: I don't know 2017-10-11T01:43:09Z QualityAddict quit (Remote host closed the connection) 2017-10-11T01:43:22Z emaczen: Zhivago: I know that capturing works, I'm just having trouble getting a byte array 2017-10-11T01:44:55Z Zhivago: If there is no first surprising thing, the code works as expected. 2017-10-11T01:46:16Z emaczen: What do you think *bytes* is? 2017-10-11T01:46:42Z emaczen: I'm just stuck. All I can see is # 2017-10-11T01:48:47Z emaczen: did I even do the defcstruct form right? 2017-10-11T01:50:57Z emaczen: I also can't figure anything out with #'cffi:foreign-array-to-lisp to try to see what's going on 2017-10-11T01:51:16Z Zhivago: *bytes* looks like a special that you haven't defined in that code. 2017-10-11T01:51:42Z emaczen: Yeah it is (defparameter *bytes* nil) in another file 2017-10-11T01:52:51Z Zhivago: Does cvencodeimage produce a surprising result? 2017-10-11T01:53:16Z emaczen: It just produces a foreign pointer 2017-10-11T01:53:28Z emaczen: It is supposed to be of type CvMat* 2017-10-11T01:53:54Z emaczen: So I included the C source definition of CvMat and then my defcstruct form 2017-10-11T01:54:07Z d4ryus1 joined #lisp 2017-10-11T01:56:41Z shifty joined #lisp 2017-10-11T01:57:19Z d4ryus quit (Ping timeout: 248 seconds) 2017-10-11T01:57:54Z karswell_ quit (Read error: Connection reset by peer) 2017-10-11T01:58:20Z Zhivago: And can you access the fields of what cvencodeimage provides a pointer to, and find expected values? 2017-10-11T01:59:07Z emaczen: that's my problem, when I evaluate that cffi:foreign-slot-value form, I just get another foreign pointer 2017-10-11T01:59:32Z yaocl joined #lisp 2017-10-11T01:59:43Z emaczen: I'm obviously new to cffi as well... 2017-10-11T02:00:07Z LiamH joined #lisp 2017-10-11T02:06:02Z emaczen: Zhivago: Can you give me any debugging suggestions? 2017-10-11T02:07:41Z schoppenhauer quit (Ping timeout: 258 seconds) 2017-10-11T02:09:26Z schoppenhauer joined #lisp 2017-10-11T02:11:17Z neoncontrails quit (Remote host closed the connection) 2017-10-11T02:17:08Z heurist quit (Ping timeout: 240 seconds) 2017-10-11T02:17:35Z aindilis quit (Ping timeout: 248 seconds) 2017-10-11T02:18:55Z aindilis` joined #lisp 2017-10-11T02:19:05Z damke joined #lisp 2017-10-11T02:19:56Z text1 joined #lisp 2017-10-11T02:20:21Z Guest6344 joined #lisp 2017-10-11T02:20:35Z BlueRavenGT quit (Remote host closed the connection) 2017-10-11T02:22:35Z safe quit (Ping timeout: 240 seconds) 2017-10-11T02:23:54Z hifitim joined #lisp 2017-10-11T02:24:40Z shrdlu68 quit (Ping timeout: 255 seconds) 2017-10-11T02:25:30Z LAG_ quit (Quit: Connection closed for inactivity) 2017-10-11T02:26:47Z hifitim quit (Client Quit) 2017-10-11T02:27:51Z pmetzger joined #lisp 2017-10-11T02:30:09Z emacsoma` joined #lisp 2017-10-11T02:32:31Z SpikeMaster joined #lisp 2017-10-11T02:38:03Z dieggsy joined #lisp 2017-10-11T02:40:48Z yaocl quit (Quit: yaocl) 2017-10-11T02:41:02Z SpikeMaster left #lisp 2017-10-11T02:43:05Z zymurgy quit (Ping timeout: 240 seconds) 2017-10-11T02:43:05Z marvin2 quit (Quit: quit) 2017-10-11T02:43:20Z trn quit (Ping timeout: 258 seconds) 2017-10-11T02:43:35Z |3b| quit (Ping timeout: 246 seconds) 2017-10-11T02:44:26Z heurist joined #lisp 2017-10-11T02:45:02Z rumbler31 joined #lisp 2017-10-11T02:45:24Z pmetzger quit (Remote host closed the connection) 2017-10-11T02:45:42Z pmetzger joined #lisp 2017-10-11T02:46:11Z pmetzger quit (Remote host closed the connection) 2017-10-11T02:46:28Z pmetzger joined #lisp 2017-10-11T02:46:32Z zymurgy joined #lisp 2017-10-11T02:46:57Z pmetzger quit (Remote host closed the connection) 2017-10-11T02:47:50Z yaocl joined #lisp 2017-10-11T02:47:59Z pmetzger joined #lisp 2017-10-11T02:48:29Z pmetzger quit (Remote host closed the connection) 2017-10-11T02:49:39Z Oladon1 quit (Read error: Connection reset by peer) 2017-10-11T02:49:59Z pmetzger joined #lisp 2017-10-11T02:50:49Z vtomole joined #lisp 2017-10-11T02:51:08Z Oladon joined #lisp 2017-10-11T02:53:35Z damke_ joined #lisp 2017-10-11T02:54:49Z pmetzger quit (Ping timeout: 255 seconds) 2017-10-11T02:55:23Z igemnace joined #lisp 2017-10-11T02:56:01Z damke quit (Ping timeout: 240 seconds) 2017-10-11T02:58:05Z Amplituhedron quit (Ping timeout: 240 seconds) 2017-10-11T02:59:08Z yaocl quit (Quit: yaocl) 2017-10-11T03:02:41Z trn joined #lisp 2017-10-11T03:03:13Z yaocl joined #lisp 2017-10-11T03:04:22Z mson quit (Quit: Connection closed for inactivity) 2017-10-11T03:05:34Z LiamH quit (Quit: Leaving.) 2017-10-11T03:05:42Z anticris` joined #lisp 2017-10-11T03:08:32Z iqubic joined #lisp 2017-10-11T03:08:57Z anticrisis quit (Ping timeout: 260 seconds) 2017-10-11T03:12:01Z anticris` quit (Ping timeout: 248 seconds) 2017-10-11T03:12:01Z larme joined #lisp 2017-10-11T03:13:46Z yaocl quit (Quit: yaocl) 2017-10-11T03:14:00Z pillton joined #lisp 2017-10-11T03:16:41Z schoppenhauer quit (Ping timeout: 240 seconds) 2017-10-11T03:18:16Z compro joined #lisp 2017-10-11T03:18:44Z schoppenhauer joined #lisp 2017-10-11T03:18:46Z Josh_2 quit (Read error: Connection reset by peer) 2017-10-11T03:20:20Z pmetzger joined #lisp 2017-10-11T03:23:51Z compro quit (Remote host closed the connection) 2017-10-11T03:23:58Z shka_ joined #lisp 2017-10-11T03:24:30Z yaocl joined #lisp 2017-10-11T03:24:58Z pmetzger quit (Ping timeout: 255 seconds) 2017-10-11T03:27:30Z Bike quit (Quit: Lost terminal) 2017-10-11T03:27:39Z beach: Good morning everyone! 2017-10-11T03:28:14Z iqubic: Morning Beach 2017-10-11T03:32:22Z pmetzger joined #lisp 2017-10-11T03:37:32Z yaocl quit (Quit: yaocl) 2017-10-11T03:41:13Z yaocl joined #lisp 2017-10-11T03:41:33Z nika joined #lisp 2017-10-11T03:42:10Z rumbler31 quit (Remote host closed the connection) 2017-10-11T03:46:14Z SaganMan joined #lisp 2017-10-11T03:47:07Z emaczen: morning beach 2017-10-11T03:47:40Z emaczen: what is the status of Clasp and how is the C++ interface going to turn out? 2017-10-11T03:47:50Z emaczen: or what is the C++ interface going to be like. 2017-10-11T03:48:21Z emaczen: I can relate to the CCL cocoa-bridge and I have only just toyed with ABCL's java integration 2017-10-11T03:48:24Z beach: I think you are better off asking that in #clasp. 2017-10-11T03:48:41Z emaczen: beach: Do you work on Clasp? 2017-10-11T03:48:46Z beach: drmeister seems to come here to #lisp only when he has a general Common Lisp question to ask. 2017-10-11T03:49:18Z beach: emaczen: No I don't. But Clasp uses the Cleavir compiler framework for its main compiler. And I am working on Cleavir. 2017-10-11T03:49:33Z drmeister: Actually, I'm here all the time. 2017-10-11T03:49:48Z drmeister: Not omnipresent... just highly mobile. 2017-10-11T03:49:55Z beach: Physically, yes. But are you listening? :) 2017-10-11T03:49:56Z emaczen: drmeister: I just asked on #clasp 2017-10-11T03:49:59Z jmercouris: beach: I'm not understanding the connection, why did you bring up drmeister? 2017-10-11T03:50:17Z beach: jmercouris: He is the author of Clasp. 2017-10-11T03:50:27Z jmercouris: Ah, ok 2017-10-11T03:50:47Z jmercouris: emaczen: how's the CCL cocoa bridge, easy to use? any issues you encountered? 2017-10-11T03:51:16Z jmercouris: emaczen: any good resources you can reccomend? 2017-10-11T03:51:23Z emaczen: jmercouris: I wish they had it integrated with OpenStep so I could use it elsewhere and not just on OSX 2017-10-11T03:51:40Z jmercouris: Yeah, oh well :\ 2017-10-11T03:52:08Z jmercouris: I guess you can make different bindings for different platforms that are abstracted somehow 2017-10-11T03:52:27Z jmercouris: emaczen: what's your end goal in using the cocoa bridge, what are you building? 2017-10-11T03:52:29Z emaczen: jmercouris: I think it was done pretty well since they used the MOP 2017-10-11T03:52:59Z emaczen: I really want OpenStep so I don't have to buy another Mac in a few years... 2017-10-11T03:53:22Z jmercouris: Just get a mac mini, relatively cheap 2017-10-11T03:53:52Z emaczen: That's what I have now haha, but I need something fast. I keep freezing my mini becuase I use so much memory. 2017-10-11T03:54:30Z emaczen: I stopped starting SBCL with --dyanamic-space-size 4096 because I learned my lesson eventually... ha 2017-10-11T03:55:26Z jmercouris: emaczen: just run everything from emacs, saves a ton of ram 2017-10-11T03:55:38Z emaczen: Right now, I want the bridge for capturing video. I'm working with the CFFI and I just don't know that much about C and there isn't much to inspect either... 2017-10-11T03:55:45Z emaczen: jmercouris: I do run it from emacs 2017-10-11T03:56:18Z jmercouris: emaczen: I'm saying run EVERYTHING from emacs 2017-10-11T03:56:33Z emaczen: jmercouris: Do you run Arch with just emacs? 2017-10-11T03:56:50Z jmercouris: No, I don't like arch, I run OSX and FreeBSD 2017-10-11T03:57:10Z emaczen: Do you use w3m for web browsing? 2017-10-11T03:57:25Z jmercouris: I know you are totally joking, but I used to use elinks as my main browser 2017-10-11T04:01:08Z emaczen: Did they ever start using Guile yet? 2017-10-11T04:01:17Z jmercouris: Who is "they"? 2017-10-11T04:01:25Z emaczen: the emacs development team 2017-10-11T04:01:48Z jmercouris: Not as far as I know, though every so often someone makes a controversial blog post about why we should start using it 2017-10-11T04:02:07Z damke joined #lisp 2017-10-11T04:02:08Z emaczen: they should have done commonlisp decades ago! 2017-10-11T04:02:08Z jmercouris: When I say "we" I mean the emacs community, I'm not a developer of emacs 2017-10-11T04:02:29Z jmercouris: You know about climacs right? 2017-10-11T04:02:39Z emaczen: I think I tried it once 2017-10-11T04:03:11Z jmercouris: beach: do you think that climacs will ever overtake emacs? 2017-10-11T04:03:32Z beach: No. 2017-10-11T04:03:52Z jmercouris: beach: do you use climacs or emacs? or something else? 2017-10-11T04:04:21Z damke_ quit (Ping timeout: 240 seconds) 2017-10-11T04:04:23Z beach: I use Emacs right now. I am working on Second Climacs, which I hope will be much better than Emacs for Common Lisp development. 2017-10-11T04:04:55Z jmercouris: What are some of the things you'd like to improve about Emacs in Climacs? 2017-10-11T04:05:58Z beach: I am working on an incremental parser for Common Lisp code. It will be able to do things that can not be done with Emacs or SLIME. 2017-10-11T04:06:29Z jmercouris: beach: Like what? what do you mean? 2017-10-11T04:06:47Z jmercouris: Like pausing on an error during compilation and allowing you to change the offending line and then continuing compiling? 2017-10-11T04:07:24Z beach: I am planning to compile at typing speed so that errors can be visible without hitting C-c C-c or equivalent. 2017-10-11T04:07:35Z pmetzger quit (Ping timeout: 240 seconds) 2017-10-11T04:07:40Z jmercouris: Oh wow, that would be amazing 2017-10-11T04:07:44Z dieggsy quit (Quit: peace) 2017-10-11T04:07:47Z jmercouris: So something like flycheck for lisp, but faster? 2017-10-11T04:07:59Z beach: I don't know about flycheck. 2017-10-11T04:08:18Z jmercouris: "On the fly syntax checking for GNU Emacs" https://github.com/flycheck/flycheck 2017-10-11T04:09:00Z beach: It can already indicate names of packages that don't exist, names of symbols that are not exported from a particular package, names of symbols that do not exist in a particular package. 2017-10-11T04:10:04Z beach: Yes, something like flycheck it seems. 2017-10-11T04:10:45Z jmercouris: So your parser will only be able to check like "compile" time issues right? 2017-10-11T04:10:47Z beach: jmercouris: I am also planning things like the ability to hover the mouse over a variable and see the places where it is defined or assigned to. 2017-10-11T04:10:47Z moei joined #lisp 2017-10-11T04:11:11Z jmercouris: Ah yes, that is a feature that I am sorely missing from other languages in lisp, it only works some small percentage of the time in emacs 2017-10-11T04:11:23Z beach: jmercouris: What other issues are you thinking of? 2017-10-11T04:11:40Z yaocl quit (Quit: yaocl) 2017-10-11T04:12:10Z jmercouris: beach: for example, you might be able to see that there's a divide by 0 situation based on some assignment, stuff like that, things you'd have to run the program to get an error for 2017-10-11T04:12:53Z yxabc joined #lisp 2017-10-11T04:13:02Z beach: I am not planning anything like that. But, I am planning a tight integration with SICL, so that run-time errors can be indicated by highlighting the offending place in the source code. 2017-10-11T04:13:26Z jmercouris: beach: Do you expect that SICL will ever be as performant as other lisp implementations? 2017-10-11T04:13:49Z jmercouris: If not, what would you suggest to developers? Use SICL/Climacs for dev, and then deploy your apps with SBCL for example? 2017-10-11T04:14:56Z deba5e12 quit (Ping timeout: 255 seconds) 2017-10-11T04:15:07Z beach: I hope so. But, the goal is very different. I see Common Lisp as a safe language, so safety is my first goal. Other people work hard (using FFI) to turn Common Lisp into a clone of any old unsafe language out there. So there might be performance issues like that, that I am not willing to cater to in SICL. 2017-10-11T04:15:30Z beach: Otherwise, I am planning to use the latest research in compiler technology to make things as fast as I possibly can. 2017-10-11T04:17:06Z jmercouris: Are you saying that anytime FFI is used, there is some degree of uncertainty due to the inability to properly test a C program for all unexpected behavior? 2017-10-11T04:17:27Z jmercouris: That is, because of the nature of the lisp interpreter, you can recover from any error, but the moment you introduce FFI, this net is lost? 2017-10-11T04:17:37Z jameser joined #lisp 2017-10-11T04:17:37Z beach: Not quite. 2017-10-11T04:19:03Z beach: First of all, many implementations, including SBCL, can be unsafe as it is. If you declare (safety 0), or just declare something to be dynamic extent that really isn't , then SBCL is unsafe. Also, any library installed with (say) Quicklisp can alter the compiler and install a virus. 2017-10-11T04:19:36Z jmercouris: Ah okay, I get your meaning now 2017-10-11T04:20:01Z jmercouris: Are you planning on usage in embedded systems or something? Why is safety so important? 2017-10-11T04:20:03Z beach: But yes, most C compilers rely on undefined behavior in the C standard in order to favor fast but unsafe code. So using FFI makes Common Lisp just as unsafe as the C compiler that is used that way. 2017-10-11T04:20:39Z emaczen: we value our privacy! 2017-10-11T04:20:58Z jmercouris: emaczen: What do you mean? 2017-10-11T04:21:45Z emaczen: If someone can install a virus on your computer because you are using unsafe code, that sounds like a pretty big intrusion if you ask me! 2017-10-11T04:21:58Z beach: jmercouris: I think computing is in a rut. We are using operating systems and programming languages that are by nature unsafe, which dire consequences. Then we try to patch things up with stuff like ASLR, making life harder for the developers. I would like to try something else. 2017-10-11T04:22:10Z jmercouris: emaczen: There are many many vectors, quicklisp is probably one of the least likely 2017-10-11T04:22:37Z beach: s/which dire/with dire/ 2017-10-11T04:22:47Z vtomole: Speaking about unsafe, today i learned that garbage collectors can have memory leaks. 2017-10-11T04:23:18Z jmercouris: beach: Yeah, I hear you, ASLR blows my mind that it even works, let alone that it doesn't have massive consequences on perofrmance 2017-10-11T04:23:31Z beach: vtomole: Not typically. But code that relies on GC can, if you don't make big data structures inaccessible. 2017-10-11T04:23:47Z beach: jmercouris: Apparently, it doesn't even work very well. 2017-10-11T04:23:52Z toy joined #lisp 2017-10-11T04:23:53Z jmercouris: I think one of the big issues here is legacy systems, and the inertia from that, nobody wants to pay for the retooling of all systems, despite all of the knowledge we've gained about best practices 2017-10-11T04:24:11Z iqubic_ joined #lisp 2017-10-11T04:24:13Z jmercouris: beach: no definitely not, there are quite a few good strategies that work on probability models to defeat them 2017-10-11T04:24:37Z emaczen: beach: the computing world is pathetic, case in point: HTML, CSS, Javascript, server-language, database-language -- a typical dev environment, and it can be worse. 2017-10-11T04:24:43Z beach: jmercouris: I am a researcher, so I don't care about legacy. I don't care if I am the only person using Second Climacs, SICL, or whatever. I am satisfied showing that it can work. 2017-10-11T04:25:11Z beach: emaczen: I know all too well. :( 2017-10-11T04:25:17Z shenghi quit (Remote host closed the connection) 2017-10-11T04:25:25Z jmercouris: Don't even get me started on the state of web development 2017-10-11T04:25:47Z shenghi joined #lisp 2017-10-11T04:25:51Z emaczen: beach: If you don't use a honoiconic language you can't unify your tools into one 2017-10-11T04:25:55Z jmercouris: It feels like javascript has become this terrible monstrosity, why would you ever run applications in the browser??? That is NOT the purpose of HTML or the web... 2017-10-11T04:26:01Z emaczen: homoiconic* 2017-10-11T04:26:06Z beach: emaczen: I hear you. 2017-10-11T04:26:19Z vtomole: What about forking emacs and rewriting small parts of it in cl, work inside out. Instead of starting afresh. 2017-10-11T04:26:27Z iqubic quit (Ping timeout: 258 seconds) 2017-10-11T04:26:36Z jmercouris: vtomole: that's what they talk about with guile all the time 2017-10-11T04:26:36Z vtomole: Something like remacs https://github.com/Wilfred/remacs 2017-10-11T04:26:42Z paule32: good morning 2017-10-11T04:26:46Z jmercouris: and how it would be backwards compatible, and you could mix elisp etc... 2017-10-11T04:26:59Z jmercouris: paule32: good morning 2017-10-11T04:27:28Z paule32: i have the unbound-variable msg/err 2017-10-11T04:27:29Z vtomole: Why guile and not cl though. It seems like they are doing it intentionally just to spite cl haha 2017-10-11T04:27:33Z paule32: (in-package :cffi) 2017-10-11T04:27:33Z paule32: (define-foreign-library libkallup 2017-10-11T04:27:33Z paule32: (:unix "/home/jens/Projekte/ai/test/kallup/libkallup.so") 2017-10-11T04:27:33Z paule32: (t (:default "/home/jens/Projekte/ai/test/kallup/libkallup.so"))) 2017-10-11T04:27:57Z emaczen: paule32: how do you deal with all the foreign pointers? 2017-10-11T04:28:22Z paule32: what do you mean? 2017-10-11T04:28:30Z beach: vtomole: RMS doesn't like Common Lisp. 2017-10-11T04:28:51Z jmercouris: paule32: paste.lisp.org 2017-10-11T04:28:56Z paule32: ah ok 2017-10-11T04:28:58Z SaganMan: he doesn't like some things in common lisp 2017-10-11T04:29:06Z emaczen: I'm working with my first CFFI project and I'm trying to get a byte array from a CvMat* 2017-10-11T04:29:53Z emaczen: I don't think I have any way of really knowing if I get the right pointer 2017-10-11T04:30:05Z jmercouris: vtomole: oh, it's most definitely intentional, common lisp makes way more sense than some arbitrary gnu definition of lisp 2017-10-11T04:30:26Z hexfive joined #lisp 2017-10-11T04:30:32Z emaczen: guile is scheme 2017-10-11T04:31:57Z paule32: http://paste.lisp.org/display/358274 2017-10-11T04:32:04Z beach: jmercouris: So, in summary, the plan is to work on Cleavir and SICL to create a safe Common Lisp system, to work on Second Climacs to get an order-of-magnitude improvement in development tools, ... 2017-10-11T04:32:05Z beach: to work on Clordane (http://metamodular.com/clordane.pdf) which will probably require SICL, to get an order-of-magnitude better debugger,, and to then work on LispOS (http://metamodular.com/clordane.pdf) using SICL as a basis. 2017-10-11T04:32:14Z vtomole: beach: But he's currently not working on emacs. So that shouldn't matter, right? So emacs devs also hate CL 2017-10-11T04:32:27Z beach: vtomole: I don't know. 2017-10-11T04:33:25Z emaczen: beach is making a second generation of lisp machines 2017-10-11T04:33:40Z pmetzger joined #lisp 2017-10-11T04:34:43Z jmercouris quit (Ping timeout: 255 seconds) 2017-10-11T04:35:06Z vtomole: beah: I didnt know about this clordane paper. Looks like ive got some reading to do. 2017-10-11T04:35:49Z beach: vtomole: None of that stuff exists yet, but it will be easier to create when SICL and Second Climacs exist. 2017-10-11T04:36:22Z beach: vtomole: It should also be seen as a statement of how I think existing Common Lisp systems should evolve (i.e., to be able to support such a thing). 2017-10-11T04:38:22Z beach: But I have no great hopes for that to happen, of course. 2017-10-11T04:38:47Z pmetzger quit (Ping timeout: 255 seconds) 2017-10-11T04:39:22Z Guest6344 quit (Ping timeout: 260 seconds) 2017-10-11T04:39:31Z vtomole: beach: About Second Climacs, if the editor is compiling the expressions while you are entering them. Is there a way to make it also check for type errors? 2017-10-11T04:40:06Z hexfive quit (Quit: WeeChat 1.9) 2017-10-11T04:40:41Z beach: vtomole: Yes, that might be possible to a certain extent. As you probably know, whether a Common Lisp program is correctly typed is undecidable. But there is a subset of common situations that we can check. 2017-10-11T04:40:59Z vtomole: Awesome! 2017-10-11T04:41:00Z beach: vtomole: The type inferencer catches some type errors. 2017-10-11T04:41:26Z vtomole: So the editor has a type inferencer. Cool! 2017-10-11T04:41:53Z paule32: emaczen: http://paste.lisp.org/display/358274 2017-10-11T04:41:54Z beach: Well, it will run the first few passes of the Cleavir compiler, and Cleavir has a type inferencer. 2017-10-11T04:41:59Z paule32: can you help? 2017-10-11T04:42:26Z emaczen: I'll take a look or try 2017-10-11T04:43:26Z emaczen: does require intern all symbols like use? 2017-10-11T04:43:41Z paule32: i don't know 2017-10-11T04:44:31Z pillton: You are better off using (eval-when (:compile-toplevel :load-toplevel :execute) (asdf:load-system "cffi")). 2017-10-11T04:44:40Z jmercouris joined #lisp 2017-10-11T04:45:05Z emaczen: paule32: I did (cffi:define-foreign-library ...) 2017-10-11T04:45:10Z pillton: The require operator isn't required to be associated with ASDF. 2017-10-11T04:45:29Z emaczen: but I actually don't need to since in my package.lisp file I have :cffi in the use-list 2017-10-11T04:45:40Z jmercouris: beach: what is LispOS? https://github.com/robert-strandh/LispOS 2017-10-11T04:45:59Z jmercouris: Just an OS entirely written in Lisp? Like graphics and everything? 2017-10-11T04:47:09Z emaczen: paule32: try putting :cffi in the use-list of your defpackage 2017-10-11T04:47:38Z emaczen: paule32: Also my defcfuns look different 2017-10-11T04:47:51Z emaczen: (defcfun "cvNamedWindow" :int (name :string) (flags :int)) 2017-10-11T04:48:19Z paule32: emaczen: i don't work 2017-10-11T04:48:32Z emaczen: is an example, where "cvNamedWindow is the name of the foreign function with return type int, and two function parameters 2017-10-11T04:48:33Z paule32: i quickload :cffi 2017-10-11T04:48:34Z beach: jmercouris: Yes, that's the one. It is not as hard as most people think. SICL has first-class global environments which is the bases of it. McCLIM already exists for the graphics stuff. 2017-10-11T04:48:57Z paule32: https://z0ltan.wordpress.com/2016/09/16/interop-mini-series-calling-c-and-c-code-from-common-lisp-using-cffi-part-1/ 2017-10-11T04:49:13Z beach: jmercouris: Making such a thing run on "bare metal" is the easy part. 2017-10-11T04:49:56Z beach: s/bases/basis/ 2017-10-11T04:51:47Z emaczen: paule32: I'm just reading the manual and the examples there 2017-10-11T04:51:55Z emaczen: https://www.common-lisp.net/project/cffi/manual/cffi-manual.html#Built_002dIn-Types 2017-10-11T04:52:48Z paule32: what is a unbound variable? 2017-10-11T04:53:32Z emaczen: paule32: there is a function #'boundp which checks if a symbol is bound 2017-10-11T04:53:45Z emaczen: it is bound if it has a symbol-value 2017-10-11T04:54:13Z paule32: how can i bound libkallup 2017-10-11T04:54:14Z paule32: ? 2017-10-11T04:55:15Z emaczen: do the C functions kallup_init_app and kallup_exec_app not have any parameters? 2017-10-11T04:55:36Z beach: emaczen: You may be wasting your time. My experience is that paule32 asks a lot of basic questions, but then doesn't follow the advice that is being offered. 2017-10-11T04:56:01Z paule32: no 2017-10-11T04:56:21Z pillton: paule32: (load-foreign-library 'libkallup) 2017-10-11T04:56:37Z emaczen: paule32: I actually have no (load-foreign-library ...) form 2017-10-11T04:56:55Z emaczen: I have (use-foreign-library ...) 2017-10-11T04:57:24Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-10-11T04:57:42Z paule32: yes, no it works, thank you @pillton 2017-10-11T04:57:56Z paule32: debugger invoked on a SB-INT:SIMPLE-PROGRAM-ERROR 2017-10-11T04:58:01Z paule32: is that external? 2017-10-11T04:58:02Z jameser joined #lisp 2017-10-11T04:58:43Z paule32: ah i read: 2017-10-11T04:58:57Z paule32: invalid number of arguments: 1 2017-10-11T04:59:10Z paule32: halejulia 2017-10-11T04:59:31Z emaczen: beach: can you look at http://paste.lisp.org/display/358268 and let me know what you think *bytes* is and how I can get a common-lisp array? 2017-10-11T05:00:00Z jmercouris: beach: I don't want to know what the hard part is 2017-10-11T05:00:05Z jmercouris: beach: are you compiling to x86? 2017-10-11T05:00:11Z paule32: emaczen: think in "assembler" 2017-10-11T05:00:27Z paule32: there structs are chunk of types 2017-10-11T05:00:36Z paule32: with it's range 2017-10-11T05:00:48Z paule32: or sizeof(int) e.g. 2017-10-11T05:01:21Z beach: jmercouris: I can't do much with that code. Sorry. 2017-10-11T05:01:38Z jmercouris: beach: so what are you compiling to? How are you running on bare metal? 2017-10-11T05:01:46Z beach: jmercouris: x86-64 is the initial main target, yes. 2017-10-11T05:02:15Z jmercouris: beach: Maybe the messages are abit out of order here, what code are you talking about? 2017-10-11T05:02:34Z paule32: can sbcl create native machine code - or is it converted byte code? 2017-10-11T05:02:36Z beach: jmercouris: Oh, sorry, wrong person. It was for emaczen. 2017-10-11T05:02:51Z beach: emaczen: I can't do much with that code. Sorry. 2017-10-11T05:03:23Z beach: jmercouris: I am just saying that if you have a Common Lisp system that compiles to native code, like most high-performance Common Lisp systems do, then turning that into something bootable is not very hard. 2017-10-11T05:03:27Z jmercouris: beach: speaking of following advice offered, I made 99% of the changes to my code base from your suggestion 2017-10-11T05:03:27Z yaocl joined #lisp 2017-10-11T05:03:36Z beach: Good. 2017-10-11T05:03:36Z emaczen: can anyone with CFFI experience tell me how to get a common-lisp array from *bytes* all I can get is different foreign pointers 2017-10-11T05:04:18Z jmercouris: beach: I still left some things global though, like the minibuffer access vars (for simplicity sake) and I didn't change my object accessors, they are verbose, but I think I prefer it that way 2017-10-11T05:04:57Z paule32: emaczen: pointers are "points" to address in memory 2017-10-11T05:05:08Z jmercouris: It's all kind of irrelevant though, I have to do some major rewrites soon, after the next minor version 2017-10-11T05:05:26Z paule32: then, if you allocate the right bytes, you can do anything pointers 2017-10-11T05:05:28Z beach: jmercouris: Contrary to common belief, most modern high-performance Common Lisp systems are not based on an interpreter, but on a compiler that generates native binary code. The common belief is based on the (wrong) idea that something interactive must be interpreted, and something compiled must generate a binary file. 2017-10-11T05:05:48Z jmercouris: beach: I thought only SBCL and ECL were compiled? 2017-10-11T05:06:02Z jmercouris: The other ones make like a "bytecode" which is sort of pseudo compiled no? 2017-10-11T05:06:10Z beach: jmercouris: CCL, LispWorks, Allegro, Clasp. 2017-10-11T05:06:28Z emaczen: paule32: then how can I use CFFI to convert the pointer into an array? 2017-10-11T05:06:32Z emaczen: common-lisp aray 2017-10-11T05:06:34Z emaczen: array* 2017-10-11T05:06:54Z emaczen: there is a function #'cffi:foreign-array-to-lisp 2017-10-11T05:07:00Z jmercouris: beach: You know that is interesting, I bet this belief stems from other languages that are interpreted but don't offer a compiler 2017-10-11T05:07:15Z jmercouris: If I had to guess, I would say most interpreted langauges do NOT offer a compiler 2017-10-11T05:07:25Z paule32: emaczen: as example: the string: "Hello" has 5 chars - with a postleading 0 so you can define a string of chars like in C "char buffer[100];" and you have a "static" string buffer 2017-10-11T05:07:31Z beach: jmercouris: There is no such thing as an "interpreted language". 2017-10-11T05:07:40Z jmercouris: beach: Yes there is :D 2017-10-11T05:07:43Z beach: jmercouris: No. 2017-10-11T05:07:44Z paule32: emaczen: in C/C++ strings ends with \0 2017-10-11T05:08:07Z beach: jmercouris: A language is a specification of what is acceptable. Whether things are compiled or interpreted is up to the implementation. 2017-10-11T05:08:26Z jmercouris: Ah yeah, that's what I meant 2017-10-11T05:08:36Z jmercouris: I was actually about to type 2017-10-11T05:08:44Z beach: jmercouris: C can be interpreted, for example. 2017-10-11T05:08:47Z jmercouris: "whether there exists a compiler depends on who is deciding to do the implementation" 2017-10-11T05:08:56Z emaczen: paule32: I know, my question is about using the CFFI to convert from the foreign pointer to a common-lisp array 2017-10-11T05:09:06Z jmercouris: that would be interesting, an interpreted version of C 2017-10-11T05:09:15Z jmercouris: I wonder what it would be like to have a C REPL 2017-10-11T05:09:30Z vtomole quit (Ping timeout: 260 seconds) 2017-10-11T05:09:38Z emaczen: it is also confusing because the data pointer is a union of different pointers 2017-10-11T05:09:47Z beach: jmercouris: Interpretation/compilation is a concept that is orthogonal to batch/interactive. 2017-10-11T05:09:48Z emaczen: jmercouris: download cling it is a c++ repl 2017-10-11T05:10:17Z jmercouris: beach: Yeah sure, I guess you COULD compile every time the user inputs something 2017-10-11T05:10:42Z beach: jmercouris: The (wrong) belief is based on the fact that most languages that are typically implemented with a compiler (like C) are also batch languages, and most languages that are interactive (like Python) are implemented with an interpreter. 2017-10-11T05:10:55Z beach: jmercouris: That is exactly what modern Common Lisp systems do. 2017-10-11T05:11:00Z jmercouris: emaczen: wow that is crazy 2017-10-11T05:11:13Z nika quit (Remote host closed the connection) 2017-10-11T05:11:28Z jmercouris: beach: I guess that is how I have always thought of it, thank you for clearing up that misconception in my head 2017-10-11T05:11:40Z beach: Sure. It's my job. 2017-10-11T05:11:49Z jmercouris: beach: are you a professor? 2017-10-11T05:11:51Z beach: Yes. 2017-10-11T05:11:57Z jmercouris: Ah okay, that makes sense then 2017-10-11T05:13:06Z Zhivago: Looking at a C interpreter can be educational. 2017-10-11T05:14:09Z Xal quit (Ping timeout: 248 seconds) 2017-10-11T05:14:20Z clintm joined #lisp 2017-10-11T05:14:29Z paule32: emaczen: sort-some-numbers 2017-10-11T05:14:34Z clintm is now known as Guest55853 2017-10-11T05:14:41Z paule32: at my posted link 2017-10-11T05:15:02Z shrdlu68 joined #lisp 2017-10-11T05:15:02Z paule32: https://z0ltan.wordpress.com/2016/09/16/interop-mini-series-calling-c-and-c-code-from-common-lisp-using-cffi-part-1/ 2017-10-11T05:15:05Z pmetzger joined #lisp 2017-10-11T05:15:28Z Bock joined #lisp 2017-10-11T05:15:40Z Xal joined #lisp 2017-10-11T05:15:40Z Guest55853 quit (Changing host) 2017-10-11T05:15:40Z Guest55853 joined #lisp 2017-10-11T05:16:31Z Guest55853 is now known as clintm 2017-10-11T05:19:30Z toy quit (Remote host closed the connection) 2017-10-11T05:20:17Z paule32: i have to, till later 2017-10-11T05:21:30Z ecraven quit (Remote host closed the connection) 2017-10-11T05:22:01Z impulse joined #lisp 2017-10-11T05:23:14Z vtomole joined #lisp 2017-10-11T05:27:00Z mishoo_ joined #lisp 2017-10-11T05:27:45Z araujo quit (Read error: Connection reset by peer) 2017-10-11T05:28:21Z araujo joined #lisp 2017-10-11T05:28:28Z Karl_Dscc joined #lisp 2017-10-11T05:30:03Z javmx joined #lisp 2017-10-11T05:32:27Z impulse quit (Ping timeout: 240 seconds) 2017-10-11T05:32:35Z al-damiri quit (Quit: Connection closed for inactivity) 2017-10-11T05:38:07Z yaocl quit (Quit: yaocl) 2017-10-11T05:40:23Z emaczen: can someone provide an example of cffi:foreign-array-to-lisp? 2017-10-11T05:41:49Z nika joined #lisp 2017-10-11T05:42:40Z rumbler31 joined #lisp 2017-10-11T05:45:24Z text1 quit (Read error: Connection reset by peer) 2017-10-11T05:47:02Z nika quit (Ping timeout: 260 seconds) 2017-10-11T05:47:08Z emaczen quit (Read error: Connection reset by peer) 2017-10-11T05:47:21Z rumbler31 quit (Ping timeout: 240 seconds) 2017-10-11T05:49:32Z dddddd quit (Remote host closed the connection) 2017-10-11T05:50:55Z vtomole quit (Ping timeout: 260 seconds) 2017-10-11T05:51:57Z emma quit (Remote host closed the connection) 2017-10-11T05:52:31Z Mon_Ouie quit (Ping timeout: 248 seconds) 2017-10-11T05:53:27Z ebzzry quit (Ping timeout: 260 seconds) 2017-10-11T05:54:35Z pmetzger quit (Ping timeout: 240 seconds) 2017-10-11T05:54:54Z Oddity quit 2017-10-11T05:56:49Z mishoo_ quit (Ping timeout: 248 seconds) 2017-10-11T05:57:11Z yxabc quit (Quit: AtomicIRC: The nuclear option.) 2017-10-11T05:58:14Z clintm: Do any of you do regular work in windows in one of the free compilers, and if so which one? I've tried sbcl, ccl, ecl, and mkcl, and they all have issues. 2017-10-11T06:00:00Z Zhivago: All things have issues, for a suitable definition of issue. 2017-10-11T06:00:16Z flamebeard joined #lisp 2017-10-11T06:00:40Z beach: clintm: Buy a commercial Common Lisp system, like LispWorks or Allegro. 2017-10-11T06:01:03Z clintm: beach: I'm typing the email to request an eval license of LW right now. 2017-10-11T06:02:09Z Devon quit (Ping timeout: 248 seconds) 2017-10-11T06:06:12Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-10-11T06:08:47Z Karl_Dscc quit (Remote host closed the connection) 2017-10-11T06:08:55Z javmx: https://portacle.github.io/ 2017-10-11T06:09:34Z vancan1ty quit (Ping timeout: 258 seconds) 2017-10-11T06:11:00Z beach: javmx: What about it? 2017-10-11T06:11:03Z jmercouris quit (Remote host closed the connection) 2017-10-11T06:11:49Z emaczen joined #lisp 2017-10-11T06:12:03Z javmx: clintm didn't mention these 2017-10-11T06:12:14Z Shinmera: He did, since Portacle uses SBCL. 2017-10-11T06:12:32Z javmx: mmm... right 2017-10-11T06:13:40Z clintm: Maybe I'm doing things wrong. I'm totally open to that. I hit some sort of deadlock in sbcl (i got the latest dist., but didn't rebuild it), and I can't get ccl to (quit) after loading a system. 2017-10-11T06:14:02Z Shinmera: Can't say I've encountered that before. 2017-10-11T06:14:57Z nika joined #lisp 2017-10-11T06:22:05Z scymtym quit (Ping timeout: 240 seconds) 2017-10-11T06:22:39Z iqubic_ quit (Remote host closed the connection) 2017-10-11T06:32:36Z nowhere_man quit (Remote host closed the connection) 2017-10-11T06:32:46Z hajovonta joined #lisp 2017-10-11T06:33:02Z nowhere_man joined #lisp 2017-10-11T06:33:02Z pmetzger joined #lisp 2017-10-11T06:33:24Z MrBismuth joined #lisp 2017-10-11T06:33:51Z yaocl joined #lisp 2017-10-11T06:34:17Z hajovonta: hello 2017-10-11T06:34:28Z Mon_Ouie joined #lisp 2017-10-11T06:35:13Z otwieracz quit (Ping timeout: 248 seconds) 2017-10-11T06:35:32Z otwieracz joined #lisp 2017-10-11T06:36:08Z MrBusiness quit (Ping timeout: 255 seconds) 2017-10-11T06:37:05Z ecraven joined #lisp 2017-10-11T06:37:21Z pmetzger quit (Ping timeout: 240 seconds) 2017-10-11T06:37:32Z beach: Hello hajovonta. 2017-10-11T06:38:53Z EvW joined #lisp 2017-10-11T06:39:57Z shka_: hey, hey, hey 2017-10-11T06:41:15Z turkja joined #lisp 2017-10-11T06:41:24Z beach: shka_: Non-proper nouns in singular form must usually take an article in English. You have tons of such instances in your documentation. Do you want to fix them first, or do you want me to find all of them for you. 2017-10-11T06:41:25Z beach: ? 2017-10-11T06:42:14Z shka_: so you did read my docs :D 2017-10-11T06:42:27Z shka_: it is so kind of you 2017-10-11T06:42:39Z beach: I started, but I found myself writing an item for each instance mentioned above, and it got boring. 2017-10-11T06:43:02Z beach: ... hence my question. 2017-10-11T06:43:17Z pillton quit (Ping timeout: 240 seconds) 2017-10-11T06:43:17Z shka_: do you happen to have your list? 2017-10-11T06:43:44Z beach: I have a list of all the occurrences in the first section. Do you want me to email it to you? 2017-10-11T06:44:06Z shka_: yes, it would be helpful 2017-10-11T06:44:17Z beach: I need your email address for that. 2017-10-11T06:44:31Z shka_: sirherrbatka at gmail dot com 2017-10-11T06:45:16Z yaocl quit (Quit: yaocl) 2017-10-11T06:45:18Z shka_: as for your question, obviously, you are wasting your time and in order to improve my skills i have to do it myself 2017-10-11T06:45:57Z shka_: so i would rather fix this whole class of issues first 2017-10-11T06:46:06Z beach: Well, it would be easier on me (and other readers), if you made a pass over the entire thing and fixed those occurrences. 2017-10-11T06:46:21Z beach: ... 'cause there are lots of them. 2017-10-11T06:47:04Z shka_: well, english is not my strong point, obviously 2017-10-11T06:47:05Z beach: Polish is your native language, right? It seems like other speakers of Polish have the same problem. 2017-10-11T06:47:18Z shka_: yes 2017-10-11T06:47:34Z beach: I understand there is a free version of Grammarly. 2017-10-11T06:47:35Z shka_: and you wanna know the funny part? 2017-10-11T06:47:41Z beach: Sure. 2017-10-11T06:47:44Z vlatkoB joined #lisp 2017-10-11T06:47:57Z shka_: i would have not known this without you 2017-10-11T06:49:16Z beach: Interesting. I am saying that because "knowing" is one thing, and being able to actually use it is another. I "know" the difference between infinitive and participle in French, but I often make the mistake anyway. 2017-10-11T06:49:27Z shka_: malice already pointed toward grammarly 2017-10-11T06:49:44Z shka_: i did not test it (yet) 2017-10-11T06:49:51Z shka_: hopefully it is actually good 2017-10-11T06:49:53Z beach: ... so I have to read what I wrote very carefully, without trying to understand it. Just to check the grammar. 2017-10-11T06:50:07Z beach: The product is great apparently. I don't know about the free version. 2017-10-11T06:50:22Z beach: It is written in Common Lisp, I hear. 2017-10-11T06:50:30Z shka_: oh 2017-10-11T06:50:31Z shka_: neat! 2017-10-11T06:51:07Z shka_: perhaps i can consider buying commercial if it is great 2017-10-11T06:51:15Z mishoo joined #lisp 2017-10-11T06:51:20Z beach: Maybe. I don't know how much it costs. 2017-10-11T06:51:20Z shka_: because my english is not any good 2017-10-11T06:51:43Z EvW quit (Ping timeout: 248 seconds) 2017-10-11T06:51:44Z beach: We need a free grammar checker written in Common Lisp, but that would be another biggish project. 2017-10-11T06:52:21Z javmx quit (Quit: Leaving) 2017-10-11T06:52:28Z shka_: it sounds more prologish to be honest 2017-10-11T06:52:53Z shka_: anyway, thank you once again for taking your time 2017-10-11T06:52:56Z beach: Not necessarily. There is some interesting parsing technology that can be used. 2017-10-11T06:53:17Z beach: shka_: Sure. I'll continue if you like, but it is going to take some time. 2017-10-11T06:53:19Z shka_: i assure you that this will not be in vein :-) 2017-10-11T06:53:22Z beach: Did you receive my email? 2017-10-11T06:53:34Z beach: Yes, I consider it an investment. :) 2017-10-11T06:54:02Z shka_: checking 2017-10-11T06:54:08Z shka_: yup 2017-10-11T06:54:32Z yaocl joined #lisp 2017-10-11T06:54:35Z shka_: splendid 2017-10-11T06:55:11Z beach: It's a bit long. Sorry about that. 2017-10-11T06:55:21Z beach: ... and it's just for one section. 2017-10-11T06:55:24Z shka_: beach: actually, i would rather fix this thing to not make you cringe all the time 2017-10-11T06:55:52Z mishoo_ joined #lisp 2017-10-11T06:55:53Z beach: That would be great. Then I can spend more time on the real issues in a fixed-up version. 2017-10-11T06:56:03Z shka_: agreed 2017-10-11T06:56:31Z shka_: well, then i will work on that 2017-10-11T06:56:38Z shka_: not today, perhaps tomorrow 2017-10-11T06:56:42Z beach: Great! 2017-10-11T06:57:24Z clintm: :( I thought grammarly was at least partially implemented in CL. From the looks of the open positions, it's java these days. 2017-10-11T06:57:33Z shka_: and i have to pretend to be professional data scientist, so i have to go ;-) 2017-10-11T06:57:37Z mishoo quit (Ping timeout: 260 seconds) 2017-10-11T06:58:30Z beach: clintm: That could be. It wouldn't be the first time ignorant programmers decide to rewrite software, rather than fixing their ignorance by learning the language. 2017-10-11T06:58:49Z Zhivago: Google docs are reasonably good at grammar checking, also. 2017-10-11T06:59:02Z beach: Oh? Interesting. 2017-10-11T07:02:25Z samebchase joined #lisp 2017-10-11T07:02:57Z hajovonta: well, CL is good for quick prototyping of data structures and ideas. But when the product grows, the development gets more serious. I mean, the company hires more people to work on the software, development loops are established and so on. I guess there are areas where CL is not suitable for the current trendy workflows and practices. 2017-10-11T07:03:04Z wigust joined #lisp 2017-10-11T07:03:06Z damke_ joined #lisp 2017-10-11T07:04:01Z damke quit (Ping timeout: 240 seconds) 2017-10-11T07:04:01Z shka_ quit (Ping timeout: 248 seconds) 2017-10-11T07:04:36Z hajovonta: don't get me wrong, I always start my projects in CL. But now I'm a situation where my project is really usable and my manager wants me to figure it out how can other people use it. 2017-10-11T07:05:44Z samebchase left #lisp 2017-10-11T07:06:18Z hajovonta: And the simple answer is: learn Emacs and CL, then several libraries like Hunchentoot or Smackjack, then have it configured like this, and you are good to go. 2017-10-11T07:06:24Z loke: hajovonta: Those "trendy" workflows are less efficient though. 2017-10-11T07:06:25Z hajovonta: Maybe I need to change it 2017-10-11T07:06:43Z pmetzger joined #lisp 2017-10-11T07:07:09Z hajovonta: loke: yes, when several people are working on the project, the workflow needs to be such that the stupider people can use it 2017-10-11T07:07:21Z damke_ quit (Ping timeout: 240 seconds) 2017-10-11T07:08:07Z samebchase joined #lisp 2017-10-11T07:08:57Z dec0n quit (Read error: Connection reset by peer) 2017-10-11T07:09:14Z angavrilov joined #lisp 2017-10-11T07:09:41Z hajovonta: but this "simple" approach might be very hard for others, so I think great CL projects are rewritten in another language after a while, because there are not so many CL programmers out there 2017-10-11T07:10:52Z dec0n joined #lisp 2017-10-11T07:10:53Z hajovonta: also, where CL really shines, is the quick prototyping and incremental compiling just to name a few, and after the idea is polished and implemented, it's not that hard to rewrite it 2017-10-11T07:11:09Z hajovonta: but after the rewrite, it becomes harder to maintain it and develop it further 2017-10-11T07:11:21Z hajovonta: I'm not certain that this fact is taken into account 2017-10-11T07:11:41Z yaocl quit (Quit: yaocl) 2017-10-11T07:11:52Z Shinmera: "It's not that hard to rewrite" is a wrong assessment in my opinion 2017-10-11T07:12:11Z hajovonta: Shinmera: can't apply to all projects 2017-10-11T07:12:36Z yaocl joined #lisp 2017-10-11T07:12:43Z hajovonta: Shinmera: I mean when the best approach is already worked out in CL, then that approach can be relatively easily implemented in other languages 2017-10-11T07:13:02Z Shinmera: "relatively easy" 2017-10-11T07:13:32Z hajovonta: more easily than having to work the approach out in that other language from the beginning 2017-10-11T07:13:36Z hajovonta: :) 2017-10-11T07:13:48Z Shinmera: That still does not warrant rewriting it rather than training people. 2017-10-11T07:14:23Z hajovonta: I agree. My rant was not about disagreeing, rather it's my view of the situation 2017-10-11T07:16:47Z ntinos quit (Remote host closed the connection) 2017-10-11T07:19:55Z neoncontrails joined #lisp 2017-10-11T07:24:56Z damke joined #lisp 2017-10-11T07:27:32Z scymtym joined #lisp 2017-10-11T07:28:08Z javmx joined #lisp 2017-10-11T07:36:01Z damke quit (Ping timeout: 240 seconds) 2017-10-11T07:36:14Z brendyn joined #lisp 2017-10-11T07:37:15Z damke joined #lisp 2017-10-11T07:39:42Z scymtym_ joined #lisp 2017-10-11T07:41:41Z quazimodo quit (Ping timeout: 240 seconds) 2017-10-11T07:41:48Z Nomikos joined #lisp 2017-10-11T07:42:33Z javmx quit (Quit: Leaving) 2017-10-11T07:43:48Z scymtym quit (Ping timeout: 246 seconds) 2017-10-11T07:43:57Z rumbler31 joined #lisp 2017-10-11T07:48:05Z pmetzger quit (Ping timeout: 240 seconds) 2017-10-11T07:49:24Z rumbler31 quit (Ping timeout: 246 seconds) 2017-10-11T07:50:48Z rogersm quit (Quit: rogersm) 2017-10-11T07:51:36Z shrdlu68 quit (Quit: Lost terminal) 2017-10-11T07:52:22Z varjag joined #lisp 2017-10-11T07:53:24Z panji joined #lisp 2017-10-11T07:58:49Z yaocl quit (Quit: yaocl) 2017-10-11T08:06:21Z damke quit (Ping timeout: 240 seconds) 2017-10-11T08:11:58Z hhdave joined #lisp 2017-10-11T08:14:06Z pmetzger joined #lisp 2017-10-11T08:17:44Z Oladon quit (Read error: Connection reset by peer) 2017-10-11T08:18:25Z yaocl joined #lisp 2017-10-11T08:19:11Z pmetzger quit (Ping timeout: 248 seconds) 2017-10-11T08:20:09Z pmetzger joined #lisp 2017-10-11T08:24:25Z yaocl quit (Quit: yaocl) 2017-10-11T08:24:35Z pmetzger quit (Ping timeout: 240 seconds) 2017-10-11T08:30:53Z bwv joined #lisp 2017-10-11T08:35:12Z yaocl joined #lisp 2017-10-11T08:39:24Z damke joined #lisp 2017-10-11T08:39:26Z marvin2 joined #lisp 2017-10-11T08:39:42Z alexmlw joined #lisp 2017-10-11T08:41:13Z Oddity joined #lisp 2017-10-11T08:49:48Z compro joined #lisp 2017-10-11T08:50:06Z pmetzger joined #lisp 2017-10-11T08:50:27Z CrazyEddy quit (Ping timeout: 240 seconds) 2017-10-11T08:52:35Z damke_ joined #lisp 2017-10-11T08:53:21Z damke quit (Ping timeout: 240 seconds) 2017-10-11T08:55:17Z yaocl quit (Quit: yaocl) 2017-10-11T08:55:25Z earl-ducaine quit (Remote host closed the connection) 2017-10-11T09:00:00Z araujo quit (Quit: Leaving) 2017-10-11T09:00:38Z yaocl joined #lisp 2017-10-11T09:02:15Z ym quit (Quit: Leaving) 2017-10-11T09:05:16Z _cosmonaut_ joined #lisp 2017-10-11T09:05:30Z m00natic joined #lisp 2017-10-11T09:06:31Z rgrau joined #lisp 2017-10-11T09:07:08Z nirved joined #lisp 2017-10-11T09:08:07Z ioa joined #lisp 2017-10-11T09:08:20Z ioa: good morning 2017-10-11T09:08:37Z damke joined #lisp 2017-10-11T09:08:49Z hajovonta: good morning ioa 2017-10-11T09:10:21Z damke_ quit (Ping timeout: 240 seconds) 2017-10-11T09:10:52Z phoe_: hallo 2017-10-11T09:12:19Z hajovonta: hi phoe_ 2017-10-11T09:12:59Z damke_ joined #lisp 2017-10-11T09:14:21Z damke quit (Ping timeout: 240 seconds) 2017-10-11T09:15:13Z Trystam joined #lisp 2017-10-11T09:15:46Z yaocl quit (Quit: yaocl) 2017-10-11T09:16:48Z ioa: hi phoe! 2017-10-11T09:17:24Z Tristam quit (Ping timeout: 258 seconds) 2017-10-11T09:17:25Z epony quit (Read error: Connection reset by peer) 2017-10-11T09:18:09Z epony joined #lisp 2017-10-11T09:19:16Z damke joined #lisp 2017-10-11T09:19:42Z Trystam quit (Ping timeout: 258 seconds) 2017-10-11T09:20:41Z damke_ quit (Ping timeout: 240 seconds) 2017-10-11T09:21:39Z yaocl joined #lisp 2017-10-11T09:29:28Z pmetzger quit (Ping timeout: 255 seconds) 2017-10-11T09:32:36Z cioran89 joined #lisp 2017-10-11T09:35:02Z damke_ joined #lisp 2017-10-11T09:37:01Z damke quit (Ping timeout: 240 seconds) 2017-10-11T09:37:29Z damke_ quit (Read error: Connection reset by peer) 2017-10-11T09:40:39Z yaocl quit (Quit: yaocl) 2017-10-11T09:41:34Z holly2 quit (Quit: WeeChat 1.5) 2017-10-11T09:45:16Z Ellenor is now known as Reinhilde 2017-10-11T09:45:56Z rumbler31 joined #lisp 2017-10-11T09:46:36Z damke_ joined #lisp 2017-10-11T09:50:01Z rumbler31 quit (Ping timeout: 240 seconds) 2017-10-11T09:52:39Z damke joined #lisp 2017-10-11T09:54:21Z damke_ quit (Ping timeout: 240 seconds) 2017-10-11T09:54:29Z pmetzger joined #lisp 2017-10-11T09:57:52Z manny8888 quit (Ping timeout: 260 seconds) 2017-10-11T09:59:35Z pmetzger quit (Ping timeout: 240 seconds) 2017-10-11T10:02:42Z damke_ joined #lisp 2017-10-11T10:03:21Z damke quit (Ping timeout: 240 seconds) 2017-10-11T10:08:22Z pmetzger joined #lisp 2017-10-11T10:09:19Z JSA_ quit (Ping timeout: 260 seconds) 2017-10-11T10:09:53Z Mon_Ouie quit (Ping timeout: 255 seconds) 2017-10-11T10:13:01Z pmetzger quit (Ping timeout: 240 seconds) 2017-10-11T10:13:49Z emma joined #lisp 2017-10-11T10:14:26Z cioran89 quit (Remote host closed the connection) 2017-10-11T10:15:46Z damke__ joined #lisp 2017-10-11T10:16:05Z damke_ quit (Ping timeout: 252 seconds) 2017-10-11T10:19:47Z margeas joined #lisp 2017-10-11T10:19:52Z libre-man joined #lisp 2017-10-11T10:23:59Z neoncontrails quit (Remote host closed the connection) 2017-10-11T10:29:47Z djinni` quit (Quit: Leaving) 2017-10-11T10:30:47Z Tristam joined #lisp 2017-10-11T10:32:22Z nachoba joined #lisp 2017-10-11T10:33:18Z djinni` joined #lisp 2017-10-11T10:35:57Z nachoba quit (Quit: Leaving) 2017-10-11T10:39:30Z damke__ quit (Ping timeout: 246 seconds) 2017-10-11T10:40:20Z damke_ joined #lisp 2017-10-11T10:42:18Z pmetzger joined #lisp 2017-10-11T10:44:30Z damke joined #lisp 2017-10-11T10:46:41Z damke_ quit (Ping timeout: 240 seconds) 2017-10-11T10:48:36Z jameser joined #lisp 2017-10-11T10:51:56Z Mon_Ouie joined #lisp 2017-10-11T10:54:41Z araujo joined #lisp 2017-10-11T10:54:42Z araujo quit (Changing host) 2017-10-11T10:54:42Z araujo joined #lisp 2017-10-11T10:55:48Z Bike joined #lisp 2017-10-11T11:00:22Z rippa joined #lisp 2017-10-11T11:02:21Z damke quit (Ping timeout: 240 seconds) 2017-10-11T11:02:29Z XachX quit (Ping timeout: 180 seconds) 2017-10-11T11:02:32Z rvirding quit (Ping timeout: 255 seconds) 2017-10-11T11:02:55Z angular_mike___ quit (Ping timeout: 248 seconds) 2017-10-11T11:03:27Z billstclair quit (Ping timeout: 248 seconds) 2017-10-11T11:03:53Z zkat quit (Ping timeout: 255 seconds) 2017-10-11T11:04:31Z stee_3 quit (Ping timeout: 248 seconds) 2017-10-11T11:04:48Z zkat joined #lisp 2017-10-11T11:05:08Z stee_3 joined #lisp 2017-10-11T11:05:08Z rvirding joined #lisp 2017-10-11T11:05:23Z billstclair joined #lisp 2017-10-11T11:06:35Z angular_mike___ joined #lisp 2017-10-11T11:06:42Z compro quit (Ping timeout: 260 seconds) 2017-10-11T11:08:38Z wxie joined #lisp 2017-10-11T11:09:22Z alexmlw quit (Ping timeout: 255 seconds) 2017-10-11T11:10:05Z Reinhilde is now known as Ellenor 2017-10-11T11:17:12Z malice joined #lisp 2017-10-11T11:17:52Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-10-11T11:21:57Z nika quit (Remote host closed the connection) 2017-10-11T11:22:47Z pmetzger quit (Ping timeout: 255 seconds) 2017-10-11T11:23:56Z damke joined #lisp 2017-10-11T11:26:21Z EvW joined #lisp 2017-10-11T11:33:13Z deba5e12 joined #lisp 2017-10-11T11:35:30Z salva0 joined #lisp 2017-10-11T11:36:51Z CrazyEddy joined #lisp 2017-10-11T11:43:56Z paule32: hello re 2017-10-11T11:43:59Z paule32: http://paste.lisp.org/display/358310 2017-10-11T11:44:06Z paule32: is that correct? 2017-10-11T11:44:17Z paule32: i would like have a class + members 2017-10-11T11:48:14Z salva0 quit (Quit: Leaving) 2017-10-11T11:48:27Z panji quit (Ping timeout: 240 seconds) 2017-10-11T11:48:28Z Denommus joined #lisp 2017-10-11T11:56:05Z EvW quit (Ping timeout: 255 seconds) 2017-10-11T11:57:24Z EvW1 joined #lisp 2017-10-11T11:58:41Z pmetzger joined #lisp 2017-10-11T11:59:29Z alexmlw joined #lisp 2017-10-11T11:59:57Z igemnace quit (Read error: Connection reset by peer) 2017-10-11T12:01:50Z panji joined #lisp 2017-10-11T12:02:45Z panji quit (Client Quit) 2017-10-11T12:03:13Z pmetzger quit (Ping timeout: 248 seconds) 2017-10-11T12:08:12Z zhormistr joined #lisp 2017-10-11T12:10:14Z EvW1 quit (Ping timeout: 246 seconds) 2017-10-11T12:14:34Z Josh_2 joined #lisp 2017-10-11T12:15:20Z deba5e12 quit (Quit: WeeChat 1.9.1) 2017-10-11T12:15:36Z deba5e12 joined #lisp 2017-10-11T12:23:24Z Amplituhedron joined #lisp 2017-10-11T12:29:07Z pmetzger joined #lisp 2017-10-11T12:32:27Z Bike quit (Ping timeout: 240 seconds) 2017-10-11T12:33:28Z manny8888 joined #lisp 2017-10-11T12:35:05Z dddddd joined #lisp 2017-10-11T12:35:41Z SAL9000 quit (Ping timeout: 240 seconds) 2017-10-11T12:35:51Z SAL9000_ joined #lisp 2017-10-11T12:40:53Z Sigyn quit (Quit: NO HEARTBEAT, NO SERVICE.) 2017-10-11T12:41:08Z alexmlw quit (Read error: Connection reset by peer) 2017-10-11T12:43:12Z Sigyn joined #lisp 2017-10-11T12:43:35Z SAL9000_ is now known as SAL9000 2017-10-11T12:44:07Z wigust quit (Ping timeout: 260 seconds) 2017-10-11T12:46:11Z wigust joined #lisp 2017-10-11T12:49:05Z mishoo_ quit (Ping timeout: 248 seconds) 2017-10-11T12:49:18Z mathi_aihtam joined #lisp 2017-10-11T12:53:00Z Jesin quit (Quit: Leaving) 2017-10-11T12:56:08Z yaocl joined #lisp 2017-10-11T12:56:17Z raynold quit (Quit: Connection closed for inactivity) 2017-10-11T12:57:56Z SAL9000_ joined #lisp 2017-10-11T12:59:58Z edgar-rft quit (Quit: edgar-rft) 2017-10-11T13:01:01Z damke quit (Ping timeout: 240 seconds) 2017-10-11T13:01:37Z SAL9000 quit (Ping timeout: 260 seconds) 2017-10-11T13:03:35Z pmetzger quit (Ping timeout: 255 seconds) 2017-10-11T13:03:58Z edgar-rft joined #lisp 2017-10-11T13:04:29Z Bike joined #lisp 2017-10-11T13:05:15Z rumbler31 joined #lisp 2017-10-11T13:06:19Z dlowe: paule32: that looks correct. you might want to just specify &key if you aren't going to use NAME 2017-10-11T13:06:40Z SAL9000_ is now known as SAL9000 2017-10-11T13:09:16Z beach: dlowe: It looks like shit. Wrong spacing, dangling parentheses, wrong number of semicolons, form without side effects in a context of no value, invalid form. All in 10 lines of code or so. But like I said, paule32 is not known to follow advice. 2017-10-11T13:09:39Z rumbler31 quit (Ping timeout: 246 seconds) 2017-10-11T13:10:02Z clintm quit (Read error: Connection reset by peer) 2017-10-11T13:11:14Z pmetzger joined #lisp 2017-10-11T13:11:27Z paule32: dlowe: i get error 2017-10-11T13:11:29Z paule32: ; caught STYLE-WARNING: 2017-10-11T13:11:29Z paule32: ; Undefined alien: "kallup_exec_app" 2017-10-11T13:11:51Z dlowe: that's not an error. 2017-10-11T13:11:57Z dlowe: it's a style warning 2017-10-11T13:12:06Z paule32: ok 2017-10-11T13:12:06Z dlowe: beach: I didn't say it looked good :p 2017-10-11T13:12:24Z paule32: how can i fix that dlowe 2017-10-11T13:13:23Z Josh_2: beach: to the point as always! 2017-10-11T13:13:40Z dlowe: paule32: define the alien function kallup_exec_app somehow 2017-10-11T13:14:18Z dlowe: actually, there is one error in there. the ' should be on the parenthesis, not on 'kallup-exec-app 2017-10-11T13:14:20Z paule32: dlowe: it is dummy ? 2017-10-11T13:14:49Z dlowe: paule32: well, it's an undefined dummy function, so you're going to get an error. 2017-10-11T13:15:24Z paule32: but, i did: (defcfun ("kallup_exec_app" kallup-exec-app) :int) 2017-10-11T13:15:33Z paule32: cffi 2017-10-11T13:15:50Z dlowe: that's a declaration, not a definition (despite the DEF*) 2017-10-11T13:16:13Z dlowe: you still need to load the necessary C library 2017-10-11T13:16:59Z vancan1ty joined #lisp 2017-10-11T13:17:06Z pmetzger quit 2017-10-11T13:17:41Z Nomikos left #lisp 2017-10-11T13:20:27Z paule32: dlowe: http://paste.lisp.org/display/358310#1 2017-10-11T13:21:18Z AxelAlex quit (Quit: AxelAlex) 2017-10-11T13:21:27Z sjl quit (Ping timeout: 260 seconds) 2017-10-11T13:21:41Z Amplituhedron quit (Ping timeout: 255 seconds) 2017-10-11T13:27:19Z Josh_2: paule32: You don't need to drop parens onto the next line 2017-10-11T13:27:59Z beach: Josh_2: He shouldn't. But he has been told this many many times. 2017-10-11T13:28:37Z Josh_2: Look weird 2017-10-11T13:28:39Z Josh_2: looks* 2017-10-11T13:29:14Z Josh_2: what is the print-info) at the end :O 2017-10-11T13:29:51Z dlowe: paule32: beats me. You might have to stare at it and think hard. 2017-10-11T13:30:05Z terpri quit (Ping timeout: 240 seconds) 2017-10-11T13:30:16Z Josh_2: and random ;; on newlines. Makes the crap I write look nice 2017-10-11T13:30:41Z dlowe doesn't judge. 2017-10-11T13:31:02Z dlowe: code is all awful. It's just a matter of degree. 2017-10-11T13:31:07Z Bike: does libkallup actually declare and export the symbol, and have a function for it? 2017-10-11T13:31:29Z Josh_2: Personally as much as beach tearing into everything I do, it's actually very beneficial to have someone crap on your code. As long as they show you how to do it properly 2017-10-11T13:31:29Z paule32: symbols in .so are ok 2017-10-11T13:31:55Z dlowe: code is especially awful when you're trying to figure something out and are just trying to get the one thing working 2017-10-11T13:31:58Z nachoba joined #lisp 2017-10-11T13:32:04Z Josh_2: Story of my life dlowe 2017-10-11T13:32:16Z Bike: I kind of don't believe you. 2017-10-11T13:33:31Z paule32: Josh_2: (defun print-info() (print (kallup-init-app))) ; work 2017-10-11T13:34:25Z froggey quit (Ping timeout: 248 seconds) 2017-10-11T13:34:38Z paule32: void kallup_init_app(void) { printf("Hello World!\n"); } 2017-10-11T13:35:41Z Bike: okay, but you were complaining about kallup-exec-app, no? 2017-10-11T13:35:49Z paule32: i forget to pre paren the last line in paste 2017-10-11T13:36:00Z paule32: yes Bike 2017-10-11T13:36:23Z froggey joined #lisp 2017-10-11T13:37:35Z yaocl quit (Quit: yaocl) 2017-10-11T13:38:11Z Bike: so... do you have kallup_exec_app? 2017-10-11T13:38:28Z paule32: http://paste.lisp.org/display/358310#2 2017-10-11T13:39:33Z Bike: does libkallup define kallup_exec_app. 2017-10-11T13:39:37Z paule32: http://paste.lisp.org/display/358310#3 2017-10-11T13:40:08Z Bike: so no, it has KALLUP_exec_app. try lowercasing it? 2017-10-11T13:40:23Z paule32: ok 2017-10-11T13:40:32Z paule32: arg 2017-10-11T13:40:33Z paule32: damm 2017-10-11T13:41:34Z Bike: What? 2017-10-11T13:42:00Z paule32: it work, thank you Bike 2017-10-11T13:42:03Z paule32: Hello World! 2017-10-11T13:42:03Z paule32: 0 2017-10-11T13:42:03Z paule32: #.(SB-SYS:INT-SAP #X0072E550) 2017-10-11T13:42:28Z vancan1ty quit (Ping timeout: 240 seconds) 2017-10-11T13:43:37Z Bike: next time please work out something like that on your own. it should have been kind of obvious, and with the information you chose to share with us, due to your belief that it was some kind of lisp problem, we couldn't have noticed it. 2017-10-11T13:43:49Z flamebeard quit (Quit: Leaving) 2017-10-11T13:44:06Z paule32: sorry 2017-10-11T13:44:59Z yaocl joined #lisp 2017-10-11T13:47:25Z Xach: Anyone have time & inclination to help me troubleshoot a weird problem I'm having with (I think) UIOP 3.3.0? 2017-10-11T13:47:36Z Xach: requirements: recent sbcl, quicklisp 2017-10-11T13:49:03Z Xach: Basically trying to see if a weird looping problem I'm seeing is a local issue or can be reproduced easily. 2017-10-11T13:49:24Z shka: Xach: i am at work, but i have fresh sbcl 2017-10-11T13:49:42Z shka: if this just involves running test, it shouldn't take much time 2017-10-11T13:49:55Z Xach: shka: can you fetch lhttps://common-lisp.net/project/asdf/archives/uiop.tar.gz and put it in ~/quicklisp/local-projects/ ? 2017-10-11T13:49:59Z Xach: sorry, no L 2017-10-11T13:50:03Z Xach: https://common-lisp.net/project/asdf/archives/uiop.tar.gz is the URL 2017-10-11T13:50:03Z shka: sure 2017-10-11T13:50:08Z shka: should i load it? 2017-10-11T13:50:29Z Xach: Not yet - now clear your cache with rm -rf ~/.cache/common-lisp/ and (ql:quickload "hu.dwim.presentation" :verbose t) 2017-10-11T13:50:36Z shka: ok 2017-10-11T13:50:40Z shka: give me a minute 2017-10-11T13:50:58Z Xach: What I observe is certain (maybe all?) files in uiop being recompiled over and over and over again. 2017-10-11T13:51:26Z dlowe: doesn't the hu.dwim stuff have its own hu.dwim.asdf? 2017-10-11T13:51:27Z jackdaniel: ah, I can provide some insight into that 2017-10-11T13:51:48Z jackdaniel: ASDF has UIOP registered as preregistered-system 2017-10-11T13:52:02Z jackdaniel: if any other system has dependency on UIOP 2017-10-11T13:52:21Z jackdaniel: UIOP will be loaded as a system (because ASDF doesn't treat preloaded-systems as loaded) 2017-10-11T13:52:33Z Xach: Ok... 2017-10-11T13:52:42Z jackdaniel: thanks to that it is possible to update UIOP version even on older ASDFs 2017-10-11T13:52:45Z Xach: Does that mean it must load over and over and over? 2017-10-11T13:52:49Z jackdaniel: one of bad side-effects of having UIOP bundled with ASDF 2017-10-11T13:53:23Z jackdaniel: I think that it will load over again on each new session, because UIOP is preloaded, so found system definition is found somewhere-else (hence redefinition warnings) 2017-10-11T13:53:31Z jackdaniel: but I think it doesn't recompile UIOP on each reload 2017-10-11T13:53:43Z shka: Xach: i assume that you no longer require any assistance? 2017-10-11T13:54:13Z shka: btw, yes it recompiles 2017-10-11T13:54:20Z Xach: shka: recompiles uiop stuff over and over and over? 2017-10-11T13:54:33Z jackdaniel: correct solution to that problem would be naming UIOP system and package (when bundled with asdf) something like ASDF/UIOP, so it is treated differently than UIOP library 2017-10-11T13:54:41Z Xach: jackdaniel: this seems to be a new behavior, because prior to 3.3.0 it did not work this way 2017-10-11T13:54:56Z shka: Xach: it eventually finished 2017-10-11T13:55:08Z jackdaniel: hm, my insight comes from development on 3.1.7, maybe it is not related 2017-10-11T13:55:12Z jackdaniel: to your problem 2017-10-11T13:55:12Z shka: or rather "finished" 2017-10-11T13:55:18Z jackdaniel: or maybe a regression 2017-10-11T13:55:22Z Xach: shka: really? for me it took almost 40 minutes 2017-10-11T13:55:24Z shka: there is any error at the end 2017-10-11T13:55:43Z shka: oh, sorry, it continues 2017-10-11T13:56:45Z sjl joined #lisp 2017-10-11T13:57:51Z mishoo joined #lisp 2017-10-11T13:59:39Z shka: Xach: it compiles uiop multiple times 2017-10-11T13:59:56Z Xach: Ok, thanks for the confirmation. 2017-10-11T14:00:14Z shka: before each dependency for this dwim project as it seems? 2017-10-11T14:01:43Z shka: anyway, i can't finish compiliation because some C header is missing 2017-10-11T14:02:04Z shka: but it repeats compilation of uiop 2017-10-11T14:02:09Z Xach: ok, thanks 2017-10-11T14:02:48Z arbv quit (Read error: Connection reset by peer) 2017-10-11T14:04:06Z arbv joined #lisp 2017-10-11T14:05:07Z LAG_ joined #lisp 2017-10-11T14:05:10Z cromachina quit (Read error: Connection reset by peer) 2017-10-11T14:05:46Z papachan joined #lisp 2017-10-11T14:09:41Z alexmlw joined #lisp 2017-10-11T14:09:52Z paule32: that is my smallest program ever coded in Lisp: http://paste.lisp.org/display/358310#4 2017-10-11T14:10:18Z paule32: Lisp rocks :-) 2017-10-11T14:11:28Z wxie quit (Remote host closed the connection) 2017-10-11T14:15:48Z hexfive joined #lisp 2017-10-11T14:15:55Z paule32: afk, because food buying ... 2017-10-11T14:17:36Z rumbler31 joined #lisp 2017-10-11T14:19:09Z sjl quit (Quit: WeeChat 1.9) 2017-10-11T14:19:47Z sjl joined #lisp 2017-10-11T14:20:53Z Jesin joined #lisp 2017-10-11T14:21:50Z arborist joined #lisp 2017-10-11T14:22:48Z varjag quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2017-10-11T14:23:10Z nachoba_ joined #lisp 2017-10-11T14:24:08Z nachoba quit (Ping timeout: 255 seconds) 2017-10-11T14:24:57Z manny8888_ joined #lisp 2017-10-11T14:25:22Z manny8888 quit (Remote host closed the connection) 2017-10-11T14:27:32Z yaocl quit (Quit: yaocl) 2017-10-11T14:28:36Z LiamH joined #lisp 2017-10-11T14:29:42Z nachoba_ quit (Ping timeout: 260 seconds) 2017-10-11T14:29:45Z miatomi joined #lisp 2017-10-11T14:29:59Z manny8888_ quit (Remote host closed the connection) 2017-10-11T14:30:22Z manny8888_ joined #lisp 2017-10-11T14:31:51Z emaczen` joined #lisp 2017-10-11T14:32:13Z igemnace joined #lisp 2017-10-11T14:34:06Z hajovonta: how can I open a second SBCL repl ? 2017-10-11T14:34:14Z hajovonta: in emacs 2017-10-11T14:34:53Z Bike: I think "M-x slime" and then answering yes you want to create a second *inferior-lisp* does it. 2017-10-11T14:35:19Z jackdaniel: that will create second inferior lisp (it doesn't ask) 2017-10-11T14:35:23Z hajovonta: but does that start another sbcl instance? 2017-10-11T14:35:23Z emaczen quit (Ping timeout: 255 seconds) 2017-10-11T14:35:38Z Bike: a second inferior lisp means another instance. 2017-10-11T14:35:40Z hajovonta: i want to use the existing lisp image but need a second repl 2017-10-11T14:35:49Z antoszka: yes, an "inferior lisp" is an instance, that emacs has control of 2017-10-11T14:35:50Z Bike: oh! oh, i see 2017-10-11T14:36:27Z scymtym_ quit (Ping timeout: 246 seconds) 2017-10-11T14:36:36Z jackdaniel: hajovonta: I think that there was slime-mrepl contrib 2017-10-11T14:36:37Z Bike: i think the mrepl contrib does that, but it might not work. 2017-10-11T14:36:39Z antoszka: hajovonta: so that's *not* another instance, but you'd like to reuse the same instance/image with another swank listener? 2017-10-11T14:36:59Z marcux joined #lisp 2017-10-11T14:37:08Z hajovonta: yes 2017-10-11T14:37:19Z hajovonta: i somehow managed to do it but can't reproduce :) 2017-10-11T14:37:43Z manny8888 joined #lisp 2017-10-11T14:38:00Z antoszka: TBH, I've never tried. What's your use-case? 2017-10-11T14:40:19Z jackdaniel: hajovonta: one way to do that is 2017-10-11T14:40:26Z jackdaniel: (swank::create-server ) 2017-10-11T14:40:30Z jackdaniel: and M-x slime-connect 2017-10-11T14:40:37Z jackdaniel: and don't close existing connection 2017-10-11T14:40:56Z manny8888_ quit (Ping timeout: 258 seconds) 2017-10-11T14:40:58Z jackdaniel: then you should have two repls 2017-10-11T14:41:01Z nowolfer quit (Ping timeout: 240 seconds) 2017-10-11T14:41:20Z jackdaniel: C-c C-x n in repl window will change the connection 2017-10-11T14:41:40Z hajovonta: sounds good 2017-10-11T14:41:46Z hajovonta: i actually have this 2017-10-11T14:41:59Z hajovonta: maybe i accidentally hit the shortcut that opens the connection 2017-10-11T14:42:10Z manny8888_ joined #lisp 2017-10-11T14:42:11Z hajovonta: thanks 2017-10-11T14:42:19Z nowolfer joined #lisp 2017-10-11T14:42:24Z jackdaniel: btw, you want to secure that port to not be accessible from outside 2017-10-11T14:42:29Z jackdaniel: sure 2017-10-11T14:42:46Z hajovonta: it's on a secure intranet, but yes, certainly 2017-10-11T14:44:13Z yaocl joined #lisp 2017-10-11T14:46:11Z manny8888 quit (Ping timeout: 255 seconds) 2017-10-11T14:51:31Z nachoba joined #lisp 2017-10-11T14:53:01Z arborist quit (Ping timeout: 255 seconds) 2017-10-11T14:53:34Z zhormistr quit (Quit: leaving) 2017-10-11T14:57:01Z ghull joined #lisp 2017-10-11T14:57:30Z sz0 joined #lisp 2017-10-11T14:57:50Z nika joined #lisp 2017-10-11T14:58:22Z paule32: given a string "1234" 2017-10-11T14:58:37Z paule32: given a math operator "+" 2017-10-11T14:59:02Z paule32: given a second string "2223834" 2017-10-11T14:59:29Z paule32: how can i calculate these two strings to one string as math result 2017-10-11T15:00:18Z yaocl quit (Quit: yaocl) 2017-10-11T15:00:37Z jackdaniel: (try (do "1234") (it "+") (yourself "2223834")) ; ← one of many possible solutions (arguably the best one) 2017-10-11T15:01:10Z mathi_aihtam quit (Quit: mathi_aihtam) 2017-10-11T15:01:44Z ghull quit (Remote host closed the connection) 2017-10-11T15:01:47Z Bike: you can get symbols from strings with find-symbol, and integers from strings with parse-integer. 2017-10-11T15:01:53Z paule32: first, i would count the numbers from right to left 2017-10-11T15:02:13Z dlowe: paule32: there's an entire field of programming called parsing that you should read up on 2017-10-11T15:03:01Z jackdaniel changed the topic of #lisp to: Common Lisp, the #1=(programmable . #1#) programming language logs: | contact op if muted | SBCL 1.4.0, CMUCL 21b, ECL 16.1.3, CCL 1.11 2017-10-11T15:04:45Z papachan quit (Quit: Saliendo) 2017-10-11T15:05:42Z jackdaniel changed the topic of #lisp to: Common Lisp, the #1=(programmable . #1#) programming language logs: | SBCL 1.4.0, CMUCL 21b, ECL 16.1.3, CCL 1.11 2017-10-11T15:08:15Z arborist joined #lisp 2017-10-11T15:11:10Z stnutt joined #lisp 2017-10-11T15:11:32Z papachan joined #lisp 2017-10-11T15:11:46Z brendyn quit (Ping timeout: 264 seconds) 2017-10-11T15:17:06Z epony quit (Remote host closed the connection) 2017-10-11T15:17:19Z LiamH quit (Ping timeout: 255 seconds) 2017-10-11T15:18:21Z dec0n quit (Read error: Connection reset by peer) 2017-10-11T15:18:34Z LiamH joined #lisp 2017-10-11T15:19:24Z PPop joined #lisp 2017-10-11T15:21:05Z rgrau quit (Ping timeout: 248 seconds) 2017-10-11T15:22:57Z LiamH quit (Ping timeout: 240 seconds) 2017-10-11T15:25:12Z nika quit (Remote host closed the connection) 2017-10-11T15:25:32Z nika joined #lisp 2017-10-11T15:26:24Z terpri joined #lisp 2017-10-11T15:26:52Z gigetoo quit (Ping timeout: 260 seconds) 2017-10-11T15:27:59Z emacsomancer quit (Remote host closed the connection) 2017-10-11T15:28:14Z mson joined #lisp 2017-10-11T15:29:27Z gigetoo joined #lisp 2017-10-11T15:33:24Z edgar-rft quit (Quit: edgar-rft) 2017-10-11T15:36:12Z nika quit (Remote host closed the connection) 2017-10-11T15:37:26Z FreeBirdLjj joined #lisp 2017-10-11T15:41:20Z attila_lendvai joined #lisp 2017-10-11T15:46:24Z kozy joined #lisp 2017-10-11T15:47:01Z deba5e12 quit (Ping timeout: 255 seconds) 2017-10-11T15:48:05Z emaczen`: with CFFI since pointers=arrays shouldn't I be able to call #'cffi:foreign-array-to-lisp on every pointer? 2017-10-11T15:48:06Z minion: emaczen`, memo from ferada: static variables via jss are like #"ClassName.fieldName" 2017-10-11T15:48:06Z minion: emaczen`, memo from ferada: jstatic is for static methods; if it doesn't find the method then the signature didn't match; re the jna warnings, you do have jna loaded? after (require 'jna) the call (jclass "com.sun.jna.Native") should give you something 2017-10-11T15:48:27Z manny8888_ quit (Quit: Konversation terminated!) 2017-10-11T15:48:40Z manny8888_ joined #lisp 2017-10-11T15:48:56Z |3b| joined #lisp 2017-10-11T15:49:11Z nika joined #lisp 2017-10-11T15:49:18Z onehrxn_ joined #lisp 2017-10-11T15:52:13Z kozy quit (Remote host closed the connection) 2017-10-11T15:52:22Z onehrxn_ quit (Client Quit) 2017-10-11T15:53:29Z mathi_aihtam joined #lisp 2017-10-11T15:54:01Z optikalmouse joined #lisp 2017-10-11T15:58:15Z ioa quit (Quit: Leaving.) 2017-10-11T16:00:41Z carenz_ joined #lisp 2017-10-11T16:04:13Z deba5e12 joined #lisp 2017-10-11T16:04:17Z Mon_Ouie quit (Ping timeout: 248 seconds) 2017-10-11T16:05:48Z carenz_ quit (Ping timeout: 240 seconds) 2017-10-11T16:09:22Z deba5e12 quit (Ping timeout: 264 seconds) 2017-10-11T16:10:33Z deba5e12 joined #lisp 2017-10-11T16:13:09Z serviteur joined #lisp 2017-10-11T16:18:32Z hajovonta quit (Quit: hajovonta) 2017-10-11T16:19:30Z nika quit 2017-10-11T16:21:52Z wigust quit (Remote host closed the connection) 2017-10-11T16:22:13Z Karl_Dscc joined #lisp 2017-10-11T16:27:25Z malice quit (Remote host closed the connection) 2017-10-11T16:28:48Z varjag joined #lisp 2017-10-11T16:28:49Z thblt joined #lisp 2017-10-11T16:29:52Z igemnace quit (Read error: Connection reset by peer) 2017-10-11T16:29:57Z _cosmonaut_ quit (Ping timeout: 240 seconds) 2017-10-11T16:31:58Z thblt left #lisp 2017-10-11T16:32:31Z thinkpad quit (Ping timeout: 248 seconds) 2017-10-11T16:36:01Z JuanDaugherty joined #lisp 2017-10-11T16:37:27Z manny8888_ quit (Ping timeout: 260 seconds) 2017-10-11T16:37:28Z m00natic quit (Read error: Connection reset by peer) 2017-10-11T16:37:39Z yeticry_ joined #lisp 2017-10-11T16:39:47Z yeticry quit (Ping timeout: 260 seconds) 2017-10-11T16:42:43Z JuanDaugherty quit (Quit: Ex Chat) 2017-10-11T16:43:10Z JuanDaugherty joined #lisp 2017-10-11T16:43:16Z hhdave quit (Ping timeout: 255 seconds) 2017-10-11T16:43:44Z nachoba_ joined #lisp 2017-10-11T16:44:53Z xunplini joined #lisp 2017-10-11T16:45:07Z xunplini left #lisp 2017-10-11T16:45:32Z Baggers joined #lisp 2017-10-11T16:46:44Z nachoba quit (Ping timeout: 246 seconds) 2017-10-11T16:47:26Z Denommus quit (Quit: rebooting) 2017-10-11T16:48:00Z h3r3tek joined #lisp 2017-10-11T16:48:25Z raynold joined #lisp 2017-10-11T16:52:09Z phf joined #lisp 2017-10-11T16:53:29Z phf: hello, does anybody know if you can make capi's browser-pane (lispworks) display html explicitly, without doing (..-navigate url)? 2017-10-11T16:54:13Z phoe_: phf: best ask on LispWorks's forums - they'll be able to answer CAPI questions much quicker 2017-10-11T16:54:22Z deba5e12 quit (Ping timeout: 264 seconds) 2017-10-11T16:54:47Z phoe_: they have a community forum specialized for LW, where Freenode's much more specialized in general standard CL questions and those related to free/open implementations 2017-10-11T16:55:08Z tax joined #lisp 2017-10-11T16:55:57Z phf: phoe_: i like to test the limit of #lisp's question answering abilities. fwiw i get roughly the same quality of answers for free/open implementations as i do for commercial ones, that is to say "low" 2017-10-11T16:56:23Z beach: phf: I think that is very unfair. 2017-10-11T16:56:44Z emaczen` quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2017-10-11T16:56:52Z beach: phf: Most questions about free implementations are answered to the best ability of the participants. 2017-10-11T16:56:57Z attila_lendvai quit (Quit: Leaving.) 2017-10-11T16:57:17Z beach: phf: But phoe is right, freenode is about FLOSS software. 2017-10-11T16:58:26Z beach: phf: Contrary to common belief, #lisp is not a "Lisp support channel". It is a forum for people who use and develop Common Lisp software, so its main purpose is not to answer questions about implementations. 2017-10-11T16:58:56Z beach: phf: For example #sbcl can be used for questions related to SBCL. 2017-10-11T17:00:08Z beach: phf: What you said is quite insulting to many people who spend a lot of time trying to help out whenever someone needs it. 2017-10-11T17:02:22Z nachoba_ quit (Quit: Leaving) 2017-10-11T17:03:09Z phf: beach: well, i used to spend time on #lisp answering questions, and being a professional lisp developer i would suspect that my answers were worthwhile. i find that the s/n has dropped significantly, but that's ~my~ impressions, and that's why i don't lurk here. i periodically drop by to ask questions though, which is selfish of me, but i also want to see if there's perhaps some change in the landscape 2017-10-11T17:03:33Z deba5e12 joined #lisp 2017-10-11T17:04:25Z Bike: i don't think you're going to determine that very well from brief "tests" 2017-10-11T17:04:30Z phf: beach: i appreciate all the work ~you~ and others that i can name specifically did for #lisp and lisp community though. i also apologize for baiting. an answer "go elsewhere" is mildly annoying though, because i know for a fact there are people who do professional lispworks dev lurking here 2017-10-11T17:06:38Z phf: Bike: i agree, i usually wait though until i find the answer to then also answer my own question in case anyone was curious, and/or reading the logs 2017-10-11T17:06:40Z jackdaniel: being "tested" is mildly annoying as well 2017-10-11T17:07:10Z damke joined #lisp 2017-10-11T17:07:21Z jackdaniel: paid software comes with paid support, free software has to depend on people donating their free time 2017-10-11T17:08:17Z aindilis` quit (Ping timeout: 248 seconds) 2017-10-11T17:08:20Z Baggers quit (Remote host closed the connection) 2017-10-11T17:09:15Z Bike: yeah, i figure if you /have/ lispworks you have more dedicated resources 2017-10-11T17:12:08Z phf: Bike: well, i'm not talking about ~quality of support~ here, but rather the s/n. it would be entirely silly of me to come to #lisp and expect correct answer! 2017-10-11T17:12:21Z sjl quit (Quit: WeeChat 1.9) 2017-10-11T17:13:00Z jackdaniel: hard to put *this* discussion in signal basket either ,) 2017-10-11T17:14:45Z phf: well, in that case i will then just add that if the only thing you have in your browser widget is a url browsing function, then adding a local webserver and hosting ad hoc pages is one solution, but i'd like it to be that of last resort.. 2017-10-11T17:18:19Z sjl joined #lisp 2017-10-11T17:18:41Z d4ryus1 is now known as d4ryus 2017-10-11T17:22:32Z drmeister: I was looking at the Google paper on energy efficiency of different languages paper again. 2017-10-11T17:23:03Z drmeister: The guy who wrote the Lisp (using SBCL) examples took a lot of pains to improve performance. 2017-10-11T17:23:05Z drmeister: https://github.com/greensoftwarelab/Energy-Languages/blob/master/Lisp/mandelbrot/mandelbrot.lisp 2017-10-11T17:23:14Z drmeister: That's the mandelbrot code 2017-10-11T17:23:42Z drmeister: There's a lot of #+x86 feature specific code 2017-10-11T17:24:02Z drmeister: And things like: #+x86-64(declaim (inline vops::complex-double-float/sse-*)) 2017-10-11T17:24:27Z schoppenhauer quit (Ping timeout: 240 seconds) 2017-10-11T17:26:11Z phoe_: He did. Wow. 2017-10-11T17:27:11Z drmeister: Kudos to the programmer and... is this what needs to be done to get the 'ultimate' in performance? 2017-10-11T17:28:11Z drmeister: I like this paper because it justifies my entire world view. 2017-10-11T17:28:37Z drmeister: Lisp is the fastest, most efficient dynamic language - much, much better than Python. 2017-10-11T17:31:01Z schoppenhauer joined #lisp 2017-10-11T17:32:48Z phoe_: drmeister: the "ultimate" in performance is basically either writing as close to compiler-optimized routines as you can or writing as close to assembly as you can 2017-10-11T17:32:59Z phoe_: and all of that comes with a lot of thought required. 2017-10-11T17:33:17Z Harag joined #lisp 2017-10-11T17:33:29Z phoe_: and effort, and lack of introspection and debuggability. 2017-10-11T17:38:29Z Harag: I have never really used trace but tonight I need to get to grips with it, I started (tried in repl and slime emacs menus) a trace on a function called by an a hunchentoot page but I am not seeing any output of the trace anywhere. What would "block" trace output to repl or slime trace buffer? 2017-10-11T17:38:42Z Jesin quit (Ping timeout: 260 seconds) 2017-10-11T17:39:13Z phoe_: Harag: the function not being called 2017-10-11T17:39:22Z phoe_: is trace working for anything else? 2017-10-11T17:39:27Z phoe_: (trace +) (+ 2 2) 2017-10-11T17:39:29Z Harag: phoe: I have a break in the function and its is being called 2017-10-11T17:39:33Z phoe_: hm 2017-10-11T17:39:48Z phoe_: clhs *trace-output* 2017-10-11T17:39:49Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/v_debug_.htm 2017-10-11T17:39:53Z Harag: 0: (+ 3 4) 2017-10-11T17:39:53Z Harag: 0: + returned 7 2017-10-11T17:40:53Z JuanDaugherty quit (Remote host closed the connection) 2017-10-11T17:40:59Z phoe_: perhaps the function call was inlined and is therefore untraceable. 2017-10-11T17:41:27Z phoe_: wnat are the optimization settings that you compiled your code with? 2017-10-11T17:41:48Z Harag: (declaim (optimize (debug 3))) 2017-10-11T17:42:04Z Jesin joined #lisp 2017-10-11T17:42:46Z phoe_: drmeister: http://benchmarksgame.alioth.debian.org/u64q/program.php?test=mandelbrot&lang=sbcl&id=3 is (almost) completely portable though and it's twice as slow as the version you linked. 2017-10-11T17:42:52Z vlatkoB_ joined #lisp 2017-10-11T17:43:24Z phoe_: Harag: can you DECLAIM NOTINLINE the function that you are trying to trace and recompile the callers of that function? 2017-10-11T17:43:52Z phf: Harag: you want to look into *inferior-lisp* buffer, that's where the trace is most likely being output 2017-10-11T17:44:49Z phoe_: actually, no - I have all of my trace-output in the slime repl. 2017-10-11T17:45:13Z phoe_ bbl 2017-10-11T17:46:39Z vlatkoB quit (Ping timeout: 248 seconds) 2017-10-11T17:48:02Z phf: Harag: your hunchentoot handlers are running in own threads, where various output streams are ~not~ bound to the swank ones, so you want to look at the buffer where the actual sbcl process output goes 2017-10-11T17:48:03Z JuanDaugherty joined #lisp 2017-10-11T17:48:10Z Harag: phf: aaah you are right that is where it is ending up 2017-10-11T17:48:35Z Mon_Ouie joined #lisp 2017-10-11T17:51:22Z _death: may consider logging (say using log4cl) rather than tracing in this scenario 2017-10-11T17:54:04Z emacsomancer joined #lisp 2017-10-11T17:54:15Z rocx joined #lisp 2017-10-11T17:56:43Z SaganMan quit (Quit: WeeChat 1.6) 2017-10-11T17:56:43Z Harag: that trace out put is a real let down two lines and the out put of the function if I want to see whats going on inside do I have to trace every one of the functions used inside it? 2017-10-11T17:59:55Z Harag: _death: yeah that would be a longer term solution I suppose, thanx will book mark and investigate 2017-10-11T18:00:12Z LiamH joined #lisp 2017-10-11T18:00:19Z Harag: a well I suppose its back to old break for tonight 2017-10-11T18:03:59Z sjl quit (Read error: Connection reset by peer) 2017-10-11T18:04:00Z nirved quit (Quit: Leaving) 2017-10-11T18:04:02Z turkja quit (Read error: No route to host) 2017-10-11T18:04:14Z sjl joined #lisp 2017-10-11T18:10:19Z emaczen joined #lisp 2017-10-11T18:12:01Z damke quit (Ping timeout: 240 seconds) 2017-10-11T18:15:50Z neoncontrails joined #lisp 2017-10-11T18:20:07Z tmc quit (Ping timeout: 260 seconds) 2017-10-11T18:22:26Z AxelAlex joined #lisp 2017-10-11T18:25:36Z shwouchk joined #lisp 2017-10-11T18:29:41Z Bock quit (Ping timeout: 240 seconds) 2017-10-11T18:37:04Z DingoSaar joined #lisp 2017-10-11T18:37:04Z Ven joined #lisp 2017-10-11T18:37:28Z Ven is now known as Guest75286 2017-10-11T18:38:25Z FreeBirdLjj quit (Remote host closed the connection) 2017-10-11T18:38:57Z miatomi quit (Ping timeout: 240 seconds) 2017-10-11T18:41:32Z Guest75286 quit (Ping timeout: 255 seconds) 2017-10-11T18:42:49Z DingoSaar quit (Ping timeout: 258 seconds) 2017-10-11T18:43:48Z edgar-rft joined #lisp 2017-10-11T18:45:30Z phoe_: Harag: yes - trace only shows function calls with arguments and their return values 2017-10-11T18:45:34Z phoe_: you might prefer STEP instead 2017-10-11T18:45:41Z aeth quit (Read error: Connection reset by peer) 2017-10-11T18:46:30Z aeth joined #lisp 2017-10-11T18:54:26Z DingoSaar joined #lisp 2017-10-11T18:58:07Z tax quit (Quit: Leaving) 2017-10-11T19:00:24Z akovalenko joined #lisp 2017-10-11T19:02:41Z FreeBirdLjj joined #lisp 2017-10-11T19:06:35Z nowhereman joined #lisp 2017-10-11T19:06:54Z nowhere_man quit (Quit: Konversation terminated!) 2017-10-11T19:09:49Z nast joined #lisp 2017-10-11T19:10:31Z nowhere_man joined #lisp 2017-10-11T19:11:20Z sjl_ joined #lisp 2017-10-11T19:11:21Z nowhereman quit (Ping timeout: 240 seconds) 2017-10-11T19:15:32Z cyberlard quit (Quit: Leaving) 2017-10-11T19:16:26Z cyberlard joined #lisp 2017-10-11T19:18:35Z h3r3tek quit (Ping timeout: 240 seconds) 2017-10-11T19:18:53Z yrk joined #lisp 2017-10-11T19:19:37Z vibs29 quit (Ping timeout: 260 seconds) 2017-10-11T19:19:51Z Josh_2 quit (Remote host closed the connection) 2017-10-11T19:22:01Z vibs29 joined #lisp 2017-10-11T19:30:47Z rocx quit (Quit: class) 2017-10-11T19:35:29Z sjl_ quit (Ping timeout: 248 seconds) 2017-10-11T19:36:38Z phf: found a mac specific way to throw a webkit window up with lispworks and render an arbitrary string http://paste.lisp.org/+7OHR i distilled it from examples/objc/web-kit.lisp. good enough for me 2017-10-11T19:39:17Z Rawriful joined #lisp 2017-10-11T19:40:01Z Josh_2 joined #lisp 2017-10-11T19:41:20Z Amplituhedron joined #lisp 2017-10-11T19:43:20Z scymtym joined #lisp 2017-10-11T19:43:49Z didi joined #lisp 2017-10-11T19:44:01Z didi: Is there a function to convert an integer to an array of bits? 2017-10-11T19:45:09Z Bike: an actual array? No. 2017-10-11T19:45:24Z didi: A list maybe? 2017-10-11T19:45:27Z Bike: but you can treat integers as vectors of bits in a few ways. 2017-10-11T19:46:00Z didi: Bike: I've been using LOOP and LOGBITP. Maybe there is a better way? 2017-10-11T19:46:19Z Bike: logbitp is basically it 2017-10-11T19:46:20Z les quit (Quit: "") 2017-10-11T19:46:23Z Bike: what are you trying to do particularly 2017-10-11T19:46:25Z dlowe: (read-from-string (format nil "#*~b" num)) ;) 2017-10-11T19:46:49Z didi: Bike: I am using an integer to represent my data and I want to get to specific bits. 2017-10-11T19:47:06Z _death: ldb is useful for that 2017-10-11T19:47:09Z didi: dlowe: Uh, cool. 2017-10-11T19:47:11Z dlowe: why not just keep it as an integer? 2017-10-11T19:47:13Z Bike: that's what logbitp does. 2017-10-11T19:47:21Z didi: dlowe: Indeed. Just to print it. 2017-10-11T19:47:34Z PPop: didi: what problems do you have with just treating integers as a sequence of bits? 2017-10-11T19:47:43Z dlowe: if you just want to print it, use format and ~b 2017-10-11T19:47:49Z didi: So I can do (format t "~{~A ... ~}" ...) 2017-10-11T19:48:13Z didi: PPop: A sequence of true and false values. 2017-10-11T19:49:09Z didi: Thank you, everyone. 2017-10-11T19:49:53Z _death: may be cute, but converting to a string in order to convert it to a bit vector is not what I'd consider good code.. note dlowe's smily 2017-10-11T19:50:09Z didi: Ah... I didn't notice it. 2017-10-11T19:50:31Z Bike: so you want to have 7 and get T T T printed? 2017-10-11T19:51:07Z vlatkoB_ quit (Remote host closed the connection) 2017-10-11T19:52:34Z didi: Bike: I actually have something like (format t "~{ ... ~}" (loop for i below 7 collect (if (logbitp i datum) 'true 'false))) 2017-10-11T19:54:47Z phoe_: >'true 'false 2017-10-11T19:54:53Z phoe_: ouch - why not T and NIL? 2017-10-11T19:55:02Z phf left #lisp 2017-10-11T19:55:07Z didi: *shrug* 2017-10-11T19:55:07Z _death: or T and F 2017-10-11T19:55:12Z phoe_: the atom FALSE is true in Lisp, and so is F 2017-10-11T19:55:20Z phoe_: (if 'false 1 2) ;=> 1 2017-10-11T19:55:52Z _death: (defconstant false nil) 2017-10-11T19:56:56Z les joined #lisp 2017-10-11T19:58:19Z _death: (defmacro my-quote (object) (list 'quote (if (eq object 'false) nil object))) 2017-10-11T20:00:20Z phoe_: _death: :( 2017-10-11T20:01:12Z _death: phoe: you should've responded with (if (car '(false)) 1 2) ;) 2017-10-11T20:01:29Z nast quit (Quit: nast) 2017-10-11T20:03:01Z aindilis joined #lisp 2017-10-11T20:05:03Z Bike: didi: i mean, you could avoid some consing, but probably the i/o will dominate the time 2017-10-11T20:05:33Z didi: Bike: oic. Thanks. 2017-10-11T20:05:56Z epony joined #lisp 2017-10-11T20:07:33Z Baggers joined #lisp 2017-10-11T20:13:04Z Qtest joined #lisp 2017-10-11T20:13:22Z akovalenko quit (Remote host closed the connection) 2017-10-11T20:13:23Z Qtest left #lisp 2017-10-11T20:13:45Z akovalenko joined #lisp 2017-10-11T20:13:52Z serviteur quit (Read error: Connection reset by peer) 2017-10-11T20:16:15Z h3r3tek joined #lisp 2017-10-11T20:18:00Z mson quit (Quit: Connection closed for inactivity) 2017-10-11T20:18:01Z h3r3tek quit (Read error: Connection reset by peer) 2017-10-11T20:18:10Z h3r3tek joined #lisp 2017-10-11T20:18:29Z handicraftsman joined #lisp 2017-10-11T20:18:40Z handicraftsman: ?OTRv23? 2017-10-11T20:18:42Z handicraftsman left #lisp 2017-10-11T20:20:27Z PPop quit (Ping timeout: 240 seconds) 2017-10-11T20:22:11Z handicraftsman joined #lisp 2017-10-11T20:22:13Z handicraftsman left #lisp 2017-10-11T20:26:19Z FreeBirdLjj quit (Remote host closed the connection) 2017-10-11T20:26:54Z FreeBirdLjj joined #lisp 2017-10-11T20:28:54Z optikalmouse quit (Quit: optikalmouse) 2017-10-11T20:31:22Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2017-10-11T20:32:19Z Karl_Dscc quit (Remote host closed the connection) 2017-10-11T20:33:48Z Baggers left #lisp 2017-10-11T20:36:30Z DingoSaar_ joined #lisp 2017-10-11T20:38:10Z shifty quit (Ping timeout: 255 seconds) 2017-10-11T20:39:58Z DingoSaar quit (Ping timeout: 255 seconds) 2017-10-11T20:42:07Z akovalenko quit (Ping timeout: 248 seconds) 2017-10-11T20:42:27Z schoppenhauer quit (Ping timeout: 260 seconds) 2017-10-11T20:42:36Z shka_ joined #lisp 2017-10-11T20:42:53Z emaczen quit (Remote host closed the connection) 2017-10-11T20:44:19Z schoppenhauer joined #lisp 2017-10-11T20:46:00Z KongWubba joined #lisp 2017-10-11T20:47:10Z Jesin quit (Quit: Leaving) 2017-10-11T20:47:12Z vtomole joined #lisp 2017-10-11T20:47:54Z vtomole: How do you return a lists of lists all at once? (return-at-once '((1 apple) (2 orange) (3 pear))) => (1 apple) (2 orange) (3 pear) 2017-10-11T20:48:08Z sjl quit (Ping timeout: 240 seconds) 2017-10-11T20:48:08Z vtomole: I basically want to remove the outermost parentheses. 2017-10-11T20:48:14Z Josh_2: values 2017-10-11T20:48:26Z Josh_2: clhs values 2017-10-11T20:48:26Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/a_values.htm 2017-10-11T20:48:30Z Josh_2: I believe that's it 2017-10-11T20:49:08Z vtomole: Heh perfect. Thanks 2017-10-11T20:50:45Z pierpa joined #lisp 2017-10-11T20:52:00Z vtomole: What if they are in a list? (values '((1 apple) (2 orange) (3 pear))) != (1 apple) (2 orange) (3 pear) Do I need to write a function that recusively returns values? 2017-10-11T20:52:17Z emaczen joined #lisp 2017-10-11T20:52:33Z motersen joined #lisp 2017-10-11T20:53:22Z didi: vtomole: values-list 2017-10-11T20:54:00Z Bike: do you know how to deal with multiple values, though? 2017-10-11T20:54:23Z vtomole: didi: Heh wow. I basically spent the last 30-mins reinventing values-list. 2017-10-11T20:54:33Z didi: vtomole: (apply 'values list) ;-) 2017-10-11T20:55:13Z didi: Hum. Interesting that `values-list' exist. 2017-10-11T20:55:41Z deba5e12 quit (Ping timeout: 240 seconds) 2017-10-11T20:55:50Z didi: Maybe something about the limit of the number of arguments to functions? 2017-10-11T20:57:54Z deba5e12 joined #lisp 2017-10-11T20:58:14Z vtomole: Bike: I don't. I'm learning how to do that now. 2017-10-11T20:58:24Z Bike: for what purpose are you doing this? 2017-10-11T20:58:37Z Bike: i'm a bit worried about the concept confusion behind "remove the outermost parentheses" is all. 2017-10-11T20:58:47Z AxelAlex quit (Ping timeout: 260 seconds) 2017-10-11T20:59:04Z Bike: didi: don't think there's any huge reason, it's just sometimes convenient. 2017-10-11T20:59:11Z didi: Bike: ic 2017-10-11T20:59:39Z Bike: there is a limit on the number of arguments to functions, but there's also a limit on the number of values you can return, and it's probably not any higher. 2017-10-11T20:59:57Z sjl joined #lisp 2017-10-11T21:00:38Z akovalenko joined #lisp 2017-10-11T21:01:07Z vtomole: There is a library that takes s-expr in order ( run (1 apple) (2 pear) (3 orange)) But I want to able to do (return-at-once '((1 apple) (2 orange) (3 pear))) to converit it what the run function wants 2017-10-11T21:01:18Z vtomole: *convert 2017-10-11T21:01:34Z Bike: You mean, the "run" function takes three arguments? 2017-10-11T21:01:56Z vtomole: It takes &optional 2017-10-11T21:01:57Z White_Flame: that looks like a macro. if it was a function it would be (run '(1 apple) '(2 pear) '(3 orange)) 2017-10-11T21:02:32Z Bike: if it is a function, you can use the elements of a list as arguments to a function more easily 2017-10-11T21:04:02Z vtomole: Sorry, yes. I just checked and run is a macro 2017-10-11T21:04:29Z White_Flame: then if you want to generate parameters to call it, that generator needs to be a macro as well 2017-10-11T21:04:40Z pjb joined #lisp 2017-10-11T21:04:45Z White_Flame: so it can all collapse down into real code at compile-time 2017-10-11T21:05:49Z vtomole: Sure 2017-10-11T21:06:15Z Bike: and it doesn't have to do with values in either case. 2017-10-11T21:13:12Z Kaisyu quit (Quit: Connection closed for inactivity) 2017-10-11T21:13:51Z Bike quit (Ping timeout: 258 seconds) 2017-10-11T21:14:57Z KongWubba quit (Quit: Yaaic - Yet another Android IRC client - http://www.yaaic.org) 2017-10-11T21:17:21Z shka_ quit (Ping timeout: 248 seconds) 2017-10-11T21:30:58Z Xof joined #lisp 2017-10-11T21:36:28Z jmercouris joined #lisp 2017-10-11T21:36:40Z varjag quit (Ping timeout: 255 seconds) 2017-10-11T21:37:05Z shrdlu68 joined #lisp 2017-10-11T21:48:06Z motersen quit (Quit: rcirc on GNU Emacs 25.3.1) 2017-10-11T21:48:20Z Bike joined #lisp 2017-10-11T21:48:49Z foom quit (Ping timeout: 255 seconds) 2017-10-11T21:53:02Z sjl quit (Ping timeout: 260 seconds) 2017-10-11T21:53:11Z alexmlw quit (Quit: alexmlw) 2017-10-11T21:54:40Z orivej joined #lisp 2017-10-11T21:56:12Z LiamH quit (Quit: Leaving.) 2017-10-11T21:56:47Z mishoo quit (Ping timeout: 258 seconds) 2017-10-11T21:58:09Z foom joined #lisp 2017-10-11T22:01:24Z iqubic joined #lisp 2017-10-11T22:02:35Z iqubic: How does CLOS deal with the diamond problem that arises from multiple inheritence? 2017-10-11T22:03:11Z varjag joined #lisp 2017-10-11T22:03:32Z iqubic: I know I should't be trying to compare CLOS to Java or C++, but this has been nagging me for a bit now. 2017-10-11T22:03:33Z epony quit (Read error: Connection reset by peer) 2017-10-11T22:04:07Z epony joined #lisp 2017-10-11T22:04:43Z DeadTrickster_ joined #lisp 2017-10-11T22:05:13Z epony quit (Read error: Connection reset by peer) 2017-10-11T22:05:35Z epony joined #lisp 2017-10-11T22:07:35Z DeadTrickster quit (Ping timeout: 240 seconds) 2017-10-11T22:08:01Z varjag quit (Ping timeout: 240 seconds) 2017-10-11T22:08:46Z _death: iqubic: http://www.gigamonkeys.com/book/object-reorientation-classes.html see footnote 12 2017-10-11T22:10:01Z iqubic: _death: Where in the actual chapter does that footnote lie? 2017-10-11T22:10:36Z _death: iqubic: you can search for "12" 2017-10-11T22:12:21Z iqubic: _death: What happens if a class inherits two, or more, different slot specifiers with the same name (One from each superclass)? 2017-10-11T22:12:34Z _death: they get merged 2017-10-11T22:12:40Z Bike: they get merged. which isn't in the actual footnote, just the text referring to it 2017-10-11T22:12:45Z iqubic: I see. 2017-10-11T22:12:56Z iqubic: That solves the diamond problem indeed. 2017-10-11T22:13:03Z iqubic: I like CLOS a bit. 2017-10-11T22:13:17Z iqubic: Now, how the heck does this differ from structs? 2017-10-11T22:13:22Z _death: it's also less likely to accidentally happen, since the names are symbols 2017-10-11T22:13:27Z Xof: structs only support single-inheritance 2017-10-11T22:13:34Z iqubic: Xof: Is that all? 2017-10-11T22:13:37Z didi left #lisp 2017-10-11T22:13:37Z Xof: hard to get a diamond that way 2017-10-11T22:14:03Z Xof: no, that's not all. Structs don't support run-time redefinition 2017-10-11T22:14:19Z mfiano: structs do a couple things classes cannot, but moreso the other way around. Generally, stay away from structs unless you need arrays with named accessor functions for example 2017-10-11T22:14:53Z iqubic: How do you redefine a class at run-time? 2017-10-11T22:15:12Z iqubic: Is there a way to have a function that returns a new class? 2017-10-11T22:15:17Z Xof: iqubic: don't worry about it for now 2017-10-11T22:15:33Z Xof: learn about standard classes and standard objects 2017-10-11T22:15:36Z Xof: program something 2017-10-11T22:15:48Z iqubic: I should, shouldn't I? 2017-10-11T22:15:53Z Xof: then come back for the mind-exploding stuff like run-time redefinition of classes 2017-10-11T22:16:05Z Xof: did I say "exploding"? I meant "expanding" 2017-10-11T22:16:38Z iqubic: LOL 2017-10-11T22:16:44Z pjb: iqubic: the only standard way is to use (eval `(defclass ,new-name (,@new-superclasses) ,@new-slots)) 2017-10-11T22:17:01Z shrdlu68: Xof: Well, explosion is simply rapid expansion... 2017-10-11T22:17:55Z iqubic: pjb: I'm not ready to try that. 2017-10-11T22:18:20Z pjb: iqubic: it's very rare to need to create new classes at run-time. 2017-10-11T22:22:21Z orivej quit (Read error: Connection reset by peer) 2017-10-11T22:30:51Z attila_lendvai joined #lisp 2017-10-11T22:30:51Z attila_lendvai quit (Changing host) 2017-10-11T22:30:51Z attila_lendvai joined #lisp 2017-10-11T22:31:29Z DingoSaar_ quit (Remote host closed the connection) 2017-10-11T22:31:46Z pillton joined #lisp 2017-10-11T22:32:09Z DingoSaar_ joined #lisp 2017-10-11T22:32:55Z DingoSaar_ quit (Remote host closed the connection) 2017-10-11T22:39:41Z nullniverse joined #lisp 2017-10-11T22:40:29Z emaczen: http://paste.lisp.org/display/358268 -- can anyone show me how to get a commonlisp array from *bytes* 2017-10-11T22:40:51Z emaczen: I've been trying #'cffi:foreign-array-to-lisp but I can never get it to work 2017-10-11T22:41:34Z Josh_2 quit (Remote host closed the connection) 2017-10-11T22:42:51Z pillton: Use cffi:mem-ref / cffi:mem-aref. 2017-10-11T22:43:26Z emaczen: pillton: I've tried different combinations of forms before evaluating (cffi:foreign-array-to-lisp ...) 2017-10-11T22:43:44Z emaczen: including cffi:mem-ref -- might you provide some detail? 2017-10-11T22:48:00Z pillton: emaczen: http://paste.lisp.org/display/358347 2017-10-11T22:48:07Z TCZ joined #lisp 2017-10-11T22:48:09Z mson joined #lisp 2017-10-11T22:48:24Z tmc joined #lisp 2017-10-11T22:49:02Z jmercouris quit (Ping timeout: 260 seconds) 2017-10-11T22:50:38Z wxie joined #lisp 2017-10-11T22:51:25Z sizur joined #lisp 2017-10-11T22:51:55Z mathi_aihtam quit (Quit: mathi_aihtam) 2017-10-11T22:51:57Z rumbler31 quit (Ping timeout: 240 seconds) 2017-10-11T22:51:59Z sizur: What cli tool can prettyprint sexprs? 2017-10-11T22:52:11Z emaczen: pillton: I understand your code, but I'm also unsure of *bytes* from my paste 2017-10-11T22:53:13Z pillton: It will be a pointer. 2017-10-11T22:53:49Z pillton: Just evaluate the (cffi:foreign-slot-value ...) form at the REPL. 2017-10-11T22:54:22Z emaczen: Okay, now I need to figure out how to get the length from the defcstruct 2017-10-11T22:55:15Z vtomole quit (Ping timeout: 260 seconds) 2017-10-11T22:55:21Z mathi_aihtam joined #lisp 2017-10-11T22:56:21Z emaczen: Is there an easy way to get the length that I don't know about? 2017-10-11T22:57:19Z pillton: In all honesty, you are doing it the wrong way. Use IPC or implement some higher level C functions that save you from all of the defcstruct madness. You will go insane if you keep following this path. 2017-10-11T22:57:50Z nullniverse quit (Quit: Leaving) 2017-10-11T22:57:50Z emaczen: what is IPC? 2017-10-11T22:57:58Z pillton: Inter process communication. 2017-10-11T22:58:37Z pillton: We have files, sockets, pipes and shared memory for a reason. 2017-10-11T23:00:19Z emaczen: What do you think I should send through IPC then? 2017-10-11T23:01:13Z epony quit (Remote host closed the connection) 2017-10-11T23:01:21Z pillton: Video frames in RGB format? 2017-10-11T23:03:59Z emaczen: Are you saying scratch opencv altogether? 2017-10-11T23:04:17Z emaczen: Or are you saying there is another conversion function to use 2017-10-11T23:05:59Z thinkpad joined #lisp 2017-10-11T23:06:13Z mathi_aihtam quit (Quit: mathi_aihtam) 2017-10-11T23:06:17Z QualityAddict joined #lisp 2017-10-11T23:07:05Z pillton: I'm saying that your current approach is very brittle because it relies on the layout of C structures which you are not in control of. 2017-10-11T23:07:10Z angavrilov quit (Remote host closed the connection) 2017-10-11T23:08:48Z TCZ quit (Quit: Leaving) 2017-10-11T23:09:29Z emaczen: pillton: what else am I suppposed to do? 2017-10-11T23:10:06Z emaczen: I was actually trying to use ABCL, java opencv bindings but I could never get it configured 2017-10-11T23:13:17Z sizur quit (Quit: WeeChat 1.8) 2017-10-11T23:16:40Z sz0 quit (Quit: Connection closed for inactivity) 2017-10-11T23:22:09Z epony joined #lisp 2017-10-11T23:29:08Z emaczen: can CFFI use C++ functions? 2017-10-11T23:30:30Z Bike: there's extern "C" 2017-10-11T23:34:34Z pjb quit (Ping timeout: 255 seconds) 2017-10-11T23:37:14Z marvin2 quit (Quit: quit) 2017-10-11T23:39:31Z emaczen: Bike: I've never programmed enough in C 2017-10-11T23:39:46Z emaczen: Bike: I'm already having a terrible amount of trouble as it is 2017-10-11T23:42:39Z emaczen: Bike: Why does Clasp have such intense requirements to build? 2017-10-11T23:43:15Z Bike: because we use a lot of newish llvm features. 2017-10-11T23:43:24Z Bike: though currently i think you can use a stock llvm as long as it's 5.0 2017-10-11T23:43:53Z Amplituhedron quit (Read error: Connection reset by peer) 2017-10-11T23:44:38Z sizur joined #lisp 2017-10-11T23:45:22Z sizur: Is there any command line tool to pretty-print sexpr files that is width aware? 2017-10-11T23:45:35Z rumbler31 joined #lisp 2017-10-11T23:45:40Z sizur: either terminal width or width as a parameter 2017-10-11T23:45:56Z Bike: the lisp printer has print-right-margin 2017-10-11T23:46:22Z sizur: Bike: thanks. how do i invoke the lisp printer? 2017-10-11T23:46:33Z Bike: clhs print 2017-10-11T23:46:33Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_wr_pr.htm 2017-10-11T23:46:54Z Bike: clhs pprint 2017-10-11T23:46:55Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_wr_pr.htm 2017-10-11T23:46:58Z Bike: ok yeah same page. 2017-10-11T23:48:03Z sizur: ok, looks like i need to learn lisp for that :P 2017-10-11T23:49:47Z jmercouris joined #lisp 2017-10-11T23:49:52Z rumbler31 quit (Ping timeout: 255 seconds) 2017-10-11T23:50:00Z Bike: we are in #lisp 2017-10-11T23:53:53Z sizur: yep, alien wizards 2017-10-11T23:54:16Z Amplituhedron joined #lisp 2017-10-11T23:54:22Z jmercouris: sizur: ? 2017-10-11T23:55:32Z sizur: jmercouris: i hold very high opinion of lispers 2017-10-11T23:56:06Z jmercouris: sizur: ah, I see :) 2017-10-11T23:56:30Z sizur: you guys can do everything easy, so i assumed there would be a simple cli command for that already :) 2017-10-11T23:56:59Z sizur: but i understand since it's probably easy to invode adhoc command for that, the cli tool was never needed 2017-10-11T23:57:19Z sizur: invoke* 2017-10-11T23:57:47Z sizur: elisp's pp is not width aware :( 2017-10-11T23:59:30Z jmercouris: sizur: elisp is missing a lot of things, you'll have better luck in #emacs for elisp specific questions 2017-10-12T00:00:22Z sizur: i asked there too. but i thought sexp-related matches lisp more 2017-10-12T00:04:41Z edgar-rft: 2017-10-12T00:06:16Z attila_lendvai quit (Quit: Leaving.) 2017-10-12T00:07:34Z quazimodo joined #lisp 2017-10-12T00:08:01Z margeas quit (Ping timeout: 248 seconds) 2017-10-12T00:17:18Z tmc quit (Quit: ZNC 1.6.4 - http://znc.in) 2017-10-12T00:19:52Z stnutt left #lisp 2017-10-12T00:20:19Z pierpa quit (Quit: Page closed) 2017-10-12T00:28:50Z pjb joined #lisp 2017-10-12T00:31:13Z hexfive quit (Quit: WeeChat 1.9) 2017-10-12T00:31:41Z brendyn joined #lisp 2017-10-12T00:32:02Z AxelAlex joined #lisp 2017-10-12T00:33:42Z Rawriful quit (Quit: WeeChat 1.4) 2017-10-12T00:33:46Z yrk quit (Remote host closed the connection) 2017-10-12T00:35:35Z Xal quit (Ping timeout: 240 seconds) 2017-10-12T00:39:05Z Xal joined #lisp 2017-10-12T00:42:12Z yrk joined #lisp 2017-10-12T00:42:55Z yaocl joined #lisp 2017-10-12T00:45:29Z vtomole joined #lisp 2017-10-12T00:47:21Z sizur quit (Quit: WeeChat 1.8) 2017-10-12T00:48:42Z sz0 joined #lisp 2017-10-12T00:54:07Z JuanDaugherty quit (Quit: Ex Chat) 2017-10-12T00:54:16Z iqubic quit (Remote host closed the connection) 2017-10-12T00:54:31Z iqubic joined #lisp 2017-10-12T00:54:38Z turkja joined #lisp 2017-10-12T00:55:05Z iqubic quit (Remote host closed the connection) 2017-10-12T00:55:26Z iqubic joined #lisp 2017-10-12T00:56:17Z yrk quit (Read error: Connection reset by peer) 2017-10-12T00:57:53Z mson quit (Quit: Connection closed for inactivity) 2017-10-12T00:58:33Z bwv quit (Quit: bwv) 2017-10-12T00:58:39Z Mon_Ouie quit (Ping timeout: 248 seconds) 2017-10-12T01:00:15Z jmercouris: I'm trying to run the example here: https://trac.clozure.com/ccl/wiki/CocoaBridge and instead of drawing a red window, I just get the following: https://imgur.com/a/64OxP 2017-10-12T01:07:27Z jmercouris: It's interesting because it updates the "Window" section of the menubar, but the window is NOT visible, even when using "Bring all to front" 2017-10-12T01:15:16Z neoncontrails quit (Remote host closed the connection) 2017-10-12T01:16:48Z Mon_Ouie joined #lisp 2017-10-12T01:20:23Z jameser joined #lisp 2017-10-12T01:23:37Z jameser quit (Read error: Connection reset by peer) 2017-10-12T01:25:40Z jameser joined #lisp 2017-10-12T01:27:03Z nikivi quit (K-Lined) 2017-10-12T01:29:48Z pjb quit (Ping timeout: 240 seconds) 2017-10-12T01:32:03Z miatomi joined #lisp 2017-10-12T01:33:42Z nikivi joined #lisp 2017-10-12T01:38:39Z igemnace joined #lisp 2017-10-12T01:41:42Z shifty joined #lisp 2017-10-12T01:44:37Z vtomole_ joined #lisp 2017-10-12T01:44:42Z vtomole_ quit (Client Quit) 2017-10-12T01:48:35Z jmercouris: I'm assuming this is due to changes in Cocoa 2017-10-12T01:48:47Z jmercouris: I guess I'll have to rewrite the example, and re-learn a lot of Cocoa 2017-10-12T01:53:17Z d4ryus1 joined #lisp 2017-10-12T01:55:01Z chens joined #lisp 2017-10-12T01:56:19Z d4ryus quit (Ping timeout: 255 seconds) 2017-10-12T02:14:00Z jmercouris: can anyone reccomend a good cffi tutorial? 2017-10-12T02:14:11Z _death: the manual? 2017-10-12T02:16:08Z arborist quit (Ping timeout: 240 seconds) 2017-10-12T02:16:14Z jmercouris: I'm looking at it now, seems pretty good, but just wondering if there was something else, I like reading from multiple resources usually 2017-10-12T02:16:36Z _death: the source code is also very nice 2017-10-12T02:16:59Z jmercouris: interesting, I'll take a look thanks 2017-10-12T02:19:07Z damke joined #lisp 2017-10-12T02:21:56Z vancan1ty joined #lisp 2017-10-12T02:25:43Z sjl joined #lisp 2017-10-12T02:25:47Z shrdlu68: The documentation for the Holy Hand Grenade of Antioch is the best ever. 2017-10-12T02:26:54Z pjb joined #lisp 2017-10-12T02:29:02Z jmercouris: shrdlu68: what? 2017-10-12T02:29:28Z manny8888 joined #lisp 2017-10-12T02:29:39Z fouric: (non-code documentation i'm assuming) 2017-10-12T02:29:53Z shrdlu68: jmercouris: Sorry, unrelated. 2017-10-12T02:30:23Z sjl quit (Ping timeout: 248 seconds) 2017-10-12T02:39:23Z emaczen: jmercouris: On OSX GUIs can only be drawn from the main thread 2017-10-12T02:40:29Z emaczen: There is some ccl function #'gui:execute-in-gui that should be called first 2017-10-12T02:41:25Z emaczen: Or sorry, you should pass the code you want called in the function argument to #'gui:execute-in-gui 2017-10-12T02:42:33Z emaczen: jmercouris: if you are looking at GUI work with commonlisp, ABCL is really easy to use Java's swing libraries 2017-10-12T02:43:18Z MrBismuth quit (Read error: Connection reset by peer) 2017-10-12T02:43:18Z emaczen: I've just tinkered around with ABCL for other reasons but it is as easy as (setf frame (new 'Jframe)) 2017-10-12T02:43:33Z emaczen: and then (#"setVisible" frame t) 2017-10-12T02:46:01Z emacsoma` quit (Ping timeout: 240 seconds) 2017-10-12T02:46:22Z MrBusiness joined #lisp 2017-10-12T02:47:21Z jmercouris quit (Ping timeout: 258 seconds) 2017-10-12T02:48:08Z jmercouris joined #lisp 2017-10-12T02:48:53Z jmercouris: emaczen: Thank you for the advice, but I already use EQL for gui, just toying around with cffi for some other ideas 2017-10-12T02:49:25Z emaczen: what is EQL? 2017-10-12T02:49:41Z _krator44 quit (Changing host) 2017-10-12T02:49:41Z _krator44 joined #lisp 2017-10-12T02:49:41Z _krator44 quit (Changing host) 2017-10-12T02:49:41Z _krator44 joined #lisp 2017-10-12T02:51:47Z jmercouris: EQL is a library for interfacing with QT it's really good 2017-10-12T02:52:02Z jmercouris: you can install it and check out the examples section: https://gitlab.com/eql/EQL5 2017-10-12T02:52:32Z iqubic: I thought it was a function to check if two symbols pointed to the same memory location. 2017-10-12T02:52:46Z jmercouris: it is that as well :P 2017-10-12T02:56:10Z pjb quit (Ping timeout: 264 seconds) 2017-10-12T03:01:56Z jmercouris quit (Remote host closed the connection) 2017-10-12T03:04:38Z LAG_ quit (Quit: Connection closed for inactivity) 2017-10-12T03:06:40Z sz0 quit (Quit: Connection closed for inactivity) 2017-10-12T03:09:21Z Oladon joined #lisp 2017-10-12T03:14:34Z nowolfer quit (Quit: leaving) 2017-10-12T03:14:34Z TMA quit (Ping timeout: 268 seconds) 2017-10-12T03:20:58Z manny8888 quit (Remote host closed the connection) 2017-10-12T03:24:10Z vtomole quit (Ping timeout: 260 seconds) 2017-10-12T03:24:50Z ahungry joined #lisp 2017-10-12T03:24:55Z shka_ joined #lisp 2017-10-12T03:29:03Z h3r3tek quit (Ping timeout: 248 seconds) 2017-10-12T03:40:38Z Amplituhedron quit (Ping timeout: 258 seconds) 2017-10-12T03:40:48Z loke quit (Remote host closed the connection) 2017-10-12T03:41:37Z loke joined #lisp 2017-10-12T03:42:21Z turkja: Does anyone know any good examples of GUI apps written for ABCL? I mean some serious app, not just "hello java". 2017-10-12T03:48:52Z vancan1ty quit (Ping timeout: 260 seconds) 2017-10-12T03:51:59Z schoppenhauer quit (Ping timeout: 248 seconds) 2017-10-12T03:52:12Z paule32: hello, and good morning 2017-10-12T03:52:16Z paule32: http://paste.lisp.org/display/358353 2017-10-12T03:52:49Z Bike quit (Quit: Lost terminal) 2017-10-12T03:52:50Z paule32: how can i create a list if numbers, by given string "12345", and print the list? 2017-10-12T03:53:43Z schoppenhauer joined #lisp 2017-10-12T03:54:08Z logicmoo is now known as dmiles 2017-10-12T03:54:10Z loke: paule32: a string is already a sequence of characters 2017-10-12T03:54:37Z paule32: yes, but i would like have a list of this char 2017-10-12T03:54:41Z paule32: (1 2 3 4 5) 2017-10-12T03:55:10Z loke: List of characters, or list of numbers? 2017-10-12T03:55:19Z QualityAddict quit (Quit: Leaving) 2017-10-12T03:55:24Z paule32: numbers 2017-10-12T03:57:39Z loke: (map 'list #'sb-unicode:digit-value "3848374") 2017-10-12T03:57:57Z wxie quit (Remote host closed the connection) 2017-10-12T04:00:38Z paule32: Package SB-UNICODE does not exist. 2017-10-12T04:00:41Z neoncontrails joined #lisp 2017-10-12T04:00:42Z damke quit (Read error: Connection reset by peer) 2017-10-12T04:01:29Z damke joined #lisp 2017-10-12T04:03:36Z damke_ joined #lisp 2017-10-12T04:05:54Z Devon joined #lisp 2017-10-12T04:06:01Z damke quit (Ping timeout: 240 seconds) 2017-10-12T04:06:33Z damke joined #lisp 2017-10-12T04:06:49Z damke_ quit (Read error: Connection reset by peer) 2017-10-12T04:07:53Z yaocl quit (Quit: yaocl) 2017-10-12T04:11:09Z Oladon1 joined #lisp 2017-10-12T04:13:35Z Oladon quit (Ping timeout: 240 seconds) 2017-10-12T04:18:21Z nika joined #lisp 2017-10-12T04:21:16Z iqubic quit (Ping timeout: 258 seconds) 2017-10-12T04:21:53Z Harag quit (Ping timeout: 248 seconds) 2017-10-12T04:22:08Z dddddd quit (Remote host closed the connection) 2017-10-12T04:25:30Z paule32: (setq listeA (loop for x from 1 to (- (length stringA) 1) 2017-10-12T04:25:30Z paule32: collect x into ns 2017-10-12T04:25:30Z paule32: finally (return ns))) 2017-10-12T04:25:34Z paule32: this will work 2017-10-12T04:25:49Z paule32: now, i have 2 lists 2017-10-12T04:25:53Z paule32: (1 2 3 4 5) 2017-10-12T04:26:07Z paule32: (3 5 6 7 8 9 1 2 3) 2017-10-12T04:26:28Z midre quit (Quit: ZNC - http://znc.in) 2017-10-12T04:26:58Z midre joined #lisp 2017-10-12T04:27:11Z paule32: how can i fill the first list with zeros: 0 , when list 2 is bigger than first 2017-10-12T04:32:21Z damke quit (Ping timeout: 240 seconds) 2017-10-12T04:33:28Z shrdlu68: I'm not sure I understand what you want, why not use #'fill? 2017-10-12T04:33:33Z shrdlu68: clhs fill 2017-10-12T04:33:33Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_fill.htm 2017-10-12T04:33:57Z paule32: hi shrdlu68 2017-10-12T04:34:01Z deba5e12 quit (Ping timeout: 240 seconds) 2017-10-12T04:34:23Z paule32: i have 2 strings "12345" and "3568943423" 2017-10-12T04:34:37Z shrdlu68: paule32: Okay... 2017-10-12T04:34:39Z koenig quit (Ping timeout: 248 seconds) 2017-10-12T04:37:27Z koenig joined #lisp 2017-10-12T04:38:39Z shrdlu68: In the loop above it looks you don't need the into and return keywords. i.e. (loop for x from 1 to (1- (length stringA)) collecting x) would suffice. 2017-10-12T04:38:39Z vancan1ty joined #lisp 2017-10-12T04:43:43Z beach quit (Remote host closed the connection) 2017-10-12T04:43:50Z beach joined #lisp 2017-10-12T04:46:41Z damke joined #lisp 2017-10-12T04:48:20Z iqubic joined #lisp 2017-10-12T04:48:21Z iqubic quit (Remote host closed the connection) 2017-10-12T04:48:36Z iqubic joined #lisp 2017-10-12T04:50:00Z paule32: yes 2017-10-12T04:50:11Z paule32: indeed, it is not neccessary 2017-10-12T04:55:42Z vtomole joined #lisp 2017-10-12T05:00:17Z compro joined #lisp 2017-10-12T05:03:04Z nchambers quit (Ping timeout: 255 seconds) 2017-10-12T05:03:22Z paule32: (fill (list listeA) '0 :start 4 :end 10) 2017-10-12T05:03:33Z paule32: give me error 2017-10-12T05:03:46Z paule32: (SB-INT:SEQUENCE-BOUNDING-INDICES-BAD-ERROR ((1 2 3 4 5)) 4 10) 2017-10-12T05:04:13Z h3r3tek joined #lisp 2017-10-12T05:05:19Z damke quit (Read error: Connection reset by peer) 2017-10-12T05:05:58Z damke joined #lisp 2017-10-12T05:09:13Z Kaisyu joined #lisp 2017-10-12T05:11:22Z ryan_vw joined #lisp 2017-10-12T05:15:11Z yaocl joined #lisp 2017-10-12T05:15:24Z Bock joined #lisp 2017-10-12T05:15:36Z compro` joined #lisp 2017-10-12T05:17:01Z compro quit (Ping timeout: 240 seconds) 2017-10-12T05:18:52Z nika quit (Remote host closed the connection) 2017-10-12T05:20:41Z shrdlu68: paule32: That's a very specific error, the same error you get when you try to read the 6th element from a vector of 2 elements. 2017-10-12T05:23:44Z beach: Good morning everyone! 2017-10-12T05:24:34Z shrdlu68: Hello beach. 2017-10-12T05:29:28Z compro`: good morning beach. What is your timezone? 2017-10-12T05:30:23Z yaocl quit (Quit: yaocl) 2017-10-12T05:30:27Z beach: UTC+2 2017-10-12T05:30:59Z beach: compro`: See this one, though: http://www.total-knowledge.com/~ilya/mips/ugt.html 2017-10-12T05:33:36Z yaocl joined #lisp 2017-10-12T05:34:57Z compro` quit (Ping timeout: 240 seconds) 2017-10-12T05:37:04Z vlatkoB joined #lisp 2017-10-12T05:37:25Z cross quit (Quit: Lost terminal) 2017-10-12T05:38:44Z dec0n joined #lisp 2017-10-12T05:42:24Z ebzzry joined #lisp 2017-10-12T05:43:27Z vancan1ty quit (Ping timeout: 240 seconds) 2017-10-12T05:43:47Z nika joined #lisp 2017-10-12T05:46:27Z miatomi quit (Ping timeout: 240 seconds) 2017-10-12T05:47:49Z d4ryus1 is now known as d4ryus 2017-10-12T05:55:53Z damke_ joined #lisp 2017-10-12T05:56:55Z mishoo joined #lisp 2017-10-12T05:58:01Z damke quit (Ping timeout: 240 seconds) 2017-10-12T05:58:30Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-10-12T06:00:22Z Harag joined #lisp 2017-10-12T06:00:27Z scymtym quit (Ping timeout: 240 seconds) 2017-10-12T06:01:14Z shka_: hello 2017-10-12T06:01:48Z sjl joined #lisp 2017-10-12T06:04:20Z beach: Hello shka_. 2017-10-12T06:04:26Z nika quit (Remote host closed the connection) 2017-10-12T06:05:37Z Karl_Dscc joined #lisp 2017-10-12T06:06:18Z sjl quit (Ping timeout: 258 seconds) 2017-10-12T06:06:34Z angavrilov joined #lisp 2017-10-12T06:07:06Z nika_ joined #lisp 2017-10-12T06:08:35Z megalography quit (Ping timeout: 240 seconds) 2017-10-12T06:13:19Z Mon_Ouie quit (Ping timeout: 248 seconds) 2017-10-12T06:14:25Z neoncontrails quit (Remote host closed the connection) 2017-10-12T06:15:41Z Blukunfando joined #lisp 2017-10-12T06:17:26Z Karl_Dscc quit (Remote host closed the connection) 2017-10-12T06:19:30Z yeticry_ quit (Read error: Connection reset by peer) 2017-10-12T06:22:05Z vtomole quit (Ping timeout: 260 seconds) 2017-10-12T06:31:48Z yaocl quit (Quit: yaocl) 2017-10-12T06:33:43Z Harag quit (Quit: Harag) 2017-10-12T06:35:34Z yeticry joined #lisp 2017-10-12T06:36:16Z ahungry quit (Remote host closed the connection) 2017-10-12T06:37:04Z flamebeard joined #lisp 2017-10-12T06:39:12Z mishoo quit (Ping timeout: 260 seconds) 2017-10-12T06:42:47Z akkad quit (Quit: Emacs must have died) 2017-10-12T06:47:12Z hearthemusic joined #lisp 2017-10-12T06:48:38Z yaocl joined #lisp 2017-10-12T06:50:38Z raynold quit (Quit: Connection closed for inactivity) 2017-10-12T06:50:41Z shka_ quit (Ping timeout: 248 seconds) 2017-10-12T06:52:02Z hearthemusic left #lisp 2017-10-12T06:53:23Z mishoo joined #lisp 2017-10-12T06:53:41Z mathi_aihtam joined #lisp 2017-10-12T06:54:57Z varjag joined #lisp 2017-10-12T06:56:21Z Mon_Ouie joined #lisp 2017-10-12T07:01:10Z damke joined #lisp 2017-10-12T07:02:33Z orivej joined #lisp 2017-10-12T07:03:01Z damke_ quit (Ping timeout: 240 seconds) 2017-10-12T07:11:52Z domovod joined #lisp 2017-10-12T07:16:35Z h3r3tek quit (Read error: Connection reset by peer) 2017-10-12T07:17:35Z igemnace quit (Quit: WeeChat 1.9.1) 2017-10-12T07:18:01Z igemnace joined #lisp 2017-10-12T07:25:36Z mathi_aihtam quit (Quit: mathi_aihtam) 2017-10-12T07:27:31Z arborist joined #lisp 2017-10-12T07:34:51Z carenz_ joined #lisp 2017-10-12T07:36:01Z damke quit (Ping timeout: 240 seconds) 2017-10-12T07:38:31Z scymtym joined #lisp 2017-10-12T07:38:34Z damke joined #lisp 2017-10-12T07:39:27Z ebzzry quit (Ping timeout: 240 seconds) 2017-10-12T07:40:32Z ebzzry joined #lisp 2017-10-12T07:41:28Z orivej quit (Ping timeout: 240 seconds) 2017-10-12T07:42:57Z damke_ joined #lisp 2017-10-12T07:44:21Z damke quit (Ping timeout: 240 seconds) 2017-10-12T07:46:41Z damke joined #lisp 2017-10-12T07:48:41Z damke_ quit (Ping timeout: 240 seconds) 2017-10-12T07:51:50Z mathi_aihtam joined #lisp 2017-10-12T07:52:41Z damke quit (Ping timeout: 240 seconds) 2017-10-12T07:54:55Z domovod quit (Quit: WeeChat 1.9.1) 2017-10-12T07:55:03Z yaocl quit (Quit: yaocl) 2017-10-12T07:56:30Z yaocl joined #lisp 2017-10-12T08:00:01Z quazimod1 joined #lisp 2017-10-12T08:01:17Z quazimodo quit (Ping timeout: 255 seconds) 2017-10-12T08:13:45Z bwv joined #lisp 2017-10-12T08:16:57Z yeticry quit (Read error: Connection reset by peer) 2017-10-12T08:18:09Z jasom quit (Ping timeout: 252 seconds) 2017-10-12T08:26:43Z damke joined #lisp 2017-10-12T08:43:35Z nowhere_man quit (Ping timeout: 240 seconds) 2017-10-12T08:45:41Z dmiles quit (Ping timeout: 240 seconds) 2017-10-12T08:50:11Z _cosmonaut_ joined #lisp 2017-10-12T08:53:10Z damke_ joined #lisp 2017-10-12T08:53:56Z nirved joined #lisp 2017-10-12T08:54:41Z damke quit (Ping timeout: 240 seconds) 2017-10-12T09:01:30Z dmiles joined #lisp 2017-10-12T09:02:28Z nowhere_man joined #lisp 2017-10-12T09:08:13Z ssake quit (Quit: leaving) 2017-10-12T09:16:26Z yeticry joined #lisp 2017-10-12T09:18:04Z jasom joined #lisp 2017-10-12T09:22:49Z margeas joined #lisp 2017-10-12T09:27:21Z rgrau joined #lisp 2017-10-12T09:27:33Z quazimod1 quit (Ping timeout: 258 seconds) 2017-10-12T09:29:45Z arborist quit (Ping timeout: 246 seconds) 2017-10-12T09:35:36Z chens quit (Remote host closed the connection) 2017-10-12T09:37:52Z sjl joined #lisp 2017-10-12T09:41:01Z yaocl quit (Quit: yaocl) 2017-10-12T09:42:25Z sjl quit (Ping timeout: 248 seconds) 2017-10-12T09:53:27Z m00natic joined #lisp 2017-10-12T10:01:27Z rgrau quit (Ping timeout: 240 seconds) 2017-10-12T10:06:06Z josemanuel joined #lisp 2017-10-12T10:31:10Z Patzy quit (Quit: leaving) 2017-10-12T10:35:19Z flip214: hmmm, CFFI::FOREIGN-STRING-LENGTH is using 40% of the CPU time... ouch. 2017-10-12T10:43:27Z manny8888 joined #lisp 2017-10-12T10:55:26Z beach: Is there an appropriate existing error condition that could be signaled if an attempt is made to execute a form that had compilation errors. 2017-10-12T10:55:29Z beach: ? 2017-10-12T10:55:40Z phoe_: clhs program-error 2017-10-12T10:55:41Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/e_progra.htm 2017-10-12T10:56:00Z phoe_: that's my first guess, but let's see if we can go more specific... 2017-10-12T10:56:14Z beach: Yeah, OK. That could work. 2017-10-12T10:56:31Z beach: I think of PROGRAM-ERROR as a compile-time type of condition. 2017-10-12T10:56:38Z beach: But, why not. 2017-10-12T10:56:41Z phoe_: I think this is as good as you can get with the standard. 2017-10-12T10:57:14Z phoe_: beach: hey, compile-type type of condition, you say. 2017-10-12T10:57:43Z phoe_: "if an attempt is made toexecute a form that had compilation errors" - that's a compile-time of condition. 2017-10-12T10:57:44Z beach: compile-TIME 2017-10-12T10:57:50Z phoe_: Yes, sorry, my typo. 2017-10-12T10:58:02Z beach: OK, fair enough. Thanks. 2017-10-12T10:58:08Z neoncontrails joined #lisp 2017-10-12T10:59:38Z phoe_: and yes, (defun foo () (go 3)) gives me a condition which is a subtype of PROGRAM-ERROR on SBCL 2017-10-12T11:00:41Z Patzy joined #lisp 2017-10-12T11:01:30Z damke joined #lisp 2017-10-12T11:04:01Z damke_ quit (Ping timeout: 240 seconds) 2017-10-12T11:04:10Z beach: OK, good to know. Thanks. 2017-10-12T11:04:30Z beach: That should have been a control-error though. 2017-10-12T11:04:33Z beach: clhs control-error 2017-10-12T11:04:34Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/e_contro.htm 2017-10-12T11:05:34Z jameser joined #lisp 2017-10-12T11:05:41Z phoe_: "The errors that result from naming a go tag or a block tag that is not lexically apparent are of type program-error. " 2017-10-12T11:05:50Z phoe_: actually it's a bit more complicated 2017-10-12T11:06:00Z shka: beach: i think that signalling same error in exec time as in compilation time is reasonable 2017-10-12T11:06:04Z phoe_: lexical scope vs dynamic scope. 2017-10-12T11:06:14Z phoe_: lexixal is PROGRAM-ERROR, dynamic is CONTROL-ERROR. 2017-10-12T11:06:21Z phoe_: "The errors that result from giving throw a tag that is not active or from giving go or return-from a tag that is no longer dynamically available are of type control-error." 2017-10-12T11:06:30Z beach: sb-int:compiled-program-error it is for SBCL 2017-10-12T11:06:45Z beach: (defun f (x) (let 234 x)) and then (f 234) 2017-10-12T11:07:08Z phoe_: Class precedence-list: SB-INT:COMPILED-PROGRAM-ERROR, PROGRAM-ERROR, ERROR, SERIOUS-CONDITION, CONDITION, SB-PCL::SLOT-OBJECT, T 2017-10-12T11:07:37Z beach: Right. 2017-10-12T11:07:53Z phoe_: So it's an indirect instance of PROGRAM-ERROR. 2017-10-12T11:08:02Z beach: Indeed. 2017-10-12T11:08:15Z beach: Or, rather a "sub-type". 2017-10-12T11:08:26Z Bike joined #lisp 2017-10-12T11:08:27Z phoe_: Oh, um, yes, correct. 2017-10-12T11:08:40Z phoe_: I meant the actual signaled condition instance, you mean the condition class. 2017-10-12T11:09:06Z beach: shka: What SBCL does is that it includes the compile-time error in the run-time error. Nice. 2017-10-12T11:09:29Z shka: best approach ever 2017-10-12T11:09:29Z nika_ quit (Remote host closed the connection) 2017-10-12T11:09:36Z phoe_: I think that when it encounters compile-time erroring code, it actually bakes the found condition in the compiled code and then signals it. 2017-10-12T11:09:53Z phoe_: I'd need to look at the decompiled code of (lambda () (go 3)) for example. 2017-10-12T11:09:54Z _death: told-you-error 2017-10-12T11:10:03Z phoe_: _death: xD 2017-10-12T11:10:19Z beach: phoe_: I thin it compiles a call to error instead of the incorrect form. 2017-10-12T11:10:21Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-10-12T11:10:46Z phoe_: Yes, that's what I've been trying to convey. It compiles a call to error that calls the condition that was signaled at compile-time. 2017-10-12T11:10:51Z phoe_: s/calls/signals/ 2017-10-12T11:10:58Z phoe_: I can't into English today. 2017-10-12T11:11:04Z beach: Conditions aren't called. 2017-10-12T11:11:15Z phoe_: Yes, I know. 2017-10-12T11:11:22Z shka: _death: nice 2017-10-12T11:11:23Z phoe_: My words aren't cooperating today. 2017-10-12T11:11:27Z neoncontrails quit (Remote host closed the connection) 2017-10-12T11:11:46Z beach: It compiles a call to ERROR that signals a condition of type sb-int:compiled-program-error, and that condition contains the instance of the error signaled at compile time. 2017-10-12T11:13:12Z phoe_: beach: yes, thank you. That's the correct order. 2017-10-12T11:13:22Z jameser joined #lisp 2017-10-12T11:13:23Z deba5e12 joined #lisp 2017-10-12T11:14:23Z phoe_: minion: memo for Xach: your domain lisptips.com expired. 2017-10-12T11:14:23Z minion: Remembered. I'll tell Xach when he/she/it next speaks. 2017-10-12T11:14:29Z phoe_: XachX: Xach: ^ 2017-10-12T11:15:23Z pillton quit (Ping timeout: 240 seconds) 2017-10-12T11:19:04Z yaocl joined #lisp 2017-10-12T11:23:03Z beach: clhs restart-case 2017-10-12T11:23:03Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/m_rst_ca.htm 2017-10-12T11:24:36Z sz0 joined #lisp 2017-10-12T11:26:58Z beach: So the restartable-form I have may signal a compile-time error and I want to store that error condition in the run-time error condition. I came up with this solution: (let (cc) (restart-case (handler-case (form-that-may-signal-an-error) (error (c) (setf cc c) (error c))) (my-restart () (make-condition 'run-time-error :compile-time-error cc)))) 2017-10-12T11:27:08Z beach: Is there a better one? 2017-10-12T11:27:27Z beach: I.e. I handle the compile time error by storing it in CC and then signaling it again. 2017-10-12T11:28:28Z beach: Actually the make-condition won't work. 2017-10-12T11:28:56Z beach: Never mind. I'll figure it out later. 2017-10-12T11:31:06Z nowhere_man quit (Remote host closed the connection) 2017-10-12T11:31:23Z attila_lendvai joined #lisp 2017-10-12T11:31:36Z shka: beach: more-conditions system contains so called chainable-conditions 2017-10-12T11:31:45Z manny8888 quit (Ping timeout: 248 seconds) 2017-10-12T11:31:51Z shka: this is essentially what you are doing here as far i can tell 2017-10-12T11:32:41Z h3r3tek joined #lisp 2017-10-12T11:33:56Z nowhere_man joined #lisp 2017-10-12T11:38:47Z beach: Maybe so. 2017-10-12T11:39:28Z beach: But it is more complicated. I need to create a FORM that, when executed, makes a condition that includes a condition that existed at compile time. 2017-10-12T11:39:47Z phoe_: sounds like a use case for MAKE-LOAD-FORM 2017-10-12T11:40:24Z beach: Maybe so. 2017-10-12T11:40:32Z Bike: yeah, that's make-load-form exactly. 2017-10-12T11:41:00Z Bike: inconveniently, i don't think make-load-form-saving-slots works for conditions 2017-10-12T11:41:25Z phoe_: Bike: of course it doesn't, conditions aren't standard-objects or structure-objects 2017-10-12T11:41:44Z phoe_: it will work for most open/free CL implementations except SBCL 2017-10-12T11:41:44Z beach: I think I can do something simpler. If this is the file compiler, I just won't attempt to create a FASL, so the compile-time condition does not have to be there. 2017-10-12T11:42:04Z beach: If it is not the file compiler, I can just include the condition itself in the source code. 2017-10-12T11:42:17Z Bike: if that works, then sure 2017-10-12T11:42:18Z phoe_: because SBCL has its own thing called a slot-object, and conditions are slot-objects. 2017-10-12T11:58:33Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-10-12T11:59:30Z koenig: j/clear 2017-10-12T12:01:14Z paule32: hello 2017-10-12T12:01:22Z paule32: i have two lists: 2017-10-12T12:01:23Z paule32: (1 2 3 4 5) 2017-10-12T12:01:23Z paule32: (1 2 3 4 5 6 7) 2017-10-12T12:02:06Z paule32: i tried "fill", but lost by compare, and add zeros to the first list depend on list2 2017-10-12T12:02:54Z wxie joined #lisp 2017-10-12T12:03:52Z JuanDaugherty joined #lisp 2017-10-12T12:04:20Z strelox joined #lisp 2017-10-12T12:04:25Z dieggsy joined #lisp 2017-10-12T12:07:01Z paule32: i would like append pretrailing 0 2017-10-12T12:07:07Z paule32: in form of: 2017-10-12T12:07:32Z paule32: (0 0 1 2 3 4 5) ; 2017-10-12T12:07:39Z paule32: (1 2 3 4 5 6 7) 2017-10-12T12:09:02Z shka: well, first of, list is a bad fit 2017-10-12T12:09:35Z scymtym quit (Ping timeout: 255 seconds) 2017-10-12T12:10:19Z jdz: paule32: if you insist, the functions you need are: APPEND, MAKE-LIST and SUBSEQ. 2017-10-12T12:10:53Z shka: just length will do 2017-10-12T12:10:59Z shka: instead of subseq 2017-10-12T12:11:42Z Shinmera: (loop repeat (- (length b) (length a)) do (push 0 a)) 2017-10-12T12:14:11Z jdz: I have no idea how I've survived this long with my reading comprehension. 2017-10-12T12:14:35Z shrdlu68 quit (Quit: Lost terminal) 2017-10-12T12:14:46Z nirved quit (Quit: Leaving) 2017-10-12T12:16:03Z nirved joined #lisp 2017-10-12T12:16:53Z dieggsy quit (Remote host closed the connection) 2017-10-12T12:19:18Z paule32: (defvar a 0) 2017-10-12T12:19:18Z paule32: (setq a (loop repeat 2 do (push 0 listeA))) 2017-10-12T12:19:18Z paule32: (print a) 2017-10-12T12:19:23Z paule32: give me nil 2017-10-12T12:21:46Z Bike: why do you go from "a" to "listeA" 2017-10-12T12:22:10Z Bike: "do" is for effect, so the loop always returns nil 2017-10-12T12:22:12Z Bike: you seem to have some extremely basic confusion about how programming works 2017-10-12T12:28:57Z stnutt joined #lisp 2017-10-12T12:29:55Z yaocl quit (Quit: yaocl) 2017-10-12T12:30:01Z Bike quit (Ping timeout: 258 seconds) 2017-10-12T12:30:57Z angavrilov quit (Ping timeout: 240 seconds) 2017-10-12T12:31:49Z paule32: (setq listeA (loop for x from 1 to (length stringA) 2017-10-12T12:31:49Z paule32: collect x )) 2017-10-12T12:32:04Z angavrilov joined #lisp 2017-10-12T12:32:07Z paule32: this will create the list (1 2 3 4 5) 2017-10-12T12:32:34Z jdz: paule32: you could work as a magician: you keep pulling out variables like rabbits out of a hat. 2017-10-12T12:32:56Z paule32: (setq stringA "12345") 2017-10-12T12:33:06Z paule32: (defvar listeA ()) 2017-10-12T12:33:33Z jdz: paule32: have you tried reading a book or a tutorial? 2017-10-12T12:33:49Z paule32: yes 2017-10-12T12:33:55Z paule32: there many functions 2017-10-12T12:33:59Z paule32: append, fill 2017-10-12T12:34:18Z jdz: Yes, one, two, many. 2017-10-12T12:35:49Z Shinmera: Sometimes the things that are going on in this channel fill me with such inexplicable, explosive rage and fury that I wonder why I even bother coming here at all. 2017-10-12T12:36:58Z jdz: Sorry, I'll just shut up. 2017-10-12T12:37:04Z Shinmera: That wasn't directed at you. 2017-10-12T12:37:23Z jdz: I'm not helping, anyway. 2017-10-12T12:37:36Z jdz: I just don't see anybody else succeeding, either. 2017-10-12T12:38:25Z epony quit (Read error: Connection reset by peer) 2017-10-12T12:48:43Z mson joined #lisp 2017-10-12T12:51:00Z beach: Shinmera: What were you referring to? 2017-10-12T12:51:19Z Josh_2 joined #lisp 2017-10-12T12:52:07Z yaocl joined #lisp 2017-10-12T12:53:07Z Shinmera: beach: Sometimes when I see people that give me the impression they're not learning, or not doing their own work, I just get really mad. It's stupid of me, but I can't help it, it seems. 2017-10-12T12:53:31Z dddddd joined #lisp 2017-10-12T12:53:47Z beach: I see. Whatever you do, don't become a professor then. You'll have a heart attack. 2017-10-12T12:53:58Z Shinmera: Heh. 2017-10-12T12:54:07Z Josh_2: I wouldn't say it is stupid of you to get mad, more a waste of your own energy. It is understandable that you would get frustrated, especially if you are self taught. 2017-10-12T12:54:07Z jackdaniel: answering such people questions doesn't help, just encourages such behavior ,) 2017-10-12T12:54:08Z ebzzry quit (Ping timeout: 255 seconds) 2017-10-12T12:54:30Z Shinmera: Josh_2: The waste of my own energy is why I think it's stupid. 2017-10-12T12:54:35Z mishoo quit (Ping timeout: 240 seconds) 2017-10-12T12:54:38Z beach: jackdaniel: That's exactly why I quit helping paule32. 2017-10-12T12:54:44Z anthracite joined #lisp 2017-10-12T12:54:49Z jackdaniel: beach: same here 2017-10-12T12:56:36Z Josh_2: Shinmera: I would argue that it isn't stupid to feel that way, because saying it is stupid may lead you to more negative emotion. I say accept and move on without judgement. 2017-10-12T12:57:08Z JuanDaugherty left #lisp 2017-10-12T13:01:04Z Bike joined #lisp 2017-10-12T13:03:31Z damke_ joined #lisp 2017-10-12T13:05:01Z damke quit (Ping timeout: 240 seconds) 2017-10-12T13:07:09Z scymtym joined #lisp 2017-10-12T13:08:37Z Denommus joined #lisp 2017-10-12T13:11:55Z miatomi joined #lisp 2017-10-12T13:12:43Z Bike: beach: for what it's worth, it looks like sbcl writes the compile-time error to a string, and then signals a generic runtime condition that has that string in a slot, along with a string of the form. 2017-10-12T13:12:57Z beach: Clever! 2017-10-12T13:13:21Z beach: Thanks. 2017-10-12T13:13:42Z hhdave joined #lisp 2017-10-12T13:13:53Z Bike: it feels like there should be an actual condition, but i'm not sure what would really be handling this kind of condition anyway. 2017-10-12T13:14:30Z beach: Well, it is not signaled, only reported, at run time. 2017-10-12T13:14:50Z Bike: right... 2017-10-12T13:16:53Z paule32: (setq listeA (loop for x from 1 to 3 do 2017-10-12T13:16:53Z paule32: (append '(0) (list listeA)))) 2017-10-12T13:16:53Z paule32: (print (list listeA)) 2017-10-12T13:17:04Z paule32: result: (nil) 2017-10-12T13:17:51Z yaocl quit (Quit: yaocl) 2017-10-12T13:18:53Z sjl joined #lisp 2017-10-12T13:18:58Z h3r3tek quit (Ping timeout: 264 seconds) 2017-10-12T13:19:01Z paule32: (print (append '(0) (list listeA))) 2017-10-12T13:19:03Z jackdaniel: paule32: please put your pastes on pastebin-like service 2017-10-12T13:19:11Z jackdaniel: also your questions match better #clnoobs channel 2017-10-12T13:19:40Z jackdaniel: s/match/fit/ 2017-10-12T13:20:33Z sjl_ joined #lisp 2017-10-12T13:21:09Z LiamH joined #lisp 2017-10-12T13:23:34Z josemanuel quit (Quit: leaving) 2017-10-12T13:23:58Z yaocl joined #lisp 2017-10-12T13:24:02Z sjl quit (Ping timeout: 260 seconds) 2017-10-12T13:24:52Z attila_lendvai quit (Quit: Leaving.) 2017-10-12T13:29:03Z h3r3tek joined #lisp 2017-10-12T13:32:31Z Xach: phoe_: how did you notice? 2017-10-12T13:32:31Z minion: Xach, memo from phoe_: your domain lisptips.com expired. 2017-10-12T13:33:00Z dlowe: oh noes 2017-10-12T13:36:43Z iqubic quit (Ping timeout: 258 seconds) 2017-10-12T13:45:58Z h3r3tek quit (Ping timeout: 264 seconds) 2017-10-12T13:46:07Z h3r3tek joined #lisp 2017-10-12T13:48:35Z _cosmonaut_ quit (Ping timeout: 240 seconds) 2017-10-12T13:51:27Z shifty quit (Ping timeout: 260 seconds) 2017-10-12T13:51:44Z malice joined #lisp 2017-10-12T13:51:50Z wxie quit (Remote host closed the connection) 2017-10-12T13:53:35Z miatomi quit (Ping timeout: 240 seconds) 2017-10-12T13:57:17Z h3r3tek quit (Remote host closed the connection) 2017-10-12T13:57:59Z h3r3tek joined #lisp 2017-10-12T13:59:26Z foom quit (Remote host closed the connection) 2017-10-12T14:02:48Z _cosmonaut_ joined #lisp 2017-10-12T14:06:20Z attila_lendvai joined #lisp 2017-10-12T14:06:20Z attila_lendvai quit (Changing host) 2017-10-12T14:06:20Z attila_lendvai joined #lisp 2017-10-12T14:07:20Z mishoo joined #lisp 2017-10-12T14:07:23Z h3r3tek quit (Ping timeout: 246 seconds) 2017-10-12T14:08:14Z kozy joined #lisp 2017-10-12T14:10:23Z rumbler31 joined #lisp 2017-10-12T14:10:24Z h3r3tek joined #lisp 2017-10-12T14:11:24Z flamebeard quit (Quit: Leaving) 2017-10-12T14:12:22Z hexfive joined #lisp 2017-10-12T14:13:21Z stnutt quit (Ping timeout: 240 seconds) 2017-10-12T14:14:22Z neoncontrails joined #lisp 2017-10-12T14:14:23Z margeas quit (Remote host closed the connection) 2017-10-12T14:15:20Z yaocl quit (Quit: yaocl) 2017-10-12T14:16:52Z yaocl joined #lisp 2017-10-12T14:22:01Z varjag quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2017-10-12T14:22:40Z foom joined #lisp 2017-10-12T14:22:53Z dec0n quit (Read error: Connection reset by peer) 2017-10-12T14:24:57Z shwouchk quit (Quit: Connection closed for inactivity) 2017-10-12T14:26:27Z miatomi joined #lisp 2017-10-12T14:27:30Z kenanb joined #lisp 2017-10-12T14:31:15Z kenanb: I have a program that needs to be controlled via various interfaces, most probably through plugins inside other software, I decided it is better to have it be a server and design the interfaces as clients, now my problem is what kind of stack to use for communication 2017-10-12T14:31:25Z kuwze joined #lisp 2017-10-12T14:31:45Z kenanb: I really don't know much networking, my research points me to json-rpc so far 2017-10-12T14:32:28Z dlowe: it's kind of an endless argument :) 2017-10-12T14:32:40Z kenanb: what is? 2017-10-12T14:33:11Z neoncontrails quit (Remote host closed the connection) 2017-10-12T14:33:12Z dlowe: what RPC format we should all be using 2017-10-12T14:34:00Z kenanb: I thought protobuf+grpc / flatbuffers+grpc / trift etc but none seems easily applicable to lisp side 2017-10-12T14:34:16Z Shinmera: If you're on Unix and on the same machine: probably something pipe-based. Otherwise: TCP. If you're on a wide network with unpredictable firewalls, probably HTTP-based. 2017-10-12T14:34:25Z dlowe: There is a protobuf library for CL, but I don't know about grpc support. 2017-10-12T14:34:31Z kenanb: dlowe: I see. so that is discussed a lot? I wonder how I missed that :D 2017-10-12T14:35:25Z kenanb: Shinmera: it needs to be cross-platform, but both server and client will always be on same machine so the network is simple 2017-10-12T14:36:02Z dlowe: The easiest way to make something cross-platform is to slap a web interface on it. 2017-10-12T14:36:15Z Shinmera: Well, you could do shared memory, though I don't advise it. I'd rather say TCP-based. 2017-10-12T14:36:16Z dlowe: but then you'll have a web interface 2017-10-12T14:36:18Z bwv quit (Quit: bwv) 2017-10-12T14:36:55Z dlowe: you'll have the most flexibility with json over http 2017-10-12T14:37:01Z kenanb: is there any reason json-rpc would be a bad idea? the data that is transmitted will be really small 2017-10-12T14:37:10Z Shinmera: Slapping together a simple server/client scheme with a protocol to call stuff doesn't take that much time. 2017-10-12T14:37:30Z Shinmera: Could even just PRINT/READ or use CL-STORE as the wire format. 2017-10-12T14:37:56Z dlowe: I'm assuming clients will be in potentially many different languages 2017-10-12T14:38:04Z epony joined #lisp 2017-10-12T14:38:12Z Shinmera: Ah. 2017-10-12T14:38:19Z kenanb: dlowe: yes, your assumption is very true. 2017-10-12T14:38:19Z Shinmera: Right, JSON, then. (sigh) 2017-10-12T14:38:52Z Shinmera: Unless of course you implement a parser library for the other languages like I'm doing for Lichat. 2017-10-12T14:39:25Z kenanb: you know, I would really prefer not to do that :D 2017-10-12T14:39:51Z Shinmera: As mentioned, JSON is going to be the easiest/sanest choice, then. 2017-10-12T14:40:07Z kenanb: I would actually love to work on it normally, but this is a program that I need to make useful by now or it will never finish :) 2017-10-12T14:40:44Z fe[nl]ix: kenanb: I'd use protobuf+grpc because it's widely supported, though not as widely as JSON, and has built-in support for schemas 2017-10-12T14:41:10Z kenanb: cool, I initially found xml-rpc, regardless of general xml hate, I was ok with it as long as it worked, but then even wikipedia says xml-rpc is criticized to be mostly stupid :D 2017-10-12T14:41:58Z Shinmera: Why not just do SOAP (lol) 2017-10-12T14:42:15Z dlowe: Even without grpc, protobufs are relatively sane, binary, and have wide language support 2017-10-12T14:43:04Z jackdaniel: kenanb: CL port for Thrift is underway 2017-10-12T14:43:13Z kenanb: Shinmera: :) I guess SOAP is also among the pile of deprecated-bad-xml-ideas of the early 2k era? 2017-10-12T14:43:17Z jackdaniel: should be finished by the end of this month 2017-10-12T14:43:50Z dlowe: SOAP has the distinction of being obviously bad even at the time 2017-10-12T14:43:54Z Shinmera: SOAP is an exercise in insanity 2017-10-12T14:44:09Z aindilis quit (Read error: Connection reset by peer) 2017-10-12T14:44:12Z Shinmera: that somehow got industry adaptation 2017-10-12T14:44:31Z bwv joined #lisp 2017-10-12T14:44:36Z kenanb: dlowe, fe[nl]ix: I actually have some experience with protobuf, but I don't think there is a readily available grpc binding for lisp? 2017-10-12T14:44:54Z dlowe: kenanb: there isn't, but that doesn't stop you from just pushing the bytes through a pipe 2017-10-12T14:45:05Z kenanb: well, at least they named it in a way to hint that 2017-10-12T14:45:12Z bwv left #lisp 2017-10-12T14:45:45Z neoncontrails joined #lisp 2017-10-12T14:45:57Z kenanb: jackdaniel: CL port for Thrift is underway? you working on it? would you recommend adapting it immediately? 2017-10-12T14:46:00Z tmc joined #lisp 2017-10-12T14:46:19Z dlowe: You want grpc if you have many services that all coordinate with each other, plus services that can operate on generic RPC streams 2017-10-12T14:47:10Z aindilis joined #lisp 2017-10-12T14:47:47Z jackdaniel: kenanb: only brief documentation is provided and cleanup is pending, also it is not merged to main branch yet. so if you are fine with wip which may have some slight changes in the future, you may use it 2017-10-12T14:49:08Z jackdaniel: https://github.com/TurtleWarePL/thrift here it is, based on James Anderson work from https://github.com/lisp/de.setf.thrift 2017-10-12T14:50:00Z kenanb: seriously, what I need is a single CL process communicating with another single process that maybe, C/C++, Python, C#, or CL. One is going to send commands, and act upon the response, either by updating the UI, or printing a fresh cli prompt etc. that is mostly it. I don't even expect two clients connect it at the same time. 2017-10-12T14:50:39Z Shinmera: I say still just use a simple TCP server and JSON for the wire format. 2017-10-12T14:51:16Z kenanb: so I guess any networking method will do in my case, the only major need is easy communication and calling commands on the server 2017-10-12T14:51:21Z dlowe: what Shinmera says 2017-10-12T14:51:52Z Shinmera: With usocket you'll have a server running in no time. 2017-10-12T14:52:28Z kenanb: I see, so my initial idea of choosing json-rpc was ok, right? 2017-10-12T14:52:32Z jackdaniel: comming up with REST api on top of ningle isn't the worst thing you can do either – if you plan to plug some UI to it frontend guys will know what to do right away 2017-10-12T14:52:49Z igemnace quit (Quit: WeeChat 1.9.1) 2017-10-12T14:52:53Z kenanb: Fukamachi has a jsonrpc lib that seems cool 2017-10-12T14:54:00Z Shinmera: kenanb: I don't know what that library does, so I can't comment on it. 2017-10-12T14:54:09Z kenanb: jackdaniel: I will definitely check Thrift out as well, since it also seemed like a bundled solution, and as long as it works on CL part, I think the officially supported languages will do for the client side. 2017-10-12T14:55:38Z Jesin joined #lisp 2017-10-12T14:57:31Z kenanb: Shinmera: the API seems really simple, you just make-server, map some string commands to lambdas, and that's it for the client side, but I haven't tested it much yet, so I don't know how it handles error conditions etc. 2017-10-12T14:57:46Z kenanb: that's it for the server side* 2017-10-12T15:00:15Z yeticry quit (Ping timeout: 248 seconds) 2017-10-12T15:01:15Z yeticry joined #lisp 2017-10-12T15:02:20Z kenanb: thank you very much for the information and the discussion, folks! 2017-10-12T15:02:35Z whyNOP quit (Ping timeout: 258 seconds) 2017-10-12T15:07:53Z varjag joined #lisp 2017-10-12T15:11:34Z mathi_aihtam quit (Quit: mathi_aihtam) 2017-10-12T15:12:20Z FreeBirdLjj joined #lisp 2017-10-12T15:17:38Z yrk joined #lisp 2017-10-12T15:21:28Z Amplituhedron joined #lisp 2017-10-12T15:21:28Z FreeBirdLjj quit 2017-10-12T15:22:31Z FreeBirdLjj joined #lisp 2017-10-12T15:28:02Z FreeBirdLjj quit 2017-10-12T15:33:05Z Mon_Ouie quit (Ping timeout: 240 seconds) 2017-10-12T15:33:26Z FreeBirdLjj joined #lisp 2017-10-12T15:35:50Z FreeBirdLjj quit (Client Quit) 2017-10-12T15:35:57Z raynold joined #lisp 2017-10-12T15:41:42Z kolko quit (Ping timeout: 260 seconds) 2017-10-12T15:42:33Z CrazyEddy quit (Remote host closed the connection) 2017-10-12T15:42:59Z yrk quit (Remote host closed the connection) 2017-10-12T15:44:33Z FreeBirdLjj joined #lisp 2017-10-12T15:48:10Z CrazyEddy joined #lisp 2017-10-12T15:52:43Z arborist joined #lisp 2017-10-12T15:55:49Z Karl_Dscc joined #lisp 2017-10-12T15:56:19Z strelox quit (Remote host closed the connection) 2017-10-12T15:58:20Z kenanb left #lisp 2017-10-12T16:00:22Z yaocl quit (Read error: Connection reset by peer) 2017-10-12T16:00:45Z sz0 quit (Quit: Connection closed for inactivity) 2017-10-12T16:00:46Z phoe_: Xach: mfiano attempted to access it. 2017-10-12T16:01:11Z XachX: I have submitted renewal with my registrar. 2017-10-12T16:04:59Z yaocl joined #lisp 2017-10-12T16:06:50Z deba5e12 quit (Ping timeout: 255 seconds) 2017-10-12T16:09:27Z h3r3tek quit (Ping timeout: 240 seconds) 2017-10-12T16:10:15Z sjl joined #lisp 2017-10-12T16:10:47Z sjl_ quit (Ping timeout: 255 seconds) 2017-10-12T16:12:24Z yrk joined #lisp 2017-10-12T16:13:54Z mathi_aihtam joined #lisp 2017-10-12T16:14:37Z epony quit (Remote host closed the connection) 2017-10-12T16:15:39Z mfiano: yeah, i had thought it is where i found a particular article, but it turned out to be one of the other domains. 2017-10-12T16:17:27Z mfiano: XachX: also, i request that sly follow up article, or at an idea of where you are now :) 2017-10-12T16:21:08Z tonton quit (Ping timeout: 240 seconds) 2017-10-12T16:22:49Z lonjil quit (Quit: No Ping reply in 180 seconds.) 2017-10-12T16:23:07Z lonjil joined #lisp 2017-10-12T16:23:14Z tonton joined #lisp 2017-10-12T16:23:50Z nika joined #lisp 2017-10-12T16:25:13Z h3r3tek joined #lisp 2017-10-12T16:25:41Z _rumbler31 joined #lisp 2017-10-12T16:26:07Z epony joined #lisp 2017-10-12T16:27:41Z rumbler31 quit (Ping timeout: 240 seconds) 2017-10-12T16:28:34Z arborist quit (Ping timeout: 264 seconds) 2017-10-12T16:28:37Z Karl_Dscc quit (Remote host closed the connection) 2017-10-12T16:30:35Z Xach: I want to follow up for sure 2017-10-12T16:30:55Z _cosmonaut_ quit (Ping timeout: 248 seconds) 2017-10-12T16:33:01Z thinkpad quit (Ping timeout: 240 seconds) 2017-10-12T16:38:58Z m00natic quit (Remote host closed the connection) 2017-10-12T16:42:41Z hhdave quit (Ping timeout: 240 seconds) 2017-10-12T16:45:05Z deba5e12 joined #lisp 2017-10-12T16:48:18Z rgrau joined #lisp 2017-10-12T16:50:45Z carenz_ quit (Ping timeout: 246 seconds) 2017-10-12T16:51:59Z malice quit (Remote host closed the connection) 2017-10-12T16:53:12Z serviteur joined #lisp 2017-10-12T17:03:59Z FreeBirdLjj quit (Remote host closed the connection) 2017-10-12T17:06:41Z damke_ quit (Ping timeout: 240 seconds) 2017-10-12T17:09:12Z damke_ joined #lisp 2017-10-12T17:14:39Z Amplituhedron quit (Ping timeout: 248 seconds) 2017-10-12T17:14:56Z shka_ joined #lisp 2017-10-12T17:15:03Z shka_: good evening all 2017-10-12T17:20:41Z emaczen: can we use CFFI with C++ libraries? 2017-10-12T17:20:47Z abrcdbr joined #lisp 2017-10-12T17:22:38Z abrcdbr quit (Max SendQ exceeded) 2017-10-12T17:23:06Z shka_: emaczen: symbol mangling 2017-10-12T17:23:18Z shka_: you will need bridge with extern 2017-10-12T17:24:00Z emaczen: shka_: well not for someone who doesn't want to get into that! 2017-10-12T17:24:20Z shka_: I agree 2017-10-12T17:24:38Z abrcdbr joined #lisp 2017-10-12T17:24:51Z neoncontrails quit (Remote host closed the connection) 2017-10-12T17:24:53Z shka_: you may perhaps try to use some generator like SWIG, but no idea how hard or easy this will be 2017-10-12T17:25:00Z Bourne joined #lisp 2017-10-12T17:25:34Z emaczen: shka_: it's just that the C API I am trying to use has been deprecated 2017-10-12T17:25:59Z emaczen: I'm pretty sure I have a starting point now 2017-10-12T17:26:22Z emaczen: I'm just going to start parsing a JFIF file 2017-10-12T17:26:31Z emaczen: I'm sure I'll learn enough about it to get what I want 2017-10-12T17:27:02Z EvW joined #lisp 2017-10-12T17:28:16Z FreeBirdLjj joined #lisp 2017-10-12T17:36:57Z easieste joined #lisp 2017-10-12T17:39:50Z abrcdbr_ joined #lisp 2017-10-12T17:40:20Z easieste quit (Client Quit) 2017-10-12T17:40:42Z Blukunfando quit (Ping timeout: 260 seconds) 2017-10-12T17:40:53Z abrcdbr quit (Ping timeout: 246 seconds) 2017-10-12T17:42:35Z yaocl quit (Quit: yaocl) 2017-10-12T17:43:02Z vlatkoB_ joined #lisp 2017-10-12T17:43:15Z easieste joined #lisp 2017-10-12T17:44:57Z al-damiri joined #lisp 2017-10-12T17:46:27Z vlatkoB quit (Ping timeout: 240 seconds) 2017-10-12T17:47:21Z panji joined #lisp 2017-10-12T17:47:58Z abrcdbr_ quit (Max SendQ exceeded) 2017-10-12T17:48:35Z easieste quit (Quit: easieste) 2017-10-12T17:52:33Z deba5e12 quit (Ping timeout: 248 seconds) 2017-10-12T17:53:59Z turkja quit (Read error: Connection reset by peer) 2017-10-12T17:54:07Z anthracite quit (Quit: Connection closed for inactivity) 2017-10-12T17:55:44Z deba5e12 joined #lisp 2017-10-12T17:56:44Z abrcdbr joined #lisp 2017-10-12T17:57:54Z elazul joined #lisp 2017-10-12T18:03:15Z emaczen: what happends if you don't defcstruct correctly? 2017-10-12T18:03:45Z emaczen: I think i'm getting a bunch of junk back from #'cffi:foreign-slot-value 2017-10-12T18:09:30Z Bike: you mean if your provided definition is inconsistent with the actual C one? 2017-10-12T18:11:28Z fe[nl]ix: emaczen: it happens that the code will dereference incorrect parts of the struct 2017-10-12T18:11:33Z fe[nl]ix: same as in C 2017-10-12T18:14:22Z abrcdbr_ joined #lisp 2017-10-12T18:14:25Z marcux quit (Ping timeout: 248 seconds) 2017-10-12T18:14:32Z FreeBirdLjj quit (Remote host closed the connection) 2017-10-12T18:14:52Z emaczen: fe[nl]ix: I was getting strange integers and am pretty sure I didn't do it correctly then 2017-10-12T18:15:09Z FreeBirdLjj joined #lisp 2017-10-12T18:15:18Z emaczen: I'm going to instead try writing it to a file and then reading it from lisp 2017-10-12T18:16:07Z marcux joined #lisp 2017-10-12T18:16:56Z abrcdbr quit (Ping timeout: 258 seconds) 2017-10-12T18:17:08Z iqubic joined #lisp 2017-10-12T18:18:51Z dcluna quit (Ping timeout: 258 seconds) 2017-10-12T18:19:02Z emaczen quit (Remote host closed the connection) 2017-10-12T18:19:21Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2017-10-12T18:20:19Z dcluna joined #lisp 2017-10-12T18:24:10Z emaczen joined #lisp 2017-10-12T18:26:48Z edgar-rft quit (Quit: edgar-rft) 2017-10-12T18:27:29Z phoe_: emaczen: or try fixing up your defstruct 2017-10-12T18:28:28Z emaczen: phoe_: I don't like the idea of writing to a file and then reading from it, but maybe it is fast enough 2017-10-12T18:28:52Z emaczen: phoe_: Maybe I can just get it to work for now you know? 2017-10-12T18:28:59Z Bock quit (Read error: Connection reset by peer) 2017-10-12T18:29:06Z emaczen: this type of work isn't usually what I do... 2017-10-12T18:31:00Z nirved quit (Quit: Leaving) 2017-10-12T18:32:44Z neoncontrails joined #lisp 2017-10-12T18:34:09Z LiamH quit (Ping timeout: 248 seconds) 2017-10-12T18:34:27Z _death: could use shared memory, or zeromq 2017-10-12T18:34:52Z LiamH joined #lisp 2017-10-12T18:38:06Z emaczen: _death: can you elaborate on how to use shared memory here? 2017-10-12T18:39:05Z _death: if you're using linux, mmap/shmem 2017-10-12T18:39:16Z _death: erm, shmget 2017-10-12T18:42:09Z Devon quit (Ping timeout: 248 seconds) 2017-10-12T18:42:46Z emaczen: _death: is the idea that I can still write code in terms of files but it will still use RAM? 2017-10-12T18:44:55Z _death: that's not shared memory, but you can also do that using a tmpfs mount (e.g., /tmp or /var/tmp on some distributions) 2017-10-12T18:45:20Z _death: it will still require copying data 2017-10-12T18:47:17Z alexmlw joined #lisp 2017-10-12T18:47:23Z iqubic: How do one make a function that does different things when given a int vs a double? 2017-10-12T18:47:45Z emaczen: defmethod specialized on which type you want 2017-10-12T18:47:46Z iqubic: Do I have to use generic methods and specializations? 2017-10-12T18:47:55Z Bike: generic functions, yes 2017-10-12T18:47:58Z _death: iqubic: you can use typecase 2017-10-12T18:48:05Z Bike: assuming you mean integer and double-float 2017-10-12T18:48:17Z emaczen: (defmethod function-name ((param double)) function-body) 2017-10-12T18:48:18Z _death: iqubic: or typep, integerp, etc. 2017-10-12T18:49:14Z iqubic: I see. 2017-10-12T18:53:21Z damke_ quit (Ping timeout: 240 seconds) 2017-10-12T18:54:28Z neoncontrails quit (Ping timeout: 240 seconds) 2017-10-12T18:54:41Z pjb joined #lisp 2017-10-12T18:55:07Z neoncontrails joined #lisp 2017-10-12T19:00:14Z sjl_ joined #lisp 2017-10-12T19:02:25Z sjl quit (Ping timeout: 248 seconds) 2017-10-12T19:03:27Z rgrau quit (Ping timeout: 248 seconds) 2017-10-12T19:05:07Z emaczen: how would you serve a video stream consisting of jpeg images with hunchentoot? 2017-10-12T19:07:45Z LiamH quit (Ping timeout: 248 seconds) 2017-10-12T19:08:22Z Bike: ...is that a thing? jpeg video? 2017-10-12T19:08:34Z _death: mjpeg? 2017-10-12T19:08:41Z Bike: M-JPEG, i see 2017-10-12T19:08:56Z phoe_: tell hunchentoot to output whatever proper HTTP headers it should output, give me the socket stream, and just (loop for jpeg in jpegs do (print-sequence jpeg stream)) 2017-10-12T19:08:57Z emaczen: from what I understand, mjpeg is just a sequence of jpeg images 2017-10-12T19:10:03Z neoncontrails quit (Ping timeout: 246 seconds) 2017-10-12T19:10:48Z burtons joined #lisp 2017-10-12T19:10:49Z Bike: https://en.wikipedia.org/wiki/Motion_JPEG#M-JPEG_over_HTTP mhm don't understand this 2017-10-12T19:11:18Z neoncontrails joined #lisp 2017-10-12T19:12:14Z EvW quit (Remote host closed the connection) 2017-10-12T19:12:33Z EvW joined #lisp 2017-10-12T19:15:59Z emaczen: http://paste.lisp.org/display/358425 -- that is my understanding 2017-10-12T19:16:33Z AX31_A13X joined #lisp 2017-10-12T19:17:01Z _death: never tried streaming it.. best to look at ffmpeg or something 2017-10-12T19:18:17Z emaczen: _death: do you have any hunchentoot examples? 2017-10-12T19:18:41Z AxelAlex quit (Ping timeout: 240 seconds) 2017-10-12T19:20:04Z jmercouris joined #lisp 2017-10-12T19:21:24Z _death: of what? 2017-10-12T19:21:44Z emaczen: ffmpeg? 2017-10-12T19:22:14Z _death: no.. I mean ffmpeg has a server (ffserver) that can stream mjpeg.. 2017-10-12T19:26:13Z rgrau joined #lisp 2017-10-12T19:26:42Z neoncontrails quit (Ping timeout: 258 seconds) 2017-10-12T19:28:36Z neoncontrails joined #lisp 2017-10-12T19:36:42Z pierpa joined #lisp 2017-10-12T19:36:45Z akkad joined #lisp 2017-10-12T19:40:48Z dbh joined #lisp 2017-10-12T19:44:10Z dbh quit (Client Quit) 2017-10-12T19:48:16Z neoncontrails quit (Remote host closed the connection) 2017-10-12T19:50:16Z neoncontrails joined #lisp 2017-10-12T19:53:27Z scymtym quit (Ping timeout: 246 seconds) 2017-10-12T19:55:14Z vlatkoB_ quit (Remote host closed the connection) 2017-10-12T19:56:20Z neoncontrails quit (Ping timeout: 246 seconds) 2017-10-12T19:59:38Z neoncontrails joined #lisp 2017-10-12T20:17:18Z EvW quit (Ping timeout: 258 seconds) 2017-10-12T20:18:49Z LiamH joined #lisp 2017-10-12T20:20:11Z marvin2 joined #lisp 2017-10-12T20:20:23Z EvW1 joined #lisp 2017-10-12T20:39:11Z scymtym joined #lisp 2017-10-12T20:39:36Z rgrau quit (Read error: Connection reset by peer) 2017-10-12T20:41:01Z KongWubba joined #lisp 2017-10-12T20:42:37Z elazul quit (Quit: leaving) 2017-10-12T20:43:10Z edgar-rft joined #lisp 2017-10-12T20:48:30Z yrk quit (Read error: Connection reset by peer) 2017-10-12T20:56:06Z takitus joined #lisp 2017-10-12T20:57:32Z dddddd quit (Ping timeout: 255 seconds) 2017-10-12T20:57:32Z jmercouris: can someone explain to me the message in the topic: the #1=(programmable . #1#) programming language 2017-10-12T20:57:39Z jmercouris: what does #1= mean? 2017-10-12T20:57:46Z shka_: :-) 2017-10-12T20:58:06Z _death: clhs #= 2017-10-12T20:58:07Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/02_dho.htm 2017-10-12T20:58:35Z alexmlw quit (Ping timeout: 240 seconds) 2017-10-12T20:58:54Z jmercouris: so that's like reader assignment? 2017-10-12T20:59:20Z phoe_: yes, that's instructing the reader that it should preserve identity. 2017-10-12T20:59:39Z _death: it's reader syntax for "labeling" an object, which you can then refer to using #n# 2017-10-12T20:59:40Z pjb: #1=(programmable . #1#) === #1=(programmable . (programmable . #1#)) === (programmable programmable . #1#) === (programmable programmable programmable . #1#)… 2017-10-12T20:59:51Z phoe_: in (#1=(a . b) (a . b) #1#), the result is an alist that looks like ((a . b) (a . b) (a . b)) 2017-10-12T20:59:54Z attila_lendvai quit (Quit: Leaving.) 2017-10-12T20:59:56Z phoe_: but the first and the third cons are EQ 2017-10-12T20:59:57Z abrcdbr_ quit (Remote host closed the connection) 2017-10-12T21:00:04Z phoe_: where the first and second most likely are not 2017-10-12T21:00:42Z jack_rabbit joined #lisp 2017-10-12T21:01:10Z jmercouris: I see, I think I got it 2017-10-12T21:01:22Z jmercouris: the thing I'm missing is you saying "first and third cons are EQ" 2017-10-12T21:01:35Z jmercouris: what do you mean? they are the same address in memory? 2017-10-12T21:01:40Z phoe_: yes, they're one and the same object 2017-10-12T21:01:54Z phoe_: they're the same object referenced from two different places in the list 2017-10-12T21:02:00Z jmercouris: yes, I gotcha 2017-10-12T21:02:30Z jmercouris: So the joke is that lisp is the #1 programmable language because it can be programmed? 2017-10-12T21:02:37Z phoe_: equivalent to (let ((x (cons 'a 'b)) (y (cons 'a 'b))) (list x y x)) 2017-10-12T21:02:41Z jmercouris: and its using lisp syntax to say that? 2017-10-12T21:02:51Z phoe_: jmercouris: it's not a joke, it's reality (: 2017-10-12T21:03:09Z jmercouris: phoe_: sure, GNUS is also not a joke, but it's kinda a joke, you know what I mean? 2017-10-12T21:03:13Z phoe_: and it's circularly programmable 2017-10-12T21:03:27Z phoe_: you can program the language and then you can program the programming of the language 2017-10-12T21:03:33Z _death: try (progn (setf *print-length* 10) '#1=(programmable . #1#)) 2017-10-12T21:03:35Z phoe_: until you reach turtles 2017-10-12T21:03:44Z jmercouris: phoe_: all the way down 2017-10-12T21:03:57Z Shinmera: I feel like explaining the topic is kind of ruining the beauty of it. It was a genuinely nice surprise when I realised what it meant on my own as I learned lisp. 2017-10-12T21:04:05Z hexfive quit (Quit: WeeChat 1.9) 2017-10-12T21:04:26Z jmercouris: Shinmera: I still think it's pretty cool, I just didn't know that syntax, didn't really ruin anything for me 2017-10-12T21:05:05Z LiamH quit (Ping timeout: 248 seconds) 2017-10-12T21:05:10Z pjb: Rather, try: (loop with *print-circle* = nil for *print-length* from 1 to 10 do (print '#1=(programmable . #1#))) 2017-10-12T21:05:20Z Bike: "wow, spoilers" 2017-10-12T21:05:43Z pjb: _death: *print-length* is useless in your case if you have *print-circle* true! (which you should have in your rc file by default). 2017-10-12T21:06:01Z mathi_aihtam quit (Quit: mathi_aihtam) 2017-10-12T21:06:26Z Rawriful joined #lisp 2017-10-12T21:06:28Z _death: pjb: no, I keep it at nil, because I don't usually want #n# shown for simple shared structure 2017-10-12T21:07:25Z _death: on the other hand, a moderate bound on print-length may be a good idea (I thought about it before, but didn't get a chance to try) 2017-10-12T21:09:19Z shka_ quit (Ping timeout: 248 seconds) 2017-10-12T21:09:59Z KongWubba quit (Quit: Yaaic - Yet another Android IRC client - http://www.yaaic.org) 2017-10-12T21:10:10Z jmercouris: Shinmera: with so many projects, how do you keep them clear in your head? how do you remember what you were working on last in a given project? 2017-10-12T21:10:11Z KongWubba joined #lisp 2017-10-12T21:10:58Z Shinmera: jmercouris: Usually I don't, because I finish them so I don't have to work on them any more aside from bug fixes. 2017-10-12T21:15:11Z mathi_aihtam joined #lisp 2017-10-12T21:20:23Z Shinmera: For those that are too large to finish quickly I just organise code very clearly and keep ideas recorded in issues or on my trello. 2017-10-12T21:20:45Z jmercouris: Trello? Interesting, do you use emacs? 2017-10-12T21:21:01Z Shinmera: I do use Emacs, but not for Trello, if that's what you're asking. 2017-10-12T21:21:22Z jmercouris: I'm just thinking that org might be a better alternative 2017-10-12T21:21:34Z Shinmera: I've tried to get into Org and just couldn't. 2017-10-12T21:21:44Z jmercouris: hmm yeah, well it is not for everyone 2017-10-12T21:21:56Z jmercouris: I think a lot of people their first experience is a bit overwhelming with org 2017-10-12T21:22:10Z Shinmera: I've given it multiple shots but it just doesn't please me I guess. 2017-10-12T21:22:22Z jmercouris: There's so many configuration possibilities, and you can infinitely tweak your config, but actually is not a good way to start imo 2017-10-12T21:22:34Z pjb quit (Ping timeout: 264 seconds) 2017-10-12T21:22:43Z KongWubba: whats org? 2017-10-12T21:22:59Z jmercouris: KongWubba: http://orgmode.org 2017-10-12T21:23:19Z KongWubba: thx! 2017-10-12T21:23:37Z _death: I use org-capture a lot 2017-10-12T21:24:30Z jasom: someone tell me what I'm doing wrong: (extern-alien "write" (function long (* void) long)) 2017-10-12T21:24:57Z Bike quit (Ping timeout: 240 seconds) 2017-10-12T21:25:09Z KongWubba quit (Quit: Yaaic - Yet another Android IRC client - http://www.yaaic.org) 2017-10-12T21:25:44Z KongWubba joined #lisp 2017-10-12T21:25:56Z _death: long? 2017-10-12T21:27:02Z KongWubba quit (Client Quit) 2017-10-12T21:27:05Z _rumbler31 quit (Ping timeout: 240 seconds) 2017-10-12T21:27:22Z jasom: google tells me it should be (* t) rather than (* void) 2017-10-12T21:27:48Z KongWubba joined #lisp 2017-10-12T21:28:51Z KongWubba quit (Client Quit) 2017-10-12T21:29:00Z _death: yeah 2017-10-12T21:30:07Z _death: think (extern-alien "write" (function int (* t) long)) 2017-10-12T21:30:46Z dyelar quit (Quit: Leaving.) 2017-10-12T21:32:19Z Cthulhux: is cl-notify superseded by anything or is it just "dead"? 2017-10-12T21:33:38Z mathi_aihtam quit (Quit: mathi_aihtam) 2017-10-12T21:34:06Z jasom: _death: yeah 2017-10-12T21:34:13Z papachan quit (Quit: Saliendo) 2017-10-12T21:34:55Z _death: Cthulhux: maybe my dbus lib can help 2017-10-12T21:35:33Z Cthulhux would prefer a low-dependency thing, but dbus seems to be unavoidable 2017-10-12T21:36:05Z Shinmera: libnotify doesn't exactly have few dependencies. 2017-10-12T21:36:53Z Cthulhux: libnotify seems to be the consensus about how to display notification toasts on linux 2017-10-12T21:36:58Z Cthulhux: :( 2017-10-12T21:37:22Z Cthulhux: or is there a non-libnotify library for that? 2017-10-12T21:37:53Z Shinmera: You could use a tray icon, I guess. 2017-10-12T21:38:13Z Cthulhux: not on WMs without a tray. 2017-10-12T21:38:30Z Shinmera: Sure, and you can't display toasts on a WM without a notification handler (even more common) 2017-10-12T21:38:37Z Cthulhux: good point 2017-10-12T21:38:52Z _death: one reason I no longer using my dbus lib ;) 2017-10-12T21:39:24Z postit joined #lisp 2017-10-12T21:39:37Z Shinmera: You could do your own thingy to display notifications with simple frameless windows. 2017-10-12T21:39:45Z Shinmera: Only way to "be sure". 2017-10-12T21:40:23Z mathi_aihtam joined #lisp 2017-10-12T21:40:25Z Shinmera: If you're using Qtools, QUI has that ready for you :) https://github.com/Shinmera/qtools-ui/blob/master/notification.lisp 2017-10-12T21:41:26Z Cthulhux: ah, qtools. i was considering.. :) (so much about "low dependencies") 2017-10-12T21:41:28Z Bourne quit (Ping timeout: 240 seconds) 2017-10-12T21:41:50Z Shinmera: Haha, yeah. Won't get low deps with Qt. At least deployment is handled for you and mostly "just works" from my own tests. 2017-10-12T21:42:22Z Cthulhux: really? is qt5 ported yet? 2017-10-12T21:42:29Z Shinmera: No 2017-10-12T21:42:31Z jmercouris: Cthulhux: no, and don't count on it 2017-10-12T21:42:35Z Cthulhux: :( 2017-10-12T21:42:38Z jmercouris: If you want to use QT5, use EQL5 2017-10-12T21:43:23Z Cthulhux: qt4 is dying a slow death 2017-10-12T21:43:27Z sjl_ quit (Ping timeout: 248 seconds) 2017-10-12T21:43:34Z jmercouris: Cthulhux: I wouldn't call it slow :D 2017-10-12T21:43:34Z jdz quit (Ping timeout: 264 seconds) 2017-10-12T21:43:40Z jmercouris: We're already on qt 5.11 2017-10-12T21:43:44Z Shinmera: Won't be dead for me for as long as Qt5 isn't ported. 2017-10-12T21:43:44Z Cthulhux: in computing terms.. 2017-10-12T21:43:54Z hexfive joined #lisp 2017-10-12T21:44:33Z Kaisyu quit (Quit: Connection closed for inactivity) 2017-10-12T21:47:13Z Amplituhedron joined #lisp 2017-10-12T21:47:30Z postit quit (Quit: quiting) 2017-10-12T21:48:13Z orivej joined #lisp 2017-10-12T21:48:34Z jmercouris: Cthulhux: https://www.youtube.com/watch?v=SWX53DCt47o 2017-10-12T21:48:46Z Cthulhux: LOL 2017-10-12T21:49:05Z Cthulhux: that whois magic though 2017-10-12T21:49:17Z jdz joined #lisp 2017-10-12T21:49:21Z postit joined #lisp 2017-10-12T21:49:28Z jmercouris: Yeah 2017-10-12T21:55:42Z postit quit (Quit: quiting) 2017-10-12T21:58:07Z postit joined #lisp 2017-10-12T21:58:27Z postit quit (Client Quit) 2017-10-12T21:59:13Z Bike joined #lisp 2017-10-12T22:00:05Z AX31_A13X quit (Ping timeout: 255 seconds) 2017-10-12T22:00:53Z EvW1 quit (Ping timeout: 255 seconds) 2017-10-12T22:07:28Z EvW joined #lisp 2017-10-12T22:11:36Z postit joined #lisp 2017-10-12T22:16:08Z miatomi quit (Ping timeout: 258 seconds) 2017-10-12T22:17:27Z varjag quit (Ping timeout: 240 seconds) 2017-10-12T22:19:12Z rumbler31 joined #lisp 2017-10-12T22:23:16Z mathi_aihtam quit (Quit: mathi_aihtam) 2017-10-12T22:23:48Z rumbler31 quit (Ping timeout: 258 seconds) 2017-10-12T22:27:59Z dtornabene joined #lisp 2017-10-12T22:29:11Z jmercouris: if anyone needs help with CCL cocoa, I was able to get it working 2017-10-12T22:29:35Z jmercouris: I'm not like an expert or anything, but I can help with configuration 2017-10-12T22:32:36Z iqubic quit (Remote host closed the connection) 2017-10-12T22:33:44Z iqubic joined #lisp 2017-10-12T22:35:48Z joast quit (Quit: Leaving.) 2017-10-12T22:36:17Z joast joined #lisp 2017-10-12T22:36:43Z joast quit (Client Quit) 2017-10-12T22:37:01Z hexfive quit (Ping timeout: 240 seconds) 2017-10-12T22:38:43Z marvin2 quit 2017-10-12T22:38:45Z jmercouris quit (Ping timeout: 258 seconds) 2017-10-12T22:39:17Z joast joined #lisp 2017-10-12T22:42:49Z pjb joined #lisp 2017-10-12T22:43:36Z varjag joined #lisp 2017-10-12T22:45:12Z epony quit (Remote host closed the connection) 2017-10-12T22:45:44Z emaczen: how do we access errno with CFFI? 2017-10-12T22:46:55Z panji quit (Ping timeout: 248 seconds) 2017-10-12T22:48:01Z varjag quit (Ping timeout: 240 seconds) 2017-10-12T22:49:33Z serviteur quit (Remote host closed the connection) 2017-10-12T22:53:11Z hexfive joined #lisp 2017-10-12T23:01:05Z panji joined #lisp 2017-10-12T23:03:14Z rumbler31 joined #lisp 2017-10-12T23:05:59Z thinkpad joined #lisp 2017-10-12T23:07:13Z Josh_2 quit (Remote host closed the connection) 2017-10-12T23:07:16Z pillton joined #lisp 2017-10-12T23:07:41Z mishoo quit (Ping timeout: 240 seconds) 2017-10-12T23:07:45Z rumbler31 quit (Ping timeout: 248 seconds) 2017-10-12T23:09:38Z pjb: emaczen: write a function in C to return it, and call it from CFFI. 2017-10-12T23:10:14Z pjb: emaczen: errno is not a variable. It may be a macro expanding to some complex expression, like, accessing some thread specific attribute. 2017-10-12T23:13:27Z dddddd joined #lisp 2017-10-12T23:18:17Z cromachina joined #lisp 2017-10-12T23:23:59Z Kaisyu joined #lisp 2017-10-12T23:27:23Z orivej quit (Ping timeout: 255 seconds) 2017-10-12T23:31:48Z mathi_aihtam joined #lisp 2017-10-12T23:34:47Z miatomi joined #lisp 2017-10-12T23:36:22Z pjb quit (Ping timeout: 264 seconds) 2017-10-12T23:38:32Z pjb joined #lisp 2017-10-12T23:39:52Z wxie joined #lisp 2017-10-12T23:40:16Z postit quit (Quit: WeeChat 1.4) 2017-10-12T23:41:11Z postit joined #lisp 2017-10-12T23:41:31Z jmercouris joined #lisp 2017-10-12T23:43:29Z pjb quit (Remote host closed the connection) 2017-10-12T23:46:49Z wxie quit (Remote host closed the connection) 2017-10-12T23:48:47Z epony joined #lisp 2017-10-12T23:51:03Z hexfive quit (Quit: WeeChat 1.9) 2017-10-12T23:51:05Z Josh_2 joined #lisp 2017-10-12T23:56:05Z Josh_2 quit (Ping timeout: 240 seconds) 2017-10-13T00:04:22Z vancan1ty joined #lisp 2017-10-13T00:04:52Z pierpa quit (Quit: Page closed) 2017-10-13T00:06:27Z Rawriful quit (Ping timeout: 240 seconds) 2017-10-13T00:17:07Z yaocl joined #lisp 2017-10-13T00:20:32Z jasom thinks CFFI should provide that personally 2017-10-13T00:25:17Z astronavt[m]: jmercouris me me me 2017-10-13T00:26:31Z Denommus quit (Quit: going home) 2017-10-13T00:26:34Z astronavt[m]: i could never get it working. nothing ever was displayed 2017-10-13T00:32:33Z yaocl quit (Quit: yaocl) 2017-10-13T00:33:07Z yaocl joined #lisp 2017-10-13T00:35:19Z EvW quit (Ping timeout: 255 seconds) 2017-10-13T00:41:25Z manny8888 joined #lisp 2017-10-13T00:42:19Z MrBismuth joined #lisp 2017-10-13T00:42:26Z MrBusiness quit (Ping timeout: 255 seconds) 2017-10-13T00:42:53Z yaocl quit (Quit: yaocl) 2017-10-13T00:45:10Z yaocl joined #lisp 2017-10-13T00:45:15Z leourbina joined #lisp 2017-10-13T00:45:24Z leourbina quit (Remote host closed the connection) 2017-10-13T00:47:29Z panji quit (Ping timeout: 248 seconds) 2017-10-13T00:47:48Z leourbina joined #lisp 2017-10-13T00:47:58Z leourbina quit (Remote host closed the connection) 2017-10-13T00:48:09Z turkja joined #lisp 2017-10-13T00:51:59Z jasom: ultra fast "yes" implementation in under 140 characters: https://www.reddit.com/r/lisp/comments/75wla9/writing_a_fast_yes_program_that_can_fit_in_a_tweet/doa6gut/ 2017-10-13T00:52:19Z jasom: the 200 character full featured can e trimmed by 2 characters 2017-10-13T01:03:34Z shifty joined #lisp 2017-10-13T01:03:57Z rumbler31 joined #lisp 2017-10-13T01:08:17Z rumbler31 quit (Ping timeout: 248 seconds) 2017-10-13T01:11:07Z safe joined #lisp 2017-10-13T01:11:12Z scottj joined #lisp 2017-10-13T01:14:00Z hexfive joined #lisp 2017-10-13T01:14:01Z jameser joined #lisp 2017-10-13T01:26:32Z sjl joined #lisp 2017-10-13T01:28:28Z nika quit (Remote host closed the connection) 2017-10-13T01:31:03Z yaocl quit (Quit: yaocl) 2017-10-13T01:39:43Z marcux quit (Ping timeout: 248 seconds) 2017-10-13T01:44:25Z yaocl joined #lisp 2017-10-13T01:45:32Z wooden quit (Ping timeout: 255 seconds) 2017-10-13T01:45:43Z yaocl quit (Client Quit) 2017-10-13T01:49:58Z ult_ joined #lisp 2017-10-13T01:50:08Z ult_ is now known as ult 2017-10-13T01:50:37Z neoncontrails quit (Remote host closed the connection) 2017-10-13T01:51:33Z yaocl joined #lisp 2017-10-13T01:52:27Z d4ryus1 joined #lisp 2017-10-13T01:52:39Z shdeng joined #lisp 2017-10-13T01:54:59Z wooden joined #lisp 2017-10-13T01:55:04Z jmercouris: astronavt[m]: ok sure 2017-10-13T01:55:09Z jmercouris: astronavt[m]: are you still ther? 2017-10-13T01:55:23Z Kevslinger quit (Quit: Connection closed for inactivity) 2017-10-13T01:55:32Z jmercouris: astronavt[m]: message me your email if you want and I can send you the steps 2017-10-13T01:55:57Z d4ryus quit (Ping timeout: 260 seconds) 2017-10-13T01:59:36Z jmercouris: How can I create a logical pathname from ~/Folder/Subfolder 2017-10-13T01:59:48Z jmercouris: I know how to do "home:Folder", but "home:Folder:Subfolder" doesn't work 2017-10-13T02:01:45Z mathi_aihtam quit (Quit: mathi_aihtam) 2017-10-13T02:03:45Z Karl_Dscc joined #lisp 2017-10-13T02:07:50Z jmercouris: nvm, figured out translate logical pathname is implementation dependent 2017-10-13T02:07:54Z jmercouris: interesting 2017-10-13T02:10:41Z Amplituhedron quit (Ping timeout: 248 seconds) 2017-10-13T02:11:01Z jmercouris: any reason why I have such difficulty deleting "|" (pipe) characters in paredit 2017-10-13T02:11:36Z neoncontrails joined #lisp 2017-10-13T02:18:57Z Karl_Dscc quit (Remote host closed the connection) 2017-10-13T02:19:13Z mathi_aihtam joined #lisp 2017-10-13T02:24:40Z safe quit (Read error: Connection reset by peer) 2017-10-13T02:25:14Z mathi_aihtam quit (Quit: mathi_aihtam) 2017-10-13T02:28:08Z Oladon1 is now known as Oladon 2017-10-13T02:32:28Z jmercouris left #lisp 2017-10-13T02:33:09Z jmercouris joined #lisp 2017-10-13T02:35:19Z iqubic: What issues are you running into jmercouris? 2017-10-13T02:36:57Z EvW joined #lisp 2017-10-13T02:37:15Z pillton: jmercouris: Be aware that the standard requires logical pathnames to be all uppercase. 2017-10-13T02:37:22Z pillton: clhs 19.3.1 2017-10-13T02:37:23Z specbot: Syntax of Logical Pathname Namestrings: http://www.lispworks.com/reference/HyperSpec/Body/19_ca.htm 2017-10-13T02:39:09Z pillton: You are better off using functions to generate pathnames. 2017-10-13T02:45:48Z afact joined #lisp 2017-10-13T02:45:53Z yeticry quit (Ping timeout: 248 seconds) 2017-10-13T02:45:57Z marusich joined #lisp 2017-10-13T02:47:08Z DGASAU quit (Ping timeout: 240 seconds) 2017-10-13T02:48:30Z mson quit (Quit: Connection closed for inactivity) 2017-10-13T02:51:42Z yaocl quit (Quit: yaocl) 2017-10-13T02:52:17Z EvW quit (Ping timeout: 248 seconds) 2017-10-13T02:57:53Z nika joined #lisp 2017-10-13T02:57:58Z yaocl joined #lisp 2017-10-13T02:58:14Z yeticry joined #lisp 2017-10-13T02:59:49Z jmercouris: pillton: I found it such an obtuse syntax, but I didn't want to change the code that was using it 2017-10-13T02:59:58Z jmercouris: so I ended up making a new path 2017-10-13T03:04:50Z rumbler31 joined #lisp 2017-10-13T03:04:52Z pillton: It is my understanding that it was defined at a time when there where no clear "winners" in terms of pathname syntax or file system functionality. 2017-10-13T03:06:29Z iqubic quit (Ping timeout: 246 seconds) 2017-10-13T03:08:32Z yaocl quit (Quit: yaocl) 2017-10-13T03:09:01Z rumbler31 quit (Ping timeout: 240 seconds) 2017-10-13T03:11:20Z mson joined #lisp 2017-10-13T03:11:28Z beach: Good morning everyone! 2017-10-13T03:11:32Z pillton: G'day beach. 2017-10-13T03:11:33Z loke: Hello beach! 2017-10-13T03:12:08Z h3r3tek quit (Ping timeout: 240 seconds) 2017-10-13T03:13:15Z yaocl joined #lisp 2017-10-13T03:14:35Z neoncontrails quit 2017-10-13T03:15:45Z yaocl quit (Client Quit) 2017-10-13T03:17:09Z yaocl joined #lisp 2017-10-13T03:17:42Z emaczen: morning beach 2017-10-13T03:20:19Z h3r3tek joined #lisp 2017-10-13T03:20:26Z emaczen: pjb: how do we get errno? 2017-10-13T03:20:54Z iqubic joined #lisp 2017-10-13T03:20:57Z iqubic quit (Remote host closed the connection) 2017-10-13T03:21:18Z iqubic joined #lisp 2017-10-13T03:21:45Z jmercouris: pillton: yeah that's what I've read as well 2017-10-13T03:21:52Z jmercouris: at least it is OS agnostic 2017-10-13T03:21:57Z emaczen: pjb: Ok, I understand what you said now 2017-10-13T03:22:05Z dcluna quit (Ping timeout: 240 seconds) 2017-10-13T03:22:09Z emaczen: I'm talking to myself practically ha 2017-10-13T03:22:51Z jmercouris: iqubic: I was having trouble just extending the path, the syntax totally threw me off, that's all 2017-10-13T03:23:34Z iqubic: But you were having trouble deleting "|" in emacs too, right? 2017-10-13T03:24:37Z dcluna joined #lisp 2017-10-13T03:24:46Z ebzzry joined #lisp 2017-10-13T03:24:55Z eazar001 joined #lisp 2017-10-13T03:27:21Z yaocl quit (Quit: yaocl) 2017-10-13T03:27:54Z safe joined #lisp 2017-10-13T03:29:57Z h3r3tek quit (Ping timeout: 240 seconds) 2017-10-13T03:30:01Z yaocl joined #lisp 2017-10-13T03:30:26Z dddddd quit (Remote host closed the connection) 2017-10-13T03:31:11Z miatomi quit (Ping timeout: 248 seconds) 2017-10-13T03:31:30Z h3r3tek joined #lisp 2017-10-13T03:35:14Z marusich quit (Ping timeout: 255 seconds) 2017-10-13T03:36:40Z h3r3tek quit (Ping timeout: 255 seconds) 2017-10-13T03:37:53Z sjl_ joined #lisp 2017-10-13T03:37:55Z arquebus joined #lisp 2017-10-13T03:38:25Z marusich joined #lisp 2017-10-13T03:39:13Z sjl_ quit (Read error: Connection reset by peer) 2017-10-13T03:41:30Z jmercouris: iqubic: yeah, that as well 2017-10-13T03:41:38Z jmercouris: with paredit mode enabled I can't ever delete pipes 2017-10-13T03:43:11Z pillton: You can do multiline comments with #| ... |# . 2017-10-13T03:43:20Z marusich quit (Ping timeout: 255 seconds) 2017-10-13T03:44:33Z deba5e12 quit (Ping timeout: 248 seconds) 2017-10-13T03:44:51Z iqubic: Is that why paredit doesn't like removing "|"? 2017-10-13T03:45:19Z pillton: I presume so. It is probably trying to match with another pipe. 2017-10-13T03:46:03Z White_Flame: |foo| is what paredit is looking for, not #| foo |# 2017-10-13T03:46:31Z pillton: That too. 2017-10-13T03:47:01Z White_Flame: I end up using cut & paste when paredit doesn't want to do what I want 2017-10-13T03:47:06Z moei quit (Quit: Leaving...) 2017-10-13T03:49:18Z hexfive quit (Quit: WeeChat 1.9) 2017-10-13T03:50:55Z manny8888 quit (Ping timeout: 248 seconds) 2017-10-13T03:59:29Z arquebus quit (Quit: konversation disconnects) 2017-10-13T04:03:05Z schoppenhauer quit (Read error: Connection timed out) 2017-10-13T04:03:05Z damke_ joined #lisp 2017-10-13T04:03:59Z jmercouris: I'll try C-w next time, thanks for the tip! 2017-10-13T04:07:36Z h3r3tek joined #lisp 2017-10-13T04:09:01Z Bike quit (Quit: Lost terminal) 2017-10-13T04:09:32Z aeth: I use C-w all the time now 2017-10-13T04:11:18Z schoppenhauer joined #lisp 2017-10-13T04:14:39Z astronavt[m]: jmercouris i messaged you 2017-10-13T04:17:14Z iqubic quit (Ping timeout: 258 seconds) 2017-10-13T04:19:29Z aeth: There is one disadvantage to C-w. Now that emacs is integrated with the system clipboard, using C-w as delete will pollute the clipboard 2017-10-13T04:20:44Z igemnace joined #lisp 2017-10-13T04:27:53Z marusich joined #lisp 2017-10-13T04:37:19Z neoncontrails joined #lisp 2017-10-13T04:42:32Z safe quit (Ping timeout: 258 seconds) 2017-10-13T04:43:13Z vancan1ty quit (Ping timeout: 248 seconds) 2017-10-13T04:45:06Z jmercouris: astronavt[m]: emailed 2017-10-13T04:46:00Z jmercouris: aeth: Is it now? I still have a sort of "manual" integration with OSX: https://github.com/jmercouris/configuration/blob/master/.emacs.d/osx.el 2017-10-13T04:48:35Z LAG_ joined #lisp 2017-10-13T04:50:07Z astronavt[m]: ah jmercouris i thought you were talking about the cocoa bridge -_- 2017-10-13T04:53:46Z jmercouris: astronavt[m]: that's exactly what I"m talking about 2017-10-13T04:53:52Z jmercouris: read the whole email 2017-10-13T04:53:59Z jmercouris: it details getting the cocoa bridge to work 2017-10-13T04:54:08Z astronavt[m]: oh ok! 2017-10-13T04:54:23Z emaczen: jmercouris: Are you going to make the cocoa bridge work on Linux? 2017-10-13T04:54:35Z jmercouris: emaczen: I have no desire to, sorry! 2017-10-13T04:54:42Z astronavt[m]: definitely misunderstood. it's almost 1 AM here 2017-10-13T04:54:45Z jmercouris: I think for Unix, I'd just stick to GTK 2017-10-13T04:55:05Z astronavt[m]: does anyone use cocoa for non-mac apps? 2017-10-13T04:55:07Z jmercouris: astronavt[m]: yeah, I just detailed the basics in the beginning in case you would like to customize the location of the cocoa files 2017-10-13T04:55:22Z emaczen: astronavt[m]: OpenStep is the open source version of Cocoa 2017-10-13T04:55:36Z jmercouris: Yeah, I've never heard of anyone actually using it 2017-10-13T04:55:56Z emaczen: it is still in development so someone is using it 2017-10-13T04:56:03Z jmercouris: astronavt[m]: I will publish the directions online in a more consumable format than the repository I linked you to, but Paul Krueger has done a really good job 2017-10-13T04:56:23Z jmercouris: I can't imagine a lot of people are using it 2017-10-13T04:56:38Z jmercouris: I remember many times where I was the only person in the room who actually likes objective-c 2017-10-13T04:57:03Z emaczen: jmercouris: Isn't the cocoa-bridge really nice? 2017-10-13T04:57:47Z safe joined #lisp 2017-10-13T04:57:55Z h3r3tek left #lisp 2017-10-13T04:58:28Z jmercouris: emaczen: I'm honestly not experienced enough to say 2017-10-13T04:58:44Z jmercouris: If all of the things I've read about it are true, then yeah, it seems like a very nice integration 2017-10-13T04:58:57Z jmercouris: I guess it's because the objective-c runtime has a lot of paralells to lisp 2017-10-13T04:59:54Z emaczen: jmercouris: it uses the MOP, so you can use a slight variant to CLOS (which is the point of the MOP) 2017-10-13T05:00:34Z safe quit (Read error: Connection reset by peer) 2017-10-13T05:01:41Z jmercouris: What is the MOP? I've never heard this term 2017-10-13T05:01:55Z emaczen: Metaobject protocol 2017-10-13T05:02:03Z Guest43993 quit (Quit: ZNC - http://znc.in) 2017-10-13T05:02:03Z itruslove quit (Quit: ZNC - http://znc.in) 2017-10-13T05:02:08Z emaczen: remember the (:metaclass ...) form? 2017-10-13T05:02:18Z beach: jmercouris: http://metamodular.com/CLOS-MOP/ 2017-10-13T05:02:26Z jmercouris: Ah, the message passing 2017-10-13T05:02:32Z beach: No 2017-10-13T05:02:33Z emaczen: no 2017-10-13T05:02:49Z emaczen: CLOS is defined as an OOP 2017-10-13T05:02:52Z jmercouris: no no 2017-10-13T05:02:53Z jmercouris: sorry too quick 2017-10-13T05:02:58Z jmercouris: I didn't click beach link yet 2017-10-13T05:03:00Z emaczen: So you can override the defined methods 2017-10-13T05:03:13Z emaczen: and get new object systems 2017-10-13T05:04:34Z jmercouris: SO a meta object is an object that contains information about an object class? 2017-10-13T05:04:51Z emaczen: yep 2017-10-13T05:04:59Z beach: http://metamodular.com/CLOS-MOP/metaobjects.html 2017-10-13T05:05:40Z emaczen: by default in commonlisp class objects defined by you are instances of standard-object 2017-10-13T05:05:42Z jmercouris: Okay, so not exactly 2017-10-13T05:05:53Z jmercouris: So even the slots have an object describing them 2017-10-13T05:06:02Z jmercouris: This feels like a turtles all the way down implementation 2017-10-13T05:06:22Z dtornabene quit (Remote host closed the connection) 2017-10-13T05:06:47Z jmercouris: thanks for the links & explanations! 2017-10-13T05:06:55Z jmercouris quit (Read error: Connection reset by peer) 2017-10-13T05:07:12Z jmercouris joined #lisp 2017-10-13T05:07:13Z jmercouris: thanks for the links & explanations! 2017-10-13T05:07:15Z jmercouris: not sure why Circe keeps randomly dropping me as of late 2017-10-13T05:07:34Z beach: What is Circe? 2017-10-13T05:07:55Z loke: IRC client for Emacs. 2017-10-13T05:07:58Z jmercouris: beach: https://github.com/jorgenschaefer/circe 2017-10-13T05:08:11Z jmercouris: It's a really good one, great author 2017-10-13T05:08:23Z sjl: jmercouris: https://mitpress.mit.edu/books/art-metaobject-protocol is a really good book to work through if you want to wrap your brain around the metaobject stuff 2017-10-13T05:08:27Z sjl: not free, but worth the price 2017-10-13T05:08:31Z beach: jmercouris: Thanks. 2017-10-13T05:09:27Z emaczen: I'm having trouble finding out how to create an object defined with defcstruct? 2017-10-13T05:09:36Z jmercouris: sjl: Maybe when I have more money, 61 seems a lot for a book :\ 2017-10-13T05:09:50Z emaczen: jmercouris: Chapters 5 and 6 are free online 2017-10-13T05:10:24Z sjl: jmercouris: you can get it for around $25 if you don't mind buying used: https://www.amazon.com/gp/offer-listing/0262610744/ref=tmm_pap_used_olp_sr?ie=UTF8&condition=used&qid=&sr= 2017-10-13T05:10:58Z nsrahmad joined #lisp 2017-10-13T05:11:23Z jmercouris: sjl: Interesting, thanks, I think I'll wait till I'm back in Germany to order 2017-10-13T05:11:54Z sjl: it's a good, mind-bendy book. I don't touch the metaobject stuff almost ever, but it was good to read anyway 2017-10-13T05:12:00Z jmercouris: or maybe I'll order it here, and read it when I get back from Germany... 2017-10-13T05:12:30Z jmercouris: Yeah, it is certainly nice to understand kind of what is going on behind the scenes 2017-10-13T05:13:37Z beach: jmercouris: Warning, though: Even as an experienced Lisper, I had to start reading it three times. The first two times, I was completely lost, so I had to put it down. 2017-10-13T05:14:05Z neoncont_ joined #lisp 2017-10-13T05:14:08Z sjl: I'd agree with that 2017-10-13T05:14:13Z flamebeard joined #lisp 2017-10-13T05:14:21Z beach: jmercouris: So, what I am saying is that, even if you are lost, don't give up. You might have to try again. 2017-10-13T05:15:05Z beach: And people here in #lisp would probably be very happy to give some explanations. For you and for others who might be interested. 2017-10-13T05:15:45Z jmercouris: That's good to know, I appreciate the support :) 2017-10-13T05:16:01Z jmercouris: One thing that I've really liked about the lisp community is that it seems much smaller and friendlier than the others 2017-10-13T05:16:16Z jmercouris: as long as we exclude #emacs 2017-10-13T05:16:21Z neoncontrails quit (Ping timeout: 240 seconds) 2017-10-13T05:17:08Z beach: Sure, but we draw the line when we have to correct indentation and spacing for the umpteenth time, as would be required for some people who come here. 2017-10-13T05:17:35Z aeth: jmercouris: Most Lisp programmers use Emacs, but (afaik) most Emacs users don't program in Lisp, beyond perhaps some basic configuration elisp stuff. 2017-10-13T05:18:27Z Bock joined #lisp 2017-10-13T05:18:31Z mson quit (Quit: Connection closed for inactivity) 2017-10-13T05:18:44Z nsrahmad quit (Ping timeout: 255 seconds) 2017-10-13T05:19:58Z jmercouris: I think that makes sense, part of being respectful of the time of other people is making sure that you have the basics down, and that you aren't wasting their time 2017-10-13T05:20:37Z jmercouris: Especially if you are asking on a public forum, whether it be stack overflow or otherwise, you should really focus on reducing the mental burden of the other person to understand your problem and help 2017-10-13T05:20:42Z jmercouris quit (Read error: Connection reset by peer) 2017-10-13T05:20:59Z jmercouris joined #lisp 2017-10-13T05:21:06Z beach: Right. Especially since #lisp is not, as some people think, a "Lisp support channel". Newbie questions are tolerated as long as there is some indication that progress is being made. 2017-10-13T05:28:24Z damke joined #lisp 2017-10-13T05:28:28Z takitus left #lisp 2017-10-13T05:28:58Z emaczen: How do you create a struct object with cffi? 2017-10-13T05:29:01Z damke_ quit (Ping timeout: 240 seconds) 2017-10-13T05:29:27Z emaczen: All I can seem to get is pointers or Bogus Objects -- whatever that is 2017-10-13T05:31:24Z loke: emaczen: What are you trying to achieve? 2017-10-13T05:33:10Z itruslove joined #lisp 2017-10-13T05:33:37Z emaczen: I just want to create a C struct and set its fields 2017-10-13T05:33:56Z emaczen: loke: do you have to use a pointer? 2017-10-13T05:34:03Z loke: emaczen: Dynamic scope or malloced? 2017-10-13T05:34:28Z loke: It all comes down to how you are going to use the struct later. 2017-10-13T05:34:40Z loke: Do you need to pass an actual struct to a CFFI function, of a pointer to it? 2017-10-13T05:34:57Z emaczen: let me check 2017-10-13T05:35:14Z emaczen: I need a pointer 2017-10-13T05:36:02Z loke: Right. So what you need is some memory for the structure allocated. There are two ways of doing so: Either on the heap using basically malloc, or on the stack which has dynamic scope. 2017-10-13T05:36:34Z loke: For dynamic scope (the most common), just do this: 2017-10-13T05:36:40Z giraffe joined #lisp 2017-10-13T05:36:56Z giraffe is now known as Guest30004 2017-10-13T05:37:03Z loke: (cffi:with-foreign-objects ((FOO '(:struct NAME-OF-STRUCT))) ...use FOO here...) 2017-10-13T05:37:44Z emaczen: loke: Ok, that is why I got "bogus objects" 2017-10-13T05:38:05Z emaczen: I tried to use it like a let form and return one of the objects 2017-10-13T05:38:22Z emaczen: the equivalent of malloc is #'cffi:foreign-alloc right? 2017-10-13T05:38:40Z loke: Then, you can simply set fields in the stuct using (setf (cffi:foreign-slot-value FOO '(:struct NAME-OF-STRUCT) 'FIELD-NAME) THE-NEW-VALUE) 2017-10-13T05:38:56Z neoncontrails joined #lisp 2017-10-13T05:39:45Z loke: emaczen: yes. But then you have to make sure you free the memory properly later. Sometimes you can use TRIVIAL-GARBAGE to create a weak pointer so that you can free as paert of garbage collection. It depends a bit on circumstances. 2017-10-13T05:40:23Z orivej joined #lisp 2017-10-13T05:40:38Z loke: I do that here: https://github.com/lokedhs/cl-gss/blob/master/src/cl-gss.lisp#L46 2017-10-13T05:41:22Z emaczen: loke: so there is no way to just do struct name; name.field = value; ? 2017-10-13T05:41:39Z loke: emaczen: That was what I was showing you 2017-10-13T05:42:12Z loke: You nee dto put it in foriegn memory somehow. 2017-10-13T05:42:13Z emaczen: loke: Oh, that is the foreign-object way 2017-10-13T05:42:23Z neoncont_ quit (Ping timeout: 248 seconds) 2017-10-13T05:42:56Z loke: There is a plist representation of a struct value, but that's only used when you pass around literal structures. It's actually quite rare, and most C API's work with pointers to structs. 2017-10-13T05:43:00Z emaczen: loke: I forget that things inside main are just like any other function and would be dynamic 2017-10-13T05:43:57Z loke: If you want to see an example of a lot of complex struct processing which also includes heavy use of literal structs, you can take a look at my cl-rabbit project. 2017-10-13T05:44:36Z loke: https://github.com/lokedhs/cl-rabbit/blob/master/src/amqp.lisp#L61 2017-10-13T05:45:58Z loke: In that function, RESULT is a literal struct (plist representation) as returned by a CFFI function that returns a literal struct. 2017-10-13T05:46:14Z loke: But the content of the struct of course contains pointers. 2017-10-13T05:46:47Z loke: You really need to understand what is going on on a low level, or you'll get mighty confused. 2017-10-13T05:47:24Z emaczen: I don't think I've ever seen literal structs in C before 2017-10-13T05:47:52Z loke: The rabbitmq-c library makes heavy use of them. 2017-10-13T05:48:01Z loke: Basically this: 2017-10-13T05:48:34Z loke: struct foo { ... }; Foo someFunc(Foo x); ← Takes a literal struct as argument and returns another literal struct 2017-10-13T05:48:56Z loke: More commonly, you'd see something like Foo *someFunc(Foo *x); 2017-10-13T05:49:24Z shka_ joined #lisp 2017-10-13T05:51:34Z loke: I need to have some lunch 2017-10-13T05:52:29Z emaczen: loke: Thanks for explaining those parts of the API to me... 2017-10-13T05:52:43Z emaczen: C will probably always be a headache for me 2017-10-13T05:53:43Z shka_: c is headache for almost everyone 2017-10-13T05:53:59Z shka_: but it is still useful 2017-10-13T05:55:08Z elazul joined #lisp 2017-10-13T05:58:52Z marusich quit (Ping timeout: 255 seconds) 2017-10-13T06:04:41Z scymtym quit (Ping timeout: 240 seconds) 2017-10-13T06:04:47Z marusich joined #lisp 2017-10-13T06:05:36Z jmercouris quit (Ping timeout: 246 seconds) 2017-10-13T06:06:38Z mishoo joined #lisp 2017-10-13T06:08:36Z Zhivago: I think you mean struct values rather than literal structs. 2017-10-13T06:09:03Z pillton quit (Ping timeout: 240 seconds) 2017-10-13T06:11:05Z al-damiri quit (Quit: Connection closed for inactivity) 2017-10-13T06:14:00Z marvin2 joined #lisp 2017-10-13T06:14:53Z vlatkoB joined #lisp 2017-10-13T06:25:05Z slyrus quit (Ping timeout: 248 seconds) 2017-10-13T06:27:03Z emaczen quit (Read error: Connection reset by peer) 2017-10-13T06:31:24Z grublet quit (Quit: Leaving) 2017-10-13T06:31:57Z shka_ quit (Ping timeout: 240 seconds) 2017-10-13T06:33:26Z scottj left #lisp 2017-10-13T06:34:46Z chens joined #lisp 2017-10-13T06:36:01Z jameser quit (Ping timeout: 240 seconds) 2017-10-13T06:44:28Z emaczen joined #lisp 2017-10-13T06:47:52Z shka_ joined #lisp 2017-10-13T06:49:05Z hajovonta joined #lisp 2017-10-13T06:50:24Z eazar001 quit (Quit: WeeChat 1.9.1) 2017-10-13T06:52:56Z cromachina quit (Read error: Connection reset by peer) 2017-10-13T06:53:20Z cromachina joined #lisp 2017-10-13T06:58:28Z Ven joined #lisp 2017-10-13T06:58:51Z Ven is now known as Guest43745 2017-10-13T06:59:12Z carenz_ joined #lisp 2017-10-13T07:06:13Z rumbler31 joined #lisp 2017-10-13T07:10:25Z rumbler31 quit (Ping timeout: 248 seconds) 2017-10-13T07:16:30Z varjag joined #lisp 2017-10-13T07:19:57Z shka_ quit (Ping timeout: 240 seconds) 2017-10-13T07:32:28Z quazimodo joined #lisp 2017-10-13T07:33:25Z scymtym joined #lisp 2017-10-13T07:34:36Z hajovonta quit (Remote host closed the connection) 2017-10-13T07:35:00Z hajovonta joined #lisp 2017-10-13T07:36:44Z hajovonta: hi 2017-10-13T07:37:55Z nirved joined #lisp 2017-10-13T07:38:11Z EvW joined #lisp 2017-10-13T07:43:54Z yaocl quit (Quit: yaocl) 2017-10-13T07:53:33Z beach: hello hajovonta. 2017-10-13T07:54:25Z yaocl joined #lisp 2017-10-13T07:55:55Z pjb joined #lisp 2017-10-13T08:10:18Z phoe_: Hey hi hello 2017-10-13T08:10:31Z beach: phoe_: What's up? 2017-10-13T08:11:09Z phoe_: beach: Me, at work, doing Scrum technical management. 2017-10-13T08:11:17Z phoe_: At least they pay decently for that. 2017-10-13T08:11:26Z beach: Oh, you're a manager now? Nice! 2017-10-13T08:11:58Z phoe_: Nope, a product owner. 2017-10-13T08:12:07Z phoe_: Which is de facto a part of technical management. 2017-10-13T08:12:19Z beach: I see. 2017-10-13T08:16:23Z nika quit (Remote host closed the connection) 2017-10-13T08:17:14Z nika joined #lisp 2017-10-13T08:18:13Z beach: I think I have a working CST-to-AST system, modulo silly mistakes of course. Now I am thinking of a system for computing indentation from a CST. Such a system would be structured in much the same way as a CST-to-AST system, i.e., it would determine whether a CST represents an atom, a function call, a special form, or a macro call. Function calls are simple. 2017-10-13T08:18:15Z beach: Special forms are fairly simple, because they have fixed indentation rules. For a macro call, the macro lambda list determines the indentation of the argument expressions, but then, whether an argument expression is a form or something else, can only be determined by expanding the macro. 2017-10-13T08:19:09Z phoe_: Are you going to expand the macros each single time then? What if they have side effects? 2017-10-13T08:19:32Z beach: Well, I can't handle every case. Macro expanders should not have side effects. 2017-10-13T08:19:33Z Shinmera: It's also often desirable to be able to give further hints as to how a macro should be indented as the lambda-list by its own does not provide sufficient information about that. 2017-10-13T08:19:37Z phoe_: (defmacro plus (&rest args) (print "hello") `(+ ,@args)) 2017-10-13T08:19:48Z marusich quit (Quit: Leaving) 2017-10-13T08:19:49Z phoe_: I see. Sounds plausible. 2017-10-13T08:19:51Z Shinmera: (also see: https://github.com/Shinmera/trivial-indent ) 2017-10-13T08:19:53Z otwieracz: beach: Actually we use macro expanders with side effects „on production”. 2017-10-13T08:20:04Z nowhere_man quit (Remote host closed the connection) 2017-10-13T08:20:11Z phoe_: But then again, some macros like OPTIMA's and CL-PPCRE's expanders can be really freaky. 2017-10-13T08:20:18Z beach: otwieracz: Then I recommend you don't use the editor I am working on. 2017-10-13T08:20:21Z phoe_: Since they are there for compile-time computation. 2017-10-13T08:20:30Z otwieracz: beach: note to self: don't use beach editor 2017-10-13T08:20:30Z beach: I think the Common Lisp HyperSpec has some paragraph about how it is not known how many times a macro can be expanded. 2017-10-13T08:21:09Z nowhere_man joined #lisp 2017-10-13T08:21:56Z otwieracz: beach: To be honets, my feeeling is that the editor will be broken if it wont work with something allowed in the language. 2017-10-13T08:22:02Z pjb: As long as you expect your macro side effects to be obtained at "random" times and multiple times… 2017-10-13T08:22:20Z beach: otwieracz: Then I am working on a very useful, but broken, editor. 2017-10-13T08:22:21Z pjb: It is expected that random lisp tools will macroexpand. 2017-10-13T08:22:23Z otwieracz: However, nevermind. 2017-10-13T08:22:35Z pjb: If something breaks, it's the macro fault. 2017-10-13T08:22:48Z beach: pjb: Yes, I am trying to find the relevant paragraph. 2017-10-13T08:23:21Z beach: otwieracz: There is a difference between what the language "allows" and what it defines the effect of. 2017-10-13T08:24:47Z hhdave joined #lisp 2017-10-13T08:25:05Z pjb: one guarantee by 3.2.2.2 is All macro and symbol macro calls appearing in the source code being compiled are expanded at compile time in such a way that they will not be expanded again at run time. It doesn't mention edit-time… 2017-10-13T08:26:49Z pjb: I can't search more right now. 2017-10-13T08:27:14Z beach: Yeah, the Common Lisp HyperSpec is not very good with such searches, so it's painful. 2017-10-13T08:28:44Z [jlk] joined #lisp 2017-10-13T08:34:23Z beach: Shinmera: Definitely very useful. If I use a structure similar to that of CST-to-AST, it will be trivially possible to customize the indentation of macro forms. 2017-10-13T08:35:33Z mathi_aihtam joined #lisp 2017-10-13T08:37:55Z shka: there is no edit time in common lisp standard 2017-10-13T08:38:55Z beach: shka: In "the" Common Lisp standard. Article required. 2017-10-13T08:39:14Z shka: beach: … yes 2017-10-13T08:39:21Z antoszka: beach: is that editor of yours already available for checkout/building/testing anywhere? 2017-10-13T08:39:30Z shka: and yes, i do work on that manual 2017-10-13T08:39:43Z _cosmonaut_ joined #lisp 2017-10-13T08:39:54Z shka: just give me a moment, i need to sleep as well 2017-10-13T08:42:18Z beach: antoszka: No, it is not ready. 2017-10-13T08:42:38Z antoszka: OK, wasn't following the discussion too much. 2017-10-13T08:43:04Z beach: I'll keep you informed about my progress. :) 2017-10-13T08:43:05Z antoszka: beach: Are you planning to use (whatever)CLIM as the toolkit? 2017-10-13T08:43:41Z beach: Yes, but I have separated the GUI from the rest as much as possible, so it ought to be possible to use something else. 2017-10-13T08:44:52Z antoszka: Yeah, was just going to ask that as well, cool. 2017-10-13T08:45:21Z Shinmera: I know that the expansion of macros can happen multiple times, and I distinctly remember reading that in the CLHS, but I can't find it for the life of me 2017-10-13T08:45:23Z beach: CLIM/McCLIM makes so many things much simpler, though. I can't see myself re-implementing things like presentations for a different toolkit. 2017-10-13T08:45:53Z beach: Shinmera: Yeah, I know exactly what you mean. It is always very hard to find such things. 2017-10-13T08:48:04Z shka: Shinmera: every decent lisp book mentions this 2017-10-13T08:48:33Z Shinmera: Lisp books are not standards, though. 2017-10-13T08:48:37Z jackdaniel: "every" is an overstatement 2017-10-13T08:49:11Z beach: jackdaniel: To be fair, shka added "decent" to restrict the set. :) 2017-10-13T08:49:37Z shka: exactly ;-) 2017-10-13T08:49:56Z jackdaniel: yes, but I don't think that it is a must for a decent book to mention this particular thing 2017-10-13T08:50:23Z jackdaniel: for instance I don't think I've encountered such statement in CL Recipes, yet I think it is a very decent book 2017-10-13T08:52:21Z bwv joined #lisp 2017-10-13T08:53:37Z quazimodo quit (Ping timeout: 258 seconds) 2017-10-13T08:53:38Z nika quit (Remote host closed the connection) 2017-10-13T08:54:40Z nika joined #lisp 2017-10-13T08:54:45Z raynold quit (Quit: Connection closed for inactivity) 2017-10-13T08:54:58Z phoe_: Shinmera: https://github.com/xach/dpans/search?utf8=%E2%9C%93&q=%22multiple+times%22&type= 2017-10-13T08:55:14Z phoe_: I've been grepping the dpans3 sources for "multiple times" and were unsuccessful so far. 2017-10-13T08:55:34Z Shinmera: I grepped for "expan" but there's way too much to trawl through 2017-10-13T08:55:44Z bwv left #lisp 2017-10-13T08:56:11Z phoe_: Shinmera: too much? about a hundred results 2017-10-13T08:56:33Z Shinmera: I grepped the hyperspec, fwiw 2017-10-13T09:02:52Z phoe_: "Macros intended for use in top level forms should be written so that side-effects are done by the forms in the macro expansion. The macro-expander itself should not do the side-effects. " 2017-10-13T09:02:56Z phoe_: via 2017-10-13T09:02:59Z phoe_: clhs eval-when 2017-10-13T09:02:59Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/s_eval_w.htm 2017-10-13T09:03:42Z phoe_: that's not a direct hit though. 2017-10-13T09:04:16Z Shinmera: I found that before but it's not what we're looking for. 2017-10-13T09:10:13Z phoe_: I cannot find such a thing. 2017-10-13T09:10:43Z Shinmera: I mean, it's implicit in the sense that the spec never says that it is only expanded once either. 2017-10-13T09:10:55Z Shinmera: It just says that all macros are expanded once you hit runtime. 2017-10-13T09:11:10Z phoe_: By the time you hit runtime, all macros are expanded. 2017-10-13T09:11:13Z phoe_: Correct? 2017-10-13T09:11:17Z Shinmera: Yes. 2017-10-13T09:11:45Z phoe_: So any side effects they might have had have fired. 2017-10-13T09:12:25Z Shinmera: clhs 3.2.2.2 2017-10-13T09:12:25Z specbot: Minimal Compilation: http://www.lispworks.com/reference/HyperSpec/Body/03_bbb.htm 2017-10-13T09:13:44Z Shinmera: And then there's 3.1.2.1.2.2 2017-10-13T09:13:50Z Shinmera: clhs 3.1.2.1.2.2 2017-10-13T09:13:50Z specbot: Macro Forms: http://www.lispworks.com/reference/HyperSpec/Body/03_ababb.htm 2017-10-13T09:14:41Z EvW quit (Ping timeout: 246 seconds) 2017-10-13T09:15:30Z phoe_: Basically, edit-time will be equivalent to compile-time then, since macros will need to be expanded, so their macro functions will need to be called. 2017-10-13T09:16:28Z phoe_: Gah, this problem is an issue of type "can God create a stone too heavy for him to lift". 2017-10-13T09:17:01Z phoe_: We got a language powerful enough to turn its source code into Brainfuck and we're looking for an even more powerful tool to handle its power. 2017-10-13T09:18:38Z phoe_: What would be a technical issue in another language is a social issue in Lisp. (: 2017-10-13T09:21:23Z EvW1 joined #lisp 2017-10-13T09:25:30Z kuwze quit (Ping timeout: 260 seconds) 2017-10-13T09:27:18Z yaocl quit (Quit: yaocl) 2017-10-13T09:27:57Z eminhi joined #lisp 2017-10-13T09:30:27Z Guest43745 quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-10-13T09:34:45Z Ven joined #lisp 2017-10-13T09:35:11Z Ven is now known as Guest53747 2017-10-13T09:35:41Z yaocl joined #lisp 2017-10-13T09:37:05Z chens quit (Remote host closed the connection) 2017-10-13T09:37:16Z rgrau joined #lisp 2017-10-13T09:42:35Z nika quit (Remote host closed the connection) 2017-10-13T09:43:25Z nika joined #lisp 2017-10-13T09:44:56Z eminhi: from clhs prog2 description: prog2 evaluates first-form, then second-form, and then forms, yielding as its only value the primary value yielded by first-form 2017-10-13T09:45:03Z eminhi: is this a typo? 2017-10-13T09:45:13Z phoe_: eminhi: yes. 2017-10-13T09:45:14Z beach: Yes. 2017-10-13T09:45:18Z phoe_: this is a known issue with the spec. 2017-10-13T09:45:27Z phoe_: (prog2 a b c) will return b. 2017-10-13T09:45:36Z eminhi: Is there a list of known issues? 2017-10-13T09:45:41Z phoe_: eminhi: yes, one second. 2017-10-13T09:45:56Z phoe_: http://www.cliki.net/Proposed%20ANSI%20Revisions%20and%20Clarifications 2017-10-13T09:45:58Z phoe_: eminhi: ^ 2017-10-13T09:46:17Z nika quit (Remote host closed the connection) 2017-10-13T09:46:18Z eminhi: phoe_: Thank you 2017-10-13T09:47:00Z quazimodo joined #lisp 2017-10-13T09:47:45Z yaocl quit (Quit: yaocl) 2017-10-13T09:51:50Z Karl_Dscc joined #lisp 2017-10-13T09:52:32Z nika joined #lisp 2017-10-13T10:04:45Z hajovonta quit (Remote host closed the connection) 2017-10-13T10:06:44Z EvW1 quit (Ping timeout: 255 seconds) 2017-10-13T10:08:00Z hajovonta joined #lisp 2017-10-13T10:10:09Z brendyn quit (Ping timeout: 248 seconds) 2017-10-13T10:12:37Z Kaisyu quit (Quit: Connection closed for inactivity) 2017-10-13T10:19:11Z brendyn joined #lisp 2017-10-13T10:25:50Z yaocl joined #lisp 2017-10-13T10:29:48Z m00natic joined #lisp 2017-10-13T10:33:45Z Mon_Ouie joined #lisp 2017-10-13T10:38:57Z thinkpad quit (Ping timeout: 248 seconds) 2017-10-13T10:39:13Z Guest53747 quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-10-13T10:42:21Z [jlk] quit (Remote host closed the connection) 2017-10-13T10:42:53Z nika quit (Remote host closed the connection) 2017-10-13T10:43:34Z Bourne joined #lisp 2017-10-13T10:45:25Z Bourne quit (Remote host closed the connection) 2017-10-13T10:45:32Z yaocl quit (Quit: yaocl) 2017-10-13T10:47:55Z yaocl joined #lisp 2017-10-13T10:48:00Z yaocl quit (Client Quit) 2017-10-13T10:49:26Z deba5e12 joined #lisp 2017-10-13T10:52:37Z terpri quit (Ping timeout: 260 seconds) 2017-10-13T10:53:11Z terpri joined #lisp 2017-10-13T10:53:36Z varjag quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2017-10-13T11:00:04Z joast quit (Remote host closed the connection) 2017-10-13T11:00:07Z orivej quit (Read error: Connection reset by peer) 2017-10-13T11:01:51Z damke_ joined #lisp 2017-10-13T11:04:21Z damke quit (Ping timeout: 240 seconds) 2017-10-13T11:04:54Z dim: is it safe to conclude they already had copy/paste at the time when writing the spec? ;-) 2017-10-13T11:05:27Z Shinmera: It was 1990, not 1970 2017-10-13T11:12:30Z wxie joined #lisp 2017-10-13T11:12:39Z dim: (hence the smile, etc) 2017-10-13T11:16:40Z wxie quit (Remote host closed the connection) 2017-10-13T11:21:46Z timack joined #lisp 2017-10-13T11:22:50Z Bike joined #lisp 2017-10-13T11:23:32Z ebzzry quit (Ping timeout: 260 seconds) 2017-10-13T11:23:57Z nowhere_man quit (Ping timeout: 240 seconds) 2017-10-13T11:28:39Z iqubic joined #lisp 2017-10-13T11:30:04Z Mon_Ouie quit (Ping timeout: 255 seconds) 2017-10-13T11:30:30Z myrkraverk: Copy/paste or its predecessor kill/yank have been here since the 70s. 2017-10-13T11:31:34Z Bicyclidine joined #lisp 2017-10-13T11:34:34Z Bike quit (Ping timeout: 264 seconds) 2017-10-13T11:40:50Z joast joined #lisp 2017-10-13T11:43:22Z eminhi quit (Ping timeout: 260 seconds) 2017-10-13T11:44:48Z eminhi joined #lisp 2017-10-13T11:46:10Z Ven joined #lisp 2017-10-13T11:46:18Z jameser joined #lisp 2017-10-13T11:46:33Z Ven is now known as Guest45011 2017-10-13T11:51:32Z yeticry quit (Ping timeout: 260 seconds) 2017-10-13T11:52:07Z yeticry joined #lisp 2017-10-13T11:52:26Z pjb: dim: it exists in ed(1)! 2017-10-13T11:52:43Z pjb: dim: cf. the t command (transfer). 2017-10-13T11:53:14Z pjb: So it probably pre-existed unix ed, after all, unix is but a simplified clone of older systems and software… 2017-10-13T11:54:16Z Shinmera: I mean, surely you also had machines to copy punch cards, yeah? 2017-10-13T11:54:16Z shdeng quit (Quit: Leaving) 2017-10-13T11:54:40Z eminhi quit (Quit: leaving) 2017-10-13T11:54:58Z pjb: Indeed, there was a copy function in the 029… 2017-10-13T11:55:08Z pjb: And you could copy only between given columns! 2017-10-13T11:55:36Z pjb: And I'm sure some assistant spent time copying patch boards… 2017-10-13T11:57:00Z dilated_dinosaur joined #lisp 2017-10-13T12:08:28Z shka never, ever, seen machine with punch card input, even in museum 2017-10-13T12:10:08Z timack quit (Quit: leaving) 2017-10-13T12:10:57Z marcux joined #lisp 2017-10-13T12:11:05Z random-nick joined #lisp 2017-10-13T12:14:59Z EvW joined #lisp 2017-10-13T12:24:22Z iqubic_ joined #lisp 2017-10-13T12:24:39Z EvW quit (Ping timeout: 246 seconds) 2017-10-13T12:24:46Z yaocl joined #lisp 2017-10-13T12:26:45Z iqubic quit (Ping timeout: 258 seconds) 2017-10-13T12:30:58Z Bicyclidine quit (Ping timeout: 258 seconds) 2017-10-13T12:33:26Z Josh_2 joined #lisp 2017-10-13T12:36:50Z lieven has booted printers into the RSCS network with a stack of punch cards 2017-10-13T12:42:07Z brendyn quit (Ping timeout: 248 seconds) 2017-10-13T12:43:00Z Jesin quit (Quit: Leaving) 2017-10-13T12:51:05Z pjb: shka: you have to look at early computers. Later, punched cards were copied first on an input spool tape (using a secondary computer), before being fed to the mainframe. 2017-10-13T12:51:28Z shka: aha! 2017-10-13T12:51:51Z pjb: https://www.youtube.com/watch?v=J0hDuCa_KlY 2017-10-13T12:53:09Z DGASAU joined #lisp 2017-10-13T12:54:08Z Bike joined #lisp 2017-10-13T12:55:28Z cromachina quit (Read error: Connection reset by peer) 2017-10-13T13:00:27Z edgar-rft: email in the 1960's was sending punch-cards in envelopes with stamps on it 2017-10-13T13:00:40Z phoe_: oh you old boys 2017-10-13T13:01:17Z damke joined #lisp 2017-10-13T13:01:47Z shka: phoe_: *men 2017-10-13T13:02:41Z damke_ quit (Ping timeout: 240 seconds) 2017-10-13T13:03:32Z Josh_2: pjb: what a racket that thing makes 2017-10-13T13:08:41Z shka: pjb: those machines look so well preservede 2017-10-13T13:08:47Z wxie joined #lisp 2017-10-13T13:09:13Z mson joined #lisp 2017-10-13T13:09:34Z edgar-rft quit (Quit: edgar-rft) 2017-10-13T13:12:59Z varjag joined #lisp 2017-10-13T13:16:06Z dddddd joined #lisp 2017-10-13T13:27:23Z Ven joined #lisp 2017-10-13T13:27:48Z Ven is now known as Guest83577 2017-10-13T13:28:20Z Guest45011 quit (Read error: No route to host) 2017-10-13T13:28:39Z Ven_ joined #lisp 2017-10-13T13:28:41Z m00natic quit (Remote host closed the connection) 2017-10-13T13:30:47Z sjl_ joined #lisp 2017-10-13T13:31:43Z Guest83577 quit (Ping timeout: 248 seconds) 2017-10-13T13:32:49Z sjl quit (Ping timeout: 248 seconds) 2017-10-13T13:34:56Z neoncont_ joined #lisp 2017-10-13T13:35:38Z arbv quit (Ping timeout: 255 seconds) 2017-10-13T13:37:03Z neoncontrails quit (Ping timeout: 248 seconds) 2017-10-13T13:37:51Z arbv joined #lisp 2017-10-13T13:38:14Z varjag quit (Remote host closed the connection) 2017-10-13T13:38:28Z varjag joined #lisp 2017-10-13T13:39:31Z wxie quit (Remote host closed the connection) 2017-10-13T13:40:34Z eminhi joined #lisp 2017-10-13T13:42:42Z yaocl quit (Read error: Connection reset by peer) 2017-10-13T13:43:14Z igemnace quit (Quit: WeeChat 1.9.1) 2017-10-13T13:48:22Z hajovonta quit (Quit: hajovonta) 2017-10-13T13:53:00Z nowhere_man joined #lisp 2017-10-13T13:53:38Z flamebeard quit (Quit: Leaving) 2017-10-13T13:56:41Z pjb: shka: the thing is that they were built with strong material. Like 5 mm steel. Just like a tank! 2017-10-13T13:57:07Z Ven joined #lisp 2017-10-13T13:57:16Z pjb: I had a sweedish terminal once like that. Indestructible. 2017-10-13T13:57:22Z eminhi quit (Ping timeout: 264 seconds) 2017-10-13T13:57:31Z Ven is now known as Guest22988 2017-10-13T13:58:34Z mathi_aihtam quit (Quit: mathi_aihtam) 2017-10-13T13:59:17Z Ven_ quit (Ping timeout: 260 seconds) 2017-10-13T14:03:38Z neoncont_ is now known as neoncontrails 2017-10-13T14:03:53Z nowhere_man quit (Ping timeout: 255 seconds) 2017-10-13T14:06:30Z Josh_2: In On Lisp there are two examples as shown in this paste http://paste.lisp.org/display/358509 where one function takes a variable x as an argument to a function and that variable is considered bound, and then another example which takes the variable n as an argument to a function but that variable is considered free. This seems contradictory, is it? 2017-10-13T14:07:01Z mxb joined #lisp 2017-10-13T14:07:27Z beach: Josh_2: It is free in the inner lambda. 2017-10-13T14:07:42Z phoe_: yes, depends on what you mean by "free" 2017-10-13T14:07:45Z beach: Josh_2: Read up on the lambda calculus for such terminology. 2017-10-13T14:07:46Z phoe_: and free where exactly 2017-10-13T14:07:59Z beach: phoe_: No, those definitions are well established. 2017-10-13T14:08:35Z rumbler31 joined #lisp 2017-10-13T14:08:46Z mxb: Hi all. Anyone have experience with binary-types package? I'm struggling to try to define a binary-struct which references an earlier field and I'm not sure if it's possible to do so. (Basically parsing {type,length,data[length]} blobs 2017-10-13T14:08:46Z Josh_2: So because the variable n is used in a lambda it is considered free? 2017-10-13T14:08:48Z Josh_2: Ahh 2017-10-13T14:08:59Z phoe_: beach: yes, got it. 2017-10-13T14:09:07Z shka: pjb: 5mm? wow, i would never guessed 2017-10-13T14:09:11Z beach: Josh_2: Because it is used in a function, but it is not a parameter of that function. 2017-10-13T14:09:20Z Josh_2: I think I get it, the surrounding environment (defun ..) supplies the value 2017-10-13T14:09:27Z Josh_2: Okay thanks beach 2017-10-13T14:09:31Z phoe_: mxb: do you have any code of your own so far? 2017-10-13T14:09:36Z beach: sure. 2017-10-13T14:10:06Z mxb: phoe_: yeah, is there a #lisp paste place? 2017-10-13T14:10:21Z random-nick: paste.lisp.org 2017-10-13T14:10:23Z phoe_: mxb: http://paste.lisp.org 2017-10-13T14:10:36Z phoe_: with fancy CL syntax highlighting 2017-10-13T14:10:54Z beach: Josh_2: https://en.wikipedia.org/wiki/Free_variables_and_bound_variables 2017-10-13T14:11:44Z mxb: phoe_: I'm learning binary-types with PNG file format - my code is here http://paste.lisp.org/display/358510 2017-10-13T14:12:08Z mxb: PNG spec is here if it helps: https://www.w3.org/TR/2003/REC-PNG-20031110/#5Chunk-layout 2017-10-13T14:12:08Z beach: Josh_2: More relevant: https://en.wikipedia.org/wiki/Lambda_calculus#Free_variables 2017-10-13T14:12:12Z phoe_: mxb: somewhat unrelated, there already exist PNG readers written in portable CL 2017-10-13T14:12:34Z mxb: phoe_: yeah I know, this is just to learn the library :) 2017-10-13T14:12:40Z phoe_: :) 2017-10-13T14:12:50Z EvW joined #lisp 2017-10-13T14:13:42Z phoe_: I never used binary-types myself, but hopefully someone up there can take a peek at your code. 2017-10-13T14:13:45Z al-damiri joined #lisp 2017-10-13T14:13:51Z phoe_: Got any errors with this code so far? 2017-10-13T14:14:45Z mxb: phoe_: yes, during macro expansion of define-binary-string size is LENGTH, which is not of type (INTEGER 1 *) 2017-10-13T14:15:00Z mxb: which implies I cannot reference an earlier field in the struct 2017-10-13T14:15:02Z beach: phoe_: You might want to look at the last link as well. 2017-10-13T14:16:27Z phoe_: beach: got it. 2017-10-13T14:17:33Z phoe_: mxb: hah, this library is hardly documented at all. 2017-10-13T14:17:39Z mxb: yeah, :| 2017-10-13T14:20:06Z phoe_: Actually. 2017-10-13T14:20:16Z phoe_: I don't think you should have a DEFINE-BINARY-STRING up there, for some reason. 2017-10-13T14:21:02Z phoe_: https://github.com/frodef/binary-types/blob/master/binary-types.lisp#L375 2017-10-13T14:21:14Z hexfive joined #lisp 2017-10-13T14:21:22Z scymtym quit (Ping timeout: 258 seconds) 2017-10-13T14:21:32Z phoe_: Since this a macro, then SIZE must be an integer before its evaluated - so it cannot be a variable. 2017-10-13T14:22:00Z Bike: oh, so this isn't gigamonkeys's? i'm pretty sure his could do that, since it's so common for binary formats 2017-10-13T14:22:23Z phoe_: Bike: https://github.com/gigamonkey/monkeylib-binary-data this you mean? 2017-10-13T14:23:07Z Bike: yeah, the one in pcl 2017-10-13T14:23:16Z phoe_: I see. 2017-10-13T14:23:39Z phoe_: frodef's binary-types might just need a huge revamp documentation-wise. 2017-10-13T14:23:47Z mxb: phoe_: Yes, it seemed like there are signed/unsigned binary integer types, and 'strings', which I took to be arbitary lengths of data 2017-10-13T14:23:50Z nika joined #lisp 2017-10-13T14:23:55Z phoe_: mxb: not arbitrary. 2017-10-13T14:24:04Z phoe_: DEFINE-BINARY-STRING seems to create fixed-length strings. 2017-10-13T14:24:04Z tax joined #lisp 2017-10-13T14:24:09Z phoe_: So it's most likely not what you are looking for. 2017-10-13T14:24:18Z phoe_: s/string/string types/ 2017-10-13T14:24:29Z mxb: Yes, I think that's the problem, as the length isn't known at compile time. 2017-10-13T14:24:38Z mxb: Is my understanding 2017-10-13T14:26:09Z Josh_2: I don't particularly understand lambda calc just like I don't understand normal calculus. However I found this sentence "The abstraction operator, λ, is said to bind its variable wherever it occurs in the body of the abstraction." 2017-10-13T14:26:15Z Josh_2: So that helps 2017-10-13T14:26:30Z Bike: lambda calculus doesn't share much with "calculus" 2017-10-13T14:26:39Z Bike: the only similarity is that you calculate things 2017-10-13T14:27:06Z Josh_2: I'm sure if I put some serious effort in I could learn some Lambda calc just like I could with normal calculus 2017-10-13T14:27:12Z Bike: well, and i suppose integration and differentiation can involve binding variables and so on 2017-10-13T14:27:28Z beach: Josh_2: The concept of free variables is very important to the compiler writer, because, in general, they can't be treated as simply as bound variables can. 2017-10-13T14:27:59Z phoe_: mxb: Yes, I think so. 2017-10-13T14:28:04Z Jesin joined #lisp 2017-10-13T14:28:04Z beach: Josh_2: We work hard to preserve the illusion that things are simple. :) 2017-10-13T14:28:13Z phoe_: And I'm sorry that I can't help in this case. Maybe the library Bike suggested can deal with that. 2017-10-13T14:28:34Z xzd joined #lisp 2017-10-13T14:28:36Z Bike: so, so hard 2017-10-13T14:28:49Z beach: Heh! 2017-10-13T14:29:24Z xzd: hi 2017-10-13T14:29:35Z beach: Hello xzd. 2017-10-13T14:30:58Z beach: xzd: Are you new here? I don't recognize your nick. 2017-10-13T14:31:05Z xzd: yes 2017-10-13T14:31:10Z Josh_2: noot noot welcome 2017-10-13T14:31:31Z beach: xzd: What brings you to #lisp? 2017-10-13T14:31:50Z antoszka: xzd: hello! 2017-10-13T14:31:53Z sz0 joined #lisp 2017-10-13T14:32:03Z deba5e12 quit (Ping timeout: 246 seconds) 2017-10-13T14:33:32Z phoe_: I wish I had a #lisp full time job so I could spend all of my time and all of my attention on refining CL documentation and libraries. There's so much to be done in Common Lisp world and I am doing corporate dung instead. 2017-10-13T14:33:42Z phoe_: I need to figure out how to make it work. 2017-10-13T14:33:55Z Ven_ joined #lisp 2017-10-13T14:34:52Z Josh_2: Save some money, buy a van, live in the van using mobile internet and a laptop for 6 months of the year. 2017-10-13T14:35:22Z shka: like a lisp hippy! 2017-10-13T14:35:24Z Josh_2: Become a student again 2017-10-13T14:35:46Z Guest22988 quit (Ping timeout: 264 seconds) 2017-10-13T14:35:47Z phoe_: University is a time-stealer. 2017-10-13T14:36:08Z Josh_2: I agree, my 11 hours of classes a week steal tons of time. 2017-10-13T14:36:10Z deba5e12 joined #lisp 2017-10-13T14:36:36Z Ven_ quit (Client Quit) 2017-10-13T14:36:41Z phoe_: Add time spent preparing for these classes and transit between uni and non-uni. 2017-10-13T14:37:38Z Josh_2: Well I have a motorcycle so takes me 10 min to get to Uni. I guess you went to a much better Uni than mine if you need to prep for a class 2017-10-13T14:38:17Z phoe_: Just doing homework takes time, and sometimes there's a lot of homework needed before I get some programming or math concept. 2017-10-13T14:39:21Z Josh_2: Yeh you definitely went to a better Uni than me. 2017-10-13T14:39:29Z Ven_ joined #lisp 2017-10-13T14:39:33Z phoe_: "went" 2017-10-13T14:39:36Z phoe_: I'm still a student. 2017-10-13T14:39:40Z Josh_2: O 2017-10-13T14:39:45Z Josh_2: go* 2017-10-13T14:39:54Z phoe_: Been for about six years now, and I'm still on my second year out of five total. 2017-10-13T14:40:00Z Josh_2: I assumed you had graduated, my bad. 2017-10-13T14:40:05Z Josh_2: What are you doing? 2017-10-13T14:40:16Z phoe_: Being sick, being busy, being employed. 2017-10-13T14:40:30Z phoe_: Some people call it "real life". P: 2017-10-13T14:40:30Z Josh_2: I mean as a course 2017-10-13T14:40:39Z phoe_: Computer science. 2017-10-13T14:41:03Z Josh_2: 5 years is a long course 2017-10-13T14:41:20Z phoe_: It's from zero to master's degree. 2017-10-13T14:41:31Z papachan joined #lisp 2017-10-13T14:41:34Z Josh_2: Makes sense 2017-10-13T14:41:36Z phoe_: Which in Poland is five years. Three to bachelor, two more to master. 2017-10-13T14:41:53Z yaocl joined #lisp 2017-10-13T14:42:06Z Bike: gee, i spent five years on the bachelor's 2017-10-13T14:42:10Z beach: phoe_: That would be the Bologna system, common to EU and many other countries. 2017-10-13T14:42:25Z phoe_: beach: yes. 2017-10-13T14:42:39Z Josh_2: Masters is 1 year if you have a honours degree in the UK 2017-10-13T14:42:49Z beach: https://en.wikipedia.org/wiki/Bologna_Process 2017-10-13T14:45:30Z eminhi joined #lisp 2017-10-13T14:51:08Z yaocl quit (Ping timeout: 255 seconds) 2017-10-13T14:52:34Z shka: heh 2017-10-13T14:58:43Z yaocl joined #lisp 2017-10-13T14:59:51Z Shinmera: phoe_: My university requires you to complete the Bsc within five course years. 2017-10-13T15:00:22Z Shinmera: If you don't, you gotta start another major and try again from scratch, woo! 2017-10-13T15:00:33Z phoe_: Shinmera: so does mine. 2017-10-13T15:00:52Z phoe_: Let's say that I'm pushing the university laws to the maximum here. 2017-10-13T15:01:45Z FreeBirdLjj joined #lisp 2017-10-13T15:02:53Z cross joined #lisp 2017-10-13T15:03:01Z Posterdati: hi 2017-10-13T15:03:08Z igemnace joined #lisp 2017-10-13T15:03:12Z beach: Hello Posterdati. 2017-10-13T15:03:12Z Posterdati: fe[nl]ix: hi 2017-10-13T15:03:20Z Posterdati: beach: hello 2017-10-13T15:03:51Z Posterdati: please help, is it safe to use close on a iolib socket? 2017-10-13T15:04:00Z mathi_aihtam joined #lisp 2017-10-13T15:04:06Z Posterdati: or hat to be used disconnect? 2017-10-13T15:08:23Z Kevslinger joined #lisp 2017-10-13T15:08:27Z froggey quit (Ping timeout: 240 seconds) 2017-10-13T15:10:28Z froggey joined #lisp 2017-10-13T15:11:16Z yaocl quit (Quit: yaocl) 2017-10-13T15:12:47Z carenz_ quit (Ping timeout: 260 seconds) 2017-10-13T15:17:53Z nika quit 2017-10-13T15:21:36Z slyrus joined #lisp 2017-10-13T15:22:07Z yeticry quit (Ping timeout: 260 seconds) 2017-10-13T15:22:34Z kolko joined #lisp 2017-10-13T15:22:41Z deba5e12 quit (Ping timeout: 248 seconds) 2017-10-13T15:23:32Z araujo quit (Ping timeout: 255 seconds) 2017-10-13T15:24:32Z neoncontrails quit (Remote host closed the connection) 2017-10-13T15:24:38Z deba5e12 joined #lisp 2017-10-13T15:28:05Z araujo joined #lisp 2017-10-13T15:28:05Z araujo quit (Changing host) 2017-10-13T15:28:05Z araujo joined #lisp 2017-10-13T15:28:18Z yeticry joined #lisp 2017-10-13T15:33:05Z epony quit (Quit: QUIT) 2017-10-13T15:34:30Z araujo quit (Quit: Leaving) 2017-10-13T15:36:55Z emaczen quit (Remote host closed the connection) 2017-10-13T15:38:56Z SaganMan joined #lisp 2017-10-13T15:42:38Z kuwze joined #lisp 2017-10-13T15:43:15Z m00natic joined #lisp 2017-10-13T15:43:31Z scymtym joined #lisp 2017-10-13T15:43:47Z Ven_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-10-13T15:46:31Z neoncontrails joined #lisp 2017-10-13T15:47:27Z igemnace quit (Read error: Connection reset by peer) 2017-10-13T15:47:40Z wheelsucker joined #lisp 2017-10-13T15:48:14Z igemnace joined #lisp 2017-10-13T15:48:40Z xzd quit (Quit: Lost terminal) 2017-10-13T15:50:16Z FreeBirdLjj quit (Remote host closed the connection) 2017-10-13T15:51:45Z edgar-rft joined #lisp 2017-10-13T15:52:17Z elazul quit (Quit: leaving) 2017-10-13T15:53:35Z yrk joined #lisp 2017-10-13T15:54:09Z shifty quit (Ping timeout: 248 seconds) 2017-10-13T15:54:50Z yeticry quit (Read error: Connection reset by peer) 2017-10-13T15:59:15Z yeticry joined #lisp 2017-10-13T16:02:13Z sjl_ quit (Quit: WeeChat 1.9) 2017-10-13T16:03:35Z emaczen joined #lisp 2017-10-13T16:04:05Z Ichimusai quit (Ping timeout: 240 seconds) 2017-10-13T16:04:12Z emaczen: how do you resolve symbol conflicts with cffi:defcfun? 2017-10-13T16:04:35Z emaczen: I'm trying to (cffi:defcfun "close" :int (file-descriptor :int)) 2017-10-13T16:04:48Z emaczen: maybe I should just foreign-funcall it? 2017-10-13T16:05:32Z Bike: you can provide your own lisp name 2017-10-13T16:05:40Z sjl joined #lisp 2017-10-13T16:06:07Z Bike: (defcfun ("close" c-close) ...) 2017-10-13T16:07:13Z emaczen: Bike: Ok, I see 2017-10-13T16:07:32Z emaczen: I like defcfun better than foreign-funcall 2017-10-13T16:07:45Z phoe_: because it's much more lispy 2017-10-13T16:08:32Z sjl_ joined #lisp 2017-10-13T16:10:09Z sjl quit (Ping timeout: 248 seconds) 2017-10-13T16:10:51Z Bike: you could also define a package that shadows cl:close; might or might not make sense for you 2017-10-13T16:12:56Z phoe_: or make your defcfuns inside a different package that either does not :use CL or shadows it CLOSE symbol 2017-10-13T16:13:11Z sjl_ is now known as sjl 2017-10-13T16:13:29Z emaczen: I really like what Bike suggested 2017-10-13T16:13:42Z phoe_: right, so then you can call MY-C-INTERFACE:CLOSE outside that package 2017-10-13T16:13:51Z Bike: (defcfun ("close" whatever:close) ...) then 2017-10-13T16:13:52Z phoe_: though if you USE that package anywhere else, you'll get another name conflict. 2017-10-13T16:14:15Z emaczen: No I mean I'm happy with (defcfun ("close" c-close) ...) 2017-10-13T16:14:42Z iqubic_ quit (Remote host closed the connection) 2017-10-13T16:14:45Z dlowe: one of my few complaints about cl is that it uses too many good genericish names 2017-10-13T16:14:50Z Bike: oh. well ok. 2017-10-13T16:15:06Z phoe_: dlowe: like T? (: 2017-10-13T16:15:10Z dlowe: phoe_: YES 2017-10-13T16:15:43Z LiamH joined #lisp 2017-10-13T16:16:02Z Ichimusai joined #lisp 2017-10-13T16:18:14Z sjl: t is the one that always bites me 2017-10-13T16:19:07Z phoe_: (let (p q r s t u v w x y z) ...) 2017-10-13T16:19:08Z phoe_: d'oh 2017-10-13T16:19:17Z SaganMan: haha, I just used t as variable and had some trouble 2017-10-13T16:19:32Z phoe_: SaganMan: I bet it was a compile-time error 2017-10-13T16:20:00Z SaganMan: yeah 2017-10-13T16:20:29Z SaganMan: btw the output of (if 4 5 6) is 5 2017-10-13T16:20:34Z SaganMan: what is that? 2017-10-13T16:20:42Z phoe_: (if test true false) 2017-10-13T16:20:43Z SaganMan: what hapened to 6? 2017-10-13T16:20:46Z FreeBirdLjj joined #lisp 2017-10-13T16:20:50Z SaganMan: ohhh 2017-10-13T16:20:58Z phoe_: if TEST is true, then TRUE is returned, otherwise FALSE is returned 2017-10-13T16:21:14Z al-damiri quit (Quit: Connection closed for inactivity) 2017-10-13T16:21:24Z phoe_: (if nil 5 6) ;=> 6 2017-10-13T16:21:33Z phoe_: and everything that isn't NIL is true in Lisp 2017-10-13T16:21:34Z jackdaniel: if test *evaluates* to true, true is evaluated and result of this evaluation is returned 2017-10-13T16:21:43Z jackdaniel: otherwise false is evaluated and result is returned 2017-10-13T16:21:51Z pjb: A true lisper would write: (let (p q r s tee u v w x y z) …) 2017-10-13T16:21:55Z phoe_: well yes, what jackdaniel said is more correct. (: 2017-10-13T16:21:55Z SaganMan: anything other than nil is true? 2017-10-13T16:21:58Z SaganMan: maan 2017-10-13T16:22:17Z phoe_: yes 2017-10-13T16:22:20Z pjb: a CLisper would write: (shadow 't) (let (p q r s t u v w x y z) …) 2017-10-13T16:22:26Z phoe_: so-called generalized booleans 2017-10-13T16:23:03Z phoe_ bbl 2017-10-13T16:24:09Z dlowe: A nice easter egg in sbcl is triggered by (set t nil) 2017-10-13T16:24:12Z dlowe: and its converse 2017-10-13T16:24:37Z SaganMan: I'm getting some sense of doing things in lisp 2017-10-13T16:24:44Z SaganMan: common lisp* 2017-10-13T16:25:11Z EvW quit (Ping timeout: 246 seconds) 2017-10-13T16:25:42Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2017-10-13T16:25:46Z sjl: (let ((𐊗 1)) nil) 2017-10-13T16:25:53Z sjl: aw, it killed my unicode character 2017-10-13T16:26:37Z ecraven: I see top 2017-10-13T16:26:48Z ecraven: or rather, lycian letter t :P 2017-10-13T16:26:51Z sjl: ah, maybe it's my chat 2017-10-13T16:26:53Z sjl: #\LYCIAN_LETTER_T 2017-10-13T16:26:55Z sjl: heh 2017-10-13T16:27:54Z shka quit (Quit: Konversation terminated!) 2017-10-13T16:28:30Z jackdaniel: (set nil t) is nice too 2017-10-13T16:29:58Z Josh_2: dlowe: I gave (set t nil) a shot and got Simple Error Veritas Aeterna or Eternal Truth 2017-10-13T16:30:20Z Josh_2: Maybe that is the easter egg :O 2017-10-13T16:30:39Z sjl: it is 2017-10-13T16:30:42Z Josh_2: Did I just spoil the easter egg... 2017-10-13T16:30:46Z dlowe: yes you did. 2017-10-13T16:30:55Z Josh_2: My bad 2017-10-13T16:31:03Z easye: It's a nice egg. 2017-10-13T16:31:06Z dlowe: literally ruined 2017-10-13T16:31:23Z Josh_2: Yep sorry about that. 2017-10-13T16:31:30Z easye: Probably Easter according to some religion in the universe. 2017-10-13T16:31:35Z dlowe: I'm going to have to switch lisp implementations now. 2017-10-13T16:34:47Z FreeBirdLjj joined #lisp 2017-10-13T16:35:38Z Bike: huh, define-symbol-macro isn't defined to have any compile time effects. weird oversight 2017-10-13T16:35:53Z osune joined #lisp 2017-10-13T16:39:45Z Xal left #lisp 2017-10-13T16:41:02Z hhdave quit (Ping timeout: 255 seconds) 2017-10-13T16:42:08Z ebzzry joined #lisp 2017-10-13T16:43:06Z pjb: Т т <- is nice 2017-10-13T16:50:28Z Jesin quit (Ping timeout: 240 seconds) 2017-10-13T16:54:56Z nowhere_man joined #lisp 2017-10-13T16:57:47Z emaczen: is there a cffi way to use sizeof? 2017-10-13T16:58:21Z damke quit (Ping timeout: 240 seconds) 2017-10-13T16:59:00Z eminhi quit (Quit: leaving) 2017-10-13T16:59:51Z jackdaniel: emaczen: cffi:foreign-type-size 2017-10-13T16:59:54Z Bike: no, sizeof is not an operator available at runtime. you can use something like grovel to keep that information 2017-10-13T16:59:59Z flip214: emaczen: foreign-type-size 2017-10-13T17:00:01Z Bike: oh, my mistake then... 2017-10-13T17:00:36Z mathi_aihtam quit (Quit: mathi_aihtam) 2017-10-13T17:00:45Z flip214: Bike: in CFFI the structures still have some meta information left for use... 2017-10-13T17:00:57Z flip214: in a compiled C program you've only got some integers in the code, right. 2017-10-13T17:01:13Z Bike: suppose that makes sense. i see there's an alignof as well 2017-10-13T17:02:07Z moei joined #lisp 2017-10-13T17:13:26Z emaczen: the last thing I don't see is how to typecast 2017-10-13T17:13:57Z emaczen: Like (struct name*)argument in a function call 2017-10-13T17:15:16Z phoe_: typecast? why? 2017-10-13T17:15:21Z shka_ joined #lisp 2017-10-13T17:15:25Z phoe_: you have pointers 2017-10-13T17:15:47Z detectiveaoi joined #lisp 2017-10-13T17:15:51Z emaczen: I'm looking at C code that typecasts to the more general pointer 2017-10-13T17:15:52Z phoe_: when you dereference a pointer, you tell CFFI what you expect to have underneath that pointer - if it's an int, a float or a structure of type X 2017-10-13T17:16:05Z phoe_: in CFFI, pointers don't have types. 2017-10-13T17:16:16Z detectiveaoi quit (Remote host closed the connection) 2017-10-13T17:16:23Z emaczen: phoe_: Ok, I think I see my mistake in reading the C code then -- that makes sense too 2017-10-13T17:16:31Z phoe_: you don't declare the type when you grab a pointer, you declare the type when you dereference it. 2017-10-13T17:16:36Z osune: phoe_: so all is a void* ? 2017-10-13T17:16:46Z iqubic joined #lisp 2017-10-13T17:16:55Z phoe_: osune: there's no void* in CFFI either (: 2017-10-13T17:17:03Z osune: phoe_: i see :) 2017-10-13T17:17:14Z Bike: cffi is like the c virtual machine minus the c. it takes a little time to get used to 2017-10-13T17:17:16Z m00natic quit (Read error: Connection reset by peer) 2017-10-13T17:17:54Z phoe_: pointers are simply numbers after all, uint32 or uint64 depending on architecture. CFFI uses exactly this philosophy. 2017-10-13T17:17:58Z Bike: you can specify the type of pointers, but i think cffi ignores it 2017-10-13T17:18:34Z osune: while we are at CFFI, somebody knows a library for libevdev? I still have quite a hard time to wrap my head around cffi to do it myself but if there is nothing I'll have no other option then to do it myself 2017-10-13T17:18:38Z Bike: i'm not sure if a c implementation is allowed to use different representations for different pointer types 2017-10-13T17:20:02Z jackdaniel: phoe_: that is so untrue (re pointers = numbers) 2017-10-13T17:20:37Z jackdaniel: cffi store more exact information about pointer type, but what implementation gets is indeed just :pointer 2017-10-13T17:20:45Z jackdaniel: before collapse it is for instance (:pointer :string) 2017-10-13T17:21:29Z phoe_: jackdaniel: a pointer is a value, a memory offset, which is a number - am I wrong here? 2017-10-13T17:21:50Z Bike: yeah, you can have segmented memory and stuff. 2017-10-13T17:22:07Z Bike: C is actually pretty vague about how memory works 2017-10-13T17:22:09Z _cosmonaut_ quit (Ping timeout: 248 seconds) 2017-10-13T17:22:44Z Bike: you can allocate a block and use arithmetic on pointers in that block, but as soon as you go outside it's UB land, iirc 2017-10-13T17:23:10Z phoe_: that's what the C standard says AFAIR, yes 2017-10-13T17:23:35Z jackdaniel: you can use pointer arigthmetic on pointers 2017-10-13T17:25:06Z jackdaniel: but if it were just a number, than uint foo = my_ptr; foo++; my_ptr=foo; should yield in the same thing as my_ptr++ 2017-10-13T17:25:18Z jackdaniel: from what I know, conforming c compiler should reject such assignment 2017-10-13T17:25:59Z jackdaniel: but if it doesn't, you come into bigger trouble. so there is a good reason for error ;) 2017-10-13T17:26:01Z Bike: i think that needs a cast, yeah 2017-10-13T17:26:20Z dlowe: jack_rabbit: uh, not true. The amount my_ptr is incremented depends on the size/align of the underlying type. 2017-10-13T17:26:41Z jackdaniel: dlowe: exactly, that's why you can't treat pointers as numbers 2017-10-13T17:26:43Z Bike: that's why the "uint foo = my_ptr" is problematic, yes? 2017-10-13T17:27:01Z dlowe: but if you knwo the size/align of the underlying type, you *can* do it 2017-10-13T17:27:22Z dlowe: you probably want to use intptr_t though to make sure the pointer fits 2017-10-13T17:27:30Z jackdaniel: dlowe: actually you can't, unless you want to come to undefined behavior land 2017-10-13T17:28:02Z Bike: try the kombucha 2017-10-13T17:30:18Z jackdaniel: also I'm not sure, but I have a suspiction that there is no mention in C standard, that pointers are numbers at all 2017-10-13T17:31:06Z dlowe: nor that chars are numbers, but you can still cast them :) 2017-10-13T17:31:25Z jackdaniel: such assumptions lead to very bad software 2017-10-13T17:31:39Z jackdaniel: either way, time for me, hf o/ 2017-10-13T17:31:41Z dlowe: but yeah, the only guarantee is that you can cast a pointer to a number and back and get the same pointer 2017-10-13T17:34:56Z jackdaniel: well, you can't (portably), because you don't know if pointer will fit in any integer you have 2017-10-13T17:35:02Z jackdaniel: that's why uintptr_t was invented 2017-10-13T17:35:07Z jackdaniel: which provides such guarantees 2017-10-13T17:35:24Z raynold joined #lisp 2017-10-13T17:35:28Z dlowe: sure. That number. 2017-10-13T17:36:32Z _death: such assumptions are made by practically every lisp implementation :) 2017-10-13T17:40:13Z Jesin joined #lisp 2017-10-13T17:40:37Z tax: does having multiple namespaces in common lisp yield a major benefit over lisp-1 languages? why do even popular industry languages like clojure use/choose a lisp-1? seems like namespaces would be useful. what am i missing or not understanding? 2017-10-13T17:41:20Z _death: pointers are numbers in the same sense that "everything is a number".. what is usually meant is that they can be represented as numbers.. there are some gotchas for the unwary, though.. for example the null pointer (0) may not be represented as all-bits-off numeric zero 2017-10-13T17:41:41Z phoe_: tax: lisp-1 languages are usually pretty heavy on functional programming, and Clojure is not an exception here 2017-10-13T17:42:13Z rgrau quit (Ping timeout: 255 seconds) 2017-10-13T17:42:39Z phoe_: CL has multiple namespaces actually - variables/symbol macros, functions/macros, classes/conditions/types, restarts... and the user can create and define their own ones 2017-10-13T17:43:24Z vlatkoB_ joined #lisp 2017-10-13T17:44:12Z phoe_: when you're heavy on functional programming, you might want to use a shortcut where e.g. FOO always means a function 2017-10-13T17:44:15Z Ichimusai quit (Remote host closed the connection) 2017-10-13T17:44:40Z phoe_: so (frobnicate foo bar baz) <- here FOO refers to a function if we're in a Lisp-1 2017-10-13T17:44:52Z phoe_: which is troublesome with the most obvious example being LIST 2017-10-13T17:44:57Z phoe_: which in Scheme is a function 2017-10-13T17:45:14Z phoe_: and in CL is a function, a type, and also is commonly used as a variable name 2017-10-13T17:46:04Z phoe_: (defun ensure-list (list) (if (typep list 'list) list (list list))) <- hey, that's five LIST symbols next to each other, not counting parens and quotes 2017-10-13T17:46:20Z phoe_: (and also not good CL code) 2017-10-13T17:46:41Z vlatkoB quit (Ping timeout: 240 seconds) 2017-10-13T17:47:21Z phoe_: but then again, I'm not a Schemer - I'm used to CL so I can mostly tell you the CL viewpoint. 2017-10-13T17:48:07Z _death: sounds like you need to (deftype buffalo () 'list) (defalias buffalo list) 2017-10-13T17:48:16Z dlowe: phoe_: scheme has multiple namespaces too. This lisp-n idea needs to die. 2017-10-13T17:48:38Z phoe_: dlowe: write a blog post about it and post it on /r/lisp so we can reference it for the future. 2017-10-13T17:48:49Z dlowe: phoe_: hm. I might. 2017-10-13T17:48:59Z emaczen: in cffi:defcstruct will cffi automatically convert - to _ for field names? 2017-10-13T17:49:18Z Bike: does it even need C field names? 2017-10-13T17:49:44Z phoe_: dlowe: pretty please - I'd really read about that. 2017-10-13T17:50:01Z emaczen: from the manual: (defcstruct point (x :int) (y :int)) 2017-10-13T17:50:45Z Ichimusai joined #lisp 2017-10-13T17:50:50Z Bike: that doesn't mean the field names need to match the C ones, i mean 2017-10-13T17:53:28Z SaganMan: are there other languages which have cl's defun &optional? 2017-10-13T17:53:55Z Bike: optional parameters? sure. the -p option is proably rarer, though. 2017-10-13T17:54:37Z SaganMan: does C has optional parameters Bike? 2017-10-13T17:54:43Z Bike: not really. 2017-10-13T17:55:13Z SaganMan: what about python? 2017-10-13T17:55:41Z Bike: check it, i googled "python optional" and this appeared http://www.diveintopython.net/power_of_introspection/optional_arguments.html 2017-10-13T17:57:12Z eschatologist quit (Remote host closed the connection) 2017-10-13T17:57:43Z _death: the subtle details make CL the only language to have CL-like &optional/&key, afaik 2017-10-13T17:57:55Z eschatologist joined #lisp 2017-10-13T17:57:55Z Bike: yeah that's what i meant ot get at with the -p 2017-10-13T18:00:44Z SaganMan: But CL has it better than python 2017-10-13T18:01:20Z SaganMan: _death: yeah 2017-10-13T18:02:36Z sjl: I do miss Python's "all arguments can be keyword args if you want" sometimes 2017-10-13T18:02:47Z sjl: def foo(a, b): return a+b 2017-10-13T18:02:52Z sjl: foo(b=1, a=2) 2017-10-13T18:03:13Z sjl: in CL you can't use kwargs if the function wasn't defined to explicitly take them 2017-10-13T18:03:14Z _death: you mean that they can be used positionally as well? 2017-10-13T18:03:20Z sjl: yes 2017-10-13T18:03:31Z sjl: foo(1, 2) will work, but you *can* use the kwargs if you want 2017-10-13T18:03:33Z _death: &rest :) 2017-10-13T18:04:07Z sjl: I... don't think that works? 2017-10-13T18:04:16Z _death: why not? you can process the list as you wish 2017-10-13T18:04:37Z emaczen: I keep getting this error: The value (S-ADDR 31235) is not of the expected type CCL:MACPTR. -- http://paste.lisp.org/display/358528 2017-10-13T18:04:48Z sjl: (defun foo (&rest args &key a b) ...) 2017-10-13T18:04:55Z sjl: you cannot call this like (foo 1 2) 2017-10-13T18:04:58Z emaczen: I have no idea why, the slot wants a :uint32 and that is exactly what inet-addr returns 2017-10-13T18:05:10Z Jesin quit (Ping timeout: 264 seconds) 2017-10-13T18:05:23Z sjl: or are you just saying use &rest and manually process the arglist in the function body myself? 2017-10-13T18:06:03Z _death: sjl: yeah.. (defun foo (&rest args) (python-destructuring-bind (a b) args ...)) 2017-10-13T18:06:24Z sjl: that works, but you lose the nice arglist in slime/etc 2017-10-13T18:06:26Z Bike: it seems foreign-slot-value expects a pointer, not a (:struct in-addr) 2017-10-13T18:06:42Z _death: sjl: you can wrap it in a macro and extend slime-autodoc :) 2017-10-13T18:07:08Z sjl: I'm content to just suffer 2017-10-13T18:07:22Z Bike: so you could use foreign-slot-pointer to get a (:pointer (:struct in-addr)) instead, and then get the s-addr from there 2017-10-13T18:07:24Z _death: sjl: anyway, python also has thing sillyness of evaluating the default forms once at definition time, no? 2017-10-13T18:07:29Z _death: *this 2017-10-13T18:07:29Z Bike: @emaczen 2017-10-13T18:07:46Z sjl: _death: yeah, I don't miss that 2017-10-13T18:07:48Z emaczen: Bike: I just changed the inner cffi:foreign-slot-value to cffi:foreign-slot-pointer 2017-10-13T18:07:52Z pjb: SaganMan: of course, C has ... 2017-10-13T18:08:17Z emaczen: Bike: That seems to work, but now I have a new errno setting... haha 2017-10-13T18:08:18Z turkja quit (Read error: Connection reset by peer) 2017-10-13T18:08:21Z pjb: So it really has optional parameters, and keyword parameters, etc, just like CL. You just need to implement a library using stdarg.h 2017-10-13T18:09:32Z SaganMan: ohh, just googled https://stackoverflow.com/questions/19212040/how-can-i-make-a-function-with-optional-arguments-in-c 2017-10-13T18:09:40Z SaganMan: yeah pjb, you're right 2017-10-13T18:10:25Z _death: pjb: unlike CL, you lose compiler checks :) 2017-10-13T18:11:07Z SaganMan: but pjb, can all arguements in a fuction of C be optional? don't you get "too few arguements" 2017-10-13T18:12:05Z pjb: SaganMan: of course, you need to have a way to indicate the actual number of arguments. 2017-10-13T18:12:45Z _death: the types as well.. all functions could look like printf 2017-10-13T18:13:45Z _death: add("%d%d%pd", 1, 2, &result); 2017-10-13T18:13:45Z SaganMan: ah, pain in ass 2017-10-13T18:13:46Z pjb: For the types, you can always use lisp objects. 2017-10-13T18:14:23Z pjb: add(3,number(3),number(2),number(1),&results) 2017-10-13T18:14:39Z pjb: SaganMan: basically, just use libecl! 2017-10-13T18:14:42Z _death: true :) 2017-10-13T18:15:27Z _death: result = add(list(number(3),number(2),number(1))); 2017-10-13T18:15:40Z SaganMan: yeah 2017-10-13T18:16:24Z Jesin joined #lisp 2017-10-13T18:16:49Z pjb: _death: nope. (+ 1 2 3) vs. (+ (list 1 2 3)) 2017-10-13T18:17:06Z EvW1 joined #lisp 2017-10-13T18:17:18Z pjb: _death: CL functions can return multiple values, so you cannot use result=f(), but you have to use f(…,&results) 2017-10-13T18:17:33Z _death: pjb: the caller builds up the &rest list.. you could then define one function to call them all, apply(symbol("add"),list(...)) 2017-10-13T18:18:09Z pjb: So you have to write: list(3,number(3),number(2),number(1),&results); apply(2,add,results[0],&results); 2017-10-13T18:18:21Z _death: pjb: the result is assumed to always be a list 2017-10-13T18:18:27Z pjb: No. 2017-10-13T18:18:31Z _death: pjb: poor man's multiple values 2017-10-13T18:18:41Z pjb: The point of multiple values is that they are not allocated into a lisp object. 2017-10-13T18:19:00Z pjb: This channel is about CL, let's be serious. 2017-10-13T18:19:10Z _death: so let's no write C :) 2017-10-13T18:21:02Z Xach: phoe_: do you understand the problem in http://report.quicklisp.org/2017-10-12/failure-report/asd-generator.html#asd-generator? 2017-10-13T18:21:33Z SaganMan quit (Quit: WeeChat 1.6) 2017-10-13T18:21:47Z nowhere_man quit (Read error: Connection reset by peer) 2017-10-13T18:26:55Z haom joined #lisp 2017-10-13T18:30:35Z Bock quit (Read error: Connection reset by peer) 2017-10-13T18:30:46Z haom: hello, what is the way to format variables into strings by their names, like "My name is $name." => "My name is Mike." 2017-10-13T18:31:23Z haom: instead of using format nil "My name is ~A." name 2017-10-13T18:31:23Z _death: cl-interpol? 2017-10-13T18:32:16Z Xach: cl-interpol is one easy way 2017-10-13T18:32:31Z _death: personally I use (out "My name is " name ".") 2017-10-13T18:32:34Z yrk quit (Read error: Connection reset by peer) 2017-10-13T18:33:18Z Xach: is that drew mcdermott's thing? 2017-10-13T18:33:25Z haom: nice, thanks, cl-interpol is exactly what i looked for. 2017-10-13T18:33:57Z _death: Xach: my adaptation of it, yeah 2017-10-13T18:34:28Z _death: Xach: https://github.com/death/constantia/blob/master/out.lisp 2017-10-13T18:34:35Z tax quit (Quit: Leaving) 2017-10-13T18:35:06Z Xach: ah 2017-10-13T18:40:41Z ym joined #lisp 2017-10-13T18:41:15Z aeth: _death: Is out modelled on C++'s way of doing things? 2017-10-13T18:41:19Z aeth: That looks very C++ 2017-10-13T18:41:21Z Kevslinger quit (Quit: Connection closed for inactivity) 2017-10-13T18:42:02Z ym: What classic book describes building of simple lisp compiler/interpreter? 2017-10-13T18:42:30Z ym: I remember I read one, but can't remind it's name. 2017-10-13T18:42:31Z emaczen: ym: look on cliki.net 2017-10-13T18:42:34Z pjb: LISP 2017-10-13T18:42:53Z pjb: Lisp in Small Pieces http://pagesperso-systeme.lip6.fr/Christian.Queinnec/WWW/LiSP.html http://pagesperso-systeme.lip6.fr/Christian.Queinnec/Books/LiSP-2ndEdition-2006Dec11.tgz 2017-10-13T18:42:57Z emaczen: You can find several and I think pjb is referencing John Mccarthy's original paper, which is on that site too 2017-10-13T18:42:58Z random-nick quit (Remote host closed the connection) 2017-10-13T18:43:15Z sjl: SICP does, I think PAIP probably does. Lisp in Small Pieces goes into much more depth. 2017-10-13T18:43:19Z _death: aeth: no, it is modelled on principle of Lisp - use Lisp conses and atoms for structured information 2017-10-13T18:43:20Z pjb: context 2017-10-13T18:43:42Z emaczen: there is a free online books sections at cliki.net 2017-10-13T18:43:51Z _death: aeth: see http://www.cs.yale.edu/homes/dvm/format-stinks.html 2017-10-13T18:44:01Z ym: Thanks. I love lisp community and particularly this channel. 2017-10-13T18:44:02Z emaczen: http://paste.lisp.org/display/358528 -- see anything wrong with my defcstructs? I'm getting ERRNO=47, EAFNOSUPPORT 2017-10-13T18:44:09Z aeth: _death: Your out example looks like `cout << "My name is " << name << ".";' except more concise because you don't need to use < " v)))) ==> "two => 2, forty-two => 42" 2017-10-13T19:06:10Z Bike: emaczen: what address family did you use? AF_INET? 2017-10-13T19:07:27Z Bike: emaczen: i mean, that doesn't sound like a problem with your data layout 2017-10-13T19:07:46Z alexmlw joined #lisp 2017-10-13T19:09:00Z vlatkoB_ quit (Remote host closed the connection) 2017-10-13T19:09:29Z mathi_aihtam joined #lisp 2017-10-13T19:09:49Z Bike: emaczen: though i guess this might not be the right sockaddr_in definition for your system 2017-10-13T19:10:47Z Jesin quit (Ping timeout: 260 seconds) 2017-10-13T19:12:54Z Jesin joined #lisp 2017-10-13T19:15:09Z emaczen: Bike: One second, I just googled a bunch of types, made some changes and am testing 2017-10-13T19:15:35Z emaczen: Bike: Nope same error 2017-10-13T19:15:42Z arbv quit (Read error: Connection reset by peer) 2017-10-13T19:15:52Z emaczen: I'm making a paste 2017-10-13T19:15:53Z arbv joined #lisp 2017-10-13T19:16:35Z aeth: _death: thanks for the examples 2017-10-13T19:19:16Z random-nick joined #lisp 2017-10-13T19:20:56Z emaczen: http://paste.lisp.org/display/358528#1 2017-10-13T19:21:14Z emaczen: Bike: Is there a convenient way to get the typedefs/#defines? 2017-10-13T19:21:46Z phoe_: emaczen: cl-autowrap is what I use 2017-10-13T19:21:47Z pjb: emaczen: no. 2017-10-13T19:21:57Z phoe_: it's an overkill tool 2017-10-13T19:21:58Z ebzzry quit (Ping timeout: 264 seconds) 2017-10-13T19:21:59Z phoe_: but works. 2017-10-13T19:22:03Z pjb: emaczen: it's partly why I started writing a C compiler in CL. 2017-10-13T19:22:18Z pjb: emaczen: for now, the pre-processor is implemented, it should be usable to get the #defines. 2017-10-13T19:22:33Z davazp joined #lisp 2017-10-13T19:22:34Z pjb: (including processing the #if etc) 2017-10-13T19:22:36Z emaczen: pjb: even C macro expansions? 2017-10-13T19:22:41Z pjb: Yes. 2017-10-13T19:23:06Z pjb: It produces the stream of C token (as a list). 2017-10-13T19:23:46Z pjb: for typedefs, you'll have to wait implementation of the compiler. Or use something like swig/cffi, but it is very deficient. 2017-10-13T19:24:06Z emaczen: I'll just keep doing it manually for the time being... 2017-10-13T19:24:25Z davazp left #lisp 2017-10-13T19:24:38Z emaczen: This is really helping me with CFFI, once I get this to work I may give objc OpenStep a crack 2017-10-13T19:26:06Z emaczen: At least I can deal with C this way... recompiling just to see a different errno and writing so much code just to do that! 2017-10-13T19:28:10Z davazp joined #lisp 2017-10-13T19:28:43Z pjb: emaczen: you may want to have a look at https://matthias.benkard.de/objective-cl/ 2017-10-13T19:29:56Z davazp quit (Remote host closed the connection) 2017-10-13T19:31:03Z emaczen: pjb: I'll bookmark it, I still got a ways to go for CFFI I think... 2017-10-13T19:31:03Z davazp joined #lisp 2017-10-13T19:32:08Z emaczen: what about an emacs mode to M-. typedefs and so forth? 2017-10-13T19:32:16Z emaczen: I asked in #emacs but got no reply 2017-10-13T19:32:19Z davazp left #lisp 2017-10-13T19:32:58Z Bike: emaczen: maybe it's in man 7 ip 2017-10-13T19:33:24Z pjb: emaczen: CFFI is ok, it's the various ways to parse C headers and generate CFFI code that are wrong. 2017-10-13T19:34:12Z pjb: Mostly, because they can't deal with all the specificities of C headers. Eg. #pragma pack are ignored. 2017-10-13T19:34:36Z emaczen: what is 7? 2017-10-13T19:34:49Z Bike: the section of the manual 2017-10-13T19:35:01Z Bike: "man 7 ip" in your terminal, or maybe you're on windows 2017-10-13T19:35:40Z emaczen: M-x man 2017-10-13T19:35:52Z nirved quit (Quit: Leaving) 2017-10-13T19:36:11Z emaczen: I see ip(4) 2017-10-13T19:36:28Z emaczen: I'm on OSX 2017-10-13T19:36:33Z bigdaddytank joined #lisp 2017-10-13T19:37:19Z Bike: what functions are you using? 2017-10-13T19:37:32Z emaczen: with? 2017-10-13T19:37:38Z Bike: ah, it's man 4 inet 2017-10-13T19:38:00Z Bike: struct sockaddr_in { short; u_short; struct in_addr; char[8]; } 2017-10-13T19:39:06Z emaczen: struct sockaddr_in { __uint8_t sin_len; sa_family_t sin_family; in_port_t sin_port; struct in_addr sin_addr; char sin_zero[8];}; 2017-10-13T19:39:26Z emaczen: that's what mine looks like in netinet/in.h 2017-10-13T19:40:54Z _death: emaczen: do you know about cffi-grovel 2017-10-13T19:41:13Z emaczen: not really, I see it as a section in the manual 2017-10-13T19:41:29Z _death: emaczen: so check it out 2017-10-13T19:41:39Z Bicyclidine joined #lisp 2017-10-13T19:42:05Z Bike quit (Ping timeout: 240 seconds) 2017-10-13T19:42:53Z emaczen: is the synopsis of my paste that I might have the incorrect types? 2017-10-13T19:43:01Z EvW1 quit (Ping timeout: 240 seconds) 2017-10-13T19:44:55Z _death: your paste contains a reference to a lookup operator that's not given 2017-10-13T19:45:22Z emaczen: _death: yes, I know that works it returns 2 which is what AF_INET is #defined to be 2017-10-13T19:48:44Z LiamH quit (Ping timeout: 258 seconds) 2017-10-13T19:48:45Z ebzzry joined #lisp 2017-10-13T19:51:48Z LiamH joined #lisp 2017-10-13T19:52:19Z _death: it's possible that the layout you describe doesn't match your system's layout.. grovel may be useful here. some quick checks you may try: comparing the struct sizes, offsets for each slot, or simply printing out filled instances that are supposed to be equivalent in both languages 2017-10-13T19:52:57Z _death: (byte representation of filled instances) 2017-10-13T19:53:39Z emaczen: _death: good idea. 2017-10-13T19:53:43Z emaczen: I'll be doing that for awhile now... 2017-10-13T19:53:56Z emaczen: _death: thanks though, I really need help when it comes to C 2017-10-13T19:54:01Z _death: to be portable you'd still need to grovel 2017-10-13T19:54:26Z emaczen: _death: Once I get this to work, I'll try it because I do want this to work on different Linux machines too 2017-10-13T19:54:31Z emaczen: I'm on OSX right now 2017-10-13T19:54:47Z sz0 quit (Quit: Connection closed for inactivity) 2017-10-13T19:55:32Z _death: or come up with a simpler interface and implement it in C.. unless you're actually going for sockets, and then - why not use the one defined by your implementation? 2017-10-13T20:00:16Z mathi_aihtam quit (Quit: mathi_aihtam) 2017-10-13T20:02:44Z haom left #lisp 2017-10-13T20:03:49Z elitepwomr joined #lisp 2017-10-13T20:04:54Z bigdaddytank quit (Quit: Peace out!) 2017-10-13T20:06:19Z kolko quit (Quit: ZNC - http://znc.in) 2017-10-13T20:06:49Z elitepwomr quit (Read error: Connection reset by peer) 2017-10-13T20:08:24Z mathi_aihtam joined #lisp 2017-10-13T20:13:08Z igemnace quit (Quit: WeeChat 1.9.1) 2017-10-13T20:13:47Z dmiles quit (Ping timeout: 260 seconds) 2017-10-13T20:17:42Z dmiles joined #lisp 2017-10-13T20:21:46Z vtomole joined #lisp 2017-10-13T20:27:02Z schoppenhauer quit (Read error: Connection timed out) 2017-10-13T20:31:41Z brendyn joined #lisp 2017-10-13T20:32:22Z EvW joined #lisp 2017-10-13T20:34:00Z schoppenhauer joined #lisp 2017-10-13T20:35:08Z pierpa joined #lisp 2017-10-13T20:35:55Z widp joined #lisp 2017-10-13T20:36:18Z mathi_aihtam quit (Quit: mathi_aihtam) 2017-10-13T20:38:05Z vtomole quit (Ping timeout: 260 seconds) 2017-10-13T20:38:34Z mathi_aihtam joined #lisp 2017-10-13T20:40:08Z Denommus joined #lisp 2017-10-13T20:42:04Z igemnace joined #lisp 2017-10-13T20:42:05Z random-nick quit (Remote host closed the connection) 2017-10-13T20:42:34Z igemnace quit (Read error: Connection reset by peer) 2017-10-13T20:49:53Z zotan quit (Ping timeout: 255 seconds) 2017-10-13T20:51:47Z elitevrvcx joined #lisp 2017-10-13T20:51:48Z zotan joined #lisp 2017-10-13T20:52:40Z dtornabene joined #lisp 2017-10-13T20:53:28Z arbv quit (Ping timeout: 240 seconds) 2017-10-13T20:53:42Z mathi_aihtam quit (Quit: mathi_aihtam) 2017-10-13T20:54:33Z mathi_aihtam joined #lisp 2017-10-13T20:54:33Z neoncontrails quit (Remote host closed the connection) 2017-10-13T20:55:22Z mathi_aihtam quit (Client Quit) 2017-10-13T20:55:48Z wheelsucker quit (Ping timeout: 240 seconds) 2017-10-13T20:56:29Z mathi_aihtam joined #lisp 2017-10-13T20:57:14Z mathi_aihtam quit (Client Quit) 2017-10-13T20:57:40Z elitevrvcx quit (Quit: elitevrvcx) 2017-10-13T20:57:46Z elitevrvcx joined #lisp 2017-10-13T20:58:08Z elitevrvcx left #lisp 2017-10-13T21:01:51Z jack_rabbit quit (Ping timeout: 248 seconds) 2017-10-13T21:03:08Z Bicyclidine quit (Ping timeout: 240 seconds) 2017-10-13T21:04:15Z igemnace joined #lisp 2017-10-13T21:13:44Z Xach: phoe_: how are you trying to build it? 2017-10-13T21:14:26Z Xach: phoe_: i suspect you need :verbose t to see the warning. it is clear that the code is wrong just by looking at it. 2017-10-13T21:15:40Z arbv joined #lisp 2017-10-13T21:15:51Z Xach: https://github.com/phoe/asd-generator/blob/master/asd-generator.lisp defines all-pathnames with one arg and then immediately calls it with two. 2017-10-13T21:15:59Z jack_rabbit joined #lisp 2017-10-13T21:17:05Z rumbler31 quit (Ping timeout: 246 seconds) 2017-10-13T21:18:37Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-10-13T21:20:20Z phoe_: Xach: one second 2017-10-13T21:21:11Z mathi_aihtam joined #lisp 2017-10-13T21:23:14Z phoe_: yes, this is a valid issue. I raised https://github.com/phoe/asd-generator/issues/7 on the person who wrote this code, I hope he responds tomorrow or the day after. 2017-10-13T21:23:30Z phoe_: How burning is this regarding the new Quicklisp dist? 2017-10-13T21:23:51Z Xach: medium heat 2017-10-13T21:24:01Z Xach: the uiop 3.3.0 thing is a bigger deal by far 2017-10-13T21:24:02Z igemnace quit (Quit: WeeChat 1.9.1) 2017-10-13T21:24:33Z phoe_: Okay - I'll try to fix it on my own if the person doesn't respond tomorrow or on Sunday. Deal? 2017-10-13T21:24:43Z Xach: sure 2017-10-13T21:25:37Z phoe_: Okay. 2017-10-13T21:28:57Z mson quit (Quit: Connection closed for inactivity) 2017-10-13T21:40:05Z Bike joined #lisp 2017-10-13T21:40:42Z neoncontrails joined #lisp 2017-10-13T21:42:05Z LiamH quit (Ping timeout: 240 seconds) 2017-10-13T21:44:15Z rumbler31 joined #lisp 2017-10-13T21:45:13Z arbv quit (Ping timeout: 255 seconds) 2017-10-13T21:50:41Z stnutt joined #lisp 2017-10-13T21:51:08Z libre-man quit (Quit: WeeChat 1.8) 2017-10-13T21:51:10Z sjl_ joined #lisp 2017-10-13T21:51:33Z libre-man joined #lisp 2017-10-13T21:51:40Z libre-man quit (Client Quit) 2017-10-13T21:51:45Z Denommus quit (Quit: going home) 2017-10-13T21:53:11Z shrdlu68 joined #lisp 2017-10-13T21:53:11Z libre-man joined #lisp 2017-10-13T21:53:46Z sjl quit (Ping timeout: 255 seconds) 2017-10-13T21:59:08Z foom quit (Remote host closed the connection) 2017-10-13T21:59:28Z bigos joined #lisp 2017-10-13T22:03:05Z mishoo quit (Ping timeout: 240 seconds) 2017-10-13T22:03:12Z bigos: Besides LTK,do you know of any gui library that works on both Linux and Windows? 2017-10-13T22:03:37Z Karl_Dscc quit (Remote host closed the connection) 2017-10-13T22:07:11Z alexmlw quit (Ping timeout: 255 seconds) 2017-10-13T22:08:27Z sjl joined #lisp 2017-10-13T22:10:26Z sjl_ quit (Ping timeout: 255 seconds) 2017-10-13T22:10:31Z Shinmera: Qtools. 2017-10-13T22:10:32Z p_l: bigos: CommonQT does, as does EQL (ECL-specific). Some of the GTK interfaces, if you get them to run, should work cross-platform 2017-10-13T22:10:44Z p_l: and yes, Qtools, which uses CommonQT 2017-10-13T22:10:48Z Shinmera: http://shinmera.github.io/qtools/ 2017-10-13T22:11:31Z bigos: i Looked at it on Linux and was impressed, the problem is I can't install QT on windows 2017-10-13T22:11:41Z bigos: qt website has changed 2017-10-13T22:11:50Z Shinmera: If you use Qtools you don't need to install anything anywhere. 2017-10-13T22:12:02Z bigos: ??? 2017-10-13T22:12:10Z Shinmera: ? ? 2017-10-13T22:12:21Z bigos: i thought i needed qt dlls somewhere 2017-10-13T22:12:30Z Shinmera: It downloads them for you. 2017-10-13T22:12:37Z bigos: ahh 2017-10-13T22:12:42Z Shinmera: Because you need more than just the Qt dlls 2017-10-13T22:12:46Z bigos: i will try in few minutes 2017-10-13T22:12:48Z Shinmera: And the way to get them is incredibly painful. 2017-10-13T22:12:54Z bigos: agreed 2017-10-13T22:12:57Z bigos: brb 2017-10-13T22:13:35Z varjag quit (Ping timeout: 255 seconds) 2017-10-13T22:14:54Z bigos: I'll start Windows on the laptop and will try it 2017-10-13T22:16:21Z epony joined #lisp 2017-10-13T22:18:17Z iqubic quit (Remote host closed the connection) 2017-10-13T22:19:47Z bigos: p_l: none of the GTK interfaces worked, I had most success with cl-cffi-gtk, but its github page admits it crashes when you try to move the window 2017-10-13T22:19:58Z Shinmera: Oh dear 2017-10-13T22:20:09Z bigos: yes 2017-10-13T22:20:33Z xayto joined #lisp 2017-10-13T22:20:47Z bigos: other interfaces i tried failed to install properly for one reason or another 2017-10-13T22:20:55Z p_l: bigos: I think all are pretty much abandoned by now except for GTK backend of Common Graphics, and that's proprietary to ACL 2017-10-13T22:21:34Z p_l would honestly expect franz's clim to build better than any of the GTK interfaces 2017-10-13T22:21:58Z bigos: https://github.com/CodyReichert/awesome-cl#gui i have tried this list 2017-10-13T22:22:44Z bigos: ceramic failed to install, at some point i got message that something failed to compile on Linux, I did not try it on windows 2017-10-13T22:23:16Z shrdlu68: I've never bothered to check this, how much is the cheapest of the commercial implementations? 2017-10-13T22:24:30Z Shinmera: Probably MOCL (200$) 2017-10-13T22:24:32Z varjag joined #lisp 2017-10-13T22:25:21Z mson joined #lisp 2017-10-13T22:28:52Z varjag quit (Ping timeout: 255 seconds) 2017-10-13T22:29:35Z rumbler31 quit (Ping timeout: 240 seconds) 2017-10-13T22:30:12Z bigos: qtools failed on ccl and sbcl on windows, i was trying to follow example from https://github.com/Shinmera/qtools/blob/master/examples/helloworld/helloworld.lisp 2017-10-13T22:30:13Z pjb: bigos: cf. http://www.cliki.net/pgl http://www.cliki.net/GUI 2017-10-13T22:30:42Z bigos: alien function sw_find_class is undefined 2017-10-13T22:31:19Z bigos: i'mnot sure if i ran the example correctly 2017-10-13T22:31:32Z Shinmera: That fucking error again 2017-10-13T22:31:33Z bigos: i was copuyng sexps and pasting them in the repl 2017-10-13T22:32:20Z bigos: do you have windows testers? 2017-10-13T22:32:26Z Shinmera: Can you restart the REPL and then just do (ql:quickload :qtools-helloworld) followed by (qtools-helloworld:main) 2017-10-13T22:32:31Z Shinmera: Yes, myself. 2017-10-13T22:32:52Z Shinmera: Simply copypasting things in that file isn't going to cut it because of the dependencies. 2017-10-13T22:32:53Z widp quit (Quit: WeeChat 1.4) 2017-10-13T22:34:24Z Shinmera: If you want to follow an example and not just run one, follow the documentation. https://shinmera.github.io/qtools/ 2017-10-13T22:35:21Z bigos: hurray? it works 2017-10-13T22:35:26Z Shinmera: Good. 2017-10-13T22:36:04Z Shinmera: The sw_find_class error is due to it not having loaded the libraries properly. 2017-10-13T22:36:04Z bigos: fine under ccl 2017-10-13T22:37:30Z Shinmera: Anyway, it's like past midnight here and my eyes feel like they have thicker crust than bread that's been baked for ten years. 2017-10-13T22:37:51Z Shinmera: If you encounter any other problems, write an issue ticket on github, or hope people here will be able to help you. 2017-10-13T22:38:01Z safe joined #lisp 2017-10-13T22:38:03Z Shinmera: Good night! 2017-10-13T22:38:43Z bigos: good night 2017-10-13T22:38:58Z bigos: thank you 2017-10-13T22:40:04Z varjag joined #lisp 2017-10-13T22:40:09Z iqubic joined #lisp 2017-10-13T22:44:01Z marcux_ joined #lisp 2017-10-13T22:44:21Z varjag quit (Ping timeout: 240 seconds) 2017-10-13T22:46:14Z mathi_aihtam quit (Quit: mathi_aihtam) 2017-10-13T22:47:08Z marcux_ quit (Client Quit) 2017-10-13T22:49:53Z arbv joined #lisp 2017-10-13T22:50:08Z vancan1ty joined #lisp 2017-10-13T22:57:05Z papachan quit (Quit: Saliendo) 2017-10-13T22:58:20Z osune quit (Remote host closed the connection) 2017-10-13T22:58:48Z arbv quit (Ping timeout: 240 seconds) 2017-10-13T22:58:53Z nowhere_man quit (Remote host closed the connection) 2017-10-13T22:59:16Z nowhere_man joined #lisp 2017-10-13T23:03:18Z nowhere_man quit (Remote host closed the connection) 2017-10-13T23:03:44Z nowhere_man joined #lisp 2017-10-13T23:10:45Z varjag joined #lisp 2017-10-13T23:12:32Z wxie joined #lisp 2017-10-13T23:12:52Z wxie quit (Client Quit) 2017-10-13T23:15:35Z varjag quit (Ping timeout: 240 seconds) 2017-10-13T23:17:09Z Jesin quit (Quit: Leaving) 2017-10-13T23:17:49Z arbv joined #lisp 2017-10-13T23:20:23Z orivej joined #lisp 2017-10-13T23:25:30Z kuwze quit (Ping timeout: 260 seconds) 2017-10-13T23:26:57Z shka_ quit (Ping timeout: 240 seconds) 2017-10-13T23:28:07Z rumbler31 joined #lisp 2017-10-13T23:28:47Z isoraqathedh quit (Quit: Verhatenad!) 2017-10-13T23:29:05Z isoraqathedh joined #lisp 2017-10-13T23:32:17Z rumbler31 quit (Ping timeout: 248 seconds) 2017-10-13T23:33:17Z vancan1ty quit (Ping timeout: 260 seconds) 2017-10-13T23:35:38Z cromachina joined #lisp 2017-10-13T23:36:46Z nowhere_man quit (Remote host closed the connection) 2017-10-13T23:46:49Z sjl: anyone successfully used Shinmera's deploy library to deploy an OS X app? 2017-10-13T23:50:55Z jack_rabbit quit (Ping timeout: 248 seconds) 2017-10-14T00:00:58Z LAG_ quit 2017-10-14T00:01:13Z LAG_ joined #lisp 2017-10-14T00:01:57Z jealousmonk joined #lisp 2017-10-14T00:04:01Z stnutt left #lisp 2017-10-14T00:05:20Z jack_rabbit joined #lisp 2017-10-14T00:06:08Z manny8888 joined #lisp 2017-10-14T00:07:06Z orivej quit (Ping timeout: 258 seconds) 2017-10-14T00:08:07Z Kevslinger joined #lisp 2017-10-14T00:11:43Z cgay quit (Ping timeout: 248 seconds) 2017-10-14T00:12:57Z cgay_ quit (Ping timeout: 260 seconds) 2017-10-14T00:16:24Z marvin2 quit (Quit: quit) 2017-10-14T00:21:15Z wooden_ joined #lisp 2017-10-14T00:21:53Z wooden quit (Read error: Connection reset by peer) 2017-10-14T00:22:03Z sjl: also, when ASDF encounters an error, is there a way to get a traceback? 2017-10-14T00:22:20Z sjl: none of these restarts look like they'll give me a stack trace so I can try to figure out what actually went wrong http://paste.stevelosh.com/59e158a6ee0a0000081b25a1 2017-10-14T00:24:57Z aindilis quit (Ping timeout: 240 seconds) 2017-10-14T00:25:37Z flazh quit (Ping timeout: 248 seconds) 2017-10-14T00:26:44Z flazh joined #lisp 2017-10-14T00:30:22Z pjb quit (Ping timeout: 255 seconds) 2017-10-14T00:32:44Z pjb joined #lisp 2017-10-14T00:36:10Z pjb quit (Remote host closed the connection) 2017-10-14T00:39:44Z quazimodo quit (Read error: Connection reset by peer) 2017-10-14T00:40:42Z psilord joined #lisp 2017-10-14T00:42:16Z psilord: Hello there, I have a small question: Common Lisp Recipies basically says not to use type-of since it is inconsistent between implementations. But, if I use it like this (typep instance-of-thing (type-of instance-of-thing)) will I always get the expected T from that test? 2017-10-14T00:42:18Z quazimodo joined #lisp 2017-10-14T00:43:51Z psilord: and, if I do (typep instance-1 (type-of instance-2)) I should get T or NILL that is correct on all implementations? 2017-10-14T00:44:05Z psilord: NIL, sorry for the typo. 2017-10-14T00:44:27Z manny8888 quit (Ping timeout: 240 seconds) 2017-10-14T00:45:03Z neoncontrails quit (Ping timeout: 258 seconds) 2017-10-14T00:45:06Z psilord: The domain of the types themselves will be CLOS object type names defined with defclass. 2017-10-14T00:47:43Z Bike: if you're doing that just use class-of 2017-10-14T00:48:27Z psilord: Hrm, I believe that'll satisfy my needs. THank you! 2017-10-14T00:48:46Z Bike: no problem 2017-10-14T00:53:47Z AxelAlex joined #lisp 2017-10-14T00:58:35Z bigos quit (Ping timeout: 240 seconds) 2017-10-14T01:05:55Z iqubic quit (Remote host closed the connection) 2017-10-14T01:06:17Z Jesin joined #lisp 2017-10-14T01:06:40Z angavrilov quit (Remote host closed the connection) 2017-10-14T01:08:32Z EvW quit (Ping timeout: 255 seconds) 2017-10-14T01:12:02Z manny8888 joined #lisp 2017-10-14T01:22:30Z turkja joined #lisp 2017-10-14T01:34:07Z ult: ~.knjdsoijf~. 2017-10-14T01:36:58Z shrdlu68 quit (Ping timeout: 255 seconds) 2017-10-14T01:50:39Z d4ryus2 joined #lisp 2017-10-14T01:53:41Z d4ryus1 quit (Ping timeout: 240 seconds) 2017-10-14T01:55:05Z mson quit (Quit: Connection closed for inactivity) 2017-10-14T01:58:57Z CrazyEddy quit (Ping timeout: 240 seconds) 2017-10-14T02:03:05Z ebzzry quit (Ping timeout: 240 seconds) 2017-10-14T02:03:29