2020-08-01T00:04:34Z SenasOzys quit (Ping timeout: 256 seconds) 2020-08-01T00:07:52Z EvW1 joined #lisp 2020-08-01T00:08:00Z rumbler31 joined #lisp 2020-08-01T00:10:18Z jmarciano quit (Ping timeout: 260 seconds) 2020-08-01T00:11:23Z nirved quit (Ping timeout: 240 seconds) 2020-08-01T00:12:49Z rumbler31 quit (Ping timeout: 264 seconds) 2020-08-01T00:20:35Z ralt quit (Quit: Connection closed for inactivity) 2020-08-01T00:37:58Z torbo quit (Remote host closed the connection) 2020-08-01T00:38:30Z Lycurgus joined #lisp 2020-08-01T00:38:43Z Lycurgus quit (Remote host closed the connection) 2020-08-01T00:44:44Z terpri_ joined #lisp 2020-08-01T00:45:37Z tristero quit (Ping timeout: 246 seconds) 2020-08-01T00:47:42Z terpri quit (Ping timeout: 244 seconds) 2020-08-01T00:57:14Z __jrjsmrtn__ joined #lisp 2020-08-01T00:57:25Z _jrjsmrtn quit (Ping timeout: 240 seconds) 2020-08-01T01:07:40Z whiteline_ quit (Ping timeout: 246 seconds) 2020-08-01T01:09:53Z wxie joined #lisp 2020-08-01T01:19:23Z terpri_ is now known as terpri 2020-08-01T01:27:56Z rumbler31 joined #lisp 2020-08-01T01:32:28Z igemnace joined #lisp 2020-08-01T01:35:48Z bitmapper quit (Ping timeout: 256 seconds) 2020-08-01T01:38:53Z cosimone quit (Quit: Quit.) 2020-08-01T01:48:02Z shifty joined #lisp 2020-08-01T01:48:04Z hsaziz joined #lisp 2020-08-01T01:55:12Z borei quit (Ping timeout: 244 seconds) 2020-08-01T01:57:16Z EvW1 quit (Ping timeout: 244 seconds) 2020-08-01T01:57:37Z borei joined #lisp 2020-08-01T02:00:23Z CodeSpelunker joined #lisp 2020-08-01T02:02:38Z gaqwas quit (Remote host closed the connection) 2020-08-01T02:04:20Z CodeSpelunker quit (Read error: Connection reset by peer) 2020-08-01T02:07:13Z hsaziz quit (Quit: hsaziz) 2020-08-01T02:13:03Z orivej joined #lisp 2020-08-01T02:20:34Z aaaaaa joined #lisp 2020-08-01T02:24:22Z caltelt quit (Ping timeout: 256 seconds) 2020-08-01T02:25:05Z wxie quit (Ping timeout: 240 seconds) 2020-08-01T02:30:26Z Oladon quit (Quit: Leaving.) 2020-08-01T02:33:03Z orivej quit (Quit: No Ping reply in 180 seconds.) 2020-08-01T02:34:00Z Oladon joined #lisp 2020-08-01T02:34:13Z orivej joined #lisp 2020-08-01T02:36:46Z edgar-rft quit (Quit: Leaving) 2020-08-01T02:44:52Z lucasb quit (Quit: Connection closed for inactivity) 2020-08-01T02:48:26Z Bike quit (Quit: Lost terminal) 2020-08-01T02:56:03Z orivej quit (Quit: No Ping reply in 180 seconds.) 2020-08-01T02:57:22Z orivej joined #lisp 2020-08-01T03:02:38Z Alfr__ joined #lisp 2020-08-01T03:05:28Z Alfr_ quit (Ping timeout: 260 seconds) 2020-08-01T03:12:13Z dominic34 quit (Ping timeout: 264 seconds) 2020-08-01T03:33:11Z red-dot quit (Quit: Going offline, see ya! (www.adiirc.com)) 2020-08-01T03:39:44Z CodeSpelunker joined #lisp 2020-08-01T03:42:05Z z3t0 joined #lisp 2020-08-01T03:43:30Z Lord_of_Life_ joined #lisp 2020-08-01T03:45:25Z Lord_of_Life quit (Ping timeout: 240 seconds) 2020-08-01T03:45:25Z Lord_of_Life_ is now known as Lord_of_Life 2020-08-01T03:48:04Z CodeSpelunker quit (Quit: CodeSpelunker) 2020-08-01T03:54:28Z z3t0 quit (Ping timeout: 256 seconds) 2020-08-01T03:55:41Z igemnace quit (Ping timeout: 272 seconds) 2020-08-01T03:56:41Z dominic34 joined #lisp 2020-08-01T03:58:29Z slyrus joined #lisp 2020-08-01T03:58:30Z z3t0 joined #lisp 2020-08-01T04:01:18Z dominic34 quit (Ping timeout: 260 seconds) 2020-08-01T04:08:34Z igemnace joined #lisp 2020-08-01T04:11:05Z mindCrime quit (Ping timeout: 244 seconds) 2020-08-01T04:12:02Z shifty quit (Ping timeout: 256 seconds) 2020-08-01T04:17:34Z beach: Good morning everyone! 2020-08-01T04:23:51Z aaaaaa: beach: good morning indeed 2020-08-01T04:23:51Z mrcom quit (Read error: Connection reset by peer) 2020-08-01T04:25:50Z Alfr__ quit (Quit: Leaving) 2020-08-01T04:27:37Z mrcom joined #lisp 2020-08-01T04:29:31Z mindCrime joined #lisp 2020-08-01T04:33:58Z shangul joined #lisp 2020-08-01T04:39:51Z Fare: Good evening! 2020-08-01T04:48:45Z rumbler31 quit (Remote host closed the connection) 2020-08-01T04:49:08Z shangul: Fare, good morning :P 2020-08-01T04:49:18Z rumbler31 joined #lisp 2020-08-01T04:53:54Z rumbler31 quit (Ping timeout: 256 seconds) 2020-08-01T04:55:03Z nirved joined #lisp 2020-08-01T05:00:46Z fe[nl]ix: god morgon till alla 2020-08-01T05:02:09Z bhartrihari left #lisp 2020-08-01T05:02:14Z vegai: huomenta vain 2020-08-01T05:02:22Z bhartrihari joined #lisp 2020-08-01T05:08:33Z narimiran joined #lisp 2020-08-01T05:09:33Z bocaneri joined #lisp 2020-08-01T05:14:26Z mbrumlow quit (Ping timeout: 258 seconds) 2020-08-01T05:21:43Z bhartrihari left #lisp 2020-08-01T05:21:47Z bhartrihari joined #lisp 2020-08-01T05:32:43Z nirved quit (Ping timeout: 240 seconds) 2020-08-01T05:35:54Z gravicappa joined #lisp 2020-08-01T05:39:13Z mbrumlow joined #lisp 2020-08-01T05:41:33Z gaqwas joined #lisp 2020-08-01T05:41:33Z gaqwas quit (Changing host) 2020-08-01T05:41:33Z gaqwas joined #lisp 2020-08-01T05:44:03Z technobean joined #lisp 2020-08-01T05:45:33Z orivej_ joined #lisp 2020-08-01T05:46:02Z orivej quit (Ping timeout: 256 seconds) 2020-08-01T05:48:28Z nirved joined #lisp 2020-08-01T05:59:49Z rumbler31 joined #lisp 2020-08-01T05:59:52Z borei quit (Ping timeout: 260 seconds) 2020-08-01T06:04:15Z bsd4me quit (Quit: Leaving) 2020-08-01T06:15:11Z Oladon quit (Quit: Leaving.) 2020-08-01T06:18:39Z karlosz joined #lisp 2020-08-01T06:24:36Z penguwin quit (Quit: Ping timeout (120 seconds)) 2020-08-01T06:25:14Z penguwin joined #lisp 2020-08-01T06:27:38Z jariyah joined #lisp 2020-08-01T06:30:43Z orivej joined #lisp 2020-08-01T06:30:49Z orivej_ quit (Ping timeout: 264 seconds) 2020-08-01T06:34:56Z Alfr joined #lisp 2020-08-01T06:44:48Z narimiran quit (Quit: leaving) 2020-08-01T06:49:59Z treflip joined #lisp 2020-08-01T06:57:38Z phoe: dzień dobry 2020-08-01T06:59:09Z treflip: доброе утро 2020-08-01T07:02:21Z Inline joined #lisp 2020-08-01T07:04:48Z Inline quit (Remote host closed the connection) 2020-08-01T07:07:49Z Fare: bonjour 2020-08-01T07:09:48Z Inline joined #lisp 2020-08-01T07:11:46Z TMA: dobré ráno 2020-08-01T07:12:26Z SenasOzys joined #lisp 2020-08-01T07:14:34Z iissaacc joined #lisp 2020-08-01T07:15:12Z mangul joined #lisp 2020-08-01T07:17:46Z shangul quit (Ping timeout: 260 seconds) 2020-08-01T07:20:34Z beach: Let me say this again: If y'all are bored, I can give you some SICL-related tasks to accomplish. 2020-08-01T07:30:02Z _whitelogger quit (Remote host closed the connection) 2020-08-01T07:31:05Z whiteline_ joined #lisp 2020-08-01T07:31:53Z oxum joined #lisp 2020-08-01T07:32:13Z _whitelogger joined #lisp 2020-08-01T07:35:06Z contrapunctus: beach: silence 😆 2020-08-01T07:37:13Z bhartrihari left #lisp 2020-08-01T07:39:07Z beach: Yeah, interesting. 2020-08-01T07:41:55Z contrapunctus: I'd try, but I know neither compilers nor as much CL as I'd like. Instead, I'm trying to design a set of malleable programs, exploring at least CL (+ CLIM) and Smalltalk as solutions. 2020-08-01T07:42:54Z beach: Good. CLIM/McCLIM is an essential part of what I want to see in the future. 2020-08-01T07:45:16Z treflip quit (Quit: WeeChat 2.6) 2020-08-01T07:45:21Z gaqwas quit (Remote host closed the connection) 2020-08-01T07:45:30Z treflip joined #lisp 2020-08-01T07:46:28Z pve joined #lisp 2020-08-01T07:57:05Z orivej quit (Ping timeout: 240 seconds) 2020-08-01T07:57:52Z orivej joined #lisp 2020-08-01T08:00:24Z Lycurgus joined #lisp 2020-08-01T08:04:50Z oxum quit (Remote host closed the connection) 2020-08-01T08:05:23Z oxum joined #lisp 2020-08-01T08:06:54Z gaqwas joined #lisp 2020-08-01T08:06:54Z gaqwas quit (Changing host) 2020-08-01T08:06:54Z gaqwas joined #lisp 2020-08-01T08:09:47Z oxum quit (Ping timeout: 240 seconds) 2020-08-01T08:17:14Z rwcom34174911642 joined #lisp 2020-08-01T08:23:47Z mindCrime quit (Ping timeout: 240 seconds) 2020-08-01T08:23:48Z Bourne joined #lisp 2020-08-01T08:24:41Z karlosz quit (Quit: karlosz) 2020-08-01T08:37:05Z jariyah quit (Quit: Connection closed for inactivity) 2020-08-01T08:37:29Z aaaaaa quit (Quit: leaving) 2020-08-01T08:40:41Z oxum joined #lisp 2020-08-01T08:45:45Z iissaacc quit (Ping timeout: 240 seconds) 2020-08-01T08:46:58Z wxie joined #lisp 2020-08-01T08:47:23Z Bourne quit (Ping timeout: 240 seconds) 2020-08-01T08:47:38Z rgherdt joined #lisp 2020-08-01T08:49:06Z oxum quit (Ping timeout: 265 seconds) 2020-08-01T08:51:12Z karlosz joined #lisp 2020-08-01T08:58:59Z wxie quit (Ping timeout: 240 seconds) 2020-08-01T09:07:25Z orivej quit (Ping timeout: 264 seconds) 2020-08-01T09:07:34Z orivej_ joined #lisp 2020-08-01T09:15:18Z shifty joined #lisp 2020-08-01T09:18:01Z karlosz quit (Quit: karlosz) 2020-08-01T09:20:11Z oxum joined #lisp 2020-08-01T09:21:10Z rwcom34174911642 quit (Ping timeout: 246 seconds) 2020-08-01T09:22:20Z beach: Actually, I do have a task for someone who would be interested in contributing to the SICL project. The FORMAT module is one of the first modules I wrote, and it is not particularly coupled to the rest of SICL, so it could be extracted to a separate repository. There are a few directives missing, so those are additional tasks to work on. 2020-08-01T09:22:21Z beach: And the directive interpreter exists, but the directive compiler should be written at some point. The current (huge) file format.lisp should be split up into several smaller files, probably with the code for one directive in each file. And a test suite is needed, probably mostly taken from the ANSI test suite I would imagine. 2020-08-01T09:23:41Z Lycurgus quit (Remote host closed the connection) 2020-08-01T09:23:59Z beach: Two systems should be supplied, one for "intrinsic" use, i.e. in a system that does not already have FORMAT, and one for "extrinsic" use, i.e. for testing in a system that has FORMAT that we don't want to clobber. Each system should have an appropriate package definition. 2020-08-01T09:24:05Z iissaacc joined #lisp 2020-08-01T09:24:23Z nirved quit (Ping timeout: 240 seconds) 2020-08-01T09:24:59Z beach: It would be possible for a relative newbie to take on this task, in which case, guidance will be provided. 2020-08-01T09:25:49Z nirved joined #lisp 2020-08-01T09:26:37Z bhartrihari joined #lisp 2020-08-01T09:27:47Z Bourne joined #lisp 2020-08-01T09:36:13Z v88m quit (Ping timeout: 264 seconds) 2020-08-01T09:36:42Z oxum quit (Remote host closed the connection) 2020-08-01T09:45:51Z rixard_ quit 2020-08-01T09:47:27Z jonatack quit (Quit: jonatack) 2020-08-01T09:52:45Z Ven`` joined #lisp 2020-08-01T09:54:05Z Bourne quit (Ping timeout: 240 seconds) 2020-08-01T10:00:22Z Bourne joined #lisp 2020-08-01T10:04:38Z jonatack joined #lisp 2020-08-01T10:07:50Z iissaacc quit (Ping timeout: 256 seconds) 2020-08-01T10:10:05Z orivej_ quit (Ping timeout: 240 seconds) 2020-08-01T10:10:42Z orivej joined #lisp 2020-08-01T10:12:02Z iissaacc joined #lisp 2020-08-01T10:13:14Z mangul quit (Ping timeout: 260 seconds) 2020-08-01T10:17:08Z iissaacc quit (Ping timeout: 256 seconds) 2020-08-01T10:21:37Z seok joined #lisp 2020-08-01T10:24:18Z Bourne quit (Remote host closed the connection) 2020-08-01T10:25:18Z rixard joined #lisp 2020-08-01T10:27:18Z iissaacc joined #lisp 2020-08-01T10:28:28Z random-nick joined #lisp 2020-08-01T10:28:31Z Bourne joined #lisp 2020-08-01T10:28:34Z Bourne quit (Remote host closed the connection) 2020-08-01T10:31:21Z Bourne joined #lisp 2020-08-01T10:34:01Z gaqwas quit (Remote host closed the connection) 2020-08-01T10:34:42Z orivej quit (Ping timeout: 260 seconds) 2020-08-01T10:34:53Z orivej joined #lisp 2020-08-01T10:42:45Z igemnace quit (Remote host closed the connection) 2020-08-01T10:46:45Z wxie joined #lisp 2020-08-01T10:55:32Z space_otter quit (Remote host closed the connection) 2020-08-01T10:56:56Z gaqwas joined #lisp 2020-08-01T10:58:31Z Codaraxis__ joined #lisp 2020-08-01T11:01:23Z jackdaniel quit (Remote host closed the connection) 2020-08-01T11:02:30Z Codaraxis_ quit (Ping timeout: 265 seconds) 2020-08-01T11:02:42Z wxie quit (Ping timeout: 260 seconds) 2020-08-01T11:11:11Z karlosz joined #lisp 2020-08-01T11:11:43Z edgar-rft joined #lisp 2020-08-01T11:13:13Z ayuce joined #lisp 2020-08-01T11:17:46Z shangul joined #lisp 2020-08-01T11:21:14Z gaqwas quit (Remote host closed the connection) 2020-08-01T11:27:01Z karlosz quit (Quit: karlosz) 2020-08-01T11:35:42Z Codaraxis__ quit (Remote host closed the connection) 2020-08-01T11:37:22Z shifty quit (Ping timeout: 256 seconds) 2020-08-01T11:37:56Z shifty joined #lisp 2020-08-01T11:41:38Z karlosz joined #lisp 2020-08-01T11:43:17Z iissaacc quit (Remote host closed the connection) 2020-08-01T11:43:34Z ggole joined #lisp 2020-08-01T11:43:36Z iissaacc joined #lisp 2020-08-01T11:54:34Z oxum joined #lisp 2020-08-01T11:58:34Z karlosz quit (Quit: karlosz) 2020-08-01T12:05:02Z ajithmk joined #lisp 2020-08-01T12:18:17Z treflip quit (Quit: WeeChat 2.6) 2020-08-01T12:24:13Z v0|d quit (Ping timeout: 246 seconds) 2020-08-01T12:28:45Z gko_ joined #lisp 2020-08-01T12:34:05Z EvW joined #lisp 2020-08-01T12:35:37Z jackdaniel joined #lisp 2020-08-01T12:35:45Z jackdaniel: #/j #ecl 2020-08-01T12:37:36Z FennecCode quit (Ping timeout: 244 seconds) 2020-08-01T12:37:44Z renzhi joined #lisp 2020-08-01T12:38:43Z phoe: ;; debugger invoked on a SB-INT:SIMPLE-READER-ERROR: no dispatch function defined for #\/ 2020-08-01T12:39:25Z orivej quit (Ping timeout: 240 seconds) 2020-08-01T12:40:03Z orivej joined #lisp 2020-08-01T12:43:25Z Inline quit (Ping timeout: 240 seconds) 2020-08-01T12:44:52Z bhartrihari left #lisp 2020-08-01T12:48:30Z liberliver joined #lisp 2020-08-01T12:49:58Z lisp373 joined #lisp 2020-08-01T12:50:59Z orivej quit (Ping timeout: 240 seconds) 2020-08-01T12:51:08Z Inline joined #lisp 2020-08-01T12:51:25Z lisp373: Hey guys, is there a way to undefine a method? I get the "attempt to add the method ... but the method and generic function differ in whether they accept" error 2020-08-01T12:52:05Z beach: mop remove-method 2020-08-01T12:52:05Z specbot: http://metamodular.com/CLOS-MOP/remove-method.html 2020-08-01T12:52:28Z phoe: lisp373: or (fmakunbound #'foo) for the nuclear version 2020-08-01T12:52:31Z Inline: welp, is it added when it errors out before ? 2020-08-01T12:52:49Z phoe: I usually do the nuclear version because it's faster 2020-08-01T12:52:59Z phoe: this nukes the whole generic function. 2020-08-01T12:53:13Z beach: lisp373: It is unlikely that the method was added if you get that error. 2020-08-01T12:53:13Z Inline: and what about the machine memory thereof ? 2020-08-01T12:53:20Z Inline: does it need gc too ? 2020-08-01T12:53:23Z phoe: what do you mean, machine memory 2020-08-01T12:53:24Z rgherdt left #lisp 2020-08-01T12:53:31Z phoe: GFs are collected just like everything else 2020-08-01T12:53:43Z rgherdt joined #lisp 2020-08-01T12:53:50Z rgherdt left #lisp 2020-08-01T12:57:59Z FennecCode joined #lisp 2020-08-01T12:59:57Z lisp373: phoe: (fmakunbound 'foo) worked, thanks man 2020-08-01T13:00:27Z lisp373: beach: methinks it was though 2020-08-01T13:00:41Z beach: I see. Strange. 2020-08-01T13:00:46Z beach: What implementation? 2020-08-01T13:00:55Z lisp373: sbcl 2020-08-01T13:01:13Z beach: Hmm. 2020-08-01T13:01:38Z lisp373: it's when i change the argument list that I get this error 2020-08-01T13:02:02Z beach: I see. Yes, that I can imagine. 2020-08-01T13:02:05Z phoe: oh, right, (defgeneric foo ()) (defmethod foo (&key x)) is going to error on DEFMETHOD 2020-08-01T13:02:08Z phoe: and then the method is not added 2020-08-01T13:02:38Z beach: Right, but what if the generic function is reinitialized with a different argument list. 2020-08-01T13:03:14Z pve: lisp373: the generic function was surely created, but probably not the method 2020-08-01T13:03:23Z phoe: that's going to signal an error if methods were already added to it 2020-08-01T13:03:27Z phoe: otherwise it'll work 2020-08-01T13:04:23Z lisp373: phoe: Ok, yeah, I see 2020-08-01T13:04:55Z lisp373: i mean pve: 2020-08-01T13:05:25Z lisp373: i mean you guys are all wonderful 2020-08-01T13:05:30Z phoe: lisp373: <3 2020-08-01T13:05:38Z lisp373: : ) 2020-08-01T13:05:49Z jariyah joined #lisp 2020-08-01T13:07:27Z EvW quit (Ping timeout: 260 seconds) 2020-08-01T13:14:30Z gravicappa quit (Ping timeout: 256 seconds) 2020-08-01T13:19:45Z _death: it's easy to find and remove a method using the slime inspector 2020-08-01T13:22:03Z Bourne quit (Remote host closed the connection) 2020-08-01T13:29:14Z iissaacc quit (Ping timeout: 256 seconds) 2020-08-01T13:38:34Z lucasb joined #lisp 2020-08-01T13:45:57Z toorevitimirp joined #lisp 2020-08-01T13:48:43Z toorevitimirp quit (Remote host closed the connection) 2020-08-01T13:49:28Z toorevitimirp joined #lisp 2020-08-01T13:53:06Z puchacz joined #lisp 2020-08-01T13:53:38Z puchacz: hi, has anybody tried sly as slime replacement? and is happy with it? 2020-08-01T13:53:48Z phoe: yes, I know multiple success stories 2020-08-01T13:54:10Z puchacz: I am happy with slime, but as usual - maybe I am missing something I don't even know about 2020-08-01T13:54:34Z phoe: I know that mfiano uses it; I'm a slime user myself 2020-08-01T13:55:09Z ssake quit (Ping timeout: 246 seconds) 2020-08-01T13:55:47Z contrapunctus: New to CL...not a fan of how the number for ABORT* changes in different situations. I'd rather have numbers for common restarts in the beginning 🤔 2020-08-01T13:56:03Z contrapunctus: (Oh, and using SLIME) 2020-08-01T13:56:03Z ssake joined #lisp 2020-08-01T13:56:16Z phoe: contrapunctus: multiple ABORT restarts may mean different things, that's why there's multiple 2020-08-01T13:56:29Z beach: We need a revised standard. 2020-08-01T13:56:49Z toorevitimirp quit (Read error: Connection reset by peer) 2020-08-01T13:57:01Z bitmapper joined #lisp 2020-08-01T13:57:05Z toorevitimirp joined #lisp 2020-08-01T13:57:13Z _Posterdati_ quit (Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/) 2020-08-01T13:57:15Z bhartrihari joined #lisp 2020-08-01T13:57:23Z phoe: beach: I know you're jaded, but that comment actually brings nothing to the discussion 2020-08-01T13:57:49Z contrapunctus: beach: some were actually discussing that in ##lisp the other day 2020-08-01T13:58:44Z contrapunctus: I mentioned CL21, so some CL users said that the changes they want can't be made as libraries. So I suggested making a revised community standard. 2020-08-01T13:58:50Z beach: phoe: I'll be quiet. 2020-08-01T13:59:07Z phoe: that's been suggested countless times now and the main issue is twofold 2020-08-01T13:59:27Z phoe: 1) someone needs to actually go and do that, and these people are either gonna be volunteers or someone finds a funding source 2020-08-01T13:59:40Z phoe: 2) someone needs to actually go and have implementers adopt it, and these people are either gonna be volunteers or someone finds a funding source 2020-08-01T13:59:48Z phoe: issue number 1 is hard 2020-08-01T13:59:50Z phoe: and issue number 2 is much much harder 2020-08-01T14:00:13Z beach: phoe: You forget that those people have to be competent in language design and compiler design. 2020-08-01T14:01:14Z phoe: yes, that's a part of issue 1) being hard. 2020-08-01T14:02:31Z phoe: but then again, we're talking about a new one whereas the old one is still heavily unmaintained and there's no good user-facing CL documentation that isn't a book or the good ol' CLHS that is not meant to be user-facing documentation 2020-08-01T14:02:46Z phoe: I hope to bring CLUS back from the dead soon and work on fixing this a wee bit 2020-08-01T14:03:28Z beach: Great! 2020-08-01T14:03:31Z phoe: once we have that, we can create a separate version that is not *the* specification but is actually useful because it contains better examples and bugfixes and what not, and then implement WSCL on top of that 2020-08-01T14:03:42Z contrapunctus: WSCL? 2020-08-01T14:03:47Z phoe: Well-Specified Common Lisp 2020-08-01T14:03:50Z beach: phoe: I agree. 2020-08-01T14:03:52Z contrapunctus: lol 2020-08-01T14:03:55Z phoe: basically a series of further constraints on ANSI CL 2020-08-01T14:04:01Z Posterdati joined #lisp 2020-08-01T14:04:02Z beach: contrapunctus: It is not a joke. 2020-08-01T14:04:03Z phoe: which leaves a lot of stuff undefined. 2020-08-01T14:04:09Z contrapunctus: Oh. 2020-08-01T14:04:11Z phoe: and these should be meaningful errors instead 2020-08-01T14:04:49Z phoe: and then, only then, when we have a good and nice stable base, we can possibly think of making an unstable branch of Common Lisp that's called Uncommon Lisp or whatever that can then be a place for further language evolution and experimentation 2020-08-01T14:05:04Z contrapunctus: I figured the actual hard part would be getting people to agree on the changes. 2020-08-01T14:05:05Z phoe: but that's a vision that'll take at least a few years of work to happen 2020-08-01T14:05:10Z phoe: oh, yes, herding lispers, too 2020-08-01T14:05:15Z beach: contrapunctus: https://github.com/robert-strandh/Well-Specified-Common-Lisp 2020-08-01T14:05:32Z phoe: it is a task so impossible that the only viable strategy is to get no one to agree and just do the changes oneself 2020-08-01T14:05:53Z phoe: that's why we have UIOP:QUIT, the only reasonably standardized and ubiquitous way of quitting a Lisp image 2020-08-01T14:05:57Z beach: contrapunctus: I don't think it will be hard to get them to agree on WSCL, because the changes suggested are already implemented in most implementations. 2020-08-01T14:05:59Z puchacz: phoe: as a matter of naming, there was/is an Uncommon Lisp library - a web thing that uses continuations in an interpreted subset of Common Lisp.... so here you go, Common Lisp extended 2020-08-01T14:06:19Z phoe: puchacz: https://github.com/jacobrec/uncommon-lisp oh snap 2020-08-01T14:07:17Z puchacz: sorry, it was uncommon web: https://common-lisp.net/project/ucw/ 2020-08-01T14:07:34Z technobean quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-08-01T14:08:09Z contrapunctus: beach: that's great, and I'm sure it meets the needs of at least some users if it was implemented and you were motivated to specify it. But the fact that it's already implemented means it is by definition not something that those people wanted...so there's room for more 🙂 2020-08-01T14:08:17Z beach: contrapunctus: But, since you are "new to CL", you don't know that this issue is being discussed roughly once a month or so, typically suggested by people who have absolutely no idea why Common Lisp was created the way it was, no idea what any of their suggested changes would have as consequences to the ability to compile the language, etc. 2020-08-01T14:08:36Z phoe: contrapunctus: WSCL is actually already implemented a real lot, like, implementations do common sane things in many of these cases 2020-08-01T14:08:46Z contrapunctus: beach: oh, I'm not suggesting any changes myself. It was some folks who were more experienced than me. 2020-08-01T14:08:48Z phoe: a big chunk of the work is just codifying the status quo. 2020-08-01T14:09:58Z contrapunctus: Oh, they're present here too. I could ping them, if you want. 2020-08-01T14:10:04Z beach: contrapunctus: So the essence of my counter argument is that most people use languages on a daily basis that don't even HAVE a standard. So why do they suddenly want every feature to be standardized for Common Lisp. Why not use a library that is widely agreed upon? 2020-08-01T14:10:11Z phoe: I don't think it's this necessary 2020-08-01T14:10:17Z phoe: I mean, pinging them 2020-08-01T14:10:29Z contrapunctus: phoe: okay, I won't. 2020-08-01T14:11:01Z phoe: I mean, cl21 is one such library 2020-08-01T14:11:03Z beach: contrapunctus: Maybe it's not clear, but this issue is being discussed over and over again. All the experienced people here already know all the issues and have their ideas about them. 2020-08-01T14:11:05Z contrapunctus: beach: they said these can't be implemented as a library. 2020-08-01T14:11:37Z bitmapper: i mean, of course it can 2020-08-01T14:11:41Z phoe: and cl21 was abandoned and also contained somewhat terrible code 2020-08-01T14:12:19Z beach: contrapunctus: And how would changing the standard magically make it happen? 2020-08-01T14:12:47Z beach: I should stop. I am really not interested in participating in this discussion again today. 2020-08-01T14:13:16Z scymtym: contrapunctus: the SLIME debugger mode (sldb-mode) has keybindings for certain restarts: q - quit, a - abort, c - continue (press C-h m in the debugger buffer to see all) 2020-08-01T14:14:09Z wsinatra joined #lisp 2020-08-01T14:14:24Z toorevitimirp quit (Ping timeout: 256 seconds) 2020-08-01T14:14:25Z phoe: the way forward is simple: grab your favorite Common Lisp implementation and hit it with a hammer until it behaves in this new way you'd like it to behave in 2020-08-01T14:14:26Z contrapunctus: scymtym: oh, thanks! 2020-08-01T14:14:32Z scymtym: sure 2020-08-01T14:14:35Z phoe: voila, you've created an implementation of a new Lisp dialect 2020-08-01T14:15:45Z phoe: in particular the ANSI CL standard was created because there was a lot to standardize 2020-08-01T14:16:39Z phoe: nowadays perhaps it's a similar situation, with threads, networking, GC/weakness, MOP, Gray streams being ubiquitous everywhere and standardized in a de-facto way via portability libraries 2020-08-01T14:16:53Z phoe: but then again, portability libraries are *all* libraries by definition 2020-08-01T14:19:24Z wsinatra quit (Quit: WeeChat 2.9) 2020-08-01T14:22:45Z retropikzel joined #lisp 2020-08-01T14:25:53Z _death: many of these are immature or lacking, so we're better off without them being standardized for the moment 2020-08-01T14:25:58Z beach: phoe: A long time ago, I had plans to write a Common Lisp reference. Now I think such a thing would be better suited for a web site. 2020-08-01T14:26:45Z terpri_ joined #lisp 2020-08-01T14:26:45Z beach: phoe: Such a thing would a user-facing document covering the entire language. 2020-08-01T14:27:26Z phoe: beach: that's what I want UltraSpec to be in the end 2020-08-01T14:27:34Z beach: Oh, OK. 2020-08-01T14:27:52Z phoe: one thing is a modernized version of the language specification as-is without any fixes 2020-08-01T14:28:00Z phoe: another thing is a user-facing set of documentation describing the whole language with fixes to the text and examples and such 2020-08-01T14:28:06Z phoe: the latter depends on the former, obviously 2020-08-01T14:28:18Z phoe: but that's one thing that the CL ecosystem currently lacks 2020-08-01T14:28:22Z beach: Would you then separate the "specification" part from the "reference" part, or would it be just the reference? 2020-08-01T14:28:54Z phoe: I'd keep the two separate, because some people (most importantly, implementers) will ask the question "what does the specifiaction say?" whereas other people (most importantly, programmers) will ask "how does it work?" 2020-08-01T14:29:02Z beach: I agree. 2020-08-01T14:29:23Z beach: And the reference would obviously refer to the specification for the "truth". 2020-08-01T14:29:34Z phoe: yes 2020-08-01T14:29:40Z lisp373 quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) 2020-08-01T14:29:42Z terpri quit (Ping timeout: 260 seconds) 2020-08-01T14:29:54Z phoe: someone suggested some system of comments "over" the original specification that can highlight the issues found with the original text 2020-08-01T14:30:00Z phoe: e.g. the famous PROG2 2020-08-01T14:30:08Z beach: Sure. 2020-08-01T14:30:18Z phoe: that's one more idea I'd like to someday implement. 2020-08-01T14:31:13Z beach: Such a reference would need an entry for almost each operator, class, type, etc. in the specification, but the language would be much more helpful to a user. 2020-08-01T14:31:35Z beach: So one way of starting such a reference would be to solicit contributions in the form of individual entries. 2020-08-01T14:31:51Z phoe: yes 2020-08-01T14:32:15Z contrapunctus left #lisp 2020-08-01T14:32:23Z phoe: once the original specification is wrapped into these new clothes, then contributions will be easy 2020-08-01T14:32:27Z contrapunctus joined #lisp 2020-08-01T14:32:32Z beach: Indeed. 2020-08-01T14:32:40Z phoe: the main pain is converting dpANS3 into some lispy format and then presenting this lispy format in some sane way. 2020-08-01T14:32:47Z phoe: we'll see 2020-08-01T14:32:54Z phoe afk for groceries 2020-08-01T14:32:57Z oxum quit (Quit: Leaving...) 2020-08-01T14:33:00Z beach: Yeah, I know. That has been a problem from the beginning. 2020-08-01T14:33:01Z contrapunctus left #lisp 2020-08-01T14:33:03Z Lycurgus joined #lisp 2020-08-01T14:33:12Z beach: phoe: Take care. 2020-08-01T14:33:29Z phoe: perhaps this time we'll succeed 2020-08-01T14:33:37Z phoe: AsTeR has a TeX→Lisp parser of some sort 2020-08-01T14:33:41Z phoe: I've already mentioned it earlier 2020-08-01T14:33:49Z beach: Yeah, I seem to recall that. 2020-08-01T14:33:51Z phoe: I'll want to refactor it and then plug dpANS3 into it and see what comesout 2020-08-01T14:34:00Z contrapunctus joined #lisp 2020-08-01T14:37:09Z Lycurgus: the bruise blood i bet 2020-08-01T14:39:56Z toorevitimirp joined #lisp 2020-08-01T14:40:46Z VincentVega joined #lisp 2020-08-01T14:42:52Z toorevitimirp quit (Client Quit) 2020-08-01T14:44:47Z ajithmk quit (Quit: Connection closed for inactivity) 2020-08-01T14:47:19Z caltelt joined #lisp 2020-08-01T14:48:49Z toorevitimirp joined #lisp 2020-08-01T14:48:59Z xrash quit (Ping timeout: 240 seconds) 2020-08-01T14:56:37Z Ven`` quit (Quit: Textual IRC Client: www.textualapp.com) 2020-08-01T14:57:29Z bsd4me joined #lisp 2020-08-01T15:01:14Z gaqwas joined #lisp 2020-08-01T15:01:15Z gaqwas quit (Changing host) 2020-08-01T15:01:15Z gaqwas joined #lisp 2020-08-01T15:04:08Z gaqwas quit (Remote host closed the connection) 2020-08-01T15:05:24Z cosimone joined #lisp 2020-08-01T15:08:00Z gaqwas joined #lisp 2020-08-01T15:08:56Z gaqwas quit (Remote host closed the connection) 2020-08-01T15:11:44Z VincentVega quit (Remote host closed the connection) 2020-08-01T15:12:48Z gaqwas joined #lisp 2020-08-01T15:12:49Z gaqwas quit (Changing host) 2020-08-01T15:12:49Z gaqwas joined #lisp 2020-08-01T15:17:24Z ajithmk joined #lisp 2020-08-01T15:21:11Z bhartrihari left #lisp 2020-08-01T15:21:39Z bhartrihari joined #lisp 2020-08-01T15:23:18Z treflip joined #lisp 2020-08-01T15:23:25Z gko_ quit (Ping timeout: 240 seconds) 2020-08-01T15:25:46Z X-Scale` joined #lisp 2020-08-01T15:26:50Z X-Scale quit (Ping timeout: 260 seconds) 2020-08-01T15:26:51Z X-Scale` is now known as X-Scale 2020-08-01T15:35:24Z jariyah quit (Quit: Connection closed for inactivity) 2020-08-01T15:37:19Z phoe: bruise what 2020-08-01T15:37:51Z orivej joined #lisp 2020-08-01T15:42:08Z Lycurgus: https://www.youtube.com/watch?v=g0WVh1D0N50 2020-08-01T15:42:14Z terpri_ is now known as terpri 2020-08-01T15:42:44Z random-nick quit (Ping timeout: 256 seconds) 2020-08-01T15:43:05Z Lord_of_Life_ joined #lisp 2020-08-01T15:45:41Z bhartrihari left #lisp 2020-08-01T15:46:05Z Lord_of_Life quit (Ping timeout: 240 seconds) 2020-08-01T15:46:14Z Lord_of_Life_ is now known as Lord_of_Life 2020-08-01T15:46:32Z bhartrihari joined #lisp 2020-08-01T15:47:06Z Lycurgus quit (Remote host closed the connection) 2020-08-01T15:49:12Z shifty quit (Ping timeout: 256 seconds) 2020-08-01T15:55:17Z random-nick joined #lisp 2020-08-01T16:01:24Z CodeSpelunker joined #lisp 2020-08-01T16:02:27Z hiroaki joined #lisp 2020-08-01T16:17:55Z gko_ joined #lisp 2020-08-01T16:20:22Z toorevitimirp quit (Ping timeout: 256 seconds) 2020-08-01T16:32:41Z orivej quit (Quit: No Ping reply in 180 seconds.) 2020-08-01T16:34:02Z orivej joined #lisp 2020-08-01T16:42:42Z orivej_ joined #lisp 2020-08-01T16:42:46Z orivej quit (Ping timeout: 265 seconds) 2020-08-01T16:44:22Z bhartrihari left #lisp 2020-08-01T16:44:33Z bhartrihari joined #lisp 2020-08-01T16:48:33Z puchacz quit (Remote host closed the connection) 2020-08-01T16:49:26Z CodeSpelunker quit (Quit: CodeSpelunker) 2020-08-01T16:49:44Z bhartrihari left #lisp 2020-08-01T16:50:15Z hiroaki quit (Ping timeout: 272 seconds) 2020-08-01T16:51:10Z hiroaki joined #lisp 2020-08-01T16:52:50Z bhartrihari joined #lisp 2020-08-01T16:53:19Z random-nick quit (Quit: quit) 2020-08-01T16:54:35Z v88m joined #lisp 2020-08-01T16:55:29Z random-nick joined #lisp 2020-08-01T16:56:35Z orivej_ quit (Ping timeout: 240 seconds) 2020-08-01T16:57:21Z orivej joined #lisp 2020-08-01T16:58:10Z cosimone quit (Quit: Quit.) 2020-08-01T16:58:44Z shidima joined #lisp 2020-08-01T17:07:04Z dominic34 joined #lisp 2020-08-01T17:07:45Z Inline quit (Ping timeout: 240 seconds) 2020-08-01T17:15:56Z guicho joined #lisp 2020-08-01T17:17:47Z mangul joined #lisp 2020-08-01T17:20:28Z shangul quit (Ping timeout: 265 seconds) 2020-08-01T17:22:57Z hiroaki quit (Ping timeout: 260 seconds) 2020-08-01T17:24:54Z trystero joined #lisp 2020-08-01T17:26:41Z guicho left #lisp 2020-08-01T17:29:56Z hendursaga joined #lisp 2020-08-01T17:32:19Z cosimone joined #lisp 2020-08-01T17:40:41Z mfiano: phoe: Did you figure out what you're going to do regarding the depressing situation? 2020-08-01T17:43:30Z phoe: mfiano: yes 2020-08-01T17:43:44Z phoe: re-reading kmp's words a few times helped 2020-08-01T17:44:19Z phoe: the spec is owned by the community, ANSI CL is a derivative work of it, so is CLHS, so is Franz spec 2020-08-01T17:44:22Z phoe: so we're free to go 2020-08-01T17:45:45Z OpenZen joined #lisp 2020-08-01T17:45:53Z mfiano: So that free standard thing was wrong? 2020-08-01T17:46:53Z phoe: it wasn't wrong, the copyright status of dpANS3 is highly dubious, because it's impossible to assert with 100% certainity that we get permission from *everyone* who participated in the discussion 2020-08-01T17:46:57Z mfiano: It mentioned something along the lines of dPANS never making it to the public domain, and explicit permission from the contributors must be obtained for derivative works. 2020-08-01T17:47:54Z phoe: https://groups.google.com/g/comp.lang.lisp/c/VixKeW4KxOo/m/6CxOo4_1KFgJ 2020-08-01T17:48:15Z bsd4me left #lisp 2020-08-01T17:49:22Z mfiano: That KMP post is saying the same thing I gathered: it's unclear what would happen. 2020-08-01T17:49:24Z phoe: the thing is that I think I can depend on kmp's intuition on the matter and go full "it's free real estate" on dpANS3 2020-08-01T17:49:51Z phoe: it seems it's highly unlikely anyone will care enough to sue. 2020-08-01T17:49:55Z phoe: also, it's the only real optionh ere 2020-08-01T17:50:16Z phoe: because the other option is literally writing a new specification from scratch that does not depend in *ANY* way on dpANS or ANSI CL 2020-08-01T17:50:47Z phoe: which will then be mistrusted, because it's not *the* spec or *the* standard that everyone's been following for decades. 2020-08-01T17:51:31Z mfiano: Not saying anyone would get sued, but if it does happen, that could be very damaging to a single user without the funds for a good lawyer. 2020-08-01T17:51:50Z jackdaniel: wasn't the last draft published precisely for sake of avoiding the copyright drama? 2020-08-01T17:51:51Z phoe: and anyway people will go "but what does The Spec™ say" which will cross-pollinate with the new document anyway, casting more legal shadow on the new spec anyway. 2020-08-01T17:51:56Z orivej quit (Ping timeout: 256 seconds) 2020-08-01T17:52:00Z jackdaniel: I mean - courts are not blind to the /intention/ 2020-08-01T17:52:01Z orivej_ joined #lisp 2020-08-01T17:52:03Z phoe: jackdaniel: that's the issue, no one can say for sure 2020-08-01T17:52:11Z phoe: so I see three options here 2020-08-01T17:52:18Z phoe: 1) derive from dpANS3\ 2020-08-01T17:52:24Z phoe: 2) write a brand new specification 2020-08-01T17:52:44Z phoe: 3) proclaim CLUS dead 2020-08-01T17:53:03Z phoe: and considering option number three makes me real annoyed 2020-08-01T17:53:07Z mfiano: 4) Write a reference for _developers_ that cites the spec where needed 2020-08-01T17:53:32Z phoe: that works too, I guess 2020-08-01T17:53:48Z jackdaniel: I don't see how dpans is related to clus 2020-08-01T17:54:11Z phoe: CLUS was originally an idea of reformatting the specification and integrating errata into it 2020-08-01T17:54:13Z mfiano: I believe phoe wants to separate the spec from the reference for CLUS, modernizing the spec with fancy HTML and fixups 2020-08-01T17:54:24Z phoe: then the idea was split into--- yes, what mfiano said 2020-08-01T17:54:28Z mfiano: reference would be a separate thing, but spec would e a derivative of dpANS 2020-08-01T17:54:55Z phoe: the language reference is doable mostly from scratch, sure thing, but the spec is the spec 2020-08-01T18:04:20Z jackdaniel: I'd just take dpans3 and assume it is public domain, splitting a hair in four will lead you to nowhere 2020-08-01T18:05:06Z jackdaniel: if you are not going to commercialize it, then it may be even in fair use territory 2020-08-01T18:05:17Z mfiano: Regardless, I think one of the contributors would have sent a cease and desist letter at some point to the many distributors of the dpANS documents if it was indeed an issue. 2020-08-01T18:06:01Z phoe: that's one more optimistic thing, right 2020-08-01T18:07:13Z gaqwas quit (Ping timeout: 246 seconds) 2020-08-01T18:14:55Z rumbler31 quit (Ping timeout: 246 seconds) 2020-08-01T18:15:49Z orivej_ quit (Ping timeout: 264 seconds) 2020-08-01T18:16:10Z orivej joined #lisp 2020-08-01T18:20:58Z treflip quit (Quit: WeeChat 2.6) 2020-08-01T18:30:28Z shidima quit (Ping timeout: 256 seconds) 2020-08-01T18:30:49Z vegai quit (Ping timeout: 264 seconds) 2020-08-01T18:31:02Z ineiros quit (Ping timeout: 265 seconds) 2020-08-01T18:32:28Z cosimone quit (Quit: Quit.) 2020-08-01T18:33:48Z bhartrihari left #lisp 2020-08-01T18:34:00Z bhartrihari joined #lisp 2020-08-01T18:34:39Z hiroaki joined #lisp 2020-08-01T18:34:53Z jw4 quit (Read error: Connection reset by peer) 2020-08-01T18:36:15Z jw4 joined #lisp 2020-08-01T18:39:05Z Fare quit (Ping timeout: 244 seconds) 2020-08-01T18:39:37Z jw4 quit (Read error: Connection reset by peer) 2020-08-01T18:40:18Z jw4 joined #lisp 2020-08-01T18:43:04Z jw4 quit (Read error: Connection reset by peer) 2020-08-01T18:44:25Z jw4 joined #lisp 2020-08-01T18:51:03Z narimiran joined #lisp 2020-08-01T18:54:49Z orivej quit (Ping timeout: 264 seconds) 2020-08-01T18:54:51Z orivej_ joined #lisp 2020-08-01T18:56:55Z shifty joined #lisp 2020-08-01T18:58:07Z aeth: imo CL21 failed because it (1) was too radical (and a lot of it looked different just for the sake of being different), (2) was one person's tastes (not really consensus-based afaik), (3) oversold itself ("the true successor"), and (4) probably was inefficient (actually making a new Lisp implementation/dialect would let it be efficient) 2020-08-01T18:59:01Z gravicappa joined #lisp 2020-08-01T18:59:34Z aeth: Looking at it, I do like the idea of using #/ as a regex reader macro, though 2020-08-01T19:02:13Z aeth: But a few reader macros aren't really good enough reasons to bring in something huge and partially nonidiomatic as a dependency like cl21 or rutils. 2020-08-01T19:04:56Z pve: (3) sounds like the key point 2020-08-01T19:06:11Z orivej_ quit (Quit: No Ping reply in 180 seconds.) 2020-08-01T19:06:37Z aeth: Don't underestimate the effect of #4 on adoption, either. I think a lot of people using CL in 2020 are using it over alternatives because it is (or at least can be) fast. 2020-08-01T19:07:12Z aeth: If you make it into just another scripting language with no concern for performance, it doesn't offer much over scripting languages with huge communities like Ruby or Python. 2020-08-01T19:07:31Z orivej joined #lisp 2020-08-01T19:07:41Z bocaneri is now known as Sauvin 2020-08-01T19:08:31Z pve: there's one difference though: you could, if necessary, "drop down to standard lisp" 2020-08-01T19:09:02Z aeth: but then you risk your users liking standard Common Lisp and leaving your library 2020-08-01T19:09:03Z pve: which I imagine would be easier than writing a module in C for python 2020-08-01T19:09:44Z pve: depends on your goals I guess, I would see that as a win 2020-08-01T19:10:30Z trystero left #lisp 2020-08-01T19:11:43Z aeth: I think another thing new "standard libraries" in CL get wrong is that they do things backwards. They do the library and then expect applications to follow, rather than deriving the library based on what their applications actually need. 2020-08-01T19:13:07Z aeth: Standards should follow use, ideally quite a few different use cases from different parties. 2020-08-01T19:13:13Z pve: you mean first making it, and only afterwards finding a problem it solves? 2020-08-01T19:13:18Z aeth: right 2020-08-01T19:13:35Z phoe: there's this weird thing that modifying Common Lisp requires one to modify the standard 2020-08-01T19:13:44Z aeth: I could be wrong, but most of these "new standard library" libraries tend to just look at cool features from other languages to borrow/steal 2020-08-01T19:13:48Z mindCrime joined #lisp 2020-08-01T19:13:49Z phoe: seriously, come on, grab CCL and hack at it until it no longer complies 2020-08-01T19:13:59Z phoe: but is also useful in some other new creative way 2020-08-01T19:14:18Z aeth: phoe: Few things require actually modifying the underlying implementations. 2020-08-01T19:14:26Z phoe: aeth: yes 2020-08-01T19:14:31Z aeth: Even fewer require changing the standard. 2020-08-01T19:15:04Z CodeSpelunker joined #lisp 2020-08-01T19:15:59Z aeth: e.g. I used to bring up short-float being too precise to use IEEE half-precision floating point as an example, but someone pointed out that the actual standard says "Recommended Minimum Floating-Point Precision and Exponent Size", so implementations actually can just use hardware short-float if they want and they're just lazy. 2020-08-01T19:16:04Z aeth: http://www.lispworks.com/documentation/HyperSpec/Body/t_short_.htm 2020-08-01T19:16:36Z aeth: The standard is mostly future-proof 2020-08-01T19:17:02Z pve: I'm super guilty of "borrowing from other languages", but I believe I have realistic expectations regarding adoption 2020-08-01T19:19:21Z aeth: pve: what's your library? 2020-08-01T19:19:55Z pve: aeth: I haven't put it on github yet, but it's a kind of smalltalk-in-lisp 2020-08-01T19:20:02Z aeth: pve: heh 2020-08-01T19:20:16Z aeth: Someone's writing an ML in Lisp and I'm writing a Scheme in Lisp 2020-08-01T19:20:22Z pve: no way! 2020-08-01T19:20:37Z aeth: We should make a language "platform" with interoperability 2020-08-01T19:20:42Z phoe: aeth: it's called racket 2020-08-01T19:20:45Z phoe ducks 2020-08-01T19:20:52Z aeth: stylewarning is writing the ML 2020-08-01T19:20:58Z phoe: no, seriously though, ruricolist has been doing something like that 2020-08-01T19:21:16Z phoe: https://github.com/ruricolist/vernacular 2020-08-01T19:21:21Z phoe: I believe that I linked it to you, aeth 2020-08-01T19:22:04Z pve: i actually made a working hindley-milner implementation in CL, but never got around to polish it up 2020-08-01T19:22:21Z aeth: phoe: yeah, but (1) it's probably not compatible with the choices I had to make to make Scheme work on CL and (2) I'd rather do language integration at the ASDF level with different extensions than do the #lang foo thing. 2020-08-01T19:23:18Z pve: but that was a long time ago, then later decided to do smalltalk and it's looking much better 2020-08-01T19:23:44Z aeth: phoe: I think I brought up #2 when you linked it to me 2020-08-01T19:23:54Z phoe: yes 2020-08-01T19:24:37Z pve: aeth: so you have scheme that compiles down to CL code? 2020-08-01T19:25:42Z aeth: pve: well, it's not ready yet... but I will have it. https://gitlab.com/mbabich/airship-scheme 2020-08-01T19:26:04Z pve: i'm very interested in looking at other people's approaches to this 2020-08-01T19:26:38Z orivej quit (Ping timeout: 256 seconds) 2020-08-01T19:26:41Z orivej_ joined #lisp 2020-08-01T19:27:15Z aeth: (1) I use %scheme-boolean:f, which is just a constant that evaluates to '%scheme-boolean:f, as the false value. Since in most CLs, NIL is just a symbol not treated specially, it shouldn't really hurt performance, but it separates nil from #f 2020-08-01T19:27:30Z EvW joined #lisp 2020-08-01T19:27:57Z hiroaki quit (Ping timeout: 272 seconds) 2020-08-01T19:28:11Z phoe: (with-lispcafe "scheme properly pays respects with booleans, whereas CL doesn't") 2020-08-01T19:28:14Z aeth: (2) I invert case to maintain almost all compatibility in a case-sensitive language. Idiomatic CL is writing lower-case that gets automatically upcased, and idiomatic most-other-languages (that don't use camelCase at least) is just writing lower-case that is preserved as lower-case, so this is the easiest interop 2020-08-01T19:29:39Z aeth: (3) I'm going to have (iirc, I left it broken from a partial refactor a while back) a minimal "runtime" that guarantees tail recursion (with a trampoline) and continuations (transforming the Scheme via macro to continuation-passing-style). Any CL entry point will handle this, as well as turning #f into nil 2020-08-01T19:30:17Z aeth: (4) On the CL side, I have two macros, define-scheme-procedure and define-scheme-predicate, where the difference is that the latter turns NIL into #f (i.e. %scheme-boolean:f) while the former treats NIL as the empty list. 2020-08-01T19:32:52Z aeth: (5) Scheme libraries are going to define both an ASDF system and a package for that ASDF system. Since Scheme is a Lisp-1, imports will rebind in a top-level LET. The only issue I see with this is that the symbols in e.g. lists will be namespaced to where they were defined. 2020-08-01T19:34:28Z froggey: I'm curious, why a symbol for false instead of a more anonymous object? like (make-instance 'standard-object) 2020-08-01T19:34:54Z phoe: you might want to refer to it from CL side 2020-08-01T19:34:58Z aeth: froggey: A symbol for false is exactly how CL implementations operate: a symbol for NIL, which is false (and the empty list) so it will basically behave identically. 2020-08-01T19:35:22Z aeth: It'll just test a different thing for EQ when testing for false. 2020-08-01T19:36:41Z aeth: Oh, and (5b) I Lisp-1-ified the DEFTYPE because defining a Scheme type also defines a predicate of the same name, and the names all end in ?. This is because portable Scheme is basically "predicately" typed, e.g. the pair? type, tested with the pair? predicate) 2020-08-01T19:36:58Z aeth: s/predicate)/predicate/ 2020-08-01T19:37:07Z phoe: you mean that "pair?" is a type name in scheme? 2020-08-01T19:38:23Z aeth: phoe: Portable Scheme doesn't really have a type system like CL's, it just provides a bunch of predicates to test for if something is of that type or not. So I could have called it something like pair or scheme-cons (or even just cl:cons, it's the same thing) and put it in the same type namespace as CL's, but I decided to call it pair? 2020-08-01T19:41:07Z phoe: I see 2020-08-01T19:41:18Z aeth: That is, it generates (deftype pair? () 'cons) and I could even just do (defun pair? (obj) (typep obj 'pair?) but I made a special case for when a predicate already exists (i.e. CONSP) just in case that's a faster path in the CL compiler (and if the type winds up being a SATISFIES type, things might go exactly backwards). 2020-08-01T19:42:49Z phoe: ;; (defun pair? (obj) (typep obj '(satisfies consp))) 2020-08-01T19:42:58Z aeth: Yes, but that won't be as efficient. 2020-08-01T19:43:16Z phoe: I was kidding 2020-08-01T19:43:33Z aeth: And the Scheme itself will generate something (for now, not final) like (defun r7rs::pair? (continuation obj) (funcall continuation (pair? obj))) 2020-08-01T19:44:02Z luna_is_here quit (Quit: luna_is_here) 2020-08-01T19:44:47Z ajithmk quit (Quit: Connection closed for inactivity) 2020-08-01T19:44:51Z aeth: phoe: There are basically three ways the types could work. One is a DEFTYPE with a generated TYPEP predicate, another is an efficient DEFTYPE with a built-in predicate (like CONSP) that should be identical, and the third way is a predicate that's efficient with a SATISFIES in the DEFTYPE. 2020-08-01T19:45:03Z aeth: The Scheme type could be any one of the three. 2020-08-01T19:45:50Z v0|d joined #lisp 2020-08-01T19:46:37Z aeth: I'm actually pretty happy of some workarounds I found to avoid SATISFY types where you think they'd be necessary. e.g. even though it looks like zero? is just an ordinary predicate and not a type one, I actually define an efficient type for it, at least afaik. (define-scheme-type* (zero?) zerop `(or (real 0 0) (complex (real 0 0)))) 2020-08-01T19:47:13Z aeth: That is, zero? is the predicate ZEROP and the corresponding efficient type is the real from 0 to 0 inclusively or the complex with both parts from 0 to 0 inclusively. 2020-08-01T19:47:27Z phoe: numeric types are very nice in CL 2020-08-01T19:47:36Z aeth: s/happy of/happy with/ 2020-08-01T19:47:49Z phoe: ...wait a second 2020-08-01T19:47:54Z phoe: (complex (real 0 0)) is impossible 2020-08-01T19:48:02Z phoe: this decays into the integer 0 2020-08-01T19:48:13Z phoe: clhs complex 2020-08-01T19:48:13Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/a_comple.htm 2020-08-01T19:48:16Z aeth: oh? weird 2020-08-01T19:48:18Z phoe: "The imaginary part can be a float zero, but can never be a rational zero, for such a number is always represented by Common Lisp as a rational rather than a complex." 2020-08-01T19:48:34Z phoe: therefore the complex part is unnecessary 2020-08-01T19:48:43Z aeth: phoe: (complex 0.0 0.0) 2020-08-01T19:48:54Z aeth: but, yeah, it could just be (complex (float 0 0)) 2020-08-01T19:48:56Z phoe: oh wait! I misread 2020-08-01T19:49:11Z phoe: yes, correct, that's a valid complex 2020-08-01T19:49:22Z mindCrime quit (Ping timeout: 260 seconds) 2020-08-01T19:49:40Z aeth: So should I use `(or (real 0 0) (complex (float 0 0))) instead? 2020-08-01T19:49:49Z phoe: I think so, yes 2020-08-01T19:50:12Z phoe: since (complex (rational 0 0)) === (complex (eql 0)) which has no elements 2020-08-01T19:50:45Z phoe: no, wait a second... 2020-08-01T19:50:45Z pve: aeth: that all sounds fascinating, you appear to be much more rigorous than me :) 2020-08-01T19:51:02Z phoe: === (complex (rational 0 0)) 2020-08-01T19:51:36Z phoe: I don't know if the two are equivalent 2020-08-01T19:52:06Z phoe: okay, TYPE= tells me that they are 2020-08-01T19:52:42Z mindCrime joined #lisp 2020-08-01T19:58:35Z mangul quit (Ping timeout: 240 seconds) 2020-08-01T20:01:08Z CodeSpelunker quit (Quit: CodeSpelunker) 2020-08-01T20:01:49Z whiteline_ quit (Remote host closed the connection) 2020-08-01T20:02:09Z aeth: pve: I have an advantage in that I'm translating a small specified language into a similar large specified language. 2020-08-01T20:02:16Z whiteline_ joined #lisp 2020-08-01T20:03:25Z shifty quit (Ping timeout: 240 seconds) 2020-08-01T20:03:49Z aeth: I don't have to design and implement at the same time, I just have to implement, and it's mostly about solving the mismatches. 2020-08-01T20:04:08Z shifty joined #lisp 2020-08-01T20:06:57Z ted_wroclaw joined #lisp 2020-08-01T20:07:27Z dilated_dinosaur quit (Ping timeout: 260 seconds) 2020-08-01T20:08:56Z dilated_dinosaur joined #lisp 2020-08-01T20:10:16Z akoana joined #lisp 2020-08-01T20:13:07Z dilated_dinosaur quit (Ping timeout: 244 seconds) 2020-08-01T20:15:21Z kpoeck joined #lisp 2020-08-01T20:15:45Z dilated_dinosaur joined #lisp 2020-08-01T20:17:48Z pve: aeth: I'm not tackling the smalltalk standard lib anytime soon.. currently I'm at "smalltalk syntax with CL machinery", so I basically wrapped many (most?) of the standard CL functions 2020-08-01T20:17:57Z pve: but I'm pretty happy with it 2020-08-01T20:24:11Z CodeSpelunker joined #lisp 2020-08-01T20:24:14Z kpoeck quit (Ping timeout: 245 seconds) 2020-08-01T20:24:35Z CodeSpelunker quit (Remote host closed the connection) 2020-08-01T20:28:39Z pve: aeth: I'm going to upload the code to github soonish, but if you're interested, here are a couple of pictures I like to show people that hopefully give an idea of the current state: 2020-08-01T20:28:44Z pve: https://imgur.com/a/1tw3Pmn 2020-08-01T20:29:10Z Oladon joined #lisp 2020-08-01T20:31:18Z zulu-inuoe_ joined #lisp 2020-08-01T20:31:39Z pve: Just finished writing the indendation code for the emacs mode, which was much harder than I expected. I'm not ashamed to admit I spent waay to much time fiddling with it. 2020-08-01T20:32:05Z zulu-inuoe quit (Ping timeout: 240 seconds) 2020-08-01T20:34:48Z aeth: pve: So how do you get the interactive, image-based Smalltalk development environment that Smalltalk is famous for? 2020-08-01T20:35:32Z pve: no idea 2020-08-01T20:35:42Z orivej_ quit (Ping timeout: 256 seconds) 2020-08-01T20:35:50Z orivej joined #lisp 2020-08-01T20:36:39Z aeth: pve: I haven't done ASDF integration yet but I've probably lost a few days every now and then trying 2020-08-01T20:37:43Z narimiran quit (Ping timeout: 246 seconds) 2020-08-01T20:38:07Z pve: yeah that part wasn't fun 2020-08-01T20:38:37Z aeth: it looks like you do everything in a [ ... ] reader macro, though, while I am trying for a slightly different technique, essentially trying to make the .scm files indistinguishable from ordinary Scheme files. 2020-08-01T20:38:51Z aeth: (and it has to have a custom reader, since there are minor points of syntactic incompatibility) 2020-08-01T20:39:03Z pve: the [ ... ] is only in lisp files, when you mix code 2020-08-01T20:39:09Z aeth: ah 2020-08-01T20:39:18Z pve: otherwise they're code blocks 2020-08-01T20:39:21Z pve: (lambdas) 2020-08-01T20:44:27Z pve: I tried to make the asdf integration optional though, so an app/script is loadable without having to make an asd file 2020-08-01T20:45:02Z aeth: For me, ASDF integration is pretty mandatory afaik because that's the logical way to handle Scheme libraries, beyond just using packages. 2020-08-01T20:45:04Z pve: dependencies are still loaded using asdf, of course 2020-08-01T20:46:28Z contrapunctus left #lisp 2020-08-01T20:47:13Z contrapunctus joined #lisp 2020-08-01T20:51:05Z luna_is_here joined #lisp 2020-08-01T20:51:13Z v88m quit (Ping timeout: 264 seconds) 2020-08-01T20:56:35Z pve: aeth: when you say "asdf integration" do you mean being able to do (asdf:load-system "my-scheme-lib")? 2020-08-01T20:58:51Z luna_is_here quit (Quit: luna_is_here) 2020-08-01T21:00:35Z aeth: pve: maybe, but more importantly, actually handling the Scheme libraries as ASDF systems, e.g. https://gitlab.com/mbabich/airship-scheme/-/blob/master/scheme/base.sld 2020-08-01T21:01:40Z aeth: Notice how R7RS's define-library seems to cover both DEFPACKAGE and DEFSYSTEM in scope... In this case, (scheme base) could represent an underlying package scheme/base (or airship-scheme/scheme/base) and an underlying system airship-scheme/scheme/base 2020-08-01T21:02:17Z aeth: And as a placeholder for now I have it import from the not-yet-written (airship r7rs) 2020-08-01T21:02:37Z pve: ah, I didn't know define-library worked like that 2020-08-01T21:03:19Z aeth: I could probably extend it to add declarations for description/version/author/maintainer/license/homepage/bug-tracker/source-control and make it map to DEFSYSTEM more clearly 2020-08-01T21:03:39Z aeth: It can also have (include "foo.scm") in the definition, which basically maps to :components 2020-08-01T21:04:19Z Bike joined #lisp 2020-08-01T21:05:32Z cosimone joined #lisp 2020-08-01T21:06:30Z ggole quit (Quit: Leaving) 2020-08-01T21:07:21Z pve: aeth: I have no idea if this will help, but here's what I had to do: 2020-08-01T21:07:22Z pve: https://pastebin.com/fAM7SE4A 2020-08-01T21:07:58Z aeth: pve: thanks 2020-08-01T21:08:10Z aeth: I'll look into it 2020-08-01T21:08:11Z pve: thats all the asdf specific code i had to write 2020-08-01T21:08:31Z pve: although your situation seems a bit different 2020-08-01T21:09:23Z kpoeck joined #lisp 2020-08-01T21:10:35Z pve: i mean that with that code, the custom asdf components can be used in asd-files (in the second imgur picture, top right) 2020-08-01T21:12:11Z aeth: right, afaik, I would just have to parse (include "foo.scm") as defining a Scheme source file component, with the main complication being something like (include "bar/foo.scm") and other than that, everything cleanly maps either to DEFSYSTEM or DEFPACKAGE 2020-08-01T21:16:15Z aeth: The hard part might be getting Quicklisp to detect them as systems without (1) being a top-level .ASD file and (2) being a .ASD file at all, but package-inferred-system exists as a thing that creates an ASDF "sub"system for each file and it works fine, so there's probably a way to do it from the top level .ASD file 2020-08-01T21:16:21Z pve: I could be wrong, but "bar/foo.lisp" might work in asdf 2020-08-01T21:17:08Z pve: like out of the box 2020-08-01T21:17:55Z aeth: I've always seen it as defining a new thing... "module" or something? For each subdirectory. 2020-08-01T21:18:34Z aeth: it definitely does something fancy when package-inferred-system is being used, though, since it's all... inferred from names that match the paths 2020-08-01T21:18:42Z pve: no I meant (:file "bar/foo") 2020-08-01T21:19:04Z pve: or does (include "bar/foo.scm") mean something else? 2020-08-01T21:19:24Z aeth: yeah, sorry for being unclear, I mean, I've never seen (:file "bar/foo") I've always seen it as defining something for "bar" and then putting "foo" under it 2020-08-01T21:20:11Z shifty quit (Ping timeout: 240 seconds) 2020-08-01T21:20:52Z shifty joined #lisp 2020-08-01T21:23:00Z pve: yeah, usually the :module component is used when you have a subdirectory containing some code 2020-08-01T21:26:59Z pve: but did you know that asdf automagically looks for the definition of teh system foo/bar in foo.asd? 2020-08-01T21:27:23Z pve: so it considers foo/bar a subsystem of foo 2020-08-01T21:28:07Z phoe: wait a second - in ASDF, (:file "foo/bar/baz/quux") means quux.lisp in a directory subtree foo/bar/baz/ 2020-08-01T21:29:13Z pve: phoe: yeah, unless I remembered wrong 2020-08-01T21:30:46Z phoe: see https://github.com/phoe/protest/blob/master/protest.asd for an example 2020-08-01T21:30:55Z Fare joined #lisp 2020-08-01T21:31:19Z pve: right 2020-08-01T21:32:22Z pve: aeth: but I imagine package-inferred should also work for you 2020-08-01T21:37:54Z aeth: pve: well, not quite, since that's one-system-and-package-per-file, while Scheme's library system is closer to "normal" CL, where you have a separate file listing all of the files to include 2020-08-01T21:39:03Z pve: oh.. okay 2020-08-01T21:43:06Z amalawi joined #lisp 2020-08-01T21:51:48Z abhixec joined #lisp 2020-08-01T21:52:16Z gravicappa quit (Ping timeout: 246 seconds) 2020-08-01T22:03:50Z ted_wroclaw quit (Quit: Textual IRC Client: www.textualapp.com) 2020-08-01T22:03:52Z karlosz joined #lisp 2020-08-01T22:04:21Z karlosz quit (Remote host closed the connection) 2020-08-01T22:07:09Z phoe: good night 2020-08-01T22:09:32Z EvW quit (Ping timeout: 256 seconds) 2020-08-01T22:10:28Z kpoeck quit (Remote host closed the connection) 2020-08-01T22:16:00Z orivej quit (Ping timeout: 256 seconds) 2020-08-01T22:16:03Z orivej_ joined #lisp 2020-08-01T22:17:12Z Bourne joined #lisp 2020-08-01T22:21:54Z hhdave quit (Ping timeout: 256 seconds) 2020-08-01T22:22:56Z hhdave joined #lisp 2020-08-01T22:26:56Z pve quit (Quit: leaving) 2020-08-01T22:30:56Z paul0 joined #lisp 2020-08-01T22:32:19Z amalawi quit (Remote host closed the connection) 2020-08-01T22:37:12Z notzmv quit (Ping timeout: 256 seconds) 2020-08-01T22:42:21Z luna_is_here joined #lisp 2020-08-01T22:59:39Z iissaacc joined #lisp 2020-08-01T23:08:13Z satousan joined #lisp 2020-08-01T23:15:37Z Fare: If sharks^WIP lawyers smell enough money to go after a new CL standard, we've already won. 2020-08-01T23:16:23Z Fare: At best they'll get us to rename the project and do a clean room rewrite. But they only would do that if there's a big enough community for the thing to matter. 2020-08-01T23:23:05Z notzmv joined #lisp 2020-08-01T23:28:37Z bsd4me joined #lisp 2020-08-01T23:28:58Z cosimone quit (Quit: Quit.) 2020-08-01T23:33:45Z iissaacc quit (Ping timeout: 240 seconds) 2020-08-01T23:36:49Z random-nick quit (Ping timeout: 264 seconds) 2020-08-01T23:37:11Z hhdave quit (Quit: hhdave) 2020-08-01T23:42:37Z satousan quit (Quit: WeeChat 2.3) 2020-08-01T23:43:25Z abhixec quit (Ping timeout: 264 seconds) 2020-08-01T23:45:23Z madage quit (Ping timeout: 240 seconds) 2020-08-01T23:45:28Z Fare quit (Ping timeout: 244 seconds) 2020-08-01T23:48:25Z orivej_ quit (Ping timeout: 240 seconds) 2020-08-01T23:48:40Z satousan joined #lisp 2020-08-01T23:49:11Z orivej joined #lisp 2020-08-01T23:55:25Z brettgilio quit (Remote host closed the connection) 2020-08-01T23:58:42Z brettgilio joined #lisp 2020-08-02T00:02:28Z orivej quit (Ping timeout: 246 seconds) 2020-08-02T00:02:50Z orivej joined #lisp 2020-08-02T00:04:05Z SenasOzys quit (Ping timeout: 240 seconds) 2020-08-02T00:09:07Z minerjoe quit (Remote host closed the connection) 2020-08-02T00:10:52Z orivej quit (Ping timeout: 246 seconds) 2020-08-02T00:11:31Z orivej joined #lisp 2020-08-02T00:18:23Z iissaacc joined #lisp 2020-08-02T00:19:34Z gaqwas joined #lisp 2020-08-02T00:19:34Z gaqwas quit (Changing host) 2020-08-02T00:19:35Z gaqwas joined #lisp 2020-08-02T00:21:53Z gaqwas quit (Remote host closed the connection) 2020-08-02T00:22:13Z xrash joined #lisp 2020-08-02T00:24:54Z v88m joined #lisp 2020-08-02T00:25:35Z ayuce quit (Remote host closed the connection) 2020-08-02T00:26:59Z iissaacc quit (Ping timeout: 240 seconds) 2020-08-02T00:31:19Z PuercoPop joined #lisp 2020-08-02T00:36:47Z EvW1 joined #lisp 2020-08-02T00:39:22Z bottlecap joined #lisp 2020-08-02T00:39:38Z bottlecap: is there an alternative to using `trace` in ABCL? 2020-08-02T00:42:44Z bottlecap: #learninglisp 2020-08-02T00:42:48Z bottlecap: woops 2020-08-02T00:46:11Z orivej quit (Ping timeout: 240 seconds) 2020-08-02T01:01:52Z bottlecap: sorry i mean't `step` 2020-08-02T01:08:44Z satousan quit (Quit: WeeChat 2.3) 2020-08-02T01:12:14Z tephra quit (Ping timeout: 256 seconds) 2020-08-02T01:16:46Z torbo joined #lisp 2020-08-02T01:25:41Z orivej joined #lisp 2020-08-02T01:35:42Z zulu-inuoe__ joined #lisp 2020-08-02T01:38:04Z orivej quit (Quit: No Ping reply in 180 seconds.) 2020-08-02T01:39:06Z zulu-inuoe_ quit (Ping timeout: 256 seconds) 2020-08-02T01:39:21Z orivej joined #lisp 2020-08-02T01:48:02Z _whitelogger quit (Remote host closed the connection) 2020-08-02T01:48:23Z reb joined #lisp 2020-08-02T01:50:12Z _whitelogger joined #lisp 2020-08-02T01:54:23Z paul0 quit (Quit: Leaving) 2020-08-02T01:56:22Z bitmapper quit (Ping timeout: 260 seconds) 2020-08-02T01:59:13Z OpenZen quit (Read error: Connection reset by peer) 2020-08-02T02:02:24Z CodeSpelunker joined #lisp 2020-08-02T02:08:05Z reb quit (Remote host closed the connection) 2020-08-02T02:15:28Z Fare joined #lisp 2020-08-02T02:23:18Z caltelt quit (Ping timeout: 256 seconds) 2020-08-02T02:24:47Z ldb joined #lisp 2020-08-02T02:25:27Z EvW1 quit (Ping timeout: 260 seconds) 2020-08-02T02:25:56Z ldb: good morning everyone 2020-08-02T02:34:38Z ldb quit (Ping timeout: 260 seconds) 2020-08-02T02:35:47Z renzhi quit (Ping timeout: 240 seconds) 2020-08-02T02:38:40Z CodeSpelunker quit (Quit: CodeSpelunker) 2020-08-02T02:40:08Z shifty quit (Ping timeout: 256 seconds) 2020-08-02T02:40:20Z CodeSpelunker joined #lisp 2020-08-02T02:50:17Z ldb joined #lisp 2020-08-02T02:57:46Z gjnoonan quit (Ping timeout: 244 seconds) 2020-08-02T02:58:37Z borei joined #lisp 2020-08-02T02:59:30Z gjnoonan joined #lisp 2020-08-02T02:59:59Z XachX quit (Ping timeout: 180 seconds) 2020-08-02T03:02:03Z Alfr_ joined #lisp 2020-08-02T03:04:32Z Alfr quit (Ping timeout: 260 seconds) 2020-08-02T03:09:05Z nullman quit (Ping timeout: 240 seconds) 2020-08-02T03:11:08Z Oladon: I've created an executable with SBCL's save-lisp-and-die, but am getting an "Internal error" and dropped into ldb as soon as I run it. Could someone help me debug? Error is: Internal error #11 "Object is of the wrong type." at 0x5297650a 2020-08-02T03:11:09Z Oladon: SC: 0, Offset: 7 0x00000061: other immediate 0, no tls value marker: data=0 2020-08-02T03:12:37Z lalilulelo joined #lisp 2020-08-02T03:14:38Z ldb: Oladon: please provide platform and version, and better ask help in #sbcl 2020-08-02T03:15:19Z Oladon: Fair enough. Debian buster, SBCL 2.0.0 2020-08-02T03:22:33Z retropikzel_ joined #lisp 2020-08-02T03:22:59Z jdz quit (Ping timeout: 244 seconds) 2020-08-02T03:23:37Z retropikzel quit (Ping timeout: 264 seconds) 2020-08-02T03:23:38Z jdz joined #lisp 2020-08-02T03:25:27Z CodeSpelunker quit (Quit: CodeSpelunker) 2020-08-02T03:25:55Z retropikzel_ is now known as retropikzel 2020-08-02T03:25:59Z satousan joined #lisp 2020-08-02T03:26:40Z beach: Good morning everyone! 2020-08-02T03:29:57Z ldb quit (Ping timeout: 265 seconds) 2020-08-02T03:31:19Z Oladon: Morning beach! 2020-08-02T03:45:07Z ldb joined #lisp 2020-08-02T03:45:18Z Lord_of_Life quit (Ping timeout: 256 seconds) 2020-08-02T03:46:56Z Lord_of_Life joined #lisp 2020-08-02T03:46:58Z dominic34 quit (Ping timeout: 260 seconds) 2020-08-02T03:49:28Z Lycurgus joined #lisp 2020-08-02T03:49:50Z ldb quit (Ping timeout: 256 seconds) 2020-08-02T03:50:55Z Oladon: In case anyone cares, looks like the issue was https://bugs.launchpad.net/sbcl/+bug/1857920 -- upgrading to 2.0.7 fixed it 2020-08-02T03:52:36Z beach: Good to know. Thanks! 2020-08-02T03:53:24Z satousan quit (Quit: WeeChat 2.3) 2020-08-02T03:54:35Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-08-02T03:57:48Z Aurora_v_kosmose joined #lisp 2020-08-02T03:57:53Z Lycurgus: there's a note on sbcl 2.0.6 that sb-mop and sb-pcl will in future no longer export defined symbols 2020-08-02T03:58:51Z Lycurgus: is that supposed to be inocuous because if you are using the defined functional protocol you don't need access to the symbols? 2020-08-02T03:58:55Z ldb joined #lisp 2020-08-02T04:02:08Z ldb quit (Client Quit) 2020-08-02T04:04:01Z Lycurgus: nvm, assume it will be explained further if and when 2020-08-02T04:04:07Z Lycurgus quit (Remote host closed the connection) 2020-08-02T04:06:44Z Bike: it says they won't be exported from sb-pcl. presumably they'll still be exported from sb-mop. 2020-08-02T04:07:56Z lucasb quit (Quit: Connection closed for inactivity) 2020-08-02T04:13:52Z orivej quit (Quit: No Ping reply in 180 seconds.) 2020-08-02T04:15:01Z orivej joined #lisp 2020-08-02T04:20:33Z Bike quit (Quit: Lost terminal) 2020-08-02T04:21:11Z narimiran joined #lisp 2020-08-02T04:23:17Z mindCrime quit (Ping timeout: 260 seconds) 2020-08-02T04:23:28Z ajithmk joined #lisp 2020-08-02T04:25:14Z mindCrime joined #lisp 2020-08-02T04:33:16Z Lycurgus joined #lisp 2020-08-02T04:33:46Z Lycurgus: ah, I didn catch that it was an alternation, ty 2020-08-02T04:33:59Z Lycurgus quit (Client Quit) 2020-08-02T04:42:56Z satousan joined #lisp 2020-08-02T04:50:41Z ukari joined #lisp 2020-08-02T04:54:37Z holycow joined #lisp 2020-08-02T04:56:58Z PuercoPop quit (Remote host closed the connection) 2020-08-02T05:02:50Z satousan quit (Quit: WeeChat 2.3) 2020-08-02T05:05:27Z torbo quit (Remote host closed the connection) 2020-08-02T05:06:37Z MightyJoe quit (Ping timeout: 265 seconds) 2020-08-02T05:06:59Z cyraxjoe joined #lisp 2020-08-02T05:10:04Z brettgilio: Hey. I am trying to use M-x slime-load-system, and it is returning me with this issue: Error (MEMORY-FAULT-ERROR) during printing: # 2020-08-02T05:10:15Z terpri_ joined #lisp 2020-08-02T05:11:41Z mangul joined #lisp 2020-08-02T05:13:27Z terpri quit (Ping timeout: 260 seconds) 2020-08-02T05:13:50Z gravicappa joined #lisp 2020-08-02T05:14:04Z zaquest quit (Quit: Leaving) 2020-08-02T05:17:21Z terpri_ quit (Remote host closed the connection) 2020-08-02T05:19:36Z bhartrihari left #lisp 2020-08-02T05:19:52Z terpri_ joined #lisp 2020-08-02T05:23:02Z bhartrihari joined #lisp 2020-08-02T05:25:42Z borei quit (Ping timeout: 260 seconds) 2020-08-02T05:26:55Z beach: brettgilio: Is that from a fresh SBCL image? 2020-08-02T05:29:56Z brettgilio: beach: SBCL 2.0.5 2020-08-02T05:30:35Z beach: I mean, is this immediately after starting SBCL, or did you load some other stuff first? 2020-08-02T05:31:03Z brettgilio: Its after I start slime and connect to sbcl as the inferior, then require asdf. 2020-08-02T05:31:56Z beach: I see. And does it happen also when you load the system from the REPL, as opposed to going through SLIME? 2020-08-02T05:34:34Z zaquest joined #lisp 2020-08-02T05:42:49Z orivej quit (Ping timeout: 264 seconds) 2020-08-02T06:00:47Z wxie joined #lisp 2020-08-02T06:02:33Z bsd4me quit (Quit: Leaving) 2020-08-02T06:05:47Z wxie quit (Remote host closed the connection) 2020-08-02T06:08:57Z wxie joined #lisp 2020-08-02T06:09:12Z bhartrihari left #lisp 2020-08-02T06:09:31Z bhartrihari joined #lisp 2020-08-02T06:10:37Z bhartrihari left #lisp 2020-08-02T06:10:44Z bhartrihari joined #lisp 2020-08-02T06:16:13Z wxie quit (Ping timeout: 265 seconds) 2020-08-02T06:19:04Z narimiran quit (Ping timeout: 246 seconds) 2020-08-02T06:39:20Z wxie joined #lisp 2020-08-02T06:42:55Z nullman joined #lisp 2020-08-02T06:42:56Z ajithmk quit (Quit: Connection closed for inactivity) 2020-08-02T06:48:05Z wxie quit (Ping timeout: 240 seconds) 2020-08-02T06:48:36Z VincentVega joined #lisp 2020-08-02T06:54:39Z VincentVega quit (Ping timeout: 245 seconds) 2020-08-02T07:01:16Z pve joined #lisp 2020-08-02T07:06:50Z VincentVega joined #lisp 2020-08-02T07:10:39Z VincentVega: Good day, all. I am having this really basic problem trying to access a struct field in a tree from the spatial-trees package. Here is a program and all the details, would be glad if someone could help: https://pastebin.com/p5QCCiWD 2020-08-02T07:12:12Z beach: Apparently, you are not supposed to use LEAF-NODE-ENTRY-DATUM, since it is not external. 2020-08-02T07:13:09Z beach: But if you know what you are doing and you want to use it anyway, do SPATIAL-TREES-IMPL::LEAF-NODE-ENTRY-DATUM with two colons. 2020-08-02T07:13:30Z beach: Since the symbol is not exported, it may go away in future releases of the library. 2020-08-02T07:13:44Z orivej joined #lisp 2020-08-02T07:13:58Z beach: In fact, I am guessing, you should not use the -IMPL package at all. 2020-08-02T07:14:50Z beach: Are you sure there is not the equivalent functionality in the -PROTOCOL package? 2020-08-02T07:18:19Z VincentVega: beach: with two cols I get the error "The value ... is not of type SPATIAL-TREES-IMPL:LEAF-NODE-ENTRY" (strangely enough) 2020-08-02T07:19:14Z beach: That's true, it isn't. I mean CHILDREN suggests a list and not an entry. 2020-08-02T07:19:21Z VincentVega: beach: not sure about the protocol package 2020-08-02T07:19:50Z beach: Yeah, me neither. 2020-08-02T07:20:14Z VincentVega: beach: oh, yeah, the two cols work when i `first` the list 2020-08-02T07:20:32Z VincentVega: thanks 2020-08-02T07:20:36Z beach: Sure. 2020-08-02T07:22:13Z VincentVega: beach: so, I figure, a double column is for non-exported symbols then? 2020-08-02T07:22:31Z beach: "colon", yes. 2020-08-02T07:22:58Z VincentVega: beach: I see, ok : ) 2020-08-02T07:23:04Z beach: But you are not supposed to use non-exported symbols, so I am guessing you are not using the system correctly. 2020-08-02T07:23:21Z beach: But since I don't know that system, I am not sure what you should be doing instead. 2020-08-02T07:23:59Z VincentVega: yeah, I think it's not the right way too, maybe I will find some other way 2020-08-02T07:31:49Z edgar-rft quit (Quit: Leaving) 2020-08-02T07:32:11Z phoe: good morniiiiing 2020-08-02T07:32:47Z phoe: brettgilio: memory fault errors shouldn't happen; which system is it, and does it also happen in newer SBCL versions? 2020-08-02T07:33:03Z beach: Hello phoe. 2020-08-02T07:34:03Z edgar-rft joined #lisp 2020-08-02T07:35:00Z orivej quit (Ping timeout: 265 seconds) 2020-08-02T07:40:19Z SenasOzys joined #lisp 2020-08-02T07:41:08Z farooqkz__ joined #lisp 2020-08-02T07:43:25Z mangul quit (Ping timeout: 240 seconds) 2020-08-02T07:43:54Z Fare quit (Ping timeout: 244 seconds) 2020-08-02T07:44:15Z treflip joined #lisp 2020-08-02T07:59:19Z orivej joined #lisp 2020-08-02T08:04:11Z xrash quit (Ping timeout: 240 seconds) 2020-08-02T08:06:45Z orivej quit (Ping timeout: 240 seconds) 2020-08-02T08:07:14Z phoe: hey hi 2020-08-02T08:07:28Z orivej joined #lisp 2020-08-02T08:07:36Z treflip quit (Quit: WeeChat 2.6) 2020-08-02T08:16:57Z edgar-rft quit (Remote host closed the connection) 2020-08-02T08:17:09Z holycow quit (Quit: Lost terminal) 2020-08-02T08:20:26Z rudi joined #lisp 2020-08-02T08:22:58Z ggole joined #lisp 2020-08-02T08:23:23Z RedMallet joined #lisp 2020-08-02T08:23:44Z RedMallet is now known as treflip 2020-08-02T08:25:37Z treflip quit (Quit: WeeChat 2.8) 2020-08-02T08:30:28Z orivej quit (Quit: No Ping reply in 180 seconds.) 2020-08-02T08:31:38Z orivej joined #lisp 2020-08-02T08:32:22Z Oladon quit (Quit: Leaving.) 2020-08-02T08:32:27Z vaporatorius joined #lisp 2020-08-02T08:32:27Z vaporatorius quit (Changing host) 2020-08-02T08:32:27Z vaporatorius joined #lisp 2020-08-02T08:35:22Z vaporatorius__ quit (Ping timeout: 256 seconds) 2020-08-02T08:39:25Z VincentVega quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) 2020-08-02T08:41:16Z orivej quit (Ping timeout: 256 seconds) 2020-08-02T08:41:48Z orivej joined #lisp 2020-08-02T08:42:04Z seok quit (Remote host closed the connection) 2020-08-02T08:50:03Z rudi quit (Quit: rudi) 2020-08-02T09:02:01Z farooqkz__ quit (Ping timeout: 264 seconds) 2020-08-02T09:16:25Z orivej quit (Ping timeout: 240 seconds) 2020-08-02T09:16:59Z orivej joined #lisp 2020-08-02T09:18:00Z shifty joined #lisp 2020-08-02T09:18:04Z gaqwas joined #lisp 2020-08-02T09:18:04Z gaqwas quit (Changing host) 2020-08-02T09:18:04Z gaqwas joined #lisp 2020-08-02T09:28:31Z bhartrihari left #lisp 2020-08-02T09:34:19Z minion quit (Remote host closed the connection) 2020-08-02T09:34:19Z specbot quit (Remote host closed the connection) 2020-08-02T09:36:02Z ayuce joined #lisp 2020-08-02T09:39:11Z specbot joined #lisp 2020-08-02T09:39:50Z minion joined #lisp 2020-08-02T09:40:27Z wuehlmaus joined #lisp 2020-08-02T09:41:33Z bhartrihari joined #lisp 2020-08-02T09:48:57Z akoana quit (Quit: leaving) 2020-08-02T09:52:50Z bhartrihari left #lisp 2020-08-02T09:53:24Z wxie joined #lisp 2020-08-02T09:58:07Z mindCrime quit (Ping timeout: 260 seconds) 2020-08-02T10:05:39Z bhartrihari joined #lisp 2020-08-02T10:06:44Z mindCrime joined #lisp 2020-08-02T10:09:36Z Inline joined #lisp 2020-08-02T10:11:43Z treflip joined #lisp 2020-08-02T10:13:22Z wxie quit (Ping timeout: 260 seconds) 2020-08-02T10:14:18Z orivej quit (Quit: No Ping reply in 180 seconds.) 2020-08-02T10:15:38Z orivej joined #lisp 2020-08-02T10:20:23Z bhartrihari left #lisp 2020-08-02T10:20:32Z bhartrihari joined #lisp 2020-08-02T10:20:51Z treflip quit (Quit: WeeChat 2.8) 2020-08-02T10:22:59Z orivej quit (Ping timeout: 240 seconds) 2020-08-02T10:23:05Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-08-02T10:23:41Z Aurora_v_kosmose joined #lisp 2020-08-02T10:23:48Z orivej joined #lisp 2020-08-02T10:25:56Z easye quit (Quit: Switching to TLS?) 2020-08-02T10:27:08Z easye joined #lisp 2020-08-02T10:27:23Z easye quit (Remote host closed the connection) 2020-08-02T10:27:55Z easye joined #lisp 2020-08-02T10:28:28Z bottlecap: What's the name of the common lisp learning channel? I forgot. 2020-08-02T10:30:17Z phoe: #clschool 2020-08-02T10:31:06Z orivej quit (Ping timeout: 260 seconds) 2020-08-02T10:31:58Z wuehlmaus left #lisp 2020-08-02T10:37:16Z madage joined #lisp 2020-08-02T10:40:27Z gaqwas quit (Remote host closed the connection) 2020-08-02T10:48:25Z zulu-inuoe__ quit (Ping timeout: 240 seconds) 2020-08-02T10:51:45Z toorevitimirp joined #lisp 2020-08-02T10:52:58Z shidima joined #lisp 2020-08-02T11:00:05Z shidima quit (Ping timeout: 240 seconds) 2020-08-02T11:00:30Z v88m quit (Ping timeout: 260 seconds) 2020-08-02T11:03:43Z madage quit (Ping timeout: 240 seconds) 2020-08-02T11:08:02Z gaqwas joined #lisp 2020-08-02T11:08:02Z gaqwas quit (Changing host) 2020-08-02T11:08:02Z gaqwas joined #lisp 2020-08-02T11:08:05Z madage joined #lisp 2020-08-02T11:10:36Z random-nick joined #lisp 2020-08-02T11:11:05Z mindCrime quit (Ping timeout: 244 seconds) 2020-08-02T11:11:38Z shidima joined #lisp 2020-08-02T11:20:07Z ldb joined #lisp 2020-08-02T11:23:25Z ldb: hello phoe 2020-08-02T11:24:44Z beach` joined #lisp 2020-08-02T11:29:21Z beach quit (Ping timeout: 272 seconds) 2020-08-02T11:31:13Z toorevitimirp quit (Quit: Konversation terminated!) 2020-08-02T11:35:10Z zulu-inuoe joined #lisp 2020-08-02T11:41:46Z retropikzel quit (Quit: retropikzel) 2020-08-02T11:42:23Z phoe: hey 2020-08-02T11:44:04Z ldb quit (Ping timeout: 256 seconds) 2020-08-02T11:45:36Z beach` is now known as beach 2020-08-02T11:50:46Z ldb joined #lisp 2020-08-02T11:52:33Z toorevitimirp joined #lisp 2020-08-02T11:53:39Z Fare joined #lisp 2020-08-02T11:54:17Z shangul joined #lisp 2020-08-02T11:56:57Z toorevitimirp quit (Remote host closed the connection) 2020-08-02T11:58:36Z toorevitimirp joined #lisp 2020-08-02T12:01:45Z paule32 joined #lisp 2020-08-02T12:01:55Z paule32: hello 2020-08-02T12:02:17Z paule32: i have a grid in grid 2020-08-02T12:02:33Z paule32: the first grid is 2d array 20x20 2020-08-02T12:02:58Z paule32: the second grid is at a position of grid 1 2020-08-02T12:03:39Z paule32: i have in grid 1 5 grids(2) with 3x3 array 2020-08-02T12:03:57Z paule32: 0 1 0 2020-08-02T12:04:01Z paule32: 0 1 0 2020-08-02T12:04:07Z paule32: 0 1 0 2020-08-02T12:04:23Z paule32: that the 2d grid 3x3 2020-08-02T12:04:53Z paule32: the 1 in it should give me a path 2020-08-02T12:05:33Z paule32: on each middle node, can be docked a other 3x3 grid 2020-08-02T12:06:38Z paule32: also, grid(1) pos1( x1=5, y1=5), and pos2( x2 = 5, y1=10) 2020-08-02T12:06:41Z toorevitimirp quit (Remote host closed the connection) 2020-08-02T12:07:59Z paule32: so the uestion is, is that a correct method to get a pfad from a electronic wire 5-10 2020-08-02T12:08:06Z shidima quit (Ping timeout: 256 seconds) 2020-08-02T12:08:06Z toorevitimirp joined #lisp 2020-08-02T12:08:14Z paule32: ? 2020-08-02T12:09:48Z paule32: at the moment grid(1) is initzialisted with 0 . also 20x20 defaut 0 items 2020-08-02T12:10:01Z ldb: soorry, cannot parse 2020-08-02T12:10:23Z paule32: shall i draw a picture? 2020-08-02T12:11:04Z ldb: can you provide some images 2020-08-02T12:11:21Z paule32: ok, moment please 2020-08-02T12:12:13Z toorevitimirp quit (Remote host closed the connection) 2020-08-02T12:12:40Z toorevitimirp joined #lisp 2020-08-02T12:13:07Z ldb: also can you explain what pos1 pos2 means? 2020-08-02T12:13:33Z wxie joined #lisp 2020-08-02T12:20:03Z madage quit (Ping timeout: 240 seconds) 2020-08-02T12:25:19Z madage joined #lisp 2020-08-02T12:25:32Z bottlecap quit (Remote host closed the connection) 2020-08-02T12:25:32Z jeosol quit (Remote host closed the connection) 2020-08-02T12:25:44Z shidima joined #lisp 2020-08-02T12:26:34Z ldb quit (Ping timeout: 246 seconds) 2020-08-02T12:28:17Z bottlecap joined #lisp 2020-08-02T12:29:18Z ldb joined #lisp 2020-08-02T12:30:42Z paule32: ldb: https://imgur.com/ieJeE5r 2020-08-02T12:32:04Z gaqwas quit (Remote host closed the connection) 2020-08-02T12:32:44Z retropikzel joined #lisp 2020-08-02T12:33:18Z retropikzel quit (Remote host closed the connection) 2020-08-02T12:37:58Z ldb quit (Ping timeout: 256 seconds) 2020-08-02T12:53:40Z awth13 joined #lisp 2020-08-02T12:55:32Z awth13 quit (Quit: leaving) 2020-08-02T12:56:16Z _jrjsmrtn joined #lisp 2020-08-02T12:58:21Z __jrjsmrtn__ quit (Ping timeout: 265 seconds) 2020-08-02T13:14:47Z shifty quit (Ping timeout: 265 seconds) 2020-08-02T13:15:05Z v0|d quit (Ping timeout: 240 seconds) 2020-08-02T13:16:27Z cpt_nemo quit (Ping timeout: 260 seconds) 2020-08-02T13:16:32Z Oladon joined #lisp 2020-08-02T13:20:14Z cpt_nemo joined #lisp 2020-08-02T13:31:57Z mangul joined #lisp 2020-08-02T13:32:03Z narimiran joined #lisp 2020-08-02T13:34:02Z gaqwas joined #lisp 2020-08-02T13:34:02Z gaqwas quit (Changing host) 2020-08-02T13:34:02Z gaqwas joined #lisp 2020-08-02T13:34:05Z shangul quit (Ping timeout: 240 seconds) 2020-08-02T13:48:17Z gaqwas quit (Remote host closed the connection) 2020-08-02T13:48:18Z enrio joined #lisp 2020-08-02T14:03:42Z enrio quit (Ping timeout: 256 seconds) 2020-08-02T14:06:01Z liberliver quit (Ping timeout: 265 seconds) 2020-08-02T14:07:28Z paule32: lbl ? 2020-08-02T14:08:05Z jeosol joined #lisp 2020-08-02T14:08:40Z paule32: hello 2020-08-02T14:09:05Z paule32: i have a question about electronix box 2020-08-02T14:09:18Z paule32: https://imgur.com/ieJeE5r 2020-08-02T14:09:37Z paule32: 1x grid: 20x20 2020-08-02T14:09:50Z paule32: each point can have 3x3 array 2020-08-02T14:10:04Z phoe: what is a pfad? 2020-08-02T14:10:26Z paule32: is this a good start, to handle electronic board 2020-08-02T14:10:29Z phoe: what is grid(1), what is pos1/pos2, what are electronic wires 5-10 2020-08-02T14:10:40Z paule32: woops pfad is the german word for path 2020-08-02T14:10:45Z paule32: sorry 2020-08-02T14:11:42Z paule32: pos1 is x1, y1 of grid point 1, pos2 is x2,y1 of grid point 2 2020-08-02T14:12:18Z paule32: sorry, pos2 x2,y2 2020-08-02T14:12:26Z paule32: little typo 2020-08-02T14:12:58Z EvW joined #lisp 2020-08-02T14:13:28Z phoe: what is electronic wire 5-10 2020-08-02T14:13:47Z isBEKaml joined #lisp 2020-08-02T14:14:02Z gaqwas joined #lisp 2020-08-02T14:16:01Z paule32: point x1 = 5 y1 = 5, x2 = 5, y2 = 10, filled with 3x3 array 2020-08-02T14:16:44Z paule32: to traverse the path of a wire or other components 2020-08-02T14:17:15Z phoe: okay, so I understand so far that all the places in the 20x20 array have 0 if they don't have any wire there 2020-08-02T14:17:27Z phoe: and they have an additional 3x3 array if they *have* some sort of wire there 2020-08-02T14:17:34Z phoe: is this correct understanding? 2020-08-02T14:17:58Z paule32: so, with the 3x3 array, i can supply all sides - up/down left/right... 2020-08-02T14:19:46Z enrio joined #lisp 2020-08-02T14:21:49Z wxie quit (Ping timeout: 264 seconds) 2020-08-02T14:24:40Z phoe: yes 2020-08-02T14:25:17Z EvW quit (Ping timeout: 260 seconds) 2020-08-02T14:25:32Z EvW joined #lisp 2020-08-02T14:27:47Z renzhi joined #lisp 2020-08-02T14:31:34Z EvW quit (Ping timeout: 256 seconds) 2020-08-02T14:36:47Z EvW1 joined #lisp 2020-08-02T14:42:00Z edgar-rft joined #lisp 2020-08-02T14:59:28Z ukari quit (Remote host closed the connection) 2020-08-02T15:00:41Z ukari joined #lisp 2020-08-02T15:07:33Z bitmapper joined #lisp 2020-08-02T15:11:42Z EvW1 quit (Ping timeout: 246 seconds) 2020-08-02T15:11:58Z gaqwas quit (Remote host closed the connection) 2020-08-02T15:12:08Z ldb joined #lisp 2020-08-02T15:12:25Z ldb: sorry, just hang out for a while 2020-08-02T15:12:43Z paule32: no problem, all fine 2020-08-02T15:13:55Z toorevitimirp quit (Remote host closed the connection) 2020-08-02T15:15:27Z toorevitimirp joined #lisp 2020-08-02T15:20:01Z Inline quit (Ping timeout: 264 seconds) 2020-08-02T15:23:18Z lalilulelo quit (Remote host closed the connection) 2020-08-02T15:23:45Z ldb quit (Ping timeout: 240 seconds) 2020-08-02T15:23:51Z lalilulelo joined #lisp 2020-08-02T15:25:23Z stepnem quit (Ping timeout: 240 seconds) 2020-08-02T15:25:52Z ldb joined #lisp 2020-08-02T15:26:03Z Josh_2 joined #lisp 2020-08-02T15:26:10Z ldb: paule32: I understand your description now 2020-08-02T15:26:40Z Josh_2: Hi 2020-08-02T15:26:59Z ldb: do you want an algorithom to construct a path by giving two end points? 2020-08-02T15:27:22Z ldb: Josh_2: hey 2020-08-02T15:27:23Z madage quit (Ping timeout: 240 seconds) 2020-08-02T15:27:38Z Josh_2: anyone know if there is a library for the double ratchet algorithm described here https://signal.org/docs/specifications/doubleratchet/ ? 2020-08-02T15:28:31Z ldb: paule32: assuming you want the algorithom in CL since you're asking question in #lisp 2020-08-02T15:28:59Z madage joined #lisp 2020-08-02T15:30:23Z stepnem joined #lisp 2020-08-02T15:32:23Z ldb: Josh_2: I suppose ironclad has it 2020-08-02T15:32:37Z gaqwas joined #lisp 2020-08-02T15:32:37Z gaqwas quit (Changing host) 2020-08-02T15:32:37Z gaqwas joined #lisp 2020-08-02T15:35:46Z Josh_2: nah, think I have to write bindings myself 2020-08-02T15:36:28Z ldb quit (Quit: nearly midnight, ldb goes to bed) 2020-08-02T15:36:49Z isBEKaml quit (Quit: leaving) 2020-08-02T15:38:57Z Josh_2: bit of a pita that synapse (Matrix) have used some obscure encryption scheme 2020-08-02T15:43:57Z Lord_of_Life_ joined #lisp 2020-08-02T15:46:31Z satousan joined #lisp 2020-08-02T15:47:13Z eta: Josh_2: oh dear, what are you using matrix for 2020-08-02T15:47:28Z Josh_2: Well I was writing a bot 2020-08-02T15:47:32Z eta: also the signal protocol isn't obscure; it's almost the standard for encrypted chat apps nowadays 2020-08-02T15:47:35Z eta: oh right 2020-08-02T15:47:37Z Lord_of_Life quit (Ping timeout: 264 seconds) 2020-08-02T15:47:38Z Lord_of_Life_ is now known as Lord_of_Life 2020-08-02T15:48:00Z eta: I'm guessing this is because you need to do e2e 2020-08-02T15:48:04Z Josh_2: but now with no implementation of olm around I'm a bit stumped as I can't decrypt messages 2020-08-02T15:48:06Z Josh_2: yeh 2020-08-02T15:48:11Z eta: Josh_2: use pantalaimon 2020-08-02T15:48:20Z eta: or whatever their transparent proxy is called 2020-08-02T15:48:26Z eta: it does the e2e for you 2020-08-02T15:49:13Z lucasb joined #lisp 2020-08-02T15:50:10Z Josh_2: apparently olm is supposed to be easy to bind 2020-08-02T15:53:44Z orivej joined #lisp 2020-08-02T15:53:58Z enrioog joined #lisp 2020-08-02T15:54:12Z borei joined #lisp 2020-08-02T15:55:05Z shifty joined #lisp 2020-08-02T15:55:16Z liberliver joined #lisp 2020-08-02T15:56:52Z enrio quit (Ping timeout: 256 seconds) 2020-08-02T15:59:18Z lalilulelo quit (Remote host closed the connection) 2020-08-02T15:59:48Z lalilulelo joined #lisp 2020-08-02T16:03:22Z parsifal joined #lisp 2020-08-02T16:03:42Z parsifal quit (Client Quit) 2020-08-02T16:08:05Z Josh_2: If I wanted to bind olm I just create bindings for these functions? https://gitlab.matrix.org/matrix-org/olm/-/blob/master/src/olm.cpp 2020-08-02T16:09:06Z treflip joined #lisp 2020-08-02T16:13:12Z borei quit (Ping timeout: 260 seconds) 2020-08-02T16:13:41Z liberliver quit (Quit: liberliver) 2020-08-02T16:14:19Z toorevitimirp quit (Remote host closed the connection) 2020-08-02T16:14:40Z Oladon quit (Quit: Leaving.) 2020-08-02T16:14:48Z toorevitimirp joined #lisp 2020-08-02T16:19:05Z gko_ quit (Ping timeout: 240 seconds) 2020-08-02T16:20:22Z gaqwas quit (Remote host closed the connection) 2020-08-02T16:21:16Z toorevitimirp quit (Remote host closed the connection) 2020-08-02T16:22:14Z toorevitimirp joined #lisp 2020-08-02T16:23:48Z lalilulelo quit (Remote host closed the connection) 2020-08-02T16:24:54Z lalilulelo joined #lisp 2020-08-02T16:26:35Z borei joined #lisp 2020-08-02T16:40:20Z vaporatorius__ joined #lisp 2020-08-02T16:41:38Z vaporatorius quit (Ping timeout: 260 seconds) 2020-08-02T16:45:59Z ajithmk_ joined #lisp 2020-08-02T16:47:13Z nirved quit (Remote host closed the connection) 2020-08-02T16:48:13Z v88m joined #lisp 2020-08-02T16:49:05Z mangul quit (Ping timeout: 240 seconds) 2020-08-02T16:52:29Z nirved joined #lisp 2020-08-02T16:53:11Z shidima quit (Remote host closed the connection) 2020-08-02T16:56:48Z treflip quit (Quit: WeeChat 2.6) 2020-08-02T16:58:03Z shangul joined #lisp 2020-08-02T17:00:47Z gaqwas joined #lisp 2020-08-02T17:00:48Z gaqwas quit (Changing host) 2020-08-02T17:00:48Z gaqwas joined #lisp 2020-08-02T17:02:32Z toorevitimirp quit (Ping timeout: 256 seconds) 2020-08-02T17:03:26Z toorevitimirp joined #lisp 2020-08-02T17:05:32Z CodeSpelunker joined #lisp 2020-08-02T17:10:46Z terpri__ joined #lisp 2020-08-02T17:13:52Z terpri_ quit (Ping timeout: 260 seconds) 2020-08-02T17:16:48Z Bike joined #lisp 2020-08-02T17:17:20Z enrioog quit (Ping timeout: 256 seconds) 2020-08-02T17:17:48Z jealousmonk joined #lisp 2020-08-02T17:19:06Z abhixec joined #lisp 2020-08-02T17:21:47Z renzhi quit (Ping timeout: 240 seconds) 2020-08-02T17:22:40Z rippa joined #lisp 2020-08-02T17:25:30Z dddddd quit (Ping timeout: 260 seconds) 2020-08-02T17:31:59Z dddddd joined #lisp 2020-08-02T17:39:39Z toorevitimirp quit (Ping timeout: 265 seconds) 2020-08-02T17:40:53Z z3t0 quit (Quit: ZNC 1.7.5 - https://znc.in) 2020-08-02T17:41:21Z toorevitimirp joined #lisp 2020-08-02T17:42:46Z z3t0 joined #lisp 2020-08-02T17:43:45Z caltelt joined #lisp 2020-08-02T17:47:19Z cosimone joined #lisp 2020-08-02T17:47:21Z toorevitimirp quit (Remote host closed the connection) 2020-08-02T17:48:08Z toorevitimirp joined #lisp 2020-08-02T17:50:30Z enrio joined #lisp 2020-08-02T17:58:48Z phoe: it's a .cpp file 2020-08-02T17:58:53Z phoe: it doesn't smell good 2020-08-02T17:59:54Z dominic34 joined #lisp 2020-08-02T18:02:16Z tomaw quit (Ping timeout: 606 seconds) 2020-08-02T18:03:17Z tomaw joined #lisp 2020-08-02T18:04:00Z toorevitimirp quit (Remote host closed the connection) 2020-08-02T18:04:32Z dominic34 quit (Ping timeout: 256 seconds) 2020-08-02T18:04:43Z toorevitimirp joined #lisp 2020-08-02T18:05:29Z akoana joined #lisp 2020-08-02T18:08:06Z CodeSpelunker quit (Quit: CodeSpelunker) 2020-08-02T18:14:59Z shifty quit (Ping timeout: 240 seconds) 2020-08-02T18:15:57Z shifty joined #lisp 2020-08-02T18:16:10Z karlosz joined #lisp 2020-08-02T18:17:36Z jealousmonk quit (Quit: Leaving) 2020-08-02T18:23:34Z shangul quit (Ping timeout: 256 seconds) 2020-08-02T18:27:04Z enrio quit (Quit: Leaving) 2020-08-02T18:30:11Z notzmv quit (Ping timeout: 240 seconds) 2020-08-02T18:31:14Z satousan quit (Quit: WeeChat 2.3) 2020-08-02T18:36:11Z FreeBirdLjj joined #lisp 2020-08-02T18:40:47Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2020-08-02T18:44:13Z jw4 quit (Read error: Connection reset by peer) 2020-08-02T18:44:15Z Oladon joined #lisp 2020-08-02T18:46:06Z jw4 joined #lisp 2020-08-02T18:49:21Z toorevitimirp quit (Remote host closed the connection) 2020-08-02T18:49:45Z toorevitimirp joined #lisp 2020-08-02T18:52:45Z OpenZen joined #lisp 2020-08-02T18:53:32Z jgodbout joined #lisp 2020-08-02T18:58:39Z mindCrime joined #lisp 2020-08-02T19:02:25Z v88m quit (Ping timeout: 246 seconds) 2020-08-02T19:04:00Z ajithmk_ quit (Quit: Connection closed for inactivity) 2020-08-02T19:04:47Z hhdave joined #lisp 2020-08-02T19:09:32Z hhdave quit (Ping timeout: 256 seconds) 2020-08-02T19:17:30Z gaqwas quit (Remote host closed the connection) 2020-08-02T19:18:05Z hhdave joined #lisp 2020-08-02T19:25:48Z Bourne quit (Read error: Connection reset by peer) 2020-08-02T19:26:57Z Necktwi quit (Ping timeout: 265 seconds) 2020-08-02T19:28:02Z mindCrime quit (Ping timeout: 260 seconds) 2020-08-02T19:32:08Z shifty quit (Ping timeout: 256 seconds) 2020-08-02T19:32:24Z shifty joined #lisp 2020-08-02T19:32:45Z grumble quit (Quit: Just put a quit message down and we'll change it later. Seriously Kevin, just goddamn put something. No, not what I just said. A quit message ffs) 2020-08-02T19:34:16Z narimiran quit (Ping timeout: 246 seconds) 2020-08-02T19:34:45Z mindCrime joined #lisp 2020-08-02T19:39:15Z grumble joined #lisp 2020-08-02T19:41:47Z karlosz quit (Quit: karlosz) 2020-08-02T19:42:34Z karlosz joined #lisp 2020-08-02T19:43:36Z Necktwi joined #lisp 2020-08-02T19:56:28Z Josh_2: I'm starting to get real tired of ningle, just seems so clunky to do anything with the middleware 2020-08-02T20:01:03Z mfiano: u 2020-08-02T20:01:21Z mfiano: oops, sorry 2020-08-02T20:03:28Z easye quit (Remote host closed the connection) 2020-08-02T20:10:06Z phoe: u2 2020-08-02T20:12:13Z shifty quit (Ping timeout: 264 seconds) 2020-08-02T20:13:11Z shifty joined #lisp 2020-08-02T20:15:46Z Lycurgus joined #lisp 2020-08-02T20:24:57Z shifty quit (Ping timeout: 265 seconds) 2020-08-02T20:25:17Z shifty joined #lisp 2020-08-02T20:38:17Z ggole quit (Quit: Leaving) 2020-08-02T20:57:18Z Lycurgus quit (Remote host closed the connection) 2020-08-02T21:04:06Z xrash joined #lisp 2020-08-02T21:06:07Z v88m joined #lisp 2020-08-02T21:06:19Z alandipert4 joined #lisp 2020-08-02T21:08:08Z alandipert quit (Ping timeout: 256 seconds) 2020-08-02T21:10:57Z drmeister: Hey folks - I dunno how many of you do low level debugging with gdb or lldb. 2020-08-02T21:11:14Z drmeister: But if you do - you should check out the "Undo" time traveling debugger. 2020-08-02T21:11:29Z drmeister: I've been using an evaluation copy for the last couple of days and it is amazing. 2020-08-02T21:12:08Z drmeister: It records the state of every instruction from when you connect to the process to a break-point. Then you can backup and examine registers. 2020-08-02T21:12:18Z orivej quit (Ping timeout: 260 seconds) 2020-08-02T21:12:43Z drmeister: Here I'm using it to debug a tricky problem in clasp's Common Lisp compiler. 2020-08-02T21:12:44Z drmeister: https://www.dropbox.com/s/2kzehok7x2kjfm5/Screen%20Recording%202020-08-02%20at%2010.39.40%20AM.mov?dl=0 2020-08-02T21:13:53Z drmeister: I believe that our type inference is getting confused by some unused lexical variable bindings. 2020-08-02T21:14:08Z drmeister: So I move forward through a LET* into a the bottom bindings that are inlined. 2020-08-02T21:14:23Z drmeister: The inlining also doesn't generate good DWARF metadata - so we lose source info. 2020-08-02T21:15:00Z drmeister: It signals an error and then I reverse back into the top of the LET* 2020-08-02T21:19:44Z p_l: drmeister: I wonder how much of my friend's code is involved in the work you used there :) though AFAIK GDB also has time travel support 2020-08-02T21:24:15Z terpri_ joined #lisp 2020-08-02T21:26:17Z drmeister: Does your friend work at Undo? Undo is built on top of gdb. But I dunno about time travel support in stock gdb. 2020-08-02T21:26:37Z Fare: rr gives you time travel support. 2020-08-02T21:26:58Z drmeister: Huh https://www.gnu.org/software/gdb/news/reversible.html 2020-08-02T21:27:06Z drmeister: rr? 2020-08-02T21:27:25Z Fare: https://rr-project.org/ 2020-08-02T21:27:37Z terpri__ quit (Ping timeout: 260 seconds) 2020-08-02T21:28:03Z p_l: drmeister: yeah, though now I checked mostly in "professional services", so I guess custom patches for clients ;) 2020-08-02T21:28:38Z p_l: nice integration with source listing you have, never seen it work with other debuggers when it comes to lisp 2020-08-02T21:29:23Z shifty quit (Ping timeout: 240 seconds) 2020-08-02T21:29:33Z drmeister: Yeah - we've been adding DWARF generation to clasp. We have a bit more work to do with inlined code. We have the inlinedAt chain - but we aren't generating the appropriate DWARF with it yet. 2020-08-02T21:29:49Z drmeister: udb makes it easier to figure out where the holes in the DWARF coverage are. 2020-08-02T21:30:02Z stepnem quit (Ping timeout: 260 seconds) 2020-08-02T21:30:04Z shifty joined #lisp 2020-08-02T21:30:28Z stepnem joined #lisp 2020-08-02T21:30:47Z drmeister: I also wrote a python extension that works with gdb and lldb and lets you examine lisp objects from the outside using the gdb/lldb debugger. 2020-08-02T21:31:03Z Fare: drmeister, using Python is its own punishment. 2020-08-02T21:31:12Z Fare: Why didn't you do it in Lisp? 2020-08-02T21:31:16Z drmeister: Don't I know it. 2020-08-02T21:31:23Z Fare: You don't know Lisp? 2020-08-02T21:31:30Z drmeister: Is there a Common Lisp extension capability for lldb and gdb? 2020-08-02T21:32:04Z drmeister: Anyway - I'm a practical polyglot. 2020-08-02T21:32:29Z Fare: Might be more fun, less time, and less soul-sucking to write one than to use Python. 2020-08-02T21:32:35Z asarch joined #lisp 2020-08-02T21:32:43Z drmeister: gdb has guile - but that's not Common Lispy enough for me - it would probably damage my programming ability. 2020-08-02T21:32:46Z Fare: I don't think I can ever again use Python in my life. 2020-08-02T21:32:56Z Fare: Guile is acceptable. 2020-08-02T21:33:06Z Fare: Why damage? 2020-08-02T21:33:12Z Fare: Scheme is quite similar to CL. 2020-08-02T21:33:24Z Fare: Though yes, there are enough differences 2020-08-02T21:33:25Z drmeister: Too similar. 2020-08-02T21:33:36Z p_l: drmeister: too many false friends? 2020-08-02T21:33:42Z Fare: You could use it with one of those MEXP syntaxes. 2020-08-02T21:33:51Z Fare: so it would look more different 2020-08-02T21:34:00Z drmeister: Anyway - I have bigger fish to fry. I knocked the Python extension out in a couple of days and made it portable so that it works from lldb and gdb. 2020-08-02T21:34:27Z Jesin quit (Quit: Leaving) 2020-08-02T21:34:32Z drmeister: Aaand with gdb I made it work with Python 3.7 and Python 2.7 (udb uses gdb8 and for some reason they use Python 2.7). Hi ho. 2020-08-02T21:37:01Z Jesin joined #lisp 2020-08-02T21:44:48Z shifty quit (Ping timeout: 256 seconds) 2020-08-02T21:44:57Z orivej joined #lisp 2020-08-02T21:45:17Z shifty joined #lisp 2020-08-02T21:49:18Z notzmv joined #lisp 2020-08-02T21:49:42Z akoana: Fare: may I ask, what are the (main) things you consider soul-sucking in python (just curious, if you like to share)? 2020-08-02T21:50:55Z Fare: oh my 2020-08-02T21:51:09Z Fare: Are you familiar with the concept of "attractive nuisance"? 2020-08-02T21:51:26Z Fare: something that looks nice, but when you try to use it, you can suffer severe harm. 2020-08-02T21:52:04Z Fare: people who deploy them in the wild are civilly liable for e.g. kids who jump in a empty swimming pool not protected by a fence. 2020-08-02T21:52:32Z Fare: People who publish python should be bankrupted and/or sent to jail. That includes Google developers and management who have promoted it. 2020-08-02T21:53:32Z Fare: The entire idea of "there are libraries for everything", but the actual quality of those libraries is appalling, and a maintenance disaster, and security liability. 2020-08-02T21:54:50Z Fare: even the standard library... full of horrors such as `l = [1,2]; m = l ; m += [3]` side-effecting the original 2020-08-02T21:55:05Z p_l: akoana: semantically important token in the form of 4 spaces. tantalizing you with "REPL" yet actually zero support for interactive programming, to the point that C is equally interactive. The libraries can be WTF, especially when you need to deal with deep exception chains, where sometimes your recovery attempts fail because somehow the library deleted the object and thus causing a totally different error.... 2020-08-02T21:55:15Z stylewarning: the best thing about python is its dead simple, fun, and easy way of distributing your application to others 2020-08-02T21:55:19Z Fare: Happily, x = 2; y = x ; x +=1 doesn't side-effect all occurrences of the integer constant 2. 2020-08-02T21:55:40Z Fare: it LOOKS dead simple, but its semantics is actually quite horrible. Scoping rules? Oh my. 2020-08-02T21:55:43Z Josh_2: Ima screenshot this and send to my python buddies 2020-08-02T21:55:50Z p_l: stylewarning: I honestly wanted to whack you with a shovel for a moment there, got PTSD from that line 2020-08-02T21:56:11Z bitmapper: stylewarning: solution: use clpython 2020-08-02T21:56:14Z Fare: basically, the syntax looks nice, but everything else is actually good... until it's actually terrible. 2020-08-02T21:56:45Z stylewarning: Fare: what is so difficult about getting a virtualenv and venv and downloading conda 4.6 and getting that to interact with your system pip (which you might as well override with conda's pip (but not the python.org pip)) and point things to the right python interpreter on a per project basis i really don't understand how you could be so confused 2020-08-02T21:56:57Z Fare: The idiot who designed Python had severe Dunning-Kruger and refused to delegate aspects of his languages to people who knew better, even when they were actually trying to help him. 2020-08-02T21:57:15Z stylewarning: Fare: you can make that Super Simple by putting all of that in a 7 GB docker image which you can give to me by making a totally free DockerHub account 2020-08-02T21:57:17Z Fare: venv is horrible 2020-08-02T21:57:38Z Fare: give me ASDF any day in comparison; and I don't love ASDF *that* much in this respect. 2020-08-02T21:58:23Z akoana: Fare: (and all who responded) thank you. I understand, got similar feelings with python after trying to do some serious work with it. Confirming I'm not alone with my thoughts about it:) 2020-08-02T21:58:43Z p_l: Fare: I remember people laying into Ruby for Bundler. Except Python distribution tools make Ruby look like polished gem (pun intended) 2020-08-02T21:58:46Z easye joined #lisp 2020-08-02T21:58:48Z Fare: also—the object system is a toy, that was blessed into production 2020-08-02T21:59:01Z p_l: ohhh, the OOP 2020-08-02T21:59:10Z Fare: but what do you expect in a language that doesn't have macros so you could write your own OOP 2020-08-02T21:59:20Z Fare: they *have* to bless a toy, no other option 2020-08-02T21:59:23Z p_l: I honestly had an issue recently trying to figure how to call superclass' __init__ 2020-08-02T21:59:56Z p_l: cause I haven't really worked in Python with classes since around beta releases of Py3k 2020-08-02T22:00:08Z stylewarning: i remember trying to write a function to tee a stream in python, like I wanted to do something like s = tee(stdout, logger) and write to s; it turns out you have to go copy paste some random stream class on stack overflow (lol duck typing) hoping it has the needed methods, because they're not clearly documented anywhere 2020-08-02T22:00:13Z gravicappa quit (Ping timeout: 246 seconds) 2020-08-02T22:00:16Z stylewarning: then the final advice i got was "just simply don't tee streams" 2020-08-02T22:00:23Z stylewarning: and i was enlightened 2020-08-02T22:00:27Z Fare: and then the incompetent decisions made while it was a toy are baked into all production software. 2020-08-02T22:00:53Z Fare: right now I'm using my own object system in Gerbil, instead of Gerbil's builtin object system. No problem, thanks to macros. 2020-08-02T22:01:16Z paule32: hello 2020-08-02T22:01:28Z Josh_2: hi paule32 2020-08-02T22:01:29Z Fare: And while it *is* a (nice) toy, there is no pretense and no need to cast it in stone as everyone's only allowed object system for decades to come when using the language. 2020-08-02T22:01:35Z paule32: what is wrong here https://dpaste.com/FPAG4MZA6 2020-08-02T22:01:55Z paule32: at defun 2020-08-02T22:02:07Z Josh_2: The formatting 2020-08-02T22:02:10Z Josh_2: thats what is wrong xD 2020-08-02T22:02:18Z Fare: paule32: what's wrong is you failed to describe your expectations and how the discrepancy between expectations and reality 2020-08-02T22:02:47Z paule32: Josh_2: yes, but nearly on 2020-08-02T22:03:02Z taof joined #lisp 2020-08-02T22:03:13Z paule32: ; caught ERROR: 2020-08-02T22:03:14Z paule32: ; Variable name is not a symbol: (AREF *GRID* X1 YA). 2020-08-02T22:04:25Z random-nick quit (Ping timeout: 246 seconds) 2020-08-02T22:04:45Z drmeister: Anywho - I get a pass on using Python to write a gdb/lldb extension because I'm developing a Common Lisp implementation to avoid using Python in the rest of my life. 2020-08-02T22:05:10Z karlosz quit (Quit: karlosz) 2020-08-02T22:05:26Z p_l: drmeister: you have my honest condolences that you had to deal with it, and well wishes for your work :) 2020-08-02T22:06:03Z Josh_2: drmeister: that sounds very cool 2020-08-02T22:06:32Z drmeister: I wish I could convince my colleagues though. They think the height of scientific software development is to develop a Python bindings for Fortan code. 2020-08-02T22:07:12Z paule32: Josh_2: ? 2020-08-02T22:07:21Z paule32: can you help 2020-08-02T22:09:02Z karlosz joined #lisp 2020-08-02T22:09:03Z drmeister: paule32: Your code runs fine in clasp (a Common Lisp implementation) 2020-08-02T22:09:35Z drmeister: https://www.irccloud.com/pastebin/unL5KlJ9/ 2020-08-02T22:09:53Z Bourne joined #lisp 2020-08-02T22:10:08Z Josh_2: It's very very questionable code however 2020-08-02T22:10:46Z drmeister: paule32: How are you evaluating that code? 2020-08-02T22:11:29Z paule32: sbcl 2020-08-02T22:12:31Z paule32: drmeister: first, i create 2d array 20x20 2020-08-02T22:13:11Z paule32: second, i add a 3x3 array to a point of first grid 2020-08-02T22:13:51Z paule32: that makes me possible to add components for each gap at first grid 2020-08-02T22:14:17Z paule32: now, i would add a wire component 2020-08-02T22:14:59Z mfiano: Too many things wrong with that coding style to want to look into it. 2020-08-02T22:15:07Z paule32: at position x1 := 5, y1 = 5 as start/src , and x2 := 5, y2 = 10 2020-08-02T22:15:12Z paule32: as dst 2020-08-02T22:15:19Z Josh_2: mfiano++ 2020-08-02T22:17:09Z paule32: here a image to see the work at code: https://imgur.com/a/8wr584P 2020-08-02T22:28:45Z easye quit (Ping timeout: 240 seconds) 2020-08-02T22:30:55Z orivej_ joined #lisp 2020-08-02T22:31:01Z orivej quit (Ping timeout: 246 seconds) 2020-08-02T22:31:24Z paule32 quit (Quit: paule32) 2020-08-02T22:33:23Z shifty quit (Ping timeout: 240 seconds) 2020-08-02T22:33:50Z shifty joined #lisp 2020-08-02T22:35:14Z easye joined #lisp 2020-08-02T22:38:21Z pve quit (Quit: leaving) 2020-08-02T22:43:48Z torbo joined #lisp 2020-08-02T22:45:45Z orivej_ quit (Ping timeout: 272 seconds) 2020-08-02T22:46:29Z karlosz quit (Quit: karlosz) 2020-08-02T22:47:29Z asarch quit (Quit: Leaving) 2020-08-02T22:52:22Z easye quit (Ping timeout: 265 seconds) 2020-08-02T23:07:03Z jprajzne quit (Quit: jprajzne) 2020-08-02T23:07:26Z jprajzne joined #lisp 2020-08-02T23:11:32Z jprajzne quit (Client Quit) 2020-08-02T23:11:56Z jprajzne joined #lisp 2020-08-02T23:17:10Z ayuce quit (Ping timeout: 256 seconds) 2020-08-02T23:17:35Z EvW joined #lisp 2020-08-02T23:23:15Z MichaelRaskin quit (Quit: MichaelRaskin) 2020-08-02T23:26:59Z wooden quit (Read error: Connection reset by peer) 2020-08-02T23:30:02Z _whitelogger quit (Remote host closed the connection) 2020-08-02T23:30:07Z cosimone quit (Ping timeout: 260 seconds) 2020-08-02T23:31:03Z wooden joined #lisp 2020-08-02T23:31:03Z wooden quit (Changing host) 2020-08-02T23:31:03Z wooden joined #lisp 2020-08-02T23:32:13Z _whitelogger joined #lisp 2020-08-02T23:42:50Z toorevitimirp quit (Ping timeout: 256 seconds) 2020-08-02T23:47:16Z karlosz joined #lisp 2020-08-02T23:48:49Z karlosz quit (Client Quit) 2020-08-02T23:50:05Z stepnem quit (Ping timeout: 240 seconds) 2020-08-02T23:50:30Z stepnem joined #lisp 2020-08-02T23:53:19Z red-dot joined #lisp 2020-08-03T00:04:05Z SenasOzys quit (Ping timeout: 240 seconds) 2020-08-03T00:09:22Z jgodbout quit (Ping timeout: 246 seconds) 2020-08-03T00:14:37Z Blukunfando quit (Ping timeout: 264 seconds) 2020-08-03T00:16:27Z Oladon quit (Quit: Leaving.) 2020-08-03T00:22:03Z jprajzne quit (Quit: jprajzne) 2020-08-03T00:22:10Z ajithmk_ joined #lisp 2020-08-03T00:22:25Z jprajzne joined #lisp 2020-08-03T00:26:32Z jprajzne quit (Client Quit) 2020-08-03T00:26:56Z jprajzne joined #lisp 2020-08-03T00:30:19Z cjb joined #lisp 2020-08-03T00:41:25Z zooey joined #lisp 2020-08-03T01:12:05Z mindCrime quit (Excess Flood) 2020-08-03T01:12:34Z mindCrime joined #lisp 2020-08-03T01:14:07Z Bourne quit (Ping timeout: 246 seconds) 2020-08-03T01:16:43Z iissaacc joined #lisp 2020-08-03T01:20:22Z EvW quit (Ping timeout: 260 seconds) 2020-08-03T01:21:25Z cjb quit (Ping timeout: 245 seconds) 2020-08-03T01:23:04Z Bourne joined #lisp 2020-08-03T01:26:50Z CodeSpelunker joined #lisp 2020-08-03T01:32:35Z caltelt quit (Ping timeout: 240 seconds) 2020-08-03T01:33:39Z cjb joined #lisp 2020-08-03T01:37:03Z jprajzne quit (Quit: jprajzne) 2020-08-03T01:37:47Z jprajzne joined #lisp 2020-08-03T01:40:03Z iissaacc quit (Remote host closed the connection) 2020-08-03T01:40:17Z iissaacc joined #lisp 2020-08-03T01:41:32Z jprajzne quit (Client Quit) 2020-08-03T01:41:53Z jprajzne joined #lisp 2020-08-03T01:43:33Z technobean joined #lisp 2020-08-03T01:44:13Z notzmv quit (Ping timeout: 246 seconds) 2020-08-03T01:47:12Z dilated_dinosaur quit (Ping timeout: 260 seconds) 2020-08-03T01:47:37Z dilated_dinosaur joined #lisp 2020-08-03T01:51:48Z iissaacc quit (Ping timeout: 256 seconds) 2020-08-03T01:53:22Z orivej joined #lisp 2020-08-03T01:54:18Z notzmv joined #lisp 2020-08-03T02:07:13Z terpri__ joined #lisp 2020-08-03T02:08:49Z jeosol quit (Ping timeout: 245 seconds) 2020-08-03T02:10:32Z terpri_ quit (Ping timeout: 260 seconds) 2020-08-03T02:11:27Z iissaacc joined #lisp 2020-08-03T02:12:20Z terpri__ quit (Remote host closed the connection) 2020-08-03T02:12:44Z terpri__ joined #lisp 2020-08-03T02:20:14Z bsd4me joined #lisp 2020-08-03T02:20:27Z mindCrime quit (Ping timeout: 260 seconds) 2020-08-03T02:23:46Z iissaacc quit (Ping timeout: 246 seconds) 2020-08-03T02:25:52Z orivej quit (Quit: No Ping reply in 180 seconds.) 2020-08-03T02:26:17Z alandipert4 quit (Quit: Ping timeout (120 seconds)) 2020-08-03T02:26:45Z alandipert4 joined #lisp 2020-08-03T02:27:01Z orivej joined #lisp 2020-08-03T02:29:16Z contrapunctus left #lisp 2020-08-03T02:29:27Z contrapunctus joined #lisp 2020-08-03T02:30:13Z Bourne quit (Ping timeout: 264 seconds) 2020-08-03T02:30:24Z getha quit (Ping timeout: 256 seconds) 2020-08-03T02:30:40Z thijso joined #lisp 2020-08-03T02:30:46Z zaquest quit (Ping timeout: 246 seconds) 2020-08-03T02:30:52Z alandipert4 is now known as alandipert 2020-08-03T02:31:49Z zaquest joined #lisp 2020-08-03T02:35:52Z orivej quit (Quit: No Ping reply in 180 seconds.) 2020-08-03T02:37:12Z orivej joined #lisp 2020-08-03T02:42:02Z Fare quit (Ping timeout: 260 seconds) 2020-08-03T02:44:20Z lalilulelo quit (Quit: Leaving) 2020-08-03T02:45:23Z orivej quit (Ping timeout: 240 seconds) 2020-08-03T02:45:51Z orivej joined #lisp 2020-08-03T02:48:05Z shifty quit (Ping timeout: 240 seconds) 2020-08-03T02:49:48Z terpri__ is now known as terpri 2020-08-03T02:50:10Z iissaacc joined #lisp 2020-08-03T02:53:02Z akoana left #lisp 2020-08-03T02:53:45Z akoana joined #lisp 2020-08-03T03:00:22Z orivej quit (Quit: No Ping reply in 180 seconds.) 2020-08-03T03:00:53Z ajithmk_ quit (Quit: Connection closed for inactivity) 2020-08-03T03:01:16Z Oladon joined #lisp 2020-08-03T03:01:31Z orivej joined #lisp 2020-08-03T03:02:05Z Alfr__ joined #lisp 2020-08-03T03:02:30Z Bike quit (Remote host closed the connection) 2020-08-03T03:04:47Z Alfr_ quit (Ping timeout: 260 seconds) 2020-08-03T03:05:32Z iissaacc quit (Ping timeout: 256 seconds) 2020-08-03T03:05:47Z zulu-inuoe quit (Read error: Connection reset by peer) 2020-08-03T03:07:48Z taof quit (Ping timeout: 256 seconds) 2020-08-03T03:11:31Z lucasb quit (Quit: Connection closed for inactivity) 2020-08-03T03:17:46Z cyraxjoe quit (Quit: I'm out!) 2020-08-03T03:20:41Z cyraxjoe joined #lisp 2020-08-03T03:23:17Z orivej quit (Ping timeout: 246 seconds) 2020-08-03T03:23:21Z torbo quit (Remote host closed the connection) 2020-08-03T03:23:29Z bonz060 quit (Remote host closed the connection) 2020-08-03T03:23:54Z bonz060 joined #lisp 2020-08-03T03:24:02Z stepnem_ joined #lisp 2020-08-03T03:24:11Z orivej joined #lisp 2020-08-03T03:24:13Z stepnem quit (Ping timeout: 264 seconds) 2020-08-03T03:25:28Z flak joined #lisp 2020-08-03T03:27:07Z rippa quit (Ping timeout: 246 seconds) 2020-08-03T03:29:34Z remexre quit (Ping timeout: 246 seconds) 2020-08-03T03:31:21Z akoana quit (Quit: leaving) 2020-08-03T03:32:10Z orivej quit (Ping timeout: 260 seconds) 2020-08-03T03:32:10Z remexre joined #lisp 2020-08-03T03:35:28Z beach: Good morning everyone! 2020-08-03T03:35:55Z ajithmk_ joined #lisp 2020-08-03T03:39:56Z bhartrihari left #lisp 2020-08-03T03:43:34Z zmt00 joined #lisp 2020-08-03T03:45:24Z Lord_of_Life_ joined #lisp 2020-08-03T03:45:45Z Lord_of_Life quit (Ping timeout: 240 seconds) 2020-08-03T03:46:44Z Lord_of_Life_ is now known as Lord_of_Life 2020-08-03T03:47:22Z orivej joined #lisp 2020-08-03T04:00:03Z EvW1 joined #lisp 2020-08-03T04:00:04Z Archenoth quit (Read error: Connection reset by peer) 2020-08-03T04:00:14Z Fare joined #lisp 2020-08-03T04:01:31Z iissaacc joined #lisp 2020-08-03T04:05:31Z flak quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2020-08-03T04:06:19Z orivej quit (Ping timeout: 246 seconds) 2020-08-03T04:07:01Z orivej joined #lisp 2020-08-03T04:08:03Z CodeSpelunker quit (Quit: CodeSpelunker) 2020-08-03T04:16:12Z cjb quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-08-03T04:20:12Z bhartrihari joined #lisp 2020-08-03T04:20:37Z Fare quit (Ping timeout: 260 seconds) 2020-08-03T04:20:45Z Bourne joined #lisp 2020-08-03T04:21:26Z space_otter joined #lisp 2020-08-03T04:21:50Z narimiran joined #lisp 2020-08-03T04:22:23Z cjb joined #lisp 2020-08-03T04:23:40Z orivej quit (Ping timeout: 256 seconds) 2020-08-03T04:23:52Z orivej joined #lisp 2020-08-03T04:45:28Z JohnTalent joined #lisp 2020-08-03T04:52:03Z jprajzne quit (Quit: jprajzne) 2020-08-03T04:52:24Z jprajzne joined #lisp 2020-08-03T04:52:25Z zmt00 quit (Ping timeout: 264 seconds) 2020-08-03T04:53:53Z zmt00 joined #lisp 2020-08-03T04:53:55Z zmt00 quit (Remote host closed the connection) 2020-08-03T04:54:16Z zmt00 joined #lisp 2020-08-03T04:54:54Z EvW1 quit (Ping timeout: 244 seconds) 2020-08-03T04:56:21Z brandonz joined #lisp 2020-08-03T04:56:32Z jprajzne quit (Client Quit) 2020-08-03T04:56:57Z jprajzne joined #lisp 2020-08-03T05:00:55Z iissaacc quit (Ping timeout: 246 seconds) 2020-08-03T05:04:41Z orivej quit (Quit: No Ping reply in 180 seconds.) 2020-08-03T05:06:00Z orivej joined #lisp 2020-08-03T05:08:22Z iissaacc joined #lisp 2020-08-03T05:08:57Z Oladon quit (Quit: Leaving.) 2020-08-03T05:10:38Z bottlecap32 joined #lisp 2020-08-03T05:12:01Z gravicappa joined #lisp 2020-08-03T05:12:09Z bottlecap quit (Ping timeout: 245 seconds) 2020-08-03T05:13:11Z edgar-rft quit (Quit: Leaving) 2020-08-03T05:15:37Z orivej quit (Ping timeout: 246 seconds) 2020-08-03T05:16:10Z orivej joined #lisp 2020-08-03T05:19:31Z OpenZen quit (Ping timeout: 265 seconds) 2020-08-03T05:21:57Z technobean quit (Remote host closed the connection) 2020-08-03T05:25:30Z borei quit (Ping timeout: 256 seconds) 2020-08-03T05:29:00Z bhartrihari left #lisp 2020-08-03T05:40:56Z bhartrihari joined #lisp 2020-08-03T05:43:33Z Oladon joined #lisp 2020-08-03T05:43:56Z shangul joined #lisp 2020-08-03T05:50:06Z bsd4me quit (Quit: Leaving) 2020-08-03T05:51:35Z zmt00 quit (Read error: Connection reset by peer) 2020-08-03T06:03:53Z mangul joined #lisp 2020-08-03T06:05:46Z shidima joined #lisp 2020-08-03T06:06:01Z shangul quit (Ping timeout: 246 seconds) 2020-08-03T06:06:01Z xrash quit (Ping timeout: 246 seconds) 2020-08-03T06:09:41Z orivej quit (Quit: No Ping reply in 180 seconds.) 2020-08-03T06:10:50Z orivej joined #lisp 2020-08-03T06:17:40Z orivej quit (Quit: No Ping reply in 180 seconds.) 2020-08-03T06:19:00Z orivej joined #lisp 2020-08-03T06:29:34Z iissaacc quit (Remote host closed the connection) 2020-08-03T06:29:50Z iissaacc joined #lisp 2020-08-03T06:32:05Z JohnTalent quit (Quit: leaving) 2020-08-03T06:33:53Z luckless_ quit (Quit: WeeChat 2.8) 2020-08-03T06:39:59Z ldb joined #lisp 2020-08-03T06:41:40Z ldb: hello all 2020-08-03T06:42:09Z beach: Hello ldb. 2020-08-03T06:43:12Z Oladon quit (Quit: Leaving.) 2020-08-03T06:51:45Z ldb quit (Ping timeout: 240 seconds) 2020-08-03T06:55:43Z iissaacc quit (Ping timeout: 246 seconds) 2020-08-03T06:55:50Z contrapunctus left #lisp 2020-08-03T06:56:00Z contrapunctus joined #lisp 2020-08-03T06:56:37Z orivej quit (Ping timeout: 264 seconds) 2020-08-03T06:56:41Z orivej_ joined #lisp 2020-08-03T07:08:23Z iissaacc joined #lisp 2020-08-03T07:15:51Z bhartrihari left #lisp 2020-08-03T07:16:01Z bhartrihari joined #lisp 2020-08-03T07:16:09Z ljavorsk joined #lisp 2020-08-03T07:18:26Z treflip joined #lisp 2020-08-03T07:25:14Z bhartrihari left #lisp 2020-08-03T07:25:20Z orivej joined #lisp 2020-08-03T07:25:24Z bhartrihari joined #lisp 2020-08-03T07:25:25Z orivej_ quit (Ping timeout: 264 seconds) 2020-08-03T07:26:38Z pve joined #lisp 2020-08-03T07:27:19Z liberliver joined #lisp 2020-08-03T07:27:55Z gxt joined #lisp 2020-08-03T07:40:17Z ldb joined #lisp 2020-08-03T07:48:36Z jonatack quit (Quit: jonatack) 2020-08-03T07:59:04Z ldb quit (Ping timeout: 256 seconds) 2020-08-03T08:00:18Z stepnem_ quit (Read error: Connection reset by peer) 2020-08-03T08:03:39Z stepnem joined #lisp 2020-08-03T08:04:28Z ggole joined #lisp 2020-08-03T08:07:41Z hendursa1 joined #lisp 2020-08-03T08:09:32Z mingus joined #lisp 2020-08-03T08:10:03Z hendursaga quit (Ping timeout: 240 seconds) 2020-08-03T08:12:58Z ldb joined #lisp 2020-08-03T08:16:58Z luna_is_here quit (Quit: luna_is_here) 2020-08-03T08:18:22Z gxt quit (Remote host closed the connection) 2020-08-03T08:21:01Z remexre: hm, does anyone know of an implementation of UAX #11 in lisp? 2020-08-03T08:22:33Z remexre: haven't found anything googling around, but figured I'd ask here before writing my own / deciding not to support unicode 2020-08-03T08:23:51Z gxt joined #lisp 2020-08-03T08:24:09Z ldb quit (Ping timeout: 265 seconds) 2020-08-03T08:29:32Z luna_is_here joined #lisp 2020-08-03T08:30:46Z easye joined #lisp 2020-08-03T08:31:16Z phoe: remexre: AFAIK there is none 2020-08-03T08:32:09Z remexre: hm, unfortunate 2020-08-03T08:33:43Z beach: remexre: What do you mean by "deciding not to support unicode"? 2020-08-03T08:34:09Z bhartrihari left #lisp 2020-08-03T08:35:12Z remexre: uh, just assuming all characters are one column wide and leaving a comment, "stick to ascii or implement uax11" 2020-08-03T08:35:21Z remexre: (I have a fix-up for tabs elsewhere) 2020-08-03T08:36:30Z bhartrihari joined #lisp 2020-08-03T08:37:14Z contrapunctus left #lisp 2020-08-03T08:37:59Z contrapunctus joined #lisp 2020-08-03T08:39:15Z bhartrihari left #lisp 2020-08-03T08:39:33Z bhartrihari joined #lisp 2020-08-03T08:41:28Z bhartrihari left #lisp 2020-08-03T08:41:36Z bhartrihari joined #lisp 2020-08-03T08:44:20Z shidima quit (Ping timeout: 256 seconds) 2020-08-03T08:46:19Z toorevitimirp joined #lisp 2020-08-03T08:47:00Z toorevitimirp quit (Remote host closed the connection) 2020-08-03T08:48:15Z shidima joined #lisp 2020-08-03T08:48:49Z cjb quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-08-03T08:50:03Z toorevitimirp joined #lisp 2020-08-03T08:52:11Z toorevitimirp quit (Remote host closed the connection) 2020-08-03T08:53:28Z bhartrihari left #lisp 2020-08-03T08:53:42Z toorevitimirp joined #lisp 2020-08-03T08:54:35Z bhartrihari joined #lisp 2020-08-03T08:58:57Z shidima quit (Ping timeout: 265 seconds) 2020-08-03T09:03:40Z ldb joined #lisp 2020-08-03T09:08:38Z ldb quit (Ping timeout: 260 seconds) 2020-08-03T09:14:20Z pve: Good morning! A terminology question: is it correct to say that a cons is a "persistent data structure", whereas something like a hash table (at least in CL) is not? 2020-08-03T09:15:22Z beach: That doesn't sound right. 2020-08-03T09:15:33Z phoe: what do you mean by "persistent" 2020-08-03T09:15:42Z beach: Why would a CONS be persistent? 2020-08-03T09:15:45Z phoe: neither of these survives garbage collection 2020-08-03T09:15:46Z flip214: pve: both can have their "internal state" changed 2020-08-03T09:15:57Z phoe: neither of these survives closing the Lisp image 2020-08-03T09:16:16Z phoe: neither is strictly immutable, as flip214 mentioned 2020-08-03T09:16:22Z beach: phoe: That's not what the term means (unfortunately). 2020-08-03T09:16:26Z flip214: or do you mean that the in-memory layout is fixed for a CONS cell, but a hash table can change in size? 2020-08-03T09:16:42Z phoe: beach: that's why I'm asking what "persistent" means in this context 2020-08-03T09:16:47Z beach: Sure. 2020-08-03T09:17:09Z phoe: if it's https://en.wikipedia.org/wiki/Persistent_data_structure then neither conses nor hash tables in CL are like that 2020-08-03T09:17:20Z phoe: even if just because both are mutable 2020-08-03T09:17:34Z bottlecap32 quit (Ping timeout: 245 seconds) 2020-08-03T09:18:53Z phoe: you can treat both of them as functional data structures which means not mutating them; this means consing up new lists and sharing structure wherever possible, and making new hash tables instead of modifying old ones 2020-08-03T09:18:56Z pve: yeah, I was looking for a name to distinguish between those kinds of data structures, which at least to me, seem different in how they are usually used 2020-08-03T09:19:49Z pve: i.e. the hash table is mutated, but conses not necessarily 2020-08-03T09:20:54Z phoe: "usually" is troublesome 2020-08-03T09:21:11Z phoe: conses are used in both contexts, you can mutate them and not mutate them 2020-08-03T09:21:35Z phoe: in Lisp, it's more of a contextual question, especially since conses are CDTs and not ADTs 2020-08-03T09:21:49Z pve: ok, suppose we don't mutate conses, would "functional data structure" be the correct term? 2020-08-03T09:23:01Z orivej_ joined #lisp 2020-08-03T09:23:01Z orivej quit (Ping timeout: 264 seconds) 2020-08-03T09:23:02Z phoe: an immutable singly linked list is such a thing, sure 2020-08-03T09:26:46Z pve: I'm looking at https://en.wikipedia.org/wiki/Persistent_data_structure and also https://en.wikipedia.org/wiki/Purely_functional_data_structure 2020-08-03T09:27:07Z pve: but I have trouble seeing how they relate to one another, are they synonymous? 2020-08-03T09:27:48Z phoe: a persistent data structure always seems to refer to old versions of itself 2020-08-03T09:28:26Z toorevitimirp quit (Ping timeout: 265 seconds) 2020-08-03T09:28:33Z phoe: a singly linked list is not such a structure because the result of (CDR '(1 2 3)) does not refer to (1 2 3) anywhere 2020-08-03T09:28:34Z ldb joined #lisp 2020-08-03T09:28:50Z toorevitimirp joined #lisp 2020-08-03T09:30:35Z pve: I mean the first example given there is a singly linked list 2020-08-03T09:31:27Z jariyah joined #lisp 2020-08-03T09:31:59Z phoe re-reads 2020-08-03T09:33:03Z pve: at least to me, calling conses (in CL) purely functional seems like a bit of a stretch 2020-08-03T09:33:06Z space_otter quit (Remote host closed the connection) 2020-08-03T09:33:23Z pve: but in say, Standard ML, they certainly are 2020-08-03T09:33:41Z jariyah quit (Changing host) 2020-08-03T09:33:41Z jariyah joined #lisp 2020-08-03T09:33:52Z phoe: OK, "preserve" means a different thing in this context; it doesn't mean explicitly refering to them, it means that the previous values are unchanged 2020-08-03T09:34:13Z jariyah is now known as vutral 2020-08-03T09:34:14Z pve: but calling conses persistent seems more reasonable 2020-08-03T09:34:18Z jeosol joined #lisp 2020-08-03T09:34:58Z phoe: ...I wonder what's the real distinction between the two then 2020-08-03T09:35:04Z pve: which is different to a hash table, where you always modify that one table 2020-08-03T09:36:41Z shangul joined #lisp 2020-08-03T09:36:48Z jonatack joined #lisp 2020-08-03T09:37:23Z jonatack quit (Read error: Connection reset by peer) 2020-08-03T09:38:25Z mangul quit (Ping timeout: 240 seconds) 2020-08-03T09:39:00Z phoe: every purely functional data structure is persistent, but is it true that every persistent data structure is also purely functional? 2020-08-03T09:42:39Z pve: yeah, that's what I don't get 2020-08-03T09:43:20Z jonatack joined #lisp 2020-08-03T09:43:56Z pve: my interpretation is that purely functional is more strict 2020-08-03T09:44:57Z sm2n: I'm pretty sure it's the opposite 2020-08-03T09:45:09Z treflip: Persistent data structures may be implemented in imperative style. There is a great book "Purely Functional Data Structures" by Chris Okasaki, it has a clear explanation of these things in its first chapter IIRC. 2020-08-03T09:45:10Z pve: oh 2020-08-03T09:45:27Z sm2n: it's a bit odd because these categories kind of cut across both implementation/interface 2020-08-03T09:45:30Z ldb quit (Ping timeout: 260 seconds) 2020-08-03T09:45:54Z sm2n: and yeah, okasaki has a nice chapter on it (chapter 2 though) 2020-08-03T09:46:02Z sm2n: with diagrams and everything 2020-08-03T09:46:07Z pve: I've skimmed that one a long time ago, maybe time for a re-read 2020-08-03T09:46:33Z sm2n: purely functional is a property of the interface, in that the interface doesn't mutate its arguments 2020-08-03T09:46:51Z pve: ok that makes sense 2020-08-03T09:46:51Z sm2n: persistent is basically an optimization, where shared structure is used wherever possible 2020-08-03T09:47:01Z sm2n: that's my understanding anyway 2020-08-03T09:47:26Z pve: that also makes sense 2020-08-03T09:49:56Z treflip: In his book Okasaki divides data structures into persistent and ephemeral, meaning that persistent data structures kinda provide access to their previous states, and ephemeral don't. 2020-08-03T09:52:16Z Kaisyu7 quit (Remote host closed the connection) 2020-08-03T09:52:36Z Kaisyu7 joined #lisp 2020-08-03T09:53:35Z pve: treflip: you mean that when you add something to a red-black tree, you get a new tree back? 2020-08-03T09:53:40Z pve: for example 2020-08-03T09:55:04Z jeosol quit (Ping timeout: 245 seconds) 2020-08-03T09:55:31Z pve: implying that you can still access the old tree, i mean 2020-08-03T09:56:18Z orivej_ quit (Ping timeout: 256 seconds) 2020-08-03T09:56:21Z beach: If you can't access the old three, there is no great difference between a functional an imperative data structure. 2020-08-03T09:56:35Z beach: It would be only a difference in interface style. 2020-08-03T09:56:42Z orivej joined #lisp 2020-08-03T09:57:01Z ldb joined #lisp 2020-08-03T09:57:20Z beach: Imperative: (insert ) Functional: (let ((tree (insert )))) 2020-08-03T09:58:00Z beach: So, yes, a new tree would be returned, probably sharing structure with the previous one. 2020-08-03T09:58:06Z pve: right 2020-08-03T09:58:33Z beach: But then, a red-black tree is not an abstract data type either, so it's not a great example. 2020-08-03T09:59:13Z beach: The abstract data type would be a dictionary with a totally ordered key domain, or an editable sequence. 2020-08-03T10:00:04Z beach: A red-black tree is a way to implement those abstract data types, and the very definition of a red-black tree seems to require destructive modifications to maintain a balanced tree. 2020-08-03T10:01:21Z shifty joined #lisp 2020-08-03T10:02:57Z beach: I mean, it is obviously possible to make a red-black tree "functional", but it may reduce possible sharing then. 2020-08-03T10:03:41Z beach: It is obviously possible, because you can always clone the original tree and make a destructive modification in the clone. 2020-08-03T10:05:00Z pve: yeah I think I implemented a red-black tree in Standard ML back in school 2020-08-03T10:09:58Z Bourne quit (Ping timeout: 256 seconds) 2020-08-03T10:10:14Z ldb quit (Ping timeout: 260 seconds) 2020-08-03T10:13:22Z shangul quit (Ping timeout: 256 seconds) 2020-08-03T10:22:56Z as joined #lisp 2020-08-03T10:26:11Z ldb joined #lisp 2020-08-03T10:26:51Z jello_pudding quit (Ping timeout: 272 seconds) 2020-08-03T10:27:49Z heisig joined #lisp 2020-08-03T10:29:56Z random-nick joined #lisp 2020-08-03T10:31:25Z ldb quit (Ping timeout: 264 seconds) 2020-08-03T10:32:55Z jello_pudding joined #lisp 2020-08-03T10:36:11Z orivej quit (Ping timeout: 240 seconds) 2020-08-03T10:36:52Z orivej joined #lisp 2020-08-03T10:56:18Z jeosol joined #lisp 2020-08-03T10:56:39Z ldb joined #lisp 2020-08-03T11:00:07Z mseddon joined #lisp 2020-08-03T11:01:05Z ldb quit (Ping timeout: 240 seconds) 2020-08-03T11:03:50Z ldb joined #lisp 2020-08-03T11:04:13Z cosimone joined #lisp 2020-08-03T11:05:32Z ldb: *with ML functors 2020-08-03T11:06:55Z jonatack quit (Read error: Connection reset by peer) 2020-08-03T11:07:05Z iissaacc quit (Ping timeout: 240 seconds) 2020-08-03T11:09:10Z FreeBirdLjj joined #lisp 2020-08-03T11:10:23Z iissaacc joined #lisp 2020-08-03T11:11:03Z shangul joined #lisp 2020-08-03T11:13:40Z FreeBirdLjj quit (Ping timeout: 246 seconds) 2020-08-03T11:21:18Z shangul quit (Ping timeout: 256 seconds) 2020-08-03T11:22:25Z ukari quit (Ping timeout: 264 seconds) 2020-08-03T11:22:34Z jeosol quit (Ping timeout: 245 seconds) 2020-08-03T11:37:50Z vaporatorius joined #lisp 2020-08-03T11:40:05Z vaporatorius__ quit (Ping timeout: 240 seconds) 2020-08-03T11:43:04Z orivej quit (Ping timeout: 256 seconds) 2020-08-03T11:43:31Z orivej joined #lisp 2020-08-03T11:47:37Z shangul joined #lisp 2020-08-03T11:47:37Z ljavorsk quit (Ping timeout: 264 seconds) 2020-08-03T11:54:33Z Fare joined #lisp 2020-08-03T11:54:35Z bitmapper quit (Ping timeout: 240 seconds) 2020-08-03T11:55:14Z ldb quit (Ping timeout: 260 seconds) 2020-08-03T11:55:41Z karlosz joined #lisp 2020-08-03T12:00:03Z vutral quit (Quit: Connection closed for inactivity) 2020-08-03T12:00:53Z ajithmk_ quit (Quit: Connection closed for inactivity) 2020-08-03T12:02:22Z cosimone quit (Quit: Quit.) 2020-08-03T12:02:30Z Kaisyu7 quit (Remote host closed the connection) 2020-08-03T12:02:49Z Kaisyu7 joined #lisp 2020-08-03T12:03:18Z edgar-rft joined #lisp 2020-08-03T12:05:39Z ldb joined #lisp 2020-08-03T12:06:10Z iissaacc quit (Ping timeout: 246 seconds) 2020-08-03T12:13:18Z karlosz quit (Quit: karlosz) 2020-08-03T12:13:54Z Josh_2: Good afternoon everyone 2020-08-03T12:13:59Z karlosz joined #lisp 2020-08-03T12:16:42Z ldb quit (Ping timeout: 260 seconds) 2020-08-03T12:17:06Z Josh_2: Other than AMOP wheres the best writing to understand the MOP? 2020-08-03T12:17:16Z Josh_2: any more in-depth tutorials? 2020-08-03T12:17:42Z Josh_2: I Know that the Atlanta Functional Programming group went through the AMOP but the examples given in the book seem quite trivial 2020-08-03T12:23:21Z heisig: Josh_2: Good question. I think there is no comprehensive MOP guide (yet?), so you have to learn from other people's code. 2020-08-03T12:25:31Z heisig: Which raises another good question: What is everyone's favorite code that makes heavy use of the MOP? 2020-08-03T12:31:48Z ldb joined #lisp 2020-08-03T12:32:54Z shka_: heisig: MOP 2020-08-03T12:33:05Z shka_: but seriously 2020-08-03T12:33:39Z shka_: mana database is an example, postmodern also has simple DAO classes 2020-08-03T12:33:50Z shka_: it is not very complex, but useful 2020-08-03T12:34:02Z orivej quit (Quit: No Ping reply in 180 seconds.) 2020-08-03T12:34:49Z shka_: folks, i am trying to build a strongly independent on seed (and hopefully reasonably fast) hash function for lists of (unsigned-byte 64) 2020-08-03T12:35:01Z shka_: that's what i have at the moment 2020-08-03T12:35:03Z shka_: https://pastebin.com/uY4Lw2CQ 2020-08-03T12:35:11Z orivej joined #lisp 2020-08-03T12:35:12Z iissaacc joined #lisp 2020-08-03T12:35:28Z shka_: does it look good? do you have ideas how i can improve it? 2020-08-03T12:36:05Z ldb quit (Ping timeout: 240 seconds) 2020-08-03T12:43:02Z ajithmk_ joined #lisp 2020-08-03T12:45:28Z karlosz quit (Quit: karlosz) 2020-08-03T12:47:04Z wsinatra joined #lisp 2020-08-03T12:49:08Z ajithmk_ is now known as ajithmk 2020-08-03T12:49:43Z Bike joined #lisp 2020-08-03T12:50:47Z solrize joined #lisp 2020-08-03T12:50:58Z solrize_ quit (Read error: Connection reset by peer) 2020-08-03T12:52:16Z ldb joined #lisp 2020-08-03T12:55:17Z solrize quit (Client Quit) 2020-08-03T12:56:28Z solrize joined #lisp 2020-08-03T12:56:28Z solrize quit (Changing host) 2020-08-03T12:56:28Z solrize joined #lisp 2020-08-03T12:57:14Z ldb quit (Ping timeout: 265 seconds) 2020-08-03T13:00:16Z jprajzne1 joined #lisp 2020-08-03T13:02:18Z shidima joined #lisp 2020-08-03T13:12:20Z ldb joined #lisp 2020-08-03T13:16:59Z ldb quit (Ping timeout: 240 seconds) 2020-08-03T13:18:53Z theseb joined #lisp 2020-08-03T13:19:28Z treflip quit (Quit: WeeChat 2.6) 2020-08-03T13:23:18Z hendursa1 quit (Quit: hendursa1) 2020-08-03T13:23:38Z hendursaga joined #lisp 2020-08-03T13:28:18Z v88m quit (Ping timeout: 256 seconds) 2020-08-03T13:29:12Z terpri_ joined #lisp 2020-08-03T13:30:38Z bsd4me joined #lisp 2020-08-03T13:31:03Z torbo joined #lisp 2020-08-03T13:32:27Z terpri quit (Ping timeout: 260 seconds) 2020-08-03T13:33:46Z Bourne joined #lisp 2020-08-03T13:42:24Z bhartrihari left #lisp 2020-08-03T13:46:04Z bhartrihari joined #lisp 2020-08-03T13:48:16Z Archenoth joined #lisp 2020-08-03T13:49:02Z mseddon: Can I just say, I am absolutely blown away with SBCL performance on a Raspberry Pi Zero. It's easily more responsive than anything else I've used. 2020-08-03T13:49:15Z bhartrihari left #lisp 2020-08-03T13:49:31Z mseddon: (and by anything, I mean any other scripting language- I have not compared different lisp environments). 2020-08-03T13:49:50Z dominic34 joined #lisp 2020-08-03T13:52:36Z shidima quit (Ping timeout: 256 seconds) 2020-08-03T13:53:51Z beach: mseddon: Ah, but Common Lisp is not a "scripting language", which explains why SBCL has much better performance. Instead Common Lisp is a general-purpose programming language, so good implementations must be sufficiently fast to compete with implementations of other general-purpose languages. 2020-08-03T13:53:59Z stoneglass joined #lisp 2020-08-03T13:54:49Z mseddon: beach: Yes, I'm aware, (actually returning to lisp from a 20 year haitus), I looked in horror as I sent that and knew someone would raise it :) 2020-08-03T13:55:18Z beach: As long as you are aware... 2020-08-03T13:56:01Z iissaacc quit (Ping timeout: 264 seconds) 2020-08-03T13:57:06Z mseddon: Sufficiently smart compilers ;) 2020-08-03T13:57:36Z OpenZen joined #lisp 2020-08-03T13:58:26Z beach: That's not all there is to it. Designers of so-called scripting languages are often incompetent when it comes to language design and compiler technology. Not so for the very smart and very knowledgeable people who gave us the Common Lisp standard. 2020-08-03T13:59:06Z mseddon: beach: absolutely true. nearly every 'successful' language is just a crap recursive descent compiler that emits crap stack bytecode. mmm. cache trashing. 2020-08-03T13:59:09Z shidima joined #lisp 2020-08-03T14:00:17Z mseddon: v8 is quite interesting, but javascript braindamage definitely limits it excessively. Seems more like a self compiler really. 2020-08-03T14:00:52Z remexre: also impressive to me, SBCL on my pinebook pro also blows most compiled languages out of the water on compile speed, even when building binaries with a fresh sbcl process 2020-08-03T14:01:17Z mseddon: remexre: as a Scala refugee, I particularly appreciate that :) 2020-08-03T14:01:55Z remexre: yeah, I usually like Rust and Haskell a lot, but it's been excruicating to develop for them on that machine 2020-08-03T14:02:02Z ldb joined #lisp 2020-08-03T14:02:29Z remexre: (though, Rust isn't great for compile time on x86 boxes either...) 2020-08-03T14:03:24Z mseddon: remexre, it is a rocket engine compared to Scala once you start depending on libraries that abuse the type system. 2020-08-03T14:04:14Z remexre: oof 2020-08-03T14:04:15Z bhartrihari joined #lisp 2020-08-03T14:04:51Z treflip joined #lisp 2020-08-03T14:05:10Z jackdaniel sends a polite reminder, that this channel topic is common lisp [[ a friendly smile at the end -- :-) ]] 2020-08-03T14:05:38Z mseddon: jackdaniel, whoops, sorry. ;) anyway. generally, nice work SBCL team! 2020-08-03T14:06:55Z jackdaniel: no worries 2020-08-03T14:07:00Z ldb quit (Ping timeout: 256 seconds) 2020-08-03T14:08:46Z dominic34 quit (Ping timeout: 265 seconds) 2020-08-03T14:10:45Z MightyJoe joined #lisp 2020-08-03T14:11:28Z phoe: mseddon: #sbcl might want to hear that 2020-08-03T14:11:28Z ajithmk: Are keywords scoped to a package? If there is symbol in a package, say s, we use it in another package like package:s or package::s. But if s is keyword, : get's in the way? Like package::s or package:::s? 2020-08-03T14:11:37Z cyraxjoe quit (Ping timeout: 264 seconds) 2020-08-03T14:12:30Z jackdaniel: keywords have a separate package 2020-08-03T14:12:30Z orivej quit (Ping timeout: 256 seconds) 2020-08-03T14:12:33Z jackdaniel: when you write :foo 2020-08-03T14:12:42Z jackdaniel: then it is a symbol with name "FOO" in a package "KEYWORD" 2020-08-03T14:12:52Z orivej joined #lisp 2020-08-03T14:14:24Z ajithmk: So when reader encounters :foo in a package it interns FOO in keyword package. So :foo is available in any other package? 2020-08-03T14:14:27Z bhartrihari left #lisp 2020-08-03T14:14:32Z jackdaniel: yes 2020-08-03T14:14:44Z bhartrihari joined #lisp 2020-08-03T14:15:04Z phoe: :FOO === KEYWORD:FOO 2020-08-03T14:15:16Z phoe: PACKAGE::SYMBOL means a completely different thing 2020-08-03T14:15:21Z phoe: and PACKAGE:::SYMBOL is undefined 2020-08-03T14:16:14Z sjl_ joined #lisp 2020-08-03T14:16:25Z toorevitimirp quit (Read error: Connection reset by peer) 2020-08-03T14:16:37Z jackdaniel: it is defined that implementations are free to give meaning to that, but that would be by definition not portable 2020-08-03T14:18:16Z ldb joined #lisp 2020-08-03T14:19:17Z ldb: unfortunately there is no "local" keyword package 2020-08-03T14:19:27Z SenasOzys joined #lisp 2020-08-03T14:20:23Z jackdaniel: what would you need that for? 2020-08-03T14:20:40Z jackdaniel: you have "local" symbols 2020-08-03T14:22:48Z ssd532 joined #lisp 2020-08-03T14:22:51Z ldb: to bind functions to symbols in keyword 2020-08-03T14:23:31Z phoe: bind functions to symbols in keyword? I can't parse that 2020-08-03T14:23:41Z phoe: binding functions to symbols is FLET/LABELS 2020-08-03T14:23:50Z ldb: in KEYWORD package 2020-08-03T14:23:59Z jackdaniel: but why would you define functions in keyword package? 2020-08-03T14:24:12Z jackdaniel: what's wrong with (defun foo () …) ; that is already local 2020-08-03T14:24:18Z phoe: (flet ((:foo () 42)) (:foo)) works for me but will not be portable 2020-08-03T14:24:40Z phoe: I know that LispWorks is allergic to functions named after keywords 2020-08-03T14:24:56Z ldb: it is an old way to implement commands in the custom repl 2020-08-03T14:25:26Z gko_ joined #lisp 2020-08-03T14:25:56Z ldb: thus in addition to the current package user can always access the toplevel commands 2020-08-03T14:27:24Z phoe: (let ((form (read *repl-stream*))) (cond ((eq form :command) ...) ... (t (print (eval form))))) 2020-08-03T14:28:02Z jackdaniel: ^ that's basically how ecl does that, and it is pretty old ,) 2020-08-03T14:28:49Z ldb: not very helpful for having custom commands 2020-08-03T14:28:49Z jackdaniel: also, if you had wanted to do what you've mentioned you want to, you'd want symbol-macrolets, not functions 2020-08-03T14:28:52Z jackdaniel: because 2020-08-03T14:28:55Z mseddon: keywords as functions trip me up a lot on Clojure, but I guess that may be also hurt because it's a lisp-1 2020-08-03T14:29:02Z jackdaniel: :help foobar ; is not (:help 'foobar) 2020-08-03T14:29:35Z ayuce joined #lisp 2020-08-03T14:29:37Z jackdaniel: even older implementations (most notably genera), started commands with a comma which is less ambigous 2020-08-03T14:29:44Z jackdaniel: because you can't have top-level comma 2020-08-03T14:29:47Z ldb: ? 2020-08-03T14:29:53Z jackdaniel: cl-user> ,help 2020-08-03T14:30:30Z mseddon: Does CLIM use , for commands too? I seem to remember it has command tables like genera, but I am incredibly rusty. 2020-08-03T14:31:19Z ldb: CLIM has seperated command toplevel 2020-08-03T14:31:19Z jackdaniel: McCLIM's Listener does that, I don't know about CLIM-TOS 2020-08-03T14:31:27Z phoe: slime does that 2020-08-03T14:31:56Z mseddon: right. 2020-08-03T14:32:01Z jackdaniel: ldb: yes, but listener combines both the repl and the command processor (vide clim-listener, slime) 2020-08-03T14:33:32Z ldb: and it can be config to change the piority of treating a form a command or lisp exp 2020-08-03T14:34:28Z jackdaniel: on genera it certainly could 2020-08-03T14:34:47Z ldb: I kinda agree that symbols in KEYWORD should not be bounded 2020-08-03T14:34:48Z jackdaniel: but it is not a specified behavior (because listener is unspecified program) 2020-08-03T14:42:04Z ldb left #lisp 2020-08-03T14:42:42Z orivej quit (Ping timeout: 256 seconds) 2020-08-03T14:43:04Z orivej joined #lisp 2020-08-03T14:45:00Z rumbler31 joined #lisp 2020-08-03T14:45:45Z mseddon: btw is there a good property based testing library available? 2020-08-03T14:47:05Z mseddon: looks like a toss up between check-it and cl-quickcheck, do people have any preferences? 2020-08-03T14:49:39Z dominic34 joined #lisp 2020-08-03T14:51:12Z orivej quit (Ping timeout: 256 seconds) 2020-08-03T14:51:44Z orivej joined #lisp 2020-08-03T15:01:06Z rumbler31 quit (Ping timeout: 246 seconds) 2020-08-03T15:01:15Z sjl_ quit (Quit: WeeChat 2.3-dev) 2020-08-03T15:01:43Z sjl_ joined #lisp 2020-08-03T15:01:49Z gioyik joined #lisp 2020-08-03T15:09:09Z orivej quit (Quit: No Ping reply in 180 seconds.) 2020-08-03T15:09:21Z orivej joined #lisp 2020-08-03T15:10:58Z shifty quit (Ping timeout: 246 seconds) 2020-08-03T15:14:27Z gaqwas joined #lisp 2020-08-03T15:14:27Z gaqwas quit (Changing host) 2020-08-03T15:14:27Z gaqwas joined #lisp 2020-08-03T15:16:10Z orivej quit (Quit: No Ping reply in 180 seconds.) 2020-08-03T15:17:29Z orivej joined #lisp 2020-08-03T15:21:44Z bitmapper joined #lisp 2020-08-03T15:26:35Z ahungry joined #lisp 2020-08-03T15:27:53Z elioat joined #lisp 2020-08-03T15:32:34Z rumbler31 joined #lisp 2020-08-03T15:32:44Z karlosz joined #lisp 2020-08-03T15:38:35Z liberliver quit (Ping timeout: 240 seconds) 2020-08-03T15:40:43Z bhartrihari left #lisp 2020-08-03T15:40:50Z bhartrihari joined #lisp 2020-08-03T15:42:07Z Bourne quit (Ping timeout: 246 seconds) 2020-08-03T15:43:15Z gaqwas quit (Remote host closed the connection) 2020-08-03T15:45:31Z Lord_of_Life_ joined #lisp 2020-08-03T15:46:31Z Necktwi quit (Quit: leaving) 2020-08-03T15:48:05Z q-u-a-n24 joined #lisp 2020-08-03T15:48:34Z Bourne joined #lisp 2020-08-03T15:48:49Z Lord_of_Life quit (Ping timeout: 265 seconds) 2020-08-03T15:48:51Z Lord_of_Life_ is now known as Lord_of_Life 2020-08-03T15:49:18Z q-u-a-n2 quit (Read error: Connection reset by peer) 2020-08-03T15:52:11Z treflip quit (Quit: WeeChat 2.6) 2020-08-03T15:54:41Z zmt00 joined #lisp 2020-08-03T16:03:02Z mingus quit (Ping timeout: 260 seconds) 2020-08-03T16:11:06Z cosimone joined #lisp 2020-08-03T16:12:59Z gioyik quit (Ping timeout: 240 seconds) 2020-08-03T16:13:40Z puchacz joined #lisp 2020-08-03T16:13:56Z gaqwas joined #lisp 2020-08-03T16:18:48Z orivej quit (Ping timeout: 256 seconds) 2020-08-03T16:18:52Z gko_ quit (Ping timeout: 256 seconds) 2020-08-03T16:19:09Z orivej joined #lisp 2020-08-03T16:19:25Z jonatack joined #lisp 2020-08-03T16:22:58Z mindCrime joined #lisp 2020-08-03T16:23:09Z karlosz quit (Quit: karlosz) 2020-08-03T16:23:53Z v88m joined #lisp 2020-08-03T16:31:21Z rumbler31 quit (Ping timeout: 265 seconds) 2020-08-03T16:31:49Z gioyik joined #lisp 2020-08-03T16:33:33Z beach quit (Ping timeout: 272 seconds) 2020-08-03T16:40:31Z lottaquestions_ quit (Quit: Konversation terminated!) 2020-08-03T16:42:45Z shidima quit (Ping timeout: 240 seconds) 2020-08-03T16:44:44Z stoneglass quit (Quit: stoneglass) 2020-08-03T16:48:38Z epony quit (Ping timeout: 258 seconds) 2020-08-03T16:51:07Z cosimone quit (Remote host closed the connection) 2020-08-03T16:51:38Z cosimone joined #lisp 2020-08-03T16:56:52Z jgodbout joined #lisp 2020-08-03T17:07:25Z orivej quit (Ping timeout: 264 seconds) 2020-08-03T17:07:49Z orivej joined #lisp 2020-08-03T17:08:12Z contrapunctus left #lisp 2020-08-03T17:08:24Z rumbler31 joined #lisp 2020-08-03T17:09:29Z contrapunctus joined #lisp 2020-08-03T17:09:30Z Necktwi joined #lisp 2020-08-03T17:10:30Z notzmv quit (Ping timeout: 265 seconds) 2020-08-03T17:20:37Z gravicappa quit (Ping timeout: 264 seconds) 2020-08-03T17:23:29Z terpri_ is now known as terpri 2020-08-03T17:24:58Z bhartrihari left #lisp 2020-08-03T17:27:40Z orivej quit (Quit: No Ping reply in 180 seconds.) 2020-08-03T17:29:00Z orivej joined #lisp 2020-08-03T17:29:40Z bhartrihari joined #lisp 2020-08-03T17:30:36Z epony joined #lisp 2020-08-03T17:32:33Z rippa joined #lisp 2020-08-03T17:32:53Z FreeBirdLjj joined #lisp 2020-08-03T17:37:05Z FreeBirdLjj quit (Ping timeout: 244 seconds) 2020-08-03T17:39:51Z jprajzne1 quit (Quit: Leaving.) 2020-08-03T17:42:11Z orivej quit (Ping timeout: 240 seconds) 2020-08-03T17:42:39Z orivej joined #lisp 2020-08-03T17:44:00Z notzmv joined #lisp 2020-08-03T17:48:24Z notzmv quit (Ping timeout: 256 seconds) 2020-08-03T17:52:53Z puchacz quit (Remote host closed the connection) 2020-08-03T18:02:50Z puchacz joined #lisp 2020-08-03T18:05:20Z EvW joined #lisp 2020-08-03T18:11:57Z shifty joined #lisp 2020-08-03T18:14:09Z epony quit (Quit: reconfigure) 2020-08-03T18:14:42Z epony joined #lisp 2020-08-03T18:21:46Z shangul quit (Ping timeout: 256 seconds) 2020-08-03T18:22:25Z orivej quit (Ping timeout: 264 seconds) 2020-08-03T18:22:50Z orivej joined #lisp 2020-08-03T18:26:12Z Aurora_v_kosmose quit (Quit: bbl) 2020-08-03T18:29:01Z Sauvin quit (Ping timeout: 264 seconds) 2020-08-03T18:38:54Z cosimone quit (Quit: Quit.) 2020-08-03T18:40:45Z luckless joined #lisp 2020-08-03T18:40:53Z ajithmk quit (Quit: Connection closed for inactivity) 2020-08-03T18:41:32Z gravicappa joined #lisp 2020-08-03T18:43:45Z fsmunoz joined #lisp 2020-08-03T18:44:12Z jw4 quit (Read error: Connection reset by peer) 2020-08-03T18:44:36Z heisig quit (Quit: Leaving) 2020-08-03T18:45:25Z orivej quit (Ping timeout: 240 seconds) 2020-08-03T18:45:59Z orivej joined #lisp 2020-08-03T18:46:25Z jw4 joined #lisp 2020-08-03T18:50:34Z gravicappa quit (Ping timeout: 260 seconds) 2020-08-03T18:52:46Z gravicappa joined #lisp 2020-08-03T19:01:16Z theseb quit (Quit: Leaving) 2020-08-03T19:16:14Z orivej quit (Ping timeout: 260 seconds) 2020-08-03T19:17:40Z elflng quit (Quit: leaving) 2020-08-03T19:21:50Z ssd532 quit (Quit: Connection closed for inactivity) 2020-08-03T19:25:01Z v3ga joined #lisp 2020-08-03T19:28:29Z shangul joined #lisp 2020-08-03T19:29:08Z shidima joined #lisp 2020-08-03T19:32:58Z mseddon quit (Read error: Connection reset by peer) 2020-08-03T19:33:24Z dominic34 quit (Ping timeout: 256 seconds) 2020-08-03T19:40:21Z cosimone joined #lisp 2020-08-03T19:45:24Z fsmunoz quit (Ping timeout: 256 seconds) 2020-08-03T19:47:26Z whiteline_ quit (Read error: Connection reset by peer) 2020-08-03T19:47:51Z whiteline joined #lisp 2020-08-03T19:59:35Z Aurora_v_kosmose joined #lisp 2020-08-03T19:59:48Z EvW quit (Ping timeout: 260 seconds) 2020-08-03T20:05:08Z shangul quit (Ping timeout: 256 seconds) 2020-08-03T20:08:56Z rumbler31 quit (Ping timeout: 256 seconds) 2020-08-03T20:12:03Z notzmv joined #lisp 2020-08-03T20:17:12Z bsd4me left #lisp 2020-08-03T20:18:06Z SN_ joined #lisp 2020-08-03T20:20:52Z elflng joined #lisp 2020-08-03T20:21:13Z red-dot quit (Ping timeout: 264 seconds) 2020-08-03T20:21:22Z SN_ is now known as red-dot 2020-08-03T20:21:53Z wsinatra quit (Quit: WeeChat 2.9) 2020-08-03T20:27:05Z shidima quit (Ping timeout: 240 seconds) 2020-08-03T20:30:44Z fsmunoz joined #lisp 2020-08-03T20:31:19Z abhixec quit (Quit: leaving) 2020-08-03T20:35:01Z narimiran quit (Ping timeout: 264 seconds) 2020-08-03T20:36:26Z grant joined #lisp 2020-08-03T20:38:49Z ahungry quit (Remote host closed the connection) 2020-08-03T20:44:33Z mankaev quit (Read error: Connection reset by peer) 2020-08-03T20:44:43Z mankaev joined #lisp 2020-08-03T20:46:42Z FennecCode quit (Ping timeout: 244 seconds) 2020-08-03T20:47:03Z grant left #lisp 2020-08-03T20:48:53Z gxt quit (Quit: WeeChat 2.9) 2020-08-03T20:51:23Z Lycurgus joined #lisp 2020-08-03T20:54:56Z theseb joined #lisp 2020-08-03T20:56:26Z puchacz quit (Remote host closed the connection) 2020-08-03T20:56:38Z tychoish: 2020-08-03T20:56:52Z tychoish: yeah, I dunno 2020-08-03T21:01:45Z kaftejiman joined #lisp 2020-08-03T21:07:50Z theseb quit (Quit: Leaving) 2020-08-03T21:09:06Z ggole quit (Quit: Leaving) 2020-08-03T21:09:10Z Jesin quit (Quit: Leaving) 2020-08-03T21:12:35Z gravicappa quit (Ping timeout: 240 seconds) 2020-08-03T21:24:21Z Jesin joined #lisp 2020-08-03T21:27:01Z kaftejiman quit (Remote host closed the connection) 2020-08-03T21:33:42Z ahungry joined #lisp 2020-08-03T21:44:59Z hiroaki joined #lisp 2020-08-03T21:46:38Z remexre: hm, is there a standard function like FIND that returns the cons whose car is the element 2020-08-03T21:47:26Z remexre: oh wait, MEMBER does that, dunnit\ 2020-08-03T21:47:52Z karlosz joined #lisp 2020-08-03T21:59:41Z EvW1 joined #lisp 2020-08-03T22:05:05Z whiteline quit (Ping timeout: 240 seconds) 2020-08-03T22:06:10Z EvW1 quit (Ping timeout: 244 seconds) 2020-08-03T22:07:09Z mfiano: Not quite 2020-08-03T22:11:19Z pve quit (Quit: leaving) 2020-08-03T22:11:44Z karlosz quit (Quit: karlosz) 2020-08-03T22:12:20Z karlosz joined #lisp 2020-08-03T22:12:21Z caltelt joined #lisp 2020-08-03T22:17:52Z xrash joined #lisp 2020-08-03T22:23:14Z sjl_ quit (Ping timeout: 256 seconds) 2020-08-03T22:23:40Z orivej joined #lisp 2020-08-03T22:27:26Z Lycurgus quit (Remote host closed the connection) 2020-08-03T22:28:31Z ayuce left #lisp 2020-08-03T22:30:58Z karlosz quit (Quit: karlosz) 2020-08-03T22:34:45Z orivej quit (Ping timeout: 240 seconds) 2020-08-03T22:35:19Z orivej joined #lisp 2020-08-03T22:37:20Z karlosz joined #lisp 2020-08-03T22:39:21Z karlosz quit (Client Quit) 2020-08-03T22:43:58Z jw4 quit (Quit: tot siens) 2020-08-03T22:44:19Z akoana joined #lisp 2020-08-03T22:46:31Z jw4 joined #lisp 2020-08-03T22:53:01Z orivej_ joined #lisp 2020-08-03T22:53:01Z orivej quit (Ping timeout: 264 seconds) 2020-08-03T22:53:26Z qwe joined #lisp 2020-08-03T23:03:49Z random-nick quit (Ping timeout: 264 seconds) 2020-08-03T23:06:23Z qwe: (hi all) 2020-08-03T23:07:58Z contrapunctus: (greet qwe ) 2020-08-03T23:11:05Z FennecCode joined #lisp 2020-08-03T23:16:05Z luna_is_here quit (Ping timeout: 240 seconds) 2020-08-03T23:17:36Z EvW joined #lisp 2020-08-03T23:21:42Z Robdgreat quit (Read error: error:1408F119:SSL routines:ssl3_get_record:decryption failed or bad record mac) 2020-08-03T23:21:49Z Robdgreat joined #lisp 2020-08-03T23:21:51Z Robdgreat_ joined #lisp 2020-08-03T23:28:05Z orivej_ quit (Ping timeout: 240 seconds) 2020-08-03T23:33:52Z mindCrime quit (Ping timeout: 260 seconds) 2020-08-03T23:34:28Z cosimone quit (Ping timeout: 260 seconds) 2020-08-03T23:35:17Z mindCrime joined #lisp 2020-08-03T23:36:20Z Robdgreat_ quit (Quit: Lost terminal) 2020-08-03T23:47:03Z qwe: Is it possible to execute curl command from the elisp interpreter? 2020-08-03T23:52:09Z gaqwas quit (Remote host closed the connection) 2020-08-04T00:04:50Z SenasOzys quit (Ping timeout: 256 seconds) 2020-08-04T00:05:01Z Mariaaa joined #lisp 2020-08-04T00:05:13Z Mariaaa: Angel_Feroz(Humbert0@ferozmente.angelical.y.angelicalmente.feroz)- loca de mierda te jodiste te haré la vida imposible te iré a buscar y probablemente te desaparezca!!! 2020-08-04T00:05:13Z Mariaaa: 01:45 : Mariaaa ¦ 01:38:58 -Angel_Feroz(Humbert0@ferozmente.angelical.y.angelicalmente.feroz)- loca de mierda te jodiste te haré la vida imposible te iré a buscar y probablemente te desaparezca!!! 2020-08-04T00:05:15Z Mariaaa left #lisp 2020-08-04T00:11:43Z fsmunoz quit (Ping timeout: 244 seconds) 2020-08-04T00:16:16Z gendl: Hi, I just started using paredit for the first time (after editing common lisp with emacs for 25 years). It seems pretty cool but I should probably read a manual or watch a tutorial - whenever I search for same (even specifying "how to use paredit for common lisp") i'm getting a bunch of nice looking directions on how to use it for clojure. 2020-08-04T00:16:52Z gendl: that's all well & good and i suppose most of that will apply to CL as well, but is there a nice "paredit for common lisp for dummies" somewhere? 2020-08-04T00:19:12Z gendl: #emacs just told me to do M-x describe-mode paredit. 2020-08-04T00:19:12Z gendl: Duh. I'll start with that... 2020-08-04T00:22:05Z wsinatra joined #lisp 2020-08-04T00:33:02Z _whitelogger quit (Remote host closed the connection) 2020-08-04T00:35:13Z _whitelogger joined #lisp 2020-08-04T00:36:40Z gaqwas joined #lisp 2020-08-04T00:36:41Z gaqwas quit (Changing host) 2020-08-04T00:36:41Z gaqwas joined #lisp 2020-08-04T00:58:05Z flip214 quit (Ping timeout: 240 seconds) 2020-08-04T00:58:25Z _jrjsmrtn quit (Ping timeout: 264 seconds) 2020-08-04T00:58:37Z zigpaw quit (Ping timeout: 246 seconds) 2020-08-04T00:59:51Z __jrjsmrtn__ joined #lisp 2020-08-04T01:00:23Z ldb joined #lisp 2020-08-04T01:00:46Z ldb: gendl: I don't think paredit has any langauge specific feature 2020-08-04T01:00:49Z shifty quit (Ping timeout: 264 seconds) 2020-08-04T01:01:30Z ldb: so it should be fine to follow any tutorials 2020-08-04T01:01:51Z ldb: good morning everyone 2020-08-04T01:02:46Z space_otter joined #lisp 2020-08-04T01:05:52Z zigpaw joined #lisp 2020-08-04T01:09:46Z sbryant quit (Ping timeout: 256 seconds) 2020-08-04T01:09:53Z ldb_ joined #lisp 2020-08-04T01:09:58Z flip214 joined #lisp 2020-08-04T01:10:45Z ldb quit (Ping timeout: 240 seconds) 2020-08-04T01:16:30Z flip214 quit (Ping timeout: 260 seconds) 2020-08-04T01:19:47Z renzhi joined #lisp 2020-08-04T01:20:19Z scymtym quit (Ping timeout: 246 seconds) 2020-08-04T01:23:08Z flip214 joined #lisp 2020-08-04T01:26:16Z ldb joined #lisp 2020-08-04T01:26:16Z bilegeek joined #lisp 2020-08-04T01:27:12Z gaqwas quit (Remote host closed the connection) 2020-08-04T01:27:40Z ldb_ quit (Ping timeout: 246 seconds) 2020-08-04T01:36:43Z ldb_ joined #lisp 2020-08-04T01:37:45Z ldb quit (Ping timeout: 240 seconds) 2020-08-04T01:44:28Z ldb_ quit (Ping timeout: 246 seconds) 2020-08-04T01:44:32Z EvW quit (Ping timeout: 260 seconds) 2020-08-04T01:45:21Z ldb joined #lisp 2020-08-04T01:46:02Z renzhi quit (Ping timeout: 256 seconds) 2020-08-04T01:52:55Z Oladon joined #lisp 2020-08-04T01:53:41Z gabiruh quit (Quit: ZNC 1.7.5 - https://znc.in) 2020-08-04T01:53:59Z gabiruh joined #lisp 2020-08-04T01:58:07Z bhartrihari left #lisp 2020-08-04T02:06:50Z bhartrihari joined #lisp 2020-08-04T02:20:42Z ldb quit (Quit: leaving) 2020-08-04T02:22:15Z cjb joined #lisp 2020-08-04T02:40:09Z orivej joined #lisp 2020-08-04T02:42:57Z torbo quit (Remote host closed the connection) 2020-08-04T02:44:35Z orivej quit (Ping timeout: 240 seconds) 2020-08-04T02:49:25Z caltelt quit (Ping timeout: 240 seconds) 2020-08-04T02:50:59Z dvdmuckle quit (Ping timeout: 265 seconds) 2020-08-04T02:55:12Z terpri_ joined #lisp 2020-08-04T02:55:43Z dvdmuckle joined #lisp 2020-08-04T02:56:09Z orivej joined #lisp 2020-08-04T02:58:16Z terpri quit (Ping timeout: 244 seconds) 2020-08-04T03:00:23Z solrize left #lisp 2020-08-04T03:02:33Z Alfr_ joined #lisp 2020-08-04T03:03:47Z orivej quit (Ping timeout: 240 seconds) 2020-08-04T03:04:05Z zaquest quit (Quit: Leaving) 2020-08-04T03:05:02Z Alfr__ quit (Ping timeout: 260 seconds) 2020-08-04T03:11:29Z ajithmk joined #lisp 2020-08-04T03:13:35Z FennecCode quit (Ping timeout: 244 seconds) 2020-08-04T03:14:20Z terpri_ quit (Remote host closed the connection) 2020-08-04T03:14:38Z terpri_ joined #lisp 2020-08-04T03:16:36Z orivej joined #lisp 2020-08-04T03:16:46Z terpri__ joined #lisp 2020-08-04T03:18:04Z wsinatra_ joined #lisp 2020-08-04T03:19:11Z wsinatra_ quit (Client Quit) 2020-08-04T03:19:44Z wsinatra_ joined #lisp 2020-08-04T03:20:12Z terpri_ quit (Ping timeout: 260 seconds) 2020-08-04T03:20:31Z wsinatra_ quit (Client Quit) 2020-08-04T03:20:47Z wsinatra quit (Quit: WeeChat 2.9) 2020-08-04T03:26:01Z orivej quit (Ping timeout: 264 seconds) 2020-08-04T03:26:26Z orivej joined #lisp 2020-08-04T03:28:11Z paul0 joined #lisp 2020-08-04T03:29:43Z shangul joined #lisp 2020-08-04T03:31:54Z zaquest joined #lisp 2020-08-04T03:35:49Z paul0 quit (Remote host closed the connection) 2020-08-04T03:41:27Z FennecCode joined #lisp 2020-08-04T03:41:49Z paul0 joined #lisp 2020-08-04T03:42:25Z orivej quit (Ping timeout: 240 seconds) 2020-08-04T03:43:05Z orivej joined #lisp 2020-08-04T03:46:45Z Lord_of_Life quit (Ping timeout: 240 seconds) 2020-08-04T03:47:27Z Lord_of_Life joined #lisp 2020-08-04T03:51:25Z cjb quit (Ping timeout: 245 seconds) 2020-08-04T03:52:14Z paul0 quit (Quit: Leaving) 2020-08-04T03:52:46Z orivej_ joined #lisp 2020-08-04T03:53:21Z Bike quit (Quit: Lost terminal) 2020-08-04T03:54:11Z orivej quit (Ping timeout: 240 seconds) 2020-08-04T03:56:06Z akoana left #lisp 2020-08-04T03:57:59Z iissaacc joined #lisp 2020-08-04T04:00:56Z beach joined #lisp 2020-08-04T04:02:28Z beach: Good morning everyone! 2020-08-04T04:02:43Z Fare: bonsoir! 2020-08-04T04:03:01Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2020-08-04T04:06:06Z satousan joined #lisp 2020-08-04T04:17:35Z orivej_ quit (Quit: No Ping reply in 180 seconds.) 2020-08-04T04:18:56Z orivej joined #lisp 2020-08-04T04:25:59Z shidima joined #lisp 2020-08-04T04:26:55Z orivej quit (Quit: No Ping reply in 180 seconds.) 2020-08-04T04:28:04Z orivej joined #lisp 2020-08-04T04:28:10Z shangul quit (Ping timeout: 256 seconds) 2020-08-04T04:29:49Z sympt joined #lisp 2020-08-04T04:32:30Z sympt_ quit (Ping timeout: 260 seconds) 2020-08-04T04:38:22Z mindCrime quit (Ping timeout: 260 seconds) 2020-08-04T04:40:11Z narimiran joined #lisp 2020-08-04T04:41:05Z satousan quit (Quit: WeeChat 2.3) 2020-08-04T04:48:15Z DGASAU joined #lisp 2020-08-04T04:55:43Z nirved quit (Ping timeout: 240 seconds) 2020-08-04T04:56:38Z Oladon quit (Quit: Leaving.) 2020-08-04T04:57:23Z em-bee is now known as eMBee 2020-08-04T04:58:08Z orivej quit (Ping timeout: 256 seconds) 2020-08-04T04:58:21Z orivej joined #lisp 2020-08-04T04:58:43Z OpenZen quit (Ping timeout: 246 seconds) 2020-08-04T04:59:02Z eMBee quit (Changing host) 2020-08-04T04:59:02Z eMBee joined #lisp 2020-08-04T05:00:11Z shifty joined #lisp 2020-08-04T05:01:10Z eMBee is now known as em-bee 2020-08-04T05:01:35Z em-bee is now known as eMBee 2020-08-04T05:02:33Z zmt00 quit (Quit: Leaving) 2020-08-04T05:03:40Z mankaev quit (Read error: Connection reset by peer) 2020-08-04T05:04:46Z nirved joined #lisp 2020-08-04T05:05:05Z mankaev joined #lisp 2020-08-04T05:09:56Z mfiano: Hello all. If I want to sort a list of symbols such that they are sorted lexicographically and ascendingly on both PACKAGE-NAME and SYMBOL-NAME, is it enough to treat the elements as string designators using (sort some-list #'string<), or must I write my own predicate? 2020-08-04T05:12:41Z mfiano: Just to elaborate, the question is moreso about how a symbol is converted to a string designator, since I want '(mypkg::foo mypkg::bar cl-user::foo cl-user::bar) to be sorted as (cl-user::bar cl-user::foo mypkg::bar mypkg::foo) 2020-08-04T05:13:20Z White_Flame: you might be able to use stable-sort, and first sort by symbol then by package 2020-08-04T05:16:17Z White_Flame: but to sort by package, the :key would have to be (lambda (sym) (package-name (symbol-package sym))) 2020-08-04T05:16:30Z gravicappa joined #lisp 2020-08-04T05:18:48Z mfiano: I see. Thanks for the suggestion. I was about to resort to that, but was hesitant as while this doesn't occur frequently, when it is, it is being used in the context of a performance-sensitive event loop. 2020-08-04T05:22:52Z orivej quit (Ping timeout: 246 seconds) 2020-08-04T05:23:32Z orivej joined #lisp 2020-08-04T05:23:39Z bocaneri joined #lisp 2020-08-04T05:36:56Z bhartrihari left #lisp 2020-08-04T05:37:11Z bhartrihari joined #lisp 2020-08-04T05:37:15Z iissaacc quit (Remote host closed the connection) 2020-08-04T05:44:18Z stylewarning: mfw i don't have coalton to implement coalton http://codepad.org/Cbys1m2q 2020-08-04T05:44:35Z Oladon joined #lisp 2020-08-04T05:54:45Z bhartrihari left #lisp 2020-08-04T05:54:56Z bhartrihari joined #lisp 2020-08-04T05:58:52Z mrcom quit (Read error: Connection reset by peer) 2020-08-04T06:02:12Z lonjil2 joined #lisp 2020-08-04T06:03:15Z Bourne quit (Read error: Connection reset by peer) 2020-08-04T06:03:54Z Bourne joined #lisp 2020-08-04T06:10:02Z orivej quit (Ping timeout: 260 seconds) 2020-08-04T06:10:12Z orivej_ joined #lisp 2020-08-04T06:11:00Z nicktick joined #lisp 2020-08-04T06:15:40Z nicktick quit (Client Quit) 2020-08-04T06:16:07Z nicktick joined #lisp 2020-08-04T06:20:42Z orivej_ quit (Read error: Connection reset by peer) 2020-08-04T06:20:53Z orivej joined #lisp 2020-08-04T06:24:22Z vaporatorius__ joined #lisp 2020-08-04T06:25:23Z ahungry quit (Remote host closed the connection) 2020-08-04T06:26:18Z moon-child quit (Read error: Connection reset by peer) 2020-08-04T06:26:53Z moon-child joined #lisp 2020-08-04T06:27:06Z mankaev quit (Ping timeout: 256 seconds) 2020-08-04T06:27:44Z vaporatorius quit (Ping timeout: 256 seconds) 2020-08-04T06:31:27Z moon-child quit (Read error: Connection reset by peer) 2020-08-04T06:31:31Z whiteline joined #lisp 2020-08-04T06:32:46Z moon-child joined #lisp 2020-08-04T06:33:12Z mankaev joined #lisp 2020-08-04T06:38:54Z treflip joined #lisp 2020-08-04T06:41:07Z orivej quit (Quit: No Ping reply in 180 seconds.) 2020-08-04T06:41:31Z orivej joined #lisp 2020-08-04T06:44:16Z Oladon quit (Quit: Leaving.) 2020-08-04T06:47:08Z ofi joined #lisp 2020-08-04T06:47:46Z ggole joined #lisp 2020-08-04T06:54:02Z _whitelogger quit (Remote host closed the connection) 2020-08-04T06:54:40Z bsd4me joined #lisp 2020-08-04T06:55:17Z phoe: this is a tree of structures 2020-08-04T06:55:18Z holycow joined #lisp 2020-08-04T06:55:46Z ljavorsk joined #lisp 2020-08-04T06:56:13Z _whitelogger joined #lisp 2020-08-04T07:00:54Z pve joined #lisp 2020-08-04T07:11:57Z Jachy joined #lisp 2020-08-04T07:13:07Z orivej quit (Ping timeout: 246 seconds) 2020-08-04T07:13:41Z orivej joined #lisp 2020-08-04T07:17:07Z SenasOzys joined #lisp 2020-08-04T07:18:13Z Bourne quit (Ping timeout: 264 seconds) 2020-08-04T07:19:22Z _Posterdati_ joined #lisp 2020-08-04T07:21:52Z Posterdati quit (Ping timeout: 246 seconds) 2020-08-04T07:22:02Z orivej quit (Quit: No Ping reply in 180 seconds.) 2020-08-04T07:23:21Z orivej joined #lisp 2020-08-04T07:31:08Z orivej quit (Ping timeout: 256 seconds) 2020-08-04T07:31:32Z orivej joined #lisp 2020-08-04T07:35:10Z bhartrihari left #lisp 2020-08-04T07:35:41Z ofi quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-08-04T07:36:21Z _Posterdati_ quit (Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/) 2020-08-04T07:36:41Z Posterdati joined #lisp 2020-08-04T07:37:25Z gravicappa quit (Ping timeout: 264 seconds) 2020-08-04T07:38:59Z orivej quit (Ping timeout: 240 seconds) 2020-08-04T07:39:42Z orivej joined #lisp 2020-08-04T07:42:32Z vaporatorius__ quit (Quit: Leaving) 2020-08-04T07:42:47Z vaporatorius joined #lisp 2020-08-04T07:42:47Z vaporatorius quit (Changing host) 2020-08-04T07:42:47Z vaporatorius joined #lisp 2020-08-04T07:46:12Z flip214: mfiano: group the symbols by package, then sort the packages and the symbols (per package) separately 2020-08-04T07:48:26Z liberliver joined #lisp 2020-08-04T07:56:35Z pve: stylewarning: Coalton looks nice 2020-08-04T07:57:06Z treflip: indeed 2020-08-04T07:57:20Z andrei-n joined #lisp 2020-08-04T08:01:34Z ofi joined #lisp 2020-08-04T08:07:38Z nicktick quit (Ping timeout: 260 seconds) 2020-08-04T08:07:47Z hendursa1 joined #lisp 2020-08-04T08:09:00Z ggole quit (Quit: Leaving) 2020-08-04T08:10:23Z hendursaga quit (Ping timeout: 240 seconds) 2020-08-04T08:11:20Z space_otter quit (Remote host closed the connection) 2020-08-04T08:12:51Z bhartrihari joined #lisp 2020-08-04T08:13:23Z orivej quit (Ping timeout: 240 seconds) 2020-08-04T08:13:53Z orivej joined #lisp 2020-08-04T08:14:31Z toorevitimirp joined #lisp 2020-08-04T08:16:00Z nicktick joined #lisp 2020-08-04T08:17:11Z gioyik quit (Quit: WeeChat 2.9) 2020-08-04T08:17:50Z v88m quit (Ping timeout: 256 seconds) 2020-08-04T08:29:25Z orivej quit (Ping timeout: 246 seconds) 2020-08-04T08:39:52Z jonatack quit (Ping timeout: 260 seconds) 2020-08-04T08:42:40Z scymtym joined #lisp 2020-08-04T08:43:05Z joast quit (Ping timeout: 240 seconds) 2020-08-04T08:51:27Z Fare quit (Ping timeout: 240 seconds) 2020-08-04T08:51:49Z Inline joined #lisp 2020-08-04T08:54:49Z mrcom joined #lisp 2020-08-04T09:01:42Z gxt joined #lisp 2020-08-04T09:04:45Z terpri_ joined #lisp 2020-08-04T09:07:52Z terpri__ quit (Ping timeout: 260 seconds) 2020-08-04T09:15:17Z dra_ joined #lisp 2020-08-04T09:16:24Z dra_ quit (Client Quit) 2020-08-04T09:16:37Z dra joined #lisp 2020-08-04T09:30:40Z EvW1 joined #lisp 2020-08-04T09:35:01Z nicktick quit (Ping timeout: 264 seconds) 2020-08-04T09:36:01Z toorevitimirp quit (Ping timeout: 265 seconds) 2020-08-04T09:40:39Z ayuce joined #lisp 2020-08-04T09:48:42Z bhartrihari left #lisp 2020-08-04T09:57:13Z ljavorsk quit (Ping timeout: 264 seconds) 2020-08-04T09:59:06Z X-Scale` joined #lisp 2020-08-04T09:59:16Z X-Scale quit (Ping timeout: 256 seconds) 2020-08-04T09:59:48Z X-Scale` is now known as X-Scale 2020-08-04T10:17:16Z jonatack joined #lisp 2020-08-04T10:17:57Z enrio joined #lisp 2020-08-04T10:20:52Z shangul joined #lisp 2020-08-04T10:21:58Z _Posterdati_ joined #lisp 2020-08-04T10:26:01Z Posterdati quit (Ping timeout: 264 seconds) 2020-08-04T10:27:20Z bilegeek quit (Quit: Leaving) 2020-08-04T10:28:09Z whiteline quit (Read error: Connection reset by peer) 2020-08-04T10:29:07Z whiteline joined #lisp 2020-08-04T10:29:39Z EvW1 quit (Ping timeout: 244 seconds) 2020-08-04T10:30:16Z holycow quit (Quit: Lost terminal) 2020-08-04T10:31:13Z ajithmk quit (Quit: Connection closed for inactivity) 2020-08-04T10:35:46Z orivej joined #lisp 2020-08-04T10:43:26Z ldb joined #lisp 2020-08-04T10:44:29Z wxie joined #lisp 2020-08-04T10:45:05Z ldb: is there any reason most programming langauges treats (expt x 0) const one rather than raise div by 0 error when x is 0? 2020-08-04T10:45:12Z random-nick joined #lisp 2020-08-04T10:46:25Z shangul quit (Ping timeout: 264 seconds) 2020-08-04T10:47:19Z Posterdati joined #lisp 2020-08-04T10:48:13Z wxie1 joined #lisp 2020-08-04T10:48:49Z wxie quit (Ping timeout: 264 seconds) 2020-08-04T10:48:53Z wxie1 is now known as wxie 2020-08-04T10:49:51Z jackdaniel: in algebra 0^0 usually is treated as 1, often it is left as undefined expression, but I've never heard an interpretation that it is division by 0 2020-08-04T10:50:06Z jackdaniel: so 1 is OK, nan would be also OK (and exception) 2020-08-04T10:50:44Z jackdaniel: here is even a section about software https://en.wikipedia.org/wiki/Zero_to_the_power_of_zero 2020-08-04T10:51:10Z _Posterdati_ quit (Ping timeout: 256 seconds) 2020-08-04T10:51:55Z jackdaniel: (and, from cl perspective, the answer would be: because it is specified to return 1) 2020-08-04T10:52:57Z ggole joined #lisp 2020-08-04T10:55:23Z ldb quit (Ping timeout: 240 seconds) 2020-08-04T10:55:33Z ldb joined #lisp 2020-08-04T10:57:20Z vaporatorius__ joined #lisp 2020-08-04T10:58:42Z ldb_ joined #lisp 2020-08-04T10:59:01Z ldb_: I cannot remember where I learned that x^0 has the interptation of x/x 2020-08-04T11:00:13Z vaporatorius quit (Ping timeout: 264 seconds) 2020-08-04T11:00:59Z ldb quit (Ping timeout: 240 seconds) 2020-08-04T11:01:14Z jackdaniel: hm, 0/0 should be nan too I think 2020-08-04T11:02:02Z ldb_: dependents on if it is floating point, of course 2020-08-04T11:02:06Z mhrstmnn joined #lisp 2020-08-04T11:03:35Z jackdaniel: I mean, that I would find more inuitive that arithmetic-error is signalled, but not necessarily division-by-zero 2020-08-04T11:03:58Z jackdaniel: but it is not specified I guess 2020-08-04T11:04:23Z jackdaniel: or rather, from the specification it seems to be, that division-by-zero shoudl be signalled 2020-08-04T11:06:09Z ldb_: i agree 2020-08-04T11:08:06Z enrioog joined #lisp 2020-08-04T11:09:17Z ldb_: https://www.ibm.com/plex/ 2020-08-04T11:11:08Z ldb_: i wonder if they would manufacture selectric golf ball for Plex 2020-08-04T11:11:10Z jackdaniel: this ux is horrible, also I'm not sure how it is related to cl 2020-08-04T11:11:22Z mhrstmnn quit (Remote host closed the connection) 2020-08-04T11:11:37Z enrio quit (Ping timeout: 264 seconds) 2020-08-04T11:11:39Z galex-713 joined #lisp 2020-08-04T11:11:47Z galex-713: Hi 2020-08-04T11:12:00Z jackdaniel: hey 2020-08-04T11:12:29Z ldb_: jackdaniel: it could be a choice for source code listings 2020-08-04T11:12:40Z ldb_: galex-713: hello 2020-08-04T11:12:41Z galex-713: Beside being older, more used, a lisp-2 (actually lisp-n, afaiu), not having continuation but having goto, and empty list/falsity equivalence, what are the other differences between common lisp and scheme? 2020-08-04T11:12:52Z galex-713: ldb_: hello 2020-08-04T11:13:34Z jonatack quit (Ping timeout: 246 seconds) 2020-08-04T11:13:54Z jackdaniel: galex-713: common lisp has more predefined functions, longer standard which addresses many practical issues (which are undefined in scheme) and it is a language used by most people here ;) 2020-08-04T11:13:56Z galex-713: having goto/return 2020-08-04T11:14:05Z wxie quit (Ping timeout: 240 seconds) 2020-08-04T11:14:09Z galex-713: jackdaniel: okay 2020-08-04T11:14:23Z White_Flame: didn't scheme start with only having lexical variables? 2020-08-04T11:14:52Z galex-713: for me that comes with “older”, sorry, I should have been more precise: what are *fundamental* differences, preventing of implementing one in the other fully and respectingly 2020-08-04T11:14:54Z White_Flame: the macro systems are also different 2020-08-04T11:15:02Z galex-713: White_Flame: oh there’s that too! 2020-08-04T11:15:29Z jackdaniel: galex-713: common lisp is actually "younger" than scheme, however it has lineage which dates before scheme was introduced 2020-08-04T11:15:46Z galex-713: White_Flame: as of macros, I just consider cl is lower level, I heard you can implement hygienism with defmacro, and can see how, and I saw several scheme implementation providing defmacro-likes 2020-08-04T11:15:48Z jonatack joined #lisp 2020-08-04T11:15:58Z galex-713: jackdaniel: oh true indeed 2020-08-04T11:16:01Z sm2n: I believe someone was talking about their scheme implementation in cl here just yesterday 2020-08-04T11:16:09Z jackdaniel: 'hygiene' is a bad word, it should be 'sterile' macros :) 2020-08-04T11:16:10Z galex-713: I should have said “older lineage”, thanks 2020-08-04T11:16:15Z sm2n: I don't know of any cl implementations in scheme though 2020-08-04T11:16:16Z contrapunctus: sm2n: Airship Scheme? 2020-08-04T11:16:24Z galex-713: jackdaniel: why not “guarded”? 2020-08-04T11:16:42Z sm2n: contrapunctus, I don't know the name 2020-08-04T11:16:45Z ldb_ quit (Ping timeout: 240 seconds) 2020-08-04T11:16:52Z jackdaniel: 'hygiene' suggests something good, but I (as a common lisp programmer) consider it bad, so 'sterile' 2020-08-04T11:17:14Z galex-713: sm2n: because of lisp-1 that would require redefining eval, and then also compile, at least… so it wouldn’t be the same thing… common lisp just looks lower level 2020-08-04T11:17:26Z galex-713: I’ve also a friend who says continuation are terrible, in terms of general performance 2020-08-04T11:17:50Z jackdaniel: having some tool at your disposal does not mean that you have to use it, so it is not a problem that scheme has them 2020-08-04T11:18:05Z jackdaniel: one thing, which is not guaranteed by cl standard, but is guaranteed by scheme standard, is tail recursion 2020-08-04T11:18:36Z jackdaniel: otoh common lisp programs usually use iteration, not recursion (maybe because of that, but also iterative style is more plain imo) 2020-08-04T11:18:44Z sm2n: that one's doesn't really matter in practice 2020-08-04T11:18:45Z ldb joined #lisp 2020-08-04T11:18:54Z jackdaniel: it does if you write recursive functions 2020-08-04T11:18:55Z galex-713: jackdaniel: to me it looks like a children toy, or a rounded knife for children, like it’s made so that you can cut yourself with it, which may be handy if you’re clumpsy, but you can do less with it 2020-08-04T11:18:56Z sm2n: iirc every cl implementation aside from abcl gives tco 2020-08-04T11:19:15Z sm2n: and the corresponding scheme impl, kawa, doesn't have tco either 2020-08-04T11:19:22Z jackdaniel: are we talking about languages or particular implementations? 2020-08-04T11:19:27Z kaftejiman joined #lisp 2020-08-04T11:19:36Z sm2n: hence "in practice" 2020-08-04T11:19:39Z jackdaniel: also, on cl implementations which do tco, it is usually "off" by default 2020-08-04T11:20:01Z jackdaniel: i.e you may need to have some specific combination of optimize options 2020-08-04T11:20:24Z galex-713: jackdaniel: maybe iteration is also more culturally anchored… proper tail-recursion, if instead of reusing the name of current lambda function used something more akin to “return” but call “recurse” (or “repeat”) it would really look like a pascal/cobol/fortran (forgot which of those have that) “do … repeat” 2020-08-04T11:20:26Z sm2n: huh, I did not know that, I've never run into a stack overflow from writing tail recursive functions 2020-08-04T11:20:59Z jackdaniel: galex-713: continuations (and delimited continuations) are actually very cool concept, and the latter is quite practical and may be implemented efficiently 2020-08-04T11:21:06Z White_Flame: do...repeat doesn't look at all like tail recursion 2020-08-04T11:21:15Z contrapunctus: Oh, speaking of recursion...is there a standard way or a library for named let in CL? 2020-08-04T11:21:25Z galex-713: ooooh, I thought “delimited continuation” was the full-name of it 2020-08-04T11:21:27Z jackdaniel: the macro DO has a syntax which resembles tail recursion 2020-08-04T11:21:31Z White_Flame: unless you can have 'repeat' in the middle of lexical bodies, and change a set of parameters inline with it 2020-08-04T11:21:44Z galex-713: contrapunctus: paul graham maybe? ^^' 2020-08-04T11:21:58Z sm2n: no, standard old scheme continuations are "undelimited" 2020-08-04T11:22:13Z contrapunctus: galex-713: ??? 2020-08-04T11:22:28Z galex-713: contrapunctus: the macro-are-even guy, he wrote books on that 2020-08-04T11:22:40Z sm2n: though the latest iteration of continuation abstractions is effect handlers, which are quite cool and can be optimized away in certain cases 2020-08-04T11:23:03Z galex-713: White_Flame: well tco implies it’s somewhat near the end, so for variable binding/changing/conditions, I guess you can manage to do something which looks “almost the same” 2020-08-04T11:23:21Z White_Flame: think of a decision tree, with multiple leaves each calling the recursion 2020-08-04T11:23:42Z White_Flame: it's at the end of execution,but not at the end of the lexical block 2020-08-04T11:23:47Z galex-713: but to me it would then look uglier, and also it looks harder to modelize mathematically to prove stuff to me (but I’m not a math guy, many math stuff looks complicated too me, including formalizing behavior of an imperative loop) 2020-08-04T11:23:49Z ldb: sm2n: effect handlers are mostly equational logic 2020-08-04T11:24:12Z ldb: although continuation can be used for implement it in some functonal langauges 2020-08-04T11:24:23Z contrapunctus: galex-713: I'm not sure you understand what I want...I'm asking, if I want to use named let for recursion, does the CL standard have that? Or maybe there's a library for it? (Of course I can write it myself with a macro, but I want to be aware of prior art.) 2020-08-04T11:24:31Z ldb: contrapunctus: labels 2020-08-04T11:24:48Z ldb: it is right the thing you want 2020-08-04T11:24:48Z sm2n: ldb, what do you mean? 2020-08-04T11:24:55Z galex-713: White_Flame: yes but within do .. repeat you have some sort of return/continue (then it’s the same) or test guard right? you could use just the same stuff to define a variable “continue” which will affect that… 2020-08-04T11:25:14Z White_Flame: eh, I guess 2020-08-04T11:25:19Z galex-713: contrapunctus: I was answering about the library, as for standard, no it doesn’t 2020-08-04T11:25:35Z galex-713: I’ve almost finished CLtL2 and it’s not in it, at least 2020-08-04T11:25:46Z galex-713: though scheme appears to keep trying to reimplement all of cl, changing some names 2020-08-04T11:25:50Z jackdaniel: cltl2 does not describe common lisp standard 2020-08-04T11:25:52Z White_Flame: cltl2 isn't the standard 2020-08-04T11:25:58Z xrash quit (Ping timeout: 256 seconds) 2020-08-04T11:26:01Z ldb: sm2n: i mean, with out cps, a compiler can still implement effect handler, by embedding the right equational rules 2020-08-04T11:26:23Z galex-713: I know, but I don’t know how much the standard diverge, and it seems many people based on it for their implementation, at least at first 2020-08-04T11:26:29Z jackdaniel: galex-713: you may read the standard here: http://www.lispworks.com/documentation/HyperSpec/Front/index.htm 2020-08-04T11:26:35Z jackdaniel: minion: tell galex-713 about pcl 2020-08-04T11:26:36Z minion: galex-713: 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). 2020-08-04T11:26:37Z galex-713: (btw, I’m curious of what have been added since then) 2020-08-04T11:26:39Z White_Flame: yeah, it took me a while to figure out what "named let" is, since CL LET obviously creates named bindings. LET is never anonymous 2020-08-04T11:26:50Z sm2n: ldb, I don't follow, what do you mean by equational rules? 2020-08-04T11:27:01Z galex-713: jackdaniel: I started reading it too, does it talk about stuff not in CLtL? 2020-08-04T11:27:32Z jackdaniel: it does not list changes from cltl2, but it has plenty of content which is not covered by cltl2 2020-08-04T11:27:34Z galex-713: jackdaniel: CLtL2 is a thousand page… reading all of it again is… well… especially for me it’s easier on paper, as I distract easily… 2020-08-04T11:27:44Z galex-713: is there some changelog or errata from CLtL2 somewhere? 2020-08-04T11:27:55Z jackdaniel: http://web.archive.org/web/20130807175341/http://bc.tech.coop/cltl2-ansi.htm here you may see some comparison 2020-08-04T11:28:03Z galex-713: oh thank you! 2020-08-04T11:28:39Z ldb: sm2n: equational logic, an implementation is OBJ3 (written in CL) and its succesor Maude 2020-08-04T11:28:40Z galex-713: before buying CLtL2, I searched for a printed version of the standard, like hyperspec but paper, and didn’t find anything :c 2020-08-04T11:29:04Z jackdaniel: you may buy a terrible copy from ANSI, but it would be a waste of paper 2020-08-04T11:29:19Z jackdaniel: you may compile dpans3 latex sources and print it yourself 2020-08-04T11:29:22Z contrapunctus: White_Flame: named let is Scheme's syntactic sugar for recursive functions - (let foo ((a 0) (b 1)) ... (foo 1 2) ...) (the next time, a and b will be bound to 1 and 2) 2020-08-04T11:29:32Z ldb: there's a free ANSI CL draft avaliable 2020-08-04T11:29:49Z sm2n: oh, term rewriting 2020-08-04T11:29:52Z contrapunctus: I was doing an exercise in recursion in CL, and missed the named let. 2020-08-04T11:30:00Z sm2n: this is interesting, thanks for the pointer 2020-08-04T11:31:33Z jonatack quit (Remote host closed the connection) 2020-08-04T11:31:45Z ldb: contrapunctus: named let is essentially a recursive lambda 2020-08-04T11:32:08Z jonatack joined #lisp 2020-08-04T11:32:13Z contrapunctus: ldb: yes. 2020-08-04T11:32:14Z ldb: so you should use labels 2020-08-04T11:32:14Z jackdaniel: galex-713: print this https://web.archive.org/web/20180811021738/http://cvberry.com/downloads/ansi_cl_standard_draft_nice.pdf 2020-08-04T11:32:30Z contrapunctus: ldb: thanks, I'll look at labels. 2020-08-04T11:35:09Z ldb: galex-713: there's a nice PDF version of CLtL2, under https://github.com/daly/axiom/blob/master/zips/clm.pdf 2020-08-04T11:35:56Z ldb: although named under Common Lisp manual, it is indeed CLtL2 2020-08-04T11:36:21Z ldb: and much better than the one from CMU AI repo 2020-08-04T11:36:36Z galex-713: ldb: I’ve the sources from steele’s website, as for CLtL2, I just can’t get the index to compile correctly 2020-08-04T11:37:15Z ldb: galex-713: that one in the link has the complete index with hyperlinks 2020-08-04T11:37:16Z jackdaniel: I think that while cltl2 is nicely written, learning from it will do you no good, because it is a *different* language than Common Lisp 2020-08-04T11:37:16Z orivej quit (Quit: No Ping reply in 180 seconds.) 2020-08-04T11:37:31Z galex-713: jackdaniel: I can’t follow your archive link, the page is void 2020-08-04T11:38:16Z jackdaniel: it worked for me, cvberry.com website went blank some time ago, that's why I've linked the archive copy 2020-08-04T11:38:25Z orivej joined #lisp 2020-08-04T11:38:50Z easye: jackdaniel: RE: cltl2: slightly disagree, the style (Steele!) is excellent, and can help with some points. One does has to check the CLHS for exact differences, of course. 2020-08-04T11:39:06Z galex-713: ldb: I also have a compiled version with hyperlinks, but it’s more cool to have sources, to reprint and correct it if one day I feel it is needed 2020-08-04T11:39:30Z dra: galex-713: https://franz.com/support/documentation/cl-ansi-standard-draft-w-sidebar.pdf 2020-08-04T11:39:31Z galex-713: jackdaniel: I’ve tried oldest snapshot, same thing 2020-08-04T11:41:09Z galex-713: jackdaniel: I read the diff you gave, to me it looks small or superficial, I disagree, I hoped bigger change (like the series, CLOS or condition system added as annexes in second edition of CLtL… though I know CLOS description is not complete and doesn’t describe MOP, I didn’t find where to get anything about that, and thought I could complete with ANSI Common Lisp from Graham 2020-08-04T11:42:04Z jackdaniel: easye: it is a nice reading, but learning about cltl2 to understand common lisp is not a sound idea in my eyes, precisely because of these small differences 2020-08-04T11:42:46Z ldb: by my judgement tracing from the roots is very effective 2020-08-04T11:43:11Z jackdaniel slaps ldb with interlisp manual ;-) and gets back to work 2020-08-04T11:43:23Z galex-713: dra: thank you very much for that! 2020-08-04T11:43:24Z ldb: newer standards may not bother to explain why a feature is present 2020-08-04T11:43:38Z galex-713: Also, is the standard under a free licence? such as public domain? 2020-08-04T11:44:00Z ldb: galex-713: the draft is under public domain 2020-08-04T11:44:15Z galex-713: ldb: I like that thing of US :))) 2020-08-04T11:44:49Z gravicappa joined #lisp 2020-08-04T11:45:12Z galex-713: I wished there were a fusion of CLtL2 and that draft, in some format such as texinfo, that could convert to both a readable TeX book and to an html hyperspec 2020-08-04T11:45:21Z ldb actually, the best lisp book I've found is Anatomy of Lisp 2020-08-04T11:45:28Z bhartrihari joined #lisp 2020-08-04T11:45:49Z galex-713: ldb: rly? is it easy to find? what does it says that standards and graham don’t? 2020-08-04T11:45:58Z ldb: galex-713: GNU Common Lisp has a TeXinfo version 2020-08-04T11:46:18Z bhartrihari left #lisp 2020-08-04T11:46:32Z bhartrihari joined #lisp 2020-08-04T11:46:43Z galex-713: jackdaniel: I started with elisp, learnt scheme by reading r5rs, some r4,6,7rs and srfi, and wanted my knowledge to be exhaustive, I was especially excited about type declarations, but this doesn’t seem to have changed 2020-08-04T11:46:48Z galex-713: ldb: of what? 2020-08-04T11:47:07Z galex-713: CLtL or spec? 2020-08-04T11:48:31Z galex-713: jackdaniel: dra: also, was cl only standardised by ANSI? wasn’t it also by ISO, IEEE, or something alike, outside of US? 2020-08-04T11:48:31Z dra: I agree, Anatomy of Lisp is one of a kind. 2020-08-04T11:48:38Z ldb: galex-713: CLtL 2020-08-04T11:49:12Z galex-713: ldb: thank you :) it seems wise, to me 2020-08-04T11:49:37Z ldb: galex-713: Anatomy of Lisp teaches the LISP family of languages via the formal semantics 2020-08-04T11:50:03Z dra: galex-713: It's "only" an ANSI standard. 2020-08-04T11:50:18Z treflip quit (Quit: WeeChat 2.6) 2020-08-04T11:51:01Z jackdaniel: islisp has iso standard, eulisp was being standardized in Europe (but only drafts are available, it was never finished) 2020-08-04T11:52:08Z jackdaniel: s/being standardized/being written/ 2020-08-04T11:52:30Z galex-713: dra: okay, not so bad 2020-08-04T11:52:48Z galex-713: anyway, I think if any foreign org should have done that, they should have just dubbed the ansi one 2020-08-04T11:52:56Z galex-713: for the sake of standardization 2020-08-04T11:53:16Z bhartrihari left #lisp 2020-08-04T11:53:18Z bhartrihari joined #lisp 2020-08-04T11:53:45Z galex-713: ldb: so it’s incomplete, but kinda dense and with maths? 2020-08-04T11:55:16Z bhartrihari left #lisp 2020-08-04T11:55:31Z bhartrihari joined #lisp 2020-08-04T11:56:22Z galex-713: jackdaniel: buy from ANSI? that’s possible? I’m in Europe and only european also. And why terrible? why a waste? what’s dpans3? 2020-08-04T11:56:36Z orivej_ joined #lisp 2020-08-04T11:56:37Z orivej quit (Ping timeout: 264 seconds) 2020-08-04T11:56:39Z bhartrihari left #lisp 2020-08-04T11:56:43Z bhartrihari joined #lisp 2020-08-04T11:57:00Z jackdaniel: dpans3 is the last document draft before the standard was accepted 2020-08-04T11:57:14Z bhartrihari left #lisp 2020-08-04T11:57:26Z bhartrihari joined #lisp 2020-08-04T11:57:34Z qwe quit (Ping timeout: 245 seconds) 2020-08-04T11:57:49Z ldb: galex-713: yes, it is just not math oriented, but focus on "computational logic" 2020-08-04T11:57:49Z jackdaniel: ansi sells documents with standards, but they charge (afair) $20 per copy, which is an ugly scan of a printed document 2020-08-04T11:57:51Z bhartrihari left #lisp 2020-08-04T11:57:56Z bhartrihari joined #lisp 2020-08-04T11:58:03Z jackdaniel: I did not see it, but that's what I've been told 2020-08-04T11:58:40Z galex-713: contrapunctus: indeed labels in the best bet to build named let on it, but beware without syntactic sugar, you will have to write program body before init vars, like with map 2020-08-04T11:58:41Z jackdaniel: if you want to compile latex yourself, dpans3 sources are available i.e in this repository: https://gitlab.com/vancan1ty/clstandard_build.git 2020-08-04T11:59:11Z galex-713: ldb: oooh, so it’s not about lisp, it’s about computer science, but uses lisp is it? 2020-08-04T11:59:13Z ldb I brought one digital copy for couriousity, and regrated 2020-08-04T11:59:20Z galex-713: is it like sicp but with cl? 2020-08-04T11:59:30Z jonatack quit (Read error: Connection reset by peer) 2020-08-04T12:00:01Z lnostdal joined #lisp 2020-08-04T12:00:23Z galex-713: ldb: of what? AoL? 2020-08-04T12:00:33Z ldb: galex-713: noo, it's all about lisp, how to implement lisp, the meaning of the primitives. it is just not about a specific kinds of lisp 2020-08-04T12:00:36Z galex-713: Btw do you have a link of AoL, I want to find how it is… 2020-08-04T12:00:45Z galex-713: ooooooooooooooooh 2020-08-04T12:01:05Z galex-713: ldb: does it also speaks about history? like lisp 1, 1.5, maclisp and maybe interlisp? 2020-08-04T12:01:37Z galex-713: I guess a such useful book is not under a free licence… is it? 2020-08-04T12:01:45Z dra: No, it isn't free. 2020-08-04T12:01:49Z dra: And it's out of print. 2020-08-04T12:02:35Z ldb: galex-713: it is using essential the same notation from McCarthy, but also talked about lexical scoping. 2020-08-04T12:02:43Z hendursa1 quit (Ping timeout: 240 seconds) 2020-08-04T12:03:18Z galex-713: dra: do you know where to find a digital copy then? 2020-08-04T12:03:25Z galex-713: ldb: coool! 2020-08-04T12:04:38Z dra: galex-713: I don't know, sorry. I actually paid good money for a used copy. 2020-08-04T12:04:39Z ldb: what is AoL? 2020-08-04T12:04:45Z dra: Anatomy of Lisp. 2020-08-04T12:05:15Z ldb: oh, I found a photo scanned copy online 2020-08-04T12:05:55Z galex-713: ldb: could I have it? you can get my mail by /whois me 2020-08-04T12:06:04Z treflip joined #lisp 2020-08-04T12:06:05Z galex-713: /whois-ing 2020-08-04T12:08:54Z galex-713: jackdaniel: what dp stands for within dpans3? 2020-08-04T12:09:04Z galex-713: *what does dp stand 2020-08-04T12:09:23Z jackdaniel: I'm sure you may figure it out with some searching 2020-08-04T12:09:38Z galex-713: I’m really bad at that… :/ 2020-08-04T12:09:46Z ldb: galex-713: i send you a msg 2020-08-04T12:09:46Z jackdaniel: I'm sorry to hear that :( 2020-08-04T12:10:27Z dra: Another good Lisp book is Lisp In Small Pieces. 2020-08-04T12:10:50Z galex-713: and indeed I don’t find that 2020-08-04T12:10:56Z galex-713: dra: what is it about? 2020-08-04T12:11:04Z hendursa1 joined #lisp 2020-08-04T12:11:15Z jackdaniel: galex-713: let me help you: https://duckduckgo.com/?t=canonical&q=dpans+lisp&ia=web 2020-08-04T12:11:18Z jackdaniel: first result 2020-08-04T12:11:35Z dra: galex-713: Interpreting and compiling Lisp. 2020-08-04T12:14:13Z galex-713: dra: too? well it still looks like sicp 2020-08-04T12:14:18Z galex-713: I’ll look at that too 2020-08-04T12:15:32Z mankaev quit (Ping timeout: 246 seconds) 2020-08-04T12:16:35Z galex-713: jackdaniel: draft proposed! thank you! 2020-08-04T12:16:45Z galex-713: I think I’ll go back to ddg maybe 2020-08-04T12:16:47Z galex-713: or sp 2020-08-04T12:16:51Z galex-713: or quit google again 2020-08-04T12:16:57Z galex-713: anyway 2020-08-04T12:17:11Z galex-713: jackdaniel: I think I’m also bad at reading and especially at scheming text 2020-08-04T12:17:24Z galex-713: well not at reading, but finding precise stuff 2020-08-04T12:20:14Z bhartrihari left #lisp 2020-08-04T12:20:26Z bhartrihari joined #lisp 2020-08-04T12:20:46Z Necktwi quit (Ping timeout: 246 seconds) 2020-08-04T12:22:08Z dra: 20 years ago it was way easier to find useful information on the net. 2020-08-04T12:22:31Z bhartrihari left #lisp 2020-08-04T12:22:36Z bhartrihari joined #lisp 2020-08-04T12:23:54Z FreeBirdLjj joined #lisp 2020-08-04T12:25:47Z EvW joined #lisp 2020-08-04T12:26:10Z galex-713: dra: through a search engine? 2020-08-04T12:26:42Z galex-713: (I feel also like other people are also just better than me, they adapted to the noise, and I don’t, it drains my energy out) 2020-08-04T12:27:00Z phoe: what sort of noise do you mean? 2020-08-04T12:27:29Z galex-713: well for instance I searched “dpans3” on google and first 5 results didn’t tell me anything about what I wanted 2020-08-04T12:27:36Z galex-713: however, ddg gave me the answer in the second result 2020-08-04T12:27:44Z galex-713: that means reading 6 webpages 2020-08-04T12:28:04Z galex-713: and I have a randomly-strong adhd (but trying some medicine now, maybe it helps, who knows) 2020-08-04T12:28:30Z galex-713: I also happened to find interesting programs on github, apparently proprietary, yet useful 2020-08-04T12:28:50Z phoe: I usually add more keywords to searches, I guess that "dpans3 lisp" works somewhat better 2020-08-04T12:30:05Z cosimone joined #lisp 2020-08-04T12:30:42Z phoe: https://github.com/antoszka/dpANS3/ is the first link google gives me 2020-08-04T12:30:54Z phoe: https://github.com/LispLang/ansi-spec is the second from DDG 2020-08-04T12:31:07Z galex-713: I usually add the least, as long as it’s unambiguous (then go back if it’s apparently not), so I don’t get unrelated answers that could be unrelated (or even not containing) the keywords that really interested me 2020-08-04T12:32:18Z galex-713: phoe: antoszka doesn’t include a readme and I don’t know which of these dozens of file research for the meaning of what “dp” stands for 2020-08-04T12:32:39Z ldb: intead, you should looking in books' reference/bibliography section for relatex information 2020-08-04T12:33:25Z galex-713: ldb: what? about what? 2020-08-04T12:34:11Z galex-713: phoe: and first ddg link doesn’t answer to the question either 2020-08-04T12:34:27Z jackdaniel: the first rule of steering through noise is to not generate it ;) discussing ddg vs google is not this channel topic 2020-08-04T12:34:55Z galex-713: also a horrible thing is then google makes so relevant bubble about people you ask for help, that you can’t get help from them because “google it it’s obvious”, and if trying ddg or other, you don’t get the answer… 2020-08-04T12:35:25Z phoe: that's #lispcafe material, as jackdaniel mentioned 2020-08-04T12:35:53Z galex-713: jackdaniel: you are right, thank you (through irrelevance can be sometimes relevant, especially as some people are sometimes more relevant than other, especially here ;) so each channel ought to have a -offtopic counterpart) 2020-08-04T12:36:21Z phoe: that's what #lispcafe is! 2020-08-04T12:36:26Z galex-713: phoe: not in my presence, thank you :)) 2020-08-04T12:36:43Z jackdaniel: this channel has one, it is called #lispcafe -- a preemtive answer: some people are not on #lispcafe because they are _not_ interested in offtopic 2020-08-04T12:36:54Z jackdaniel: s/preemtive/preemptive/ 2020-08-04T12:37:53Z gaqwas joined #lisp 2020-08-04T12:38:00Z galex-713: jackdaniel: “[14:22:08] 20 years ago it was way easier to find useful information on the net.” was brought here by someone not on the offtopic channel, and I found that interesting, I think I should have answered privately then maybe, thank you anyway 2020-08-04T12:38:35Z galex-713: jackdaniel: shouldn’t #lispcafe be mentioned in topic then? 2020-08-04T12:39:20Z ChanServ has set mode +o jackdaniel 2020-08-04T12:39:35Z wxie joined #lisp 2020-08-04T12:40:03Z phoe: seems like it's about to happen 2020-08-04T12:40:10Z galex-713: :) 2020-08-04T12:40:20Z jackdaniel changed the topic of #lisp to: Common Lisp, the #1=(programmable . #1#) programming language | | offtopic --> #lispcafe 2020-08-04T12:40:47Z jackdaniel: there you go sunshine, I'm afk for a while (to avoid complaints for changing the topic) 2020-08-04T12:40:51Z jackdaniel has set mode -o jackdaniel 2020-08-04T12:42:48Z Necktwi joined #lisp 2020-08-04T12:44:00Z ldb quit (Ping timeout: 256 seconds) 2020-08-04T12:45:06Z ldb joined #lisp 2020-08-04T12:48:46Z galex-713: So let me resume: beside being older, hence more used, with special variables, being a lisp-2 (actually lisp-n, afaiu), not having continuation but having goto+return, and empty list/falsity equivalence, one of scheme or cl could be implemented in terms of the other? 2020-08-04T12:49:24Z galex-713: like having a small kernel implementing all these, and configurabilility about what to do about booleans and namespaces 2020-08-04T12:49:49Z orivej_ quit (Ping timeout: 246 seconds) 2020-08-04T12:50:08Z galex-713: are there also pecularities to typing? or is just cl superior to scheme in this respect (which restricts itself to a few standard disjoint datatypes)? 2020-08-04T12:50:27Z phoe: kinda sorta - I think the most painful thing is the ability to express continuations in CL and (I guess?) implementing on Scheme-side the possibility of doing external non-local returns in CL 2020-08-04T12:54:35Z Inline quit (Remote host closed the connection) 2020-08-04T12:54:38Z gaqwas quit (Ping timeout: 260 seconds) 2020-08-04T12:54:58Z Inline joined #lisp 2020-08-04T12:56:10Z beach: galex-713: Both languages are Turning complete, so you can always implement one in terms of the other. The only question is what technique you then use, and how painful it is. 2020-08-04T12:57:57Z paul0 joined #lisp 2020-08-04T13:00:09Z Bike joined #lisp 2020-08-04T13:00:40Z paul0 quit (Remote host closed the connection) 2020-08-04T13:01:09Z paul0 joined #lisp 2020-08-04T13:01:22Z paul0 quit (Client Quit) 2020-08-04T13:04:52Z dsl` joined #lisp 2020-08-04T13:04:56Z wxie quit (Quit: wxie) 2020-08-04T13:06:14Z wxie joined #lisp 2020-08-04T13:07:19Z hendursa1 quit (Quit: hendursa1) 2020-08-04T13:07:35Z hendursaga joined #lisp 2020-08-04T13:07:57Z ebrasca joined #lisp 2020-08-04T13:13:35Z rumbler31 joined #lisp 2020-08-04T13:18:16Z joast joined #lisp 2020-08-04T13:24:30Z wxie quit (Quit: wxie) 2020-08-04T13:25:11Z wxie joined #lisp 2020-08-04T13:25:52Z shangul joined #lisp 2020-08-04T13:28:08Z shifty quit (Ping timeout: 256 seconds) 2020-08-04T13:28:46Z wxie1 joined #lisp 2020-08-04T13:29:50Z wxie quit (Ping timeout: 256 seconds) 2020-08-04T13:30:44Z gko_ joined #lisp 2020-08-04T13:31:51Z mangul joined #lisp 2020-08-04T13:33:28Z wxie1 quit (Ping timeout: 256 seconds) 2020-08-04T13:34:47Z shangul quit (Ping timeout: 265 seconds) 2020-08-04T13:36:21Z wxie joined #lisp 2020-08-04T13:37:05Z shidima quit (Ping timeout: 240 seconds) 2020-08-04T13:39:36Z vutral joined #lisp 2020-08-04T13:44:00Z EvW quit (Ping timeout: 256 seconds) 2020-08-04T13:44:23Z farooqkz__ joined #lisp 2020-08-04T13:44:32Z galex-713: beach: some features are more low level than others. I’m pretty sure we can implement gotos in terms of lambda, but it looks extremely wrong to me, and I would never want to do that 2020-08-04T13:44:47Z galex-713: phoe: maybe with continuations it’s possible 2020-08-04T13:45:07Z beach: So then the question is what you want, and that is a very tough question to answer, because there are so many different options. 2020-08-04T13:45:15Z galex-713: so, let me try that: except continuations, all of scheme is expressible in terms of cl 2020-08-04T13:45:29Z redeemed joined #lisp 2020-08-04T13:46:08Z galex-713: beach: I’d like to take any implementation and make it pyramidally built upon a small lower level kernel 2020-08-04T13:47:01Z mangul quit (Ping timeout: 264 seconds) 2020-08-04T13:47:17Z galex-713: I think it’d need to be a lisp-n (in a configurable way: let n be any number, possibly as much as the number of types), have both continuations and gotos, configurable scope, and configurable conditionals 2020-08-04T13:48:00Z jdz: galex-713: Even Scheme people don't think full-blown continuations are a good idea — they don't mix with dynamic (special) variables very well. 2020-08-04T13:48:18Z phoe: galex-713: what is that for? 2020-08-04T13:48:56Z galex-713: phoe: I’d like to help a friend do something useful and amusing to more people from his thesis work 2020-08-04T13:49:03Z galex-713: he finds lisp not low-level enough 2020-08-04T13:49:10Z galex-713: actually he even finds C not low-level enough 2020-08-04T13:49:23Z galex-713: he tries to build a lispy-language which is lower level than C 2020-08-04T13:49:27Z mankaev joined #lisp 2020-08-04T13:49:40Z galex-713: and build on that in a “reductionist way” (like in Grow a Language, from Steele) 2020-08-04T13:49:51Z phoe: I assume that ##lisp might be much better for that than #lisp 2020-08-04T13:50:05Z phoe: the former is a general Lisp discussion channel, where the latter (here) is strictly CL-related 2020-08-04T13:50:07Z galex-713: oh, what’s the difference? why 2 hashes? 2020-08-04T13:50:13Z galex-713: ooooh! 2020-08-04T13:50:19Z galex-713: I didn’t got that 2020-08-04T13:50:21Z galex-713: thank you! 2020-08-04T13:50:22Z phoe: two hashes is kind of a Freenode thing; it means "more generic/general" 2020-08-04T13:50:30Z phoe: but then not everyone follows it, again, for historical reasons 2020-08-04T13:50:31Z galex-713: okay! 2020-08-04T13:50:38Z galex-713: yeah I get that 2020-08-04T13:50:48Z galex-713: hirctory is a mess 2020-08-04T13:50:57Z galex-713: *hIRCtory is a mess 2020-08-04T13:51:10Z lonjil2 quit (Quit: Quit.) 2020-08-04T13:51:37Z Robdgreat: two hashes means unofficial 2020-08-04T13:52:03Z galex-713: but anyway my base question was on cl, and scheme, and I asked on both channels, and got non-overlapping relevant answers 2020-08-04T13:55:25Z rumbler31 quit (Ping timeout: 264 seconds) 2020-08-04T13:56:03Z mokulus joined #lisp 2020-08-04T13:58:24Z ldb quit (Ping timeout: 256 seconds) 2020-08-04T14:00:18Z ldb joined #lisp 2020-08-04T14:02:08Z madrik joined #lisp 2020-08-04T14:02:09Z bhartrihari left #lisp 2020-08-04T14:02:19Z bhartrihari joined #lisp 2020-08-04T14:03:01Z shidima joined #lisp 2020-08-04T14:03:55Z beach: galex-713: As it turns out, that technique of implementing a language (i.e., growing it from something lower level) is not necessarily a good idea, as you would see if you followed my presentations for the online Lisp meeting. 2020-08-04T14:05:50Z enrio joined #lisp 2020-08-04T14:06:24Z sjl_ joined #lisp 2020-08-04T14:07:25Z mankaev quit (Ping timeout: 240 seconds) 2020-08-04T14:08:25Z enrioog quit (Ping timeout: 240 seconds) 2020-08-04T14:08:37Z rumbler31 joined #lisp 2020-08-04T14:08:49Z treflip quit (Quit: WeeChat 2.6) 2020-08-04T14:08:52Z jonatack joined #lisp 2020-08-04T14:10:37Z EvW joined #lisp 2020-08-04T14:10:51Z galex-713: beach: damn, that’s a big thing… do you have an URL? 2020-08-04T14:11:26Z phoe: https://www.youtube.com/channel/UCymtXMj1M7cKiV9TKLoTtEg 2020-08-04T14:11:33Z phoe: there's vids in there 2020-08-04T14:11:54Z galex-713: oh damn, which one? 2020-08-04T14:12:03Z galex-713: I’ll use youtube-dl to find it but errrrrr 2020-08-04T14:12:06Z ldb quit (Ping timeout: 260 seconds) 2020-08-04T14:12:22Z phoe: Creating a Common Lisp implementation, part 1 and 2 2020-08-04T14:13:45Z galex-713: phoe: what implementation did you work on? 2020-08-04T14:14:02Z ldb joined #lisp 2020-08-04T14:14:57Z wxie quit (Remote host closed the connection) 2020-08-04T14:15:03Z v88m joined #lisp 2020-08-04T14:16:09Z phoe: galex-713: uhhhhh, me? I have some patches in CCL and some bug reports in SBCL 2020-08-04T14:16:19Z phoe: but I'm not an implementer myself 2020-08-04T14:16:25Z galex-713: CCL? 2020-08-04T14:16:44Z galex-713: how have you come up with your thought, experience and conclusion then? 2020-08-04T14:16:50Z galex-713: oh, CMU CL? 2020-08-04T14:17:20Z phoe: no, Clozure Common Lisp 2020-08-04T14:17:23Z phoe: CMUCL is a different one 2020-08-04T14:17:36Z phoe: my thought/experience/conclusion on which topic in particular? I'm just a Lisp hacker/programmer 2020-08-04T14:17:43Z nirved quit (Ping timeout: 240 seconds) 2020-08-04T14:17:45Z phoe: several years of practice does wonders 2020-08-04T14:17:47Z galex-713: oh, given the size, it doesn’t look so long 2020-08-04T14:17:55Z galex-713: phoe: on cl implementation 2020-08-04T14:18:02Z galex-713: phoe: on cl implementation creation* 2020-08-04T14:18:14Z phoe: that's beach! 2020-08-04T14:18:18Z phoe: these two videos are his ones 2020-08-04T14:18:43Z phoe: he's likely been doing Lisp longer than I've been alive 2020-08-04T14:18:49Z ldb quit (Ping timeout: 264 seconds) 2020-08-04T14:19:02Z galex-713: oh damn my head is gone again 2020-08-04T14:19:03Z ahungry joined #lisp 2020-08-04T14:19:04Z galex-713: sorry 2020-08-04T14:19:26Z nirved joined #lisp 2020-08-04T14:19:28Z galex-713: do you know which implementation did beach work on? 2020-08-04T14:19:30Z wxie joined #lisp 2020-08-04T14:19:48Z galex-713: damn it doesn’t have subtitles… 2020-08-04T14:20:14Z sm2n: when did these online lisp meetings start? I must've missed it somehow 2020-08-04T14:20:29Z jackdaniel: after els2020 2020-08-04T14:20:39Z sm2n: galex-713, he's writing SICL right now 2020-08-04T14:20:42Z galex-713: els? 2020-08-04T14:20:47Z phoe: European Lisp Symposium 2020-08-04T14:20:48Z sm2n: oh, neat 2020-08-04T14:21:10Z jonatack quit (Ping timeout: 246 seconds) 2020-08-04T14:21:30Z phoe: SICL Implements Common Lisp ; unofficial backronym 2020-08-04T14:21:38Z sm2n: are the ones not on the yt channel archived somewhere? 2020-08-04T14:22:02Z phoe: which ones do you mean? 2020-08-04T14:22:19Z phoe: all talks that I've streamed so far as a part of the OLM initiative are on this channel 2020-08-04T14:23:03Z ofi quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-08-04T14:23:12Z jonatack joined #lisp 2020-08-04T14:23:15Z sm2n: oh you're right 2020-08-04T14:23:33Z sm2n: I thought #1 and #2 were missing for some reason 2020-08-04T14:23:36Z sm2n: but they're all there 2020-08-04T14:23:43Z nirved quit (Ping timeout: 240 seconds) 2020-08-04T14:23:49Z phoe: whew, I was worried for a second 2020-08-04T14:24:16Z beach: minion: Please tell galex-713 about SICL. 2020-08-04T14:24:16Z minion: galex-713: SICL: SICL is a (perhaps futile) attempt to re-implement Common Lisp from scratch, hopefully using improved programming and bootstrapping techniques. See https://github.com/robert-strandh/SICL 2020-08-04T14:24:45Z dsl` quit (Ping timeout: 240 seconds) 2020-08-04T14:24:50Z treflip joined #lisp 2020-08-04T14:25:08Z nirved joined #lisp 2020-08-04T14:25:25Z phoe: basically, SICL is an attempt to write a CL implementation 1) in a fully modular way, 2) in portable Common Lisp without parts in any foreign languages 2020-08-04T14:25:49Z phoe: 1) makes its modules usable and useful in other implementations and just in general as libraries 2020-08-04T14:26:54Z phoe: 2) is the craziest idea ever since it means that you can write all of CL in CL without any kind of intermediate core written in C or what else and without issues of "we can't use defclass because we don't have defclass yet" 2020-08-04T14:27:12Z dsl` joined #lisp 2020-08-04T14:28:27Z wxie quit (Ping timeout: 260 seconds) 2020-08-04T14:29:12Z galex-713: beach: thank you, I read several pages on that then :) so the new thing is you use the whole high level common lisp to implement it right? or some new features too? 2020-08-04T14:29:23Z ebrasca: phoe: Why it is "craziest idea"? , mezzano is in CL. 2020-08-04T14:29:37Z galex-713: phoe: wait, isn’t sbcl in cl? since it has a compiler… 2020-08-04T14:29:43Z jackdaniel: the idea is not crazy, C is bootstrapped using "full" C; it is just not very common among existing common lisp implementations 2020-08-04T14:29:49Z phoe: galex-713: it's mostly in CL, but it has a C core. 2020-08-04T14:29:58Z galex-713: ow :c 2020-08-04T14:30:24Z lucasb joined #lisp 2020-08-04T14:30:25Z phoe: jackdaniel: ebrasca: I meant what jackdaniel mentioned - it's not what existing implementations do. Mezzano and SICL are unique in the matter 2020-08-04T14:30:36Z galex-713: jackdaniel: it is not very common among high-level languages implementations, I only know C, C++, rust, haskell and OCaml who do that 2020-08-04T14:30:57Z phoe: galex-713: the SBCL compiler is written in CL, the C core is usually used for interfacing with the OS and for garbage collection 2020-08-04T14:31:14Z galex-713: phoe: I see! 2020-08-04T14:31:28Z galex-713: so only I/O modules would be needed from SICL, in SBCL, right? 2020-08-04T14:31:43Z nirved quit (Ping timeout: 240 seconds) 2020-08-04T14:31:59Z galex-713: modules which could dynamically load libc themselves, and/or base themselves on some kernel API, isn’t it? 2020-08-04T14:32:12Z galex-713: beach: isn’t sbcl modular, also? 2020-08-04T14:32:30Z phoe: SBCL is very far from being modular 2020-08-04T14:32:37Z jackdaniel: galex-713: you've mentioned /quite a few/ popular languages 2020-08-04T14:32:53Z beach: galex-713: Not so much, no. Most of the code is tied to SBCL itself. And the SBCL compiler is written in a subset of Common Lisp that does not include CLOS. 2020-08-04T14:33:06Z galex-713: oh! 2020-08-04T14:33:12Z nirved joined #lisp 2020-08-04T14:33:34Z galex-713: I’ve seen that in guile too, lisp implementors keep implementing it in non-portable way, this is sad :c 2020-08-04T14:33:47Z dsl` quit (Ping timeout: 240 seconds) 2020-08-04T14:33:53Z galex-713: and it’s bad, because the more important is something, the more readable it should be 2020-08-04T14:33:56Z galex-713: by the most people 2020-08-04T14:34:04Z phoe: I mean, SBCL is mostly readable 2020-08-04T14:34:09Z phoe: it's just very tied to its own self 2020-08-04T14:34:12Z galex-713: beach: so SICL is a partial OOP cl implementation? 2020-08-04T14:34:30Z galex-713: phoe: that’s cool, but what’s so non-portable about it? 2020-08-04T14:34:38Z beach: galex-713: ? 2020-08-04T14:34:41Z phoe: there's SB-INT and SB-C and SB-IMPL and SB-VM and SB-GRAY and SB-WHATEVER splattered all over SBCL source code: compiler, reader, FORMAT, LOOP, everything 2020-08-04T14:34:58Z phoe: this makes it nontrivial to use SBCL code in non-SBCL implementations 2020-08-04T14:35:01Z beach: galex-713: CLOS is part of the Common Lisp standard. So it all has to be implemented in a conforming Common Lisp implementation. 2020-08-04T14:35:03Z jackdaniel: galex-713: to add one more prominent example, Java is written in Java 2020-08-04T14:35:15Z beach: galex-713: The new thing is that most of the system is written using CLOS. 2020-08-04T14:36:07Z galex-713: jackdaniel: REALLY??? even the VM? but how is it natively compiled? I thought there was only gcj which did that, and it was abandoned… 2020-08-04T14:36:21Z galex-713: beach: okay, so OOP 2020-08-04T14:36:29Z jackdaniel: there are multiple compilers (the standard java compiler is written in java), but this is offtopic 2020-08-04T14:36:31Z beach: galex-713: That is what CLOS is, yes. 2020-08-04T14:36:53Z beach: galex-713: In other words, there is no "order" between modules. It is not the case that one module is written in a subset defined by modules that have been created previously. 2020-08-04T14:36:59Z galex-713: I dislike OOP, but your talk should be interesting, but it lacks subtitles and spoken english drains my energy if it’s not with a friend :c 2020-08-04T14:37:14Z beach: You must be French. 2020-08-04T14:37:16Z galex-713: I’m afraid I won’t last the whole talk 2020-08-04T14:37:31Z galex-713: beach: what makes you say that? 2020-08-04T14:37:40Z galex-713: beach: you are trying to do smalltalk again but in lisp 2020-08-04T14:37:47Z beach: "modelize" 2020-08-04T14:37:49Z galex-713: isn’t it? 2020-08-04T14:37:49Z phoe: galex-713: no, that's pve 2020-08-04T14:37:53Z galex-713: oh! 2020-08-04T14:38:15Z Fare joined #lisp 2020-08-04T14:38:15Z beach: I am sorry to hear that you dislike object-oriented programming. That dislike is probably due to your not having been exposed to CLOS. 2020-08-04T14:38:16Z galex-713: oh wait 2020-08-04T14:38:17Z galex-713: wait 2020-08-04T14:38:39Z dsl` joined #lisp 2020-08-04T14:38:40Z galex-713: beach: aren’t you from Bordeau and french too? 2020-08-04T14:38:58Z galex-713: beach: maybe, you are maybe right, I’m unsure 2020-08-04T14:39:11Z galex-713: I like polymorphism 2020-08-04T14:39:11Z beach: I am not technically French, no. Just for all practical purposes. 2020-08-04T14:39:22Z galex-713: oh ok, because your accent 2020-08-04T14:39:45Z beach: So I was right. :) 2020-08-04T14:39:46Z galex-713: it would have changed my way to see english, if a native french speaker had a so good accent that it made me tired 2020-08-04T14:39:47Z phoe: (defclass frenchman-for-all-practical-purposes () ()) (defclass frenchman (frenchman-for-all-practical-purposes) ()) 2020-08-04T14:39:58Z phoe: (defvar *beach* (make-instance 'frenchman-for-all-practical-purposes)) 2020-08-04T14:40:37Z beach: I have lived in 5 countries on 4 continents. So I am not sure what I am. 2020-08-04T14:40:38Z galex-713: phoe: no no it’s the other way around, frenchman is the superclass 2020-08-04T14:40:57Z galex-713: beach: are you easiest with english? 2020-08-04T14:41:08Z jackdaniel: galex-713: this is offtopic on this channel 2020-08-04T14:41:14Z galex-713: jackdaniel: thank you! 2020-08-04T14:42:09Z beach: galex-713: So to summarize, "growing" a language implementation is not such a great idea, because it requires the person implementing and maintaining a module to know precisely what subset of the language is allowed. 2020-08-04T14:42:10Z ldb joined #lisp 2020-08-04T14:42:37Z galex-713: beach: oh! 2020-08-04T14:42:42Z galex-713: this is an interesting idea! 2020-08-04T14:42:44Z beach: And, as it turns out, my brain is just too small to keep track of such subsets. 2020-08-04T14:42:56Z galex-713: I will think to it 2020-08-04T14:43:22Z dsl` quit (Ping timeout: 260 seconds) 2020-08-04T14:43:44Z galex-713: personally I like reductionism (“growing a language” out of low-level) because it helps learning the whole system working going down, and also because it means you don’t have to know everything to read anything 2020-08-04T14:45:04Z phoe: for learning purposes, sure, that's very nice 2020-08-04T14:45:14Z phoe: that's how the first part of my upcoming book is structured 2020-08-04T14:45:19Z galex-713: yeah, so his way is better for writing, and steele’s one for reading 2020-08-04T14:45:42Z galex-713: phoe: what book? 2020-08-04T14:46:09Z beach: The Common Lisp Condition System. 2020-08-04T14:46:29Z galex-713: that’s his book? 2020-08-04T14:46:33Z beach: Yeah. 2020-08-04T14:46:52Z ldb missed a lot conversation 2020-08-04T14:47:21Z galex-713: did condition system evolves a lot since CLtL2? 2020-08-04T14:47:33Z galex-713: I’m just starting that chapter (I’m almost done ^^) looks amazing 2020-08-04T14:47:37Z galex-713: *( ) 2020-08-04T14:47:40Z dsl` joined #lisp 2020-08-04T14:47:46Z ldb: notmuch 2020-08-04T14:47:52Z nullheroes quit (Quit: WeeChat 2.9) 2020-08-04T14:47:56Z galex-713: or is it about using it and doing fun or unheard or not-known-enough stuff with it? 2020-08-04T14:48:17Z beach: It is mostly about how unique and how great it is. 2020-08-04T14:48:26Z beach: And how it can all be defined with portable code. 2020-08-04T14:48:34Z ldb: condition system is the not-known-enough kind 2020-08-04T14:48:35Z phoe: it's about constructing it from scratch two times in a row in different ways, and then discussing its uses and traits and quirks and fun purposes 2020-08-04T14:48:37Z nullheroes joined #lisp 2020-08-04T14:48:48Z phoe: and how it's unique and underused in general 2020-08-04T14:49:41Z ldb: actually most programming languages are suspicious to all kinds of exception handling like things 2020-08-04T14:49:54Z galex-713: oh fuck 2020-08-04T14:49:59Z galex-713: that looks damn interesting 2020-08-04T14:50:25Z galex-713: I will be smashed under a pile of books growing faster than I can read… 2020-08-04T14:50:48Z phoe: welcome to the club 2020-08-04T14:50:52Z dra: My copy is expected to be delivered mid October. Can't wait. 2020-08-04T14:50:52Z ldb: surely it takes years 2020-08-04T14:51:05Z phoe: dra: that's the ETA for all copies, it seems 2020-08-04T14:51:15Z eta: hmm? 2020-08-04T14:51:23Z phoe: xD 2020-08-04T14:51:24Z ldb: cao 2020-08-04T14:51:30Z phoe: oh that was good 2020-08-04T14:51:31Z dra: Yep, they've moved it closer a couple of times. But they stopped moving it now. ;( 2020-08-04T14:52:02Z galex-713: phoe: no no, you don’t understand, in my case it’s an issue, I don’t write anything T-T 2020-08-04T14:52:07Z galex-713: wait 2020-08-04T14:52:13Z galex-713 goes lispcafe again 2020-08-04T14:52:34Z dsl` quit (Ping timeout: 256 seconds) 2020-08-04T14:57:10Z dsl` joined #lisp 2020-08-04T15:01:14Z MetaYan: dra: continued from #sbcl - I just happened to have read the errata a couple of days ago, so the form rang a bell. Not familiar with the details yet. 2020-08-04T15:01:29Z jonatack quit (Read error: Connection reset by peer) 2020-08-04T15:01:42Z dsl` quit (Ping timeout: 256 seconds) 2020-08-04T15:03:53Z bhartrihari left #lisp 2020-08-04T15:03:58Z bhartrihari joined #lisp 2020-08-04T15:04:58Z rippa joined #lisp 2020-08-04T15:06:21Z dsl` joined #lisp 2020-08-04T15:06:55Z phoe: which errata? CLtL2? 2020-08-04T15:07:01Z dra: MetaYan: Yeah. I just noticed that SBCL spits out a few warnings and COMPILE-FILE sets FAILURE-P. Loading the FASL works and even the continuations work. But by now I'm convinced that Weitz must have DEFVAR'd the symbol before (setq foo 13). See 12m54s at https://www.youtube.com/watch?v=EyhL1DNrSME. 2020-08-04T15:07:25Z shidima quit (Ping timeout: 264 seconds) 2020-08-04T15:07:28Z dra: phoe: I asked a question over at #sbcl regarding a warning with the On Lisp code. 2020-08-04T15:07:31Z theseb joined #lisp 2020-08-04T15:07:45Z phoe: dra: thanks, will look there 2020-08-04T15:08:18Z ldb quit (Quit: nearly midnight, go to bed) 2020-08-04T15:10:39Z _death: dra: it's an old habit to setq like that.. the standards committee decided to not define the consequences of doing it, and some implementations (e.g., sbcl) decided to be strict and signal a warning 2020-08-04T15:10:58Z dsl` quit (Ping timeout: 265 seconds) 2020-08-04T15:11:46Z phoe: toplevel SETQ seems to be a thing in CL for backwards compatibility with old Lisps 2020-08-04T15:12:16Z EvW quit (Ping timeout: 244 seconds) 2020-08-04T15:13:11Z treflip quit (Quit: WeeChat 2.6) 2020-08-04T15:13:13Z dra: _death: Thanks. I got it now. I'll try the workarounds you pointed out. 2020-08-04T15:15:18Z _death: the clhs itself contains many examples that setq 2020-08-04T15:15:27Z dsl` joined #lisp 2020-08-04T15:16:02Z phoe: yes, that's one of the worst things 2020-08-04T15:16:48Z dra: Adding to my confusion... 2020-08-04T15:17:18Z dominic34 joined #lisp 2020-08-04T15:17:23Z nirved quit (Ping timeout: 240 seconds) 2020-08-04T15:18:22Z shidima joined #lisp 2020-08-04T15:18:57Z nirved joined #lisp 2020-08-04T15:20:01Z galex-713 quit (Ping timeout: 244 seconds) 2020-08-04T15:20:01Z dsl` quit (Ping timeout: 264 seconds) 2020-08-04T15:20:31Z galex-713 joined #lisp 2020-08-04T15:21:17Z wooden quit (Read error: No route to host) 2020-08-04T15:23:12Z EvW joined #lisp 2020-08-04T15:24:14Z nirved quit (Remote host closed the connection) 2020-08-04T15:24:31Z dsl` joined #lisp 2020-08-04T15:25:06Z markoong joined #lisp 2020-08-04T15:25:55Z galex-713: phoe: I guess your book and what’s in it won’t be under a free licence…? :/ do you know how much it will cost btw? 2020-08-04T15:26:12Z phoe: galex-713: https://www.apress.com/us/book/9781484261330 has the prices 2020-08-04T15:26:53Z phoe: also, nope, I expect coin to flow through them to me if you get the book in a legitimate way 2020-08-04T15:27:37Z nirved joined #lisp 2020-08-04T15:29:11Z beach: How many pages did it end up being? 2020-08-04T15:29:29Z jonatack joined #lisp 2020-08-04T15:29:33Z phoe: beach: I still don't know, I'll know when it comes out of production and we have a chance to implement our last fixes there 2020-08-04T15:29:41Z beach: Ah, I see. 2020-08-04T15:29:46Z beach: Roughly? 2020-08-04T15:30:10Z phoe: I... honestly don't know, because I don't know what kind of page size and font they'll use 2020-08-04T15:30:17Z phoe: I'll get back to you as soon as I know the stats 2020-08-04T15:30:20Z beach: Fair enough. 2020-08-04T15:31:01Z Inline quit (Quit: Leaving) 2020-08-04T15:31:20Z dsl` quit (Ping timeout: 256 seconds) 2020-08-04T15:32:06Z wsinatra joined #lisp 2020-08-04T15:33:33Z edgar-rft quit (Quit: Leaving) 2020-08-04T15:33:40Z dsl` joined #lisp 2020-08-04T15:36:06Z Inline joined #lisp 2020-08-04T15:36:34Z enrio quit (Ping timeout: 260 seconds) 2020-08-04T15:37:50Z galex-713: phoe: does it teach anything that’s not in CLtL2? 2020-08-04T15:38:24Z phoe: galex-713: yes, CLtL2 (AFAIK) doesn't teach how the condition system works internally or how one can construct it from scratch 2020-08-04T15:38:25Z dsl` quit (Ping timeout: 240 seconds) 2020-08-04T15:40:13Z redeemed quit (Quit: q) 2020-08-04T15:41:25Z Lord_Nightmare quit (Ping timeout: 240 seconds) 2020-08-04T15:42:19Z galex-713: phoe: just that? so I could read that in another implementation and it would be “just” more difficult and likely uglier (since I guess it’s must be beautiful to be published)? 2020-08-04T15:42:31Z galex-713: phoe: are both your implementations free, at least? 2020-08-04T15:42:42Z galex-713: (not the text of the book) 2020-08-04T15:42:48Z phoe: galex-713: yes, they are 2020-08-04T15:42:56Z phoe: and yes, "just" that 2020-08-04T15:42:58Z galex-713: oh cool! 2020-08-04T15:43:24Z galex-713: then I’ll try to get it when I will have read more stuff, hope I won’t forget 2020-08-04T15:43:29Z phoe: same way you can "just" read the Portable Common Loops sources in SBCL and it would be "just" more difficult and likely uglier than reading AMOP 2020-08-04T15:43:32Z galex-713: phoe: wait, is the ebook DRM? 2020-08-04T15:43:42Z enrio joined #lisp 2020-08-04T15:43:45Z galex-713: phoe: what is AMOP? 2020-08-04T15:43:51Z phoe: Art of the Metaobject Protocol 2020-08-04T15:44:03Z phoe: the ebook isn't DRMed, Apress watermarks their copies instead 2020-08-04T15:44:10Z galex-713: oooh! 2020-08-04T15:44:11Z galex-713: clever 2020-08-04T15:44:15Z galex-713: that’s way better 2020-08-04T15:44:30Z galex-713: phoe: is that the thing written by Sonja Keene? 2020-08-04T15:44:39Z phoe: nope, Sonya's book is yet another thing 2020-08-04T15:44:47Z galex-713: ok 2020-08-04T15:45:02Z phoe: AMOP is by Kiczales, des Rivieres and Bobrow 2020-08-04T15:45:03Z galex-713: is Portable Common Loops the reference implementation of CLOS? 2020-08-04T15:45:07Z phoe: yes 2020-08-04T15:45:56Z galex-713: does Sonya’s book describe MOP too? what do you think of it if you have read it at least skimming? 2020-08-04T15:46:33Z xristos: it doesn't describe the MOP 2020-08-04T15:46:38Z phoe: MOP is a means of implementing and programming CLOS; I don't think Sony--- thanks xristos 2020-08-04T15:46:44Z xristos: you can find both online for free if you know where to look 2020-08-04T15:47:03Z xristos: AMOP is worth buying for sure 2020-08-04T15:47:15Z phoe: ^ 2020-08-04T15:47:21Z xristos: the sonya book is nice but i'm not sure i'd spend the money for it if i had another chance (i bought both) 2020-08-04T15:47:33Z galex-713: AMOP’s not free (as in free speech) either? 2020-08-04T15:47:34Z phoe: I can't say if my book is worth buying because that'll be up for the reviewers to decide 2020-08-04T15:48:15Z galex-713: phoe: for now it looks promising :) you you implemented conditions twice and are proud enough to put that on paper, that inspires trust 2020-08-04T15:48:22Z Lord_of_Life_ joined #lisp 2020-08-04T15:48:24Z galex-713: *if you implemented 2020-08-04T15:48:33Z galex-713: *and were proud enough 2020-08-04T15:48:41Z phoe: galex-713: I didn't really do that from scratch once, I based the implementation on an earlier one 2020-08-04T15:48:51Z phoe: it's available at https://github.com/phoe/portable-condition-system 2020-08-04T15:48:56Z galex-713: but… then… is Portable CLOOPS not supporting MOP? 2020-08-04T15:49:11Z phoe: I actually don't know about that 2020-08-04T15:49:17Z galex-713: phoe: still 2020-08-04T15:49:39Z galex-713: if you found something beautiful and even a little improved it and explained it, it’s cool 2020-08-04T15:49:47Z galex-713: I mean, you didn’t just copy it, isn’t it? 2020-08-04T15:50:02Z Lord_of_Life quit (Ping timeout: 256 seconds) 2020-08-04T15:50:23Z phoe: obviously not, that implementation was from 1990s and didn't even compile cleanly anymore 2020-08-04T15:50:38Z galex-713: so, as I said, just that makes it valuable to me 2020-08-04T15:50:48Z galex-713: but I’m not that experienced, so my opinion is not a big thing 2020-08-04T15:50:51Z phoe: it seems that PCL is built atop MOP, at least judging from https://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/lang/lisp/oop/clos/pcl/ code 2020-08-04T15:51:01Z orivej joined #lisp 2020-08-04T15:51:13Z Lord_of_Life_ is now known as Lord_of_Life 2020-08-04T15:51:17Z galex-713: phoe: okay, cool, thank you 2020-08-04T15:51:50Z galex-713: for when beach returns, I must admit that I only touched OO through C++ and Java 2020-08-04T15:51:59Z galex-713: so of course I have bad experience 2020-08-04T15:52:14Z galex-713: but I knew a bit of smalltalk, and it seemed stupid and beautiful at the same time, I liked it somewhat 2020-08-04T15:52:37Z galex-713: I had a course on it, never did anything because the implementation taught was proprietary 2020-08-04T15:53:08Z phoe: #lispcafe would say that Pharo is a good modern free smalltalk implementation, but that's already #lispcafe material 2020-08-04T15:53:50Z phoe: CLOS is a very friendly system to touch 2020-08-04T15:54:18Z andrei-n quit (Quit: Leaving) 2020-08-04T15:54:20Z dra: galex-713: I found phoe's comments very thorough and insightful in the book announcement thread on Hacker News: https://news.ycombinator.com/item?id=23843525 2020-08-04T15:54:58Z shinohai quit (Ping timeout: 256 seconds) 2020-08-04T15:55:09Z shinohai joined #lisp 2020-08-04T15:55:15Z phoe blush 2020-08-04T15:55:53Z dra: phoe: I mean that is what convinced me to order the book. ;) 2020-08-04T15:56:08Z phoe: welp 2020-08-04T15:57:52Z phoe: ;; so this kinda teaches me that the traveling salesman problem is not a problem when you're the salesman and you travel to HN to show your wares 2020-08-04T15:59:17Z vutral quit (Quit: Connection closed for inactivity) 2020-08-04T16:00:43Z nirved quit (Ping timeout: 240 seconds) 2020-08-04T16:01:13Z galex-713: phoe: x) 2020-08-04T16:02:34Z nirved joined #lisp 2020-08-04T16:02:37Z EvW quit (Ping timeout: 260 seconds) 2020-08-04T16:05:13Z galex-713: phoe: if you think to also convince other languages, why not titling it “Condition System”? it’s shorter and common lisper may already recognize what it is, wouldn’t they? 2020-08-04T16:05:48Z sbryant joined #lisp 2020-08-04T16:06:12Z phoe: it's both an interesting and dangerous idea to me 2020-08-04T16:06:35Z rpg joined #lisp 2020-08-04T16:06:43Z nirved quit (Ping timeout: 240 seconds) 2020-08-04T16:08:20Z rpg: SLIME question: how does one start up slime with environment variables for the lisp process? the definition of SLIME-START has an ENV argument, but AFAICT there's no way to pass that argument to SLIME-START -- SLIME doesn't accept an ENV option. It seems like SLIME-LISP-OPTIONS should allow this, but afaict it only lets you add command line arguments to the command that invokes the inferior lisp. 2020-08-04T16:08:27Z nirved joined #lisp 2020-08-04T16:09:02Z zmt00 joined #lisp 2020-08-04T16:09:35Z rpg: Franz's ELI (emacs lisp environment) has the variable fi:subprocess-env-vars -- is there anything like that for SLIME? 2020-08-04T16:11:00Z _death: rpg: what about specifying them in slime-lisp-implementations ? 2020-08-04T16:11:52Z rpg: _death: Great! Thanks! that's just what I needed to know! 2020-08-04T16:12:42Z phoe: _death: you mean like "FOO=bar BAZ=quux sbcl"? 2020-08-04T16:13:11Z _death: phoe: no, it can pass arguments to slime-start.. so you can have :env ... 2020-08-04T16:15:47Z gko_ quit (Ping timeout: 240 seconds) 2020-08-04T16:15:53Z phoe: TIL 2020-08-04T16:22:19Z bhartrihari left #lisp 2020-08-04T16:27:31Z orivej quit (Ping timeout: 246 seconds) 2020-08-04T16:27:40Z galex-713: phoe: still reading about your book on HN and… do you think it will be possible to order it without non-free javascript? I don’t know well apress, nor where it will arrive 2020-08-04T16:28:06Z galex-713: oh also if you order the dead-tree version, do you get the ebook as well? or would you need to pay twice' 2020-08-04T16:28:08Z galex-713: *twice? 2020-08-04T16:31:56Z narimiran quit (Quit: leaving) 2020-08-04T16:33:40Z cosimone quit (Quit: Quit.) 2020-08-04T16:35:01Z galex-713: phoe: also, when you say “programmable debugguer”, is that standard and integrated in the condition system? or standardized after CLtL2? 2020-08-04T16:36:30Z mindCrime joined #lisp 2020-08-04T16:36:40Z bhartrihari joined #lisp 2020-08-04T16:39:44Z bhartrihari left #lisp 2020-08-04T16:39:58Z bhartrihari joined #lisp 2020-08-04T16:42:36Z galex-713: something that made me sad reading CLtL is that struct don’t support multiple inheritence 2020-08-04T16:42:49Z galex-713: is it especially difficult to do? is it bad? 2020-08-04T16:43:19Z bhartrihari left #lisp 2020-08-04T16:43:20Z rpg: galex-713: That would mess with the ability to efficiently access structs by memory offsets. 2020-08-04T16:43:32Z galex-713: oh, yes, you are right 2020-08-04T16:43:34Z bhartrihari joined #lisp 2020-08-04T16:43:41Z galex-713: thank you 2020-08-04T16:44:01Z phoe: galex-713: I know that apress and/or amazon have it, I don't know about their JS-free versions 2020-08-04T16:44:10Z phoe: I don't know if you get an ebook when you order it paperback 2020-08-04T16:44:20Z galex-713: I think I maybe already try to get something from apress and failed 2020-08-04T16:44:33Z jackdaniel waves the offtopic banner 2020-08-04T16:44:36Z galex-713: because I have apress books, and everything I got I got through ebay, because I couldn’t get it elsewhere 2020-08-04T16:44:41Z phoe: the CL debugger itself is actually not defined in the standard itself, it's left for the implementations to define 2020-08-04T16:45:05Z galex-713: phoe: oh ok thank you… but stuff like step and break *are*, arent’t they? 2020-08-04T16:45:08Z phoe: so you can either tweak the implementations' provided debuggers, or - as we do in the book - define your own debugger somewhat easily and program it 2020-08-04T16:45:22Z phoe: yes, but stepping and breaking aren't parts of the debugger itself 2020-08-04T16:46:21Z galex-713: okay 2020-08-04T16:47:01Z phoe: stepping is actually more of a compiler thing than it is a debugger thing 2020-08-04T16:47:26Z phoe: and BREAK is a pretty trivial thing, it's a LET over WITH-SIMPLE-RESTART over INVOKE-DEBUGGER 2020-08-04T16:47:49Z galex-713: Also something opposite: same question about “supertyping” of struct and class… considering that offset thing, especially of classes: wasn’t there ever something like “define a super class of all these class, such as it contains the intersection of their common member and the intersection of their appliable methods apply to it”? or was there never a need to do that because of the possibility to redefine classes on the fly? (I guess 2020-08-04T16:47:49Z galex-713: beach could answer, as for CLOS knowledge) 2020-08-04T16:48:08Z galex-713: phoe: okay 2020-08-04T16:48:28Z galex-713: I thought of them as debugger commands, like in gdb 2020-08-04T16:48:33Z galex-713: I’m more used to C than cl 2020-08-04T16:48:38Z phoe: wait, a superclass of all these classes?... 2020-08-04T16:48:47Z phoe: I don't think DEFCLASS works this way 2020-08-04T16:49:15Z galex-713: with defclass you can only (re)define a class according its definition and the superclasses you give 2020-08-04T16:49:40Z galex-713: what I mean is like you define a new class, which would be the intersection of several classes so that it automatically is the superclass of all these a posteriori 2020-08-04T16:50:02Z galex-713: just like a subclass is the union of its superclasses 2020-08-04T16:50:17Z phoe: hmmmm, you could in theory hack the MOP to get something like that 2020-08-04T16:50:28Z phoe: but then you'd also need to take care to only mutate the classes that you are allowed to mutate 2020-08-04T16:51:45Z farooqkz__ quit (Ping timeout: 240 seconds) 2020-08-04T16:52:22Z liberliver quit (Ping timeout: 256 seconds) 2020-08-04T16:52:43Z galex-713: or defining a standard behavior wrt redefining 2020-08-04T16:53:01Z galex-713: just as clos do 2020-08-04T16:53:37Z jackdaniel: I don't understand what it means, that it is "automatically a superclass of all these a posteriori" 2020-08-04T16:53:37Z shidima quit (Ping timeout: 264 seconds) 2020-08-04T16:53:48Z galex-713: rpg: what if structures are aligned and that turns up to just be a structures of structures (so there is overhead, but not as much), while letting the API be the same? 2020-08-04T16:54:18Z galex-713: jackdaniel: automatically IS a superclass of all these retroactively 2020-08-04T16:54:52Z Bike: "union" and "intersection" aren't quite right. superclasses have an order among them 2020-08-04T16:55:06Z rpg: galex-713: I suppose, but I believe that the intent was to give structs the efficiency that objects lacked... 2020-08-04T16:55:09Z jackdaniel: class hierarchy create a directed acyclic graph 2020-08-04T16:55:28Z galex-713: Bike: because they can overlap, but that is an issue with union, not intersection 2020-08-04T16:55:31Z jackdaniel: you may add one class as a superclass of some already existing class with mop 2020-08-04T16:55:41Z Bike: not because they can overlap. it also matters for finding relevant methods. 2020-08-04T16:55:52Z Bike: not JUST because they can overlap, i mean 2020-08-04T16:55:58Z galex-713: jackdaniel: okay so a mop thing 2020-08-04T16:56:06Z Bike: i don't know why you'd want to do this, anyway 2020-08-04T16:56:08Z jackdaniel: check out stealth-mixin library which allows adding a superclass to a "victim class" 2020-08-04T16:56:16Z galex-713: Bike: isn’t it because methods applicability can also overlap? 2020-08-04T16:56:20Z jackdaniel: but no unions / intersections 2020-08-04T16:56:24Z jackdaniel: just what it is said to do 2020-08-04T16:56:34Z galex-713: Bike: I don’t know either, I just like symetry, and it looks not infeasible 2020-08-04T16:57:09Z galex-713: jackdaniel: oh there’s a library? thank you 2020-08-04T16:57:28Z phoe: Lisp type unions/intersections are symmetrical but Lisp class unions/intersections are ordered and therefore asymmetrical 2020-08-04T16:57:30Z Bike: say you have classes A and B and C. you do this automatic definition thing to get AB s.t. A <: AB, B <: AB, and BC s.t. B <: BC, C <: BC. Then you define a generic function with methods on AB and BC and call it with a B. 2020-08-04T16:58:21Z Bike: now there has to be a decision about which method is more applicable. 2020-08-04T16:59:44Z galex-713: Bike: you do that by the topological order in which you specify the subclass in the automatic superclas definition 2020-08-04T16:59:53Z galex-713: wouldn’t that work? 2020-08-04T16:59:58Z Bike: er, what? 2020-08-04T17:00:09Z Bike: You mean depending on whether you specified AB as A, B or B, A? 2020-08-04T17:00:15Z Bike: I don't see how that would matter. 2020-08-04T17:00:15Z galex-713: yes 2020-08-04T17:00:25Z Bike: A and C don't even come into this. 2020-08-04T17:00:30Z phoe: galex-713: (defclass my-class (a b c d e f) ()) 2020-08-04T17:00:32Z galex-713: it matters for defclass when you give several superclasses 2020-08-04T17:00:35Z shidima joined #lisp 2020-08-04T17:00:39Z phoe: let's say that you want to insert a new superclass there 2020-08-04T17:00:42Z phoe: how would that work? 2020-08-04T17:00:45Z Bike: Yes, but then it affects the new class, not the superclasses. 2020-08-04T17:01:08Z Bike: The class-precedence-list, the linear list of superclasses, is a property of the class, not of its superclasses. 2020-08-04T17:01:13Z galex-713: phoe: at the end maybe? 2020-08-04T17:01:22Z phoe: galex-713: *maybe*? 2020-08-04T17:01:29Z Bike: well, anyway, i hope you can see this is a lot more complicated than symmetry 2020-08-04T17:01:43Z galex-713: I’m unsure, I feel like on a subset it’s feasible, I’m unsure how it would behave on special cases 2020-08-04T17:01:48Z phoe: what about (defclass my-other-class (f e d c b a) ())? 2020-08-04T17:01:51Z phoe: this is not special cases 2020-08-04T17:01:55Z galex-713: but that would be an important decision whenever trying to implement a such thing 2020-08-04T17:02:02Z phoe: this is basics of CLOS class precedence 2020-08-04T17:02:06Z phoe: and therefore method applicability 2020-08-04T17:02:13Z Bike: the need for this linear list is what makes this more complciated than unions and intersections. 2020-08-04T17:02:20Z phoe: ^ 2020-08-04T17:02:25Z Bike: for that we have the type system where you can easily specify intersection and union types. 2020-08-04T17:02:34Z Bike: but that's because method applicability isn't involved. 2020-08-04T17:03:06Z galex-713: oh wait I just got it thanks to phoe’s example 2020-08-04T17:03:23Z Bike: there are also some things with slots that would be non obvious. For example if one class has a slot that's an instance slot and the other has a slot with the same name that's a class slot. 2020-08-04T17:04:00Z galex-713: phoe: concatenation of matching subset of ordered list of superclass, would it work? 2020-08-04T17:04:16Z larme quit (Quit: WeeChat 2.3) 2020-08-04T17:04:34Z galex-713: so (defsuperclass my-superclass (my-class my-other-class)) would have no applicable method 2020-08-04T17:04:55Z phoe: no applicable method for which generic function? 2020-08-04T17:05:17Z galex-713: for any, unless you define it for my-superclass 2020-08-04T17:05:36Z jackdaniel: galex-713: I think that you need to get at least some grasp of clos before making hasty suggestions 2020-08-04T17:05:54Z phoe: "concatenation of matching subset of ordered list of superclass" is a bit over my head 2020-08-04T17:06:04Z phoe: could you give me an example with MY-CLASS and MY-OTHER-CLASS that I mentioned up above? 2020-08-04T17:06:15Z galex-713: but given (defclass first (a b c d e f)) and (defclass second (a b d c e f)), (defsuperclass my-superclass (first second)) would have as ordered superclass list (a b e f) 2020-08-04T17:06:16Z jackdaniel: if I remember correctly, you've said that you have never used clos before 2020-08-04T17:06:50Z phoe: galex-713: so, basically, MY-CLASS and MY-SUPERCLASS would have what exactly as its ordered superclass list? 2020-08-04T17:06:52Z galex-713: jackdaniel: you are very likely right, I’m speculating, trying to mindplay with thing, I shouldn’t do that maybe… 2020-08-04T17:07:01Z phoe: would it be (A), (B), or (F)? 2020-08-04T17:07:10Z phoe: or maybe (C) 2020-08-04T17:07:22Z phoe: since these are the only kinds of ordered subsets you're gonna get from that one 2020-08-04T17:07:25Z Bike: i mean, it's fine. mop is designed to let you do weird things with clos, and is itself unfinished. 2020-08-04T17:08:07Z galex-713: my-superclass would have no superclasses at all 2020-08-04T17:08:10Z jackdaniel: you could, but I personally would not engage all channel participants with speculation without trying to understand what I want first 2020-08-04T17:08:19Z phoe: ^ 2020-08-04T17:09:04Z galex-713: but my-class would have (a b c d e f my-superclass) and my-other-class would have (f e d c b a my-superclass) 2020-08-04T17:09:10Z galex-713: phoe: oh wait you’re right, it’s not empty, it’s each of them 2020-08-04T17:09:31Z phoe: this in turn sounds like stealth-mixins that jackdaniel mentioned 2020-08-04T17:09:41Z galex-713: yes, that must be that 2020-08-04T17:09:54Z galex-713: I understand now how the problem is difficult and non-trivial 2020-08-04T17:10:27Z galex-713: I’m grateful to you to have made me understand why, despite my inexperience about clos 2020-08-04T17:10:34Z galex-713: it was tickering my head 2020-08-04T17:10:40Z galex-713: same thing for structs 2020-08-04T17:10:42Z galex-713: thank you :) 2020-08-04T17:10:43Z phoe: gee, how many things get complicated when you introduce a simple linear order on a set 2020-08-04T17:11:20Z galex-713: oh, do you know if there is a such thing such as data, or even compound data inlining within struct? 2020-08-04T17:11:52Z galex-713: so that to reduce the amount of pointer to dereference to access an element of a data structure of a member of a struct? 2020-08-04T17:12:32Z phoe: AFAIK yes but it's not going to be as efficient as in C by default in order to preserve object identity. 2020-08-04T17:12:40Z phoe: I remember that aeth was discussing this here someday 2020-08-04T17:12:50Z galex-713: oh, but is there a way to throw away object identity? 2020-08-04T17:13:08Z galex-713: and kinda get use of the eq/eqv distinction? 2020-08-04T17:13:37Z galex-713: like eq could never work but maybe eqv would work as equal (without going deeper than the most shallow level) 2020-08-04T17:15:47Z phoe: what's eqv? 2020-08-04T17:15:57Z galex-713: oh uh eql sorry 2020-08-04T17:16:02Z galex-713: eqv is an emacsism 2020-08-04T17:16:27Z phoe: EQ is, in very plain terms, pointer comparison 2020-08-04T17:16:35Z dsl` joined #lisp 2020-08-04T17:16:39Z galex-713: oh no it’s not 2020-08-04T17:16:42Z galex-713: phoe: I know 2020-08-04T17:17:01Z shidima quit (Ping timeout: 264 seconds) 2020-08-04T17:17:05Z phoe: and because small integers and characters are allowed to be stored inside pointers but also may not be stored there, it means that EQ may not work well on those 2020-08-04T17:17:07Z galex-713: no no I meant eql 2020-08-04T17:17:20Z galex-713: yes I know that 2020-08-04T17:17:22Z phoe: EQL is EQ that is additionally well-defined on numbers and characters. 2020-08-04T17:17:24Z phoe: that's all. 2020-08-04T17:18:07Z phoe: there's also EQUAL and EQUALP and = that mean different things, too. 2020-08-04T17:18:13Z shifty joined #lisp 2020-08-04T17:18:13Z galex-713: but is there a way to declare something so that you declare a member of a struct as, say, a cons, so that eq won’t work anymore on it, though eql would, but it would only compare its car and cdr, not going deeper (contrarily to equal) 2020-08-04T17:18:45Z galex-713: it could be a cons or an array or any compound data structure 2020-08-04T17:21:20Z phoe: there's a concept of places in Common Lisp that works sorta similarly to what you describe 2020-08-04T17:21:34Z galex-713: places? isn’t that the setf thing? 2020-08-04T17:21:43Z phoe: it is, I'm thinking out loud now 2020-08-04T17:22:18Z galex-713: initially I thought there was a trinary separation between variable, place and value, and that each involved a pointer 2020-08-04T17:22:20Z rpg: galex-713: Note also the presence of the :type LIST opeion 2020-08-04T17:22:29Z phoe: but no, I don't think that you can tell Lisp to do things like that without breaking object identity in some way; for simple tagged structures like conses it might work, but for more complex objects that require having headers in memory that's going to break 2020-08-04T17:22:54Z galex-713: rpg: yes but I guess it won’t be inlined, especially as I don’t see a way of indicating the “fixed size” of a list, and it looks a dumb thing to do 2020-08-04T17:23:08Z gaqwas joined #lisp 2020-08-04T17:23:08Z gaqwas quit (Changing host) 2020-08-04T17:23:08Z gaqwas joined #lisp 2020-08-04T17:23:20Z galex-713: phoe: but what if I’m *okay* to break object identity? 2020-08-04T17:23:54Z galex-713: I guess no implementation do that, right? 2020-08-04T17:24:00Z galex-713: give a way to break object identity 2020-08-04T17:24:07Z galex-713: anyway it’s not in standard I’m sure now 2020-08-04T17:24:15Z phoe: galex-713: I think no implementation does that 2020-08-04T17:24:20Z galex-713: given the diff to cltl I got here 2020-08-04T17:24:23Z galex-713: okay 2020-08-04T17:24:27Z galex-713: this looks an interesting problem 2020-08-04T17:24:37Z galex-713: my friend would be interested 2020-08-04T17:24:44Z phoe: I mean, you could cheat by explicitly allocating foreign memory, but that's only going to give you foreign types + overhead for converting between Lisp and foreign worlds 2020-08-04T17:24:57Z galex-713: oh that too 2020-08-04T17:24:59Z bsd4me quit (Quit: gotta go) 2020-08-04T17:25:08Z ayuce quit (Remote host closed the connection) 2020-08-04T17:25:10Z galex-713: phoe: I’m intrigued by your connection with places… how do you see places? 2020-08-04T17:25:14Z galex-713: in common lisp 2020-08-04T17:25:30Z ayuce joined #lisp 2020-08-04T17:26:48Z galex-713: and btw sorry, eqv is not an emacsism, it’s a schemism (the scheme equivalent) 2020-08-04T17:27:11Z satousan joined #lisp 2020-08-04T17:27:37Z phoe: a place is something that can be read from and can be written to 2020-08-04T17:28:01Z phoe: it's an abstract thing, and sometimes a lexical thing, and a second-class citizen in CL 2020-08-04T17:28:22Z galex-713: how is it distinct from a value, or a variable/symbol? 2020-08-04T17:28:34Z phoe: a variable is kind of a place 2020-08-04T17:28:40Z phoe: (#clschool would be happy to have you) 2020-08-04T17:28:54Z galex-713: (why that?) 2020-08-04T17:29:09Z phoe: (that's a basic Lisp question and #clschool is designed exactly for that sorta questions) 2020-08-04T17:29:37Z galex-713: I’m not interested in cl because I got how it is defined so how it can work, or not work 2020-08-04T17:29:45Z galex-713: I’m interested in how you see it 2020-08-04T17:29:53Z phoe: other examples of places include CARs and CDRs of conses, AREFs of arrays, ELTs of sequences, GETHASHes of hash tables with given keys, SYMBOL-FUNCTIONs of functions, etc.. 2020-08-04T17:29:54Z galex-713: because it looks like how I saw it when first discovering lisp 2020-08-04T17:30:11Z galex-713: mmh 2020-08-04T17:30:14Z galex-713: okay I see 2020-08-04T17:30:20Z FreeBirdLjj quit (Remote host closed the connection) 2020-08-04T17:30:54Z galex-713: no your vision of it is perfectly correct so I don’t understand why you made a connection I would have made before and wouldn’t anymore now I got how it work 2020-08-04T17:31:02Z galex-713: *works 2020-08-04T17:31:13Z galex-713: oh 2020-08-04T17:31:15Z galex-713: OH 2020-08-04T17:31:25Z galex-713: I got a design flaw in what I was thinking about 2020-08-04T17:31:33Z galex-713: lisp functions only returns pointer 2020-08-04T17:31:40Z galex-713: wait 2020-08-04T17:31:43Z galex-713: hm… 2020-08-04T17:31:58Z phoe: you can write most of these things in a single line, you know 2020-08-04T17:32:33Z galex-713: sorry, indeed, you are right, I’m too quick to type return while I think, instead of afterthought, thank you for the notice 2020-08-04T17:33:41Z galex-713: okay my idea is definitely complex to implement, but doable, and not definable according current standards 2020-08-04T17:36:49Z Inline quit (Ping timeout: 264 seconds) 2020-08-04T17:39:51Z galex-713: are there or were there cl implementations that optimized so much so as to stop storing the size of arrays? 2020-08-04T17:40:26Z galex-713: for instance if som eprogram never asks for it, and because it keeps it in some data elsewhere and doesn’t need one per array 2020-08-04T17:40:29Z phoe: that would have to be nonstandard because ARRAY-DIMENSIONS must return a meaningful value 2020-08-04T17:40:47Z galex-713: I’m talking of optimization 2020-08-04T17:40:58Z Bike: well, it would be fine if array-dimensions etc aren't called. however it would be hard to impossible to maintain this across function boundaries 2020-08-04T17:41:15Z galex-713: yes this is obvious 2020-08-04T17:41:46Z galex-713: unless the function is really unsafe, but that particular unsafety ought to be declared as such and no such standard declaration exist 2020-08-04T17:41:49Z Bike: which is most of where you'd want this. 2020-08-04T17:42:20Z Bike: i mean, for some cases maybe, like if you have a constant array and access it only in one function 2020-08-04T17:43:00Z galex-713: yes 2020-08-04T17:43:25Z galex-713: I thought like imagine I have a datatype which is a list of arrays whose length change in a predictible manner 2020-08-04T17:44:01Z galex-713: for instance (a b c d) where a is #(nil), b is #(nil nil), c is #(nil nil nil), d is #(nil nil nil nil), etc. if you grow the list 2020-08-04T17:44:13Z galex-713: it would be space wasted to store the length each time if you can predict it 2020-08-04T17:44:24Z Bike: this sounds kind of exotic. 2020-08-04T17:44:38Z galex-713: since you can predict it, in some portion of program that access a such object, you would never call array-dimensions, nor length, etc. 2020-08-04T17:44:44Z phoe: that's literally assembly-level memory optimizations 2020-08-04T17:45:00Z phoe: you're talking about saving one word per array this way 2020-08-04T17:45:07Z galex-713: Bike: indeed it is, but it is one of the possibilities that makes C lower level than lisp in the sense that it can do some things that lisp couldn’t 2020-08-04T17:45:17Z galex-713: phoe: yes, that’s picky 2020-08-04T17:45:22Z phoe: I mean, you can go down to assembly level in SBCL or CCL and program this yourself 2020-08-04T17:45:29Z phoe: so it's not like lisp can't do it 2020-08-04T17:45:31Z galex-713: assembly is non-portable 2020-08-04T17:45:46Z Bike: i don't understand what you're trying to get at here. 2020-08-04T17:45:48Z phoe: but seriously why 2020-08-04T17:46:02Z galex-713: I have a friend who find lisp not low-level enough 2020-08-04T17:46:03Z EvW joined #lisp 2020-08-04T17:46:07Z galex-713: and even C 2020-08-04T17:46:10Z galex-713: as I previously said 2020-08-04T17:46:16Z phoe: link them to https://pvk.ca/Blog/2014/03/15/sbcl-the-ultimate-assembly-code-breadboard/ 2020-08-04T17:46:30Z Bike: i mean, you're right, lisp does not let you specify memory layouts even to the limited extent C does. 2020-08-04T17:46:40Z Bike: i think we all know that. 2020-08-04T17:47:28Z phoe: when it comes to allocating memory then you can go full FFI way and allocate and access it yourself 2020-08-04T17:47:57Z phoe: and then do all sorts of microoptimizations like that 2020-08-04T17:48:25Z Bike: your friend can use https://esolangs.org/wiki/Checkout 2020-08-04T17:48:32Z galex-713: damn it talks about moore 2020-08-04T17:48:37Z galex-713: he’ll definitely like that 2020-08-04T17:49:21Z galex-713: Bike: I know someone else who defined a language that allows to *specify* that kind of low-level memory nitpicking in a turing complete way, his language/software is called Poke 2020-08-04T17:49:28Z galex-713: *GNU Poke 2020-08-04T17:49:40Z paul0 joined #lisp 2020-08-04T17:49:46Z galex-713: it’s kinda a binary data debugguer/reader/disassembler/tweaker 2020-08-04T17:50:01Z phoe: that's no longer Common Lisp territory though 2020-08-04T17:51:39Z Lord_Nightmare joined #lisp 2020-08-04T17:53:23Z galex-713: phoe: right 2020-08-04T17:55:32Z phoe: #lispcafe awaits! 2020-08-04T17:55:33Z phoe afk 2020-08-04T17:56:20Z gaqwas quit (Remote host closed the connection) 2020-08-04T18:04:21Z rpg quit (Quit: Textual IRC Client: www.textualapp.com) 2020-08-04T18:04:58Z satousan quit (Ping timeout: 260 seconds) 2020-08-04T18:08:26Z cosimone joined #lisp 2020-08-04T18:12:16Z dsl` quit (Ping timeout: 256 seconds) 2020-08-04T18:12:33Z galex-713 quit (Ping timeout: 272 seconds) 2020-08-04T18:12:47Z galex-713 joined #lisp 2020-08-04T18:13:55Z _paul0 joined #lisp 2020-08-04T18:15:05Z paul0 quit (Ping timeout: 272 seconds) 2020-08-04T18:18:34Z mankaev joined #lisp 2020-08-04T18:19:56Z _paul0 quit (Remote host closed the connection) 2020-08-04T18:23:42Z bocaneri quit (Read error: Connection reset by peer) 2020-08-04T18:27:47Z jgodbout quit (Ping timeout: 240 seconds) 2020-08-04T18:29:38Z EvW quit (Ping timeout: 244 seconds) 2020-08-04T18:30:10Z choegusung joined #lisp 2020-08-04T18:31:13Z larme joined #lisp 2020-08-04T18:35:44Z gravicappa quit (Read error: Connection reset by peer) 2020-08-04T18:36:46Z cosimone quit (Quit: Quit.) 2020-08-04T18:40:51Z gravicappa joined #lisp 2020-08-04T18:41:14Z gravicappa quit (Read error: Connection reset by peer) 2020-08-04T18:43:30Z gravicappa joined #lisp 2020-08-04T18:44:17Z jw4 quit (Read error: Connection reset by peer) 2020-08-04T18:44:23Z Aurora_v_kosmose quit (Ping timeout: 240 seconds) 2020-08-04T18:44:49Z Posterdati: hi 2020-08-04T18:45:28Z Aurora_v_kosmose joined #lisp 2020-08-04T18:46:11Z jw4 joined #lisp 2020-08-04T18:46:19Z shka_: Posterdati: hi 2020-08-04T18:46:55Z mrcom quit (Quit: Leaving) 2020-08-04T18:47:30Z galex-713 quit (Ping timeout: 265 seconds) 2020-08-04T18:47:54Z dominic34 quit (Ping timeout: 260 seconds) 2020-08-04T18:47:55Z galex-713 joined #lisp 2020-08-04T18:50:01Z aeth quit (Ping timeout: 264 seconds) 2020-08-04T18:51:35Z aeth joined #lisp 2020-08-04T18:54:48Z Josh_2: afternoon 2020-08-04T18:55:18Z ebrasca quit (Read error: Connection reset by peer) 2020-08-04T18:55:27Z ebrasca joined #lisp 2020-08-04T18:58:00Z luna_is_here joined #lisp 2020-08-04T19:00:41Z choegusung quit (Quit: leaving) 2020-08-04T19:01:41Z luna_is_here quit (Client Quit) 2020-08-04T19:05:59Z galex-713 quit (Ping timeout: 246 seconds) 2020-08-04T19:06:43Z galex-713 joined #lisp 2020-08-04T19:08:18Z bsd4me joined #lisp 2020-08-04T19:09:50Z whiteline quit (Ping timeout: 256 seconds) 2020-08-04T19:11:52Z Bourne joined #lisp 2020-08-04T19:12:43Z sympt quit (Ping timeout: 246 seconds) 2020-08-04T19:12:57Z cosimone joined #lisp 2020-08-04T19:14:03Z luna_is_here joined #lisp 2020-08-04T19:14:47Z sympt joined #lisp 2020-08-04T19:15:10Z galex-713 quit (Ping timeout: 256 seconds) 2020-08-04T19:15:19Z galex-713 joined #lisp 2020-08-04T19:17:49Z whiteline joined #lisp 2020-08-04T19:18:24Z theseb quit (Quit: Leaving) 2020-08-04T19:26:27Z EvW joined #lisp 2020-08-04T19:26:35Z luna_is_here quit (Quit: luna_is_here) 2020-08-04T19:29:25Z Necktwi quit (Ping timeout: 240 seconds) 2020-08-04T19:30:14Z Necktwi joined #lisp 2020-08-04T19:30:18Z gaqwas joined #lisp 2020-08-04T19:31:37Z aeth: galex-713: I mention a few of the differences between Common Lisp and Scheme here: https://gitlab.com/mbabich/airship-scheme/-/blob/master/CONTRIBUTING.md 2020-08-04T19:33:17Z aeth: I leave out some of them (like Common Lisp macros preferring TAGBODY and Scheme macros prefering tail recursion... also Schemers prefering hygienic macros... well, maybe I should add something for that) that are irrelevant for the project of implementing Scheme in Common Lisp. 2020-08-04T19:34:33Z luna_is_here joined #lisp 2020-08-04T19:34:37Z aeth: I put it all in CONTRIBUTING.md because it's quite possibly the only project where knowing the differences between Scheme and Common Lisp is relevant and almost a prerequisite for contributing. :-) 2020-08-04T19:34:52Z CEnnis91 quit (Quit: Connection closed for inactivity) 2020-08-04T19:35:53Z luna_is_here quit (Client Quit) 2020-08-04T19:39:35Z karlosz joined #lisp 2020-08-04T19:41:04Z notzmv quit (Ping timeout: 246 seconds) 2020-08-04T19:45:19Z ggole quit (Quit: Leaving) 2020-08-04T19:46:47Z pve: Hi, I wonder if someone could shed some light on how conses are (generally) represented in memory. I'm looking at the output from (room) on SBCL, and dividing the number of bytes (used by conses) with the number of cons objects gives me 16 bytes. 2020-08-04T19:47:51Z pve: so does that mean a cons in this case is simply 8 bytes for the car and 8 bytes for the cdr? 2020-08-04T19:49:41Z cosimone quit (Remote host closed the connection) 2020-08-04T19:50:11Z cosimone joined #lisp 2020-08-04T19:50:24Z White_Flame: pve: yes. The type is encoded in pointers _to_ the car 2020-08-04T19:51:18Z galex-713: aeth: oh seems awesome! 2020-08-04T19:51:32Z galex-713: eeeer, why does that page need javascript u.u 2020-08-04T19:51:35Z galex-713: hate modern web 2020-08-04T19:52:05Z White_Flame: if you disassemble CONSP checks, it hcecks to see that the pointer's low 4 bits has the value 7 2020-08-04T19:52:44Z pve: White_Flame: hmm, ok 2020-08-04T19:52:46Z White_Flame: I believe the allocation granularity is 16 bytes (two 64-bit words), so the bottom 4 bits can be used for tagging 2020-08-04T19:53:28Z White_Flame: so if you know it's a cons pointer, the car is at [ptr-7] and cdr is at [ptr+1], since the pointer already contains an offset of 7 for the tag 2020-08-04T19:56:36Z pve: White_Flame: thank you, so would a fixnum sit directly in the car? (i'm not super familiar with this stuff) 2020-08-04T19:57:05Z White_Flame: yes, fixnums have a low 4 bits of xxx0, and all other types use xxx1. So the fixnums can use 63 bits of the 64-bit word 2020-08-04T19:57:32Z White_Flame: and are shifted left 1 bit, so plain adds/subtracts/etc can work directly without masking off a tag 2020-08-04T19:59:08Z karlosz quit (Read error: Connection reset by peer) 2020-08-04T19:59:12Z galex-713: aeth: interesting, thank you :) 2020-08-04T19:59:17Z White_Flame: fixnums, characters, and single-floats all reside literally in a word without indirecting 2020-08-04T19:59:28Z 07EAAIGLB joined #lisp 2020-08-04T19:59:44Z White_Flame: double-floats have to be boxed, as they require the full 64 bits of a word, and obviously multi-word elements are always pointed to as well 2020-08-04T20:01:24Z pve: ok great, this brings me to my second question: when I do (defclass kons (car cdr)) and allocate a long chain of them with fixnums (< 100000) in the car, i get something very close to 48 bytes per kons instance 2020-08-04T20:01:31Z pve: does that sound right? 2020-08-04T20:01:57Z White_Flame: well, the allocation reporting is probably rounding up to whatever block size it uses 2020-08-04T20:01:59Z edgar-rft joined #lisp 2020-08-04T20:02:29Z White_Flame: but for an object instance, that'd be 6 words per, which probably isn't that bad? 2020-08-04T20:02:50Z White_Flame: obviously 2 words for the data, but 4 words of overhead does smell a little high. I think structs only have 1 word of overhead 2020-08-04T20:02:58Z orivej joined #lisp 2020-08-04T20:03:06Z pve: yeah, I'm just curious if I messed something up 2020-08-04T20:03:12Z 07EAAIGLB quit (Read error: No route to host) 2020-08-04T20:03:29Z Bike: a standard object is probably going to indirect its slots in a vector, plus there's a link back to the class somehow, and possibly more header 2020-08-04T20:03:33Z karlosz joined #lisp 2020-08-04T20:04:25Z White_Flame: pve: I do default to structs, and only move to defclass if I really need it, to keep things lightweight 2020-08-04T20:05:30Z Bike: so four words of overhead could be the object header, pointer to the class, pointer to the slots vector, vector header 2020-08-04T20:06:23Z luckless_ joined #lisp 2020-08-04T20:06:48Z gaqwas quit (Remote host closed the connection) 2020-08-04T20:08:32Z pve: ok, thanks guys, very informative as usual 2020-08-04T20:09:43Z luckless quit (Ping timeout: 240 seconds) 2020-08-04T20:15:50Z dominic34 joined #lisp 2020-08-04T20:18:57Z karlosz quit (Quit: karlosz) 2020-08-04T20:20:06Z dominic34 quit (Ping timeout: 256 seconds) 2020-08-04T20:23:07Z gaqwas joined #lisp 2020-08-04T20:23:07Z gaqwas quit (Changing host) 2020-08-04T20:23:07Z gaqwas joined #lisp 2020-08-04T20:31:06Z orivej quit (Ping timeout: 256 seconds) 2020-08-04T20:31:08Z orivej_ joined #lisp 2020-08-04T20:32:42Z aeth: galex-713: If you *really* want to hate the modern web and Gitlab in particular, try using Gitlab's snippits (pastebin-esque) system. I used it for > 1.5 years after lisp paste shut down, but it's now entirely unusable for about 4 months because the dumb text input is gone 2020-08-04T20:33:09Z aeth: Now, it has a "smart" editor that reindents anything that you paste into it, and has no knowledge of Lisp, thus ruining any code you paste into it. 2020-08-04T20:33:22Z aeth: There is no way to disable it. 2020-08-04T20:36:26Z aeth: I think I'll just make a git repository next time I need pastebin-like functionality, and maybe I'd link to the /raw/ which doesn't appear to require JS 2020-08-04T20:41:11Z terpri__ joined #lisp 2020-08-04T20:41:41Z akoana joined #lisp 2020-08-04T20:42:03Z terpri__ is now known as terpri 2020-08-04T20:44:14Z terpri_ quit (Ping timeout: 256 seconds) 2020-08-04T20:47:24Z gaqwas quit (Remote host closed the connection) 2020-08-04T20:49:04Z gxt quit (Quit: WeeChat 2.9) 2020-08-04T20:50:34Z galex-713 quit (Read error: Connection reset by peer) 2020-08-04T20:50:58Z galex-713 joined #lisp 2020-08-04T20:55:48Z orivej_ quit (Ping timeout: 256 seconds) 2020-08-04T20:55:49Z orivej joined #lisp 2020-08-04T20:59:58Z enrio quit (Ping timeout: 260 seconds) 2020-08-04T21:06:48Z mokulus quit (Ping timeout: 256 seconds) 2020-08-04T21:07:24Z akoana left #lisp 2020-08-04T21:08:34Z mankaev quit (Ping timeout: 246 seconds) 2020-08-04T21:13:38Z satousan joined #lisp 2020-08-04T21:13:45Z orivej quit (Ping timeout: 240 seconds) 2020-08-04T21:14:29Z orivej joined #lisp 2020-08-04T21:15:04Z ayuce quit (Ping timeout: 256 seconds) 2020-08-04T21:25:10Z orivej quit (Ping timeout: 260 seconds) 2020-08-04T21:25:40Z orivej joined #lisp 2020-08-04T21:32:02Z pve quit (Quit: leaving) 2020-08-04T21:35:42Z orivej quit (Ping timeout: 265 seconds) 2020-08-04T21:35:50Z orivej_ joined #lisp 2020-08-04T21:36:11Z zmt00 quit (Ping timeout: 240 seconds) 2020-08-04T21:36:14Z luna_is_here joined #lisp 2020-08-04T21:37:39Z luna_is_here quit (Client Quit) 2020-08-04T21:41:01Z gravicappa quit (Ping timeout: 265 seconds) 2020-08-04T21:43:58Z orivej joined #lisp 2020-08-04T21:44:44Z ayuce joined #lisp 2020-08-04T21:45:44Z orivej_ quit (Ping timeout: 256 seconds) 2020-08-04T21:48:10Z luna_is_here joined #lisp 2020-08-04T21:59:27Z terpri quit (Ping timeout: 240 seconds) 2020-08-04T22:01:04Z sjl_ quit (Ping timeout: 246 seconds) 2020-08-04T22:01:45Z shifty quit (Ping timeout: 240 seconds) 2020-08-04T22:04:01Z terpri joined #lisp 2020-08-04T22:09:32Z terpri quit (Ping timeout: 260 seconds) 2020-08-04T22:10:47Z cosimone quit (Quit: Quit.) 2020-08-04T22:11:22Z orivej_ joined #lisp 2020-08-04T22:15:44Z terpri joined #lisp 2020-08-04T22:15:55Z caltelt joined #lisp 2020-08-04T22:17:45Z CrazyEddy quit (Ping timeout: 240 seconds) 2020-08-04T22:19:10Z orivej_ quit (Ping timeout: 256 seconds) 2020-08-04T22:19:32Z orivej_ joined #lisp 2020-08-04T22:19:35Z dim: if you're after a self-hosted web git thingy I've been told nice things about https://gitea.io/en-us/ 2020-08-04T22:19:57Z orivej quit (Ping timeout: 256 seconds) 2020-08-04T22:19:57Z hhdave quit (Ping timeout: 256 seconds) 2020-08-04T22:20:24Z ahungry quit (Remote host closed the connection) 2020-08-04T22:21:18Z terpri_ joined #lisp 2020-08-04T22:21:31Z ebrasca quit (Read error: Connection reset by peer) 2020-08-04T22:21:32Z SenasOzys quit (Read error: Connection reset by peer) 2020-08-04T22:21:47Z terpri quit (Ping timeout: 240 seconds) 2020-08-04T22:21:49Z ebrasca joined #lisp 2020-08-04T22:26:53Z orivej_ quit (Quit: No Ping reply in 180 seconds.) 2020-08-04T22:28:11Z orivej joined #lisp 2020-08-04T22:28:27Z akoana joined #lisp 2020-08-04T22:28:27Z terpri_ quit (Ping timeout: 240 seconds) 2020-08-04T22:32:21Z ayuce quit (Read error: Connection reset by peer) 2020-08-04T22:32:25Z zigpaw quit (Ping timeout: 240 seconds) 2020-08-04T22:35:11Z orivej quit (Quit: No Ping reply in 180 seconds.) 2020-08-04T22:35:52Z satousan quit (Quit: WeeChat 2.3) 2020-08-04T22:36:02Z z3t0: hi 2020-08-04T22:36:16Z zigpaw joined #lisp 2020-08-04T22:36:20Z orivej joined #lisp 2020-08-04T22:38:53Z dra: Hi z3t0! 2020-08-04T22:40:12Z z3t0: how is lisp land these days! I've been out of touch for a few weeks playing with freebsd 2020-08-04T22:42:00Z gaqwas joined #lisp 2020-08-04T22:42:00Z gaqwas quit (Changing host) 2020-08-04T22:42:00Z gaqwas joined #lisp 2020-08-04T22:44:19Z dra: z3t0: I doubt you have missed much. A new book was announced: https://www.apress.com/gp/book/9781484261330 2020-08-04T22:50:27Z mindCrime quit (Ping timeout: 240 seconds) 2020-08-04T22:54:20Z z3t0: neat! I'll add it to my ten thousand item reading list :( 2020-08-04T22:55:31Z gaqwas quit (*.net *.split) 2020-08-04T22:55:31Z sbryant quit (*.net *.split) 2020-08-04T22:55:32Z Robdgreat quit (*.net *.split) 2020-08-04T22:55:32Z MightyJoe quit (*.net *.split) 2020-08-04T22:55:32Z jprajzne quit (*.net *.split) 2020-08-04T22:55:32Z nullman quit (*.net *.split) 2020-08-04T22:55:32Z add^_ quit (*.net *.split) 2020-08-04T22:55:32Z midre quit (*.net *.split) 2020-08-04T22:55:32Z fouric quit (*.net *.split) 2020-08-04T22:55:32Z borodust quit (*.net *.split) 2020-08-04T22:55:32Z samebchase quit (*.net *.split) 2020-08-04T22:55:32Z Colleen quit (*.net *.split) 2020-08-04T22:55:32Z drewc quit (*.net *.split) 2020-08-04T22:55:33Z cyberlard quit (*.net *.split) 2020-08-04T22:55:33Z ramus quit (*.net *.split) 2020-08-04T22:55:33Z Fade quit (*.net *.split) 2020-08-04T22:55:33Z MetaYan quit (*.net *.split) 2020-08-04T22:57:20Z gaqwas joined #lisp 2020-08-04T22:57:20Z sbryant joined #lisp 2020-08-04T22:57:20Z Robdgreat joined #lisp 2020-08-04T22:57:20Z MightyJoe joined #lisp 2020-08-04T22:57:20Z jprajzne joined #lisp 2020-08-04T22:57:20Z nullman joined #lisp 2020-08-04T22:57:20Z add^_ joined #lisp 2020-08-04T22:57:20Z midre joined #lisp 2020-08-04T22:57:20Z fouric joined #lisp 2020-08-04T22:57:20Z borodust joined #lisp 2020-08-04T22:57:20Z samebchase joined #lisp 2020-08-04T22:57:20Z Colleen joined #lisp 2020-08-04T22:57:20Z drewc joined #lisp 2020-08-04T22:57:20Z cyberlard joined #lisp 2020-08-04T22:57:20Z ramus joined #lisp 2020-08-04T22:57:20Z Fade joined #lisp 2020-08-04T22:57:20Z MetaYan joined #lisp 2020-08-04T22:58:07Z AdmiralBumbleBee quit (Ping timeout: 246 seconds) 2020-08-04T23:00:11Z orivej quit (Quit: No Ping reply in 180 seconds.) 2020-08-04T23:00:13Z nckx quit (Ping timeout: 264 seconds) 2020-08-04T23:00:37Z AdmiralBumbleBee joined #lisp 2020-08-04T23:00:47Z nckx joined #lisp 2020-08-04T23:01:30Z orivej joined #lisp 2020-08-04T23:02:37Z torbo joined #lisp 2020-08-04T23:03:26Z dra_ joined #lisp 2020-08-04T23:05:15Z terpri joined #lisp 2020-08-04T23:05:34Z gaqwas quit (Ping timeout: 256 seconds) 2020-08-04T23:06:12Z random-nick quit (Ping timeout: 256 seconds) 2020-08-04T23:07:25Z dra quit (Ping timeout: 264 seconds) 2020-08-04T23:10:02Z vutral joined #lisp 2020-08-04T23:11:24Z terpri_ joined #lisp 2020-08-04T23:11:57Z terpri quit (Ping timeout: 260 seconds) 2020-08-04T23:12:28Z orivej quit (Ping timeout: 246 seconds) 2020-08-04T23:13:20Z dra_ quit (Quit: Leaving) 2020-08-04T23:13:40Z orivej joined #lisp 2020-08-04T23:18:12Z terpri joined #lisp 2020-08-04T23:19:32Z terpri_ quit (Ping timeout: 260 seconds) 2020-08-04T23:20:45Z mindCrime joined #lisp 2020-08-04T23:32:04Z sm2n: aeth, sourcehut is quite nice because it avoids modern web practices like the plague but this is offtopic 2020-08-04T23:41:45Z markoong quit (Ping timeout: 240 seconds) 2020-08-04T23:45:36Z Josh_2` joined #lisp 2020-08-04T23:46:23Z Fare quit (Ping timeout: 260 seconds) 2020-08-04T23:46:53Z aeth: sm2n: make a git web host in Common Lisp and then that can be on topic 2020-08-04T23:47:01Z Josh_2 quit (Ping timeout: 264 seconds) 2020-08-04T23:50:20Z kaftejiman quit (Remote host closed the connection) 2020-08-04T23:54:29Z orivej quit (Ping timeout: 246 seconds) 2020-08-04T23:54:50Z orivej joined #lisp 2020-08-04T23:59:37Z v3ga quit (Ping timeout: 272 seconds) 2020-08-04T23:59:53Z sm2n: heh 2020-08-05T00:02:31Z orivej quit (Ping timeout: 246 seconds) 2020-08-05T00:03:00Z orivej joined #lisp 2020-08-05T00:03:45Z ebrasca quit (Remote host closed the connection) 2020-08-05T00:07:49Z dsl` joined #lisp 2020-08-05T00:15:40Z _death: I took a first step towards that not long ago.. porting the pertinent bits from gogs and creating a hunchentoot dispatcher to support git-clone 2020-08-05T00:17:01Z _death: but gogs seems to work ok with javascript off, so I'm not pressed to take further steps 2020-08-05T00:24:47Z nicktick joined #lisp 2020-08-05T00:24:49Z flazh quit (Ping timeout: 264 seconds) 2020-08-05T00:26:06Z dsl` quit (Ping timeout: 256 seconds) 2020-08-05T00:29:40Z davsebamse quit (Ping timeout: 256 seconds) 2020-08-05T00:30:23Z mrcom joined #lisp 2020-08-05T00:31:14Z davsebamse joined #lisp 2020-08-05T00:31:35Z dsl` joined #lisp 2020-08-05T00:35:20Z Josh_2`` joined #lisp 2020-08-05T00:35:47Z dsl` quit (Ping timeout: 240 seconds) 2020-08-05T00:36:21Z space_otter joined #lisp 2020-08-05T00:36:49Z Josh_2` quit (Ping timeout: 246 seconds) 2020-08-05T00:38:01Z rumbler31 quit (Ping timeout: 264 seconds) 2020-08-05T00:38:34Z orivej quit (Ping timeout: 246 seconds) 2020-08-05T00:39:37Z flazh joined #lisp 2020-08-05T00:40:32Z dsl` joined #lisp 2020-08-05T00:40:38Z EvW quit (Ping timeout: 260 seconds) 2020-08-05T00:44:15Z Alfr joined #lisp 2020-08-05T00:45:13Z dsl` quit (Ping timeout: 246 seconds) 2020-08-05T00:45:17Z Alfr_ quit (Ping timeout: 260 seconds) 2020-08-05T00:45:55Z nicktick quit (Ping timeout: 246 seconds) 2020-08-05T00:49:59Z dsl` joined #lisp 2020-08-05T00:54:49Z dsl` quit (Ping timeout: 264 seconds) 2020-08-05T00:58:14Z nicktick joined #lisp 2020-08-05T00:58:59Z dsl` joined #lisp 2020-08-05T01:03:34Z dsl` quit (Ping timeout: 260 seconds) 2020-08-05T01:05:16Z nicktick1 joined #lisp 2020-08-05T01:06:22Z nicktick quit (Ping timeout: 260 seconds) 2020-08-05T01:07:26Z dale quit (Remote host closed the connection) 2020-08-05T01:07:59Z dsl` joined #lisp 2020-08-05T01:08:09Z nicktick joined #lisp 2020-08-05T01:09:04Z Alfr_ joined #lisp 2020-08-05T01:09:23Z nicktick1 quit (Ping timeout: 240 seconds) 2020-08-05T01:11:36Z Alfr quit (Ping timeout: 244 seconds) 2020-08-05T01:12:45Z dsl` quit (Ping timeout: 240 seconds) 2020-08-05T01:15:49Z nicktick quit (Ping timeout: 264 seconds) 2020-08-05T01:17:21Z Alfr joined #lisp 2020-08-05T01:17:28Z dsl` joined #lisp 2020-08-05T01:18:32Z Alfr_ quit (Ping timeout: 260 seconds) 2020-08-05T01:22:22Z dsl` quit (Ping timeout: 256 seconds) 2020-08-05T01:24:23Z wxie joined #lisp 2020-08-05T01:24:33Z nicktick joined #lisp 2020-08-05T01:26:09Z dsl` joined #lisp 2020-08-05T01:34:57Z dsl` quit (Ping timeout: 265 seconds) 2020-08-05T01:35:49Z dsl` joined #lisp 2020-08-05T01:36:42Z Bike quit (Quit: Lost terminal) 2020-08-05T01:39:20Z tychoish quit (Quit: ish) 2020-08-05T01:39:30Z tychoish joined #lisp 2020-08-05T01:40:11Z dsl` quit (Ping timeout: 240 seconds) 2020-08-05T01:44:47Z dsl` joined #lisp 2020-08-05T01:47:46Z dominic34 joined #lisp 2020-08-05T01:49:44Z vutral quit (Quit: Connection closed for inactivity) 2020-08-05T01:49:54Z dsl` quit (Ping timeout: 256 seconds) 2020-08-05T01:54:17Z dsl` joined #lisp 2020-08-05T01:58:45Z dsl` quit (Ping timeout: 240 seconds) 2020-08-05T02:05:17Z dsl` joined #lisp 2020-08-05T02:09:45Z dsl` quit (Ping timeout: 240 seconds) 2020-08-05T02:10:24Z akoana left #lisp 2020-08-05T02:11:01Z v88m quit (Ping timeout: 264 seconds) 2020-08-05T02:14:15Z dsl` joined #lisp 2020-08-05T02:18:42Z nicktick quit (Ping timeout: 260 seconds) 2020-08-05T02:19:25Z dsl` quit (Ping timeout: 264 seconds) 2020-08-05T02:19:59Z nicktick joined #lisp 2020-08-05T02:23:11Z dsl` joined #lisp 2020-08-05T02:28:06Z dsl` quit (Ping timeout: 256 seconds) 2020-08-05T02:28:30Z Bourne quit (Ping timeout: 260 seconds) 2020-08-05T02:31:39Z notzmv joined #lisp 2020-08-05T02:32:37Z dsl` joined #lisp 2020-08-05T02:40:01Z dsl` quit (Ping timeout: 246 seconds) 2020-08-05T02:41:28Z bhartrihari left #lisp 2020-08-05T02:41:41Z bhartrihari joined #lisp 2020-08-05T02:42:11Z dsl` joined #lisp 2020-08-05T02:47:08Z dsl` quit (Ping timeout: 256 seconds) 2020-08-05T02:50:13Z torbo quit (Remote host closed the connection) 2020-08-05T02:50:53Z dsl` joined #lisp 2020-08-05T02:51:10Z PuercoPop joined #lisp 2020-08-05T02:51:45Z caltelt quit (Ping timeout: 256 seconds) 2020-08-05T02:55:23Z dsl` quit (Ping timeout: 240 seconds) 2020-08-05T02:56:38Z Oladon joined #lisp 2020-08-05T02:58:22Z bhartrihari left #lisp 2020-08-05T03:00:20Z dsl` joined #lisp 2020-08-05T03:01:34Z Alfr_ joined #lisp 2020-08-05T03:02:00Z bhartrihari joined #lisp 2020-08-05T03:04:05Z v3ga joined #lisp 2020-08-05T03:04:25Z stepnem quit (Ping timeout: 264 seconds) 2020-08-05T03:05:20Z dsl` quit (Ping timeout: 256 seconds) 2020-08-05T03:05:20Z Alfr quit (Ping timeout: 256 seconds) 2020-08-05T03:06:59Z orivej joined #lisp 2020-08-05T03:07:40Z dale joined #lisp 2020-08-05T03:09:20Z dsl` joined #lisp 2020-08-05T03:11:25Z dominic34 quit (Ping timeout: 240 seconds) 2020-08-05T03:13:45Z dsl` quit (Ping timeout: 240 seconds) 2020-08-05T03:18:17Z dsl` joined #lisp 2020-08-05T03:23:04Z dsl` quit (Ping timeout: 256 seconds) 2020-08-05T03:24:41Z ldb joined #lisp 2020-08-05T03:24:49Z ldb: good morning 2020-08-05T03:25:54Z bilegeek joined #lisp 2020-08-05T03:27:42Z dsl` joined #lisp 2020-08-05T03:32:10Z dsl` quit (Ping timeout: 246 seconds) 2020-08-05T03:36:41Z dsl` joined #lisp 2020-08-05T03:36:56Z beach: Good morning everyone! 2020-08-05T03:38:07Z shangul joined #lisp 2020-08-05T03:42:27Z bhartrihari left #lisp 2020-08-05T03:42:51Z bhartrihari joined #lisp 2020-08-05T03:43:25Z dsl` quit (Ping timeout: 264 seconds) 2020-08-05T03:45:42Z bhartrihari left #lisp 2020-08-05T03:46:03Z dsl` joined #lisp 2020-08-05T03:47:24Z bhartrihari joined #lisp 2020-08-05T03:48:11Z ldb quit (Quit: leaving) 2020-08-05T03:48:35Z Lord_of_Life quit (Ping timeout: 240 seconds) 2020-08-05T03:49:39Z bhartrihari left #lisp 2020-08-05T03:49:46Z bhartrihari joined #lisp 2020-08-05T03:49:59Z Lord_of_Life joined #lisp 2020-08-05T03:50:35Z dsl` quit (Ping timeout: 240 seconds) 2020-08-05T03:53:29Z orivej quit (Quit: No Ping reply in 180 seconds.) 2020-08-05T03:54:39Z orivej joined #lisp 2020-08-05T03:55:00Z dsl` joined #lisp 2020-08-05T03:55:14Z libertyprime joined #lisp 2020-08-05T03:55:34Z contrapunctus: Morning beach 2020-08-05T03:56:56Z contrapunctus: (Oh god. I can't believe it took me this long to realize the Strandh/beach pun 🤦) 2020-08-05T03:57:08Z beach: Heh. 2020-08-05T03:57:54Z beach: In the past I also used the nicks `spiaggia' and `plage'. 2020-08-05T03:59:58Z dsl` quit (Ping timeout: 260 seconds) 2020-08-05T03:59:59Z Fare joined #lisp 2020-08-05T04:01:47Z contrapunctus: 😄 2020-08-05T04:02:29Z paul0 joined #lisp 2020-08-05T04:03:01Z contrapunctus has been going through the source of 3bmd 2020-08-05T04:04:29Z dsl` joined #lisp 2020-08-05T04:04:47Z beach: What do you plan to do with the source? 2020-08-05T04:06:07Z Alfr_ quit (Remote host closed the connection) 2020-08-05T04:07:40Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2020-08-05T04:09:08Z dsl` quit (Ping timeout: 265 seconds) 2020-08-05T04:09:58Z libertyprime quit (Ping timeout: 246 seconds) 2020-08-05T04:11:24Z mindCrime quit (Ping timeout: 244 seconds) 2020-08-05T04:11:54Z libertyprime joined #lisp 2020-08-05T04:13:24Z dsl` joined #lisp 2020-08-05T04:16:03Z contrapunctus: beach: been designing a markup language - https://github.com/contrapunctus-1/TheatreScript ...thinking of making a fork of 3bmd to parse it. (Or maybe it can be extended instead of forking...) 2020-08-05T04:16:48Z beach: I see. 2020-08-05T04:18:22Z dsl` quit (Ping timeout: 256 seconds) 2020-08-05T04:20:19Z orivej_ joined #lisp 2020-08-05T04:20:41Z orivej quit (Read error: Connection reset by peer) 2020-08-05T04:22:23Z dsl` joined #lisp 2020-08-05T04:23:56Z mrcom quit (Read error: Connection reset by peer) 2020-08-05T04:24:07Z shidima joined #lisp 2020-08-05T04:25:22Z libertyprime quit (Ping timeout: 246 seconds) 2020-08-05T04:25:43Z wxie quit (Ping timeout: 246 seconds) 2020-08-05T04:27:05Z dsl` quit (Ping timeout: 240 seconds) 2020-08-05T04:27:28Z libertyprime joined #lisp 2020-08-05T04:31:13Z edgar-rft quit (Quit: Leaving) 2020-08-05T04:32:12Z Necktwi quit (Ping timeout: 256 seconds) 2020-08-05T04:32:45Z v88m joined #lisp 2020-08-05T04:33:53Z dsl` joined #lisp 2020-08-05T04:37:33Z wxie joined #lisp 2020-08-05T04:38:11Z dsl` quit (Ping timeout: 240 seconds) 2020-08-05T04:42:51Z dsl` joined #lisp 2020-08-05T04:43:03Z mrcom joined #lisp 2020-08-05T04:48:19Z orivej_ quit (Quit: No Ping reply in 180 seconds.) 2020-08-05T04:49:12Z dsl` quit (Ping timeout: 256 seconds) 2020-08-05T04:49:29Z orivej joined #lisp 2020-08-05T04:50:37Z libertyprime quit (Ping timeout: 264 seconds) 2020-08-05T04:52:06Z libertyprime joined #lisp 2020-08-05T04:52:14Z dsl` joined #lisp 2020-08-05T04:57:13Z dsl` quit (Ping timeout: 264 seconds) 2020-08-05T04:58:57Z Necktwi joined #lisp 2020-08-05T05:01:09Z dsl` joined #lisp 2020-08-05T05:03:48Z Oladon quit (Quit: Leaving.) 2020-08-05T05:06:02Z dsl` quit (Ping timeout: 256 seconds) 2020-08-05T05:07:11Z space_otter quit (Remote host closed the connection) 2020-08-05T05:09:58Z orivej quit (Ping timeout: 260 seconds) 2020-08-05T05:10:09Z orivej joined #lisp 2020-08-05T05:10:09Z lucasb quit (Quit: Connection closed for inactivity) 2020-08-05T05:10:38Z dsl` joined #lisp 2020-08-05T05:10:53Z gravicappa joined #lisp 2020-08-05T05:16:45Z dsl` quit (Ping timeout: 240 seconds) 2020-08-05T05:17:09Z orivej quit (Quit: No Ping reply in 180 seconds.) 2020-08-05T05:17:27Z Fare quit (Ping timeout: 240 seconds) 2020-08-05T05:18:19Z orivej joined #lisp 2020-08-05T05:21:37Z dsl` joined #lisp 2020-08-05T05:26:18Z dsl` quit (Ping timeout: 260 seconds) 2020-08-05T05:27:47Z orivej quit (Ping timeout: 240 seconds) 2020-08-05T05:28:27Z Oladon joined #lisp 2020-08-05T05:29:29Z orivej joined #lisp 2020-08-05T05:30:36Z dsl` joined #lisp 2020-08-05T05:30:46Z phoe: morning 2020-08-05T05:32:10Z Alfr joined #lisp 2020-08-05T05:32:32Z contrapunctus left #lisp 2020-08-05T05:32:45Z contrapunctus joined #lisp 2020-08-05T05:32:48Z bhartrihari left #lisp 2020-08-05T05:33:06Z bhartrihari joined #lisp 2020-08-05T05:34:59Z dsl` quit (Ping timeout: 240 seconds) 2020-08-05T05:37:56Z orivej quit (Ping timeout: 256 seconds) 2020-08-05T05:38:11Z enrio joined #lisp 2020-08-05T05:38:38Z orivej joined #lisp 2020-08-05T05:39:13Z wxie quit (Ping timeout: 264 seconds) 2020-08-05T05:39:39Z dsl` joined #lisp 2020-08-05T05:44:07Z dsl` quit (Ping timeout: 246 seconds) 2020-08-05T05:44:11Z bocaneri joined #lisp 2020-08-05T05:44:16Z ldb joined #lisp 2020-08-05T05:45:08Z bhartrihari left #lisp 2020-08-05T05:45:14Z bhartrihari joined #lisp 2020-08-05T05:46:25Z orivej quit (Ping timeout: 264 seconds) 2020-08-05T05:46:49Z orivej joined #lisp 2020-08-05T05:48:25Z gaqwas joined #lisp 2020-08-05T05:48:38Z dsl` joined #lisp 2020-08-05T05:50:09Z Necktwi quit (Ping timeout: 265 seconds) 2020-08-05T05:50:18Z Necktwi joined #lisp 2020-08-05T05:51:01Z ofi joined #lisp 2020-08-05T05:54:30Z libertyprime quit (Ping timeout: 265 seconds) 2020-08-05T05:56:24Z dsl` quit (Ping timeout: 256 seconds) 2020-08-05T05:58:09Z dsl` joined #lisp 2020-08-05T06:00:58Z quazimodo joined #lisp 2020-08-05T06:02:18Z nirved: phoe: missing mezzano here https://github.com/phoe/trivial-custom-debugger/blob/master/trivial-custom-debugger.lisp#L41 2020-08-05T06:02:41Z nirved: flet lets multiple definitions, but it might be more clear this way 2020-08-05T06:03:16Z dsl` quit (Ping timeout: 256 seconds) 2020-08-05T06:05:49Z phoe: nirved: gasp, you are correct 2020-08-05T06:06:09Z phoe: fixed, thank you 2020-08-05T06:06:23Z libertyprime joined #lisp 2020-08-05T06:07:40Z dsl` joined #lisp 2020-08-05T06:07:48Z wsinatra quit (Ping timeout: 256 seconds) 2020-08-05T06:09:05Z enrioog joined #lisp 2020-08-05T06:10:18Z beach: Hey phoe. 2020-08-05T06:11:56Z enrio quit (Ping timeout: 256 seconds) 2020-08-05T06:12:30Z dsl` quit (Ping timeout: 260 seconds) 2020-08-05T06:14:20Z gaqwas quit (Remote host closed the connection) 2020-08-05T06:15:07Z phoe: hey, good morning 2020-08-05T06:16:18Z dsl` joined #lisp 2020-08-05T06:18:39Z space_otter joined #lisp 2020-08-05T06:18:45Z narimiran joined #lisp 2020-08-05T06:21:13Z dsl` quit (Ping timeout: 264 seconds) 2020-08-05T06:25:46Z dsl` joined #lisp 2020-08-05T06:26:23Z kopiyka quit (Remote host closed the connection) 2020-08-05T06:26:46Z kopiyka joined #lisp 2020-08-05T06:28:07Z Oladon quit (Quit: Leaving.) 2020-08-05T06:32:20Z dsl` quit (Ping timeout: 256 seconds) 2020-08-05T06:36:17Z gaqwas joined #lisp 2020-08-05T06:36:17Z gaqwas quit (Changing host) 2020-08-05T06:36:17Z gaqwas joined #lisp 2020-08-05T06:36:43Z dsl` joined #lisp 2020-08-05T06:39:25Z orivej quit (Ping timeout: 240 seconds) 2020-08-05T06:39:59Z orivej joined #lisp 2020-08-05T06:41:37Z dsl` quit (Ping timeout: 264 seconds) 2020-08-05T06:41:54Z treflip joined #lisp 2020-08-05T06:45:40Z dsl` joined #lisp 2020-08-05T06:48:09Z liberliver joined #lisp 2020-08-05T06:50:11Z dsl` quit (Ping timeout: 240 seconds) 2020-08-05T06:50:41Z bsd4me quit (Remote host closed the connection) 2020-08-05T06:55:09Z dsl` joined #lisp 2020-08-05T06:55:43Z bilegeek quit (Quit: Leaving) 2020-08-05T06:57:49Z VincentVega joined #lisp 2020-08-05T06:59:22Z ldb quit (Ping timeout: 246 seconds) 2020-08-05T07:00:17Z VincentVega: Hey guys! Got a question on types. Is there any danger in class slots initform being nil when I specify some non-compatible type e.g. double-float? Structs fail to compile w/ smth like that, but the class def is just fine. 2020-08-05T07:00:55Z phoe: which implementation do you use? 2020-08-05T07:01:28Z heisig joined #lisp 2020-08-05T07:01:44Z beach: VincentVega: You should probably use the type (or null double-float) for cases like that. 2020-08-05T07:05:05Z shidima quit (Ping timeout: 240 seconds) 2020-08-05T07:05:36Z VincentVega: phoe: sbcl 2020-08-05T07:05:42Z orivej quit (Ping timeout: 260 seconds) 2020-08-05T07:05:46Z phoe: which version and safety levels? 2020-08-05T07:05:51Z flip214: VincentVega: use an initial value NIL in the struct, that way SBCL won't warn. 2020-08-05T07:05:56Z VincentVega: default ones 2020-08-05T07:05:59Z phoe: asking because SBCL recently introduced type checks for class slots 2020-08-05T07:06:09Z orivej joined #lisp 2020-08-05T07:06:18Z VincentVega: 2.0.5 2020-08-05T07:06:34Z VincentVega: phoe: Oh, ok 2020-08-05T07:06:42Z VincentVega: beach: OK 2020-08-05T07:06:57Z shifty joined #lisp 2020-08-05T07:07:11Z ldb joined #lisp 2020-08-05T07:08:01Z VincentVega: flip214: well, the struct definition compiles, but making an instance produces an error 2020-08-05T07:08:08Z shidima joined #lisp 2020-08-05T07:08:56Z VincentVega: thanks guys 2020-08-05T07:09:19Z beach: It must be the case that the type is checked in a struct but not in a standard object. 2020-08-05T07:10:25Z flip214: VincentVega: yeah, you need to provide all missing values on your make- call 2020-08-05T07:10:34Z flip214: so that the allocated object satisfies your constraints 2020-08-05T07:10:39Z VincentVega: because the struct has to calculate it's own size, right? btw are there any good resources/articles on typing? 2020-08-05T07:11:19Z VincentVega: flip214: Oh, yeah, I see 2020-08-05T07:13:55Z EvW1 joined #lisp 2020-08-05T07:17:30Z pve joined #lisp 2020-08-05T07:18:20Z EvW1 quit (Ping timeout: 256 seconds) 2020-08-05T07:20:14Z ljavorsk joined #lisp 2020-08-05T07:24:48Z mrcom quit (Read error: Connection reset by peer) 2020-08-05T07:28:44Z mrcom joined #lisp 2020-08-05T07:30:27Z treflip quit (Quit: WeeChat 2.6) 2020-08-05T07:31:35Z treflip joined #lisp 2020-08-05T07:32:46Z orivej quit (Ping timeout: 260 seconds) 2020-08-05T07:32:59Z orivej joined #lisp 2020-08-05T07:33:17Z gaqwas quit (Remote host closed the connection) 2020-08-05T07:33:20Z mrcom quit (Read error: Connection reset by peer) 2020-08-05T07:34:47Z enrio joined #lisp 2020-08-05T07:36:49Z enrioog quit (Ping timeout: 264 seconds) 2020-08-05T07:37:12Z libertyprime quit (Read error: Connection reset by peer) 2020-08-05T07:37:58Z mrcom joined #lisp 2020-08-05T07:41:21Z orivej quit (Quit: No Ping reply in 180 seconds.) 2020-08-05T07:42:39Z orivej joined #lisp 2020-08-05T07:43:05Z libertyprime joined #lisp 2020-08-05T07:43:06Z enrio quit (Read error: Connection reset by peer) 2020-08-05T07:50:18Z VincentVega quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) 2020-08-05T07:51:45Z orivej quit (Ping timeout: 240 seconds) 2020-08-05T07:52:30Z orivej joined #lisp 2020-08-05T07:53:16Z VincentVega joined #lisp 2020-08-05T07:58:53Z bhartrihari left #lisp 2020-08-05T08:01:22Z wsinatra joined #lisp 2020-08-05T08:01:40Z orivej_ joined #lisp 2020-08-05T08:02:57Z bhartrihari joined #lisp 2020-08-05T08:03:25Z orivej quit (Ping timeout: 240 seconds) 2020-08-05T08:06:56Z nirved quit (Remote host closed the connection) 2020-08-05T08:08:00Z hendursa1 joined #lisp 2020-08-05T08:08:37Z shidima quit (Ping timeout: 264 seconds) 2020-08-05T08:08:44Z bhartrihari left #lisp 2020-08-05T08:09:43Z hendursaga quit (Ping timeout: 240 seconds) 2020-08-05T08:12:11Z nirved joined #lisp 2020-08-05T08:13:04Z gaqwas joined #lisp 2020-08-05T08:15:28Z ldb_ joined #lisp 2020-08-05T08:15:53Z ldb quit (Ping timeout: 256 seconds) 2020-08-05T08:18:39Z bhartrihari joined #lisp 2020-08-05T08:19:15Z xrash joined #lisp 2020-08-05T08:20:55Z orivej_ quit (Ping timeout: 246 seconds) 2020-08-05T08:21:20Z orivej joined #lisp 2020-08-05T08:25:11Z bhartrihari left #lisp 2020-08-05T08:25:28Z bhartrihari joined #lisp 2020-08-05T08:25:28Z mrcom quit (Read error: Connection reset by peer) 2020-08-05T08:26:09Z bhartrihari left #lisp 2020-08-05T08:26:20Z mangul joined #lisp 2020-08-05T08:28:05Z shangul quit (Ping timeout: 240 seconds) 2020-08-05T08:29:27Z mrcom joined #lisp 2020-08-05T08:30:20Z shidima joined #lisp 2020-08-05T08:31:21Z housel quit (Ping timeout: 272 seconds) 2020-08-05T08:31:22Z ebrasca joined #lisp 2020-08-05T08:32:07Z bocaneri quit (Ping timeout: 246 seconds) 2020-08-05T08:33:46Z bocaneri joined #lisp 2020-08-05T08:34:09Z mrcom quit (Read error: Connection reset by peer) 2020-08-05T08:34:16Z bocaneri quit (Remote host closed the connection) 2020-08-05T08:35:14Z bocaneri joined #lisp 2020-08-05T08:38:11Z orivej quit (Ping timeout: 240 seconds) 2020-08-05T08:38:59Z orivej joined #lisp 2020-08-05T08:39:04Z bocaneri quit (Max SendQ exceeded) 2020-08-05T08:39:27Z bocaneri joined #lisp 2020-08-05T08:44:09Z mangul quit (Ping timeout: 265 seconds) 2020-08-05T08:50:44Z housel joined #lisp 2020-08-05T08:54:23Z mrcom joined #lisp 2020-08-05T08:54:47Z galex-713 quit (Ping timeout: 272 seconds) 2020-08-05T09:00:22Z bhartrihari joined #lisp 2020-08-05T09:01:45Z ldb_ quit (Ping timeout: 240 seconds) 2020-08-05T09:02:19Z galex-713 joined #lisp 2020-08-05T09:07:25Z orivej quit (Ping timeout: 264 seconds) 2020-08-05T09:07:40Z orivej joined #lisp 2020-08-05T09:08:39Z stepnem joined #lisp 2020-08-05T09:14:12Z VincentVega quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) 2020-08-05T09:22:26Z orivej quit (Ping timeout: 260 seconds) 2020-08-05T09:22:50Z orivej joined #lisp 2020-08-05T09:27:51Z dsl`` joined #lisp 2020-08-05T09:28:36Z gaqwas quit (Remote host closed the connection) 2020-08-05T09:28:43Z nirved quit (Ping timeout: 240 seconds) 2020-08-05T09:29:25Z dsl` quit (Ping timeout: 240 seconds) 2020-08-05T09:34:02Z ldb joined #lisp 2020-08-05T09:37:09Z nirved joined #lisp 2020-08-05T09:37:41Z gaqwas joined #lisp 2020-08-05T09:38:45Z orivej quit (Ping timeout: 240 seconds) 2020-08-05T09:39:30Z orivej joined #lisp 2020-08-05T09:46:06Z ggole joined #lisp 2020-08-05T09:54:02Z _whitelogger quit (Remote host closed the connection) 2020-08-05T09:56:13Z _whitelogger joined #lisp 2020-08-05T09:58:50Z terpri_ joined #lisp 2020-08-05T09:59:07Z terpri quit (Ping timeout: 244 seconds) 2020-08-05T09:59:16Z X-Scale quit (Ping timeout: 246 seconds) 2020-08-05T09:59:34Z X-Scale` joined #lisp 2020-08-05T10:00:07Z X-Scale` is now known as X-Scale 2020-08-05T10:00:08Z nicktick quit (Ping timeout: 256 seconds) 2020-08-05T10:01:05Z orivej quit (Ping timeout: 240 seconds) 2020-08-05T10:01:39Z orivej joined #lisp 2020-08-05T10:13:30Z alandipert9 joined #lisp 2020-08-05T10:15:05Z alandipert quit (Ping timeout: 240 seconds) 2020-08-05T10:22:05Z ldb quit (Ping timeout: 240 seconds) 2020-08-05T10:25:48Z wxie joined #lisp 2020-08-05T10:26:11Z phoe: Online Lisp Meeting #6 starting in 30 minutes. 2020-08-05T10:26:18Z phoe: https://www.twitch.tv/TwitchPlaysCommonLisp 2020-08-05T10:26:23Z phoe: Well, 34 to be precise. 2020-08-05T10:26:36Z beach: Only one presentation after all, right? 2020-08-05T10:26:40Z phoe: Yes 2020-08-05T10:27:05Z beach: Just as well. That one is pretty long. 2020-08-05T10:27:13Z orivej quit (Ping timeout: 264 seconds) 2020-08-05T10:27:21Z orivej_ joined #lisp 2020-08-05T10:31:41Z galex-713 quit (Ping timeout: 272 seconds) 2020-08-05T10:32:13Z galex-713 joined #lisp 2020-08-05T10:32:14Z cosimone joined #lisp 2020-08-05T10:37:46Z sm2n: good morning 2020-08-05T10:37:55Z phoe: heyyy 2020-08-05T10:38:34Z sm2n: hm, I guess you can't preload twitch streams with ytdl+mpv 2020-08-05T10:40:05Z galex-713 quit (Ping timeout: 240 seconds) 2020-08-05T10:40:10Z scymtym quit (Read error: Connection reset by peer) 2020-08-05T10:40:38Z orivej_ quit (Ping timeout: 265 seconds) 2020-08-05T10:40:59Z orivej joined #lisp 2020-08-05T10:41:25Z galex-713 joined #lisp 2020-08-05T10:41:31Z Bourne joined #lisp 2020-08-05T10:43:51Z phoe: maybe that's because the stream is still offline 2020-08-05T10:43:55Z phoe: I'll make it run in a moment 2020-08-05T10:44:14Z jonatack quit (Quit: jonatack) 2020-08-05T10:44:18Z scymtym joined #lisp 2020-08-05T10:46:05Z ayuce joined #lisp 2020-08-05T10:48:26Z sm2n: anyway, what's the schedule for these talks? is it every two weeks this time? 2020-08-05T10:48:27Z terpri_ quit (Ping timeout: 240 seconds) 2020-08-05T10:48:29Z phoe: runninnnnng 2020-08-05T10:48:36Z ldb joined #lisp 2020-08-05T10:48:36Z phoe: sm2n: more or less two weeks, sometimes three 2020-08-05T10:49:22Z orivej quit (Ping timeout: 256 seconds) 2020-08-05T10:49:39Z orivej joined #lisp 2020-08-05T10:49:42Z sm2n: cool, it works in mpv now 2020-08-05T10:51:25Z wxie quit (Ping timeout: 240 seconds) 2020-08-05T10:51:33Z markoong joined #lisp 2020-08-05T10:51:35Z phoe: awesome 2020-08-05T10:52:20Z treflip: yeaaah 2020-08-05T10:53:16Z ghard joined #lisp 2020-08-05T10:53:26Z ldb quit (Ping timeout: 260 seconds) 2020-08-05T10:54:15Z ldb joined #lisp 2020-08-05T10:59:45Z shangul joined #lisp 2020-08-05T11:00:49Z random-nick joined #lisp 2020-08-05T11:02:52Z gxt joined #lisp 2020-08-05T11:05:00Z gaqwas quit (Remote host closed the connection) 2020-08-05T11:09:01Z paul0 quit (Quit: Leaving) 2020-08-05T11:17:28Z treflip quit (Quit: WeeChat 2.6) 2020-08-05T11:25:12Z ldb quit (Quit: leaving) 2020-08-05T11:25:22Z narimiran quit (Ping timeout: 246 seconds) 2020-08-05T11:25:47Z treflip joined #lisp 2020-08-05T11:25:49Z space_otter quit (Remote host closed the connection) 2020-08-05T11:27:24Z orivej quit (Ping timeout: 256 seconds) 2020-08-05T11:27:49Z orivej joined #lisp 2020-08-05T11:29:11Z cosimone quit (Quit: Quit.) 2020-08-05T11:29:57Z narimiran joined #lisp 2020-08-05T11:47:05Z dsl`` quit (Ping timeout: 240 seconds) 2020-08-05T11:48:13Z dra joined #lisp 2020-08-05T11:49:20Z mangul joined #lisp 2020-08-05T11:51:25Z shangul quit (Ping timeout: 240 seconds) 2020-08-05T11:51:53Z ebrasca: scymtym: Hi 2020-08-05T11:52:17Z scymtym: ebrasca: hi 2020-08-05T11:54:16Z ebrasca: scymtym: I am making some FS thinks for Mezzano. 2020-08-05T11:55:15Z ebrasca: scymtym: And I have never make any presentation. 2020-08-05T11:55:19Z beach: scymtym: I think your presentation had the desired effect. 2020-08-05T11:56:15Z scymtym: ebrasca: i know. if you record a video about your work, i'm sure phoe would schedule it for a future installment of the online meetup 2020-08-05T11:56:19Z beach: It was very impressive, and the participants seem to have noticed that. 2020-08-05T11:56:19Z scymtym: beach: great 2020-08-05T11:57:07Z phoe: scymtym: actually 2020-08-05T11:57:13Z phoe: beach has already had three videos 2020-08-05T11:57:16Z beach: It seems McCLIM is largely unknown to people. Maybe one talk should be about the listener, "debugger", and the integration of Clouseau. 2020-08-05T11:57:18Z phoe: and he's *definitely* not done yet 2020-08-05T11:57:36Z phoe: oh wait, I mixed up people - nevermind 2020-08-05T11:57:45Z ebrasca: scymtym: I don't know how to make videos or if FS develoment is interesting. 2020-08-05T11:58:03Z beach: You will find out only by trying. 2020-08-05T11:58:08Z scymtym: phoe: no worries 2020-08-05T11:58:45Z beach: I am off for a badly needed break. 2020-08-05T11:59:00Z scymtym: ebrasca: maybe i misunderstood what you were getting at. i just wanted to say that if you want to present your work, it shouldn't be a problem 2020-08-05T11:59:50Z scymtym: beach: see you. thanks for helping with the questions and chat 2020-08-05T11:59:50Z _death: scymtym: here's a backtrace for the lock issue https://plaster.tymoon.eu/view/1980#1980 2020-08-05T12:00:07Z scymtym: _death: thank you 2020-08-05T12:02:45Z edgar-rft joined #lisp 2020-08-05T12:05:48Z scymtym: _death: can you get a backtrace form McCLIM port thread when the image is in this state? 2020-08-05T12:06:02Z scymtym: sorry, "from the McCLIM port thread" 2020-08-05T12:06:02Z Fare joined #lisp 2020-08-05T12:08:14Z _death: https://plaster.tymoon.eu/view/1981#1981 2020-08-05T12:08:30Z jackdaniel: "preemtive threads are a root of all evil" 2020-08-05T12:09:01Z scymtym: thanks 2020-08-05T12:10:23Z phoe: Clouseau - The McCLIM Inspector - https://www.youtube.com/watch?v=-1LzFxTbU9E 2020-08-05T12:10:23Z farooqkz__ joined #lisp 2020-08-05T12:10:45Z jackdaniel: oh, it was today? 2020-08-05T12:11:05Z mangul quit (Ping timeout: 240 seconds) 2020-08-05T12:11:27Z phoe: yes 2020-08-05T12:11:35Z phoe: scymtym: should I upload the easter egg as well? 2020-08-05T12:11:37Z shifty quit (Ping timeout: 264 seconds) 2020-08-05T12:12:06Z jackdaniel: n.b, it would be fantastic if the videos were available outside yt/twitch gardens, i.e as torrents 2020-08-05T12:12:07Z scymtym: phoe: if it's easily doable 2020-08-05T12:13:15Z phoe: scymtym: done, https://youtu.be/cooTl4-9bhg 2020-08-05T12:14:05Z scymtym: _death: maybe the problem is also related to the inspected value. it seems to be printing the long list when trying to display documentation for the "swap place values" command. a very long list or putting that list in a vector alone doesn't trigger anything for me. is the value you were inspecting easy to reproduce? 2020-08-05T12:14:47Z wsinatra quit (Quit: WeeChat 2.9) 2020-08-05T12:16:20Z scymtym: phoe: thanks 2020-08-05T12:16:27Z phoe: froggey: ^ 2020-08-05T12:16:43Z _death: scymtym: yes.. (loop repeat 4000000 collect 'hi) 2020-08-05T12:19:08Z scymtym: _death: anything "around" that in terms of composite objects containing the list or similar? i can't get the list alone to cause any problems 2020-08-05T12:19:09Z flip214: _death: (make-list 4000000 :initial-element 'hi) 2020-08-05T12:19:37Z _death: scymtym: no.. just the list 2020-08-05T12:19:57Z jonatack joined #lisp 2020-08-05T12:20:02Z scymtym: _death: ah, dragging list elements gets me closer 2020-08-05T12:20:06Z _death: scymtym: it doesn't happen every run.. but it does happen often, say 1/3 2020-08-05T12:20:59Z scymtym: _death: maybe a custom *PRINT-LENGTH* or similar masks the issue for me 2020-08-05T12:21:05Z _death: seems to happen when the red tick near an element is hovered 2020-08-05T12:21:15Z scymtym: although clouseau should control the printer tightly 2020-08-05T12:21:28Z _death: after a while I now got WARNING: Trying to render string outside the mirror. 2020-08-05T12:21:37Z hjudt quit (Quit: leaving) 2020-08-05T12:21:43Z scymtym: yeah, that's from printing on overly long string 2020-08-05T12:21:58Z scymtym: so seems to support my suspicion 2020-08-05T12:23:06Z scymtym: i suspect two issues: 1) clouseau does not abbreviate the object representation when printing the command help 2) clx can get stuck when writing overlong requests (or something more specific to string-related requests) 2020-08-05T12:23:12Z scymtym: that narrows things down a bit 2020-08-05T12:23:13Z hjudt joined #lisp 2020-08-05T12:23:13Z hjudt quit (Client Quit) 2020-08-05T12:23:23Z jackdaniel: this warning is a known problem with a proposed solution blocked by drei design. uf, that was a long sentence 2020-08-05T12:23:40Z hjudt joined #lisp 2020-08-05T12:24:18Z jackdaniel: s/with a/which has a/ 2020-08-05T12:24:44Z jackdaniel: s/drei design/something in drei/ 2020-08-05T12:25:30Z scymtym: _death: if you surround the (format stream "Drag ~A onto another slot to ...") call in Apps/Clouseau/src/commands.lisp with (let ((*print-length* 30) (*print-circle* t)), does the issue persist? 2020-08-05T12:27:42Z scymtym: (the proper fix will involve Clouseau's WITH-PRINT-ERROR-HANDLING and WITH-SAFE-AND-TERSE-PRINTING) 2020-08-05T12:27:50Z _death: yes 2020-08-05T12:28:42Z _death: but the backtrace looks a bit different.. maybe there's another print 2020-08-05T12:29:19Z _death: Drag onto place ... 2020-08-05T12:30:07Z orivej quit (Ping timeout: 246 seconds) 2020-08-05T12:30:30Z orivej joined #lisp 2020-08-05T12:31:15Z scymtym: yeah, there are multiple help messages one of which is chosen depending on the destination object and pressed modifiers. they probably all lack the necessary printer setup 2020-08-05T12:32:03Z _death: wrapping the two "Drag onto" may have worked 2020-08-05T12:32:53Z scymtym: it should. the clx issue will only be masked, of course 2020-08-05T12:32:56Z dra_ joined #lisp 2020-08-05T12:33:05Z dra quit (Remote host closed the connection) 2020-08-05T12:33:26Z _death: right 2020-08-05T12:34:34Z scymtym: thank you for experimenting. i have now reproduced the issue with default *PRINT-LENGTH* etc. 2020-08-05T12:35:02Z EvW joined #lisp 2020-08-05T12:35:08Z jonatack quit (Quit: jonatack) 2020-08-05T12:41:20Z jonatack joined #lisp 2020-08-05T12:41:25Z orivej quit (Ping timeout: 240 seconds) 2020-08-05T12:42:09Z orivej joined #lisp 2020-08-05T12:44:07Z wsinatra joined #lisp 2020-08-05T12:44:56Z ghard quit (Remote host closed the connection) 2020-08-05T12:46:32Z ldb joined #lisp 2020-08-05T12:49:12Z nicktick joined #lisp 2020-08-05T12:49:19Z farooqkz__ quit (Quit: Leaving) 2020-08-05T12:50:01Z orivej quit (Ping timeout: 264 seconds) 2020-08-05T12:50:20Z orivej joined #lisp 2020-08-05T12:50:56Z ldb quit (Read error: Connection reset by peer) 2020-08-05T12:52:58Z shinohai quit (Ping timeout: 256 seconds) 2020-08-05T12:53:08Z zigpaw quit (Ping timeout: 256 seconds) 2020-08-05T12:53:08Z shinohai joined #lisp 2020-08-05T12:57:18Z _jrjsmrtn joined #lisp 2020-08-05T12:59:01Z __jrjsmrtn__ quit (Ping timeout: 264 seconds) 2020-08-05T12:59:54Z orivej quit (Ping timeout: 260 seconds) 2020-08-05T13:00:01Z orivej_ joined #lisp 2020-08-05T13:01:21Z Bike joined #lisp 2020-08-05T13:06:06Z zigpaw joined #lisp 2020-08-05T13:08:35Z contrapunctus left #lisp 2020-08-05T13:08:47Z luckless_ quit (Remote host closed the connection) 2020-08-05T13:08:53Z contrapunctus joined #lisp 2020-08-05T13:09:05Z contrapunctus left #lisp 2020-08-05T13:09:10Z gxt quit (Quit: WeeChat 2.9) 2020-08-05T13:09:20Z luckless_ joined #lisp 2020-08-05T13:10:09Z contrapunctus joined #lisp 2020-08-05T13:11:57Z _death: clouseau is cool.. btw (complex (cos i) (sin i)) == (cis i) ;) 2020-08-05T13:12:14Z jackdaniel: (ćś i) 2020-08-05T13:12:40Z scymtym: thanks. as i said in the video, thinking/typing while speaking is hard for me 2020-08-05T13:14:01Z ljavorsk quit (Ping timeout: 264 seconds) 2020-08-05T13:14:24Z scymtym: i also forgot to show the promised better example of the superclass graph 2020-08-05T13:14:53Z kimberky` joined #lisp 2020-08-05T13:15:34Z davsebamse quit (Ping timeout: 256 seconds) 2020-08-05T13:15:58Z kimberky` quit (Client Quit) 2020-08-05T13:17:19Z kimberky` joined #lisp 2020-08-05T13:18:33Z _death: the breadcrumbs history can also get arbitrarily large 2020-08-05T13:22:39Z scymtym: yes, the history has multiple problems 2020-08-05T13:22:54Z scymtym: there is a "Clear History" command as a stopgap solution 2020-08-05T13:23:41Z jackdaniel: "Those who forget^Wclear history are condemned to repeat it" 2020-08-05T13:24:06Z kimberly`` joined #lisp 2020-08-05T13:24:07Z kimberly`` quit (Max SendQ exceeded) 2020-08-05T13:24:30Z _death: it is possible to attempt to swap the value of a pseudo-place, which signals a no-applicable-method-error 2020-08-05T13:25:40Z vutral joined #lisp 2020-08-05T13:26:01Z ghard joined #lisp 2020-08-05T13:26:43Z scymtym: that must be a missing (supports PLACE (eql :setf)) method or a failure to use the READ-ONLY-PLACE mixin 2020-08-05T13:27:13Z kimberky` quit (Ping timeout: 264 seconds) 2020-08-05T13:28:21Z _death: right, but I doubt that particular place should support modification 2020-08-05T13:29:28Z _death: I guess that's what you mean by using read-only-place mixin 2020-08-05T13:29:33Z scymtym: of course, i meant the architecture has the necessary features and the problem is thus a "configuration error" 2020-08-05T13:31:23Z v88m quit (Ping timeout: 240 seconds) 2020-08-05T13:33:12Z orivej_ quit (Ping timeout: 256 seconds) 2020-08-05T13:33:25Z kimberly`` joined #lisp 2020-08-05T13:33:26Z kimberly`` quit (Max SendQ exceeded) 2020-08-05T13:33:29Z TwoNotes joined #lisp 2020-08-05T13:33:40Z orivej joined #lisp 2020-08-05T13:35:45Z kimberly`` joined #lisp 2020-08-05T13:35:46Z kimberly`` quit (Max SendQ exceeded) 2020-08-05T13:36:32Z galex-713 quit (Ping timeout: 246 seconds) 2020-08-05T13:36:50Z prescilla22 joined #lisp 2020-08-05T13:36:51Z prescilla22 quit (Max SendQ exceeded) 2020-08-05T13:38:35Z prescilla22 joined #lisp 2020-08-05T13:38:36Z prescilla22 quit (Max SendQ exceeded) 2020-08-05T13:38:55Z _death: it already uses read-only-place.. I think the drag-swap-place-values tester needs a little tweaking.. like a (and (safe-valuep object) (supportsp object 'setf)) in case from-object is nil 2020-08-05T13:39:12Z hendursa1 quit (Quit: hendursa1) 2020-08-05T13:39:25Z xrash quit (Ping timeout: 246 seconds) 2020-08-05T13:39:32Z hendursaga joined #lisp 2020-08-05T13:41:35Z prescilla22 joined #lisp 2020-08-05T13:41:36Z prescilla22 quit (Max SendQ exceeded) 2020-08-05T13:41:45Z orivej quit (Ping timeout: 240 seconds) 2020-08-05T13:41:47Z scymtym: right, i might have forgotten to finish this or rather adapt it to McCLIM changes regarding the names of the tester arguments 2020-08-05T13:42:20Z orivej joined #lisp 2020-08-05T13:43:09Z _death: in any case it's easier to hack on clouseau than slime inspector ;) 2020-08-05T13:44:41Z beach: Of course. :) 2020-08-05T13:57:40Z orivej quit (Quit: No Ping reply in 180 seconds.) 2020-08-05T13:59:03Z orivej joined #lisp 2020-08-05T13:59:12Z gko_ joined #lisp 2020-08-05T13:59:33Z galex-713 joined #lisp 2020-08-05T14:05:08Z TwoNotes quit (Quit: Leaving) 2020-08-05T14:05:08Z rumbler31 joined #lisp 2020-08-05T14:06:17Z sjl_ joined #lisp 2020-08-05T14:06:18Z galex-713 quit (Ping timeout: 246 seconds) 2020-08-05T14:06:21Z galex-713_ joined #lisp 2020-08-05T14:06:24Z orivej quit (Quit: No Ping reply in 180 seconds.) 2020-08-05T14:06:47Z _death: the graph example was also very cool, though the layout algo could be improved for larger graphs https://i.imgur.com/14uWrs0.png 2020-08-05T14:07:44Z orivej joined #lisp 2020-08-05T14:08:09Z jackdaniel: a few people mentioned on the issue tracker ,that they are working on alternative layouts, but nothing came in as a pull request so far 2020-08-05T14:14:12Z beach: Probably because it's a tough problem. 2020-08-05T14:14:34Z rumbler31 quit (Ping timeout: 256 seconds) 2020-08-05T14:14:40Z _death: a port of the dagre algorithms could take a few days of work 2020-08-05T14:16:50Z galex-713_ quit (Ping timeout: 256 seconds) 2020-08-05T14:16:56Z galex-713 joined #lisp 2020-08-05T14:16:57Z beach: _death: It sounds like you found yourself a small project. :) 2020-08-05T14:17:35Z _death: heh.. it's not the first time I pondered it ;) 2020-08-05T14:18:35Z orivej quit (Quit: No Ping reply in 180 seconds.) 2020-08-05T14:19:51Z jackdaniel: _death: if you are interested in extending graph functionality, then the file to look at is Core/clim-core/graph-formatting.lisp 2020-08-05T14:19:55Z orivej joined #lisp 2020-08-05T14:20:22Z jackdaniel: the interface is not documented (and not exported :), but it is possible to add new types of graph 2020-08-05T14:21:44Z jackdaniel: (define-graph-type :pretty-dawg pretty-dag-graph-output-record), and then add a few methods 2020-08-05T14:24:04Z _death: cool 2020-08-05T14:25:57Z alandipert9 is now known as alandipert 2020-08-05T14:27:13Z whiteline quit (Ping timeout: 264 seconds) 2020-08-05T14:34:20Z sjl_ quit (Quit: WeeChat 2.3-dev) 2020-08-05T14:38:27Z dra_ is now known as dra 2020-08-05T14:39:58Z ayuce quit (Ping timeout: 246 seconds) 2020-08-05T14:42:27Z _death: tweaking orientation and separation parameters gets much better results 2020-08-05T14:42:42Z scymtym: _death: we should talk. i have lots of initial work for better graph layout 2020-08-05T14:43:03Z sjl_ joined #lisp 2020-08-05T14:44:16Z ofi quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-08-05T14:44:42Z _death: sounds good 2020-08-05T14:48:08Z garbochock joined #lisp 2020-08-05T14:51:55Z bsd4me joined #lisp 2020-08-05T14:54:07Z garbochock: Good afternoon, lisp newbie here. I have a question about looking up documentation. I'm aware of (describe 'function). However, currently as I'm going through 'practical common lisp', I came across (eql value :unspecific) - and wanted to figure out what (the keyword?) ":unspecific" means. On (describe 'eql) I get no information. This type of situation have come up before, and I would be interested to know how one would go about getti 2020-08-05T14:54:07Z garbochock: documentation in such cases. 2020-08-05T14:54:52Z beach: :UNSPECIFIC is just a symbol in the KEYWORD package. 2020-08-05T14:55:21Z beach: Those symbols have themselves as values, so it evaluates to itself. 2020-08-05T14:55:32Z beach: Otherwise, it is just like any other symbol. 2020-08-05T14:56:14Z beach: So, apparently, it is possible that the variable VALUE can take on that symbol as a value. 2020-08-05T14:57:51Z orivej quit (Quit: No Ping reply in 180 seconds.) 2020-08-05T14:58:02Z orivej joined #lisp 2020-08-05T14:58:08Z garbochock: Ah thank you, I was looking for some magical meaning behind it. Just a symbol, thanks! 2020-08-05T14:58:15Z beach: Sure. 2020-08-05T15:00:10Z Xach: the meaning comes from the context 2020-08-05T15:00:41Z Xach: keyword symbolsl are used to do and mean all kinds of things 2020-08-05T15:01:37Z garbochock: Indeed, looked up context and it appears pathname-name and pathname-type can return :unspecific. 2020-08-05T15:04:06Z aeth: garbochock: The only way to "document" keywords afaik would be to define a member or eql type, e.g. (deftype possibly-specific () "Docstring here." `(member :unspecific :specific)) or (deftype unspecific () "Docstring here." `(eql :unspecific)) where obviously the member type is more useful. 2020-08-05T15:04:31Z aeth: Of course, this is one direction, from type to keyword(s)/symbol(s), and not the other way, so you still couldn't find it from describe. 2020-08-05T15:05:46Z aeth: It's definitely possible that a keyword (especially a common one) could be part of more than one member type. 2020-08-05T15:05:49Z whiteline joined #lisp 2020-08-05T15:08:24Z shidima quit (Ping timeout: 256 seconds) 2020-08-05T15:10:56Z mindCrime joined #lisp 2020-08-05T15:12:06Z aeth: (I doubt either would be useful in that specific example, since I'm guessing it's either a non-keyword or :unspecific) 2020-08-05T15:14:52Z orivej quit (Quit: No Ping reply in 180 seconds.) 2020-08-05T15:15:55Z mankaev joined #lisp 2020-08-05T15:16:11Z orivej joined #lisp 2020-08-05T15:22:49Z phoe: garbochock: the package KEYWORD is a particularly special package 2020-08-05T15:23:27Z phoe: every symbol inside that package is automatically exported and it becomes a constant that evaluates to itself 2020-08-05T15:23:52Z cosimone joined #lisp 2020-08-05T15:24:06Z orivej quit (Ping timeout: 260 seconds) 2020-08-05T15:24:19Z phoe: so you can use them kinda-sorta-like enums in other languages, except you do not need to declare them beforehand 2020-08-05T15:24:27Z orivej joined #lisp 2020-08-05T15:24:43Z rippa joined #lisp 2020-08-05T15:24:56Z phoe: they inherit the trait of symbols where they have identity, and so :FOO is EQ/EQL only to :FOO and nothing else, which is why that bit of PCL code used an EQL comparison with a keyword 2020-08-05T15:32:21Z orivej quit (Read error: Connection reset by peer) 2020-08-05T15:32:38Z orivej joined #lisp 2020-08-05T15:33:53Z dra quit (Remote host closed the connection) 2020-08-05T15:38:59Z Josh_2 joined #lisp 2020-08-05T15:39:31Z gaqwas joined #lisp 2020-08-05T15:40:09Z Josh_2: Afternoon 2020-08-05T15:40:11Z xkapastel joined #lisp 2020-08-05T15:42:23Z Josh_2`` quit (Remote host closed the connection) 2020-08-05T15:42:29Z Josh_2: oops 2020-08-05T15:43:18Z beach: Hello Josh_2. 2020-08-05T15:43:45Z Josh_2: Hows work going beach? 2020-08-05T15:44:28Z beach: Making slow but steady progress, thank you. How about you? 2020-08-05T15:46:06Z beach: Josh_2: Oh, and scymtym had a great presentation for the online Lisp meeting today, in case you missed it. 2020-08-05T15:48:34Z phoe: the video's already on YT but Twitch has the stream with twitch chat stored on it 2020-08-05T15:48:40Z bsd4me quit (Quit: Leaving) 2020-08-05T15:49:03Z Lord_of_Life_ joined #lisp 2020-08-05T15:50:40Z Lord_of_Life quit (Ping timeout: 246 seconds) 2020-08-05T15:51:53Z Lord_of_Life_ is now known as Lord_of_Life 2020-08-05T15:52:07Z dddddd quit (Remote host closed the connection) 2020-08-05T15:52:22Z sm2n: beach, I was wondering if the lispos paper on your website being replaced with an older version was on purpose? 2020-08-05T15:52:44Z beach: No. The name is closos.pdf 2020-08-05T15:52:51Z beach: lispos.pdf is old. 2020-08-05T15:53:01Z Josh_2: phoe whats the account name? 2020-08-05T15:53:10Z phoe: https://www.youtube.com/channel/UCymtXMj1M7cKiV9TKLoTtEg 2020-08-05T15:53:14Z sm2n: oh I see 2020-08-05T15:53:16Z phoe: https://www.twitch.tv/TwitchPlaysCommonLisp 2020-08-05T15:54:08Z sm2n: thanks 2020-08-05T15:54:13Z beach: Sure. 2020-08-05T15:54:20Z sm2n: I wanted to share it with a friend and was getting stuck 2020-08-05T15:54:32Z sm2n: not sure where I found the link originally 2020-08-05T15:55:32Z treflip quit (Quit: WeeChat 2.6) 2020-08-05T15:56:10Z beach: I should just make sure the are one and the same document. 2020-08-05T15:56:14Z Josh_2: beach: I see the presentations you made for CL, very impressed by your choice of beamer theme :P 2020-08-05T15:56:20Z sm2n: beach, do you have any plans to add stuff about a graphics stack? 2020-08-05T15:56:54Z beach: Josh_2: Oh, thanks. I don't even think I chose it. Probably my favorite coauthor. 2020-08-05T15:57:27Z beach: sm2n: That's a good idea. But I would have to read up on a lot of stuff first. 2020-08-05T15:59:04Z sm2n: in particular, I think graphics would have to be integrated all the way down, because otherwise you can't maintain security 2020-08-05T15:59:44Z beach: Can you elaborate on that? I am not sure I see the argument. 2020-08-05T16:02:48Z sm2n: current architectures all run the userland part of the graphics stack in a single process generally, so you end up with at least two different levels of privileges - in the graphics stack, and as mediated by the os kernel with user permissions or whatever 2020-08-05T16:03:11Z sm2n: X11 is particularly bad at this because it doesn't really have a permissions model 2020-08-05T16:04:07Z sm2n: but even if you consider things that are supposed to fix the issue, like wayland, it's still quite bad - you can't manage permissions for a computation in a single place 2020-08-05T16:04:52Z beach: I think I understand. 2020-08-05T16:05:26Z vutral quit (Quit: Connection closed for inactivity) 2020-08-05T16:05:32Z beach: I am trying to think how that would impact a single-address-space architecture without processes. 2020-08-05T16:06:05Z dddddd joined #lisp 2020-08-05T16:06:58Z beach: sm2n: So I guess you are right, that it has to be integrated "all the way down", as opposed to copying existing architectures. 2020-08-05T16:07:53Z sm2n: yeah I'm not too sure about the memory model 2020-08-05T16:08:29Z beach: Of CLOSOS? 2020-08-05T16:08:46Z sm2n: yeah. how it would relate to this issue 2020-08-05T16:08:50Z beach: No code has direct access to memory. 2020-08-05T16:09:05Z beach: So all code runs in kernel mode. 2020-08-05T16:09:21Z sm2n: everything is accessed as language objects, correct? 2020-08-05T16:09:28Z beach: Yeah. 2020-08-05T16:09:37Z beach: Permissions are managed with capabilities. 2020-08-05T16:10:07Z sm2n: hmm 2020-08-05T16:10:19Z sm2n: what owns a capability? 2020-08-05T16:10:26Z sm2n: or has 2020-08-05T16:10:35Z gko_ quit (Ping timeout: 240 seconds) 2020-08-05T16:10:56Z beach: There is no concept of ownership of capabilities. Who ever is in possession of one can use it. 2020-08-05T16:11:05Z beach: That's the essence of capabilities. 2020-08-05T16:11:31Z sm2n: right, lemme see if I can rephrase that in a way that makes sense 2020-08-05T16:12:37Z sm2n: what's the unit of modularity? i.e at what level of granularity can I assign trust rankings to computations on my machine? 2020-08-05T16:13:42Z ajithmk joined #lisp 2020-08-05T16:14:13Z beach: Not sure what that means. The object store plays the role of a traditional file system. It contains ACLs, so when a user wants to obtain an object from the object store, then the ACL is checked and the user is handed a capability. 2020-08-05T16:16:01Z gaqwas quit (Remote host closed the connection) 2020-08-05T16:16:13Z sm2n: more concrete: say I download a program off the internet, I want to run it in such a way that I can guarantee that it cannot do certain things, like I dunno, uploading all my private cat photos 2020-08-05T16:16:23Z sm2n: or keylogging, etc 2020-08-05T16:16:28Z EvW quit (Ping timeout: 244 seconds) 2020-08-05T16:16:29Z sm2n: how can I accomplish this? 2020-08-05T16:16:55Z beach: Well, you have a unit of modularity which is the first-class global environment. 2020-08-05T16:17:21Z beach: If you load the program into a first-class global environment that doesn't have your photos in it, then it can't access them. 2020-08-05T16:17:35Z sm2n: ah ok that makes sense 2020-08-05T16:17:40Z sm2n: I like that a lot actually 2020-08-05T16:17:45Z beach: Great! 2020-08-05T16:18:04Z sm2n: hmm 2020-08-05T16:18:27Z sm2n: maybe environments could be represented graphically like how qubes has borders around vms 2020-08-05T16:18:44Z ashley^ joined #lisp 2020-08-05T16:19:01Z beach: In the CLOSOS document, you mean? 2020-08-05T16:19:16Z sm2n: sure, I'm just thinking out loud 2020-08-05T16:19:43Z beach: First-class global environments were designed for that kind of isolation. My typical use case is to put the code generator of the compiler in a separate first-class global environment, so that ordinary code can't alter it and thereby making the entire system unsafe. 2020-08-05T16:20:28Z sebboh joined #lisp 2020-08-05T16:20:40Z sm2n: that's neat 2020-08-05T16:20:47Z ashley^ quit (Read error: Connection reset by peer) 2020-08-05T16:20:53Z beach: Thanks. 2020-08-05T16:20:59Z sm2n: what openbsd pledge() wishes it could be really 2020-08-05T16:21:16Z beach: I would have to read up on that. 2020-08-05T16:21:16Z sm2n: my issue is that how do you extend this to a gui 2020-08-05T16:21:27Z sm2n: you need to show some indication to the user 2020-08-05T16:21:57Z sm2n: gui security is very hard because guis are relatively high bandwidth 2020-08-05T16:22:15Z sm2n: like, in certain contexts even capturing mouse movement is bad 2020-08-05T16:22:57Z beach: I think again, you would obtain some kind of object to be used for the operations, and that object would be a capability. So it would be like `open' but for a window/frame/whatever. 2020-08-05T16:23:44Z sebboh: Hi all. This might be my first time visiting here in 2020? Oof. Anyway, I really like ikiwiki, but I don't speak perl, and so I've never really modified or extended it, and when one of my ikiwiki sites breaks, it stays broken.. Is there some CL-based wiki-like static site generator backed by some RCS? The web-based editing that ikiwiki offers is not really necessary for me, I think. 2020-08-05T16:24:19Z beach: Cliki? 2020-08-05T16:25:35Z sm2n: that could work, I guess 2020-08-05T16:25:54Z beach: I would think so. 2020-08-05T16:26:01Z sm2n: would require very careful choices on what the capabilities are though, but it seems doable 2020-08-05T16:26:24Z beach: Whew! :) 2020-08-05T16:27:50Z sm2n: err wait 2020-08-05T16:28:14Z sm2n: I lost my earlier train of thought 2020-08-05T16:28:25Z beach: Oh, sorry to hear that. 2020-08-05T16:28:35Z sm2n: that works fine for the implementation 2020-08-05T16:28:37Z beach: It happens to me 100 times a aday. 2020-08-05T16:29:12Z sm2n: but if I run a graphical program, how do I know what capabilities it has? is it just required to specify it beforehand 2020-08-05T16:29:55Z beach: The graphics program does not have any capabilities. The thread that runs that program obtains capabilities to be used in graphics operations. 2020-08-05T16:30:27Z sebboh: So, https://gitlab.common-lisp.net/vsedach/cliki2 seems to be the cannonical site. But, it's not clear to me that CLiki2 meets the requirements I named, or if it was just a casual response to a subset of my query. :) 2020-08-05T16:30:31Z sm2n: I'm not sure I understand the difference 2020-08-05T16:31:43Z nirved quit (Ping timeout: 240 seconds) 2020-08-05T16:31:46Z beach: I think it would be best to draw up a scenario. That would make things more concrete. 2020-08-05T16:32:32Z beach: But I am reaching the end of a very long day, and my (admittedly small) family is going to announce that dinner is served in just a little while, so we may have to continue this discussion some other day. 2020-08-05T16:32:51Z sm2n: sure 2020-08-05T16:32:55Z sm2n: I'll think about it 2020-08-05T16:33:00Z beach: Great. 2020-08-05T16:33:29Z sm2n: have a good dinner 2020-08-05T16:33:36Z beach: Thank you! 2020-08-05T16:42:31Z czrrrr joined #lisp 2020-08-05T16:42:34Z czrrrr: hi 2020-08-05T16:42:38Z czrrrr: https://clipwatching.com/cbxbkbaip66m/Some_of_my_metal_detector_finds_in_this_year_from_B.C._300_to_modern_things.mp4.html 2020-08-05T16:44:56Z v88m joined #lisp 2020-08-05T16:45:24Z scymtym: phoe: i wanted to ask multiple times but forgot (or i already asked and forgot the answer): do you also make the slides available? 2020-08-05T16:47:29Z orivej quit (Ping timeout: 265 seconds) 2020-08-05T16:47:48Z orivej joined #lisp 2020-08-05T16:50:46Z gaqwas joined #lisp 2020-08-05T16:50:46Z gaqwas quit (Changing host) 2020-08-05T16:50:46Z gaqwas joined #lisp 2020-08-05T16:53:16Z kaftejiman joined #lisp 2020-08-05T16:54:05Z shifty joined #lisp 2020-08-05T16:56:45Z orivej quit (Ping timeout: 240 seconds) 2020-08-05T16:57:27Z orivej joined #lisp 2020-08-05T16:59:47Z mindCrime quit (Ping timeout: 240 seconds) 2020-08-05T17:05:50Z orivej quit (Ping timeout: 260 seconds) 2020-08-05T17:06:08Z orivej joined #lisp 2020-08-05T17:10:28Z notzmv quit (Ping timeout: 246 seconds) 2020-08-05T17:16:44Z notzmv joined #lisp 2020-08-05T17:18:24Z czrrrr quit (K-Lined) 2020-08-05T17:18:44Z contrapunctus left #lisp 2020-08-05T17:20:16Z contrapunctus joined #lisp 2020-08-05T17:21:13Z notzmv quit (Ping timeout: 264 seconds) 2020-08-05T17:25:11Z libertyprime quit (Ping timeout: 265 seconds) 2020-08-05T17:29:17Z shifty quit (Remote host closed the connection) 2020-08-05T17:29:35Z shifty joined #lisp 2020-08-05T17:31:39Z terpri joined #lisp 2020-08-05T17:31:45Z orivej quit (Ping timeout: 240 seconds) 2020-08-05T17:32:18Z orivej joined #lisp 2020-08-05T17:33:05Z Bike: hey jackdaniel, quick question if you're around - does "return @logxor(2,x,ecl_make_fixnum(-1));" mean 2 xor x xor -1, or does the 2 just indicate the number of arguments so that it's x xor -1 2020-08-05T17:34:56Z jackdaniel: Bike: the first argument indicates number of remaining arguments 2020-08-05T17:35:05Z Bike: thought so. thank you. 2020-08-05T17:35:05Z jackdaniel: so it means (logxor x -1) 2020-08-05T17:35:32Z cosimone quit (Quit: Quit.) 2020-08-05T17:35:32Z jackdaniel: sure 2020-08-05T17:36:20Z notzmv joined #lisp 2020-08-05T17:38:21Z terpri quit (Remote host closed the connection) 2020-08-05T17:38:43Z terpri joined #lisp 2020-08-05T17:40:09Z ayuce joined #lisp 2020-08-05T17:41:24Z cosimone joined #lisp 2020-08-05T17:43:04Z kerosin joined #lisp 2020-08-05T17:43:15Z gaqwas quit (Remote host closed the connection) 2020-08-05T17:43:29Z shidima joined #lisp 2020-08-05T17:45:45Z orivej quit (Ping timeout: 240 seconds) 2020-08-05T17:46:28Z orivej joined #lisp 2020-08-05T17:49:23Z shidima quit (Ping timeout: 240 seconds) 2020-08-05T17:53:29Z Fare: jackdaniel, there was a bug report about ECL and ASDF recently regarding :init-name, did you see it? 2020-08-05T17:54:01Z Fare: your input as to what ASDF *should* be doing would be welcome. 2020-08-05T17:57:27Z bhartrihari left #lisp 2020-08-05T17:57:49Z bhartrihari joined #lisp 2020-08-05T18:02:16Z elflng quit (Ping timeout: 246 seconds) 2020-08-05T18:02:41Z jackdaniel: Fare: it should pass init-name argument from the build operatation to the operator in ecl 2020-08-05T18:03:32Z jackdaniel: without modification 2020-08-05T18:03:41Z jackdaniel: or a substitute value 2020-08-05T18:05:00Z jackdaniel: afair I've opened issue in asdf issue tracker at some point of time when the init-name argument became more meaningful, but I may be wrong with this memory 2020-08-05T18:06:26Z cosimone quit (Remote host closed the connection) 2020-08-05T18:07:55Z Fare: jackdaniel, I'm not developing asdf anymore, but I believe rpgoldman could use your help figuring out what to do. Apparently the recent change to ASDF doesn't work well in all situations, particularly so for bundle operations. 2020-08-05T18:08:21Z Fare: There again, reunifying the two forks of ASDF would be nice. 2020-08-05T18:10:17Z kaftejiman_ joined #lisp 2020-08-05T18:10:28Z cosimone joined #lisp 2020-08-05T18:11:22Z kaftejiman quit (Ping timeout: 256 seconds) 2020-08-05T18:12:00Z jackdaniel: asdf bundled with ecl is not really a fork, rather a freezed version from before 3.2 jump with few fixes backported. I have not time to play catch with asdf changes, but users are free to use upstream version at their own discretion 2020-08-05T18:12:48Z jackdaniel: as of helping with figuring the right thing: the right thing is to carry the initarg :init-name from the function invocation in asdf:build-* down to the call to c::build-* function from ecl's compiler 2020-08-05T18:12:51Z EvW1 joined #lisp 2020-08-05T18:14:26Z jackdaniel: I find control flow in asdf with sideways, downward and whatever operations too hard to follow to tell how the initarg should be passed, this is certainly a very clever program control, maybe just too clever for me 2020-08-05T18:15:58Z orivej quit (Remote host closed the connection) 2020-08-05T18:16:07Z elflng joined #lisp 2020-08-05T18:17:08Z orivej joined #lisp 2020-08-05T18:19:48Z Fare: What initarg? To c::build-* function? It is wholly orthogonal to ASDF dependencies, and should not care about the operations having any kind of dependencies. 2020-08-05T18:23:30Z elflng quit (Ping timeout: 256 seconds) 2020-08-05T18:24:00Z Fare: The dependency protocol was explained I believe in the extended version of my ELS 2014 article. 2020-08-05T18:24:12Z elflng joined #lisp 2020-08-05T18:24:32Z Fare: Yes, it's elaborate, but mostly you don't need to know about it unless you're writing ASDF extensions. It doesn't affect c::build* initargs. 2020-08-05T18:27:46Z bocaneri quit (Remote host closed the connection) 2020-08-05T18:29:45Z orivej quit (Ping timeout: 240 seconds) 2020-08-05T18:30:20Z orivej joined #lisp 2020-08-05T18:30:29Z cosimone quit (Remote host closed the connection) 2020-08-05T18:31:57Z kaftejiman_ quit (Remote host closed the connection) 2020-08-05T18:33:24Z shidima joined #lisp 2020-08-05T18:36:16Z jackdaniel: if you look at the old version of asdf, the function asdf:make-build had an argument called init-name. it may be still accessed from extra-build-args, which (in upstream) asdf are only passed if the operation is a subtype of image-op. I don't know what magic goes on in between, but later (in upstream) asdf init-args are being getf from build-args and passed to cmp:builder in function create-image, not 2020-08-05T18:36:22Z jackdaniel: from extra-build-args, so that may be it. in (not upstream) asdf it is indeed part of "normal" build args. 2020-08-05T18:36:47Z mindCrime joined #lisp 2020-08-05T18:37:50Z jackdaniel: as of elaborate explanations for various design decisions, I believe that you wrote one, and I probably read it at some point; but that's beside the point, I'm just saying that it is too much spaghetti to me 2020-08-05T18:39:07Z jackdaniel: initarg :init-name 2020-08-05T18:40:06Z notzmv quit (Ping timeout: 265 seconds) 2020-08-05T18:42:36Z mindCrime quit (Ping timeout: 244 seconds) 2020-08-05T18:43:28Z jackdaniel: Fare: this is a merge request where I have mentioned the issue, at that point of time asdf did not have make-build because it was removed: https://gitlab.common-lisp.net/asdf/asdf/-/merge_requests/76 2020-08-05T18:44:30Z jw4 quit (Read error: Connection reset by peer) 2020-08-05T18:46:03Z jw4 joined #lisp 2020-08-05T18:46:22Z orivej quit (Read error: Connection reset by peer) 2020-08-05T18:46:32Z orivej joined #lisp 2020-08-05T18:55:01Z orivej quit (Remote host closed the connection) 2020-08-05T18:56:11Z orivej joined #lisp 2020-08-05T19:07:08Z nicktick quit (Read error: Connection reset by peer) 2020-08-05T19:07:13Z Aurora_v_kosmose quit (Quit: bleh) 2020-08-05T19:09:08Z cosimone joined #lisp 2020-08-05T19:10:46Z heisig quit (Quit: Leaving) 2020-08-05T19:14:01Z shifty quit (Ping timeout: 264 seconds) 2020-08-05T19:14:09Z nicktick joined #lisp 2020-08-05T19:19:01Z Fare: For reference, I added your remarks to https://gitlab.common-lisp.net/asdf/asdf/-/issues/38 2020-08-05T19:20:23Z Fare: I would just object that this code heavy in small incremental class and method definitions is the opposite of spaghetti. It's more like rice. Not that this makes understanding necessarily easier. 2020-08-05T19:20:58Z Fare: But spaghetti is when there are long functions of hundreds of lines of code and such 2020-08-05T19:22:44Z aeth: I don't understand this. Outside of SLIME, SBCL doesn't error. Inside of SLIME, SBCL errors with an invalid array index, probably with the underlying stream buffer. CCL is the same. In the terminal, ECL always errors, saying that unread-char has been called twice. ECL has the same index issue inside of SLIME. (with-input-from-string (s "1") (let ((c (read-char s))) (print c) (unread-char c))) 2020-08-05T19:23:48Z Fare: the longest function in ASDF is compute-action-stamp, that's 92 lines with comments, 59 lines when trivially reformatted without comments. 2020-08-05T19:24:13Z aeth: It looks like swank+slime overrides string input streams with its own custom stream that doesn't properly unread... It also looks like ECL 16.1.3 independently has its own issue with trying to call UNREAD-CHAR on string input streams 2020-08-05T19:24:31Z orivej quit (Quit: No Ping reply in 180 seconds.) 2020-08-05T19:24:37Z Fare: aeth: SLIME uses a not-so-standard kind of stream for I/O 2020-08-05T19:24:48Z froggey: aeth: did you mean to call unread-char on *standard-input* instead of s? 2020-08-05T19:24:57Z aeth: froggey: ah, good catch 2020-08-05T19:25:03Z aeth: froggey: not one implementation told me! 2020-08-05T19:25:26Z aeth: useless error messages! 2020-08-05T19:25:35Z Fare: froggey, what's the status of mezzano? 2020-08-05T19:25:50Z orivej joined #lisp 2020-08-05T19:26:19Z froggey: aeth: well, that's what #lisp is for ;) 2020-08-05T19:26:35Z froggey: Fare: demo 5 was released a few weeks ago, I think there was a short video posted earlier today 2020-08-05T19:26:51Z aeth: froggey: I guess I should've been suspicious when SBCL (but only SBCL, not the other two) told me swank was involved 2020-08-05T19:26:57Z Fare: nice 2020-08-05T19:27:12Z Fare: froggey, how do you deal with filesystems? 2020-08-05T19:29:00Z froggey: the two primary file systems are the local fs, which is implemented entirely in-image and relys on saving the world to actually persist data, and the other is the remote fs, a simple network file system 2020-08-05T19:29:25Z froggey: there are also implementations of fat & ext2/3/4, but I didn't write them so I don't know much about the state of them 2020-08-05T19:29:37Z elflng quit (Ping timeout: 264 seconds) 2020-08-05T19:30:01Z elflng joined #lisp 2020-08-05T19:37:03Z rumbler31 joined #lisp 2020-08-05T19:37:30Z orivej quit (Ping timeout: 256 seconds) 2020-08-05T19:37:31Z orivej_ joined #lisp 2020-08-05T19:38:30Z Fare: what about GC and IO? Do you disable GC during I/O? Do you have a real-time GC? Both? 2020-08-05T19:38:35Z vaporatorius joined #lisp 2020-08-05T19:38:40Z theBlackDragon quit (Remote host closed the connection) 2020-08-05T19:41:42Z vaporatorius__ quit (Ping timeout: 256 seconds) 2020-08-05T19:41:58Z narimiran quit (Ping timeout: 265 seconds) 2020-08-05T19:43:57Z theBlackDragon joined #lisp 2020-08-05T19:45:10Z froggey: no to both. the GC is a STW generational collector and it can run during IO 2020-08-05T19:45:48Z froggey: hardware interrupts can interrupt the GC, as the handlers are written to be safe for that. no allocating or accessing memory that the GC might move 2020-08-05T19:46:32Z froggey: a bit of a problem for audio, as the non-interrupt code that fills output buffers gets paused when GCs occur, but other devices deal with it fine 2020-08-05T19:47:30Z froggey: also disk drivers are written so they operate "under" the GC. they do all their allocation up-front at device initialization time and don't touch copyable memory 2020-08-05T19:49:20Z rumbler31 quit (Ping timeout: 244 seconds) 2020-08-05T19:51:07Z orivej_ quit (Ping timeout: 246 seconds) 2020-08-05T19:51:20Z elias_ joined #lisp 2020-08-05T19:51:28Z elias_: hi guys, new to irc, new to lisp. 2020-08-05T19:51:40Z orivej joined #lisp 2020-08-05T19:52:19Z elias_: can anyone drop an example of a good initial project to help me learn and exercise some important concepts in lisp? 2020-08-05T19:55:17Z Xach: elias_: cl-ppcre is dense but interesting 2020-08-05T19:57:17Z moon-child quit (Read error: Connection reset by peer) 2020-08-05T19:58:28Z moon-child joined #lisp 2020-08-05T19:58:34Z elias_: so is that to say, study that code and aim to recreate something similar? i like the idea of trying to implement regex 2020-08-05T20:00:04Z moon-child quit (Read error: Connection reset by peer) 2020-08-05T20:00:44Z orivej quit (Ping timeout: 256 seconds) 2020-08-05T20:00:51Z orivej_ joined #lisp 2020-08-05T20:02:28Z xrash joined #lisp 2020-08-05T20:02:43Z notzmv joined #lisp 2020-08-05T20:03:00Z notzmv is now known as Guest22937 2020-08-05T20:05:31Z Xach: elias_: not necessarily recreate, but it covers a lot of techniques and tools in the cl toolbox that are applicable to other things 2020-08-05T20:06:06Z elias_: implement it in other projects, sounds good. 2020-08-05T20:07:50Z Guest22937 quit (Ping timeout: 260 seconds) 2020-08-05T20:10:10Z bitmapper quit (Ping timeout: 260 seconds) 2020-08-05T20:10:58Z elflng quit (Quit: leaving) 2020-08-05T20:11:19Z elflng joined #lisp 2020-08-05T20:11:30Z moon-child joined #lisp 2020-08-05T20:15:51Z orivej_ quit (Remote host closed the connection) 2020-08-05T20:16:06Z zigpaw quit (Ping timeout: 256 seconds) 2020-08-05T20:17:01Z orivej joined #lisp 2020-08-05T20:18:44Z moon-child quit (Quit: ZNC 1.8.1 - https://znc.in) 2020-08-05T20:18:46Z ajithmk quit (Quit: Connection closed for inactivity) 2020-08-05T20:19:35Z xkapastel quit (Quit: Connection closed for inactivity) 2020-08-05T20:19:46Z moon-child joined #lisp 2020-08-05T20:20:08Z akoana joined #lisp 2020-08-05T20:21:15Z pve: elias_: Use drakma and cl-ppcre to fetch news headlines from a few news sites and display them in a terminal. You can also use cl-ppcre to filter the headlines based on interesting keywords, or come up with a more creative filtering method. 2020-08-05T20:21:22Z zigpaw joined #lisp 2020-08-05T20:25:14Z davsebamse joined #lisp 2020-08-05T20:28:10Z wsinatra quit (Quit: WeeChat 2.9) 2020-08-05T20:32:11Z elias_: pve: that sounds exactly like what I want to do, amazing, thank you. 2020-08-05T20:33:07Z orivej quit (Ping timeout: 246 seconds) 2020-08-05T20:33:41Z orivej joined #lisp 2020-08-05T20:34:58Z moon-child quit (Read error: Connection reset by peer) 2020-08-05T20:35:22Z pve: elias_: np, have fun 2020-08-05T20:35:25Z shidima quit (Ping timeout: 240 seconds) 2020-08-05T20:37:38Z EvW1 quit (Ping timeout: 260 seconds) 2020-08-05T20:37:47Z moon-child joined #lisp 2020-08-05T20:39:32Z ebrasca quit (Remote host closed the connection) 2020-08-05T20:40:19Z bhartrihari left #lisp 2020-08-05T20:40:30Z bhartrihari joined #lisp 2020-08-05T20:41:57Z moon-child quit (Client Quit) 2020-08-05T20:44:02Z orivej quit (Ping timeout: 256 seconds) 2020-08-05T20:44:17Z jw4 quit (Quit: tot siens) 2020-08-05T20:44:21Z orivej joined #lisp 2020-08-05T20:44:38Z jw4 joined #lisp 2020-08-05T20:45:40Z phoe: scymtym: I only upload the videos, BUT if you make them available in some location then I can add the link to video description. 2020-08-05T20:46:09Z flak joined #lisp 2020-08-05T20:49:11Z rumbler31 joined #lisp 2020-08-05T20:49:41Z ggole quit (Quit: Leaving) 2020-08-05T20:51:39Z rippa quit (Read error: Connection reset by peer) 2020-08-05T20:51:39Z Inoperable quit (Quit: All your buffer are belong to us!) 2020-08-05T20:51:42Z scymtym: phoe: thanks. i will think about it. my main concern is such a link going dead after some time 2020-08-05T20:53:24Z phoe: scymtym: put the presentation on some git repo 2020-08-05T20:53:35Z phoe: maybe even in Closeau or nearby it 2020-08-05T20:54:26Z In0perable joined #lisp 2020-08-05T20:54:41Z orivej quit (Quit: No Ping reply in 180 seconds.) 2020-08-05T20:54:56Z scymtym: now that i think about it, something in https://common-lisp.net/project/mcclim/ seems plausible 2020-08-05T20:55:01Z phoe: sure 2020-08-05T20:55:11Z Duuqnd joined #lisp 2020-08-05T20:56:00Z orivej joined #lisp 2020-08-05T21:01:37Z ebrasca joined #lisp 2020-08-05T21:03:01Z orivej quit (Remote host closed the connection) 2020-08-05T21:04:10Z orivej joined #lisp 2020-08-05T21:04:19Z EvW joined #lisp 2020-08-05T21:04:53Z elias_ quit (Quit: WeeChat 2.9) 2020-08-05T21:05:08Z mindCrime joined #lisp 2020-08-05T21:06:38Z scymtym: _death: the Clouseau issues you found should be fixed in McCLIM master 2020-08-05T21:08:12Z bhartrihari left #lisp 2020-08-05T21:08:47Z dra joined #lisp 2020-08-05T21:12:57Z Fare: jackdaniel, still here? Can you comment on rpgoldman's question in https://gitlab.common-lisp.net/asdf/asdf/-/issues/38 ? 2020-08-05T21:13:02Z slyrus quit (Quit: Leaving) 2020-08-05T21:14:01Z orivej quit (Quit: No Ping reply in 180 seconds.) 2020-08-05T21:15:21Z orivej joined #lisp 2020-08-05T21:15:31Z Guest90000 is now known as bmansurov 2020-08-05T21:15:39Z samlamamma joined #lisp 2020-08-05T21:18:02Z EvW quit (Ping timeout: 244 seconds) 2020-08-05T21:19:01Z samlamamma quit (Read error: Connection reset by peer) 2020-08-05T21:22:45Z orivej quit (Ping timeout: 240 seconds) 2020-08-05T21:23:01Z pve quit (Quit: leaving) 2020-08-05T21:23:31Z orivej joined #lisp 2020-08-05T21:26:31Z barryfm joined #lisp 2020-08-05T21:30:11Z barryfm quit (Client Quit) 2020-08-05T21:30:31Z orivej quit (Remote host closed the connection) 2020-08-05T21:31:40Z orivej joined #lisp 2020-08-05T21:34:59Z xkapastel joined #lisp 2020-08-05T21:37:46Z _death: scymtym: thanks :) 2020-08-05T21:39:23Z moon-child joined #lisp 2020-08-05T21:42:48Z msk quit (Ping timeout: 256 seconds) 2020-08-05T21:45:04Z orivej quit (Ping timeout: 256 seconds) 2020-08-05T21:45:21Z orivej joined #lisp 2020-08-05T21:55:45Z gravicappa quit (Ping timeout: 240 seconds) 2020-08-05T22:02:10Z Aurora_v_kosmose joined #lisp 2020-08-05T22:02:18Z ayuce quit (Remote host closed the connection) 2020-08-05T22:06:30Z lucasb joined #lisp 2020-08-05T22:09:03Z bsd4me joined #lisp 2020-08-05T22:10:01Z satousan joined #lisp 2020-08-05T22:10:44Z czrrrr joined #lisp 2020-08-05T22:10:49Z czrrrr quit (Excess Flood) 2020-08-05T22:11:28Z sjl_ quit (Ping timeout: 246 seconds) 2020-08-05T22:12:33Z dominic34 joined #lisp 2020-08-05T22:12:34Z dominic34 quit (Excess Flood) 2020-08-05T22:12:35Z EvW1 joined #lisp 2020-08-05T22:12:49Z dominic34 joined #lisp 2020-08-05T22:12:57Z kerosin quit (Remote host closed the connection) 2020-08-05T22:13:52Z orivej quit (Read error: Connection reset by peer) 2020-08-05T22:13:56Z torbo joined #lisp 2020-08-05T22:14:24Z satousan quit (Client Quit) 2020-08-05T22:15:02Z orivej joined #lisp 2020-08-05T22:22:28Z White_Flame quit (Ping timeout: 256 seconds) 2020-08-05T22:22:46Z White_Flame joined #lisp 2020-08-05T22:23:52Z orivej quit (Quit: No Ping reply in 180 seconds.) 2020-08-05T22:25:12Z orivej joined #lisp 2020-08-05T22:25:53Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-08-05T22:26:29Z Aurora_v_kosmose joined #lisp 2020-08-05T22:29:00Z bitmapper joined #lisp 2020-08-05T22:31:16Z pyx joined #lisp 2020-08-05T22:31:33Z pyx quit (Client Quit) 2020-08-05T22:36:03Z shifty joined #lisp 2020-08-05T22:37:48Z mikecheck joined #lisp 2020-08-05T22:38:30Z kaftejiman joined #lisp 2020-08-05T22:39:25Z bsd4me quit (Ping timeout: 240 seconds) 2020-08-05T22:40:06Z dra quit (Remote host closed the connection) 2020-08-05T22:41:23Z hendursaga quit (Ping timeout: 240 seconds) 2020-08-05T22:42:48Z hendursaga joined #lisp 2020-08-05T22:45:02Z orivej quit (Quit: No Ping reply in 180 seconds.) 2020-08-05T22:45:57Z Duuqnd quit (Quit: Leaving) 2020-08-05T22:46:51Z orivej joined #lisp 2020-08-05T22:49:06Z dominic34 quit (Ping timeout: 256 seconds) 2020-08-05T22:53:15Z bsd4me joined #lisp 2020-08-05T22:55:20Z dominic34 joined #lisp 2020-08-05T22:55:22Z orivej quit (Remote host closed the connection) 2020-08-05T22:56:32Z orivej joined #lisp 2020-08-05T23:10:29Z rpg joined #lisp 2020-08-05T23:19:21Z Josh_2: I'm trying to use compute-slots to add an extra slot using the MOP but I keep getting the same error https://plaster.tymoon.eu/view/1983#1983 (this is my first time messing with the MOP directly) 2020-08-05T23:19:52Z nicktick quit (Ping timeout: 256 seconds) 2020-08-05T23:20:43Z Josh_2: the function compiles but when I create an instance of 'locked-object i get the error "no applicable method for the generic function 'slot-definition-allocation' when called with 'EFFECTIVE-SLOT-DEFINITION METALOCK::SLOT-LOCKS'" 2020-08-05T23:22:31Z bhartrihari joined #lisp 2020-08-05T23:26:40Z cosimone quit (Quit: Quit.) 2020-08-05T23:26:53Z cosimone joined #lisp 2020-08-05T23:29:06Z satousan joined #lisp 2020-08-05T23:30:45Z random-nick quit (Ping timeout: 240 seconds) 2020-08-05T23:35:24Z bsd4me quit (Remote host closed the connection) 2020-08-05T23:37:01Z Josh_2: Oh boy oh boy 2020-08-05T23:39:28Z bsd4me joined #lisp 2020-08-05T23:41:24Z satousan quit (Ping timeout: 256 seconds) 2020-08-05T23:45:46Z shka_ quit (Ping timeout: 260 seconds) 2020-08-05T23:46:42Z orivej_ joined #lisp 2020-08-05T23:48:25Z bhartrihari left #lisp 2020-08-05T23:49:05Z orivej quit (Ping timeout: 240 seconds) 2020-08-05T23:49:50Z Josh_2: I think I will try this again tomorrow, after plenty of sleep 2020-08-05T23:51:26Z orivej_ quit (Ping timeout: 256 seconds) 2020-08-05T23:53:23Z bhartrihari joined #lisp 2020-08-05T23:59:41Z paul0 joined #lisp 2020-08-06T00:01:50Z ajithmk joined #lisp 2020-08-06T00:11:29Z ebrasca quit (Remote host closed the connection) 2020-08-06T00:24:48Z cosimone quit (Quit: Quit.) 2020-08-06T00:26:30Z cosimone joined #lisp 2020-08-06T00:26:48Z cosimone quit (Remote host closed the connection) 2020-08-06T00:27:58Z cosimone joined #lisp 2020-08-06T00:31:06Z kaftejiman quit (Remote host closed the connection) 2020-08-06T00:32:24Z bhartrihari left #lisp 2020-08-06T00:36:56Z jesse1010 joined #lisp 2020-08-06T00:39:41Z bhartrihari joined #lisp 2020-08-06T00:40:40Z markoong quit (Ping timeout: 265 seconds) 2020-08-06T00:44:25Z bhartrihari left #lisp 2020-08-06T00:45:36Z mrcom: Josh_2: Still here? 2020-08-06T00:48:51Z cosimone quit (Quit: Quit.) 2020-08-06T00:49:35Z mrcom: minion: message for Josh_2: EFFECTIVE-SLOT-DEFINITION is a virtual class and should not be directly instantiated. See https://stackoverflow.com/questions/21986977/additional-properties-to-slot-definition 2020-08-06T00:49:39Z minion: i don't agree - message for josh_2 effective slot definition isn't a virtual class and should not be directly instantiated see httpsstackoverflow comquestions21986977additional properties to slot definition 2020-08-06T00:52:06Z kbtr_ quit (Ping timeout: 272 seconds) 2020-08-06T00:53:30Z kbtr joined #lisp 2020-08-06T00:55:03Z mrcom: minion: message for Josh_2 EFFECTIVE-SLOT-DEFINITION is a virtual class and should not be directly instantiated. See https://stackoverflow.com/questions/21986977/additional-properties-to-slot-definition 2020-08-06T00:55:04Z minion: i don't agree - message for josh_2 effective slot definition isn't a virtual class and should not be directly instantiated see httpsstackoverflow comquestions21986977additional properties to slot definition 2020-08-06T00:58:43Z mrcom: minion: memo for Josh_2: EFFECTIVE-SLOT-DEFINITION is a virtual class and should not be directly instantiated. See https://stackoverflow.com/questions/21986977/additional-properties-to-slot-definition 2020-08-06T00:58:43Z minion: Remembered. I'll tell Josh_2 when he/she/it next speaks. 2020-08-06T01:16:46Z mrcom: minion: memo for Josh_2: Other notes: looks like you're trying to set up a circular dependency with VALIDATE-SUPERCLASS. "`',slot-names-lock-alist" isn't... what you want. The INITFUNCTION is the proper way to do it, completely overriding :INITFORM and :INITARG. 2020-08-06T01:16:46Z minion: Remembered. I'll tell Josh_2 when he/she/it next speaks. 2020-08-06T01:17:29Z bhartrihari joined #lisp 2020-08-06T01:27:44Z mrcom: minion: memo for Josh_2: And I suspect your end goal is automatically thread-safe slots. This is a common thought, but kind of a dead-end. The primary issue with thread-safety isn't reading or updating a single slot. It's the higher-level cross-slot operations (e.g. changing STREET-ADDRESS and CITY), cross-object (updating object's address and the ADDRESS-HASH-TABLE that points to it), and global (making sure there's only one obje 2020-08-06T01:27:44Z mrcom: ct with user ID FOO-BAX). 2020-08-06T01:27:44Z minion: Remembered. I'll tell Josh_2 when he/she/it next speaks. 2020-08-06T01:30:45Z mrcom: minion: memo for Josh_2: You'll probably find you need a single mutex per object, and one or more global mutexes. Most importantly, you'll need to define atomic functions/generic functions, and these will be completely aware of the mutexes. 2020-08-06T01:30:45Z minion: Remembered. I'll tell Josh_2 when he/she/it next speaks. 2020-08-06T01:31:47Z mrcom: minion: memo for Josh_2: In other words, you aren't going to need a broad superclass which invisibly adds lock slots. 2020-08-06T01:31:47Z minion: Remembered. I'll tell Josh_2 when he/she/it next speaks. 2020-08-06T01:35:08Z EvW1 quit (Ping timeout: 260 seconds) 2020-08-06T01:45:46Z cosimone joined #lisp 2020-08-06T01:51:52Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-08-06T01:55:30Z jesse1010 quit (Ping timeout: 260 seconds) 2020-08-06T02:11:31Z satousan joined #lisp 2020-08-06T02:14:14Z satousan quit (Client Quit) 2020-08-06T02:30:01Z notzmv joined #lisp 2020-08-06T02:33:18Z dominic35 joined #lisp 2020-08-06T02:33:37Z dominic34 quit (Ping timeout: 246 seconds) 2020-08-06T02:33:38Z dominic35 is now known as dominic34 2020-08-06T02:34:53Z paul0 quit (Quit: Leaving) 2020-08-06T02:36:05Z lucasb quit (Quit: Connection closed for inactivity) 2020-08-06T02:41:37Z davsebamse quit (Ping timeout: 264 seconds) 2020-08-06T02:48:19Z davsebamse joined #lisp 2020-08-06T02:49:04Z Oladon joined #lisp 2020-08-06T02:51:29Z ajithmk quit (Quit: Connection closed for inactivity) 2020-08-06T02:58:22Z dominic34 quit (Ping timeout: 256 seconds) 2020-08-06T03:01:50Z Alfr_ joined #lisp 2020-08-06T03:03:21Z dominic34 joined #lisp 2020-08-06T03:04:23Z Alfr quit (Ping timeout: 260 seconds) 2020-08-06T03:11:51Z akoana left #lisp 2020-08-06T03:15:56Z orivej joined #lisp 2020-08-06T03:24:10Z dominic34 quit (Ping timeout: 260 seconds) 2020-08-06T03:24:47Z mikecheck left #lisp 2020-08-06T03:26:57Z beach: Good morning everyone! 2020-08-06T03:29:25Z alandipert quit (Quit: The Lounge - https://thelounge.chat) 2020-08-06T03:29:38Z Bike quit (Quit: leaving) 2020-08-06T03:29:48Z alandipert joined #lisp 2020-08-06T03:31:38Z orivej quit (Ping timeout: 260 seconds) 2020-08-06T03:32:07Z orivej joined #lisp 2020-08-06T03:42:58Z orivej quit (Quit: No Ping reply in 180 seconds.) 2020-08-06T03:43:00Z alandipert quit (Quit: The Lounge - https://thelounge.chat) 2020-08-06T03:43:21Z alandipert joined #lisp 2020-08-06T03:43:30Z alandipert quit (Client Quit) 2020-08-06T03:43:46Z alandipert joined #lisp 2020-08-06T03:44:16Z orivej joined #lisp 2020-08-06T03:48:44Z torbo quit (Remote host closed the connection) 2020-08-06T03:48:59Z Lord_of_Life_ joined #lisp 2020-08-06T03:50:34Z Lord_of_Life quit (Ping timeout: 256 seconds) 2020-08-06T03:50:35Z Lord_of_Life_ is now known as Lord_of_Life 2020-08-06T04:04:32Z flak quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2020-08-06T04:06:14Z shidima joined #lisp 2020-08-06T04:11:47Z orivej quit (Remote host closed the connection) 2020-08-06T04:12:57Z orivej joined #lisp 2020-08-06T04:16:05Z shifty quit (Ping timeout: 240 seconds) 2020-08-06T04:22:27Z orivej quit (Remote host closed the connection) 2020-08-06T04:23:01Z narimiran joined #lisp 2020-08-06T04:23:36Z orivej joined #lisp 2020-08-06T04:30:42Z mindCrime quit (Ping timeout: 260 seconds) 2020-08-06T04:37:02Z xrash quit (Ping timeout: 256 seconds) 2020-08-06T04:40:02Z Fare quit (Ping timeout: 260 seconds) 2020-08-06T04:43:36Z nicktick joined #lisp 2020-08-06T04:43:47Z Fare joined #lisp 2020-08-06T04:48:06Z satousan joined #lisp 2020-08-06T04:48:18Z orivej quit (Ping timeout: 256 seconds) 2020-08-06T04:48:47Z orivej joined #lisp 2020-08-06T04:54:23Z xkapastel quit (Quit: Connection closed for inactivity) 2020-08-06T04:56:58Z orivej_ joined #lisp 2020-08-06T04:57:06Z satousan quit (Quit: WeeChat 2.3) 2020-08-06T04:57:25Z whiteline quit (Ping timeout: 240 seconds) 2020-08-06T04:58:59Z orivej quit (Ping timeout: 240 seconds) 2020-08-06T05:06:46Z Oladon quit (Quit: Leaving.) 2020-08-06T05:10:17Z orivej_ quit (Quit: No Ping reply in 180 seconds.) 2020-08-06T05:11:36Z orivej joined #lisp 2020-08-06T05:14:17Z bocaneri joined #lisp 2020-08-06T05:15:34Z shka_ joined #lisp 2020-08-06T05:18:00Z gravicappa joined #lisp 2020-08-06T05:23:25Z xrash joined #lisp 2020-08-06T05:33:19Z treflip joined #lisp 2020-08-06T05:41:29Z Oladon joined #lisp 2020-08-06T05:44:58Z orivej quit (Ping timeout: 256 seconds) 2020-08-06T05:45:54Z Fare quit (Ping timeout: 244 seconds) 2020-08-06T05:53:55Z ofi joined #lisp 2020-08-06T06:04:18Z bsd4me quit (Quit: Leaving) 2020-08-06T06:11:01Z Bourne quit (Ping timeout: 264 seconds) 2020-08-06T06:11:43Z varun_ joined #lisp 2020-08-06T06:11:58Z nirved joined #lisp 2020-08-06T06:11:59Z varun_: hi 2020-08-06T06:13:47Z beach: Hello varun_. 2020-08-06T06:14:05Z varun_: another lisp channel? 2020-08-06T06:14:29Z beach: This is the Common Lisp channel. There is ##lisp for other "Lisps". 2020-08-06T06:14:30Z Bourne joined #lisp 2020-08-06T06:14:39Z nirved quit (Client Quit) 2020-08-06T06:15:13Z varun_: there is one #lispgames too 2020-08-06T06:15:22Z beach: Indeed. 2020-08-06T06:15:24Z varun_: whats that for 2020-08-06T06:15:32Z varun_: and whats this for 2020-08-06T06:15:39Z varun_: and yes 2020-08-06T06:15:47Z varun_: whats the others for? 2020-08-06T06:16:22Z beach: This one is for discussions about the language, implementations of the language, and implementations of applications written in Common Lisp. 2020-08-06T06:16:39Z beach: #clschool is for newbies who want to learn Common Lisp. 2020-08-06T06:16:52Z beach: #lispgames I suppose is for game developers. I don't hang out there. 2020-08-06T06:17:02Z varun_: y 2020-08-06T06:17:15Z varun_: 2020-08-06T06:17:27Z jonatack quit (Ping timeout: 240 seconds) 2020-08-06T06:18:28Z nirved joined #lisp 2020-08-06T06:25:45Z mankaev quit (Ping timeout: 240 seconds) 2020-08-06T06:26:48Z mankaev joined #lisp 2020-08-06T06:30:45Z froggey quit (Ping timeout: 240 seconds) 2020-08-06T06:32:54Z froggey joined #lisp 2020-08-06T06:33:11Z tourjin joined #lisp 2020-08-06T06:35:14Z tourjin: quicklisp install fails on (quicksisp-quickstart:install) with error of Condition of type: idxu INVALID-ARGUMENT-ERROR Socket error in "socket": EINVAL (Invalid argument) 2020-08-06T06:35:20Z tourjin: any suggestions? 2020-08-06T06:35:23Z varun_: contrapunctus: hi 2020-08-06T06:36:01Z contrapunctus: varun_: o/ 2020-08-06T06:36:30Z tourjin: android termux , compiled ecl , loaded quicklisp.lisp in ecl. 2020-08-06T06:37:59Z jdz: tourjin: I think ECL comes with (probably modified) Quicklisp. 2020-08-06T06:38:34Z tourjin: then i don't need to install quicklisp? 2020-08-06T06:40:27Z jdz: tourjin: Instead of downloading Quicklisp, just do (require 'ecl-quicklisp). 2020-08-06T06:41:13Z Oladon quit (Quit: Leaving.) 2020-08-06T06:41:25Z jdz: Not sure where this is described, though. 2020-08-06T06:43:09Z phoe: hello everyone 2020-08-06T06:43:19Z contrapunctus: hello phoe 2020-08-06T06:43:25Z Bourne quit (Ping timeout: 240 seconds) 2020-08-06T06:45:08Z varun_ quit (Quit: Leaving) 2020-08-06T06:46:53Z tourjin: in ecl (require 'ecl-quicklisp) returns loading #p"/data/blhablha/ecl-20.4.24/ecl-quicklisp.fas, ecl-curl.fas, sockets.fas" 2020-08-06T06:47:12Z tourjin: unable to load / install quicklisp. error message follows: 2020-08-06T06:47:47Z tourjin: socket error in "socket": EINVAL (Invalid argument) 2020-08-06T06:48:24Z tourjin: still there is something wrong with socket. 2020-08-06T06:49:26Z gaqwas joined #lisp 2020-08-06T06:50:07Z jdz: tourjin: This might be a good time to ask in #ecl. 2020-08-06T06:50:28Z vaporatorius__ joined #lisp 2020-08-06T06:50:31Z tourjin: ok thanks 2020-08-06T06:50:39Z tourjin: join #ec 2020-08-06T06:53:48Z vaporatorius quit (Ping timeout: 265 seconds) 2020-08-06T07:00:59Z shidima: j/quit 2020-08-06T07:01:02Z shidima quit (Quit: WeeChat 2.8) 2020-08-06T07:01:13Z grumble quit (Quit: Thanks for coming to or show and being an amazing audience. We have been Look Ma We Made A Band.) 2020-08-06T07:01:21Z lpyfist joined #lisp 2020-08-06T07:01:38Z Lycurgus joined #lisp 2020-08-06T07:02:21Z grumble joined #lisp 2020-08-06T07:02:22Z terpri quit (Ping timeout: 244 seconds) 2020-08-06T07:06:07Z Lycurgus quit (Remote host closed the connection) 2020-08-06T07:08:32Z gaqwas quit (Remote host closed the connection) 2020-08-06T07:10:14Z bhartrihari left #lisp 2020-08-06T07:10:27Z bhartrihari joined #lisp 2020-08-06T07:15:05Z mokulus joined #lisp 2020-08-06T07:17:51Z pve joined #lisp 2020-08-06T07:19:50Z bjorkintosh quit (Read error: Connection reset by peer) 2020-08-06T07:19:58Z terpri joined #lisp 2020-08-06T07:20:03Z whiteline joined #lisp 2020-08-06T07:20:27Z bjorkintosh joined #lisp 2020-08-06T07:23:34Z nicktick quit (Ping timeout: 260 seconds) 2020-08-06T07:25:03Z jasom quit (Ping timeout: 272 seconds) 2020-08-06T07:26:11Z housel quit (Ping timeout: 265 seconds) 2020-08-06T07:26:38Z housel joined #lisp 2020-08-06T07:27:32Z nicktick joined #lisp 2020-08-06T07:30:26Z treflip quit (Quit: WeeChat 2.6) 2020-08-06T07:31:28Z gaqwas joined #lisp 2020-08-06T07:31:28Z gaqwas quit (Changing host) 2020-08-06T07:31:28Z gaqwas joined #lisp 2020-08-06T07:31:39Z treflip joined #lisp 2020-08-06T07:35:08Z tessier quit (Ping timeout: 256 seconds) 2020-08-06T07:37:32Z gaqwas quit (Remote host closed the connection) 2020-08-06T07:42:02Z ghard quit (Ping timeout: 256 seconds) 2020-08-06T07:44:57Z orivej joined #lisp 2020-08-06T07:45:01Z treflip quit (Quit: WeeChat 2.6) 2020-08-06T07:47:50Z tessier joined #lisp 2020-08-06T07:47:50Z tessier quit (Changing host) 2020-08-06T07:47:50Z tessier joined #lisp 2020-08-06T07:48:57Z treflip joined #lisp 2020-08-06T07:50:39Z fouric quit (Quit: WeeChat 2.8) 2020-08-06T07:56:35Z ljavorsk joined #lisp 2020-08-06T07:59:30Z nicktick quit (Ping timeout: 260 seconds) 2020-08-06T08:01:36Z orivej quit (Ping timeout: 256 seconds) 2020-08-06T08:02:13Z orivej joined #lisp 2020-08-06T08:04:04Z jonatack joined #lisp 2020-08-06T08:08:40Z hendursa1 joined #lisp 2020-08-06T08:10:17Z bhartrihari left #lisp 2020-08-06T08:10:22Z bhartrihari joined #lisp 2020-08-06T08:10:43Z hendursaga quit (Ping timeout: 240 seconds) 2020-08-06T08:11:10Z orivej quit (Ping timeout: 260 seconds) 2020-08-06T08:20:47Z Bourne joined #lisp 2020-08-06T08:23:57Z jasom joined #lisp 2020-08-06T08:32:36Z ljavorsk_ joined #lisp 2020-08-06T08:35:37Z ljavorsk quit (Ping timeout: 264 seconds) 2020-08-06T08:45:19Z xrash quit (Ping timeout: 246 seconds) 2020-08-06T09:03:30Z deselby quit (Quit: Idle for 30+ days) 2020-08-06T09:03:31Z fountainpen[m] left #lisp 2020-08-06T09:03:50Z ebrasca joined #lisp 2020-08-06T09:07:23Z lpyfist quit (Ping timeout: 240 seconds) 2020-08-06T09:27:52Z ayuce joined #lisp 2020-08-06T09:36:52Z dra joined #lisp 2020-08-06T09:37:42Z orivej joined #lisp 2020-08-06T09:40:46Z dddddd quit (Ping timeout: 256 seconds) 2020-08-06T09:45:52Z orivej quit (Ping timeout: 256 seconds) 2020-08-06T09:46:22Z orivej joined #lisp 2020-08-06T09:54:45Z orivej quit (Ping timeout: 240 seconds) 2020-08-06T09:55:35Z markoong joined #lisp 2020-08-06T09:56:31Z contrapunctus left #lisp 2020-08-06T09:57:12Z dddddd joined #lisp 2020-08-06T09:57:23Z contrapunctus joined #lisp 2020-08-06T10:00:01Z markong joined #lisp 2020-08-06T10:00:25Z markoong quit (Ping timeout: 240 seconds) 2020-08-06T10:05:34Z vaporatorius joined #lisp 2020-08-06T10:08:21Z ggole joined #lisp 2020-08-06T10:08:32Z vaporatorius__ quit (Ping timeout: 256 seconds) 2020-08-06T10:08:43Z Aurora_v_kosmose quit (Ping timeout: 240 seconds) 2020-08-06T10:17:45Z Duuqnd joined #lisp 2020-08-06T10:20:59Z tourjin quit (Ping timeout: 240 seconds) 2020-08-06T10:21:31Z tourjin joined #lisp 2020-08-06T10:22:01Z Aurora_v_kosmose joined #lisp 2020-08-06T10:22:04Z lottaquestions joined #lisp 2020-08-06T10:24:45Z Bourne quit (Ping timeout: 240 seconds) 2020-08-06T10:25:36Z galex-713 quit (Ping timeout: 244 seconds) 2020-08-06T10:34:02Z v88m quit (Ping timeout: 256 seconds) 2020-08-06T10:35:16Z sm2n: good morning 2020-08-06T10:35:24Z galex-713 joined #lisp 2020-08-06T10:35:40Z Josh_2: morning all 2020-08-06T10:35:40Z minion: Josh_2, memo from mrcom: EFFECTIVE-SLOT-DEFINITION is a virtual class and should not be directly instantiated. See https://stackoverflow.com/questions/21986977/additional-properties-to-slot-definition 2020-08-06T10:35:40Z minion: Josh_2, memo from mrcom: Other notes: looks like you're trying to set up a circular dependency with VALIDATE-SUPERCLASS. "`',slot-names-lock-alist" isn't... what you want. The INITFUNCTION is the proper way to do it, completely overriding :INITFORM and :INITARG. 2020-08-06T10:35:40Z minion: Josh_2, memo from mrcom: And I suspect your end goal is automatically thread-safe slots. This is a common thought, but kind of a dead-end. The primary issue with thread-safety isn't reading or updating a single slot. It's the higher-level cross-slot operations (e.g. changing STREET-ADDRESS and CITY), cross-object (updating object's address and the ADDRESS-HASH-TABLE that points to it), and global (making sure there's only one obje 2020-08-06T10:35:40Z minion: Josh_2, memo from mrcom: You'll probably find you need a single mutex per object, and one or more global mutexes. Most importantly, you'll need to define atomic functions/generic functions, and these will be completely aware of the mutexes. 2020-08-06T10:35:40Z minion: Josh_2, memo from mrcom: In other words, you aren't going to need a broad superclass which invisibly adds lock slots. 2020-08-06T10:35:42Z Josh_2: oof 2020-08-06T10:39:38Z sm2n: heh 2020-08-06T10:40:02Z Josh_2: mrcom: I can get slot-value to grab a mutex using an :around on slot-value-using-class. I guess this could just be one aspect of a library I could create to aid with making parallel systems, because handling locks is such a pita 2020-08-06T10:40:19Z Josh_2: it seems like something the MOP is perfect for 2020-08-06T10:42:01Z Josh_2: I'm also not trying to add additional properties to my slot definition, i simply want to append an extra slot 2020-08-06T10:47:31Z xrash joined #lisp 2020-08-06T10:47:39Z xrash quit (Excess Flood) 2020-08-06T10:49:52Z xrash joined #lisp 2020-08-06T10:50:57Z luqqy joined #lisp 2020-08-06T10:51:21Z luqqy: good day all! 2020-08-06T10:51:31Z luqqy: anyone know if there's smth like with-slots for structures? 2020-08-06T10:51:48Z phoe: there's two options 2020-08-06T10:52:15Z phoe: 1) you can use with-accessors or wrap a macro on top of that to emulate the behavior 2020-08-06T10:53:12Z phoe: 2) you can use with-slots based on the fact that, even though it's undefined by the standard, the last time I checked *ALL* implementations defined SLOT-VALUE on structures in a meaningful way, the same that you could expect from standard objects. 2020-08-06T10:53:37Z luqqy: oh, this is great 2020-08-06T10:53:39Z phoe: and suggesting option 2) is going to get me a real good scolding from beach in a few moments 2020-08-06T10:53:57Z phoe: that's one of the things that *really* needs a CDR of sorts. 2020-08-06T10:53:57Z luqqy: thanks man, both look pretty good 2020-08-06T10:57:33Z random-nick joined #lisp 2020-08-06T10:59:17Z Bourne joined #lisp 2020-08-06T10:59:28Z jackdaniel: I think that it is a pretty bold omission to not even mention the structure-class metaclass in mop 2020-08-06T11:02:22Z gxt joined #lisp 2020-08-06T11:04:51Z phoe: jackdaniel: oh! I didn't think of it 2020-08-06T11:05:11Z phoe: ...how does STRUCTURE-CLASS help with WITH-SLOTS though? 2020-08-06T11:12:41Z terpri_ joined #lisp 2020-08-06T11:14:48Z contrapunctus left #lisp 2020-08-06T11:14:56Z contrapunctus joined #lisp 2020-08-06T11:15:22Z garbochock quit (Remote host closed the connection) 2020-08-06T11:15:52Z terpri quit (Ping timeout: 260 seconds) 2020-08-06T11:17:56Z luqqy quit (Remote host closed the connection) 2020-08-06T11:18:35Z luqqy joined #lisp 2020-08-06T11:23:03Z Necktwi quit (Quit: leaving) 2020-08-06T11:23:26Z shifty joined #lisp 2020-08-06T11:23:33Z Necktwi joined #lisp 2020-08-06T11:26:27Z yaji joined #lisp 2020-08-06T11:26:44Z Bourne quit (Ping timeout: 256 seconds) 2020-08-06T11:32:01Z jackdaniel: with-slots-using-class 2020-08-06T11:32:09Z jackdaniel: is a suggested way of implementing with-slots 2020-08-06T11:32:21Z jackdaniel: s/with-slots/slot-value/ 2020-08-06T11:33:11Z gaqwas joined #lisp 2020-08-06T11:33:11Z gaqwas quit (Changing host) 2020-08-06T11:33:11Z gaqwas joined #lisp 2020-08-06T11:33:29Z Josh_2: hnnng 2020-08-06T11:33:46Z Josh_2: only suggested? so It's not guaranteed to work in all implementations? 2020-08-06T11:33:48Z Josh_2: it works in sbcl 2020-08-06T11:34:39Z jackdaniel: slot-value-using-class is not part of the common lisp standard 2020-08-06T11:34:49Z jackdaniel: (however it is part of mop) 2020-08-06T11:35:39Z Josh_2: hmm 2020-08-06T11:36:09Z kaftejiman joined #lisp 2020-08-06T11:38:28Z luqqy quit (Remote host closed the connection) 2020-08-06T11:39:00Z Josh_2: I added a method for my metaclass and it worked just as expected, when I call slot-value slot-value-using-class was called (in sbcl) 2020-08-06T11:39:16Z Josh_2: can I rely on that behaviour in major implementations like CCL? 2020-08-06T11:39:33Z Josh_2: Any distribution that uses the MOP I assume 2020-08-06T11:39:50Z jackdaniel: "Although no implementation is required to do so, implementors are strongly encouraged to implement the function slot-value using the function slot-value-using-class described in the Metaobject Protocol. " 2020-08-06T11:40:00Z jackdaniel: I'd say yes, unless the documentation of your implementation states otherwise 2020-08-06T11:40:41Z Josh_2: okay thanks 2020-08-06T11:40:45Z Josh_2: where did you find that? 2020-08-06T11:41:09Z jackdaniel: under "Notes" section in slot-value specification 2020-08-06T11:41:14Z luqqy joined #lisp 2020-08-06T11:41:26Z Josh_2: in clhs? 2020-08-06T11:41:35Z jackdaniel: also, slot-value may be globally proclaimed inline 2020-08-06T11:41:43Z jackdaniel: yes, in common lisp standard 2020-08-06T11:44:19Z tourjin quit (Ping timeout: 256 seconds) 2020-08-06T11:48:05Z Josh_2: okay 2020-08-06T11:50:01Z tourjin joined #lisp 2020-08-06T12:06:57Z Josh_2: the MOP is quite annoying 2020-08-06T12:09:05Z Josh_2: well, my failure to understand 2020-08-06T12:18:04Z yaji quit (Remote host closed the connection) 2020-08-06T12:18:32Z yaji joined #lisp 2020-08-06T12:18:51Z yaji quit (Remote host closed the connection) 2020-08-06T12:18:58Z yaji joined #lisp 2020-08-06T12:27:51Z nicktick joined #lisp 2020-08-06T12:28:26Z liberliver quit (Quit: liberliver) 2020-08-06T12:29:01Z ljavorsk_ quit (Ping timeout: 264 seconds) 2020-08-06T12:39:25Z stoneglass joined #lisp 2020-08-06T12:44:14Z gko_ joined #lisp 2020-08-06T12:44:42Z Fare joined #lisp 2020-08-06T12:47:10Z sjl_ joined #lisp 2020-08-06T12:48:10Z tourjin left #lisp 2020-08-06T12:48:52Z tourjin joined #lisp 2020-08-06T12:49:51Z tourjin: clang-10: error: linker commnad failed with exit code 1 ( use -v to see invocation) 2020-08-06T12:49:58Z tourjin: what does this mean? 2020-08-06T12:51:00Z phoe: wait 2020-08-06T12:51:07Z phoe: how did you end up posting clang errors on #lisp 2020-08-06T12:51:19Z jackdaniel: probably he uses clang as a C backend for ecl 2020-08-06T12:51:21Z phoe: is this still ecl errors? 2020-08-06T12:51:23Z phoe: oh, yes 2020-08-06T12:51:26Z phoe: is this on termux/android? 2020-08-06T12:51:48Z mrcom: Josh_2: Yep, you're approaching the problem from bottom-up. You'll learn a lot about MOP in the process. Just warning you that you'll discover locking individual slots doesn't buy you much. 2020-08-06T12:51:57Z tourjin: yes I'm trying compile sbcl with ecl on android termux\ 2020-08-06T12:51:59Z jackdaniel: that means that clang failed to link some objects after compiling them, this error doesn't allow to infere more from that 2020-08-06T12:52:12Z wsinatra joined #lisp 2020-08-06T12:52:14Z jackdaniel: s/this error/this error message/ 2020-08-06T12:54:39Z tourjin: phoe then should I try different lisp to compile sbcl from source ? 2020-08-06T12:56:50Z phoe: Josh_2: (defun frobnicate (object x y) (setf (slot-value object 'foo) x (slot-value object 'bar) y)) 2020-08-06T12:56:51Z jackdaniel: ECL acronym standa for - Eeee-that-lisp-to-compile-sbCL-on-android-p 2020-08-06T12:56:55Z jackdaniel: stands* 2020-08-06T12:57:27Z phoe: even if both slots are synchronized you still can get race conditions from two simultaneous calls to FROBNICATE 2020-08-06T12:59:14Z tourjin: document says sbcl can be compiled with ecl. so I tryed all day but only failed with several warnings and clang-10 error 2020-08-06T13:01:19Z mrcom: Josh_2: In fact, you're probably already getting atomic updates of slots. 2020-08-06T13:02:26Z _death: maybe check out software transactional memory (e.g., the common lisp library stmx) 2020-08-06T13:04:20Z _death: I think it's currently broken and needs an update 2020-08-06T13:04:51Z mrcom: Josh_2: On 64-bit X86, 64-bit-aligned updates are atomic. Implementations are going to align CONS cells on words. 2020-08-06T13:06:37Z mrcom: Josh_2: Setting a slot value boils down to updating the CAR of the slot, which will be an atomic 64-operation. One instant the slot will point to the old value, and then the next to the new. 2020-08-06T13:07:14Z mrcom: s/CAR of the slot/CAR or array element/ 2020-08-06T13:09:53Z flip214: jackdaniel: any plans to get ECL in f-droid? 2020-08-06T13:11:24Z jackdaniel: afair the problem with getting cl-repl there were problems of f-droid maintainers to build the thing, but that was 2y ago or so 2020-08-06T13:15:09Z flip214: only thing between ecl and world domination... at least by number of devices 2020-08-06T13:15:33Z eta: is there a way to do CHECK-TYPE on a function? 2020-08-06T13:15:46Z eta: i.e. something similar to the (DECLARE (FTYPE ... )) declaration, but for runtime lambda values 2020-08-06T13:19:32Z yaji quit (Remote host closed the connection) 2020-08-06T13:20:02Z yaji joined #lisp 2020-08-06T13:23:00Z phoe: not really 2020-08-06T13:23:06Z phoe: nothing portable at least 2020-08-06T13:24:13Z ldb joined #lisp 2020-08-06T13:24:21Z ldb: good evening 2020-08-06T13:24:52Z yaji quit (Ping timeout: 256 seconds) 2020-08-06T13:24:57Z ldb: eta: what is the reason for check function's type? 2020-08-06T13:25:16Z eta: ldb, I want to validate that a callback passed into my function takes the right arguments 2020-08-06T13:25:43Z jackdaniel: arguments are evaluated from the left, not right! \j 2020-08-06T13:25:58Z ldb jackdaniel: no puns 2020-08-06T13:28:37Z ofi quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-08-06T13:29:29Z jackdaniel: don't pun-ish me 2020-08-06T13:30:09Z luqqy: just reflecting here, but one thing that sort of bugs me about common lisp is that functions aren't truly first class citizens 2020-08-06T13:30:35Z ldb: eta: you may require the client function to by a structure with the function and an validating object 2020-08-06T13:30:59Z ldb: luqqy: wut do u mean? 2020-08-06T13:31:17Z Bike joined #lisp 2020-08-06T13:31:22Z jackdaniel: luqqy: that's a feature. if you want first-class objects, you may subclass a funcallabe-standard-class and setf it to (fdefinition 'symbol) 2020-08-06T13:32:26Z ldb: well so they are just not more equal then other objects (Animal Farm pun) 2020-08-06T13:33:04Z phoe: if you want FTYPE declarations that you can try to then take apart to validate arglists against, then you can use trivial-cltl2:function-information 2020-08-06T13:33:12Z phoe: and its third return value 2020-08-06T13:35:33Z beach: In what way are functions not first-class citizens? 2020-08-06T13:36:41Z beach: luqqy: ↑ 2020-08-06T13:37:19Z luqqy: ldb, beach: lisp 2 for once, the problem eta voiced for two. ok, maybe i am being too brisk about this. there also was a pun in my complaint btw 2020-08-06T13:38:13Z eta: phoe, that sounds like what I want! 2020-08-06T13:39:09Z phoe: eta: figure out how FUNCTION-INFORMATION behaves when there's multiple FTYPE declarations, then, and write something that validates your arguments against each FTYPE declaration it finds there 2020-08-06T13:39:11Z luqqy: ldb, beach: composition, currying 2020-08-06T13:39:14Z beach: luqqy: You must have a very different definition of "first-class citizen". 2020-08-06T13:39:35Z phoe: luqqy: oh, you mean ALEXANDRIA:COMPOSE, ALEXANDRIA:CURRY, ALEXANDRIA:RCURRY? 2020-08-06T13:39:52Z ldb quit (Ping timeout: 244 seconds) 2020-08-06T13:40:05Z hendursa1 quit (Quit: hendursa1) 2020-08-06T13:40:12Z beach: luqqy: You are pretty new here, it seems. Maybe you need to ask question rather than affirming false statements. 2020-08-06T13:40:15Z eta: phoe, I mean, to be honest, it's probably more idiomatic to make the thing into a promise returning some CLOS class instead of doing it the callback-ey way 2020-08-06T13:40:24Z ldb joined #lisp 2020-08-06T13:40:26Z luqqy: beach: you are right, i was a bit too quick to judge 2020-08-06T13:40:41Z phoe: eta: that's a more troublesome question because it requires some context about what you're doing 2020-08-06T13:40:44Z hendursaga joined #lisp 2020-08-06T13:41:04Z eta: phoe, I'm writing a whatsapp library -- you make some request, like "upload a file", and get back some information asynchronously about where to put the file 2020-08-06T13:41:04Z phoe: but if you need to dive into low-level declaration stuff like this, then there's some mechanisms for that 2020-08-06T13:41:29Z eta: the issue is "how do I return these 4 pieces of information asynchronously in the most idiomatic way?" 2020-08-06T13:41:38Z ldb: actor 2020-08-06T13:41:53Z phoe: some sorta promise library like https://github.com/orthecreedence/blackbird mayhaps 2020-08-06T13:42:04Z luqqy: beach: sorry, you are right 2020-08-06T13:42:06Z eta: phoe, yeah, I'm already using that elsewhere in the codebase, so I'll probably do that :) 2020-08-06T13:42:08Z phoe: or write your app in an actors-passing-messages model kind of stuff 2020-08-06T13:42:28Z phoe: the erlangesque way of doing stuff is really nice when it comes to modeling asynchronous processes 2020-08-06T13:42:33Z ldb: or message automata, whatsoever 2020-08-06T13:42:34Z eta: I've been burned by callbacks a few times with this project, so yeah, I am gonna make it all use message-passing 2020-08-06T13:42:41Z gaqwas quit (Remote host closed the connection) 2020-08-06T13:42:42Z eta has a lot of experience doing that in Rust and it's really nice 2020-08-06T13:42:58Z eta: plus then I can define the messages as CLOS classes and use defgeneric/defmethod dispatch :) 2020-08-06T13:43:17Z eta: (i.e. (defgeneric process-message (actor message))) 2020-08-06T13:44:23Z luqqy quit (Remote host closed the connection) 2020-08-06T13:46:25Z dominic34 joined #lisp 2020-08-06T13:46:25Z dominic34 quit (Excess Flood) 2020-08-06T13:46:41Z dominic34 joined #lisp 2020-08-06T13:50:28Z bitmapper quit (Remote host closed the connection) 2020-08-06T13:50:46Z rumbler31_ joined #lisp 2020-08-06T13:54:47Z tourjin quit (Ping timeout: 265 seconds) 2020-08-06T13:55:36Z bitmapper joined #lisp 2020-08-06T13:56:26Z Bourne joined #lisp 2020-08-06T13:57:54Z notzmv quit (Ping timeout: 260 seconds) 2020-08-06T13:58:22Z ldb quit (Ping timeout: 260 seconds) 2020-08-06T13:58:25Z zigpaw quit (Ping timeout: 264 seconds) 2020-08-06T13:58:26Z liberliver joined #lisp 2020-08-06T14:00:42Z TwoNotes joined #lisp 2020-08-06T14:00:58Z lucasb joined #lisp 2020-08-06T14:02:35Z tourjin joined #lisp 2020-08-06T14:04:48Z zigpaw joined #lisp 2020-08-06T14:06:28Z ldb joined #lisp 2020-08-06T14:06:57Z wsinatra quit (Quit: WeeChat 2.9) 2020-08-06T14:07:46Z gaqwas joined #lisp 2020-08-06T14:07:46Z gaqwas quit (Changing host) 2020-08-06T14:07:46Z gaqwas joined #lisp 2020-08-06T14:14:16Z stoneglass quit (Quit: stoneglass) 2020-08-06T14:16:37Z alandipert quit (Remote host closed the connection) 2020-08-06T14:21:06Z bsd4me joined #lisp 2020-08-06T14:27:12Z housel quit (Read error: Connection reset by peer) 2020-08-06T14:29:11Z gxt quit (Remote host closed the connection) 2020-08-06T14:29:53Z gxt joined #lisp 2020-08-06T14:30:45Z alandipert joined #lisp 2020-08-06T14:31:24Z midre quit (Ping timeout: 256 seconds) 2020-08-06T14:33:06Z narimiran quit (Ping timeout: 256 seconds) 2020-08-06T14:34:45Z ldb quit (Ping timeout: 240 seconds) 2020-08-06T14:37:11Z EvW joined #lisp 2020-08-06T14:37:17Z zigpaw quit (Read error: Connection reset by peer) 2020-08-06T14:37:34Z zigpaw joined #lisp 2020-08-06T14:38:52Z midre joined #lisp 2020-08-06T14:38:57Z tourjin quit (Remote host closed the connection) 2020-08-06T14:39:19Z tourjin joined #lisp 2020-08-06T14:40:47Z Inline joined #lisp 2020-08-06T14:42:08Z Josh_2: mrcom: how come with clojure you don't have to worry about locks? 2020-08-06T14:42:43Z Josh_2: also I understand that you may consider this a fruitless exercise, however I'm doing it as an attempt to learn to use the MOP 2020-08-06T14:42:47Z Josh_2: not going so well though xD 2020-08-06T14:43:00Z phoe: Josh_2: 1) every Java object is a lock 2020-08-06T14:43:08Z phoe: 2) if you mutate nothing then everything is thread-safe by default 2020-08-06T14:43:15Z Josh_2: yes 2020-08-06T14:58:04Z orivej joined #lisp 2020-08-06T15:01:11Z dominic34 quit (Quit: dominic34) 2020-08-06T15:06:46Z midre quit (Ping timeout: 256 seconds) 2020-08-06T15:09:09Z midre joined #lisp 2020-08-06T15:09:09Z ebrasca quit (Read error: Connection reset by peer) 2020-08-06T15:14:19Z Inline: is there something like jupyter for lisp ? 2020-08-06T15:19:31Z ayuce quit (Remote host closed the connection) 2020-08-06T15:21:11Z xristos: Emacs 2020-08-06T15:21:16Z Duuqnd: Emacs + SLIME 2020-08-06T15:21:55Z rippa joined #lisp 2020-08-06T15:24:46Z treflip: Also, Emacs + Slime + Orgmode. It's a great environment for mixed interactive programming. 2020-08-06T15:29:34Z orivej quit (Remote host closed the connection) 2020-08-06T15:30:03Z jackdaniel: what about cl-jupyter though? 2020-08-06T15:30:14Z jackdaniel: I think it is much better fit for the jupyter question 2020-08-06T15:30:28Z jackdaniel: https://github.com/fredokun/cl-jupyter 2020-08-06T15:30:45Z orivej joined #lisp 2020-08-06T15:30:46Z heredoc quit (Ping timeout: 244 seconds) 2020-08-06T15:35:12Z yaji joined #lisp 2020-08-06T15:36:59Z tourjin quit (Ping timeout: 240 seconds) 2020-08-06T15:37:12Z jibanes quit (Ping timeout: 256 seconds) 2020-08-06T15:37:13Z CrazyEddy joined #lisp 2020-08-06T15:37:34Z orivej quit (Quit: No Ping reply in 180 seconds.) 2020-08-06T15:38:52Z jibanes joined #lisp 2020-08-06T15:38:53Z orivej joined #lisp 2020-08-06T15:40:02Z yaji quit (Ping timeout: 256 seconds) 2020-08-06T15:41:42Z dra quit (Remote host closed the connection) 2020-08-06T15:41:55Z dra joined #lisp 2020-08-06T15:45:48Z gxt quit (Quit: WeeChat 2.9) 2020-08-06T15:46:42Z Archenoth quit (Read error: Connection reset by peer) 2020-08-06T15:47:08Z Archenoth joined #lisp 2020-08-06T15:49:05Z Lord_of_Life_ joined #lisp 2020-08-06T15:49:48Z contrapunctus left #lisp 2020-08-06T15:49:58Z contrapunctus joined #lisp 2020-08-06T15:50:26Z ebrasca joined #lisp 2020-08-06T15:50:42Z contrapunctus left #lisp 2020-08-06T15:50:57Z contrapunctus joined #lisp 2020-08-06T15:51:24Z orivej quit (Remote host closed the connection) 2020-08-06T15:51:37Z Lord_of_Life quit (Ping timeout: 246 seconds) 2020-08-06T15:51:56Z Lord_of_Life_ is now known as Lord_of_Life 2020-08-06T15:52:34Z orivej joined #lisp 2020-08-06T15:54:47Z dra quit (Remote host closed the connection) 2020-08-06T15:56:35Z mrcom: Josh_2: "Because I want to" is perfectly acceptable. "It will teach me something" is a commendable reason. 2020-08-06T15:57:50Z contrapunctus left #lisp 2020-08-06T15:57:56Z contrapunctus joined #lisp 2020-08-06T15:58:25Z Inline: hmmm, i got https://github.com/yitzchak/common-lisp-jupyter i think 2020-08-06T15:58:26Z mrcom: Josh_2: It will also teach you a lot about parallelism. Take what I said as foreshadowing; it *may* be enlightening in the future. 2020-08-06T15:58:29Z jackdaniel: because it is fun is a spoiled hacker reason :) 2020-08-06T15:59:06Z Inline: but anyway, when i start it i get a connection, but soon after the connection dies the server vanishes, and the stale connection gets tried to be replace forever.... 2020-08-06T15:59:20Z mrcom: jackdaniel: Tell that to a farmer :) 2020-08-06T16:00:04Z orivej quit (Remote host closed the connection) 2020-08-06T16:01:14Z orivej joined #lisp 2020-08-06T16:03:02Z Inline: hmmmm 2020-08-06T16:03:49Z Inline: ok the install-image succeeds but cl-jupyter:install just fails, because then there's no reference to the quicklisp package obviously 2020-08-06T16:04:19Z Inline: lright thank you 2020-08-06T16:04:31Z ayuce joined #lisp 2020-08-06T16:04:35Z elosant joined #lisp 2020-08-06T16:06:06Z xrash quit (Ping timeout: 256 seconds) 2020-08-06T16:06:59Z elosant quit (Client Quit) 2020-08-06T16:09:41Z Lycurgus joined #lisp 2020-08-06T16:12:14Z mrcom: Josh_2: You're doing fine. MOP is pretty recursive mentally. 2020-08-06T16:13:09Z z3t0 quit (Quit: ZNC 1.7.5 - https://znc.in) 2020-08-06T16:14:47Z mrcom: Josh_2: Points that might help: *1* Don't even think about _changing_ the standard classes. You're extending them into new child meta classes, which will be explicitly instantiated. 2020-08-06T16:15:47Z ahungry joined #lisp 2020-08-06T16:16:00Z EvW quit (Ping timeout: 256 seconds) 2020-08-06T16:16:49Z orivej quit (Ping timeout: 246 seconds) 2020-08-06T16:17:01Z mrcom: Josh_2: *2* Think of the MOP as "macros for classes". A good way of developing macros is to first manually write some of the DEFUNs you want to wind up with. Same thing for classes. 2020-08-06T16:18:30Z mankaev quit (Ping timeout: 256 seconds) 2020-08-06T16:19:09Z mankaev joined #lisp 2020-08-06T16:23:22Z theseb joined #lisp 2020-08-06T16:25:40Z mrcom: Josh_2: So, manually create some classes with the slot mutexes, and redefine the accessors with DEFMETHODs. 2020-08-06T16:27:28Z tourjin joined #lisp 2020-08-06T16:33:32Z Lycurgus quit (Remote host closed the connection) 2020-08-06T16:40:06Z gko_ quit (Ping timeout: 256 seconds) 2020-08-06T16:41:21Z Bit_MCP joined #lisp 2020-08-06T16:42:47Z Josh_2: I get that 2020-08-06T16:42:51Z Josh_2: thanks for the advice mrcom 2020-08-06T16:42:54Z Josh_2: but I'm still stuck haha 2020-08-06T16:43:34Z Bit_MCP quit (Client Quit) 2020-08-06T16:44:08Z mrcom: Josh_2: OK, have you created a class that does a bit of what you want? 2020-08-06T16:44:32Z mrcom: Josh_2: Are you ready to automate the creation of that class? 2020-08-06T16:47:04Z housel joined #lisp 2020-08-06T16:47:12Z Josh_2: I am stuck at the automating part :P 2020-08-06T16:47:33Z jgodbout joined #lisp 2020-08-06T16:47:53Z Josh_2: trying to append a new slot onto the slots defined in defclass 2020-08-06T16:47:55Z mrcom: Good. Start with adding the extra slots you'll need. Keep your manual redefinitions of the accessors, for now. 2020-08-06T16:48:17Z mrcom: Did you look at the stackoverflow link? 2020-08-06T16:48:26Z ebrasca: Does some CL implementation compile in parallel? 2020-08-06T16:49:20Z Josh_2: mrcom: yes and I've read about that in AMOP 2020-08-06T16:49:25Z jackdaniel: specify what do you mean by parallel compilation 2020-08-06T16:49:26Z z3t0 joined #lisp 2020-08-06T16:49:26Z Josh_2: in "Extending the language" 2020-08-06T16:49:39Z mrcom: ebrasca: SBCL. They just had a note in #sbcl. 2020-08-06T16:50:00Z jackdaniel: I'm sure that you can do (dotimes (f files) (bt:make-thread (lambda () (compile-file f)))) 2020-08-06T16:50:12Z jackdaniel: on numerous implementations 2020-08-06T16:50:15Z ebrasca: jackdaniel: compiling multiple functions/parts in parallel. 2020-08-06T16:50:37Z jackdaniel: but sometimes compiler locks itself so only one thread does things 2020-08-06T16:51:06Z mrcom: Josh_2: OK, you're trying to extend standard-effective-slot-definition now, not instantiate effective-slot-definition? 2020-08-06T16:51:27Z Josh_2: no 2020-08-06T16:52:00Z Josh_2: I'm not trying to extend standard-effective... 2020-08-06T16:52:16Z ebrasca: In Mezzano you can enable parallel compilation. 2020-08-06T16:52:18Z mrcom: That's the first thing to do. Cut-n-paste the stackoverflow example. 2020-08-06T16:52:24Z ebrasca: Don't know how it works. 2020-08-06T16:52:36Z Josh_2: one sec you can see what I'm trying to do by seeing my compute-slots 2020-08-06T16:52:53Z Josh_2: https://plaster.tymoon.eu/view/1984#1984 2020-08-06T16:53:10Z Josh_2: also in AMOP they use :initform how I have, I don't understand why you told me not to 2020-08-06T16:54:09Z ebrasca: jackdaniel: Can you make sbcl to compile in parallel automaticly? 2020-08-06T16:54:43Z gaqwas quit (Remote host closed the connection) 2020-08-06T16:54:52Z jackdaniel: I don't know how sbcl compiles inside its compile-file function, and calling compile-file is completely up to you 2020-08-06T16:55:01Z jackdaniel: Fare had this extension to asdf, poiu I think 2020-08-06T16:55:20Z jackdaniel: which forked the process and called compile-file I think 2020-08-06T16:55:53Z PuercoPop quit (Remote host closed the connection) 2020-08-06T16:56:06Z mrcom: Josh_2: The standard says not to: https://clos-mop.hexstreamsoft.com/classes/#standard-slot-definition 2020-08-06T16:56:31Z mrcom: "This class is an abstract class and is not intended to be instantiated. The results are undefined if an attempt is made to make an instance of this class with make-instance." 2020-08-06T16:56:43Z Josh_2: but I'm not doing that 2020-08-06T16:56:58Z kaftejiman quit (Remote host closed the connection) 2020-08-06T16:57:06Z Josh_2: I'm making an instance of direct-slot.. in that code and I have tried effective-slot as well 2020-08-06T16:57:09Z Josh_2: just like they do in the book 2020-08-06T16:57:39Z Bike: it looks like you're making a direct-slot-definition, not a standard-direct-slot-definition? 2020-08-06T16:57:42Z mrcom: Sorry, wrong abstract class. But same thing for direct-slot-definition. https://clos-mop.hexstreamsoft.com/classes/#direct-slot-definition 2020-08-06T16:57:47Z Josh_2: oooooh 2020-08-06T16:58:13Z Josh_2: okay I changed to standard-effective 2020-08-06T16:58:17Z ebrasca: jackdaniel: Thx! 2020-08-06T16:58:55Z Bike: you probably want to reverse the order of arguments to cons 2020-08-06T16:58:59Z Bike: since normal-slots is a list 2020-08-06T16:59:06Z heredoc joined #lisp 2020-08-06T16:59:21Z Josh_2: I just swapped that as I was clutching at straws 2020-08-06T16:59:27Z Josh_2: originally they were the other way 2020-08-06T16:59:42Z Bike: what error did you get when you tried to make a direct slot? 2020-08-06T17:00:07Z Josh_2: The same error I am always getting 2020-08-06T17:00:10Z Josh_2: 1 sec 2020-08-06T17:00:30Z Josh_2: https://imgur.com/dL6ISlA.png 2020-08-06T17:00:59Z Bike: yeah, that's not very helpful, is it. 2020-08-06T17:01:39Z Josh_2: https://plaster.tymoon.eu/view/1985#1985 2020-08-06T17:03:03Z mrcom: Actually, isn't this a different error than yesterday? 2020-08-06T17:03:18Z Josh_2: I think it might be, I added some a little extra code 2020-08-06T17:03:22Z Josh_2: I will just post all the code again 2020-08-06T17:04:01Z Josh_2: https://plaster.tymoon.eu/view/1986#1986 2020-08-06T17:04:09Z mrcom: You might want to restart your SBCL session, too. 2020-08-06T17:04:54Z Josh_2: I have a few times 2020-08-06T17:04:57Z Josh_2: I will do it again! 2020-08-06T17:05:58Z mrcom: Ohh... You shouldn't create LOCKED-OBJECT class before you've finished setting up METACLASS. 2020-08-06T17:06:12Z Josh_2: oh 2020-08-06T17:07:41Z mrcom: It might be OK, but the main point of a metaclass is automating the creation of subclasses, not automating instances of the subclass. 2020-08-06T17:07:55Z Josh_2: I don't know how I'm gonna test if it works 2020-08-06T17:08:19Z mrcom: Just move the DEFCLASS LOCKED-OBJECT to the bottom. 2020-08-06T17:08:27Z Josh_2: done already 2020-08-06T17:08:36Z mrcom: ... and restart SBCL. 2020-08-06T17:08:46Z Josh_2: done that 2020-08-06T17:09:22Z Josh_2: Still getting the same error 2020-08-06T17:09:24Z mrcom: Where's the error showing up? 2020-08-06T17:09:28Z mankaev quit (Read error: Connection reset by peer) 2020-08-06T17:09:46Z Josh_2: When I instantiate 'locked-object 2020-08-06T17:10:20Z Bike: the class itself, or an instance of it? 2020-08-06T17:10:25Z mankaev joined #lisp 2020-08-06T17:10:44Z mrcom: OK, let's see what the LOCKED-OBJECT class looks like. 2020-08-06T17:10:48Z Josh_2: an instance of 'locked-object 2020-08-06T17:10:58Z Josh_2: not the class 2020-08-06T17:11:03Z Josh_2: one sec I will get the class 2020-08-06T17:12:26Z Josh_2: https://plaster.tymoon.eu/view/1987#1987 2020-08-06T17:13:31Z mrcom: Wait a second.. why are you using C2MOP in SBCL? 2020-08-06T17:13:55Z Josh_2: to be portable? 2020-08-06T17:13:58Z mrcom: (And note the "Class not finalized" in your screen dump.) 2020-08-06T17:14:05Z Josh_2: hhnnng 2020-08-06T17:14:16Z mrcom: That's OK, but MAKE-INSTANCE is going to use SBCL's internal implementation. 2020-08-06T17:14:28Z mrcom: As is DEFCLASS. 2020-08-06T17:14:31Z Josh_2: hmm 2020-08-06T17:15:18Z tourjin quit (Ping timeout: 260 seconds) 2020-08-06T17:16:40Z mrcom: Drop C2MOP and replace with SB-MOP. 2020-08-06T17:17:15Z mrcom: (DEFPACKAGE :MY-WHATEVER (:use #+SBCL :SB-MOP)) 2020-08-06T17:18:24Z mrcom: Also note http://www.sbcl.org/manual/index.html#AMOP-Compatibility-of-Metaobject-Protocol 2020-08-06T17:20:28Z Josh_2: I still have the same error when using sb-mop instead 2020-08-06T17:20:33Z dominic34 joined #lisp 2020-08-06T17:20:34Z dominic34 quit (Excess Flood) 2020-08-06T17:20:44Z dominic34 joined #lisp 2020-08-06T17:21:00Z vaporatorius__ joined #lisp 2020-08-06T17:21:01Z mrcom: Let's see the class again. 2020-08-06T17:21:35Z Josh_2: https://plaster.tymoon.eu/view/1988#1988 2020-08-06T17:23:05Z vaporatorius quit (Ping timeout: 240 seconds) 2020-08-06T17:23:31Z mrcom: And can you paste the current code? The previous paste cut off part-way, BTW. 2020-08-06T17:23:56Z Josh_2: that is the current code 2020-08-06T17:24:08Z Josh_2: all 50 lines of it 2020-08-06T17:24:09Z mrcom: Just saw it :) 2020-08-06T17:24:14Z Josh_2: okay :) 2020-08-06T17:24:45Z mrcom: What does the inspector show for the class? 2020-08-06T17:24:59Z dominic34 quit (Ping timeout: 240 seconds) 2020-08-06T17:25:21Z Josh_2: the same as before 2020-08-06T17:25:41Z dra joined #lisp 2020-08-06T17:25:45Z Josh_2: https://plaster.tymoon.eu/view/1989#1989 2020-08-06T17:25:53Z Josh_2: still not finalized 2020-08-06T17:25:57Z Jesin quit (Quit: Leaving) 2020-08-06T17:32:15Z treflip quit (Quit: WeeChat 2.6) 2020-08-06T17:32:29Z mrcom: Ah. You're trying to put the slot locks in the _metaclass_. They can go directly in the class, or in the _superclass_. 2020-08-06T17:32:59Z mrcom: _Metaclasses_ are the macros; they tell how to create the _classes_, not the instances. 2020-08-06T17:33:24Z jackdaniel: calling metaclasses macros is quite a stretch 2020-08-06T17:33:29Z jackdaniel: metaclasses are classes 2020-08-06T17:33:39Z mrcom: Yes, and macros are functions. 2020-08-06T17:33:59Z jackdaniel: which implement a specified protocol 2020-08-06T17:33:59Z mrcom: The point is, both tell how to create something that creates something. 2020-08-06T17:34:58Z Josh_2: mrcom: Hmm I thought I was trying to append the alist (of locks) onto any class whose metaclass is 'metalock' 2020-08-06T17:35:10Z jackdaniel: you can describe everything in terms of metaphysical input-output, but I think that this metaphore is not very useful 2020-08-06T17:35:48Z mrcom: Josh_2: You are. But the locks don't live in the metaclass. 2020-08-06T17:35:53Z phoe: a Lisp macro is a transform from source to source 2020-08-06T17:36:26Z mrcom: phoe: Yes, that's more accurate. 2020-08-06T17:36:47Z phoe: don't think this applies well to classes and metaclasses 2020-08-06T17:37:01Z mrcom: And that's the way you should think of a metaclass. It transforms a class definition. 2020-08-06T17:37:11Z Josh_2: yes I understand 2020-08-06T17:37:51Z jackdaniel: this way of thinking is plain wrong 2020-08-06T17:38:28Z dominic34 joined #lisp 2020-08-06T17:39:31Z mrcom: jackdaniel: The point I'm trying to correct is that anything specific to an instance resides in a metaclass. It doesn't. You can put the equivalent of _class variables_ in a metaclass, but that's not where he's at. 2020-08-06T17:41:14Z mrcom: To possibly beat a dead horse: Metaclasses are only used when creating a _class_. Once the classes have been created you could, pretty much, delete the metaclasses. 2020-08-06T17:41:44Z jackdaniel: custom metaclass may be i.e. used to hold all this class instances in a weak hash table, and that's a very valid use of the metaclass protocol 2020-08-06T17:42:04Z jackdaniel: s/metaclass/metaobject/ 2020-08-06T17:43:42Z mrcom: jackdaniel: Yep, but that's an even more advanced topic. Josh has been trying to wrap his head around plain old instance slots. (Which, BTW, is a very common sticking point when dealing with metaclasses.) 2020-08-06T17:44:23Z jackdaniel: I think that comparing metaclasses to macros, and saying that metaclass "transforms" the class is harmful for understanding what they are because it builds a wrong intuition 2020-08-06T17:44:43Z jackdaniel: I think I don't have much more to say on this topic, so I'll put my keyboard to rest 2020-08-06T17:44:45Z mrcom: OK, fire away :) 2020-08-06T17:45:46Z Josh_2: mrcom: on page 88 of AMOP where they show their example of compute-slots 2020-08-06T17:45:56Z Josh_2: they are appending a new slot just like I am 2020-08-06T17:45:59Z fouric joined #lisp 2020-08-06T17:46:17Z jackdaniel: appending slots to instances is also a valid use of metaobject protocol 2020-08-06T17:46:36Z jackdaniel: as well as adding custom initargs to slots (i.e :required t, or :encrypted t) etc 2020-08-06T17:46:57Z VincentVega joined #lisp 2020-08-06T17:47:38Z jackdaniel: fact that mop is so versatile is unfortunate at times, especially for compilation time optimizations 2020-08-06T17:47:57Z Josh_2: jackdaniel: that's what I'm tryna do 2020-08-06T17:48:09Z Josh_2: I'm basically just copying half the example from the book as I only want to add an extra slot 2020-08-06T17:48:10Z jackdaniel: if you ping me tomorrow maybe I'll be able to help 2020-08-06T17:48:32Z jackdaniel: for now I'm taking my toys and going to rest :) 2020-08-06T17:48:54Z mrcom: Hmm, and I may be been dealing with a red herring. 2020-08-06T17:49:26Z mrcom: The LOCKS slot in METALOCK isn't used, but that's what I was keying on. 2020-08-06T17:49:36Z Josh_2: yes I noticed that as well 2020-08-06T17:49:43Z Josh_2: that was my mistake, sorry about that 2020-08-06T17:49:48Z Josh_2: I have deleted it now 2020-08-06T17:50:25Z Jesin joined #lisp 2020-08-06T17:50:31Z mrcom: Nor is the second VALIDATE-SUPERCLASS defmethod (STANDARD-CLASS is not s subclass of METALOCK) 2020-08-06T17:50:57Z VincentVega: Guys, how do you deal with this problem? When I do eval-defun on (loop) in emacs, I seem to be able to do nothing to interrupt it's execution. If I executed (loop) in REPL, I can do sly-interrupt, but that trick doesn't work with sly-eval-defun. Help please? 2020-08-06T17:51:48Z Josh_2: mrcom: Okay deleted! 2020-08-06T17:51:55Z Josh_2: That was me clutching at straws again 2020-08-06T17:52:41Z mrcom: Josh_2: The SLOT-VALUE-USING-CLASS doesn't do anything, either. It's locking around the metaclass's slots, not the instance's. 2020-08-06T17:53:27Z Josh_2: it was working before I messed with compute-slots 2020-08-06T17:53:33Z nirved: VincentVega: M-x slime-interrupt 2020-08-06T17:53:59Z nirved: VincentVega: there should be a binding for it as well 2020-08-06T17:54:07Z nirved: (keyboard binding) 2020-08-06T17:54:21Z mrcom: Josh_2: Don't... think so. You were probably seeing the lock messages, but that was while the class was being created. 2020-08-06T17:54:40Z mrcom: s/the class/METALOCK class/ 2020-08-06T17:55:18Z VincentVega: nirved: that's the thing, sly-interrupt doesn't work in this situation (btw I am using sly but it's based on slime) 2020-08-06T17:55:32Z nirved: well, slime works 2020-08-06T17:55:49Z Josh_2: mrcom: well I guess thats just another issue 2020-08-06T17:55:58Z Josh_2: right now I can't even make instances of my cool new class :( 2020-08-06T17:56:07Z mrcom: Don't think you need the EFFECTIVE-SLOT-DEFINITION-CLASS or DIRECT-SLOT-DEFINITION-CLASS method redefintions either, since they should already return the standard classes. 2020-08-06T17:56:34Z mrcom: Josh_2: Yeah, I'm just running down the code eliminating stuff that _isn't_ the problem. 2020-08-06T17:57:10Z _death: VincentVega: when you evaluate it in a lisp buffer, a thread is created to evaluate the form.. you need to interrupt the right thread 2020-08-06T17:57:19Z VincentVega: nirved: oh, crap, I was trying to interrupt in the repl window, while I had to call it from the buffer window, so yes it works! 2020-08-06T17:57:39Z VincentVega: _death: I see now! 2020-08-06T17:57:46Z VincentVega: wasn't aware of this 2020-08-06T17:59:40Z VincentVega73 joined #lisp 2020-08-06T17:59:50Z Josh_2: oh 2020-08-06T18:00:01Z Josh_2: mrcom: well I got rid of that and now it worked 2020-08-06T18:00:05Z VincentVega73 quit (Remote host closed the connection) 2020-08-06T18:00:58Z Josh_2: It's not exactly what I expected though.. 2020-08-06T18:01:16Z mrcom: Looking up the docs for those methods... 2020-08-06T18:01:30Z Josh_2: oh wait I fixed it 2020-08-06T18:01:39Z Josh_2: Yes it works!! 2020-08-06T18:02:37Z dominic34 quit (Ping timeout: 264 seconds) 2020-08-06T18:04:00Z rats joined #lisp 2020-08-06T18:04:01Z mrcom: Hooray! 2020-08-06T18:04:25Z Josh_2: it works with just c2mop as well! 2020-08-06T18:04:32Z Josh_2: for portability haha 2020-08-06T18:05:35Z mrcom: And I think it was a problem because EFFECTIVE-SLOT-DEFINITION class returns STANDARD-effective-slot-definition, not effective-slot-definition (again, a virtual class which isn't supposed to be instantiated.) 2020-08-06T18:06:14Z bsd4me quit (Quit: Leaving) 2020-08-06T18:07:08Z mrcom: OK, I'm surprised C2MOP works here. 2020-08-06T18:07:30Z rats quit (Client Quit) 2020-08-06T18:12:34Z mrcom: Oh, no I'm not. It's CLOSER-MOP. Duh. 2020-08-06T18:12:51Z bsd4me joined #lisp 2020-08-06T18:13:23Z mrcom: Yes, you are correct, using closer-mop is portable. It resolves to the SB-MOP calls on SBCL. 2020-08-06T18:16:56Z Inline quit (Ping timeout: 256 seconds) 2020-08-06T18:17:34Z cosimone quit (Read error: Connection reset by peer) 2020-08-06T18:17:47Z cosimone joined #lisp 2020-08-06T18:21:37Z bocaneri quit (Read error: Connection reset by peer) 2020-08-06T18:21:41Z satousan joined #lisp 2020-08-06T18:24:24Z Josh_2: mrcom: I really appreciate all your help!! 2020-08-06T18:26:04Z cosimone quit (Read error: Connection reset by peer) 2020-08-06T18:26:57Z cosimone joined #lisp 2020-08-06T18:26:58Z mrcom: Josh_2: Why thank you! Enjoyed it, and learned a bit myself. 2020-08-06T18:27:03Z theseb quit (Quit: Leaving) 2020-08-06T18:27:55Z cosimone quit (Read error: Connection reset by peer) 2020-08-06T18:28:25Z cosimone joined #lisp 2020-08-06T18:30:25Z xrash joined #lisp 2020-08-06T18:30:33Z xrash quit (Excess Flood) 2020-08-06T18:32:44Z cosimone_ joined #lisp 2020-08-06T18:34:53Z cosimone quit (Ping timeout: 244 seconds) 2020-08-06T18:37:12Z Josh_2: Now I need to create a special slot to contain my lock list 2020-08-06T18:37:28Z cosimone_ is now known as cosimone 2020-08-06T18:41:49Z xrash joined #lisp 2020-08-06T18:44:27Z jw4 quit (Read error: Connection reset by peer) 2020-08-06T18:45:48Z v88m joined #lisp 2020-08-06T18:46:19Z jw4 joined #lisp 2020-08-06T18:53:04Z satousan quit (Quit: WeeChat 2.3) 2020-08-06T18:56:36Z narimiran joined #lisp 2020-08-06T18:58:07Z tutti joined #lisp 2020-08-06T18:58:30Z notzmv joined #lisp 2020-08-06T19:00:17Z contrapunctus left #lisp 2020-08-06T19:01:27Z contrapunctus joined #lisp 2020-08-06T19:02:16Z akoana joined #lisp 2020-08-06T19:05:01Z gaqwas joined #lisp 2020-08-06T19:07:35Z Josh_2: mrcom: https://github.com/K1D77A/metalock/blob/master/metalock.lisp :D 2020-08-06T19:07:42Z Josh_2: Am I MOP master now xD 2020-08-06T19:08:34Z nicktick quit (Ping timeout: 256 seconds) 2020-08-06T19:11:58Z xrash quit (Ping timeout: 256 seconds) 2020-08-06T19:13:32Z VincentVega quit (Remote host closed the connection) 2020-08-06T19:14:25Z mankaev quit (Read error: Connection reset by peer) 2020-08-06T19:14:38Z mankaev joined #lisp 2020-08-06T19:18:11Z shifty quit (Ping timeout: 240 seconds) 2020-08-06T19:20:34Z mrcom: Josh_2: All hail Josh_2! 2020-08-06T19:20:49Z Duuqnd bows down to the MOP master 2020-08-06T19:21:04Z Duuqnd: s/to/for 2020-08-06T19:22:14Z v3ga quit (Ping timeout: 244 seconds) 2020-08-06T19:22:46Z Josh_2: xD 2020-08-06T19:23:08Z Josh_2: Perhaps I could develop my toy into something actually useful for developing parallel applications 2020-08-06T19:25:32Z toppo joined #lisp 2020-08-06T19:26:05Z gaqwas quit (Remote host closed the connection) 2020-08-06T19:27:30Z xkapastel joined #lisp 2020-08-06T19:27:31Z mrcom: Josh_2: Here's a challenge for you: Given an instance X of FOO, a METALOCK class, and (SETF (FOO-SLOT1 X) 42 (FOO-SLOT2 X) 99) 2020-08-06T19:27:39Z toppo left #lisp 2020-08-06T19:29:20Z mrcom: Josh_2: In another thread, make (CONS (FOO-SLOT1 X) (FOO-SLOT2 X)) always return either (42 . 99) or the pre-SETF values. 2020-08-06T19:34:08Z Alfr_: mrcom, and when he's done with that you could just add a slot for a similarly interesting problem, repeat. I think, the underlying problem is that individual atomic operations just don't compose well. 2020-08-06T19:34:44Z Alfr_: s/compose/concatenate/ 2020-08-06T19:35:27Z mrcom: Ah, spoilers! 2020-08-06T19:35:53Z Alfr_: Sorry. 2020-08-06T19:36:17Z bsd4me quit (Quit: gotta go) 2020-08-06T19:36:44Z mrcom: I was just being facetious. It won't really dawn on him until he's worked it out himself. 2020-08-06T19:40:02Z EvW1 joined #lisp 2020-08-06T19:53:11Z bsd4me joined #lisp 2020-08-06T19:53:43Z countvajhula joined #lisp 2020-08-06T19:57:39Z epony quit (Remote host closed the connection) 2020-08-06T20:03:17Z specbot quit (Remote host closed the connection) 2020-08-06T20:03:17Z minion quit (Remote host closed the connection) 2020-08-06T20:09:26Z minion joined #lisp 2020-08-06T20:09:27Z specbot joined #lisp 2020-08-06T20:15:41Z terpri joined #lisp 2020-08-06T20:16:52Z terpri_ quit (Ping timeout: 260 seconds) 2020-08-06T20:16:53Z gaqwas joined #lisp 2020-08-06T20:16:53Z gaqwas quit (Changing host) 2020-08-06T20:16:53Z gaqwas joined #lisp 2020-08-06T20:17:24Z epony joined #lisp 2020-08-06T20:18:35Z liberliver quit (Ping timeout: 240 seconds) 2020-08-06T20:25:25Z ggole quit (Quit: Leaving) 2020-08-06T20:32:59Z narimiran quit (Ping timeout: 240 seconds) 2020-08-06T20:38:41Z rumbler31 quit (Remote host closed the connection) 2020-08-06T20:39:20Z rumbler31 joined #lisp 2020-08-06T20:40:33Z v3ga joined #lisp 2020-08-06T20:42:27Z pve quit (Quit: leaving) 2020-08-06T20:43:25Z rumbler31 quit (Ping timeout: 240 seconds) 2020-08-06T20:46:28Z gaqwas quit (Remote host closed the connection) 2020-08-06T20:50:45Z rumbler31_ quit (Ping timeout: 240 seconds) 2020-08-06T20:54:27Z slyrus joined #lisp 2020-08-06T20:54:39Z shifty joined #lisp 2020-08-06T20:59:25Z random-nick quit (Ping timeout: 240 seconds) 2020-08-06T21:00:55Z pd_ joined #lisp 2020-08-06T21:01:41Z pd_ quit (Client Quit) 2020-08-06T21:02:34Z pd_ joined #lisp 2020-08-06T21:03:09Z pd_ quit (Client Quit) 2020-08-06T21:03:55Z pd_ joined #lisp 2020-08-06T21:05:53Z TwoNotes quit (Disconnected by services) 2020-08-06T21:06:07Z pd_ quit (Client Quit) 2020-08-06T21:06:18Z TwoNotes joined #lisp 2020-08-06T21:06:29Z pd_ joined #lisp 2020-08-06T21:07:04Z Duuqnd quit (Quit: Leaving) 2020-08-06T21:10:45Z mokulus quit (Ping timeout: 240 seconds) 2020-08-06T21:11:02Z TwoNotes is now known as Guest47874 2020-08-06T21:11:02Z pd_ is now known as TwoNotes 2020-08-06T21:12:39Z random-nick joined #lisp 2020-08-06T21:22:19Z v3ga quit (Ping timeout: 272 seconds) 2020-08-06T21:23:26Z galex-713 quit (Quit: No Ping reply in 180 seconds.) 2020-08-06T21:24:38Z galex-713 joined #lisp 2020-08-06T21:36:40Z ayuce quit (Remote host closed the connection) 2020-08-06T21:39:13Z Posterdati quit (Ping timeout: 264 seconds) 2020-08-06T21:44:30Z rumbler31 joined #lisp 2020-08-06T21:48:41Z ahungry quit (Remote host closed the connection) 2020-08-06T21:48:45Z gravicappa quit (Ping timeout: 240 seconds) 2020-08-06T21:52:01Z Posterdati joined #lisp 2020-08-06T21:52:58Z Bourne quit (Ping timeout: 260 seconds) 2020-08-06T21:54:48Z q-u-a-n2 joined #lisp 2020-08-06T21:55:28Z q-u-a-n24 quit (Read error: Connection reset by peer) 2020-08-06T22:04:46Z mindCrime joined #lisp 2020-08-06T22:10:16Z Josh_2: mrcom: I'm aware of the issue 2020-08-06T22:10:28Z Josh_2: pjb has already been through this with me when I have talked about making this kinda metaclass before 2020-08-06T22:14:21Z invergo joined #lisp 2020-08-06T22:14:45Z invergo left #lisp 2020-08-06T22:20:29Z countvajhula quit (Ping timeout: 244 seconds) 2020-08-06T22:21:14Z v88m quit (Ping timeout: 256 seconds) 2020-08-06T22:27:09Z Jach[m] joined #lisp 2020-08-06T22:29:42Z rumbler31 quit (Remote host closed the connection) 2020-08-06T22:29:59Z rumbler31 joined #lisp 2020-08-06T22:30:24Z Christ0pher joined #lisp 2020-08-06T22:32:37Z galex-713 quit (Ping timeout: 272 seconds) 2020-08-06T22:33:58Z galex-713 joined #lisp 2020-08-06T22:35:38Z countvajhula joined #lisp 2020-08-06T22:35:47Z ft quit (Ping timeout: 240 seconds) 2020-08-06T22:37:16Z cosimone quit (Quit: Quit.) 2020-08-06T22:38:43Z cosimone joined #lisp 2020-08-06T22:42:25Z countvajhula quit (Remote host closed the connection) 2020-08-06T22:42:43Z countvajhula joined #lisp 2020-08-06T22:43:17Z tutti quit (Ping timeout: 260 seconds) 2020-08-06T22:55:55Z sveit: hello. does the maintainer/anyone familiar with the internals of the series package hang out here? 2020-08-06T22:55:57Z sveit: i have found several bugs that i would appreciate advice on how to begin attacking (as well i would love to discuss the package in general). i have also "fixed" a bug that seemed too trivial/actively introduced to have as simple a fix (deleting a line) as it did, and would like to know if i made an oversight before submitting. 2020-08-06T22:59:42Z jibanes quit (Ping timeout: 260 seconds) 2020-08-06T22:59:43Z fe[nl]ix: sveit: I believe Series has been abandoned for a couple of decades 2020-08-06T23:00:26Z Josh_2: sveit: sounds like you are the new maintainer ;) 2020-08-06T23:01:21Z dra_ joined #lisp 2020-08-06T23:01:36Z jibanes joined #lisp 2020-08-06T23:03:12Z sveit: well thanks for the update :) i am surprised, imo it is a great idea, and a great demonstration of something that could really only be done in lisp 2020-08-06T23:03:39Z sveit: if people have free time, writing non-trivial code and looking at the series macroexpansions/optimizations is pretty remarkable. except for the bugs :) 2020-08-06T23:04:35Z dra quit (Ping timeout: 240 seconds) 2020-08-06T23:05:09Z sveit: anyway, if anyone has looked at it before or knows of similar code and has general wisdom i'd like to hear it, since series is written in a somewhat haphazard way. 2020-08-06T23:06:48Z sveit: actually if it is abandoned i assume people have alternative libraries that they use to accomplish similar things? 2020-08-06T23:10:27Z caltelt joined #lisp 2020-08-06T23:13:23Z shifty quit (Ping timeout: 240 seconds) 2020-08-06T23:13:33Z shifty joined #lisp 2020-08-06T23:14:51Z dra_ quit (Quit: Leaving) 2020-08-06T23:16:07Z v3ga joined #lisp 2020-08-06T23:17:45Z shifty quit (Ping timeout: 240 seconds) 2020-08-06T23:18:17Z mindCrime quit (Ping timeout: 260 seconds) 2020-08-06T23:18:24Z shifty joined #lisp 2020-08-06T23:19:46Z Bourne joined #lisp 2020-08-06T23:20:45Z random-nick quit (Ping timeout: 240 seconds) 2020-08-06T23:23:35Z cosimone quit (Quit: Quit.) 2020-08-06T23:24:46Z cosimone joined #lisp 2020-08-06T23:28:30Z stepnem quit (Read error: Connection reset by peer) 2020-08-06T23:29:43Z stepnem joined #lisp 2020-08-06T23:32:25Z jibanes quit (Ping timeout: 240 seconds) 2020-08-06T23:34:35Z ft joined #lisp 2020-08-06T23:34:36Z jibanes joined #lisp 2020-08-06T23:38:59Z ft quit (Remote host closed the connection) 2020-08-06T23:39:12Z ft joined #lisp 2020-08-06T23:40:35Z mindCrime joined #lisp 2020-08-06T23:41:25Z shifty quit (Ping timeout: 240 seconds) 2020-08-06T23:41:41Z shifty joined #lisp 2020-08-06T23:43:51Z bhartrihari left #lisp 2020-08-06T23:44:02Z bhartrihari joined #lisp 2020-08-06T23:44:55Z torbo joined #lisp 2020-08-06T23:51:58Z shifty quit (Ping timeout: 260 seconds) 2020-08-06T23:52:29Z shifty joined #lisp 2020-08-06T23:54:52Z jasom: sveit: loop? :P 2020-08-06T23:55:26Z fwoaroof[m]: I usually end up using LOOP for this sort of thing 2020-08-06T23:55:32Z ft quit (Remote host closed the connection) 2020-08-06T23:55:40Z ft joined #lisp 2020-08-06T23:55:44Z fwoaroof[m]: I've also implemented clojure-style transducers for a kind of explicit stream-fusion approach 2020-08-06T23:56:14Z fwoaroof[m]: https://github.com/fiddlerwoaroof/lisp-sandbox/blob/master/transduce.lisp 2020-08-06T23:56:59Z shifty quit (Ping timeout: 240 seconds) 2020-08-06T23:57:17Z shifty joined #lisp 2020-08-06T23:57:28Z fwoaroof[m]: I like this better than series-style stream fusion, because it's not as dependent on "magic" compile-time transformations 2020-08-06T23:58:53Z oni-on-ion joined #lisp 2020-08-06T23:58:59Z sveit: the problem with loop is "reusability" and "composition"; it is kind of tricky/impossible to have some independent looping constructs that can be combined in a generator style. the idea of series is (imo) to provide this while having loop-style performance when the computation is actually built up 2020-08-06T23:59:56Z fwoaroof[m]: Yeah, I basically agree with that 2020-08-07T00:00:01Z sveit: even the trivial idea of "loop from float F1 to float F2 with N samples" is irrating to write over and over again 2020-08-07T00:00:38Z fwoaroof[m]: That's a general issue with things like list comprehensions 2020-08-07T00:00:47Z Alfr_ quit (Quit: Leaving) 2020-08-07T00:01:11Z Alfr joined #lisp 2020-08-07T00:01:30Z fwoaroof[m]: You probably could fork series and put it on quicklisp with a new name, if you want to maintain it :) 2020-08-07T00:01:55Z fwoaroof[m]: Maybe also look at iterate and https://github.com/shinmera/for.git 2020-08-07T00:02:26Z fwoaroof[m]: Those are, at least, both extensible in a standardized fashion 2020-08-07T00:02:40Z fwoaroof[m]: Some LOOP implementations can be extended, but that's not specified in the standard 2020-08-07T00:03:10Z sveit: i know about iterate, but i think series is much more elegant and powerful (here the elegance is in the using, not the implementation :)). i probably will try to fork/maintain when life calms down a bit :) for now i just have my list of bugs. 2020-08-07T00:04:19Z fwoaroof[m]: As I said before, I think transducers are a better fit for lisp 2020-08-07T00:05:07Z fwoaroof[m]: SERIES relies on the ability to inspect declarations and do compile-time transforms, which I believe relies on either environment introspection or a code-walker 2020-08-07T00:05:14Z markong quit (Ping timeout: 265 seconds) 2020-08-07T00:05:18Z fwoaroof[m]: Both of those are a bit tricky to get right 2020-08-07T00:05:52Z Fare quit (Ping timeout: 260 seconds) 2020-08-07T00:06:10Z fwoaroof[m]: Transducers are pretty straight-forward to implement "in userspace" and are basically equivalent, from a composition/reusability perspective 2020-08-07T00:06:18Z sveit: sorry, i am not very familiar with transducers, are they not "series"? 2020-08-07T00:06:33Z fwoaroof[m]: https://github.com/fiddlerwoaroof/lisp-sandbox/blob/master/transduce.lisp#L152-L158 2020-08-07T00:06:45Z fwoaroof[m]: (I've shadowed MAP in this package) 2020-08-07T00:07:08Z fwoaroof[m]: Basically, the idea is you have MAP/FILTER/REDUCE return functions that take a continuation 2020-08-07T00:07:29Z fwoaroof[m]: And you have another function that takes such functions and injects a function that builds up a result 2020-08-07T00:08:29Z sveit: fwoaroof[m]: i see. is SBCL magical enough that this performs comparably to series/loop? 2020-08-07T00:08:42Z fwoaroof[m]: I haven't attempted to benchmark it 2020-08-07T00:09:13Z fwoaroof[m]: In most cases, though, I expect it to be significantly faster than map/remove-if-not/etc., once your collections get significantly large 2020-08-07T00:09:21Z fwoaroof[m]: Because you're no longer building up intermediate collections 2020-08-07T00:10:26Z fwoaroof[m]: I think, in most cases, the performance difference with series/loop either doesn't matter because the collections are small, or doesn't matter because your code is more modular 2020-08-07T00:10:35Z shifty quit (Ping timeout: 240 seconds) 2020-08-07T00:11:48Z Fare joined #lisp 2020-08-07T00:13:04Z sveit: yeah, the point of comparison is really series/loop, since the former works very hard to not build up intermediate collections, and in the latter you ensure this manually. i wonder more for the case of something like a nested loops over floats where you skip certain elements based on a predicate, otherwise call some function with side-effects on the float. the series case is as fast as a handwritten loop. 2020-08-07T00:13:53Z fwoaroof[m]: I suspect compiler macros for ALEXANDRIA:COMPOSE and for these functions can solve most of the performance issues 2020-08-07T00:14:00Z sveit: with enough inlining i would believe sbcl makes your continuation approach comparable, but i would have to check 2020-08-07T00:14:15Z sveit: fwoaroof[m]: agreed. i'll look into it, thanks! 2020-08-07T00:14:56Z fwoaroof[m]: I just think that the benefit of being able to use MAP/FILTER/REDUCE without intermediate collections and without compiler magic usually outweighs the performance difference 2020-08-07T00:15:22Z fwoaroof[m]: But, I'm generally on the expressiveness side of the performance vs. expressiveness debate :) 2020-08-07T00:15:52Z fwoaroof[m]: In theory, it's only different from SERIES/LOOP by a constant factor 2020-08-07T00:16:13Z fwoaroof[m]: Which is dominated by the overhead of calling a closure in your implementation of choice 2020-08-07T00:16:43Z sveit: i usually fall on the performance side, but everyone i know that does software in a serious way is the opposite of me and like you, so i am slowly learning :) 2020-08-07T00:17:40Z fwoaroof[m]: I think from a cost standpoint, it's usually less expensive for a company to buy extra hardware rather than making their programmers less efficient 2020-08-07T00:19:03Z sveit: fwoaroof[m]: but despite it being a micro-optimization, i really do think in tight (numerical) loops it's worth getting rid of that closure. i basically think of series in this "transducer" way, but with lots of optimizations to remove function calls and fuse loops. and a couple of bugs :) 2020-08-07T00:19:30Z fwoaroof[m]: Yeah, for some of those cases I think something like that is better 2020-08-07T00:21:11Z sveit: the other neat thing is if you are processing several series in parallel or use them more than once, it will tend to figure out how to loop over the series just once. for example, reasonable code to compute the mean and length of a series, which look like separate loops over a series, are compiled to a single loop. 2020-08-07T00:22:21Z sveit: i think it might be tricky to do this outside of the series approach, but maybe it's not even worth it to fuse the loops like this. apparently some hardware and compilers will de-fuse loops in fact :) 2020-08-07T00:22:59Z fwoaroof[m]: I use transducers in Clojure all the time for work, and I think they're one of the best parts of the language. 2020-08-07T00:23:20Z penguwin quit (Quit: NO CARRIER) 2020-08-07T00:23:28Z fwoaroof[m]: I should look into how series is implemented, though: it feels like a bad sort of magic, which has always put me off using it 2020-08-07T00:24:03Z penguwin joined #lisp 2020-08-07T00:24:58Z v88m joined #lisp 2020-08-07T00:25:25Z fwoaroof[m]: The license of petalisp (AGPL3) is unfortunate, but it might also be relevant? 2020-08-07T00:31:19Z sveit: fwoaroof[m]: the code is not too pleasant imo, but if you start looking at it/using it feel free to ping me again, like i said i have at least one trivial bugfix and can tell you what to avoid to keep series happy 2020-08-07T00:34:17Z cc joined #lisp 2020-08-07T00:34:42Z cc is now known as Guest67926 2020-08-07T00:36:29Z Guest67926 is now known as _cc_ 2020-08-07T00:43:46Z nicktick joined #lisp 2020-08-07T00:50:51Z ebrasca quit (Remote host closed the connection) 2020-08-07T00:57:41Z __jrjsmrtn__ joined #lisp 2020-08-07T00:59:01Z _jrjsmrtn quit (Ping timeout: 246 seconds) 2020-08-07T01:00:54Z Bourne` joined #lisp 2020-08-07T01:01:05Z Bourne quit (Ping timeout: 240 seconds) 2020-08-07T01:02:05Z micro quit (Remote host closed the connection) 2020-08-07T01:08:52Z libertyprime joined #lisp 2020-08-07T01:10:50Z sjl_ quit (Ping timeout: 260 seconds) 2020-08-07T01:11:53Z cosimone quit (Quit: Quit.) 2020-08-07T01:14:25Z nicktick quit (Ping timeout: 240 seconds) 2020-08-07T01:21:09Z nicktick joined #lisp 2020-08-07T01:22:19Z c_nix quit (Remote host closed the connection) 2020-08-07T01:23:02Z bhartrihari left #lisp 2020-08-07T01:23:13Z bhartrihari joined #lisp 2020-08-07T01:27:31Z EvW1 quit (Ping timeout: 244 seconds) 2020-08-07T01:28:55Z libertyprime quit (Quit: leaving) 2020-08-07T01:33:23Z ldb joined #lisp 2020-08-07T01:33:28Z ldb: good morning everyone 2020-08-07T01:38:35Z nicktick quit (Ping timeout: 240 seconds) 2020-08-07T01:39:09Z nicktick joined #lisp 2020-08-07T01:45:13Z Bourne` quit (Ping timeout: 264 seconds) 2020-08-07T01:45:17Z countvajhula quit (Ping timeout: 260 seconds) 2020-08-07T01:46:19Z countvajhula joined #lisp 2020-08-07T01:48:53Z bhartrihari left #lisp 2020-08-07T01:49:05Z bhartrihari joined #lisp 2020-08-07T01:49:42Z nicktick quit (Ping timeout: 256 seconds) 2020-08-07T01:55:19Z nicktick joined #lisp 2020-08-07T01:56:53Z Josh_2: Morning ldb 2020-08-07T02:01:11Z orivej joined #lisp 2020-08-07T02:02:48Z heredoc quit (Quit: ZNC - http://znc.in) 2020-08-07T02:10:09Z shifty joined #lisp 2020-08-07T02:12:08Z countvajhula quit (Ping timeout: 256 seconds) 2020-08-07T02:13:27Z Oladon joined #lisp 2020-08-07T02:14:01Z orivej quit (Ping timeout: 264 seconds) 2020-08-07T02:14:22Z orivej joined #lisp 2020-08-07T02:21:45Z orivej quit (Ping timeout: 240 seconds) 2020-08-07T02:22:31Z orivej joined #lisp 2020-08-07T02:25:04Z shifty quit (Ping timeout: 256 seconds) 2020-08-07T02:26:21Z shifty joined #lisp 2020-08-07T02:26:26Z TwoNotes quit (Quit: Leaving) 2020-08-07T02:28:22Z EvW joined #lisp 2020-08-07T02:35:10Z tempusfugitful joined #lisp 2020-08-07T02:35:22Z orivej quit (Quit: No Ping reply in 180 seconds.) 2020-08-07T02:35:33Z shifty quit (Ping timeout: 265 seconds) 2020-08-07T02:35:37Z ldb quit (Ping timeout: 264 seconds) 2020-08-07T02:35:56Z shifty joined #lisp 2020-08-07T02:36:43Z orivej joined #lisp 2020-08-07T02:40:04Z v3ga quit (Read error: Connection reset by peer) 2020-08-07T02:41:11Z v3ga joined #lisp 2020-08-07T02:41:40Z tempusfugitful quit 2020-08-07T02:41:58Z ldb joined #lisp 2020-08-07T02:44:27Z xrash joined #lisp 2020-08-07T02:46:07Z akoana left #lisp 2020-08-07T02:48:45Z orivej quit (Ping timeout: 240 seconds) 2020-08-07T02:49:21Z orivej joined #lisp 2020-08-07T02:50:05Z caltelt quit (Ping timeout: 240 seconds) 2020-08-07T02:53:10Z rumbler31 quit (Ping timeout: 256 seconds) 2020-08-07T02:59:31Z space_otter joined #lisp 2020-08-07T03:02:06Z Lycurgus joined #lisp 2020-08-07T03:02:17Z Alfr_ joined #lisp 2020-08-07T03:05:13Z Alfr quit (Ping timeout: 260 seconds) 2020-08-07T03:06:38Z xkapastel quit (Quit: Connection closed for inactivity) 2020-08-07T03:07:49Z epony quit (Remote host closed the connection) 2020-08-07T03:14:49Z _cc_ quit (Remote host closed the connection) 2020-08-07T03:16:25Z shifty quit (Ping timeout: 264 seconds) 2020-08-07T03:17:04Z shifty joined #lisp 2020-08-07T03:19:41Z countvajhula joined #lisp 2020-08-07T03:20:42Z lucasb quit (Quit: Connection closed for inactivity) 2020-08-07T03:23:13Z shifty quit (Ping timeout: 246 seconds) 2020-08-07T03:23:24Z shifty joined #lisp 2020-08-07T03:23:25Z countvajhula quit (Remote host closed the connection) 2020-08-07T03:23:38Z countvajhula joined #lisp 2020-08-07T03:24:12Z beach: Good morning everyone! 2020-08-07T03:24:13Z ldb quit (Ping timeout: 264 seconds) 2020-08-07T03:24:46Z Lycurgus quit (Remote host closed the connection) 2020-08-07T03:25:34Z abhixec joined #lisp 2020-08-07T03:27:29Z countvajhula quit (Remote host closed the connection) 2020-08-07T03:27:55Z countvajhula joined #lisp 2020-08-07T03:31:33Z countvajhula quit (Remote host closed the connection) 2020-08-07T03:31:53Z countvajhula joined #lisp 2020-08-07T03:34:42Z orivej quit (Quit: No Ping reply in 180 seconds.) 2020-08-07T03:35:39Z countvajhula quit (Remote host closed the connection) 2020-08-07T03:36:00Z epony joined #lisp 2020-08-07T03:36:02Z orivej joined #lisp 2020-08-07T03:36:06Z countvajhula joined #lisp 2020-08-07T03:36:42Z EvW quit (Ping timeout: 260 seconds) 2020-08-07T03:39:44Z countvajhula quit (Remote host closed the connection) 2020-08-07T03:40:11Z countvajhula joined #lisp 2020-08-07T03:43:49Z countvajhula quit (Remote host closed the connection) 2020-08-07T03:44:16Z countvajhula joined #lisp 2020-08-07T03:44:33Z Oladon: Morning, beach! 2020-08-07T03:47:54Z countvajhula quit (Remote host closed the connection) 2020-08-07T03:48:21Z countvajhula joined #lisp 2020-08-07T03:48:34Z orivej quit (Read error: Connection reset by peer) 2020-08-07T03:48:43Z orivej_ joined #lisp 2020-08-07T03:50:00Z Lord_of_Life_ joined #lisp 2020-08-07T03:51:42Z Bike quit (Quit: leaving) 2020-08-07T03:51:47Z countvajhula quit (Remote host closed the connection) 2020-08-07T03:52:03Z countvajhula joined #lisp 2020-08-07T03:52:06Z Lord_of_Life quit (Ping timeout: 256 seconds) 2020-08-07T03:52:07Z Lord_of_Life_ is now known as Lord_of_Life 2020-08-07T04:02:25Z jibanes quit (Ping timeout: 240 seconds) 2020-08-07T04:03:47Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2020-08-07T04:04:35Z oni-on-ion quit (Ping timeout: 244 seconds) 2020-08-07T04:04:39Z jibanes joined #lisp 2020-08-07T04:05:18Z Guest47874 quit (Quit: Leaving) 2020-08-07T04:07:45Z zymurgy quit (Quit: WeeChat 1.4) 2020-08-07T04:07:50Z gravicappa joined #lisp 2020-08-07T04:13:24Z pfr joined #lisp 2020-08-07T04:13:31Z torbo quit (Remote host closed the connection) 2020-08-07T04:13:38Z zaquest quit (Quit: Leaving) 2020-08-07T04:15:32Z orivej_ quit (Quit: No Ping reply in 180 seconds.) 2020-08-07T04:16:52Z orivej joined #lisp 2020-08-07T04:17:02Z micro joined #lisp 2020-08-07T04:24:25Z orivej quit (Ping timeout: 240 seconds) 2020-08-07T04:25:01Z orivej joined #lisp 2020-08-07T04:31:25Z orivej quit (Ping timeout: 264 seconds) 2020-08-07T04:32:00Z zaquest joined #lisp 2020-08-07T04:36:03Z hendursaga quit (Ping timeout: 240 seconds) 2020-08-07T04:36:47Z mindCrime quit (Ping timeout: 260 seconds) 2020-08-07T04:38:04Z narimiran joined #lisp 2020-08-07T04:39:32Z oni-on-ion joined #lisp 2020-08-07T04:44:18Z oni-on-ion quit (Ping timeout: 256 seconds) 2020-08-07T05:06:46Z mankaev quit (Ping timeout: 244 seconds) 2020-08-07T05:09:08Z mankaev joined #lisp 2020-08-07T05:35:56Z v3ga quit (Read error: Connection reset by peer) 2020-08-07T05:43:29Z flip214: Does anyone know why some HN nick names are colored green? 2020-08-07T05:44:01Z shifty quit (Ping timeout: 264 seconds) 2020-08-07T05:46:14Z nullheroes quit (Quit: WeeChat 2.9) 2020-08-07T05:47:26Z nullheroes joined #lisp 2020-08-07T05:48:26Z countvajhula quit (Ping timeout: 244 seconds) 2020-08-07T05:49:36Z edgar-rft: I'm afraid this will remain one of the unsolved mysteries nobody wants to know :-) 2020-08-07T05:50:02Z jibanes quit (Ping timeout: 256 seconds) 2020-08-07T05:50:32Z zymurgy joined #lisp 2020-08-07T05:51:53Z jibanes joined #lisp 2020-08-07T05:51:58Z gravicappa quit (Ping timeout: 246 seconds) 2020-08-07T05:52:27Z bocaneri joined #lisp 2020-08-07T05:56:03Z countvajhula joined #lisp 2020-08-07T05:56:39Z Fare quit (Quit: Leaving) 2020-08-07T06:05:16Z GreaseMonkey quit (Quit: HYDRA IRC LOL) 2020-08-07T06:09:52Z bsd4me quit (Quit: Leaving) 2020-08-07T06:10:28Z McParen joined #lisp 2020-08-07T06:11:43Z Oladon quit (Quit: Leaving.) 2020-08-07T06:12:54Z treflip joined #lisp 2020-08-07T06:13:44Z McParen: hello, is there a usual way to add additional documentation to an inherited slot in a subclass? 2020-08-07T06:16:37Z McParen: At the moment, I add all the inherited slots and the new docstring, but that leads to quite a mess, because it is hard to see what slots are new and which are inherited. 2020-08-07T06:27:47Z space_otter quit (Ping timeout: 240 seconds) 2020-08-07T06:41:36Z space_otter joined #lisp 2020-08-07T06:42:34Z gaqwas joined #lisp 2020-08-07T06:43:56Z pve joined #lisp 2020-08-07T06:48:40Z phoe: flip214: they're new 2020-08-07T06:49:47Z space_otter quit (Ping timeout: 240 seconds) 2020-08-07T06:50:23Z nirved quit (Ping timeout: 240 seconds) 2020-08-07T06:52:18Z nirved joined #lisp 2020-08-07T06:52:58Z flip214: phoe: ah, so "be gentle"? thanks 2020-08-07T07:03:50Z space_otter joined #lisp 2020-08-07T07:04:08Z phoe: it's more like "be gentle" and "be wary" combined, given the repute that Hacker News comments section have 2020-08-07T07:04:26Z liberliver joined #lisp 2020-08-07T07:12:07Z space_otter quit (Ping timeout: 246 seconds) 2020-08-07T07:13:52Z countvajhula quit (Remote host closed the connection) 2020-08-07T07:14:22Z countvajhula joined #lisp 2020-08-07T07:20:06Z vaporatorius__ quit (Read error: Connection reset by peer) 2020-08-07T07:20:31Z vaporatorius__ joined #lisp 2020-08-07T07:20:52Z shifty joined #lisp 2020-08-07T07:22:28Z countvajhula quit (Ping timeout: 244 seconds) 2020-08-07T07:26:10Z space_otter joined #lisp 2020-08-07T07:26:58Z ggole joined #lisp 2020-08-07T07:29:10Z gaqwas quit (Remote host closed the connection) 2020-08-07T07:29:32Z treflip quit (Quit: WeeChat 2.6) 2020-08-07T07:34:50Z yaji joined #lisp 2020-08-07T07:37:43Z greaser|q joined #lisp 2020-08-07T07:37:43Z mokulus joined #lisp 2020-08-07T07:37:50Z yaji quit (Client Quit) 2020-08-07T07:45:34Z treflip joined #lisp 2020-08-07T07:47:23Z beach: McParen: I don't know the answer to your question, but it is a bit strange to want to document a slot. 2020-08-07T07:48:12Z beach: McParen: Slots are implementation details, so the only person interested in the role of a slot would be the person reading the code, and then a comment is the appropriate way to describe what the slot is for. 2020-08-07T07:51:22Z countvajhula joined #lisp 2020-08-07T07:54:32Z flip214: beach: can autogenerated accessor functions be documented via DEFCLASS? 2020-08-07T07:55:08Z phoe: flip214: I'd DEFGENERIC :DOCUMENTATION them myself 2020-08-07T07:55:25Z phoe: (which would be better for the protocol, anyway) 2020-08-07T07:55:30Z phoe: then DEFCLASS will just slap methods on top of these functions. 2020-08-07T07:55:43Z beach: flip214: I don't know, but you should always do the DEFGENERIC in my opinion. 2020-08-07T07:55:58Z beach: What phoe said. 2020-08-07T07:56:25Z flip214: yeah, thanks 2020-08-07T07:56:34Z beach: Just having a lambda list that you determined yourself, as opposed to OBJECT is worth it. 2020-08-07T07:56:37Z flip214: right, no need to do (SETF (documentation ...)) 2020-08-07T07:57:11Z countvajhula quit (Ping timeout: 244 seconds) 2020-08-07T07:57:16Z beach: Well, you may want to use that one anyway, since the documentation is not meant for the same category of people who read the code. 2020-08-07T07:57:29Z beach: So the documentation in a DEFGENERIC or DEFUN is noise to the maintainer. 2020-08-07T07:57:31Z flip214: beach: ah, thanks. that reminds me - I've got a patch in the pipeline so that in sbcl the accessors use the class name instead of INSTANCE. 2020-08-07T07:57:47Z beach: That's a tad better, sure. 2020-08-07T07:58:03Z beach: But what do you do for the first parameter of a slot writer. 2020-08-07T07:58:05Z beach: ? 2020-08-07T07:58:10Z gaqwas joined #lisp 2020-08-07T07:58:10Z gaqwas quit (Changing host) 2020-08-07T07:58:10Z gaqwas joined #lisp 2020-08-07T07:58:24Z McParen: beach: What would be the appropriate place to document functionality for the users of a library? 2020-08-07T07:59:00Z McParen: beach: So that, for example, it can be looked up on quickdocs. 2020-08-07T07:59:09Z beach: McParen: Users/clients should not know about slots. For such a person, a class should be defined by its initargs and its accessors. 2020-08-07T08:00:29Z beach: Quickdocs is an aberration. Documentation can not be generated from documentation strings. 2020-08-07T08:00:42Z flip214: that's still VALUE. 2020-08-07T08:01:14Z phoe: or NEW-VALUE mayhaps 2020-08-07T08:01:25Z flip214: beach: I guess we need something like doxygen, to parse documentation from comments. 2020-08-07T08:01:31Z fe[nl]ix: beach: I'd be extremely grateful if you could point me to an actual documentation system 2020-08-07T08:01:35Z phoe: McParen: you could take a look at Shinmera's documentation-utils 2020-08-07T08:01:40Z Duuqnd joined #lisp 2020-08-07T08:01:46Z beach: It is not added value if a user starts using internal features that happened to be automatically documented, but that may disappear in the future. 2020-08-07T08:01:46Z flip214: phoe: VALUE kept the patch smaller. 2020-08-07T08:01:53Z phoe: flip214: four bytes saved 2020-08-07T08:02:02Z beach: flip214: That's the absolute wrong thing to do. 2020-08-07T08:02:11Z fe[nl]ix: I too rejected docstring-based systems, but now I'm in want of something better 2020-08-07T08:02:24Z beach: flip214: Like I said, comments are meant for the maintainer and documentation strings for the user/client. 2020-08-07T08:02:58Z fe[nl]ix: I settled on manually writing Markdown, but I get no help with cross-refs 2020-08-07T08:03:01Z fe[nl]ix: it's tedious 2020-08-07T08:03:12Z McParen: phoe: I'll look it up, thanks. 2020-08-07T08:03:22Z beach: fe[nl]ix: We might want to aim for something inspired by Concordia. 2020-08-07T08:03:37Z phoe: documentation-utils is a wrapper over SETF DOCUMENTATION 2020-08-07T08:03:43Z phoe: so that still deals with docstrings 2020-08-07T08:04:00Z phoe: anything that is not based on docstrings or comments is the problem that fe[nl]ix and beach are discussing at the moment. 2020-08-07T08:04:12Z beach: fe[nl]ix: As most of us know, our tools infrastructure leaves a lot to be desired. 2020-08-07T08:04:27Z fe[nl]ix: my current effort: https://sionescu.github.io/bordeaux-threads/threads/make-thread/ 2020-08-07T08:05:13Z fe[nl]ix: I went for a CLHS-like layout 2020-08-07T08:05:16Z beach: fe[nl]ix: That does look like real documentation. 2020-08-07T08:05:20Z fe[nl]ix: not sure it's good, but I'm not an expert 2020-08-07T08:05:43Z ljavorsk_ joined #lisp 2020-08-07T08:05:51Z beach: Yeah, me neither. When I emulated the Common Lisp HyperSpec look for the MOP, I got a lot of crap for it. 2020-08-07T08:06:40Z fe[nl]ix: and the main problem is that the sources are barely structured 2020-08-07T08:06:51Z fe[nl]ix: it's really just a little markup 2020-08-07T08:07:30Z phoe: beach: is there any public documentation for Concordia? 2020-08-07T08:07:48Z beach: Not that I am aware of. 2020-08-07T08:07:58Z fe[nl]ix: in a way it's funny that Texinfo can do all that, but the output is atrociously bad 2020-08-07T08:08:00Z beach: Maybe in the Chinual. 2020-08-07T08:08:10Z Duuqnd: Well, there's the documentation that comes with Concordia, but that's all I know of. 2020-08-07T08:08:11Z fe[nl]ix: it's stuck in the '80s 2020-08-07T08:08:26Z fe[nl]ix: is that anywhere online ? 2020-08-07T08:08:40Z fe[nl]ix: for us to take a look 2020-08-07T08:08:41Z Duuqnd: Concordia's documentation is online readable on a Lisp machine as far as I know 2020-08-07T08:08:47Z Duuqnd: s/online/only 2020-08-07T08:08:48Z fe[nl]ix: I see 2020-08-07T08:08:53Z fe[nl]ix: :D 2020-08-07T08:09:27Z Duuqnd: I think Document Examiner had a printing function though so you could probably print it with a virtual printer and get a PDF 2020-08-07T08:09:37Z beach: As I have often said, any markup language is bound to fail to get consensus, simply because there are so many of them that each one is supported by only a small minority of developers. 2020-08-07T08:10:27Z beach: That is why I want to see a documentation system based on CLOS protocols that determine what operations are possible, something that all markup systems seem to fail to provide. 2020-08-07T08:10:48Z beach: Then, different parsers can be provided for different markup languages. 2020-08-07T08:11:00Z fe[nl]ix: a markup system is barely useful so everybody will want their own 2020-08-07T08:11:11Z beach: Yeah, that's part of the problem. 2020-08-07T08:11:18Z luna_is_here quit (Ping timeout: 256 seconds) 2020-08-07T08:11:21Z Duuqnd: Concordia 2 when? 2020-08-07T08:11:30Z beach: Sort of like frameworks for testing. 2020-08-07T08:11:42Z fe[nl]ix: if you build a system that gives users the ability to organize in chapters, with cross-refs, indexes, etc... 2020-08-07T08:11:52Z beach: Duuqnd: jackdaniel has been working on "London", but I don't know what it is like. 2020-08-07T08:11:54Z luna_is_here joined #lisp 2020-08-07T08:11:57Z fe[nl]ix: they will adopt it no matter the markup 2020-08-07T08:12:27Z jdz: beach: I've been intending to look at https://shirakumo.github.io/cl-markless/ one of these days, it seems to be at least halfway in the direction you describe. 2020-08-07T08:13:06Z phoe: http://www.bitsavers.org/pdf/symbolics/software/genera_8/User_s_Guide_to_Symbolics_Concordia_Book_Design.pdf 2020-08-07T08:13:10Z phoe: hmmmmmmmmmm 2020-08-07T08:13:22Z Necktwi quit (Ping timeout: 246 seconds) 2020-08-07T08:13:24Z TDAM joined #lisp 2020-08-07T08:13:29Z phoe: that is not what we are looking for, but it's something 2020-08-07T08:13:29Z flip214: phoe: not the number of bytes is important, but to keep the changes minimal so that it's easier to see the real changes. Like whitespace cleanups should be a separate patch. 2020-08-07T08:13:34Z beach: jdz: Yes, I see. Maybe Shinmera and jackdaniel should talk. 2020-08-07T08:15:13Z Necktwi joined #lisp 2020-08-07T08:16:51Z beach: Oh, wow, "Markless", yet another markup language. I wonder how many are created per time unit? 2020-08-07T08:17:27Z phoe: now this state of things angers me 2020-08-07T08:17:32Z phoe goes off to work on https://github.com/phoe/markful 2020-08-07T08:17:46Z beach: I bet the selling point is that you can then generate output in the form of markup for pretty much all previously existing markup languages. 2020-08-07T08:17:54Z jdz: beach: 1.5 times the rate of testing frameworks. 2020-08-07T08:18:07Z beach: Sounds right. 2020-08-07T08:18:36Z beach: ... and also HTML, PDF, PostScript, Word,... 2020-08-07T08:18:57Z phoe: well, as long as we write documentation in text editors instead of graphical ones we will be forced to reinvent Markdown, poorly 2020-08-07T08:19:22Z flip214: well, pandoc already can convert quite a set of markups into one another - and into word, LaTeX (and therefore PDF), HTML, DocBook, ... 2020-08-07T08:19:33Z pve: perhaps related: org-mode with org-babel can be set up to produce nice looking pdfs (through LaTeX) with syntax highlighted lisp code snippets 2020-08-07T08:19:33Z phoe: and by a text editor is something that merely edits text files instead of understanding them - which in turn is required for xrefs and such 2020-08-07T08:19:38Z flip214: phoe: well, then just use Lyx ;) 2020-08-07T08:19:51Z beach: phoe: Yes, well, one possibility for a documentation system based on CLOS protocols would be to provide a specialized editor for it. 2020-08-07T08:20:05Z phoe: beach: I consider it a necessity rather than a possibility 2020-08-07T08:20:23Z beach: I do too, but I wanted to tread carefully. 2020-08-07T08:20:25Z space_otter quit (Ping timeout: 240 seconds) 2020-08-07T08:20:41Z phoe: oops 2020-08-07T08:20:47Z phoe: well, I guess I'm still too young for careful treading 2020-08-07T08:20:56Z beach: Nah, don't worry about it. :) 2020-08-07T08:21:06Z beach: I just didn't want to scare people. 2020-08-07T08:21:50Z beach: Anyway, when I see this kind of proliferation of markup languages and testing frameworks, I immediately think there is something fundamentally wrong with the very concept. 2020-08-07T08:22:08Z phoe: the current state of documentation in the CL ecosystem is what is the real scary thing 2020-08-07T08:23:33Z fe[nl]ix: Lispers have very high expectations :) 2020-08-07T08:23:37Z beach: I think the only way out is to design some CLOS-based protocols. 2020-08-07T08:23:58Z fe[nl]ix: it's not that much worse than other language environments 2020-08-07T08:24:04Z beach: Then, people can work independently on parsers, PDF generators, editors, whatever. 2020-08-07T08:24:06Z phoe: fe[nl]ix: I guess that I personally do have high expectations after playing a bit with OpenGenera 2020-08-07T08:24:53Z beach: I should look into the state of "London" and maybe give jackdaniel some remarks on it. 2020-08-07T08:24:56Z Duuqnd: I mean, I *could* grab the time machine and stop Symbolics from going under, which would solve the problem... 2020-08-07T08:26:26Z jibanes quit (Ping timeout: 256 seconds) 2020-08-07T08:27:57Z jibanes joined #lisp 2020-08-07T08:28:13Z cosimone joined #lisp 2020-08-07T08:30:52Z jeosol joined #lisp 2020-08-07T08:32:02Z flip214: beach: Documentation _has_ some connections to the software (function names, argument names and types, return types, classes, ...) but the missing part is prose. I'm not sure that a CLOS protocol is the right way to go. 2020-08-07T08:32:20Z phoe: flip214: a lot of prose is already out there 2020-08-07T08:32:29Z aeth: Duuqnd: or a money machine, which is hard, but easier than a time machine 2020-08-07T08:33:11Z phoe: look at all the documentation written that uses all sorts of its own markup languages with manual or no xrefs and/or outdated examples that don't compile and such 2020-08-07T08:33:20Z flip214: I'd imagine letting the user choose his markup and use eg. pandoc to convert to something that can be merged with the details from the image. 2020-08-07T08:33:22Z phoe: (including dpANS) 2020-08-07T08:33:31Z fe[nl]ix: flip214: I think I agree 2020-08-07T08:33:48Z space_otter joined #lisp 2020-08-07T08:33:55Z fe[nl]ix: the hard part is that you need to feed the system some metadata 2020-08-07T08:34:15Z beach: flip214: Maybe it is not clear what I mean. I mean definitions of classes such as paragraphs, words, titles, cross references, and functions such as formatting, etc. 2020-08-07T08:34:36Z beach: flip214: What would be wrong with such a thing in your opinion? 2020-08-07T08:34:54Z fe[nl]ix: semantic data, like what to include in an index, what / where to x-ref, then there's the prose 2020-08-07T08:35:03Z flip214: pandoc already has an internal JSON format defined, that might be a good first guess https://pandoc.org/filters.html 2020-08-07T08:35:29Z countvajhula joined #lisp 2020-08-07T08:35:42Z flip214: beach: ah, you mean the representation of prose as CLOS instances? 2020-08-07T08:36:03Z beach: Yes, of prose, and all the other elements of documentation. 2020-08-07T08:36:17Z phoe: that's a thing that CCLDoc and AsTeR have already reinvented to some degree 2020-08-07T08:36:18Z flip214: I thought you meant (defmethod documentation ((type (eql :class)) (name (eql 'myclass)) (...))) 2020-08-07T08:36:25Z beach: Not at all. 2020-08-07T08:36:29Z Bourne joined #lisp 2020-08-07T08:36:44Z phoe: that's just docstrings though 2020-08-07T08:36:52Z phoe: CL:DOCUMENTATION is very limited in this regard 2020-08-07T08:36:54Z beach: phoe: Do they document the protocols? I thought CCLDoc was only s-expressions. 2020-08-07T08:37:29Z phoe: beach: CCLDoc does not document its protocols; it has an internal structure for documents/paragraphs and such and a way of reading these from sexp files. 2020-08-07T08:37:42Z flip214: fe[nl]ix: well, I had good results with doxygen, so why not define ";;*" as the starting tag of a parsable-comment block? (variable number of semicolons, of course) 2020-08-07T08:37:54Z beach: So again, we are talking I/O, which is precisely what I want to avoid. 2020-08-07T08:37:56Z ark quit (Quit: ZNC 1.7.4 - https://znc.in) 2020-08-07T08:38:05Z phoe: beach: yes, I understand 2020-08-07T08:38:16Z flip214: beach: well, I/O is _exactly_ what the users (the people writing documentation) mostly care about! 2020-08-07T08:38:42Z beach: flip214: And that is no doubt why everybody gets the abstractions wrong. 2020-08-07T08:38:47Z flip214: important points: * easy * quick * known markup format 2020-08-07T08:39:20Z phoe: flip214: that's why we have lots of the I/O and little of the overall cohesion that we want 2020-08-07T08:39:34Z beach: phoe: Exactly! 2020-08-07T08:39:41Z fe[nl]ix: flip214: I don't want to embed documentation in my source files, that's precisely what I want to avoid 2020-08-07T08:39:49Z flip214: also because of the lisp curse 2020-08-07T08:40:13Z beach: fe[nl]ix: Good for you! 2020-08-07T08:40:14Z flip214: fe[nl]ix: well, doxygen also allows to use separate files, we can copy that as well 2020-08-07T08:40:22Z countvajhula quit (Ping timeout: 260 seconds) 2020-08-07T08:40:45Z fe[nl]ix: beach: I'm not sure if that was ironic or not 2020-08-07T08:40:50Z flip214: I'm using that as well... but being able to explain some configuration convention right at the point where it's implemented is very nice 2020-08-07T08:40:51Z beach: Not at all. 2020-08-07T08:41:00Z fe[nl]ix: hahaha 2020-08-07T08:41:11Z beach: fe[nl]ix: Not at all. I totally agree with you. 2020-08-07T08:41:33Z ark joined #lisp 2020-08-07T08:41:35Z toorevitimirp joined #lisp 2020-08-07T08:41:39Z beach thinks that his point of view is not getting across very well. 2020-08-07T08:41:44Z fe[nl]ix: ok 2020-08-07T08:42:46Z fe[nl]ix: pandoc is also inadequate because it's just an engine for transforming between markup formats 2020-08-07T08:42:53Z countvajhula joined #lisp 2020-08-07T08:42:54Z beach: If we put documentation in source files, we need to either use plain text, which is inadequate, or we need to agree on a markup language, which, as I said, we can't. 2020-08-07T08:42:56Z phoe: flip214: ideally you'd be able to right-click that symbol and choose an option to view its documentation 2020-08-07T08:43:10Z fe[nl]ix: it doesn't make it easy to process the info for producing a manual 2020-08-07T08:43:13Z phoe: and that documentation wouldn't be a plain text file 2020-08-07T08:43:29Z phoe: and all of this is infrastructure that we don't have at the moment. 2020-08-07T08:43:43Z beach: phoe: We are in total agreement here. 2020-08-07T08:45:02Z phoe: and all of this infrastructure is absolutely required to avoid the curse of documentation written in plain text and/or yet another markdown derivative 2020-08-07T08:45:03Z fe[nl]ix: unless somebody takes initiative, I hope to write some sort of design doc in the next few months 2020-08-07T08:45:14Z fe[nl]ix: maybe if I take a vacation :D 2020-08-07T08:45:19Z phoe: :D 2020-08-07T08:45:43Z beach: Since we probably need to save documentation to files (given the state of current operating systems), we could use some very simple format like what I use for ASTs in Cleavir: [ :initarg1 :initarg2 ...]. 2020-08-07T08:46:08Z beach: fe[nl]ix: Good plan. Maybe check what jackdaniel did too. 2020-08-07T08:47:15Z flip214: phoe: beach: well, I think we don't need to agree on a markup format. Define a comment tagging mechanism and pass via an argument which format is in use, then use pandoc to convert to whatever representation your UI wants. 2020-08-07T08:47:38Z flip214: defining a new markup type is surely the wrong way to go... 2020-08-07T08:47:43Z countvajhula quit (Ping timeout: 244 seconds) 2020-08-07T08:47:52Z beach: Nobody is suggesting that. 2020-08-07T08:48:06Z flip214: and even my non-lispy vim can fold comment sections away, so if it's in the source files it doesn't _have_ to get in the way. 2020-08-07T08:48:28Z fe[nl]ix: I'll take a note of cl-markless. it does have good ideas 2020-08-07T08:48:36Z beach: *sigh* 2020-08-07T08:48:42Z beach: I think I'll be quiet now. 2020-08-07T08:48:52Z fe[nl]ix: what was jackdaniel's work named ? 2020-08-07T08:48:57Z phoe: London 2020-08-07T08:48:57Z beach: London. 2020-08-07T08:48:58Z TDAM quit (Remote host closed the connection) 2020-08-07T08:49:16Z beach: But I haven't had time to look at it at all, so I don't know whether he is on the right track. 2020-08-07T08:49:31Z fe[nl]ix: does anyone have a link ? 2020-08-07T08:49:32Z beach: I just suspect he is, because he has heard all the arguments. 2020-08-07T08:49:49Z beach: jackdaniel: Do you have a link to "London"? 2020-08-07T08:49:50Z fe[nl]ix: "jackdaniel london" is an unlucky combination to search online 2020-08-07T08:49:56Z fe[nl]ix: right, he's here 2020-08-07T08:54:03Z nirved quit (Ping timeout: 240 seconds) 2020-08-07T08:55:50Z ramus quit (Ping timeout: 256 seconds) 2020-08-07T08:56:44Z ramus joined #lisp 2020-08-07T08:57:52Z cmatei quit (Ping timeout: 265 seconds) 2020-08-07T08:59:28Z jibanes quit (Ping timeout: 256 seconds) 2020-08-07T09:00:55Z jibanes joined #lisp 2020-08-07T09:03:00Z cmatei joined #lisp 2020-08-07T09:05:16Z tourjin joined #lisp 2020-08-07T09:06:24Z treflip quit (Quit: WeeChat 2.6) 2020-08-07T09:08:22Z ajithmk joined #lisp 2020-08-07T09:21:23Z nicktick quit (Ping timeout: 240 seconds) 2020-08-07T09:22:17Z treflip joined #lisp 2020-08-07T09:27:20Z nicktick joined #lisp 2020-08-07T09:34:27Z sympt_ joined #lisp 2020-08-07T09:35:28Z jackdaniel: the name is indeed inspired by Jack London, who was a writer 2020-08-07T09:35:39Z jackdaniel: no, the protytype is not online, it is not useful yet 2020-08-07T09:36:47Z gravicappa joined #lisp 2020-08-07T09:37:01Z sympt quit (Ping timeout: 246 seconds) 2020-08-07T09:39:28Z space_otter quit (Ping timeout: 246 seconds) 2020-08-07T09:40:34Z jackdaniel: (and I didn't work on it lately) 2020-08-07T09:44:55Z jackdaniel: hm, maybe I'll rewrite the clostrum documentation in it to see some rough edges 2020-08-07T09:45:30Z toorevitimirp quit (Quit: Konversation terminated!) 2020-08-07T09:46:12Z nicktick quit (Ping timeout: 265 seconds) 2020-08-07T09:48:48Z dra joined #lisp 2020-08-07T09:55:08Z contrapunctus: phoe, beach, flip214: do y'all need something like this? https://github.com/CommonDoc/scriba 2020-08-07T09:56:54Z jackdaniel: contrapunctus: the point is to have a "live" documentation in a program (in contrast to a source code), with ability to save/restore that documentation 2020-08-07T09:57:36Z jackdaniel: then you can add import/export functionalities, or even live markup parsers when writing the documentation 2020-08-07T09:58:07Z phoe: contrapunctus: oh look, another markup format 2020-08-07T09:58:51Z phoe: if anything, it might be http://commondoc.github.io/docs/overview.html 2020-08-07T09:59:00Z phoe: beach: ^ 2020-08-07T09:59:20Z contrapunctus: phoe: Scriba is what CommonDoc uses 🤨 2020-08-07T09:59:28Z phoe: yes, I see the distinction now 2020-08-07T09:59:39Z phoe: commondoc looks like the set of protocols beach was talking about 2020-08-07T10:00:28Z phoe: and scriba parses to this sort of structure 2020-08-07T10:00:31Z contrapunctus: Where's Eudoxia these days? 🤔 2020-08-07T10:03:45Z dra quit (Quit: Leaving) 2020-08-07T10:08:02Z contrapunctus: Well lol "This library can be considered an implementation of Robert Strandh's suggestion for the creation of a library for representing documents [...]" 2020-08-07T10:08:27Z phoe: wait what 2020-08-07T10:08:31Z tourjin quit (Ping timeout: 246 seconds) 2020-08-07T10:08:33Z phoe: hahahaha 2020-08-07T10:13:55Z orivej joined #lisp 2020-08-07T10:20:46Z orivej quit (Quit: No Ping reply in 180 seconds.) 2020-08-07T10:22:07Z orivej joined #lisp 2020-08-07T10:22:26Z v88m quit (Ping timeout: 260 seconds) 2020-08-07T10:22:33Z markong joined #lisp 2020-08-07T10:22:38Z countvajhula joined #lisp 2020-08-07T10:23:44Z contrapunctus: Oh, great. I'm gonna try using this for TheatreScript. 2020-08-07T10:25:23Z splittist: Documents are not trees. 2020-08-07T10:25:49Z phoe: splittist: you mean because of xrefs? 2020-08-07T10:26:33Z splittist: At least, they're not simple trees. 2020-08-07T10:27:42Z countvajhula quit (Ping timeout: 260 seconds) 2020-08-07T10:27:44Z phoe: what exactly do you mean? 2020-08-07T10:27:53Z splittist: This is a good question. (: 2020-08-07T10:27:59Z phoe: oh 2020-08-07T10:28:00Z phoe: okay 2020-08-07T10:28:55Z splittist: I think most document modelling goes too quickly from the abstract (tree) to the particular (italics, numbered list). There are useful layers that could fit in between. 2020-08-07T10:28:59Z markong quit (Ping timeout: 240 seconds) 2020-08-07T10:29:56Z markoong joined #lisp 2020-08-07T10:30:00Z splittist: Is a paragraph a semantic unit, or a layout one, for example. 2020-08-07T10:31:19Z heredoc joined #lisp 2020-08-07T10:32:24Z orivej quit (Ping timeout: 256 seconds) 2020-08-07T10:32:46Z orivej joined #lisp 2020-08-07T10:41:05Z shifty quit (Ping timeout: 240 seconds) 2020-08-07T10:43:27Z contrapunctus left #lisp 2020-08-07T10:44:00Z contrapunctus joined #lisp 2020-08-07T10:44:28Z orivej_ joined #lisp 2020-08-07T10:47:01Z orivej quit (Ping timeout: 246 seconds) 2020-08-07T10:49:11Z sm2n: good morning 2020-08-07T10:51:05Z orivej_ quit (Ping timeout: 240 seconds) 2020-08-07T11:02:20Z cosimone quit (Quit: Quit.) 2020-08-07T11:03:44Z cosimone joined #lisp 2020-08-07T11:09:56Z phoe: hey hi 2020-08-07T11:12:22Z bitmapper quit (Ping timeout: 260 seconds) 2020-08-07T11:22:31Z random-nick joined #lisp 2020-08-07T11:26:43Z MrtnDk[m]: "phoe" (https://matrix.to/#/@freenode_phoe:matrix.org) Hi. 2020-08-07T11:26:56Z MrtnDk[m]: Good afternoon. 2020-08-07T11:29:09Z TDAM joined #lisp 2020-08-07T11:32:14Z TDAM quit (Remote host closed the connection) 2020-08-07T11:37:19Z madrik quit (Remote host closed the connection) 2020-08-07T11:38:00Z ebrasca joined #lisp 2020-08-07T11:38:43Z phoe: heyyyyy 2020-08-07T11:39:45Z contrapunctus: 😱 2020-08-07T11:42:15Z wxie joined #lisp 2020-08-07T11:48:02Z _whitelogger quit (Remote host closed the connection) 2020-08-07T11:50:14Z _whitelogger joined #lisp 2020-08-07T11:55:25Z wxie quit (Quit: wxie) 2020-08-07T11:55:42Z wxie joined #lisp 2020-08-07T12:00:06Z wxie quit (Ping timeout: 244 seconds) 2020-08-07T12:02:20Z jibanes quit (Ping timeout: 256 seconds) 2020-08-07T12:03:54Z jibanes joined #lisp 2020-08-07T12:08:15Z TwoNotes joined #lisp 2020-08-07T12:12:05Z ebrasca quit (Remote host closed the connection) 2020-08-07T12:13:58Z gko_ joined #lisp 2020-08-07T12:18:27Z tourjin joined #lisp 2020-08-07T12:20:23Z galex-713 quit (Ping timeout: 272 seconds) 2020-08-07T12:22:35Z galex-713 joined #lisp 2020-08-07T12:23:38Z countvajhula joined #lisp 2020-08-07T12:27:00Z Bike joined #lisp 2020-08-07T12:28:27Z countvajhula quit (Ping timeout: 240 seconds) 2020-08-07T12:29:22Z ljavorsk_ quit (Ping timeout: 260 seconds) 2020-08-07T12:30:09Z nicktick joined #lisp 2020-08-07T12:33:51Z McParen left #lisp 2020-08-07T12:37:28Z Inline joined #lisp 2020-08-07T12:40:18Z xlei quit (Ping timeout: 256 seconds) 2020-08-07T12:43:17Z ebrasca joined #lisp 2020-08-07T12:47:13Z hendursaga joined #lisp 2020-08-07T12:47:56Z wsinatra joined #lisp 2020-08-07T12:48:02Z beach: phoe: Heh, so it's good to see that someone is paying attention (referring to commondoc). 2020-08-07T12:48:44Z edgar-rft quit (Quit: Leaving) 2020-08-07T12:51:17Z orivej joined #lisp 2020-08-07T13:00:02Z devrtz quit (Quit: ZNC - http://znc.in) 2020-08-07T13:01:30Z devrtz joined #lisp 2020-08-07T13:03:13Z orivej quit (Ping timeout: 264 seconds) 2020-08-07T13:03:28Z orivej joined #lisp 2020-08-07T13:03:57Z xlei joined #lisp 2020-08-07T13:17:46Z admich joined #lisp 2020-08-07T13:22:24Z tourjin quit (Ping timeout: 256 seconds) 2020-08-07T13:23:31Z admich quit (Quit: y) 2020-08-07T13:27:29Z Josh_2: afternoon 2020-08-07T13:28:25Z phoe: hello 2020-08-07T13:30:01Z lucasb joined #lisp 2020-08-07T13:31:40Z tourjin joined #lisp 2020-08-07T13:37:42Z orivej quit (Ping timeout: 256 seconds) 2020-08-07T13:38:08Z orivej joined #lisp 2020-08-07T13:41:16Z EvW joined #lisp 2020-08-07T13:41:48Z cosimone quit (Quit: Quit.) 2020-08-07T13:43:14Z cosimone joined #lisp 2020-08-07T13:51:54Z ayuce joined #lisp 2020-08-07T13:55:37Z stux|RC quit (Quit: Aloha!) 2020-08-07T13:58:39Z stux|RC joined #lisp 2020-08-07T14:01:07Z rumbler31_ joined #lisp 2020-08-07T14:02:18Z orivej_ joined #lisp 2020-08-07T14:02:22Z orivej quit (Ping timeout: 265 seconds) 2020-08-07T14:03:22Z tourjin quit (Ping timeout: 246 seconds) 2020-08-07T14:04:15Z rippa joined #lisp 2020-08-07T14:07:57Z xkapastel joined #lisp 2020-08-07T14:13:14Z orivej_ quit (Ping timeout: 256 seconds) 2020-08-07T14:13:58Z orivej joined #lisp 2020-08-07T14:15:39Z vhost- quit (Ping timeout: 258 seconds) 2020-08-07T14:15:47Z random-nick quit (Ping timeout: 240 seconds) 2020-08-07T14:16:09Z vhost- joined #lisp 2020-08-07T14:20:36Z whiteline quit (Ping timeout: 256 seconds) 2020-08-07T14:23:59Z whiteline joined #lisp 2020-08-07T14:24:42Z countvajhula joined #lisp 2020-08-07T14:27:33Z Inline: evening 2020-08-07T14:27:44Z beach: Hello Inline. 2020-08-07T14:28:10Z Inline: how do i get rid of sb-kernel:redefinition-with-defmethod warnings ? 2020-08-07T14:28:34Z Inline: especially when it is process bound, i.e. redefining process 2020-08-07T14:28:44Z Inline: hmmm 2020-08-07T14:28:48Z Josh_2: Very cool that bordeaux-threads has a new maintainer 2020-08-07T14:29:16Z jackdaniel: who is the new maintainer? 2020-08-07T14:29:21Z random-nick joined #lisp 2020-08-07T14:29:22Z Josh_2: sionescu 2020-08-07T14:29:25Z jackdaniel: if you mean fe[nl]ix, then he maintains it for years 2020-08-07T14:29:42Z jackdaniel: so not that "new" 2020-08-07T14:29:48Z Josh_2: I will change my statement 2020-08-07T14:29:56Z countvajhula quit (Ping timeout: 256 seconds) 2020-08-07T14:30:01Z Josh_2: very cool that bordeaux-threads is getting new updates :P 2020-08-07T14:30:08Z jackdaniel: :) 2020-08-07T14:33:11Z Josh_2: Very cool that bt is going to be adding atomic supports 2020-08-07T14:33:17Z Josh_2: atomics support* 2020-08-07T14:40:28Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2020-08-07T14:40:31Z countvajhula joined #lisp 2020-08-07T14:41:54Z zigpaw quit (Ping timeout: 260 seconds) 2020-08-07T14:43:44Z contrapunctus left #lisp 2020-08-07T14:44:18Z contrapunctus joined #lisp 2020-08-07T14:45:11Z contrapunctus left #lisp 2020-08-07T14:45:21Z countvajhula quit (Ping timeout: 244 seconds) 2020-08-07T14:45:51Z contrapunctus joined #lisp 2020-08-07T14:46:26Z vidak`` joined #lisp 2020-08-07T14:47:28Z sjl_ joined #lisp 2020-08-07T14:48:43Z zigpaw joined #lisp 2020-08-07T14:50:59Z orivej quit (Ping timeout: 240 seconds) 2020-08-07T14:51:37Z orivej joined #lisp 2020-08-07T14:51:40Z vidak`` quit (Ping timeout: 265 seconds) 2020-08-07T14:58:00Z Oladon joined #lisp 2020-08-07T15:06:49Z jmercouris: oh! really 2020-08-07T15:07:01Z jmercouris: who controls the bordeaux thread “standard”? 2020-08-07T15:07:47Z beach: I guess the self-proclaimed maintainer. 2020-08-07T15:08:20Z Bike: it's a compatibility library rather than a standard, though. it's not like mop 2020-08-07T15:08:24Z jas-at-re joined #lisp 2020-08-07T15:10:25Z liberliver quit (Ping timeout: 240 seconds) 2020-08-07T15:12:44Z dilated_dinosaur quit (Ping timeout: 244 seconds) 2020-08-07T15:14:52Z CrazyEddy quit (Ping timeout: 265 seconds) 2020-08-07T15:15:01Z dilated_dinosaur joined #lisp 2020-08-07T15:18:08Z orivej quit (Remote host closed the connection) 2020-08-07T15:19:18Z orivej joined #lisp 2020-08-07T15:20:06Z thecoffemaker quit (Ping timeout: 256 seconds) 2020-08-07T15:26:13Z thecoffemaker joined #lisp 2020-08-07T15:29:30Z rumbler31_ quit (Ping timeout: 260 seconds) 2020-08-07T15:29:54Z treflip quit (Quit: WeeChat 2.6) 2020-08-07T15:39:13Z phoe: jmercouris: it's fe[nl]ix 2020-08-07T15:41:45Z nicktick quit (Ping timeout: 240 seconds) 2020-08-07T15:43:49Z rumbler31_ joined #lisp 2020-08-07T15:45:47Z Lycurgus joined #lisp 2020-08-07T15:47:31Z shifty joined #lisp 2020-08-07T15:49:57Z Lord_of_Life_ joined #lisp 2020-08-07T15:52:45Z Lord_of_Life quit (Ping timeout: 240 seconds) 2020-08-07T15:54:35Z Lord_of_Life_ quit (Ping timeout: 240 seconds) 2020-08-07T15:56:35Z tourjin joined #lisp 2020-08-07T16:01:23Z Lord_of_Life joined #lisp 2020-08-07T16:01:28Z abhixec quit (Ping timeout: 256 seconds) 2020-08-07T16:04:22Z tristero joined #lisp 2020-08-07T16:05:03Z dominic34 joined #lisp 2020-08-07T16:05:11Z countvajhula joined #lisp 2020-08-07T16:09:08Z orivej quit (Quit: No Ping reply in 180 seconds.) 2020-08-07T16:10:57Z orivej joined #lisp 2020-08-07T16:12:40Z Oladon quit (Quit: Leaving.) 2020-08-07T16:13:34Z dominic34 quit (Ping timeout: 246 seconds) 2020-08-07T16:15:39Z alandipert7 joined #lisp 2020-08-07T16:15:48Z v88m joined #lisp 2020-08-07T16:16:04Z Xu95 joined #lisp 2020-08-07T16:16:11Z countvajhula quit (Ping timeout: 244 seconds) 2020-08-07T16:16:11Z EvW quit (Ping timeout: 244 seconds) 2020-08-07T16:16:34Z countvajhula joined #lisp 2020-08-07T16:18:13Z alandipert quit (Ping timeout: 264 seconds) 2020-08-07T16:18:13Z alandipert7 is now known as alandipert 2020-08-07T16:18:40Z Inline quit (Ping timeout: 265 seconds) 2020-08-07T16:20:25Z countvajhula quit (Remote host closed the connection) 2020-08-07T16:20:39Z countvajhula joined #lisp 2020-08-07T16:24:26Z countvajhula quit (Remote host closed the connection) 2020-08-07T16:24:43Z countvajhula joined #lisp 2020-08-07T16:27:13Z orivej quit (Ping timeout: 264 seconds) 2020-08-07T16:28:33Z countvajhula quit (Remote host closed the connection) 2020-08-07T16:28:50Z countvajhula joined #lisp 2020-08-07T16:30:02Z mindCrime joined #lisp 2020-08-07T16:32:35Z countvajhula quit (Remote host closed the connection) 2020-08-07T16:32:59Z countvajhula joined #lisp 2020-08-07T16:38:00Z countvajhula quit (Ping timeout: 256 seconds) 2020-08-07T16:38:11Z tourjin quit (Ping timeout: 240 seconds) 2020-08-07T16:39:05Z narimiran quit (Ping timeout: 240 seconds) 2020-08-07T16:42:16Z gaqwas quit (Remote host closed the connection) 2020-08-07T16:50:20Z Xu95 quit (Quit: leaving) 2020-08-07T16:56:30Z treflip joined #lisp 2020-08-07T16:58:01Z abhixec joined #lisp 2020-08-07T16:59:46Z gko_ quit (Ping timeout: 256 seconds) 2020-08-07T17:02:55Z Lycurgus quit (Remote host closed the connection) 2020-08-07T17:12:48Z gravicappa quit (Ping timeout: 265 seconds) 2020-08-07T17:18:06Z mankaev quit (Read error: Connection reset by peer) 2020-08-07T17:18:20Z mankaev joined #lisp 2020-08-07T17:21:48Z jmercouris: a defacto spec may not enjoy an official blessing, but is still very powerful 2020-08-07T17:22:35Z phoe: all popular portability libraries are de-facto specifications 2020-08-07T17:23:15Z jmercouris: I know 2020-08-07T17:23:31Z jmercouris: I was just addressing Bike to say that it is still a “standard” in a sense 2020-08-07T17:24:58Z madrik joined #lisp 2020-08-07T17:32:16Z jackdaniel: by standard he meant something what is /expected/ to be implemented by common lisp vendors 2020-08-07T17:32:34Z jackdaniel: as opposed to something implemented by common lisp programmers 2020-08-07T17:54:53Z _death: so, where's the spec? it's just a library that people use.. there are others like it.. and now it'll be two libraries in one 2020-08-07T17:59:23Z Bike: i also meant something that's more exacting about specifications than portability libraries usually are 2020-08-07T18:00:01Z Bike: something that's important with atomics because debugging problems related to them is really annoying. 2020-08-07T18:00:57Z Bike: so like sure a portability library can define a specification, but not very well. 2020-08-07T18:01:29Z aeth: debugging problems related to threads is really annoying, atomics are just unnecessary in single-threaded programs. 2020-08-07T18:02:02Z Bike: no shit? 2020-08-07T18:02:13Z Bike: i meant atomics makes things even worse than normal multithreaded programs. I thought that was obvious. 2020-08-07T18:02:19Z Bike: atomics make* 2020-08-07T18:02:31Z _death: it seems the new interface will have a document associated with it, but it's in a very early state.. https://sionescu.github.io/bordeaux-threads/ 2020-08-07T18:03:40Z Bike: i see, it doesn't even try to expose all of atomics, it just defines a holder class 2020-08-07T18:04:00Z Bike: that's pretty reasonable in light of how patchy things are across implementations per shinmera's tracker 2020-08-07T18:04:26Z abhixec quit (Ping timeout: 256 seconds) 2020-08-07T18:04:50Z fe[nl]ix: Bike: I'm preparing a blog about it 2020-08-07T18:05:07Z fe[nl]ix: but you got the gist of it 2020-08-07T18:05:29Z fe[nl]ix: support is so uneven that I can only export something higher-level 2020-08-07T18:06:04Z fe[nl]ix: an atomic counter, maybe a simple queue 2020-08-07T18:06:13Z fe[nl]ix: can't do much in the current state 2020-08-07T18:06:44Z Bike: yeah. i've thought some about what an actual standard would look like and it would at least require a fair bit of work on every implementation 2020-08-07T18:07:33Z Bike: specially if you want to expose sub-sequential-consistency foot shooting mechanisms 2020-08-07T18:07:47Z fe[nl]ix: not necessarily, they all seem to have the compiler plumbing for it 2020-08-07T18:08:39Z Bike: i didn't see any implementation making guarantees of consistency for non-cas accesses 2020-08-07T18:08:40Z fe[nl]ix: for example, some implementations support atomic ops for struct accessors, but only for boxed slots 2020-08-07T18:08:49Z fe[nl]ix: some only for typed slots 2020-08-07T18:09:23Z Bike: and one of the few libraries i could find using atomics, lparallel, assumes reads are sequentially consistent, i believe 2020-08-07T18:10:18Z Bike: sbcl has some stuff with barriers but it doesn't look very friendly 2020-08-07T18:10:49Z fe[nl]ix: the only implementation that has a documented and well-thought API for barriers seems to be Lispworks 2020-08-07T18:11:03Z Josh_2 quit (Remote host closed the connection) 2020-08-07T18:11:15Z fe[nl]ix: the level of quality if Lispworks is impressive 2020-08-07T18:14:49Z jackdaniel: fwiw ecl has barriers too (re sequential ordering) 2020-08-07T18:16:27Z fe[nl]ix: is that documented ? 2020-08-07T18:17:24Z jackdaniel: it is weird, but they are not 2020-08-07T18:17:37Z jackdaniel: I had to forgot about them when writing that part 2020-08-07T18:18:06Z whiteline quit (Remote host closed the connection) 2020-08-07T18:18:14Z whiteline joined #lisp 2020-08-07T18:19:00Z jackdaniel: ah, barrier and mailbox documentation are commented out in the mp.txi 2020-08-07T18:19:04Z bitmapper joined #lisp 2020-08-07T18:19:09Z jackdaniel: maybe I did not finish that then 2020-08-07T18:19:38Z jackdaniel: yes, only names and index entries are there 2020-08-07T18:19:57Z aeth: jackdaniel: document it so we can say "the level of quality of ECL is impressive"! 2020-08-07T18:20:12Z jackdaniel: native threads on ecl are, well, not impressive 2020-08-07T18:20:45Z jackdaniel: they are certainly useful though and a lot of effort was put to make them work 2020-08-07T18:21:32Z ebrasca quit (Remote host closed the connection) 2020-08-07T18:24:11Z zigpaw quit (Ping timeout: 240 seconds) 2020-08-07T18:26:28Z fe[nl]ix: in what sense are they not impressive ? 2020-08-07T18:28:15Z gaqwas joined #lisp 2020-08-07T18:28:15Z gaqwas quit (Changing host) 2020-08-07T18:28:15Z gaqwas joined #lisp 2020-08-07T18:28:24Z jackdaniel: timeouts are not implemented (I have them working locally, but that needs cleanup I did not have time to apply lately). also, they are based on spinlocks for portability; I suppose using i.e pthreads unices would be better for both cpu and performance 2020-08-07T18:28:57Z jackdaniel: I want to also bring back green threads, so there is n-to-m mapping; but that's another story 2020-08-07T18:31:03Z gaqwas quit (Remote host closed the connection) 2020-08-07T18:32:10Z whiteline quit (Ping timeout: 246 seconds) 2020-08-07T18:36:21Z v0|d joined #lisp 2020-08-07T18:38:29Z zigpaw joined #lisp 2020-08-07T18:39:26Z fe[nl]ix: jackdaniel: once Linux gets support for usermode scheduling, I'd like to experiment with a simpler Lisp before adding that support to SBCL 2020-08-07T18:39:38Z fe[nl]ix: ECL or CCL 2020-08-07T18:39:41Z fe[nl]ix: see https://lkml.org/lkml/2020/7/22/1202 2020-08-07T18:42:44Z p_l: fe[nl]ix: doesn't read to me as full MxN threading... more like another implementation of what was part of QNX RPC port or the code that is part of Android Binder 2020-08-07T18:43:22Z p_l: (where RPC call to another thread transferred your schedule slot as well 2020-08-07T18:44:34Z jw4 quit (Read error: Connection reset by peer) 2020-08-07T18:44:50Z bsd4me joined #lisp 2020-08-07T18:45:01Z jackdaniel: fe[nl]ix: if you have questions regarding ecl (if you decide to experiment with it) please let me know 2020-08-07T18:45:15Z jackdaniel: btw, since I have your attention, bump r.e for-all* macro in fiveam PR 2020-08-07T18:45:26Z jackdaniel is going afk 2020-08-07T18:45:44Z bitmapper quit (Ping timeout: 256 seconds) 2020-08-07T18:46:41Z jw4 joined #lisp 2020-08-07T18:48:10Z Oladon joined #lisp 2020-08-07T18:49:25Z nostoi joined #lisp 2020-08-07T18:53:15Z nostoi quit (Client Quit) 2020-08-07T18:54:43Z fe[nl]ix: p_l: no, that's kernel support for userland scheduling 2020-08-07T18:55:11Z kaftejiman joined #lisp 2020-08-07T18:55:40Z fe[nl]ix: it's technically still 1:1 but the process can determine its scheduling priorities and control switching 2020-08-07T18:55:58Z fe[nl]ix: so in that sense it's similar to Binder 2020-08-07T18:56:36Z fe[nl]ix: the bonus is that all your code still works: mutexes, I/O etc... 2020-08-07T18:56:59Z ayuce quit (Read error: Connection reset by peer) 2020-08-07T18:57:46Z ayuce joined #lisp 2020-08-07T18:59:40Z Josh_2 joined #lisp 2020-08-07T19:04:02Z p_l: Binder did that combined with the RPC - this meant that when you call a "remote" service, you stay in the same scheduler time slice 2020-08-07T19:04:49Z treflip quit (Quit: WeeChat 2.6) 2020-08-07T19:08:16Z ajithmk quit (Quit: Connection closed for inactivity) 2020-08-07T19:08:31Z countvajhula joined #lisp 2020-08-07T19:10:05Z ayuce quit (Remote host closed the connection) 2020-08-07T19:10:44Z MichaelRaskin joined #lisp 2020-08-07T19:14:41Z gaqwas joined #lisp 2020-08-07T19:22:30Z contrapunctus left #lisp 2020-08-07T19:23:16Z ahungry joined #lisp 2020-08-07T19:23:22Z contrapunctus joined #lisp 2020-08-07T19:23:23Z kaftejiman quit (Remote host closed the connection) 2020-08-07T19:24:10Z contrapunctus left #lisp 2020-08-07T19:24:39Z contrapunctus joined #lisp 2020-08-07T19:24:59Z contrapunctus left #lisp 2020-08-07T19:25:28Z rumbler31_ quit (Ping timeout: 256 seconds) 2020-08-07T19:26:04Z contrapunctus joined #lisp 2020-08-07T19:26:39Z xkapastel quit (Quit: Connection closed for inactivity) 2020-08-07T19:27:30Z gaqwas quit (Ping timeout: 260 seconds) 2020-08-07T19:34:33Z gendl: Hi, does usocket support ipv6 sockets? 2020-08-07T19:35:49Z Duuqnd: It does when using SBCL or CCL 2020-08-07T19:36:23Z gaqwas joined #lisp 2020-08-07T19:36:23Z gaqwas quit (Changing host) 2020-08-07T19:36:23Z gaqwas joined #lisp 2020-08-07T19:36:26Z Duuqnd: From usocket's page on common-lisp.net: "(IPv6 support is also in progress and already available for SBCL/CCL with version 0.6.3+)" 2020-08-07T19:37:01Z gendl: ok good - that's all I need for right now 2020-08-07T19:37:28Z rumbler31_ joined #lisp 2020-08-07T19:37:36Z gendl: now i have to make sure i have that version and see how to use it. I'm not seeing an argument for ip version in usocket:socket-listen 2020-08-07T19:39:09Z gendl: Looks like usocket's IPv6 is done for LispWorks as well. 2020-08-07T19:45:21Z gendl: yeah i'm not seeing anything about ipv6 in https://common-lisp.net/project/usocket/api-docs.shtml 2020-08-07T19:46:23Z gendl: aaaand that documentation is from 2010 apparently. 2020-08-07T19:46:39Z EvW1 joined #lisp 2020-08-07T19:49:08Z whiteline joined #lisp 2020-08-07T19:49:10Z Duuqnd: It'll still work, usocket hasn't ever changed much 2020-08-07T19:52:35Z rumbler31_ quit (Ping timeout: 240 seconds) 2020-08-07T19:54:19Z theseb joined #lisp 2020-08-07T19:56:39Z gendl: I think I see my answer at the top of usocket.lisp 2020-08-07T19:56:42Z contrapunctus left #lisp 2020-08-07T19:57:38Z contrapunctus joined #lisp 2020-08-07T19:57:39Z gendl: if you simply specify an ipv6 host to socket-listen, it'll be a ipv6 socket. Or just use *wildcard-host* which will make it listen for ipv6 connections on ipv6 capable systems. 2020-08-07T19:58:45Z contrapunctus left #lisp 2020-08-07T19:58:52Z contrapunctus joined #lisp 2020-08-07T20:02:24Z hendursaga quit (Read error: Connection reset by peer) 2020-08-07T20:03:18Z hendursaga joined #lisp 2020-08-07T20:04:11Z bitmapper joined #lisp 2020-08-07T20:06:30Z phoe: yes 2020-08-07T20:06:45Z phoe: I remember being stung by usocket that making a socket on "localhost" opened a socket on ::1 2020-08-07T20:08:00Z dlowe: hah. That would be super annoying to debug. 2020-08-07T20:08:17Z phoe: thankfully I had unit tests for that 2020-08-07T20:08:26Z phoe: I explicitly connected to "127.0.0.1" on the client 2020-08-07T20:08:34Z vutral joined #lisp 2020-08-07T20:08:42Z phoe: but imagine if I connected to "localhost" instead... 2020-08-07T20:13:07Z mankaev quit 2020-08-07T20:13:17Z mankaev joined #lisp 2020-08-07T20:14:22Z kaftejiman joined #lisp 2020-08-07T20:14:48Z wsinatra quit (Quit: WeeChat 2.9) 2020-08-07T20:15:06Z ayuce joined #lisp 2020-08-07T20:16:05Z gaqwas quit (Remote host closed the connection) 2020-08-07T20:17:32Z MightyJoe quit (Ping timeout: 256 seconds) 2020-08-07T20:17:45Z cyraxjoe joined #lisp 2020-08-07T20:22:06Z lnostdal quit (Quit: "Fascism, Nazism, Communism and Socialism are only superficial variations of the same monstrous theme—collectivism." -- Ayn Rand) 2020-08-07T20:29:24Z narimiran joined #lisp 2020-08-07T20:41:53Z MichaelRaskin: Wait, on ::1, not :: ? 2020-08-07T20:44:39Z MichaelRaskin: Ah right, ::1 for localhost. I wonder when it will listen both protocols on loopback. like :: includes listening on 0.0.0.0 in some cases… 2020-08-07T20:44:48Z orivej joined #lisp 2020-08-07T20:49:32Z gaqwas joined #lisp 2020-08-07T20:49:32Z gaqwas quit (Changing host) 2020-08-07T20:49:32Z gaqwas joined #lisp 2020-08-07T20:52:05Z hvxgr quit (Quit: leaving) 2020-08-07T20:55:31Z karlosz joined #lisp 2020-08-07T20:55:37Z karlosz quit (Remote host closed the connection) 2020-08-07T20:56:47Z greaser|q quit (Changing host) 2020-08-07T20:56:47Z greaser|q joined #lisp 2020-08-07T20:56:50Z greaser|q is now known as GreaseMonkey 2020-08-07T20:59:28Z shifty quit (Ping timeout: 256 seconds) 2020-08-07T20:59:35Z p_l: usocket is too close to BSD sockets :( 2020-08-07T21:02:28Z hvxgr joined #lisp 2020-08-07T21:03:54Z ggole quit (Quit: Leaving) 2020-08-07T21:04:41Z akoana joined #lisp 2020-08-07T21:04:56Z jcowan joined #lisp 2020-08-07T21:05:22Z dra_ joined #lisp 2020-08-07T21:08:28Z jcowan: What are use cases for conditions that are neither errors nor warnings? (I know that storage-condition is neither.) 2020-08-07T21:10:11Z p_l: jcowan: non-local control flow 2020-08-07T21:10:45Z p_l: jcowan: for example, providing a way to select actions deep in your code in clean way 2020-08-07T21:11:22Z p_l: also, the classic example is about interactive REPL, I believe, where technically there's an error 2020-08-07T21:11:47Z jcowan: That sounds more like restarts than conditions. What I am asking is about application condition types that descend neither from `error` nor from `warning`. 2020-08-07T21:12:53Z dra_ is now known as dra 2020-08-07T21:13:29Z xkapastel joined #lisp 2020-08-07T21:13:59Z tristero quit (Ping timeout: 265 seconds) 2020-08-07T21:14:50Z xrash quit (Ping timeout: 256 seconds) 2020-08-07T21:15:57Z countvajhula quit (Ping timeout: 244 seconds) 2020-08-07T21:17:45Z countvajhula joined #lisp 2020-08-07T21:17:45Z mankaev quit (Read error: Connection reset by peer) 2020-08-07T21:19:20Z lonjil: jcowan: all condition handlers can do non-local control flow, and in any case you'd would signal a condition for someone to be able to select a restart even if there's no error or anything to warn about. 2020-08-07T21:20:00Z jcowan: Sure. But what are concrete examples of "exceptional situations"? 2020-08-07T21:20:14Z mankaev joined #lisp 2020-08-07T21:22:34Z countvajhula quit (Ping timeout: 244 seconds) 2020-08-07T21:28:37Z gaqwas quit (Remote host closed the connection) 2020-08-07T21:29:57Z jcowan: I guess resource exhaustion (anything, not just memory) makes sense as a use case. 2020-08-07T21:31:42Z uplime is now known as [ 2020-08-07T21:31:59Z edgar-rft joined #lisp 2020-08-07T21:32:21Z pve: jcowan: I'm writing a small language where the reader/parser may encounter expressions similar to (eval-when ...). When it does, it signals a condition that contains the expression, so that whoever invoked the parser may choose how to handle it (execute or ignore). 2020-08-07T21:32:37Z jcowan: Makes sense 2020-08-07T21:32:38Z pve: not sure if it's good design, but it works for now 2020-08-07T21:32:48Z kaftejiman quit (Remote host closed the connection) 2020-08-07T21:32:53Z pve: this condition is neither error nor warning 2020-08-07T21:34:01Z gaqwas joined #lisp 2020-08-07T21:34:02Z gaqwas quit (Changing host) 2020-08-07T21:34:02Z gaqwas joined #lisp 2020-08-07T21:37:53Z pve: that's my biggest difficulty with conditions, they always make me go "hmm, is this good design or just spaghetti?" 2020-08-07T21:38:38Z narimiran quit (Ping timeout: 260 seconds) 2020-08-07T21:39:12Z markong joined #lisp 2020-08-07T21:39:23Z Oladon quit (Quit: Leaving.) 2020-08-07T21:39:40Z TwoNotes left #lisp 2020-08-07T21:40:07Z markoong quit (Ping timeout: 246 seconds) 2020-08-07T21:46:27Z astronavt quit (Disconnected by services) 2020-08-07T21:46:45Z aeth: pve: and the answer is always yes 2020-08-07T21:47:01Z astronavt___ joined #lisp 2020-08-07T21:48:50Z phoe: pve: you might want to use the idiom of (with-simple-restart (muffle-my-condition "Muffle my condition.) (signal 'my-condition)) 2020-08-07T21:49:25Z phoe: this additionally lets the handler in question prevent next handlers from running, if - for whatever reason - it considers that to be appropriate. 2020-08-07T21:53:23Z aeth: pve: I'd personally make it optional and put it under a keyword argument (or something similar... maybe just a global dynamic variable) so the behavior of ignoring all conditions is implemented as a simple boolean lookup rather than signalling and then ignoring conditions. 2020-08-07T21:54:11Z aeth: Afaik this behavior needs to exist for e.g. --non-interactive in sbcl (or flags that imply that, or other CLs that use other command line flags) 2020-08-07T21:58:47Z pve: phoe: yeah I could do that 2020-08-07T21:59:47Z orivej quit (Remote host closed the connection) 2020-08-07T22:00:53Z pve: aeth: could do that too 2020-08-07T22:01:00Z orivej joined #lisp 2020-08-07T22:04:39Z dominic34 joined #lisp 2020-08-07T22:06:44Z pve: aeth: do you mean that --non-interactive bails on unhandled conditions of type "condition"? 2020-08-07T22:07:40Z aeth: pve: --non-interactive will, which is fine, because when you're using a Lisp non-interactively like that, the two most simple cases in your case would be (1) exit program with an error (basically for "free") or (2) ignore all of your custom conditions 2020-08-07T22:08:56Z aeth: #2 is equally trivial, but if done (no matter where in the program) by signalling and ignoring a condition, it'll be like... 1000x slower than a WHEN around each SIGNAL. If not more. 2020-08-07T22:10:51Z aeth: So if ignoring all is an expected common path, then I think it makes sense to extremely optimize for it in the API by putting a WHEN around each SIGNAL. (You don't need to optimize the exit-with-an-error path, since that doesn't have to be efficient) 2020-08-07T22:13:08Z aeth: phoe's path is not quite the same thing, in case you missed the distinction. That's the case where you handle it (at least) once and after a certain point ignore all of the rest. Although you might be able to modify the variable tested in WHEN there, too. 2020-08-07T22:13:45Z pve: no I got it 2020-08-07T22:13:45Z torbo joined #lisp 2020-08-07T22:14:43Z pve: but I just tried sbcl --non-interactive --load foo.lisp where foo.lisp signals a "condition", and sbcl didn't error out 2020-08-07T22:14:54Z pve: was that what you meant? 2020-08-07T22:14:58Z aeth: oooh, interesting 2020-08-07T22:15:36Z aeth: Is the condition unhandled? 2020-08-07T22:15:44Z fwoaroof[m]: sbcl almost never exits non-zero 2020-08-07T22:15:54Z fwoaroof[m]: unless you call some implementation-specific method to set the exit code 2020-08-07T22:16:09Z pve: yeah, and signalled with (signal 'mycondition) 2020-08-07T22:16:19Z fwoaroof[m]: it's always been a bit annoying, because it's a pain to deal with in CI 2020-08-07T22:16:49Z pve: by error out, I meant didn't show the usual backtrace 2020-08-07T22:16:59Z orivej quit (Remote host closed the connection) 2020-08-07T22:17:48Z pve: so I assume the condition was just not handled and everything was fine 2020-08-07T22:18:03Z fwoaroof[m]: although, maybe that's changed? 2020-08-07T22:18:04Z aeth: fwoaroof[m]: It exists with error code 1 in --non-interactive if it gets an error at compile time. It doesn't always do that with an error? 2020-08-07T22:18:09Z orivej joined #lisp 2020-08-07T22:18:22Z fwoaroof[m]: It's doing that now 2020-08-07T22:18:32Z aeth: yeah, it is: https://gitlab.com/zombie-raptor/zr-utils/-/jobs/667689694 2020-08-07T22:18:50Z fwoaroof[m]: I've had cases, though, where CI was succeeding when I was running dumped images that failed 2020-08-07T22:19:05Z fwoaroof[m]: s/failed/threw erros/ 2020-08-07T22:19:31Z aeth: I manually (uiop:quit 1) at the end of testing (so all tests still run) when I fail at least one test. 2020-08-07T22:19:39Z aeth: But that might be unnecessary when --non-interactive, idk. 2020-08-07T22:19:58Z aeth: (CI only, obviously. It would be annoying to quit after running tests.) 2020-08-07T22:20:16Z fwoaroof[m]: It seems to work as expected now 2020-08-07T22:20:37Z fwoaroof[m]: but, I'm sure I've run into this issue before 2020-08-07T22:24:06Z pve: aeth: ignoring the conditions is not the expected common path, but adding a switch might still be a good idea 2020-08-07T22:26:41Z Oladon joined #lisp 2020-08-07T22:28:59Z orivej quit (Quit: No Ping reply in 180 seconds.) 2020-08-07T22:29:45Z sjl_ quit (Ping timeout: 240 seconds) 2020-08-07T22:30:20Z orivej joined #lisp 2020-08-07T22:30:57Z Archenoth quit (Read error: Connection reset by peer) 2020-08-07T22:32:46Z pve: I guess I could have a dynamic variable that defaults to (constantly nil), which gets called whenever these special expressions are encountered 2020-08-07T22:38:12Z vutral quit (Quit: Connection closed for inactivity) 2020-08-07T22:42:13Z random-nick quit (Ping timeout: 264 seconds) 2020-08-07T22:44:39Z space_otter joined #lisp 2020-08-07T22:45:40Z Duuqnd quit (Read error: Connection reset by peer) 2020-08-07T22:49:23Z aeth: pve: why (constantly nil) instead of just NIL? 2020-08-07T22:49:50Z aeth: pve: I was thinking of something along the lines of (unless *skip* (signal ...)) 2020-08-07T22:50:13Z aeth: (with a more appropriate name, of course) 2020-08-07T22:50:21Z madand quit (Quit: ZNC 1.8.1 - https://znc.in) 2020-08-07T22:51:58Z madand joined #lisp 2020-08-07T22:54:10Z orivej quit (Quit: No Ping reply in 180 seconds.) 2020-08-07T22:55:28Z orivej joined #lisp 2020-08-07T22:56:37Z phoe: pve: hey wait a second 2020-08-07T22:56:48Z phoe: (signal 'foo) won't crash the Lisp process 2020-08-07T22:57:03Z phoe: because it's not meant to 2020-08-07T22:57:06Z pve: phoe: yep, i know 2020-08-07T22:57:13Z phoe: (error 'foo) will 2020-08-07T22:57:23Z pve: didn't say otherwise 2020-08-07T22:57:51Z phoe: sbcl --non-interactive will crash if the debugger is invoked 2020-08-07T22:58:31Z phoe: but SIGNAL doesn't invoke the debugger 2020-08-07T22:58:38Z phoe: so no crash 2020-08-07T22:59:25Z pve: right 2020-08-07T23:00:30Z pve: aeth: was thinking I could just unconditionally call the handler variable, and it could replace the signal 2020-08-07T23:00:51Z pve: but I would have to see how it looks 2020-08-07T23:01:41Z phoe: fwoaroof[m]: https://plaster.tymoon.eu/view/1990#1990 2020-08-07T23:03:56Z pve: phoe: how did you get that ascii art? 2020-08-07T23:04:26Z phoe: pve: https://github.com/Bash-it/bash-it with theme zork 2020-08-07T23:04:54Z aeth: bash, not zsh? 2020-08-07T23:05:05Z aeth: all the fancy modded shells online are zsh (or even fancier) 2020-08-07T23:05:26Z phoe: nope, oh-my-zsh has had a fancy competitor for a while. 2020-08-07T23:05:26Z notzmv quit (Ping timeout: 260 seconds) 2020-08-07T23:05:30Z phoe runs off to #lispcafe 2020-08-07T23:05:42Z aeth: so weird to see people port zsh stuff into bash 2020-08-07T23:05:57Z aeth: all of which are inferior to Common Lisp, of course, since that's the topic here :-p 2020-08-07T23:06:55Z phoe: ;; which in turn is inferior to Elisp since even emacs calls CL *inferior-lisp* 2020-08-07T23:06:58Z phoe ducks 2020-08-07T23:08:45Z aeth: all things are inferior to Emacs running as PID 1 2020-08-07T23:09:34Z rumbler31 joined #lisp 2020-08-07T23:10:08Z pve: phoe: cool theme 2020-08-07T23:10:16Z pve: well time for bed 2020-08-07T23:10:19Z pve waves 2020-08-07T23:10:35Z markong quit (Ping timeout: 240 seconds) 2020-08-07T23:10:48Z jcowan: No, no. Pid 1 isn't Emacs, it's DDT. 2020-08-07T23:10:52Z markong joined #lisp 2020-08-07T23:11:17Z pve quit (Quit: leaving) 2020-08-07T23:17:41Z p_l: jcowan: in case of DDT, it's hard to say if its pid 1 or not 2020-08-07T23:18:52Z theseb quit (Quit: Leaving) 2020-08-07T23:19:03Z jcowan: A mosquito cried out in his pain, 2020-08-07T23:19:03Z jcowan: "A chemist has poisoned my brain!" 2020-08-07T23:19:04Z jcowan: The cause of his sorrow / Was para-dichloro- 2020-08-07T23:19:04Z jcowan: Diphenyltrichloroethane. 2020-08-07T23:21:49Z orivej quit (Ping timeout: 264 seconds) 2020-08-07T23:22:09Z orivej joined #lisp 2020-08-07T23:27:04Z shifty joined #lisp 2020-08-07T23:29:01Z nicktick joined #lisp 2020-08-07T23:31:34Z orivej quit (Ping timeout: 260 seconds) 2020-08-07T23:31:39Z rumbler31 quit (Remote host closed the connection) 2020-08-07T23:31:48Z orivej joined #lisp 2020-08-07T23:33:02Z shifty quit (Ping timeout: 256 seconds) 2020-08-07T23:33:17Z shifty joined #lisp 2020-08-07T23:35:02Z dra quit (Remote host closed the connection) 2020-08-07T23:36:30Z orivej_ joined #lisp 2020-08-07T23:36:49Z orivej quit (Ping timeout: 264 seconds) 2020-08-07T23:42:46Z ahungry quit (Remote host closed the connection) 2020-08-07T23:45:14Z phoe: this is the most intriguing thing I have read on #lisp today 2020-08-07T23:50:14Z bsd4me quit (Quit: Leaving) 2020-08-07T23:53:06Z ayuce quit (Read error: Connection reset by peer) 2020-08-07T23:53:28Z cosimone quit (Quit: Quit.) 2020-08-07T23:54:55Z p_l: phoe: today is young 2020-08-07T23:55:03Z p_l: phoe: you never heard of DDT? 2020-08-07T23:56:25Z phoe: I did not 2020-08-07T23:57:00Z p_l: ah 2020-08-07T23:57:11Z p_l: then you're in a for a treat 2020-08-07T23:57:22Z p_l: in early lisp-related histories 2020-08-07T23:57:35Z cosimone joined #lisp 2020-08-07T23:57:45Z p_l: fortunately today it's much, much easier than it was in ~2005 2020-08-07T23:58:18Z Jesin quit (Quit: Leaving) 2020-08-07T23:59:05Z p_l: https://github.com/PDP-10/its will get you a working MIT AI Lab system, frankenstein version from between 1975 and 1985 2020-08-07T23:59:27Z p_l: including guides on using somewhat late version DDT and getting MACLISP running etc 2020-08-08T00:00:14Z p_l: this will include original EMACS 2020-08-08T00:00:42Z Jesin joined #lisp 2020-08-08T00:05:29Z v3ga joined #lisp 2020-08-08T00:06:18Z v3ga quit (Client Quit) 2020-08-08T00:06:55Z p_l: while somewhat more complex, I recommend prepping the KA-10 version, with Knight TV and vector display 2020-08-08T00:12:54Z xkapastel quit (Quit: Connection closed for inactivity) 2020-08-08T00:17:07Z gendl: so should I be using (openmcl-socket:make-socket :connect :passive :local-address "::" ...) to get an ipv6 socket on CCL/linux? 2020-08-08T00:20:23Z luckless_ quit (Ping timeout: 240 seconds) 2020-08-08T00:26:59Z edgar-rft quit (Quit: Leaving) 2020-08-08T00:32:08Z rumbler31 joined #lisp 2020-08-08T00:35:54Z mrcom quit (Quit: This computer has gone to sleep) 2020-08-08T00:36:10Z mrcom joined #lisp 2020-08-08T00:37:15Z mrcom quit (Client Quit) 2020-08-08T00:37:31Z mrcom joined #lisp 2020-08-08T00:37:46Z mrcom quit (Client Quit) 2020-08-08T00:38:07Z mrcom joined #lisp 2020-08-08T00:39:04Z v3ga joined #lisp 2020-08-08T00:40:01Z mrcom quit (Client Quit) 2020-08-08T00:41:05Z mrcom joined #lisp 2020-08-08T00:41:31Z luckless joined #lisp 2020-08-08T00:42:30Z bsd4me joined #lisp 2020-08-08T00:43:19Z torbo quit (Remote host closed the connection) 2020-08-08T00:45:43Z madage quit (Ping timeout: 240 seconds) 2020-08-08T00:49:23Z shifty quit (Ping timeout: 240 seconds) 2020-08-08T00:49:56Z shifty joined #lisp 2020-08-08T00:50:37Z markong quit (Ping timeout: 264 seconds) 2020-08-08T00:55:34Z nicktick quit (Ping timeout: 260 seconds) 2020-08-08T01:00:05Z wxie joined #lisp 2020-08-08T01:05:22Z justache quit (Ping timeout: 260 seconds) 2020-08-08T01:12:02Z _whitelogger quit (Remote host closed the connection) 2020-08-08T01:14:13Z _whitelogger joined #lisp 2020-08-08T01:15:59Z justache joined #lisp 2020-08-08T01:19:02Z rumbler31 quit (Remote host closed the connection) 2020-08-08T01:19:21Z rumbler31 joined #lisp 2020-08-08T01:23:14Z madage joined #lisp 2020-08-08T01:26:55Z sm2n quit (Remote host closed the connection) 2020-08-08T01:32:19Z contrapunctus left #lisp 2020-08-08T01:32:25Z contrapunctus joined #lisp 2020-08-08T01:36:56Z cjb joined #lisp 2020-08-08T01:40:18Z EvW1 quit (Ping timeout: 260 seconds) 2020-08-08T01:45:45Z zigpaw quit (Ping timeout: 240 seconds) 2020-08-08T01:45:52Z Oladon quit (Quit: Leaving.) 2020-08-08T01:46:15Z zigpaw joined #lisp 2020-08-08T01:46:36Z cosimone quit (Remote host closed the connection) 2020-08-08T01:47:04Z cosimone joined #lisp 2020-08-08T01:47:25Z orivej_ quit (Ping timeout: 240 seconds) 2020-08-08T02:02:05Z wxie quit (Ping timeout: 240 seconds) 2020-08-08T02:03:24Z hendursaga quit (Remote host closed the connection) 2020-08-08T02:04:22Z hendursaga joined #lisp 2020-08-08T02:06:46Z gko_ joined #lisp 2020-08-08T02:08:52Z nicktick joined #lisp 2020-08-08T02:10:00Z orivej joined #lisp 2020-08-08T02:25:12Z avicenna quit (Ping timeout: 260 seconds) 2020-08-08T02:25:31Z drmeister quit (Ping timeout: 244 seconds) 2020-08-08T02:25:47Z Kaisyu quit (Ping timeout: 260 seconds) 2020-08-08T02:25:48Z jlpeters quit (Ping timeout: 260 seconds) 2020-08-08T02:26:27Z jcowan quit (Ping timeout: 240 seconds) 2020-08-08T02:26:41Z bytesighs quit (Ping timeout: 246 seconds) 2020-08-08T02:27:35Z physpi quit (Ping timeout: 244 seconds) 2020-08-08T02:28:06Z jlpeters joined #lisp 2020-08-08T02:28:12Z shifty quit (Ping timeout: 256 seconds) 2020-08-08T02:28:18Z Kaisyu joined #lisp 2020-08-08T02:28:32Z shifty joined #lisp 2020-08-08T02:28:54Z drmeister joined #lisp 2020-08-08T02:29:34Z jlpeters quit (Max SendQ exceeded) 2020-08-08T02:30:10Z fowlduck quit (Ping timeout: 244 seconds) 2020-08-08T02:31:07Z avicenna joined #lisp 2020-08-08T02:32:12Z paul0 joined #lisp 2020-08-08T02:32:21Z jlpeters joined #lisp 2020-08-08T02:32:48Z fowlduck joined #lisp 2020-08-08T02:33:01Z bytesighs joined #lisp 2020-08-08T02:33:42Z Kaisyu quit (Ping timeout: 244 seconds) 2020-08-08T02:33:52Z jcowan joined #lisp 2020-08-08T02:34:56Z kinope: Oh, SBCL can't atomic incf a slot-value. Does anyone have a workaround? 2020-08-08T02:34:58Z physpi joined #lisp 2020-08-08T02:35:35Z Kaisyu joined #lisp 2020-08-08T02:36:02Z mindCrime quit (Ping timeout: 260 seconds) 2020-08-08T02:36:53Z contrapunctus left #lisp 2020-08-08T02:37:16Z contrapunctus joined #lisp 2020-08-08T02:37:16Z shifty quit (Ping timeout: 256 seconds) 2020-08-08T02:37:31Z shifty joined #lisp 2020-08-08T02:43:06Z kinope: found one! 2020-08-08T02:43:44Z john__ joined #lisp 2020-08-08T02:47:04Z gaqwas quit (Ping timeout: 246 seconds) 2020-08-08T02:49:57Z drmeister quit (Ping timeout: 272 seconds) 2020-08-08T02:50:17Z Kaisyu quit (Ping timeout: 260 seconds) 2020-08-08T02:51:02Z dominic34 quit (Ping timeout: 256 seconds) 2020-08-08T02:52:17Z Kaisyu joined #lisp 2020-08-08T02:53:47Z luckless quit (Remote host closed the connection) 2020-08-08T02:53:58Z edgar-rft joined #lisp 2020-08-08T02:54:11Z luckless joined #lisp 2020-08-08T02:56:19Z elosant joined #lisp 2020-08-08T02:57:00Z jlpeters quit (Read error: Connection reset by peer) 2020-08-08T02:57:32Z jlpeters joined #lisp 2020-08-08T02:58:58Z jcowan quit (Ping timeout: 246 seconds) 2020-08-08T03:01:16Z jcowan joined #lisp 2020-08-08T03:01:52Z Alfr__ joined #lisp 2020-08-08T03:04:05Z Alfr_ quit (Ping timeout: 244 seconds) 2020-08-08T03:05:00Z drmeister joined #lisp 2020-08-08T03:06:58Z jcowan left #lisp 2020-08-08T03:14:42Z elosant quit (Quit: WeeChat 2.9) 2020-08-08T03:18:41Z mindCrime joined #lisp 2020-08-08T03:19:35Z jgodbout: In https://github.com/qitab/cl-protobufs/blob/master/tests/full-tests.lisp I have 2020-08-08T03:19:46Z jgodbout: (defparameter *optional-field-info* '(... (optional-bytes "" #.(make-array '(3) :element-type '(unsigned-byte 8) :initial-contents '(49 49 54))) ...) 2020-08-08T03:19:56Z jgodbout: at run time it tells me the type of optional-bytes is (simple-array 3), but the type information gets removed... 2020-08-08T03:20:03Z jgodbout: but only in abcl, not sbcl or ccl 2020-08-08T03:21:05Z jgodbout: any ideas? 2020-08-08T03:21:48Z aeth: try (upgraded-array-element-type '(unsigned-byte 8)) 2020-08-08T03:22:17Z aeth: If it's T, then ABCL doesn't support it. Only bit and character are required afaik. 2020-08-08T03:22:32Z shifty quit (Ping timeout: 256 seconds) 2020-08-08T03:22:32Z aeth: It's really weird not to have octet arrays, though 2020-08-08T03:23:04Z jgodbout: Afterward if I go and C-c C-c it works 2020-08-08T03:23:05Z shifty joined #lisp 2020-08-08T03:23:14Z jgodbout: So abcl has the type 2020-08-08T03:23:26Z aeth: maybe its interpreter is behaving differently than its compiler, then? 2020-08-08T03:23:41Z aeth: SBCL doesn't even use its interpreter in its REPL, it just compiles to /tmp iirc 2020-08-08T03:23:50Z aeth: But traditionally, the REPL is interpreted. 2020-08-08T03:31:46Z fe[nl]ix: jgodbout: ABCL might be losing type info of literal specialized simple-array instances 2020-08-08T03:32:18Z fe[nl]ix: something related to make-load-form perhaps 2020-08-08T03:34:07Z aeth: ooooh, nice thought 2020-08-08T03:34:37Z wxie joined #lisp 2020-08-08T03:39:02Z _whitelogger quit (Remote host closed the connection) 2020-08-08T03:41:13Z _whitelogger joined #lisp 2020-08-08T03:41:42Z wxie quit (Ping timeout: 260 seconds) 2020-08-08T03:45:00Z beach: Good morning everyone! 2020-08-08T03:45:50Z dominic34 joined #lisp 2020-08-08T03:45:58Z shifty quit (Ping timeout: 265 seconds) 2020-08-08T03:46:33Z shifty joined #lisp 2020-08-08T03:48:00Z lucasb quit (Quit: Connection closed for inactivity) 2020-08-08T03:54:45Z philweb joined #lisp 2020-08-08T03:58:00Z contrapunctus: Good morning, beach 2020-08-08T03:58:19Z Bike quit (Quit: leaving) 2020-08-08T04:01:25Z Tordek quit (Ping timeout: 240 seconds) 2020-08-08T04:03:00Z Lord_of_Life_ joined #lisp 2020-08-08T04:05:30Z Lord_of_Life quit (Ping timeout: 260 seconds) 2020-08-08T04:05:31Z Lord_of_Life_ is now known as Lord_of_Life 2020-08-08T04:06:13Z rumbler31 quit (Remote host closed the connection) 2020-08-08T04:06:52Z vert2_ quit (Ping timeout: 246 seconds) 2020-08-08T04:08:53Z ldb joined #lisp 2020-08-08T04:11:37Z Tordek joined #lisp 2020-08-08T04:13:25Z orivej quit (Ping timeout: 240 seconds) 2020-08-08T04:14:16Z jgodbout: https://abcl.org/svn/public_html/doc/abcl-start.html#batch It is currently not known what this option does. 2020-08-08T04:15:04Z orivej joined #lisp 2020-08-08T04:17:06Z vert2 joined #lisp 2020-08-08T04:18:14Z philweb: any recommendations/pointers on building a small-ish sbcl image for use on a mobile device? I did some poking around on tree shakers and what little I found didn't seem to favor that approach 2020-08-08T04:19:12Z contrapunctus: philweb: any reason you're using SBCL rather than ECL for that? 2020-08-08T04:19:38Z contrapunctus: jgodbout: lmao 2020-08-08T04:20:09Z jgodbout: ? 2020-08-08T04:20:25Z jgodbout: ah i see 2020-08-08T04:21:25Z philweb: only that I'm more familiar with sbcl and know it runs reasonably well on 64-bit arm. I'm open to ecl if you think that would be a better option for this use case 2020-08-08T04:28:26Z bhartrihari: philweb: If you want to make apps for android or iOS then EQL5-Android allows you to do that using ECL. If you just want to run some lisp code on ARM sbcl (though single threaded, IIRC) should be fine. CCL might be preferred here because it has threads if you need them on ARM. 2020-08-08T04:31:20Z philweb: bhartrihari: my app will actually be running on linux (i.e. pinephone for now) and have moderate ffi needs (gtk etc) 2020-08-08T04:31:39Z ldb: i find that a space efficient way to implement property list is let a hash-table of keys with each entry hold a hash-table of value to each objects 2020-08-08T04:31:39Z bhartrihari: I see. 2020-08-08T04:31:49Z philweb: ccl doesn't appear to be an option here due to lack of 64-bit arm support currently 2020-08-08T04:32:51Z gravicappa joined #lisp 2020-08-08T04:42:55Z shifty quit (Ping timeout: 246 seconds) 2020-08-08T04:44:48Z edgar-rft quit (Quit: Leaving) 2020-08-08T04:48:02Z _whitelogger quit (Remote host closed the connection) 2020-08-08T04:50:13Z _whitelogger joined #lisp 2020-08-08T04:55:52Z jlarocco joined #lisp 2020-08-08T04:57:01Z sympt_ quit (Ping timeout: 265 seconds) 2020-08-08T04:58:13Z sympt joined #lisp 2020-08-08T05:03:47Z abhixec joined #lisp 2020-08-08T05:06:45Z rumbler31 joined #lisp 2020-08-08T05:28:48Z john__ is now known as gaqwas 2020-08-08T05:28:57Z gaqwas quit (Changing host) 2020-08-08T05:28:57Z gaqwas joined #lisp 2020-08-08T05:32:05Z ldb quit (Ping timeout: 240 seconds) 2020-08-08T05:34:20Z ldb joined #lisp 2020-08-08T05:34:45Z leo_song quit (Ping timeout: 240 seconds) 2020-08-08T05:39:46Z dominic34 quit (Ping timeout: 260 seconds) 2020-08-08T05:39:54Z ldb quit (Ping timeout: 256 seconds) 2020-08-08T05:46:45Z EvW joined #lisp 2020-08-08T05:55:12Z bsd4me quit (Quit: Leaving) 2020-08-08T06:03:28Z jgodbout quit (Ping timeout: 256 seconds) 2020-08-08T06:03:31Z narimiran joined #lisp 2020-08-08T06:03:39Z hatxuu joined #lisp 2020-08-08T06:04:54Z leo_song joined #lisp 2020-08-08T06:05:17Z hatxuu left #lisp 2020-08-08T06:11:24Z Oladon joined #lisp 2020-08-08T06:18:46Z ldb joined #lisp 2020-08-08T06:18:50Z ldb: I have a CLOS question: if I have a class allocation slot with initform that makes a hashtable, will this solt reinitialized when a subclass is created? 2020-08-08T06:19:30Z akoana left #lisp 2020-08-08T06:29:45Z shifty joined #lisp 2020-08-08T06:32:38Z mfiano: Not unless you pass a different value with :initform or :default-initargs 2020-08-08T06:36:00Z orivej quit (Ping timeout: 256 seconds) 2020-08-08T06:41:47Z ldb quit (Ping timeout: 240 seconds) 2020-08-08T06:41:54Z ldb_ joined #lisp 2020-08-08T06:44:42Z EvW quit (Ping timeout: 244 seconds) 2020-08-08T06:46:41Z jlarocco quit (Remote host closed the connection) 2020-08-08T06:48:29Z ldb_: from some testing with CCL seems re-eval the defclass won't cause the hashtable to be recreated 2020-08-08T06:48:52Z mrcom quit (Quit: This computer has gone to sleep) 2020-08-08T06:49:35Z ldb_: mfiano: thanks 2020-08-08T06:50:44Z mrcom joined #lisp 2020-08-08T06:51:07Z mrcom quit (Client Quit) 2020-08-08T06:51:34Z narimiran quit (Ping timeout: 265 seconds) 2020-08-08T06:53:02Z mrcom joined #lisp 2020-08-08T07:00:03Z _whitelogger quit (Remote host closed the connection) 2020-08-08T07:02:14Z _whitelogger joined #lisp 2020-08-08T07:04:47Z fwoaroof[m] quit (Changing host) 2020-08-08T07:04:47Z fwoaroof[m] joined #lisp 2020-08-08T07:04:47Z fwoaroof[m] quit (Changing host) 2020-08-08T07:04:47Z fwoaroof[m] joined #lisp 2020-08-08T07:07:44Z ldb_ quit (Quit: leaving) 2020-08-08T07:11:03Z Oladon quit (Quit: Leaving.) 2020-08-08T07:20:08Z pve joined #lisp 2020-08-08T07:26:31Z notzmv joined #lisp 2020-08-08T07:40:42Z treflip joined #lisp 2020-08-08T07:52:23Z bilegeek joined #lisp 2020-08-08T07:57:09Z aurelius joined #lisp 2020-08-08T07:57:20Z aurelius quit (Read error: Connection reset by peer) 2020-08-08T08:04:22Z space_otter quit (Remote host closed the connection) 2020-08-08T08:07:40Z hendursa1 joined #lisp 2020-08-08T08:10:03Z hendursaga quit (Ping timeout: 240 seconds) 2020-08-08T08:16:04Z easye: minion: memo for jgodbout: unfortunately that is an outdated piece of documentation, the ABCL User Manual describes is as "evaluates forms specified by arguments and in the initialization file ~/.abclrc, and then exits without starting a REPL". 2020-08-08T08:16:05Z minion: Remembered. I'll tell jgodbout when he/she/it next speaks. 2020-08-08T08:16:09Z mindCrime quit (Ping timeout: 265 seconds) 2020-08-08T08:25:30Z philweb quit (Ping timeout: 245 seconds) 2020-08-08T08:40:31Z narimiran joined #lisp 2020-08-08T08:42:03Z narimiran quit (Client Quit) 2020-08-08T08:48:19Z minion quit (Remote host closed the connection) 2020-08-08T08:48:19Z specbot quit (Remote host closed the connection) 2020-08-08T08:49:08Z specbot joined #lisp 2020-08-08T08:49:08Z minion joined #lisp 2020-08-08T08:51:11Z cjb quit (Quit: 👋) 2020-08-08T08:51:15Z bilegeek quit (Quit: Leaving) 2020-08-08T08:52:19Z orivej joined #lisp 2020-08-08T08:59:08Z madrik quit (Quit: ERC (IRC client for Emacs 26.1)) 2020-08-08T09:04:47Z v3ga quit (Ping timeout: 260 seconds) 2020-08-08T09:05:11Z v3ga joined #lisp 2020-08-08T09:28:40Z gko_ quit (Ping timeout: 256 seconds) 2020-08-08T09:29:22Z shifty quit (Ping timeout: 260 seconds) 2020-08-08T09:30:42Z shifty joined #lisp 2020-08-08T09:40:21Z mankaev quit (Ping timeout: 272 seconds) 2020-08-08T09:43:59Z galex-713 quit (Ping timeout: 244 seconds) 2020-08-08T09:44:53Z mankaev joined #lisp 2020-08-08T09:44:53Z galex-713 joined #lisp 2020-08-08T09:58:10Z mankaev quit (Read error: Connection reset by peer) 2020-08-08T09:58:46Z mankaev joined #lisp 2020-08-08T09:59:50Z shifty quit (Ping timeout: 256 seconds) 2020-08-08T10:00:02Z shifty joined #lisp 2020-08-08T10:08:26Z sm2n joined #lisp 2020-08-08T10:12:52Z galex-713 quit (Ping timeout: 256 seconds) 2020-08-08T10:17:01Z galex-713 joined #lisp 2020-08-08T10:19:06Z v88m quit (Ping timeout: 256 seconds) 2020-08-08T10:37:47Z bhartrihari left #lisp 2020-08-08T10:38:05Z bhartrihari joined #lisp 2020-08-08T10:56:21Z ldb joined #lisp 2020-08-08T10:57:54Z galex-713 quit (Ping timeout: 256 seconds) 2020-08-08T10:58:19Z galex-713 joined #lisp 2020-08-08T11:09:23Z bitmapper quit (Ping timeout: 240 seconds) 2020-08-08T11:10:18Z wxie joined #lisp 2020-08-08T11:19:30Z wxie quit (Ping timeout: 260 seconds) 2020-08-08T11:20:31Z hiroaki quit (Ping timeout: 246 seconds) 2020-08-08T11:22:34Z liberliver joined #lisp 2020-08-08T11:24:10Z ldb quit (Ping timeout: 260 seconds) 2020-08-08T11:25:48Z ldb joined #lisp 2020-08-08T11:27:07Z vutral joined #lisp 2020-08-08T11:29:05Z VincentVega joined #lisp 2020-08-08T11:30:35Z VincentVega: Hi all, wondering, is there a convention for naming slot accessors? 2020-08-08T11:31:23Z VincentVega: I am thinking, get-name would name a getter, but not an accessor... 2020-08-08T11:34:22Z ldb: you might just use slot name default to accessor 2020-08-08T11:35:32Z VincentVega: ldb: yeah, but that could conflit with some function already in existence. and in that case, renaming the slot accessor would be inconsistent. 2020-08-08T11:35:35Z treflip: I know that sometimes slots and acessors are named exactly the same, but slots are prefixed with % 2020-08-08T11:37:19Z ldb: VincentVega: if the class name is not long, classname- can be the prefix 2020-08-08T11:37:43Z VincentVega: treflip: I saw somewhere that % is used for low-level dangerous functions... though that gives me an idea to name the accessors @name 2020-08-08T11:37:44Z pve: VincentVega: name-of is another possibility 2020-08-08T11:38:49Z VincentVega: ldb: yeah that's a possibility 2020-08-08T11:39:00Z VincentVega: pve: hmmm yeah looks decent 2020-08-08T11:40:21Z VincentVega: oh, I forgot that @ is not really an option 2020-08-08T11:42:57Z VincentVega: or wait it is though 2020-08-08T11:43:28Z ayuce joined #lisp 2020-08-08T11:43:41Z ggole joined #lisp 2020-08-08T11:53:54Z shifty quit (Ping timeout: 256 seconds) 2020-08-08T11:55:24Z random-nick joined #lisp 2020-08-08T12:02:00Z treflip quit (Quit: WeeChat 2.6) 2020-08-08T12:14:09Z dra joined #lisp 2020-08-08T12:15:13Z Josh_2: Afternoon all 2020-08-08T12:15:36Z ldb: Josh_2: hello 2020-08-08T12:18:07Z treflip joined #lisp 2020-08-08T12:23:54Z bhartrihari left #lisp 2020-08-08T12:24:36Z bhartrihari joined #lisp 2020-08-08T12:27:14Z boeg joined #lisp 2020-08-08T12:33:29Z EvW joined #lisp 2020-08-08T12:36:51Z bhartrihari left #lisp 2020-08-08T12:37:11Z bhartrihari joined #lisp 2020-08-08T12:37:18Z galex-713 quit (Ping timeout: 256 seconds) 2020-08-08T12:38:22Z zigpaw quit (Ping timeout: 260 seconds) 2020-08-08T12:39:02Z kopiyka quit (Remote host closed the connection) 2020-08-08T12:39:34Z hendursa1 quit (Quit: hendursa1) 2020-08-08T12:39:49Z hendursaga joined #lisp 2020-08-08T12:39:49Z wxie joined #lisp 2020-08-08T12:43:02Z orivej quit (Ping timeout: 260 seconds) 2020-08-08T12:46:16Z wxie quit (Ping timeout: 246 seconds) 2020-08-08T12:47:02Z galex-713 joined #lisp 2020-08-08T12:49:11Z zigpaw joined #lisp 2020-08-08T12:59:06Z _jrjsmrtn joined #lisp 2020-08-08T13:00:13Z __jrjsmrtn__ quit (Ping timeout: 264 seconds) 2020-08-08T13:14:45Z beach: VincentVega: The best choice is not to prefix or suffix the accessor with anything in particluar. 2020-08-08T13:16:03Z beach: VincentVega: The convention of prefixing with the class name looks really dumb when you have subclasses, so in CLIM, for instance, you see things like (SHEET-PARENT PANE). It would have been much better to just name it PARENT rather than SHEET-PARENT. 2020-08-08T13:16:42Z beach: VincentVega: And the convention of prefixing with GET- is not used in Common Lisp, other than some names that are there for historical reasons. 2020-08-08T13:17:51Z scymtym: i thought CLIM used the protocol name (which admittedly coincides with the name of the corresponding protocol class) 2020-08-08T13:18:23Z beach: Maybe so. But it still looks strange when applied to an instance of a subclass. 2020-08-08T13:19:24Z scymtym: sure, i would have preferred the {pre,suf}fix-less version as well 2020-08-08T13:20:01Z gko_ joined #lisp 2020-08-08T13:20:19Z beach: We don't have a choice with an existing specification, but we can recommend the *fix-less version for new code. 2020-08-08T13:20:57Z beach: And I personally don't like the -OF convention, but I have no objective argument against it. 2020-08-08T13:21:46Z mangoicedtea joined #lisp 2020-08-08T13:22:39Z VincentVega: beach: Yeah, prefixing a class name looks overly verbose. I am currently considering slot@ which is both short and unlikely to create a clash. 2020-08-08T13:24:19Z ralt joined #lisp 2020-08-08T13:24:43Z ldb: there's a set of interesting conventions in KEIM that uses + = ~ * for different kinds of names 2020-08-08T13:27:18Z ldb: guess might need a feature to hide a name in current package and refer it with certain prefix 2020-08-08T13:27:43Z cacao26 joined #lisp 2020-08-08T13:29:24Z VincentVega: ldb: tnx I'll check it out 2020-08-08T13:30:30Z ldb: VincentVega: i don't recommend to adopt it, because that was based on a customized module system 2020-08-08T13:31:23Z VincentVega: ldb: I see, alright 2020-08-08T13:34:02Z enrio joined #lisp 2020-08-08T13:34:02Z VincentVega41 joined #lisp 2020-08-08T13:34:15Z VincentVega41 left #lisp 2020-08-08T13:34:44Z VincentVega99 joined #lisp 2020-08-08T13:36:20Z VincentVega quit (Ping timeout: 245 seconds) 2020-08-08T13:37:09Z cacao26 is now known as cacao 2020-08-08T13:37:56Z ldb quit (Quit: leaving) 2020-08-08T13:37:59Z beach: VincentVega99: Where would you put the @? 2020-08-08T13:38:38Z dra quit (Remote host closed the connection) 2020-08-08T13:39:01Z VincentVega99: beach: at the end of the slot name I think, like this (slot@ obj) 2020-08-08T13:39:51Z beach: VincentVega99: There is no "clash" with the slot name, so people like Xach use the same name for the slot and the accessor, considering that any use of SLOT-VALUE is a no-no. I myself prefix the slot name with %, which is already used traditionally in Common Lisp to mean "private" or "watch out". 2020-08-08T13:40:29Z beach: VincentVega99: So then, client code who uses SLOT-VALUE would have to type package::%slot-name, where both :: and % indicates that something is off. 2020-08-08T13:41:57Z liberliver quit (Quit: liberliver) 2020-08-08T13:43:42Z kaftejiman joined #lisp 2020-08-08T13:44:57Z vutral quit (Quit: Connection closed for inactivity) 2020-08-08T13:46:20Z VincentVega99: beach: Oh, I don't mean the clash to be a clash with the slot name, but rather with a function defined somewhere else in the package (smth like range, I mean, it's not unimaginable). But, yeah, I see the use of % for the slots which aren't meant to be accessed directly. 2020-08-08T13:46:49Z beach: A slot name cannot class with a function name. They are in different name spaces. 2020-08-08T13:47:23Z beach: VincentVega99: Slots are never meant to be accessed directly. 2020-08-08T13:47:28Z beach: They are implementation details. 2020-08-08T13:48:20Z Duuqnd joined #lisp 2020-08-08T13:48:48Z VincentVega99: beach: Hmmm yes indeed, that's oop done the right way. 2020-08-08T13:49:44Z beach: Even slots that are used only within a particular module can benefit from being accessed through accessors, because you can then define auxiliary methods on the accessor generic functions. 2020-08-08T13:50:36Z bhartrihari left #lisp 2020-08-08T13:50:50Z bhartrihari joined #lisp 2020-08-08T13:54:35Z VincentVega99: beach: auxilary methods is a good point, can't argue with that 2020-08-08T13:58:25Z beach: Another point is that, if you ever want to change from one characteristic being stored to being calculated, or vice versa, then if you use SLOT-VALUE you have to change it everywhere. 2020-08-08T13:59:55Z beach: A simple example would be the CIRCUMFERENCE of a geometric figure. You may very well decide at some point that it should be calculated and then at some later point that it should be stored, or the other way around. 2020-08-08T14:03:09Z VincentVega99: beach: hey, man, I think there's a misunderstanding. I didn't really plan to name the slot any differently, just the accessor. So, like this https://pastebin.com/qTQkv4ju 2020-08-08T14:07:50Z beach: That's a terrible idea. 2020-08-08T14:08:16Z beach: There is no such convention in Common Lisp, and the name of the accessor is what is typically exported. 2020-08-08T14:08:26Z bhartrihari left #lisp 2020-08-08T14:08:33Z beach: Now you have client code know whether it is a slot accessor or not. 2020-08-08T14:09:18Z beach: So if you had CIRCUMFERENCE before (calculated) you now have to tell your client to change all his or her code, when you decide to store it, and therefore you now call it CIRCUMFERENCE@. 2020-08-08T14:12:03Z beach: You would not end up in that situation, any more than you would end up wanting the same name for two different ordinary functions in a module. Different purposes imply different names. 2020-08-08T14:13:44Z cacao quit (Quit: Konversation terminated!) 2020-08-08T14:14:19Z VincentVega99: beach: "tell your client to change all his or her code, when you decide to store it" Sorry, but I am failing to see how that's the case if the convention in the package is to call all accessors CIRCUMFERENCE@ from the beginning 2020-08-08T14:15:07Z VincentVega99: beach: "Different purposes imply different names." I agree, maybe I am worried without a good reason about this 2020-08-08T14:15:28Z beach: I am saying that it is not an accessor from the beginning. You write your code like this (defgeneric circumference (object) ;; compute from stored information in the object... 2020-08-08T14:16:17Z beach: Then you change your mind, and store the circumference to avoid computing it each time, so now you have a slot (circumference :accessor circumference@). Now your client must change his or her code. 2020-08-08T14:16:31Z orivej joined #lisp 2020-08-08T14:17:10Z beach: Look, you wanted to know the conventions, and you asked for advice. You got it. But I have the impression you just wanted to have your initial idea OK-d by #lisp. 2020-08-08T14:17:17Z treflip quit (Quit: WeeChat 2.8) 2020-08-08T14:18:18Z VincentVega99: beach: I am not complaining, that's what I came here for (both for advice and for the idea to be OK'd) : ) And yes, now I see what you mean. 2020-08-08T14:18:29Z beach: Good. 2020-08-08T14:18:34Z VincentVega99: beach: thanks! 2020-08-08T14:18:41Z beach: Pleasure. 2020-08-08T14:21:34Z orivej quit (Ping timeout: 256 seconds) 2020-08-08T14:27:24Z mangoicedtea quit (Quit: Leaving) 2020-08-08T14:38:09Z hiroaki joined #lisp 2020-08-08T14:39:44Z kaftejiman quit (Remote host closed the connection) 2020-08-08T14:41:02Z contrapunctus: VincentVega99: I just happened to be reading about this subject in PCL today - http://www.gigamonkeys.com/book/object-reorientation-classes.html 2020-08-08T14:42:07Z contrapunctus: (You probably want to start from the previous chapter, though, if you want to understand the examples - http://www.gigamonkeys.com/book/object-reorientation-generic-functions.html ) 2020-08-08T14:47:12Z EvW quit (Ping timeout: 260 seconds) 2020-08-08T14:47:16Z treflip joined #lisp 2020-08-08T14:53:00Z edgar-rft joined #lisp 2020-08-08T14:58:28Z VincentVega99: contrapunctus: thanks for the links, it's about time I read up on clos a bit more thoroughly than a few examples 2020-08-08T15:00:51Z wsinatra joined #lisp 2020-08-08T15:09:04Z sympt quit (Ping timeout: 246 seconds) 2020-08-08T15:11:01Z sympt joined #lisp 2020-08-08T15:13:59Z jeosol19 joined #lisp 2020-08-08T15:16:44Z jeosol quit (Ping timeout: 245 seconds) 2020-08-08T15:22:44Z treflip quit (Quit: WeeChat 2.6) 2020-08-08T15:28:10Z philweb joined #lisp 2020-08-08T15:50:05Z jeosol19 quit (Ping timeout: 245 seconds) 2020-08-08T15:52:23Z bhartrihari joined #lisp 2020-08-08T15:53:40Z philweb: anyone familiar with floating point exception handling in ECL? I'm having problems disabling either within ECL or from the command line and not sure if my issue is that the docs are outdated/incorrect documentation or if I'm just misunderstanding them 2020-08-08T15:54:46Z bsd4me joined #lisp 2020-08-08T15:58:05Z ralt quit (Quit: Connection closed for inactivity) 2020-08-08T15:59:08Z shka_: jackdaniel: ^^ 2020-08-08T16:03:35Z phoe: philweb: does https://github.com/Shinmera/float-features contain a solution for your problem? 2020-08-08T16:03:45Z Lord_of_Life quit (Ping timeout: 240 seconds) 2020-08-08T16:06:51Z Lord_of_Life joined #lisp 2020-08-08T16:10:54Z wsinatra quit (Quit: WeeChat 2.9) 2020-08-08T16:10:56Z philweb: phoe: it looks like the same thing I've tried: (si::trap-fpe :divide-by-zero nil) but then I still get an error with (/ 1 0). I also tried setting it to t rather than nil thinking I had it backwards... no change 2020-08-08T16:11:22Z Lord_of_Life_ joined #lisp 2020-08-08T16:12:34Z Lord_of_Life quit (Ping timeout: 260 seconds) 2020-08-08T16:12:42Z Lord_of_Life_ is now known as Lord_of_Life 2020-08-08T16:20:05Z jackdaniel: 1 0 division is not fp operation though 2020-08-08T16:20:14Z jackdaniel: try 1.0 0.0 2020-08-08T16:22:23Z ramenbytes joined #lisp 2020-08-08T16:23:00Z ramenbytes quit (Remote host closed the connection) 2020-08-08T16:23:38Z flip214: has someone succeeded in using sbcl on android? so that some fasl file gets loaded as an app? 2020-08-08T16:24:27Z flip214: I just remembered that I have an ARM32 pre-build binary floating around, that might just work 2020-08-08T16:29:17Z phoe: philweb: #'/ on rationals will not output a float, but a rational, which is why, as jackdaniel said, there's no float division and therefore no float exceptions to mask 2020-08-08T16:29:46Z philweb: jackdaniel: doh! right you are. thanks... so it looks like a combination of outdated docs (the docs indicate division-by-zero rather than divide-by-zero) and then me screwing up testing it 2020-08-08T16:31:26Z v88m joined #lisp 2020-08-08T16:31:32Z philweb: fwiw, I was referring to https://common-lisp.net/project/ecl/static/manual/Numbers.html#Numbers-_002d-Floating-point-exceptions and the names related to fpe appear to be incorrect/outdated 2020-08-08T16:38:03Z hendursaga quit (Ping timeout: 240 seconds) 2020-08-08T16:40:46Z hendursaga joined #lisp 2020-08-08T16:42:43Z contrapunctus left #lisp 2020-08-08T16:42:58Z contrapunctus joined #lisp 2020-08-08T16:43:19Z contrapunctus left #lisp 2020-08-08T16:44:16Z contrapunctus joined #lisp 2020-08-08T16:45:10Z bhartrihari left #lisp 2020-08-08T16:47:05Z bhartrihari joined #lisp 2020-08-08T16:53:14Z TwoNotes joined #lisp 2020-08-08T16:56:35Z pfr quit (Ping timeout: 240 seconds) 2020-08-08T17:03:42Z tristero joined #lisp 2020-08-08T17:07:19Z alandipert8 joined #lisp 2020-08-08T17:10:06Z tristero quit (Ping timeout: 256 seconds) 2020-08-08T17:10:40Z alandipert quit (Ping timeout: 256 seconds) 2020-08-08T17:10:40Z alandipert8 is now known as alandipert 2020-08-08T17:12:39Z shifty joined #lisp 2020-08-08T17:16:31Z gko_ quit (Ping timeout: 265 seconds) 2020-08-08T17:20:05Z tiwEllien joined #lisp 2020-08-08T17:20:27Z tiwEllien quit (Client Quit) 2020-08-08T17:26:15Z jackdaniel: I'll update the manual, thank you 2020-08-08T17:30:38Z contrapunctus left #lisp 2020-08-08T17:33:44Z nicktick quit (Ping timeout: 256 seconds) 2020-08-08T17:34:20Z contrapunctus joined #lisp 2020-08-08T17:39:41Z Duuqnd_ joined #lisp 2020-08-08T17:41:40Z Duuqnd quit (Ping timeout: 256 seconds) 2020-08-08T17:44:35Z enrio quit (Ping timeout: 240 seconds) 2020-08-08T17:52:18Z treflip joined #lisp 2020-08-08T17:53:03Z abhixec quit (Remote host closed the connection) 2020-08-08T18:00:05Z jonatack quit (Quit: jonatack) 2020-08-08T18:00:59Z Oladon joined #lisp 2020-08-08T18:03:47Z jonatack joined #lisp 2020-08-08T18:09:59Z VincentVega99 quit (Remote host closed the connection) 2020-08-08T18:16:53Z enrio joined #lisp 2020-08-08T18:19:35Z pfr joined #lisp 2020-08-08T18:28:26Z bitmapper joined #lisp 2020-08-08T18:36:56Z mokulus quit (Quit: WeeChat 2.9) 2020-08-08T18:43:13Z zxcvz joined #lisp 2020-08-08T18:44:36Z jw4 quit (Read error: Connection reset by peer) 2020-08-08T18:46:31Z jw4 joined #lisp 2020-08-08T18:51:18Z mindCrime joined #lisp 2020-08-08T18:58:09Z nabataeus joined #lisp 2020-08-08T18:58:18Z nabataeus quit (Client Quit) 2020-08-08T18:59:47Z treflip quit (Quit: WeeChat 2.6) 2020-08-08T19:00:42Z Oladon quit (Quit: Leaving.) 2020-08-08T19:05:38Z mseddon joined #lisp 2020-08-08T19:06:45Z mseddon: weird question- there are obviously legal copies of the CLHS and ClTl2 online, but are they hosted by particular copyright holders, or can I use e.g. their function definitions etc to create my own reference documentation? 2020-08-08T19:07:36Z mseddon: (obviously I would cite the original source) 2020-08-08T19:10:18Z mseddon: I know, for example I can install them into emacs, but I wonder does it just pull them down to bypass that? 2020-08-08T19:13:09Z Oladon joined #lisp 2020-08-08T19:29:15Z CrazyEddy joined #lisp 2020-08-08T19:38:43Z EvW joined #lisp 2020-08-08T19:47:58Z enrio quit (Ping timeout: 256 seconds) 2020-08-08T19:52:44Z Jesin quit (Quit: Leaving) 2020-08-08T19:54:41Z notzmv quit (Read error: Connection reset by peer) 2020-08-08T20:04:05Z space_otter joined #lisp 2020-08-08T20:06:28Z luckless_ joined #lisp 2020-08-08T20:08:21Z TwoNotes quit (Remote host closed the connection) 2020-08-08T20:08:35Z TwoNotes joined #lisp 2020-08-08T20:09:03Z luckless quit (Ping timeout: 240 seconds) 2020-08-08T20:09:28Z TwoNotes quit (Remote host closed the connection) 2020-08-08T20:09:53Z TwoNotes joined #lisp 2020-08-08T20:11:22Z TwoNotes left #lisp 2020-08-08T20:11:47Z Jesin joined #lisp 2020-08-08T20:35:46Z gravicappa quit (Ping timeout: 260 seconds) 2020-08-08T20:38:37Z notzmv joined #lisp 2020-08-08T20:38:44Z CEnnis91 joined #lisp 2020-08-08T20:46:25Z akoana joined #lisp 2020-08-08T20:47:38Z xkapastel joined #lisp 2020-08-08T20:52:54Z EvW quit (Ping timeout: 256 seconds) 2020-08-08T20:56:11Z mseddon: So e.g. it seems CLHS is owned by LispWorks. 2020-08-08T21:04:18Z aeth: CLHS itself is, but there are other versions based on a draft of the spec 2020-08-08T21:04:30Z aeth: You could also independently document it, but then it's not authoritative. 2020-08-08T21:05:23Z jeosol joined #lisp 2020-08-08T21:16:24Z gendl: Hi, if i put a (break) in my program, which lands me in the slime debugger, how can I get a repl with local variables set as in a chosen item from the backtrace ? 2020-08-08T21:17:26Z gendl: if I open the item 0 in the backtrace i'm seeing "Locals:" with the relevant local variables reported, so now i'd like a repl to be able to evaluate expressions in that environment 2020-08-08T21:17:46Z gendl: sorry if this is slime debugger basics which i should be rtfm for... 2020-08-08T21:19:00Z mseddon: aeth: aha, good insight, thanks. 2020-08-08T21:20:27Z gendl: reading manual here, less daunting than I thought it would be: https://www.common-lisp.net/project/slime/doc/html/Examining-frames.html 2020-08-08T21:20:43Z gendl: looks like e command is what I want (eval in frame) 2020-08-08T21:27:23Z phoe: gendl: I wish there was a fully featured REPL-in-frame 2020-08-08T21:27:31Z phoe: but it seems that all we have is eval-in-frame 2020-08-08T21:28:47Z gendl: phoe: got it. well, eval-in-frame one expression at a time is enough for me for now. at least i can see the exact expression the error is coming from so i can dive into its code. 2020-08-08T21:30:05Z phoe: yes, that's already very useful 2020-08-08T21:31:54Z EvW1 joined #lisp 2020-08-08T21:32:01Z jmercouris: anyone know of something like this for cl? https://github.com/kongaskristjan/fire-hpp 2020-08-08T21:32:14Z ggole quit (Quit: Leaving) 2020-08-08T21:32:48Z fwoaroof[m]: jmercouris: I've been working on something similar, but haven't gotten it exactly right yet 2020-08-08T21:32:57Z jmercouris: fwoaroof[m]: link? 2020-08-08T21:33:13Z jmercouris: is it built on top of cl-launch? 2020-08-08T21:33:23Z fwoaroof[m]: No, it's sort of standalone 2020-08-08T21:33:41Z phoe: jmercouris: I'm aware of https://github.com/didierverna/clon that is sorta similar 2020-08-08T21:35:21Z jmercouris: I've used clon before phoe 2020-08-08T21:35:51Z jmercouris: it is a useful project, but different 2020-08-08T21:36:10Z fwoaroof[m]: So, the idea I had is that you have a generic function called "main" 2020-08-08T21:36:32Z fwoaroof[m]: A system implements this generic function specialized on the uppercase version of the program name (argv[0]) 2020-08-08T21:36:57Z philweb: when building an application using asdf:make-build in ECL, what information is being used to determine which packages need to be included in the resulting image? I see that it's pulling in a lot, but not everything needed. 2020-08-08T21:37:09Z fwoaroof[m]: Then, when the system starts up it loads the system corresponding to argv[0] and runs MAIN with the command line arguments 2020-08-08T21:37:25Z jmercouris: fwoaroof[m]: how do you know WHAT the arguments are without parsing all of the forms? 2020-08-08T21:37:32Z phoe: philweb: which ASDF version are you using? 2020-08-08T21:37:44Z fwoaroof[m]: So, your implementation of MAIN is expected to parse the arguments 2020-08-08T21:37:55Z phoe: I'm asking because there's been some recent bugs on ASDF that sound similar to what you describe 2020-08-08T21:37:57Z fwoaroof[m]: It's probably a bit more barebones than fire-hpp 2020-08-08T21:38:01Z fwoaroof[m]: https://github.com/fiddlerwoaroof/utilitas/blob/master/utilitas.lisp 2020-08-08T21:38:15Z fwoaroof[m]: here's an example user: https://github.com/fiddlerwoaroof/utilitas/blob/master/eval-args.lisp 2020-08-08T21:38:16Z jmercouris: fwoaroof[m]: yeah, the fire-hpp automatically names the arguments, though arguments in C languages are much simpler 2020-08-08T21:38:50Z fwoaroof[m]: Yeah, what I was really going for is a single convention making it easy to just run an ASDF system as a program 2020-08-08T21:38:57Z jmercouris: I see 2020-08-08T21:39:03Z fwoaroof[m]: the idea is you'd just symlink the binary under different names and it'd pull in the right code 2020-08-08T21:39:11Z jmercouris: ah, I know what you are trying to do 2020-08-08T21:39:22Z jmercouris: I thought I read a blog article about exactly that recently 2020-08-08T21:39:28Z jmercouris: maybe it was for another language 2020-08-08T21:39:34Z phoe: fwoaroof[m]: how do you specialize on strings? 2020-08-08T21:39:38Z philweb: phoe: it's 3.1.8.2 and I'm running ECL 16.1.3 (that's the version currently in Debian stable) 2020-08-08T21:39:53Z fwoaroof[m]: phoe: I have an entrypoint function that keywordizes it predictably 2020-08-08T21:39:56Z jmercouris: phoe: I think the method just accepts a list 2020-08-08T21:40:01Z phoe: fwoaroof[m]: OK, thanks 2020-08-08T21:40:06Z fwoaroof[m]: https://github.com/fiddlerwoaroof/utilitas/blob/master/utilitas.lisp#L43-L61 2020-08-08T21:40:15Z phoe: philweb: could you try updating to recent ECL? 16.* is over four years old now 2020-08-08T21:40:32Z jmercouris: oh it is also SBCL specific 2020-08-08T21:40:43Z jmercouris: what I thought would be really cool was the following 2020-08-08T21:40:45Z fwoaroof[m]: Yeah, it's a proof of concept for the moment 2020-08-08T21:40:47Z jmercouris: I want to be able to interactively run a defun 2020-08-08T21:41:00Z jmercouris: invoke defun, and then prompt user for each form for a variable to pass 2020-08-08T21:41:14Z jmercouris: so if I have (defun add (x y) (+ x y)) 2020-08-08T21:41:28Z jmercouris: when you funcall add, it should say "x: ?" and then "y: ?" and you can submit them 2020-08-08T21:41:39Z jmercouris: the problem I had with that was trying to determine WHAT the arguments were 2020-08-08T21:41:53Z phoe: https://github.com/Shinmera/trivial-arguments/ ? 2020-08-08T21:41:55Z jmercouris: I know there is some way to determine the arguments associated with a function object, but I was told it was non portable if I remember 2020-08-08T21:41:57Z philweb: I was afraid you'd say that ;-) (the downside to running stable)... ugh, it's the same version in testing. Is there no maintainer for it on Debian? 2020-08-08T21:42:09Z jmercouris: I also remember trivial arguments 2020-08-08T21:42:11Z philweb: guess I'll fork the repo and build locally 2020-08-08T21:42:30Z philweb: err... clone the repo 2020-08-08T21:42:39Z phoe: philweb: I have no idea; you should try building https://common-lisp.net/project/ecl/posts/ECL-20424-release.html 2020-08-08T21:42:52Z phoe: or clone the repo and select the 20.4.24 tag 2020-08-08T21:43:00Z jmercouris: phoe: Nicholas' readme makes me think there must be an exported symbol in swank for doing this 2020-08-08T21:44:01Z phoe: jmercouris: swank::arglist 2020-08-08T21:44:04Z phoe: no, it's not exported 2020-08-08T21:44:11Z philweb: phoe: ok, I will give that a shot. 2020-08-08T21:44:29Z jmercouris: it is however VERY good 2020-08-08T21:44:36Z jmercouris: this COULD work for what I was thinking 2020-08-08T21:45:39Z jmercouris: (defun subtract (x y &key (z 4)) (+ x y z)) 2020-08-08T21:45:46Z jmercouris: (swank::arglist 'subtract) -> (X Y &KEY (Z 4)) 2020-08-08T21:45:57Z jmercouris: I still would have to do some list traversal and parsing 2020-08-08T21:46:16Z phoe: #'alexandria:parse-ordinary-lambda-list 2020-08-08T21:46:49Z Oladon quit (Quit: Leaving.) 2020-08-08T21:46:52Z jmercouris: phoe: I just ran it 2020-08-08T21:46:54Z jmercouris: what does that get me exactly 2020-08-08T21:46:59Z jmercouris: can you be more explicitly about how that could help 2020-08-08T21:47:03Z Lycurgus joined #lisp 2020-08-08T21:47:04Z jmercouris: s/explicitly/explicit 2020-08-08T21:47:08Z fwoaroof[m]: It normalizes the various kinds of arguments 2020-08-08T21:47:11Z phoe: jmercouris: (describe 'alexandria:parse-ordinary-lambda-list) 2020-08-08T21:47:25Z jmercouris: WAS there is a docstring! 2020-08-08T21:47:26Z jmercouris: this cannot be 2020-08-08T21:47:30Z fwoaroof[m]: iirc the first value is the ordinary arguments, the second is optional as triples and the third is keys in some shape :) 2020-08-08T21:47:30Z phoe: or (documentation 'alexandria:parse-ordinary-lambda-list 'function) 2020-08-08T21:47:45Z jmercouris: Aha! 2020-08-08T21:47:47Z fwoaroof[m]: alexandria is usually pretty-well documented 2020-08-08T21:47:47Z jmercouris: well well well! 2020-08-08T21:47:56Z jmercouris: this could be le ticket 2020-08-08T21:48:14Z jmercouris: I think this is le ticket 2020-08-08T21:48:22Z jmercouris: this is great 2020-08-08T21:48:24Z jmercouris: why does this even exist 2020-08-08T21:48:28Z jmercouris: how many people could possibly need this function 2020-08-08T21:49:36Z gaqwas quit (Ping timeout: 265 seconds) 2020-08-08T21:52:05Z shifty quit (Ping timeout: 240 seconds) 2020-08-08T22:01:27Z Duuqnd_ quit (Quit: Leaving) 2020-08-08T22:01:51Z phoe: everyone who writes custom DEFUNs and needs to do something with argument lists 2020-08-08T22:03:41Z jmercouris: are there a lot of people doing that? 2020-08-08T22:04:04Z jmercouris: I mean, alexandria is typically pretty conservative 2020-08-08T22:04:12Z jmercouris: I am surprised they would put something in it that seems to niche to me 2020-08-08T22:04:14Z phoe: many enough to warrant the includion of PARSE-BODY and PARSE-ORDINARY-LAMBDA-LIST 2020-08-08T22:04:16Z jmercouris: s/to/so 2020-08-08T22:04:27Z phoe: otherwise people would reinvent those functions, poorly 2020-08-08T22:04:40Z jmercouris: anyone have experience doing genetic programming in CL by directly recombining sexps and bodies together? 2020-08-08T22:04:53Z jmercouris: I am just thinking about since you mentioned parse-body and parse-ordinary-lambda-list 2020-08-08T22:06:42Z jmercouris: no? not many people involed in AI in this channel? 2020-08-08T22:06:49Z aeth: Xach: This might sound like a stupid question, but is Quicklisp just for Common Lisp? I can think of two edge cases where CL libraries might be of limited utility to the broader CL community: (1) add-ons for a CL application (e.g. Nyxt Browser) or (2) libraries for a language integrated with and written in CL but not CL 2020-08-08T22:07:33Z jmercouris: I am planning on leveraging quicklisp for addons to Nyxt 2020-08-08T22:07:54Z jmercouris: I've seen how to make a quicklisp dist, and that's basically what I will do, use Zach's tools to hopefully have a dist for it 2020-08-08T22:07:57Z aeth: Yes, #1 relates to my game engine (Zombie Raptor) and #2 relates to my Scheme-in-CL, Airship Scheme. 2020-08-08T22:08:18Z jmercouris: I also looked at ultralisp to see if it would be simpler to set-up, but it seems no 2020-08-08T22:08:26Z aeth: For #2 in particular, I'm not sure if it belongs in a separate dist or as part of CL, especially since quite a lot of the Scheme should be callable from and usable in CL. You'd have to go out of your way for that not to happen 2020-08-08T22:08:47Z aeth: I've collected my current thoughts for #2 in my Airship Scheme issue tracker. https://gitlab.com/mbabich/airship-scheme/-/issues/20 2020-08-08T22:08:50Z jmercouris: I remember borodust having some tool to make things simpler 2020-08-08T22:08:57Z aeth: (I haven't placed my thoughts on #1 in the ZR issue tracker yet.) 2020-08-08T22:08:58Z jmercouris: with regard to creating a quicklisp dist 2020-08-08T22:09:34Z aeth: jmercouris: I want to fork Ultralisp for Airship Scheme not because I find it useful but because it's git-enriched, and thus it can be called Git-Rich Quickscheme. 2020-08-08T22:09:46Z jmercouris: lol, that's great :-D 2020-08-08T22:09:51Z aeth: Yes, I will have won the Internet at that point. 2020-08-08T22:10:05Z aeth: But Quickscheme comes before Ultralisp's Git-Rich Quickscheme. 2020-08-08T22:10:33Z jmercouris: https://github.com/borodust/quickdist 2020-08-08T22:11:22Z jmercouris: aeth: ^ 2020-08-08T22:12:19Z aeth: jmercouris: thanks 2020-08-08T22:13:43Z jmercouris: aeth: thats an interesting project you've got there 2020-08-08T22:13:59Z jmercouris: it's a really cool idea, could open up many libraries for usage 2020-08-08T22:15:00Z aeth: jmercouris: I just updated with your note. https://gitlab.com/mbabich/airship-scheme/-/issues/20 2020-08-08T22:15:27Z aeth: (I also directly mentioned Ultralisp) 2020-08-08T22:17:01Z aeth: jmercouris: re opening up libraries for usage... to be fair, someone has been implementing Scheme SRFIs in Common Lisp and that might be more directly useful for Common Lispers. https://github.com/g000001/srfi-47 2020-08-08T22:17:59Z jmercouris: what is a SRFI? 2020-08-08T22:18:07Z aeth: hmm... so weird seeing a different define-function that's not my gigantic zr-utils:define-function macro. 2020-08-08T22:18:11Z phoe: CDRs, except in Scheme 2020-08-08T22:18:11Z jeosol: aeth: just read the info on airship scheme, very lofty project. Congratulations. 2020-08-08T22:18:21Z jeosol: The git-rich quick-scheme name would be nice ... 2020-08-08T22:18:39Z aeth: jeosol: SRFI is a mix between CDRs (specifications of things to implement, sort of like bordeaux-threads but at the implementation level, more like if sb-unicode was a formal library implemented in more than one place) 2020-08-08T22:18:53Z aeth: s/jeosol: // 2020-08-08T22:18:57Z jmercouris: I see 2020-08-08T22:18:59Z aeth: as well as just libraries 2020-08-08T22:19:07Z aeth: A lot of SRFIs are just libraries. 2020-08-08T22:19:15Z jmercouris: so SRFI is a term? 2020-08-08T22:19:17Z aeth: e.g. there are some here: http://snow-fort.org/pkg/ 2020-08-08T22:19:27Z Lycurgus quit (Remote host closed the connection) 2020-08-08T22:19:29Z aeth: Yeah, specified libraries, basically. 2020-08-08T22:19:31Z jmercouris: because I looked it up and came up with "squash racket federation of india" 2020-08-08T22:19:33Z aeth: https://srfi.schemers.org/ 2020-08-08T22:19:42Z jeosol: I like the path of being able to use libraries from scheme. When I use to go to comp.lang.lisp, some quotes srfi- and a number, that I 'll find a function, I wondered how they remembered the numbers after the srfi 2020-08-08T22:20:03Z aeth: jeosol: thanks 2020-08-08T22:20:03Z jeosol: They seemed arbitrary to me,but i am sure there is some pattern 2020-08-08T22:20:09Z aeth: Oh, it's just in order of specification 2020-08-08T22:20:24Z aeth: A bunch are being integrated to R7RS-large and being renamed as part of the process, though 2020-08-08T22:20:27Z jmercouris: so, not exactly arbitrary, but close enough 2020-08-08T22:20:33Z aeth: https://gitlab.com/mbabich/airship-scheme/-/blob/master/SRFI.md#r7rs-large 2020-08-08T22:20:43Z aeth: That list might not be 100% accurate, it's hard to put together this information 2020-08-08T22:21:03Z aeth: But I think the thing about SRFIs is that they're like https://oeis.org/ 2020-08-08T22:21:09Z aeth: It gives an objective name to refer to something 2020-08-08T22:21:16Z phoe: minion: what does SRFI mean? 2020-08-08T22:21:17Z minion: Stellerine Roomage Friarhood Iambically 2020-08-08T22:21:30Z jmercouris: ??? 2020-08-08T22:21:33Z jmercouris: what does that mean 2020-08-08T22:21:38Z aeth: e.g. for Fibonacci you can just call them A000045 and not everything is important enough to have a name like "Fibonacci" https://oeis.org/A000045 2020-08-08T22:22:03Z jmercouris: minion: tell me a joke 2020-08-08T22:22:04Z minion: jmercouris: does torturing a poor bot with things beyond its comprehension please you? 2020-08-08T22:22:08Z jmercouris: lol 2020-08-08T22:22:11Z jmercouris: close enough :-D 2020-08-08T22:22:32Z jeosol: haha. 2020-08-08T22:23:34Z jeosol: meaning of SRFI above. I don't remember the name, but one contributor over comp.lang that offered scheme answers seemed to have a good handle on the numbering. Good to see list as compiled. 2020-08-08T22:26:05Z aeth: it would be nice to number the core CL libraries. bt, uiop, alexandria, etc. 2020-08-08T22:26:22Z aeth: (and exactly specify their semantics) 2020-08-08T22:26:32Z pve: jmercouris: not sure of your requirements, but you could check out https://github.com/pve1/shell-utility (SBCL only for now) 2020-08-08T22:26:38Z jeosol: So this is how libraries are developed in the scheme universe? Their increasing numbering system 2020-08-08T22:26:50Z aeth: jeosol: the specified, portable ones 2020-08-08T22:27:04Z aeth: jeosol: I notice a few other naming conventions in http://snow-fort.org/pkg/ 2020-08-08T22:27:07Z jeosol: I see. 2020-08-08T22:27:37Z aeth: (1) portable versions of an implementation's libraries like (chibi test), which would be the equivalent of e.g. making sb-unicode into a library (which would be *really* nice, if anyone needs any ideas) 2020-08-08T22:27:57Z aeth: (2) something called slib. https://people.csail.mit.edu/jaffer/SLIB 2020-08-08T22:28:08Z aeth: So they're not exclusively SRFIs. 2020-08-08T22:28:26Z jeosol: As one of the goals is to be able to run both scheme and CL, what is the space of intersection of libraries like? 2020-08-08T22:29:16Z jeosol: I haven't used scheme at all, and I remember in a previous discussion with Fare, he said he was using (I think) gerbil scheme 2020-08-08T22:29:22Z aeth: jeosol: Ideally, every public Scheme procedure will be automatically exposed as a CL function, which will also serve as an entry point into the Airship Scheme runtime (to handle tail recursion and continuations). 2020-08-08T22:30:01Z aeth: jeosol: Going the other direction, it's not as simple because of the ambiguity between nil-as-false and nil-as-empty-list in CL. (It's easy to turn both nil and #f into CL:NIL, but not easy to determine whether CL:NIL should be nil or #f) 2020-08-08T22:30:03Z jeosol: aeth: That's a nice feature when I read it from your gitlab project page. Very nice 2020-08-08T22:30:29Z aeth: Stuff that heavily uses macros or reader macros (or SRFI-specified syntax extensions in the case of Scheme) or continuations will complicate things 2020-08-08T22:30:48Z aeth: Perhaps Scheme macros could automatically make CL macros as well, since I control this, but the other way around is just... probably not going to work. 2020-08-08T22:32:01Z phoe: aeth: if a piece of Scheme code is loadable and useful from CL then I see no reason why it shouldn't be in Quicklisp; look at all the foreign code that is written in C and is loadable and useful from CL 2020-08-08T22:32:57Z aeth: phoe: Yes, but what if I wrote a library that solely deals with continuations, which are emulated in Scheme via continuation passing style? 2020-08-08T22:33:41Z phoe: uh, you mean something like cl-cont? 2020-08-08T22:34:01Z aeth: phoe: more like a library that's designed to be used by users of cl-cont, I guess. 2020-08-08T22:34:09Z phoe: why not? 2020-08-08T22:34:36Z phoe: I mean, sure, why not? 2020-08-08T22:34:54Z aeth: Cool, now I can't wait to wrap lots of useful libraries in cl- 2020-08-08T22:34:57Z aeth: *cl-brainfuck 2020-08-08T22:35:02Z aeth: :-p 2020-08-08T22:35:28Z aeth: Hopefully I can get a left-pad situation going where nearly every CL project depends on some Brainfuck :-p 2020-08-08T22:36:32Z jeosol: phoe: not to digress to much, how is the process with clcs. I have been out for a while 2020-08-08T22:37:14Z phoe: jeosol: the book is still in production. I'll notify everyone on GitHub when we have something to look at. 2020-08-08T22:37:56Z jeosol: phoe: no worries. I am just checking. It seems things are grinding along well. 2020-08-08T22:41:27Z ayuce quit (Read error: Connection reset by peer) 2020-08-08T22:42:11Z aeth: jeosol, phoe: I will probably go above and beyond what's required to just get Scheme running on CL to try to get the interop working better, e.g. I'll try to use trivial-extensible-sequences (if they work!) for the sequences available in Scheme but not in CL (lazy lists? maybe a few others). 2020-08-08T22:43:13Z bilegeek joined #lisp 2020-08-08T22:44:45Z aeth: I'm also considering writing a reader macro that blends Scheme and CL (since the readers are slightly incompatible with each other) by extending CL to support some Scheme syntax (like "foo\n" to end a string with a newline) 2020-08-08T22:52:56Z fwoaroof[m]: jmercouris: if you have ideas about extending my protocol to handle your use case, I'd be interested, BTW 2020-08-08T22:52:57Z fwoaroof[m]: minione: memo for jmercouris: if you have ideas about extending my protocol to handle your use case, I'd be interested, BTW 2020-08-08T22:53:01Z fwoaroof[m]: minion: memo for jmercouris: if you have ideas about extending my protocol to handle your use case, I'd be interested, BTW 2020-08-08T22:53:01Z minion: Remembered. I'll tell jmercouris when he/she/it next speaks. 2020-08-08T22:53:07Z fwoaroof[m]: sorry, can't type :) 2020-08-08T22:53:19Z PuercoPop joined #lisp 2020-08-08T22:53:26Z cosimone quit (Quit: Quit.) 2020-08-08T22:53:43Z fwoaroof[m]: I've been thinking of integrating clon, because I like how it handles command line arguments alot 2020-08-08T22:58:27Z mangoicedtea joined #lisp 2020-08-08T23:06:39Z bilegeek quit (Quit: Leaving) 2020-08-08T23:09:43Z pve quit (Quit: leaving) 2020-08-08T23:10:20Z snits quit (Ping timeout: 256 seconds) 2020-08-08T23:13:57Z snits joined #lisp 2020-08-08T23:16:25Z random-nick quit (Ping timeout: 264 seconds) 2020-08-08T23:26:56Z bilegeek joined #lisp 2020-08-08T23:27:17Z bilegeek quit (Read error: Connection reset by peer) 2020-08-08T23:27:30Z bilegeek joined #lisp 2020-08-08T23:35:08Z mangoicedtea quit (Quit: Leaving) 2020-08-08T23:47:13Z philweb: I've installed ECL 20.4.24 and attempted asdf:make-build again. Now it's complaining about a couple of UIOP packages referenced in compiled file nil 2020-08-08T23:48:02Z Bourne quit (Ping timeout: 260 seconds) 2020-08-08T23:52:49Z abhixec joined #lisp 2020-08-08T23:57:32Z CrazyEddy quit (Ping timeout: 256 seconds) 2020-08-09T00:00:25Z mseddon quit (Read error: Connection reset by peer) 2020-08-09T00:07:12Z FreeBirdLjj joined #lisp 2020-08-09T00:11:37Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2020-08-09T00:12:17Z CrazyEddy joined #lisp 2020-08-09T00:16:59Z xkapastel quit (Quit: Connection closed for inactivity) 2020-08-09T00:18:43Z madage quit (Ping timeout: 240 seconds) 2020-08-09T00:40:09Z madage joined #lisp 2020-08-09T00:50:28Z sympt_ joined #lisp 2020-08-09T00:54:11Z sympt quit (Ping timeout: 240 seconds) 2020-08-09T00:57:06Z nicktick joined #lisp 2020-08-09T01:11:38Z hiroaki quit (Ping timeout: 265 seconds) 2020-08-09T01:12:11Z Oladon joined #lisp 2020-08-09T01:12:56Z gko_ joined #lisp 2020-08-09T01:13:49Z zaquest quit (Read error: Connection reset by peer) 2020-08-09T01:15:54Z Bourne joined #lisp 2020-08-09T01:31:18Z zaquest joined #lisp 2020-08-09T01:32:57Z EvW1 quit (Ping timeout: 260 seconds) 2020-08-09T01:35:00Z orivej joined #lisp 2020-08-09T02:09:35Z chipolux joined #lisp 2020-08-09T02:14:28Z torbo joined #lisp 2020-08-09T02:18:59Z froggey quit (Ping timeout: 240 seconds) 2020-08-09T02:21:04Z froggey joined #lisp 2020-08-09T02:58:07Z Jesin quit (Quit: Leaving) 2020-08-09T03:01:51Z Alfr_ joined #lisp 2020-08-09T03:03:43Z Jesin joined #lisp 2020-08-09T03:04:07Z Alfr__ quit (Ping timeout: 240 seconds) 2020-08-09T03:05:40Z CrazyEddy quit (Ping timeout: 256 seconds) 2020-08-09T03:14:07Z shifty joined #lisp 2020-08-09T03:25:32Z abhixec quit (Quit: leaving) 2020-08-09T03:36:13Z shifty quit (Ping timeout: 264 seconds) 2020-08-09T03:45:49Z bhartrihari left #lisp 2020-08-09T03:46:06Z bhartrihari joined #lisp 2020-08-09T03:49:21Z bhartrihari left #lisp 2020-08-09T03:49:25Z bhartrihari joined #lisp 2020-08-09T03:54:12Z torbo quit (Remote host closed the connection) 2020-08-09T03:54:23Z beach: Good morning everyone! 2020-08-09T03:54:50Z Bit_MCP joined #lisp 2020-08-09T03:56:53Z abhixec joined #lisp 2020-08-09T04:06:13Z orivej quit (Ping timeout: 264 seconds) 2020-08-09T04:12:31Z Lord_of_Life_ joined #lisp 2020-08-09T04:14:01Z Lord_of_Life quit (Ping timeout: 264 seconds) 2020-08-09T04:14:01Z Lord_of_Life_ is now known as Lord_of_Life 2020-08-09T04:19:47Z paul0 quit (Read error: Connection reset by peer) 2020-08-09T04:20:15Z paul0 joined #lisp 2020-08-09T04:25:55Z Bit_MCP quit (Quit: Leaving) 2020-08-09T04:31:54Z u0_a156 joined #lisp 2020-08-09T04:32:57Z u0_a156: Thank you for reopening #lisp to non-registered users. :) 2020-08-09T04:35:49Z beach: Uh, oh! 2020-08-09T04:39:19Z u0_a156: Pleased to meet you bleach. Concerning CL, I'm awfully... lost when it comes to quicklisp and ASDF and what the difference is. :/ 2020-08-09T04:39:50Z aeth: Quicklisp is built on top of ASDF. 2020-08-09T04:40:25Z beach gets ready to use /ignore much more. 2020-08-09T04:41:26Z u0_a156: That explains why it was able to load... On another machine I tried to (ql:quickload "youtube") but it said ASDF wasn't new enough. 2020-08-09T04:41:33Z aeth: Quicklisp's abstraction is the project, which is the top level directory, probably from a git repository. This can contain one or more ASDF systems, defined in DEFSYSTEMs in .asd files 2020-08-09T04:42:22Z aeth: The complete mapping is here, but it has the long name (which is probably the last update from the, probably git, repository) https://www.quicklisp.org/beta/releases.html 2020-08-09T04:42:55Z aeth: e.g. 1am-20141106-git is the project release of the project 1 am which provides the system 1am, but they don't always have to align, e.g. a few later you see 3bmd provides a bunch 2020-08-09T04:43:02Z aeth: s/1 am/1am/ 2020-08-09T04:45:19Z u0_a156: I don't get that... But I have seen "3bmd" in ql:system-apropos names. 2020-08-09T04:46:13Z aeth: I'll give a more dramatic example, much further down on that page. You can see on that page I linked to that "cl-sdl2" is the project name, but "sdl2" is the ASDF system name. 2020-08-09T04:46:17Z aeth: So they don't have to align at all. 2020-08-09T04:46:38Z aeth: Quicklisp is a higher level built on top of ASDF systems. 2020-08-09T04:48:07Z u0_a156: In other words, an extra opportunity for misconfiguration...Never mess with configuration files, let the installer do it! 2020-08-09T04:51:58Z Joaozinho_Grande joined #lisp 2020-08-09T04:54:50Z Joaozinho_Grande left #lisp 2020-08-09T05:03:53Z EvW joined #lisp 2020-08-09T05:04:56Z bhartrihari left #lisp 2020-08-09T05:05:15Z bhartrihari joined #lisp 2020-08-09T05:07:29Z gravicappa joined #lisp 2020-08-09T05:08:02Z EvW quit (Ping timeout: 244 seconds) 2020-08-09T05:13:18Z rumbler31 quit (Ping timeout: 265 seconds) 2020-08-09T05:27:21Z gaqwas joined #lisp 2020-08-09T05:27:21Z gaqwas quit (Changing host) 2020-08-09T05:27:21Z gaqwas joined #lisp 2020-08-09T05:38:18Z shifty joined #lisp 2020-08-09T05:47:22Z jackdaniel: philweb: did you add uiop to dependencies? 2020-08-09T05:50:26Z orivej joined #lisp 2020-08-09T05:59:05Z gravicappa quit (Ping timeout: 240 seconds) 2020-08-09T06:00:07Z gravicappa joined #lisp 2020-08-09T06:07:35Z heisig joined #lisp 2020-08-09T06:11:56Z bocaneri quit (Ping timeout: 256 seconds) 2020-08-09T06:18:24Z [ is now known as uplime 2020-08-09T06:18:26Z enrio joined #lisp 2020-08-09T06:21:29Z bocaneri joined #lisp 2020-08-09T06:22:57Z bocaneri quit (Excess Flood) 2020-08-09T06:23:27Z bocaneri joined #lisp 2020-08-09T06:32:05Z orivej quit (Ping timeout: 265 seconds) 2020-08-09T06:40:19Z iAmDecim joined #lisp 2020-08-09T06:41:16Z shifty quit (Ping timeout: 265 seconds) 2020-08-09T06:45:03Z philweb: jackdaniel: I added asdf to dependencies thinking that would pull them in (apparently it didn't work) then I tried adding the named packages (uiop/os and uiop/pathname) but that results in component not found when loading my top-level system 2020-08-09T06:47:36Z iAmDecim quit (Quit: WeeChat 2.8) 2020-08-09T06:48:00Z enrioog joined #lisp 2020-08-09T06:50:04Z mindCrime quit (Excess Flood) 2020-08-09T06:50:31Z mindCrime joined #lisp 2020-08-09T06:51:11Z bsd4me quit (Quit: Leaving) 2020-08-09T06:51:13Z enrio quit (Ping timeout: 264 seconds) 2020-08-09T06:54:04Z Lycurgus joined #lisp 2020-08-09T06:54:51Z ggole joined #lisp 2020-08-09T06:57:12Z abhixec quit (Ping timeout: 256 seconds) 2020-08-09T07:02:59Z bhartrihari left #lisp 2020-08-09T07:08:02Z contrapunctus left #lisp 2020-08-09T07:08:17Z contrapunctus joined #lisp 2020-08-09T07:08:32Z bhartrihari joined #lisp 2020-08-09T07:11:23Z Lycurgus quit (Remote host closed the connection) 2020-08-09T07:14:36Z contrapunctus left #lisp 2020-08-09T07:15:00Z contrapunctus joined #lisp 2020-08-09T07:15:55Z contrapunctus left #lisp 2020-08-09T07:16:31Z contrapunctus joined #lisp 2020-08-09T07:16:52Z contrapunctus left #lisp 2020-08-09T07:17:45Z contrapunctus joined #lisp 2020-08-09T07:36:46Z liberliver joined #lisp 2020-08-09T07:38:25Z pve joined #lisp 2020-08-09T07:48:01Z vaporatorius joined #lisp 2020-08-09T07:48:01Z vaporatorius quit (Changing host) 2020-08-09T07:48:01Z vaporatorius joined #lisp 2020-08-09T07:48:28Z contrapunctus left #lisp 2020-08-09T07:49:02Z contrapunctus joined #lisp 2020-08-09T07:50:37Z vaporatorius__ quit (Ping timeout: 264 seconds) 2020-08-09T07:52:10Z philweb quit (Ping timeout: 245 seconds) 2020-08-09T07:53:34Z jackdaniel: add uiop, it is a system 2020-08-09T07:53:57Z jackdaniel: or put (require 'asdf) as a prelude code 2020-08-09T07:54:06Z gko_ quit (Ping timeout: 256 seconds) 2020-08-09T07:57:36Z bhartrihari left #lisp 2020-08-09T07:58:19Z bhartrihari joined #lisp 2020-08-09T08:01:06Z toorevitimirp joined #lisp 2020-08-09T08:01:32Z mankaev quit (Ping timeout: 246 seconds) 2020-08-09T08:04:10Z nanoz joined #lisp 2020-08-09T08:07:22Z enrioog quit (Ping timeout: 260 seconds) 2020-08-09T08:07:36Z bhartrihari left #lisp 2020-08-09T08:07:54Z bhartrihari joined #lisp 2020-08-09T08:08:14Z hendursa1 joined #lisp 2020-08-09T08:09:40Z mankaev joined #lisp 2020-08-09T08:10:03Z hendursaga quit (Ping timeout: 240 seconds) 2020-08-09T08:14:34Z akoana left #lisp 2020-08-09T08:17:28Z zaquest quit (Quit: Leaving) 2020-08-09T08:19:47Z notzmv quit (Ping timeout: 240 seconds) 2020-08-09T08:21:40Z wxie joined #lisp 2020-08-09T08:21:56Z zaquest joined #lisp 2020-08-09T08:22:52Z FreeBirdLjj joined #lisp 2020-08-09T08:26:24Z wxie quit (Ping timeout: 256 seconds) 2020-08-09T08:26:57Z FreeBirdLjj quit (Ping timeout: 244 seconds) 2020-08-09T08:29:27Z mankaev quit (Ping timeout: 260 seconds) 2020-08-09T08:30:15Z galex-713 quit (Ping timeout: 272 seconds) 2020-08-09T08:32:39Z Inline joined #lisp 2020-08-09T08:35:19Z notzmv joined #lisp 2020-08-09T08:38:39Z hiroaki joined #lisp 2020-08-09T08:38:43Z toorevitimirp quit (Ping timeout: 265 seconds) 2020-08-09T08:39:24Z galex-713 joined #lisp 2020-08-09T08:42:09Z mankaev joined #lisp 2020-08-09T08:44:54Z VincentVega joined #lisp 2020-08-09T08:46:39Z orivej joined #lisp 2020-08-09T08:47:01Z enrioog joined #lisp 2020-08-09T08:47:52Z VincentVega quit (Remote host closed the connection) 2020-08-09T08:50:18Z nanoz quit (Ping timeout: 260 seconds) 2020-08-09T09:08:06Z orivej quit (Ping timeout: 256 seconds) 2020-08-09T09:20:04Z dra joined #lisp 2020-08-09T09:21:14Z Inline: i have a question with regards to condition messages getting shown in jupyter 2020-08-09T09:21:20Z Inline: https://pasteboard.co/JlxRkCw.png 2020-08-09T09:21:50Z Inline: that file when loaded in the repl does not show any condition messages 2020-08-09T09:28:38Z treflip joined #lisp 2020-08-09T09:31:13Z phoe: Inline: in a clean REPL, you mean? 2020-08-09T09:31:30Z phoe: because here you have a situation where you're redefining methods that were already present in Lisp 2020-08-09T09:31:43Z phoe: these warnings will not appear if you have nothing to redefine 2020-08-09T09:32:25Z space_otter quit (Remote host closed the connection) 2020-08-09T09:33:22Z CrazyEddy joined #lisp 2020-08-09T09:34:09Z Inline: those methods are all in the file classe7.lisp 2020-08-09T09:34:34Z phoe: how many times did you load that exact file in Jupyter? 2020-08-09T09:34:39Z phoe: and how many in the REPL? 2020-08-09T09:35:55Z Inline: just once 2020-08-09T09:36:00Z Inline: https://paste.ofcode.org/PwjHxJ5UpAhWVrSYHRtyAz 2020-08-09T09:36:08Z phoe: see, that's the difference 2020-08-09T09:36:14Z Inline: in the repl the warnings are suppressed as they should be 2020-08-09T09:36:20Z Inline: and in jupyter not 2020-08-09T09:36:32Z Inline: so the question is why ? 2020-08-09T09:36:53Z phoe: ooh, I see now 2020-08-09T09:36:56Z Inline: or what i have todo in order to suppress the warnings there too 2020-08-09T09:38:31Z phoe: I actually don't know; it seems like an issue with cl-jupyter, since I assume that's what you are using 2020-08-09T09:39:16Z Inline: btw jupyter:install from a running repl has problems establishing a server connection, the server times out or whatever and gets killed 2020-08-09T09:39:41Z Inline: when i use jupyter:install-image all is fine, connection-wise tho 2020-08-09T09:39:42Z orivej joined #lisp 2020-08-09T09:41:47Z Inline: jah, i suppose it's an issue around cl-jupyter together with threading or some such 2020-08-09T10:08:12Z lleiguay joined #lisp 2020-08-09T10:16:07Z mindCrime quit (Ping timeout: 240 seconds) 2020-08-09T10:19:19Z mindCrime joined #lisp 2020-08-09T10:19:22Z ted_wroclaw joined #lisp 2020-08-09T10:20:50Z bhartrihari left #lisp 2020-08-09T10:24:56Z contrapunctus left #lisp 2020-08-09T10:25:45Z orivej quit (Ping timeout: 240 seconds) 2020-08-09T10:34:10Z bilegeek quit (Quit: Leaving) 2020-08-09T10:38:23Z sm2n_ joined #lisp 2020-08-09T10:38:50Z sm2n quit (Ping timeout: 256 seconds) 2020-08-09T10:40:16Z contrapunctus joined #lisp 2020-08-09T10:43:06Z pve: Inline: what happens if you print *load-truename* in that file? 2020-08-09T10:49:13Z sm2n_ is now known as sm2n 2020-08-09T10:55:16Z enrioog quit (Ping timeout: 256 seconds) 2020-08-09T10:59:13Z ukari joined #lisp 2020-08-09T11:00:20Z orivej joined #lisp 2020-08-09T11:02:16Z dra quit (Quit: Leaving) 2020-08-09T11:06:42Z shangul joined #lisp 2020-08-09T11:16:02Z mindCrime quit (Ping timeout: 260 seconds) 2020-08-09T11:16:07Z mangul joined #lisp 2020-08-09T11:17:02Z mindCrime joined #lisp 2020-08-09T11:17:13Z gko_ joined #lisp 2020-08-09T11:18:27Z random-nick joined #lisp 2020-08-09T11:18:42Z shangul quit (Ping timeout: 265 seconds) 2020-08-09T11:21:02Z Inline quit (Ping timeout: 260 seconds) 2020-08-09T11:24:42Z ayuce joined #lisp 2020-08-09T11:31:37Z bitmapper quit (Ping timeout: 246 seconds) 2020-08-09T11:31:53Z Oladon quit (Quit: Leaving.) 2020-08-09T11:32:48Z ukari quit (Remote host closed the connection) 2020-08-09T11:33:32Z ukari joined #lisp 2020-08-09T11:37:04Z pve quit (Ping timeout: 265 seconds) 2020-08-09T11:37:25Z nicktick quit (Ping timeout: 264 seconds) 2020-08-09T11:40:15Z mankaev quit (Ping timeout: 272 seconds) 2020-08-09T11:40:57Z mankaev joined #lisp 2020-08-09T11:44:37Z mindCrime quit (Ping timeout: 260 seconds) 2020-08-09T11:54:16Z ted_wroclaw quit (Quit: Textual IRC Client: www.textualapp.com) 2020-08-09T11:58:01Z hendursa1 quit (Quit: hendursa1) 2020-08-09T11:58:16Z hendursaga joined #lisp 2020-08-09T12:00:11Z ukari quit (Ping timeout: 240 seconds) 2020-08-09T12:00:41Z bhartrihari joined #lisp 2020-08-09T12:01:33Z ukari joined #lisp 2020-08-09T12:06:32Z nicktick joined #lisp 2020-08-09T12:12:19Z minion quit (Remote host closed the connection) 2020-08-09T12:12:19Z specbot quit (Remote host closed the connection) 2020-08-09T12:18:42Z farooqkz__ joined #lisp 2020-08-09T12:20:45Z mangul quit (Ping timeout: 240 seconds) 2020-08-09T12:22:09Z RedMallet joined #lisp 2020-08-09T12:26:15Z lleiguay left #lisp 2020-08-09T12:37:25Z jprajzne quit (Quit: jprajzne) 2020-08-09T12:40:35Z ukari quit (Ping timeout: 240 seconds) 2020-08-09T12:48:02Z _whitelogger quit (Remote host closed the connection) 2020-08-09T12:49:20Z v0|d quit (Ping timeout: 256 seconds) 2020-08-09T12:50:13Z _whitelogger joined #lisp 2020-08-09T13:05:31Z ralt joined #lisp 2020-08-09T13:07:54Z rumbler31 joined #lisp 2020-08-09T13:10:56Z mangoicedtea joined #lisp 2020-08-09T13:13:29Z specbot joined #lisp 2020-08-09T13:13:30Z minion joined #lisp 2020-08-09T13:15:48Z RedMallet quit (Quit: WeeChat 2.8) 2020-08-09T13:18:26Z dra joined #lisp 2020-08-09T13:34:07Z mangul joined #lisp 2020-08-09T13:34:52Z EvW1 joined #lisp 2020-08-09T13:36:34Z farooqkz__ quit (Ping timeout: 246 seconds) 2020-08-09T13:38:24Z orivej quit (Ping timeout: 256 seconds) 2020-08-09T13:41:13Z remexre: is there a common naming convention for functions made to be passed as the second argument to SORT? 2020-08-09T13:42:14Z beach: Maybe something containing LESSP or LESS-P? 2020-08-09T13:42:28Z remexre: And, stepping back a bit, if I need to manipulate sets of a struct and sets of those sets, is there a better representation than sorted vectors? 2020-08-09T13:42:49Z beach: OK, hold on a bit. 2020-08-09T13:42:58Z beach: Sets are not sorted. 2020-08-09T13:43:16Z remexre: er, I'm using sorting as a normalization procedure 2020-08-09T13:44:36Z remexre: so I can do (member foo-set foo-foo-set :test #'equalp), to check for membership of the set in the set of sets 2020-08-09T13:44:53Z beach: Well, then, it is impossible to answer your question, because there is no abstract data type named SET, simply because it is not possible to design one that has optimal performance for all possible set operations. That's why we have stacks, queues, union-find sets, binary trees, hash tables, etc. 2020-08-09T13:45:26Z beach: So you need to come up with a protocol (i.e. a set of operations) that you need to perform on those sets. Then you will know the best data structure. 2020-08-09T13:46:11Z remexre: I think I just need mapc and "insert, returning whether the item was present" (or separate member and insert, which is what I'm doing now) 2020-08-09T13:46:53Z remexre: and mapc could be "convert to sequence" or "remove arbitrary element" as well 2020-08-09T13:46:56Z beach: But if you can come up with a total order, then you can use binary search or you can use a balanced tree. 2020-08-09T13:47:28Z beach: Then you will have an O(log n) algorithm rather than an O(n). 2020-08-09T13:47:48Z beach: .. For INSERT and FIND. 2020-08-09T13:49:32Z remexre: mhm, yeah; just wanted to be sure that there wasn't some better way built in 2020-08-09T13:50:02Z remexre: thanks! 2020-08-09T13:50:06Z beach: Sure. 2020-08-09T13:50:24Z beach naively thought "better" meant just that. 2020-08-09T13:51:09Z remexre: I mean, more "built in" than better 2020-08-09T13:53:45Z Lycurgus joined #lisp 2020-08-09T13:54:56Z enrio joined #lisp 2020-08-09T13:57:20Z galex-713 quit (Read error: Connection reset by peer) 2020-08-09T13:59:10Z oni-on-ion joined #lisp 2020-08-09T14:00:33Z galex-713 joined #lisp 2020-08-09T14:09:52Z u0_a156: I think this is close: ensure-gethash key hash-table &optional default https://common-lisp.net/project/alexandria/draft/alexandria.html#Hash-Tables 2020-08-09T14:18:08Z v88m quit (Ping timeout: 256 seconds) 2020-08-09T14:18:24Z EvW1 quit (Ping timeout: 256 seconds) 2020-08-09T14:20:10Z pve joined #lisp 2020-08-09T14:20:12Z toorevitimirp joined #lisp 2020-08-09T14:22:29Z remexre: I thought hash tables (other than eq?) were quite slow 2020-08-09T14:24:10Z beach: They are O(1) "average" complexity which is even better than a balanced tree. But again, it depends on what your domain can handle. 2020-08-09T14:24:38Z beach: The overhead is somewhat large for a hash table, but that pays off when you have a lot of elements. 2020-08-09T14:25:02Z beach: Compared to O(n), it pays off fairly fast. Not so fast for O(log n). 2020-08-09T14:25:45Z remexre: yeah, I'm never going to have more than a hundred elements per set anyway, so I think constant factors would win out 2020-08-09T14:30:45Z Bourne quit (Ping timeout: 240 seconds) 2020-08-09T14:34:04Z paul0 quit (Quit: Leaving) 2020-08-09T14:35:14Z treflip quit (Quit: WeeChat 2.6) 2020-08-09T14:45:42Z FreeBirdLjj joined #lisp 2020-08-09T14:45:54Z mangul quit (Ping timeout: 256 seconds) 2020-08-09T14:49:36Z ralt: oh, I could've used ensure-gethash 2020-08-09T14:49:59Z FreeBirdLjj quit (Ping timeout: 244 seconds) 2020-08-09T14:50:23Z ralt: an hour ago I wrote a (let ((presentp (nth-value (gethash key table))) (if presentp (incf (gethash key table)) (setf (gethash key table) 0)) 2020-08-09T14:50:25Z enrioog joined #lisp 2020-08-09T14:50:25Z enrio quit (Ping timeout: 246 seconds) 2020-08-09T14:51:37Z ralt: which reminds me, anyone has an idea of how to do this better? https://pastebin.com/Jzd8hhab 2020-08-09T14:51:44Z ralt: I have a hash table with millions of elements 2020-08-09T14:52:06Z ralt: values are integers, and I want to get the top 10 2020-08-09T14:53:05Z bhartrihari left #lisp 2020-08-09T14:53:21Z bhartrihari joined #lisp 2020-08-09T14:53:47Z nicktick quit (Ping timeout: 240 seconds) 2020-08-09T14:55:15Z bitmapper joined #lisp 2020-08-09T14:55:27Z bhartrihari left #lisp 2020-08-09T14:59:03Z ralt: the `(push v top-10) (sort top-10 #'<)` is not great but OTOH it's a list with 10 elements... I guess an `(insert-sorted v top-10)` would be better, but not by that much? idk 2020-08-09T14:59:23Z beach: You can use MERGE. 2020-08-09T14:59:33Z ralt: let me look that up 2020-08-09T15:00:05Z mangoicedtea quit (Quit: Leaving) 2020-08-09T15:00:10Z beach: Also, your elements are numbers? 2020-08-09T15:00:23Z Lycurgus quit (Remote host closed the connection) 2020-08-09T15:00:25Z beach: Do we know anything else about them? Integers? Range? 2020-08-09T15:01:40Z MichaelRaskin: I believe separately storing the minimum and its position could be faster than sorting every time (but maybe array of length 10 is short enough) 2020-08-09T15:01:44Z ralt: uint64 at worse 2020-08-09T15:02:15Z beach: OK. No great help. :) 2020-08-09T15:02:30Z ralt: MERGE looks interesting, trying to use it 2020-08-09T15:04:19Z beach: Also, pop followed by push allocates memory. (SETF FIRST) would be better. 2020-08-09T15:05:09Z ralt: so yes, I can replace the push/sort with merge 2020-08-09T15:05:25Z ralt: well, with (setf first) I need to do a sort after 2020-08-09T15:05:43Z beach: Right, that was an independent possibility. 2020-08-09T15:05:49Z ralt: but maybe the memory allocations will be worse than the sorting? 2020-08-09T15:05:55Z beach: Possibly. 2020-08-09T15:06:35Z toorevitimirp quit (Remote host closed the connection) 2020-08-09T15:06:44Z beach: Also, MichaelRaskin is right, you can use a vector, and you can use bubble sort or insertion sort which are linear if you only insert one element, but you already figured that out. 2020-08-09T15:07:07Z toorevitimirp joined #lisp 2020-08-09T15:08:10Z u0_a156: Can you sort a top-100 vector to sort less often? Not sure if would be facter. 2020-08-09T15:10:35Z ralt: somehow even with pop/push I end up with "0 bytes consed" in (TIME) 2020-08-09T15:11:24Z ralt: the pop/merge ends up with the least amount of CPU cycles 2020-08-09T15:12:26Z ralt: the (SETF FIRST) + (SORT) ends up with double the amount of CPU cycles than pop/push/sort? 2020-08-09T15:12:29Z EvW joined #lisp 2020-08-09T15:13:15Z ralt: that's... not what I expected 2020-08-09T15:16:22Z ralt: ah, no, I misread 2020-08-09T15:16:24Z ralt: https://pastebin.com/CLkC7tMR 2020-08-09T15:16:42Z ralt: setf first+sort ends up with less instructions than pop/push/sort, which makes sense 2020-08-09T15:17:08Z caltelt joined #lisp 2020-08-09T15:20:03Z toorevitimirp quit (Remote host closed the connection) 2020-08-09T15:21:38Z toorevitimirp joined #lisp 2020-08-09T15:24:33Z ebrasca joined #lisp 2020-08-09T15:26:43Z specbot quit (Remote host closed the connection) 2020-08-09T15:26:43Z minion quit (Remote host closed the connection) 2020-08-09T15:27:23Z beach: Whew! 2020-08-09T15:28:15Z minion joined #lisp 2020-08-09T15:28:16Z specbot joined #lisp 2020-08-09T15:28:16Z toorevitimirp quit (Remote host closed the connection) 2020-08-09T15:28:34Z liberliver quit (Ping timeout: 246 seconds) 2020-08-09T15:32:59Z philweb joined #lisp 2020-08-09T15:33:25Z gungomanj joined #lisp 2020-08-09T15:33:31Z treflip joined #lisp 2020-08-09T15:43:29Z puchacz joined #lisp 2020-08-09T15:43:41Z gungomanj quit (Quit: Konversation terminated!) 2020-08-09T16:00:52Z enrio joined #lisp 2020-08-09T16:01:49Z enrioog quit (Ping timeout: 246 seconds) 2020-08-09T16:01:59Z philweb: jackdaniel: getting closer. I've reduced the code to a trivial test and pasted it with notes in case there's something obvious I'm doing wrong: https://pastebin.com/YG1aqisj 2020-08-09T16:11:42Z samir joined #lisp 2020-08-09T16:14:29Z Lord_of_Life_ joined #lisp 2020-08-09T16:15:36Z Lord_of_Life quit (Ping timeout: 256 seconds) 2020-08-09T16:15:52Z Lord_of_Life_ is now known as Lord_of_Life 2020-08-09T16:16:02Z contrapunctus left #lisp 2020-08-09T16:16:13Z contrapunctus joined #lisp 2020-08-09T16:17:11Z contrapunctus left #lisp 2020-08-09T16:17:31Z contrapunctus joined #lisp 2020-08-09T16:19:47Z contrapunctus left #lisp 2020-08-09T16:19:57Z contrapunctus joined #lisp 2020-08-09T16:22:01Z contrapunctus left #lisp 2020-08-09T16:22:33Z contrapunctus joined #lisp 2020-08-09T16:23:32Z bhartrihari joined #lisp 2020-08-09T16:29:00Z gko_ quit (Ping timeout: 265 seconds) 2020-08-09T16:34:46Z C-16 joined #lisp 2020-08-09T16:43:08Z pve quit (Ping timeout: 256 seconds) 2020-08-09T16:44:06Z Bourne joined #lisp 2020-08-09T16:49:57Z pve joined #lisp 2020-08-09T16:57:01Z Misha_B joined #lisp 2020-08-09T17:01:34Z Misha_B quit (Remote host closed the connection) 2020-08-09T17:04:09Z ebrasca quit (Remote host closed the connection) 2020-08-09T17:07:43Z cosimone joined #lisp 2020-08-09T17:11:23Z treflip quit (Quit: WeeChat 2.8) 2020-08-09T17:11:44Z pve_ joined #lisp 2020-08-09T17:12:26Z vutral joined #lisp 2020-08-09T17:13:57Z pve quit (Ping timeout: 265 seconds) 2020-08-09T17:14:54Z shifty joined #lisp 2020-08-09T17:16:40Z treflip joined #lisp 2020-08-09T17:17:02Z orivej joined #lisp 2020-08-09T17:18:32Z alandipert9 joined #lisp 2020-08-09T17:19:52Z alandipert quit (Ping timeout: 246 seconds) 2020-08-09T17:19:53Z alandipert9 is now known as alandipert 2020-08-09T17:20:50Z shifty quit (Ping timeout: 260 seconds) 2020-08-09T17:21:30Z shifty joined #lisp 2020-08-09T17:26:43Z renzhi joined #lisp 2020-08-09T17:29:01Z mankaev quit (Ping timeout: 264 seconds) 2020-08-09T17:34:35Z mankaev joined #lisp 2020-08-09T17:34:36Z v88m joined #lisp 2020-08-09T17:40:44Z abhixec joined #lisp 2020-08-09T17:48:19Z theseb joined #lisp 2020-08-09T17:58:32Z theseb left #lisp 2020-08-09T18:02:32Z shifty quit (Ping timeout: 256 seconds) 2020-08-09T18:03:05Z shifty joined #lisp 2020-08-09T18:06:56Z ralt quit (Quit: Connection closed for inactivity) 2020-08-09T18:08:34Z shifty quit (Ping timeout: 265 seconds) 2020-08-09T18:08:56Z shifty joined #lisp 2020-08-09T18:15:49Z shifty quit (Ping timeout: 264 seconds) 2020-08-09T18:16:04Z shifty joined #lisp 2020-08-09T18:21:34Z Oladon joined #lisp 2020-08-09T18:21:58Z shifty quit (Ping timeout: 256 seconds) 2020-08-09T18:22:51Z shifty joined #lisp 2020-08-09T18:23:30Z pfr quit (Ping timeout: 256 seconds) 2020-08-09T18:28:02Z shifty quit (Ping timeout: 256 seconds) 2020-08-09T18:28:26Z shifty joined #lisp 2020-08-09T18:30:22Z Inline joined #lisp 2020-08-09T18:30:48Z pve_ quit (Quit: leaving) 2020-08-09T18:31:07Z pve joined #lisp 2020-08-09T18:31:38Z Inline: sorry pve 2020-08-09T18:31:45Z Inline: pve: just saw it now 2020-08-09T18:32:12Z bitmapper quit (Read error: Connection reset by peer) 2020-08-09T18:32:26Z Inline: pve: it just prints "/home/user/lisp/classes7.lisp") 2020-08-09T18:32:34Z Inline: which is correct 2020-08-09T18:34:50Z Inline: ooh 2020-08-09T18:35:00Z Inline: hmmmm 2020-08-09T18:36:32Z pve: Inline: no problem 2020-08-09T18:36:36Z Inline: pve: solved it 2020-08-09T18:36:42Z pve: great 2020-08-09T18:36:51Z Inline: pve: (handler-bind ((warning #'sb-ext::muffle-warning)) 2020-08-09T18:36:51Z Inline: (load "/home/oleo/lisp/classes7")) suppresses the warnings 2020-08-09T18:37:16Z bitmapper joined #lisp 2020-08-09T18:37:17Z Inline: pve: either wrapping that around the forms in my file or doing it like above both solves my problems 2020-08-09T18:37:56Z pve: I was kind of expecting it to print the filename twice or something 2020-08-09T18:38:02Z Inline: nope 2020-08-09T18:38:16Z Inline: pve: it just really prints the filename once 2020-08-09T18:38:21Z pve: actually different filenames even 2020-08-09T18:38:27Z Inline: no again 2020-08-09T18:38:36Z pve: because that usually triggers the warning 2020-08-09T18:38:49Z Inline: hmm 2020-08-09T18:39:16Z Inline: seems like it's lexenv is different somehow 2020-08-09T18:39:25Z narimiran joined #lisp 2020-08-09T18:39:37Z pve: like if you defun foo in the repl and then load a file that also contains (defun foo () ..), you should get the warning 2020-08-09T18:40:21Z Inline: yes 2020-08-09T18:40:45Z pve: but if you managed to muffle them, then maybe it's ok 2020-08-09T18:40:46Z Inline: i had sb-kernel:redefinition-with-defun warnings too i think with other files 2020-08-09T18:41:11Z Inline: pve: the problem is declarations don't take effect 2020-08-09T18:42:00Z pve: ok, I'm more interested in why it thinks they are redefinitions in the first place :) 2020-08-09T18:42:25Z pve: maybe just define load-quietly and call it a day? 2020-08-09T18:42:26Z Inline: pve: (declaim (sb-ext::muffle-conditions cl:warning)) has no effect in that file 2020-08-09T18:42:57Z oni-on-ion quit (Remote host closed the connection) 2020-08-09T18:43:00Z pve: should that work? I've never tried it.. 2020-08-09T18:43:18Z oni-on-ion joined #lisp 2020-08-09T18:44:14Z pve: is it related to sb-ext:*muffled-warnings* 2020-08-09T18:44:26Z bocaneri quit (Read error: Connection reset by peer) 2020-08-09T18:44:44Z jw4 quit (Read error: Connection reset by peer) 2020-08-09T18:46:50Z jw4 joined #lisp 2020-08-09T18:48:25Z Inline: that is set to only 'sb-kernel:uninteresting-redefinition' 2020-08-09T18:48:41Z Inline: in both the repl and the jupyter kernel image 2020-08-09T18:49:47Z shifty quit (Ping timeout: 240 seconds) 2020-08-09T18:51:01Z shifty joined #lisp 2020-08-09T18:53:09Z cosimone quit (Ping timeout: 244 seconds) 2020-08-09T18:54:56Z narimiran quit (Quit: leaving) 2020-08-09T18:55:50Z pfr joined #lisp 2020-08-09T19:00:45Z rippa joined #lisp 2020-08-09T19:01:06Z contrapunctus: Let's make a CL implementation called +, and watch the world burn. 😏 2020-08-09T19:01:29Z natter joined #lisp 2020-08-09T19:02:41Z contrapunctus: ...ah, on second thoughts, that wouldn't be too effective. (I'm referring to code which uses ++ to ignore the next expression.) 2020-08-09T19:03:48Z paul0 joined #lisp 2020-08-09T19:05:46Z Inquieto joined #lisp 2020-08-09T19:05:58Z treflip quit (Quit: WeeChat 2.6) 2020-08-09T19:12:02Z _whitelogger quit (Remote host closed the connection) 2020-08-09T19:12:52Z EvW quit (Ping timeout: 260 seconds) 2020-08-09T19:14:13Z _whitelogger joined #lisp 2020-08-09T19:14:14Z pfr quit (Ping timeout: 260 seconds) 2020-08-09T19:15:53Z pfr joined #lisp 2020-08-09T19:17:32Z space_otter joined #lisp 2020-08-09T19:17:37Z renzhi quit (Ping timeout: 264 seconds) 2020-08-09T19:19:35Z torbo joined #lisp 2020-08-09T19:19:55Z torbo quit (Remote host closed the connection) 2020-08-09T19:20:10Z shifty quit (Ping timeout: 256 seconds) 2020-08-09T19:21:14Z shifty joined #lisp 2020-08-09T19:28:25Z cosimone joined #lisp 2020-08-09T19:29:58Z shifty quit (Ping timeout: 256 seconds) 2020-08-09T19:31:27Z mindCrime joined #lisp 2020-08-09T19:33:19Z kaftejiman joined #lisp 2020-08-09T19:33:48Z nullheroes quit (Quit: WeeChat 2.9) 2020-08-09T19:34:30Z nullheroes joined #lisp 2020-08-09T19:35:56Z nullheroes quit (Client Quit) 2020-08-09T19:36:18Z nullheroes joined #lisp 2020-08-09T19:36:18Z EvW1 joined #lisp 2020-08-09T19:39:39Z heisig quit (Quit: Leaving) 2020-08-09T19:42:31Z dominic34 joined #lisp 2020-08-09T19:42:32Z dominic34 quit (Excess Flood) 2020-08-09T19:42:50Z dominic34 joined #lisp 2020-08-09T19:44:49Z ralt joined #lisp 2020-08-09T19:52:02Z torbo joined #lisp 2020-08-09T19:53:33Z mindCrime quit (Excess Flood) 2020-08-09T19:54:03Z mindCrime joined #lisp 2020-08-09T20:02:10Z vutral quit (Quit: Connection closed for inactivity) 2020-08-09T20:02:31Z izh_ joined #lisp 2020-08-09T20:03:15Z ljavorsk_ joined #lisp 2020-08-09T20:06:21Z ljavorsk_ quit (Remote host closed the connection) 2020-08-09T20:06:33Z ljavorsk_ joined #lisp 2020-08-09T20:20:07Z gravicappa quit (Ping timeout: 246 seconds) 2020-08-09T20:23:26Z mrcom quit (Quit: This computer has gone to sleep) 2020-08-09T20:24:05Z mrcom joined #lisp 2020-08-09T20:24:19Z enrio quit (Ping timeout: 246 seconds) 2020-08-09T20:28:47Z pfr quit (Ping timeout: 240 seconds) 2020-08-09T20:37:57Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2020-08-09T20:44:41Z terpri_ joined #lisp 2020-08-09T20:45:11Z izh_ quit (Quit: Leaving) 2020-08-09T20:45:39Z CrazyEddy quit (Ping timeout: 265 seconds) 2020-08-09T20:46:39Z ljavorsk_ quit (Read error: Connection reset by peer) 2020-08-09T20:47:14Z ljavorsk_ joined #lisp 2020-08-09T20:47:42Z terpri quit (Ping timeout: 260 seconds) 2020-08-09T20:50:40Z bsd4me joined #lisp 2020-08-09T20:55:39Z samir quit (Remote host closed the connection) 2020-08-09T20:58:50Z pve quit (Quit: leaving) 2020-08-09T21:00:11Z orivej quit (Ping timeout: 240 seconds) 2020-08-09T21:04:40Z terpri_ is now known as terpri 2020-08-09T21:05:26Z Lycurgus joined #lisp 2020-08-09T21:10:25Z ljavorsk_ quit (Ping timeout: 264 seconds) 2020-08-09T21:11:09Z VincentVega joined #lisp 2020-08-09T21:12:38Z gaqwas quit (Remote host closed the connection) 2020-08-09T21:17:12Z cosimone quit (Quit: Quit.) 2020-08-09T21:22:54Z ggole quit (Quit: Leaving) 2020-08-09T21:24:37Z luckless_ quit (Remote host closed the connection) 2020-08-09T21:25:09Z luckless_ joined #lisp 2020-08-09T21:26:56Z VincentVega: Good day/night all! Wondering, so I have a dynamic variable (it's global and all functions use it conveniently). Now, I want to run the code in a few threads (independently), each having it's own (thread-specific) value of the dynamic variable. Can this be done? 2020-08-09T21:26:58Z bocaneri joined #lisp 2020-08-09T21:27:51Z aeth: I think dynamic variables are always thread-specific? Probably an implementation-specific thing, but I thought it's sort of part of the bordeaux-threads assumptions. 2020-08-09T21:28:47Z aeth: oh, no, wait, it's more complicated than that 2020-08-09T21:28:49Z aeth: https://sionescu.github.io/bordeaux-threads/threads/make-thread/ 2020-08-09T21:28:53Z kaftejiman quit (Remote host closed the connection) 2020-08-09T21:30:26Z aeth: VincentVega: I think the most portable way to do it would be to wrap the thread entry point (inside of the lambda that's run on the new thread in bt:make-thread) in a LET? 2020-08-09T21:30:32Z shifty joined #lisp 2020-08-09T21:31:10Z aeth: initial-bindings is what I must've been thinking of, but it has some implementation-specific behavior 2020-08-09T21:32:22Z VincentVega: aeth: hmm, yes, indeed, let over lambda sounds like it's gonna work! 2020-08-09T21:33:29Z VincentVega: aeth: thank you! 2020-08-09T21:36:02Z phoe: let over lambda? 2020-08-09T21:36:06Z phoe: more like lambda over let 2020-08-09T21:36:14Z aeth: right 2020-08-09T21:36:31Z aeth: let over lambda is the implementation-specific behavior BT is warning you not to do in bt:make-thread's documentation 2020-08-09T21:36:35Z phoe: you want to pass the value lexically, and then bind the dynavar inside the lambda 2020-08-09T21:36:36Z aeth: lambda over let looks like it's safe. 2020-08-09T21:36:38Z Lycurgus quit (Remote host closed the connection) 2020-08-09T21:36:55Z phoe: (let ((foo *foo*)) (bt:make-thread (lambda () (let ((*foo* foo)) ...)))) 2020-08-09T21:37:10Z phoe: this way the value is passed via a lexical closure which is guaranteed to work 2020-08-09T21:38:04Z aeth: ^ 2020-08-09T21:38:16Z VincentVega: thanks guys, I see what you are saying 2020-08-09T21:38:22Z cosimone joined #lisp 2020-08-09T21:38:27Z renzhi joined #lisp 2020-08-09T21:39:00Z cosimone quit (Remote host closed the connection) 2020-08-09T21:39:05Z gaqwas joined #lisp 2020-08-09T21:40:09Z cosimone joined #lisp 2020-08-09T21:40:45Z Inline quit (Ping timeout: 240 seconds) 2020-08-09T21:42:13Z shifty quit (Ping timeout: 264 seconds) 2020-08-09T21:45:09Z cosimone quit (Remote host closed the connection) 2020-08-09T21:47:26Z stylewarning: phoe: a pro gamer move also known as the dynamic-lexical razzledazzle 2020-08-09T21:49:23Z aeth: It's a design pattern. This means the proper solution is to use a make-thread* macro to do that instead. :-p 2020-08-09T21:52:51Z VincentVega: stylewarning: I like that : D 2020-08-09T21:57:08Z akoana joined #lisp 2020-08-09T21:57:20Z edgar-rft: let's paternally design pitiful design patterns 2020-08-09T22:03:37Z mangoicedtea joined #lisp 2020-08-09T22:10:44Z satousan joined #lisp 2020-08-09T22:14:09Z VincentVega quit (Remote host closed the connection) 2020-08-09T22:16:25Z luna_is_here quit (Ping timeout: 240 seconds) 2020-08-09T22:19:55Z White_Flame: I guess a with-* macro would be a design pattern, as there aren't specifically scope management operations in lisp 2020-08-09T22:21:06Z luna_is_here joined #lisp 2020-08-09T22:22:17Z aeth: White_Flame: Correct. When Lispers criticize design patterns as unnecessary in Common Lisp, I bring up the case of "macro design pattern" conventions, like with-foo (usually with an unwind-protect), define-foo (usually with a defun, but maybe it deals with a different global definition), do-foo (iteration), etc. 2020-08-09T22:22:19Z gaqwas quit (Ping timeout: 265 seconds) 2020-08-09T22:22:55Z aeth: White_Flame: Although to be fair, you could turn some of these into macros, even though only define-modify-macro (like incf/decf) actually is like that in the standard. 2020-08-09T22:23:19Z fwoaroof[m]: I generally think of "design patterns" as involving fairly complicated code structures that have to be manually implemented every time 2020-08-09T22:23:29Z White_Flame: macros are literally for automating away manual design patterns ;) 2020-08-09T22:23:40Z fwoaroof[m]: Yeah, at that point I call them "abstractions" :) 2020-08-09T22:23:56Z White_Flame: well, their syntactic abstractions, not abstractions behind function APIs 2020-08-09T22:23:58Z fwoaroof[m]: A design pattern is the result of not being able to abstract in a specific way 2020-08-09T22:23:59Z White_Flame: *they're 2020-08-09T22:24:18Z fwoaroof[m]: Most languages don't give you the ability to implement syntactic abstractions 2020-08-09T22:24:28Z fwoaroof[m]: So you end up with boilerplaty design patterns 2020-08-09T22:25:25Z edgar-rft defines (defmacro with-several-megatons-of-unnecessary-bloat ....) 2020-08-09T22:26:07Z aeth: Hey, I've seen that before, with different names! 2020-08-09T22:26:10Z ralt quit (Quit: Connection closed for inactivity) 2020-08-09T22:26:17Z aeth: (I've probably written it, too...) 2020-08-09T22:26:34Z edgar-rft: aeth: but I generalized it! 2020-08-09T22:27:09Z aeth: solve the package name conflict issue in Quicklisp so you can say with-every-single-asdf-system-in-quicklisp-loaded 2020-08-09T22:27:26Z edgar-rft: now I can write (with-several-megatons-of-unnecessary-bloat (+ 1 1)) 2020-08-09T22:27:33Z fwoaroof[m]: Just embed CL in CL 2020-08-09T22:27:39Z aeth: edgar-rft: yes, but my macro bloats more 2020-08-09T22:27:41Z fwoaroof[m]: And load every system in its own CL 2020-08-09T22:27:58Z edgar-rft: beach currently does that, it's called SICL :-) 2020-08-09T22:28:13Z fwoaroof[m]: And then run the host CL in docker, in a VM on a server somewhere 2020-08-09T22:29:47Z aeth: think of all of the fun surprises realized by modifying global state, e.g. you might discover that (with-every-system-loaded (+ 1 1)) => ٢ 2020-08-09T22:30:31Z dra quit (Remote host closed the connection) 2020-08-09T22:30:37Z edgar-rft: (apply #'1+ global-warming)) 2020-08-09T22:33:01Z edgar-rft quit (Quit: Leaving) 2020-08-09T22:34:02Z ayuce quit (Remote host closed the connection) 2020-08-09T22:36:36Z satousan quit (Quit: WeeChat 2.3) 2020-08-09T22:38:06Z renzhi quit (Ping timeout: 256 seconds) 2020-08-09T22:46:00Z abhixec quit (Quit: leaving) 2020-08-09T22:47:51Z puchacz quit (Remote host closed the connection) 2020-08-09T22:52:18Z FreeBirdLjj joined #lisp 2020-08-09T22:56:30Z FreeBirdLjj quit (Ping timeout: 244 seconds) 2020-08-09T23:00:41Z renzhi joined #lisp 2020-08-09T23:02:00Z pfr joined #lisp 2020-08-09T23:27:00Z gaqwas joined #lisp 2020-08-09T23:27:00Z gaqwas quit (Changing host) 2020-08-09T23:27:00Z gaqwas joined #lisp 2020-08-09T23:28:55Z cjb joined #lisp 2020-08-09T23:39:01Z mangoicedtea quit (Quit: Leaving) 2020-08-09T23:41:37Z shifty joined #lisp 2020-08-09T23:47:50Z MichaelRaskin quit (Quit: MichaelRaskin) 2020-08-09T23:52:25Z random-nick quit (Ping timeout: 264 seconds) 2020-08-10T00:01:33Z orivej joined #lisp 2020-08-10T00:02:35Z Lord_Nightmare quit (Ping timeout: 240 seconds) 2020-08-10T00:07:04Z abhixec joined #lisp 2020-08-10T00:14:11Z wxie joined #lisp 2020-08-10T00:16:53Z edgar-rft joined #lisp 2020-08-10T00:23:12Z jas-at-re quit (Remote host closed the connection) 2020-08-10T00:35:47Z gaqwas quit (Ping timeout: 240 seconds) 2020-08-10T00:36:32Z orivej quit (Ping timeout: 256 seconds) 2020-08-10T00:36:55Z nicktick joined #lisp 2020-08-10T00:46:11Z shifty quit (Ping timeout: 240 seconds) 2020-08-10T00:57:25Z wxie quit (Remote host closed the connection) 2020-08-10T00:59:14Z wxie joined #lisp 2020-08-10T00:59:32Z bocaneri is now known as Sauvin 2020-08-10T01:00:17Z __jrjsmrtn__ joined #lisp 2020-08-10T01:02:01Z _jrjsmrtn quit (Ping timeout: 264 seconds) 2020-08-10T01:09:43Z wxie quit (Quit: wxie) 2020-08-10T01:21:37Z Kaisyu7 quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-08-10T01:23:50Z bsd4me quit (Quit: Leaving) 2020-08-10T01:28:43Z bilegeek joined #lisp 2020-08-10T01:31:18Z renzhi quit (Ping timeout: 260 seconds) 2020-08-10T01:33:03Z cjb quit (Quit: ERC (IRC client for Emacs 27.1)) 2020-08-10T01:36:37Z cjb joined #lisp 2020-08-10T01:45:17Z Kaisyu7 joined #lisp 2020-08-10T01:56:11Z nicktick quit (Ping timeout: 240 seconds) 2020-08-10T02:01:16Z nicktick joined #lisp 2020-08-10T02:05:10Z slyrus quit (Quit: Leaving) 2020-08-10T02:17:39Z wxie joined #lisp 2020-08-10T02:23:05Z cjb quit (Ping timeout: 245 seconds) 2020-08-10T02:26:22Z cjb joined #lisp 2020-08-10T02:27:57Z mindCrime quit (Excess Flood) 2020-08-10T02:28:26Z mindCrime joined #lisp 2020-08-10T02:32:14Z bhartrihari left #lisp 2020-08-10T02:32:18Z Oladon quit (Quit: Leaving.) 2020-08-10T02:43:47Z mindCrime quit (Read error: Connection reset by peer) 2020-08-10T02:45:07Z shifty joined #lisp 2020-08-10T02:47:17Z bhartrihari joined #lisp 2020-08-10T02:48:33Z Oladon joined #lisp 2020-08-10T02:50:25Z shifty quit (Ping timeout: 240 seconds) 2020-08-10T02:58:25Z dominic34 quit (Ping timeout: 264 seconds) 2020-08-10T03:00:49Z wxie quit (Ping timeout: 264 seconds) 2020-08-10T03:02:23Z Alfr__ joined #lisp 2020-08-10T03:04:28Z bsd4me joined #lisp 2020-08-10T03:04:47Z Alfr_ quit (Ping timeout: 260 seconds) 2020-08-10T03:05:27Z satousan joined #lisp 2020-08-10T03:06:37Z wxie joined #lisp 2020-08-10T03:09:10Z galex-713 quit (Read error: Connection reset by peer) 2020-08-10T03:10:04Z wxie1 joined #lisp 2020-08-10T03:11:01Z wxie quit (Ping timeout: 264 seconds) 2020-08-10T03:11:02Z wxie1 is now known as wxie 2020-08-10T03:12:36Z galex-713 joined #lisp 2020-08-10T03:12:41Z EvW1 quit (Ping timeout: 246 seconds) 2020-08-10T03:20:49Z nmg_ quit (Ping timeout: 246 seconds) 2020-08-10T03:25:37Z epony quit (Remote host closed the connection) 2020-08-10T03:26:39Z epony joined #lisp 2020-08-10T03:27:56Z satousan quit (Quit: WeeChat 2.3) 2020-08-10T03:33:03Z orivej joined #lisp 2020-08-10T03:36:13Z torbo quit (Remote host closed the connection) 2020-08-10T03:41:27Z Retropikzel joined #lisp 2020-08-10T03:42:59Z nicktick quit (Ping timeout: 240 seconds) 2020-08-10T03:43:56Z caltelt quit (Ping timeout: 256 seconds) 2020-08-10T03:45:58Z nicktick joined #lisp 2020-08-10T03:50:21Z Inquieto quit 2020-08-10T03:50:44Z pfr quit (Ping timeout: 256 seconds) 2020-08-10T03:52:46Z bhartrihari left #lisp 2020-08-10T03:55:53Z beach: Good morning everyone! 2020-08-10T03:57:32Z Necktwi quit (Ping timeout: 256 seconds) 2020-08-10T04:04:20Z Necktwi joined #lisp 2020-08-10T04:10:03Z Lord_Nightmare joined #lisp 2020-08-10T04:11:32Z bhartrihari joined #lisp 2020-08-10T04:12:59Z wxie quit (Ping timeout: 240 seconds) 2020-08-10T04:15:40Z Lord_of_Life_ joined #lisp 2020-08-10T04:15:45Z Lord_of_Life quit (Ping timeout: 240 seconds) 2020-08-10T04:17:01Z Lord_of_Life_ is now known as Lord_of_Life 2020-08-10T04:23:08Z bsd4me quit (Quit: Leaving) 2020-08-10T04:38:49Z sympt joined #lisp 2020-08-10T04:42:13Z sympt_ quit (Ping timeout: 264 seconds) 2020-08-10T04:49:38Z shifty joined #lisp 2020-08-10T04:54:48Z PuercoPop quit (Remote host closed the connection) 2020-08-10T04:57:53Z Lord_Nightmare quit (Quit: ZNC - http://znc.in) 2020-08-10T04:59:26Z Lord_Nightmare joined #lisp 2020-08-10T04:59:42Z gravicappa joined #lisp 2020-08-10T05:05:45Z Oladon quit (Quit: Leaving.) 2020-08-10T05:06:31Z shifty quit (Ping timeout: 246 seconds) 2020-08-10T05:06:55Z shifty joined #lisp 2020-08-10T05:07:01Z satousan joined #lisp 2020-08-10T05:07:08Z jas-at-re joined #lisp 2020-08-10T05:12:16Z wxie joined #lisp 2020-08-10T05:27:25Z Oladon joined #lisp 2020-08-10T05:29:33Z elflng quit (Read error: Connection reset by peer) 2020-08-10T05:30:26Z elflng joined #lisp 2020-08-10T05:35:01Z heisig joined #lisp 2020-08-10T05:47:49Z shifty quit (Ping timeout: 246 seconds) 2020-08-10T05:47:56Z shifty joined #lisp 2020-08-10T05:50:20Z bilegeek quit (Quit: Leaving) 2020-08-10T05:51:09Z treflip joined #lisp 2020-08-10T05:53:37Z shifty quit (Ping timeout: 264 seconds) 2020-08-10T05:58:06Z ralt joined #lisp 2020-08-10T05:58:37Z cjb quit (Read error: Connection reset by peer) 2020-08-10T06:04:27Z cjb joined #lisp 2020-08-10T06:16:58Z jw4 quit (Quit: tot siens) 2020-08-10T06:17:21Z jw4 joined #lisp 2020-08-10T06:19:12Z lansiir quit (Ping timeout: 256 seconds) 2020-08-10T06:20:11Z wxie1 joined #lisp 2020-08-10T06:20:38Z wxie quit (Ping timeout: 260 seconds) 2020-08-10T06:20:39Z wxie1 is now known as wxie 2020-08-10T06:20:43Z nicktick quit (Ping timeout: 246 seconds) 2020-08-10T06:20:46Z gaqwas joined #lisp 2020-08-10T06:20:46Z gaqwas quit (Changing host) 2020-08-10T06:20:47Z gaqwas joined #lisp 2020-08-10T06:21:07Z mankaev quit (Read error: Connection reset by peer) 2020-08-10T06:21:09Z lansiir joined #lisp 2020-08-10T06:21:32Z randomidiot joined #lisp 2020-08-10T06:21:33Z nicktick joined #lisp 2020-08-10T06:26:39Z randomidiot quit (Quit: randomidiot) 2020-08-10T06:27:05Z Oladon quit (Quit: Leaving.) 2020-08-10T06:29:31Z eagleflo quit (Ping timeout: 265 seconds) 2020-08-10T06:30:32Z oni-on-ion quit (Ping timeout: 256 seconds) 2020-08-10T06:36:30Z hiroaki quit (Ping timeout: 260 seconds) 2020-08-10T06:42:00Z oni-on-ion joined #lisp 2020-08-10T06:42:21Z contrapunctus left #lisp 2020-08-10T06:43:07Z contrapunctus joined #lisp 2020-08-10T06:43:51Z contrapunctus left #lisp 2020-08-10T06:45:49Z contrapunctus joined #lisp 2020-08-10T06:47:33Z wxie quit (Quit: wxie) 2020-08-10T06:48:24Z oni-on-ion quit (Ping timeout: 244 seconds) 2020-08-10T06:51:20Z jeosol quit (Ping timeout: 245 seconds) 2020-08-10T06:56:18Z FreeBirdLjj joined #lisp 2020-08-10T06:56:48Z pve joined #lisp 2020-08-10T06:57:21Z ajithmk joined #lisp 2020-08-10T07:00:50Z FreeBirdLjj quit (Ping timeout: 256 seconds) 2020-08-10T07:03:44Z gaqwas quit (Remote host closed the connection) 2020-08-10T07:11:02Z phoe: aeth: another design pattern is *F for modify macros 2020-08-10T07:11:10Z phoe: Alexandria defines a bunch of those 2020-08-10T07:14:30Z beach: I think it's a stretch to call those conventions "design patterns". 2020-08-10T07:15:04Z enrio joined #lisp 2020-08-10T07:18:16Z contrapunctus: edgar-rft: `(incf *anxiety*)` 2020-08-10T07:18:28Z phoe: sure thing I would, since the original term "design pattern" attaches itself to things as petty as the Singleton and the Decorator 2020-08-10T07:18:40Z contrapunctus: edgar-rft: also trailing garbage after expression 😏 2020-08-10T07:25:05Z banjiewen quit (Ping timeout: 244 seconds) 2020-08-10T07:26:02Z jerme_ quit (Ping timeout: 244 seconds) 2020-08-10T07:26:58Z jerme_ joined #lisp 2020-08-10T07:27:07Z banjiewen joined #lisp 2020-08-10T07:35:32Z jprajzne joined #lisp 2020-08-10T07:38:23Z mingus joined #lisp 2020-08-10T07:39:45Z cjb quit (Ping timeout: 245 seconds) 2020-08-10T07:42:25Z ljavorsk_ joined #lisp 2020-08-10T07:52:59Z enrioog joined #lisp 2020-08-10T07:53:08Z shifty joined #lisp 2020-08-10T07:53:47Z JohnMS_WORK joined #lisp 2020-08-10T07:54:22Z Archenoth joined #lisp 2020-08-10T07:54:34Z enrio quit (Ping timeout: 256 seconds) 2020-08-10T07:58:25Z shifty quit (Ping timeout: 240 seconds) 2020-08-10T07:58:37Z Cymew joined #lisp 2020-08-10T07:58:39Z gaqwas joined #lisp 2020-08-10T07:58:39Z gaqwas quit (Changing host) 2020-08-10T07:58:39Z gaqwas joined #lisp 2020-08-10T07:59:02Z shifty joined #lisp 2020-08-10T08:00:49Z liberliver joined #lisp 2020-08-10T08:03:12Z yonkunas quit (Quit: Connection closed for inactivity) 2020-08-10T08:06:52Z shifty quit (Ping timeout: 256 seconds) 2020-08-10T08:07:21Z shifty joined #lisp 2020-08-10T08:07:38Z Necktwi quit (Ping timeout: 265 seconds) 2020-08-10T08:08:08Z Necktwi joined #lisp 2020-08-10T08:10:54Z philweb quit (Ping timeout: 245 seconds) 2020-08-10T08:14:28Z shifty quit (Ping timeout: 246 seconds) 2020-08-10T08:25:19Z dra joined #lisp 2020-08-10T08:31:53Z gaqwas quit (Remote host closed the connection) 2020-08-10T08:33:52Z pfr joined #lisp 2020-08-10T08:38:06Z ofi joined #lisp 2020-08-10T08:38:33Z n123456 joined #lisp 2020-08-10T08:38:39Z nanoz joined #lisp 2020-08-10T08:39:07Z gxt joined #lisp 2020-08-10T08:39:17Z n123456 quit (Client Quit) 2020-08-10T08:40:30Z gravicappa quit (Ping timeout: 265 seconds) 2020-08-10T08:41:57Z enrioog quit (Ping timeout: 265 seconds) 2020-08-10T08:44:47Z vaporatorius__ joined #lisp 2020-08-10T08:47:23Z vaporatorius quit (Ping timeout: 240 seconds) 2020-08-10T08:49:59Z mokulus joined #lisp 2020-08-10T08:52:05Z p_l: design patterns would fit more towards certain structures of LET/FLET/etc. 2020-08-10T08:52:47Z p_l: phoe: btw, have you read the original Design Patterns (I haven't, it's on The List)? I wonder how Smalltalk version matches up to the C++/Java cargo cult 2020-08-10T08:53:14Z ljavorsk_ quit (Remote host closed the connection) 2020-08-10T08:53:39Z phoe: p_l: I haven't read the Smalltalk book 2020-08-10T08:54:21Z treflip quit (Quit: WeeChat 2.6) 2020-08-10T08:56:08Z dra_ joined #lisp 2020-08-10T08:56:08Z dra quit (Read error: Connection reset by peer) 2020-08-10T09:01:20Z treflip joined #lisp 2020-08-10T09:04:00Z enrioog joined #lisp 2020-08-10T09:07:34Z nanoz quit (Ping timeout: 265 seconds) 2020-08-10T09:08:17Z ldb joined #lisp 2020-08-10T09:08:24Z ldb: good afternoon 2020-08-10T09:08:31Z phoe: hello ldb 2020-08-10T09:10:59Z galex-713 quit (Ping timeout: 272 seconds) 2020-08-10T09:16:36Z ldb_ joined #lisp 2020-08-10T09:16:38Z ajithmk quit (Quit: Connection closed for inactivity) 2020-08-10T09:17:42Z ldb quit (Ping timeout: 256 seconds) 2020-08-10T09:22:24Z ldb_ quit (Ping timeout: 256 seconds) 2020-08-10T09:23:15Z galex-713 joined #lisp 2020-08-10T09:23:21Z akoana left #lisp 2020-08-10T09:23:29Z ldb joined #lisp 2020-08-10T09:25:59Z nanoz joined #lisp 2020-08-10T09:29:37Z enrioog quit (Ping timeout: 264 seconds) 2020-08-10T09:38:40Z nicktick quit (Ping timeout: 256 seconds) 2020-08-10T09:39:24Z ldb quit (Ping timeout: 256 seconds) 2020-08-10T09:44:06Z nicktick joined #lisp 2020-08-10T09:45:43Z dim: my understanding (which needs fact checking, conversations, actually reading the book, etc) is that Design Patterns are mostly useful when all you have is Single Dispatch and Single Inheritance ; when you have multiple dispatch and a way to compose methods yourself, I'm not sure you actually need many of the design patterns... you just don't have those problems they're solving... 2020-08-10T09:46:49Z p_l: don't forget dynamic variables 2020-08-10T09:47:31Z beach: dim: Those are the design patters that are mostly described in the book. But that doesn't mean that those are the only useful design patterns, so there maybe others in languages that don't happen to need the ones from the book. 2020-08-10T09:48:12Z dim: I guess that's what I was trying to say, yes 2020-08-10T09:48:36Z dim: (well I said only the first half, it would be more fair to say that I also agree with the other part you're adding) 2020-08-10T09:49:43Z dim: I think http://www.norvig.com/luv-slides.pdf could be understood as some kind of Lisp design patterns too 2020-08-10T09:50:10Z nicktick quit (Ping timeout: 256 seconds) 2020-08-10T09:51:01Z phoe: dim: https://norvig.com/design-patterns/design-patterns.pdf 2020-08-10T09:51:04Z phoe: this is also an important slide deck 2020-08-10T09:51:11Z phoe: from the very same author, too :D 2020-08-10T09:51:16Z dim: thanks 2020-08-10T09:51:33Z dim: ah yeah I did read that one too, forgot about it though, somehow 2020-08-10T09:54:49Z dim: oh ok I failed to remember that my feeling about design patterns and lisp actually come from that slide deck, thanks for the reminder ;-) 2020-08-10T09:56:38Z phoe: basically, some design patters may disappear as the underlying language becomes actually capable of supporting the concepts behind those patterns in better ways 2020-08-10T10:01:46Z cosimone joined #lisp 2020-08-10T10:02:45Z vert2 quit (Ping timeout: 240 seconds) 2020-08-10T10:03:05Z Tordek quit (Ping timeout: 240 seconds) 2020-08-10T10:06:25Z gravicappa joined #lisp 2020-08-10T10:09:21Z ajithmk joined #lisp 2020-08-10T10:17:32Z ajithmk: https://www.irccloud.com/pastebin/OGOf5w38 2020-08-10T10:18:28Z ajithmk: (with-foreign-object (var1 '(:struct blahblah) 2) 2020-08-10T10:18:29Z ajithmk: (setf (foreign-slot-value var1[0] :slot-name) something)) 2020-08-10T10:18:29Z ajithmk: What's the lisp way of saying var1[0] or var1[1] when var1 is pointer to an array of structs? 2020-08-10T10:19:59Z ralt: (AREF) 2020-08-10T10:21:53Z cosimone quit (Quit: Quit.) 2020-08-10T10:23:09Z cosimone joined #lisp 2020-08-10T10:23:11Z jello_pudding quit (Ping timeout: 246 seconds) 2020-08-10T10:24:55Z igemnace joined #lisp 2020-08-10T10:25:59Z scymtym: norvig silently generalizes a bit and doesn't say this explicitly, but there is also the fact that OOP design patterns revolve around assigning responsibilities. and by that the OOP people mean assigning responsibilities to classes which doesn't make that much sense in a CL context 2020-08-10T10:27:15Z phoe: scymtym: yes, e.g. one can also assign responsibilities to methods in CL wrt :BEFORE/:AFTER/:AROUND - I think Norvig mentions that example in his slides 2020-08-10T10:29:37Z jackdaniel: (defclass irresponsible-class (standard-class) ((do-it-p :initform :usre :reader do-it-p))) 2020-08-10T10:29:38Z scymtym: phoe: sure, but i mean that the whole methodology is structured around "packages contain classes, classes contain methods". motivations such as avoiding "god classes" or controlling coupling between and cohesion within classes only make sense in that framework 2020-08-10T10:30:03Z jackdaniel: s/usre/sure/ :) 2020-08-10T10:30:21Z phoe: oh, yes, I understand 2020-08-10T10:31:30Z scymtym: one could say that CL classes take on responsibilities of the "knowing something" kind, but "doing something" is often the more important kind 2020-08-10T10:31:37Z jackdaniel: one could argue, that auxiliary methods introduce unexpected processing steps to a person, who adds their own method, and in this sense they water down resposnibility 2020-08-10T10:32:07Z jackdaniel: even responsibility :) 2020-08-10T10:32:15Z space_otter quit (Remote host closed the connection) 2020-08-10T10:32:40Z nanoz quit (Read error: Connection reset by peer) 2020-08-10T10:33:38Z nanoz joined #lisp 2020-08-10T10:35:59Z jello_pudding joined #lisp 2020-08-10T10:37:21Z quazimod1 joined #lisp 2020-08-10T10:38:42Z quazimodo quit (Ping timeout: 260 seconds) 2020-08-10T10:39:52Z vaporatorius joined #lisp 2020-08-10T10:42:54Z vaporatorius__ quit (Ping timeout: 260 seconds) 2020-08-10T10:47:25Z ajithmk: ralt: (aref) works for vectors and arrays but not on pointers to foreign structs. 2020-08-10T10:50:11Z hsaziz joined #lisp 2020-08-10T10:52:05Z orivej quit (Ping timeout: 240 seconds) 2020-08-10T11:07:22Z orivej joined #lisp 2020-08-10T11:08:04Z gaqwas joined #lisp 2020-08-10T11:13:41Z terpri_ joined #lisp 2020-08-10T11:16:39Z nanoz quit (Read error: Connection reset by peer) 2020-08-10T11:17:06Z nanoz joined #lisp 2020-08-10T11:17:07Z terpri quit (Ping timeout: 260 seconds) 2020-08-10T11:22:50Z random-nick joined #lisp 2020-08-10T11:23:03Z galex-713 quit (Ping timeout: 246 seconds) 2020-08-10T11:23:42Z galex-713 joined #lisp 2020-08-10T11:28:00Z kaftejiman joined #lisp 2020-08-10T11:34:32Z ayuce joined #lisp 2020-08-10T11:36:43Z hendursaga quit (Ping timeout: 240 seconds) 2020-08-10T11:41:59Z ebrasca joined #lisp 2020-08-10T11:44:33Z flip214: Can I parse an ALIST with DESTRUCTURING-BIND as well? Or some other CL function? (Yes, I know about ALEXANDRIA:ASSOC-VALUE) 2020-08-10T11:46:35Z bitmapper quit (Ping timeout: 265 seconds) 2020-08-10T11:47:19Z jackdaniel: (destructuring-bind ((a . b) (c . d)) (list (cons 1 2) (cons 3 4)) (list a b c d)) ; works 2020-08-10T11:47:32Z jackdaniel: but destructuring-bind does not know anything about keys or values 2020-08-10T11:47:36Z jackdaniel: it is dumb matching 2020-08-10T11:48:15Z jackdaniel: (loop for (a . b) in (list (cons 1 2) (cons 3 4)) collect a collect b) ; also works 2020-08-10T11:48:43Z phoe: d-b won't work on reordered alists though, it can't perform this sort of pattern matching 2020-08-10T11:49:24Z jackdaniel: I'm certain I said that that it does not know anything about keys or values, hence - about the order ,-) 2020-08-10T11:50:07Z phoe: I mean, it *does* work on plists with a proper &KEY 2020-08-10T11:50:13Z phoe: but doesn't work on alists 2020-08-10T11:50:38Z jackdaniel: flip214: you may put CASE in the loop to match keys, or alx:switch if keys have a custom test 2020-08-10T11:50:51Z jackdaniel: phoe: uhm 2020-08-10T11:52:04Z phoe: (destructuring-bind (&key foo bar) '(:bar 24 :foo 42) ...) 2020-08-10T11:54:16Z galex-713 quit (Ping timeout: 256 seconds) 2020-08-10T11:54:44Z galex-713 joined #lisp 2020-08-10T11:56:03Z tourjin joined #lisp 2020-08-10T11:56:37Z v88m quit (Ping timeout: 264 seconds) 2020-08-10T11:58:58Z nanoz quit (Ping timeout: 260 seconds) 2020-08-10T12:02:13Z kinope: Do any of the Common Lisp implementations support assigning threads to run on specific cpu cores? 2020-08-10T12:03:22Z flip214: thanks 2020-08-10T12:04:05Z p_l: kinope: I don't think there's anything explicitly made in Lisp-side APIs, but you can easily use CFFI to call out necessary system-level functions 2020-08-10T12:04:34Z p_l: Unfortunately I think every OS out there has its own different API for that 2020-08-10T12:06:21Z Xach: fortunately there are only three OSs 2020-08-10T12:06:22Z phoe: portalib for that when 2020-08-10T12:06:43Z phoe: Xach: glad that someone finally understands me 2020-08-10T12:06:58Z Xach: sunos, solaris, and A/UX 2020-08-10T12:07:00Z phoe: no one needs OSes other than NetBSD, OpenGenera, and Mezzano 2020-08-10T12:07:00Z jackdaniel: and fortunately one of these three OSs is FreeDOS and does not support threads 2020-08-10T12:07:09Z phoe: oh 2020-08-10T12:07:16Z Xach: i'm glad we all chose different niche OSs 2020-08-10T12:07:40Z hajovonta joined #lisp 2020-08-10T12:07:44Z hajovonta: hello 2020-08-10T12:07:58Z phoe: hey hajovonta 2020-08-10T12:08:10Z kinope: Okay, thanks! 2020-08-10T12:08:58Z hajovonta: hi phoe 2020-08-10T12:09:57Z igemnace quit (Quit: WeeChat 2.9) 2020-08-10T12:12:52Z pranair joined #lisp 2020-08-10T12:13:32Z pranair left #lisp 2020-08-10T12:17:34Z choegusung joined #lisp 2020-08-10T12:18:03Z dim: lparallel might be able to, kinope, but I've not tried it so I'm not sure 2020-08-10T12:19:08Z choegusung quit (Client Quit) 2020-08-10T12:20:33Z phoe: kinope: https://github.com/nikodemus/sb-cpu-affinity 2020-08-10T12:21:03Z bhartrihari left #lisp 2020-08-10T12:21:19Z bhartrihari joined #lisp 2020-08-10T12:21:28Z phoe: this seems somewhat ancient, I wonder if that got baselined somehow 2020-08-10T12:23:55Z nicktick joined #lisp 2020-08-10T12:40:05Z hsaziz quit (Ping timeout: 240 seconds) 2020-08-10T12:40:13Z mn3m joined #lisp 2020-08-10T12:40:36Z gko_ joined #lisp 2020-08-10T12:44:43Z cosimone quit (Quit: Quit.) 2020-08-10T12:45:01Z tourjin quit (Ping timeout: 246 seconds) 2020-08-10T12:45:21Z cosimone joined #lisp 2020-08-10T12:46:16Z bhartrihari left #lisp 2020-08-10T12:46:19Z cosimone quit (Client Quit) 2020-08-10T12:46:20Z bhartrihari joined #lisp 2020-08-10T12:46:46Z cosimone joined #lisp 2020-08-10T12:48:01Z mn3m quit (Quit: mn3m) 2020-08-10T12:48:22Z JohnMS_WORK quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2020-08-10T12:48:39Z hajovonta quit (Remote host closed the connection) 2020-08-10T12:52:28Z nicktick quit (Ping timeout: 256 seconds) 2020-08-10T12:53:18Z Bike joined #lisp 2020-08-10T12:55:34Z wsinatra joined #lisp 2020-08-10T13:00:16Z hendursaga joined #lisp 2020-08-10T13:01:04Z kaftejiman quit (Remote host closed the connection) 2020-08-10T13:03:04Z enrio joined #lisp 2020-08-10T13:05:05Z wxie joined #lisp 2020-08-10T13:06:38Z yonkunas joined #lisp 2020-08-10T13:08:38Z ebrasca quit (Remote host closed the connection) 2020-08-10T13:11:38Z terpri__ joined #lisp 2020-08-10T13:13:46Z luna_is_here: Can I use the same quicklisp installation folder for two CL implementations or will this cause problems? 2020-08-10T13:14:01Z ChoHag quit (Ping timeout: 264 seconds) 2020-08-10T13:14:12Z jackdaniel: luna_is_here: you can use the same installation without any problems 2020-08-10T13:14:27Z terpri_ quit (Ping timeout: 240 seconds) 2020-08-10T13:14:39Z jackdaniel: asdf creates different cache directories for different implementations 2020-08-10T13:15:06Z jackdaniel: (in other words, fasl files won't clash whatsoever 2020-08-10T13:15:07Z jackdaniel: ) 2020-08-10T13:15:38Z luna_is_here: Thanks... Good to know. 2020-08-10T13:16:00Z luna_is_here: For some reason clisp is not happy... 2020-08-10T13:16:45Z jackdaniel: clisp has bundled asdf version which is quite old, old enough to make libraries not load 2020-08-10T13:17:02Z luna_is_here: I see. 2020-08-10T13:17:20Z phoe: you can clone a fresh ASDF and load that with the old ASDF 2020-08-10T13:17:21Z jackdaniel: either take asdf from upstream repository and load it instead, or use one of more popular implementations, like sbcl 2020-08-10T13:17:29Z jackdaniel: no, don't load it with the old asdf 2020-08-10T13:17:44Z phoe: oh! 2020-08-10T13:17:49Z jackdaniel: simply load new asdf with (load (compile-file "asdf.lisp")) 2020-08-10T13:17:49Z drl joined #lisp 2020-08-10T13:18:06Z luna_is_here: I usually use SBCL. I just want something less memory hungry (and faster startup) for some small scripts. 2020-08-10T13:18:18Z dra_ quit (Read error: Connection reset by peer) 2020-08-10T13:18:18Z dra__ joined #lisp 2020-08-10T13:18:25Z jackdaniel: I know that Fare put a lot of effort into upgradability, but 1. it is still broken, 2. it obfuscates asdf beyond compare :) 2020-08-10T13:18:57Z jackdaniel: probably it works better for upgrades between 3.x to 3.y 2020-08-10T13:19:21Z jackdaniel: but still, it compilicates things enormously, so if you can load desired asdf version upfront - simply do it 2020-08-10T13:19:40Z jackdaniel: sbcl is pretty fast with startup (however it is indeed memory hungry) 2020-08-10T13:20:17Z jackdaniel: ccl has smaller footprint, ecl even smaller (however startup and compilation time may be too big for you) 2020-08-10T13:20:45Z luna_is_here: I'll see, whether I can change the asdf of clisp. 2020-08-10T13:21:13Z enrio quit (Quit: Leaving) 2020-08-10T13:21:17Z jackdaniel: last time I've checked all worked fine (-eish, clisp seems to be little neglected by library developers when testing) 2020-08-10T13:23:20Z pve: is there some obvious reason for why upgradeability was considered important in ASDF? 2020-08-10T13:24:13Z gxt quit (Quit: WeeChat 2.9) 2020-08-10T13:24:29Z terpri__ is now known as terpri 2020-08-10T13:24:42Z jackdaniel: the reason is because Fare considered it important -- for system which runs for long time without downtime it may be desireable to be able to upgrade asdf to load some new software 2020-08-10T13:25:33Z pve: I see, hmm 2020-08-10T13:25:40Z dra__ is now known as dra 2020-08-10T13:25:46Z jackdaniel: my opinion on this matter is that a build system should not be part of the final image (like you do not bundle make with your terminal application), and should be loaded only when it is needed (and unloaded / GCed afterwards) 2020-08-10T13:25:58Z terpri: seconding clozure common lisp (formerly openmcl) as an sbcl alternative. not much experience with ecl, abcl, proprietary CLs, etc. 2020-08-10T13:26:23Z lucasb joined #lisp 2020-08-10T13:27:22Z dlowe: jackdaniel: next you're going to say that the compiler you used shouldn't be bundled 2020-08-10T13:27:24Z jackdaniel: otoh, when not bundling it, someone may want to maintain a loaded software registry, so that may be duplicating the effort 2020-08-10T13:27:36Z drl quit (Quit: Ex-Chat) 2020-08-10T13:27:48Z terpri: i mostly use sbcl but it is a bit slow to start up and indeed a bit resource-intensive 2020-08-10T13:27:49Z jackdaniel: dlowe: no, that's not a next thing I'm going to say, please do not put words in my mouth 2020-08-10T13:27:58Z dlowe: jackdaniel: it's an idiom 2020-08-10T13:27:59Z pve: jackdaniel: if you were able to unload asdf, would that effectively give you upgradeability as well? 2020-08-10T13:28:24Z pve: just thinking out loud.. 2020-08-10T13:28:26Z phoe: pve: kind-of-in-theory, you'd also lose all information about already loaded systems though. 2020-08-10T13:28:31Z jackdaniel: dlowe: it might be, still quite provocative / not especially polite, especially that I've explicitly marked it as my opinion, not the "right thing" 2020-08-10T13:28:34Z phoe: and that's somewhat important info to have. 2020-08-10T13:28:41Z terpri: (and i use clisp, but only for command-line hackery, mostly because it has gnu readline built-in...which is in fact *why* clisp is free software :P) 2020-08-10T13:29:00Z phoe: I use `rlwrap sbcl` for all my readline needs 2020-08-10T13:29:04Z dlowe: jackdaniel: please forgive the unintended offense 2020-08-10T13:29:11Z jackdaniel: sure 2020-08-10T13:29:13Z terpri: that works too 2020-08-10T13:29:21Z tourjin joined #lisp 2020-08-10T13:29:28Z luna_is_here: Ahhh. Yes. Putting (load "/path/to/asdf.lisp") into .clisprc.lisp fixes. 2020-08-10T13:29:32Z luna_is_here: jackdaniel: Thanks! 2020-08-10T13:29:39Z jackdaniel: I'm glad it worked for you 2020-08-10T13:29:41Z pve: phoe: maybe the you could serialize/save the state before unloading 2020-08-10T13:29:53Z luna_is_here: I should give ecl a try, though. 2020-08-10T13:30:06Z phoe: pve: you've just reinvented upgrading ASDF 2020-08-10T13:30:37Z phoe: except via explicit state dumping/loading, not via UPDATE-INSTANCE-FOR-REDEFINED-CLASS 2020-08-10T13:30:47Z terpri: someone should write a defsystem successor called aoeu :p 2020-08-10T13:30:57Z phoe: aoeiu 2020-08-10T13:31:00Z phoe: oh no 2020-08-10T13:31:10Z pve: phoe: really? asdf seems to be about in-place upgradeability, not unloading 2020-08-10T13:31:28Z pve: not that I've studied the sources that much 2020-08-10T13:31:37Z jackdaniel: yes, it does upgrade in-place 2020-08-10T13:31:40Z phoe: pve: dumping state, unloading ASDF, loading ASDF, and loading state is equivalent to upgrading ASDF in-place 2020-08-10T13:31:44Z phoe: that's if I understood you correctly 2020-08-10T13:31:48Z jackdaniel: and it tries hard not to drop information which was stored at the "old asdf" runtime 2020-08-10T13:31:51Z jackdaniel: like loaded system and alike 2020-08-10T13:32:15Z terpri: fare was also at one point working on an asdf successor(?) called xcvb, dunno what happened with that 2020-08-10T13:32:17Z jackdaniel: while unloading asdf would drop that information 2020-08-10T13:32:50Z jackdaniel: he implemented most of it in asdf 3.x and left suggestions for future features 2020-08-10T13:32:57Z terpri: ah 2020-08-10T13:33:04Z jackdaniel: so xvcb ideas were partially absorbed by asdf 2020-08-10T13:33:48Z terpri: axsvdcfb :) 2020-08-10T13:34:31Z pve: phoe: well, yeah but I'd be curious about having an unload asdf feature 2020-08-10T13:38:06Z contrapunctus left #lisp 2020-08-10T13:38:18Z contrapunctus joined #lisp 2020-08-10T13:39:06Z luna_is_here: Concerning readline in sbcl. There is linenoise (BSD license). Would it be hard to include that into sbcl, to get autocompletion? 2020-08-10T13:39:48Z jackdaniel: luna_is_here: there is lineedit for sbcl 2020-08-10T13:40:09Z jackdaniel: which works well (however afair it had few quirks) 2020-08-10T13:40:12Z vidak` quit (Read error: Connection reset by peer) 2020-08-10T13:40:48Z vidak` joined #lisp 2020-08-10T13:41:03Z jackdaniel: https://www.common-lisp.net/project/linedit/ 2020-08-10T13:41:04Z jackdaniel: this 2020-08-10T13:41:44Z luna_is_here: Uh... Nice! 2020-08-10T13:41:46Z luna_is_here: :D 2020-08-10T13:42:34Z jackdaniel: sombody somewhere sometime ago mentioned, that this library could use some love, but I don't remember details 2020-08-10T13:44:27Z ahungry joined #lisp 2020-08-10T13:45:28Z FreeBirdLjj joined #lisp 2020-08-10T13:50:01Z FreeBirdLjj quit (Ping timeout: 264 seconds) 2020-08-10T13:51:22Z luna_is_here: Seems to (mostly) work fine. 2020-08-10T13:53:02Z luna_is_here: Okay, my bad. Just works fine, so far. 2020-08-10T13:53:37Z luna_is_here: You should not just copy+paste code without reading what it does... m) 2020-08-10T14:04:53Z bumblee_ joined #lisp 2020-08-10T14:09:24Z ajithmk: Peeps who have worked with cffi, if a structure has a simple array inside it like four floats named vec4, how do I send it like this (setf (foreign-slot-value '(:struct blahblah) :vec4) 'whatcomeshere')? 2020-08-10T14:10:12Z ajithmk: I have tried '(0.0f0 0.0f0 0.0f0 0.0f0), #(0.0f0, 0.0f0, 0.0f0, 0.0f0) and (make-array ...) 2020-08-10T14:10:16Z ajithmk: But no luck 2020-08-10T14:10:25Z gaqwas quit (Remote host closed the connection) 2020-08-10T14:11:14Z bhartrihari left #lisp 2020-08-10T14:12:13Z jackdaniel: how about using (with-foreign-array (no-u-peep #(0x0f0 …) 'single-float) (setf (f-s-v ) no-u-peep)) 2020-08-10T14:12:22Z tourjin quit (Ping timeout: 256 seconds) 2020-08-10T14:12:35Z jackdaniel: or did cffi use keywords for types? hm 2020-08-10T14:13:08Z jackdaniel: s/0x/0./ 2020-08-10T14:13:54Z ajithmk: give me a minute 2020-08-10T14:15:39Z jackdaniel: either way replace 'single-float with a valid cffi type and you should be golden (hopefully!) 2020-08-10T14:16:29Z gaqwas joined #lisp 2020-08-10T14:16:29Z gaqwas quit (Changing host) 2020-08-10T14:16:29Z gaqwas joined #lisp 2020-08-10T14:16:29Z jeosol joined #lisp 2020-08-10T14:16:40Z bhartrihari joined #lisp 2020-08-10T14:18:55Z bumblee_ quit (Quit: Hello my friends. If you want to discover something just check here. https://bit.ly/33tb5lx) 2020-08-10T14:23:10Z orivej quit (Ping timeout: 260 seconds) 2020-08-10T14:23:48Z ayuce` joined #lisp 2020-08-10T14:25:22Z bhartrihari left #lisp 2020-08-10T14:25:36Z wxie quit (Ping timeout: 265 seconds) 2020-08-10T14:25:53Z bhartrihari joined #lisp 2020-08-10T14:27:09Z sjl_ joined #lisp 2020-08-10T14:27:13Z ayuce quit (Ping timeout: 264 seconds) 2020-08-10T14:28:06Z orivej joined #lisp 2020-08-10T14:30:09Z ofi quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-08-10T14:49:06Z satousan quit (Quit: WeeChat 2.3) 2020-08-10T14:49:40Z terpri_ joined #lisp 2020-08-10T14:50:31Z kaftejiman joined #lisp 2020-08-10T14:52:20Z terpri quit (Ping timeout: 244 seconds) 2020-08-10T15:04:13Z tristero joined #lisp 2020-08-10T15:07:35Z Retropikzel quit (Quit: Vision[0.10.3]: i've been blurred!) 2020-08-10T15:13:11Z bitmapper joined #lisp 2020-08-10T15:16:25Z yonkunas quit (Quit: Connection closed for inactivity) 2020-08-10T15:22:24Z bsd4me joined #lisp 2020-08-10T15:25:51Z wsinatra quit (Quit: WeeChat 2.9) 2020-08-10T15:27:37Z wsinatra joined #lisp 2020-08-10T15:28:33Z gaqwas quit (Remote host closed the connection) 2020-08-10T15:34:09Z philweb joined #lisp 2020-08-10T15:38:20Z EvW joined #lisp 2020-08-10T15:43:56Z Bit_MCP joined #lisp 2020-08-10T15:44:22Z bhartrihari left #lisp 2020-08-10T15:44:26Z bhartrihari joined #lisp 2020-08-10T15:45:00Z EvW quit (Ping timeout: 256 seconds) 2020-08-10T15:45:57Z jeosol quit (Remote host closed the connection) 2020-08-10T15:46:07Z bhartrihari left #lisp 2020-08-10T15:48:25Z zigpaw quit (Ping timeout: 240 seconds) 2020-08-10T15:50:39Z ayuce` quit (Remote host closed the connection) 2020-08-10T15:52:22Z zigpaw joined #lisp 2020-08-10T15:52:40Z philweb quit (Remote host closed the connection) 2020-08-10T15:55:40Z gko_ quit (Ping timeout: 256 seconds) 2020-08-10T16:00:30Z ayuce joined #lisp 2020-08-10T16:11:26Z contrapunctus: Y'all, what does #. mean here? 🤔 `(defrule inline #. (cons 'or %inline-rules%))` 2020-08-10T16:11:39Z beach: clhs #. 2020-08-10T16:11:39Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/02_dhf.htm 2020-08-10T16:12:41Z bhartrihari joined #lisp 2020-08-10T16:13:47Z abhixec quit (Ping timeout: 240 seconds) 2020-08-10T16:15:01Z Lord_of_Life_ joined #lisp 2020-08-10T16:15:06Z dominic34 joined #lisp 2020-08-10T16:15:07Z dominic34 quit (Excess Flood) 2020-08-10T16:15:24Z dominic34 joined #lisp 2020-08-10T16:15:26Z beach: contrapunctus: That was for you. 2020-08-10T16:15:44Z contrapunctus: beach: thanks! 2020-08-10T16:16:16Z beach: So it's all clear? 2020-08-10T16:16:58Z Lord_of_Life quit (Ping timeout: 256 seconds) 2020-08-10T16:16:59Z Lord_of_Life_ is now known as Lord_of_Life 2020-08-10T16:17:28Z contrapunctus: Well, I understand what it does. _Why_ the code is doing it is another matter entirely 😅 2020-08-10T16:18:13Z Bit_MCP quit (Ping timeout: 264 seconds) 2020-08-10T16:18:15Z beach: I don't know what DEFRULE does, so I can't help with that. 2020-08-10T16:19:09Z beach: But it looks like it defines a rule named INLINE, that has the form (OR ...) 2020-08-10T16:19:48Z beach: where "..." is each rule the list that is the value of the variable %inline-rules%. 2020-08-10T16:21:20Z beach: Maybe if you try (read-from-string "(defrule inline #.(cons 'or lambda-list-keywords))") you will see it. 2020-08-10T16:21:34Z contrapunctus: Oh, so appending to a list at read time 🤔 2020-08-10T16:21:42Z beach: I used lambda-list-keywords as an example of an existing list. 2020-08-10T16:21:57Z beach: prepending, rather. 2020-08-10T16:23:32Z contrapunctus: Code in question, if anyone is curious - https://github.com/3b/3bmd/blob/master/parser.lisp#L450 2020-08-10T16:24:47Z beach: Yeah, so %inline-rules% is defined further down. 2020-08-10T16:25:03Z beach: It is a list (string endline ul-or-star-line....) 2020-08-10T16:25:11Z vutral joined #lisp 2020-08-10T16:25:35Z beach: So this form does (defrule inline (or string endline ul-or-star-line ...)) 2020-08-10T16:26:21Z dyelar joined #lisp 2020-08-10T16:26:34Z beach: contrapunctus: Still confused? 2020-08-10T16:31:22Z Cymew quit (Ping timeout: 256 seconds) 2020-08-10T16:35:18Z beach: Oh, well. I did my best. 2020-08-10T16:39:19Z contrapunctus: beach: oh, thanks, I got that 😀 I'm more puzzled about why the code opts to do this. 2020-08-10T16:41:42Z phoe: because %INLINE-RULES% was defined earlier in the code 2020-08-10T16:41:58Z phoe: and the programmer did not want to repeat themselves, so they use read-eval 2020-08-10T16:43:04Z beach: phoe: But %inline-rules% is only used once, so it could have been inside the DEFRULE. 2020-08-10T16:43:05Z Christ0pher quit (Ping timeout: 240 seconds) 2020-08-10T16:43:58Z phoe: beach: https://github.com/3b/3bmd/blob/1e1ef9e59da537d75f455600210aac21c2ab5fa0/extensions.lisp#L88-L90 2020-08-10T16:44:00Z philweb joined #lisp 2020-08-10T16:44:06Z phoe: looks like it has another use in another file. 2020-08-10T16:44:42Z beach: Yep. That explains it. 2020-08-10T16:45:12Z treflip quit (Quit: WeeChat 2.6) 2020-08-10T16:45:27Z puchacz joined #lisp 2020-08-10T16:45:55Z enrio joined #lisp 2020-08-10T16:46:25Z mingus quit (Ping timeout: 240 seconds) 2020-08-10T16:48:07Z jackdaniel quit (Remote host closed the connection) 2020-08-10T16:48:32Z jackdaniel joined #lisp 2020-08-10T16:50:43Z bsd4me left #lisp 2020-08-10T16:58:03Z dra quit (Remote host closed the connection) 2020-08-10T16:59:38Z ayuce quit (Read error: Connection reset by peer) 2020-08-10T17:04:11Z ayuce joined #lisp 2020-08-10T17:06:51Z ukari joined #lisp 2020-08-10T17:07:40Z mokulus: lisp vs haskall? 2020-08-10T17:08:39Z Bike: technical knockout in round six 2020-08-10T17:08:58Z phoe: mokulus: you're asking this question on #lisp, answers will be naturally biased towards Lisp 2020-08-10T17:09:28Z Bike: i don't think it constitutes a question 2020-08-10T17:09:40Z phoe: hey, it has a question mark at the end 2020-08-10T17:09:44Z mokulus: sorry please don't ban 2020-08-10T17:09:51Z hiroaki joined #lisp 2020-08-10T17:09:58Z mokulus: i jsut want to learn, not sure which to pick 2020-08-10T17:10:03Z phoe: asking questions ain't a bannable offense here 2020-08-10T17:10:05Z Bike: learn more than one thing. 2020-08-10T17:10:09Z phoe: ^ 2020-08-10T17:10:37Z phoe: Haskell is a strictly statically typed strictly functional language, whereas Common Lisp is a dynamically typed interactive multiparadigm language 2020-08-10T17:10:38Z Bike: why do so many people come in here asking what the one language they should learn is 2020-08-10T17:10:52Z phoe: so they're pretty different to work with 2020-08-10T17:11:05Z phoe: so learning both is gonna give you more insight than just one 2020-08-10T17:11:56Z mokulus: do you prefer dynamic typing? why? 2020-08-10T17:12:18Z phoe: it's much better suited for the interactive development style that's prevalent in the CL world 2020-08-10T17:12:21Z aeth: scymtym: You definitely can get god objects in CL. I wouldn't be surprised if some of the #lispgames game engines have them. It tends to be really common in that domain because there's so much going on every frame. 2020-08-10T17:12:23Z Bike: means i don't have to worry so much about niggling crap on my first draft 2020-08-10T17:12:26Z mokulus: I don't like it, because when I run a function I don't know what can I do with the result 2020-08-10T17:12:41Z Bike: okay, sounds like you'd prefer haskell then. 2020-08-10T17:12:44Z contrapunctus: Isn't Lisp gradually typed though? Can add type annotations, tell compiler to type check at compile time? 2020-08-10T17:12:55Z aeth: Xach, phoe: The three OSes are Genera, Mezzano, and Closos 2020-08-10T17:13:07Z mokulus: nword? wtf 2020-08-10T17:13:11Z Bike: technically there's no standard way to make declarations into assertions, but sbcl does it 2020-08-10T17:13:25Z Bike: "niggling": causing slight but persistent annoyance 2020-08-10T17:13:40Z phoe: mokulus: I guess that isn't lack of static typing though, that's poor programming style 2020-08-10T17:13:42Z Bike: nothing to do with the slur 2020-08-10T17:14:06Z phoe: usually a function describes what sort of data it returns in its documentation 2020-08-10T17:14:44Z aeth: ajithmk: If you create the array for the API (so not all APIs) you can use static-vectors to create a "bilingual" array that looks like both a CL array and a C array pointer. I think it requires you to control the allocation, though. https://github.com/sionescu/static-vectors/ 2020-08-10T17:14:45Z phoe: a function that can return anything is a function useful for very few things 2020-08-10T17:15:08Z phoe: aeth: static-vectors are allowed to be GCed and not GCed; depends on the implementation 2020-08-10T17:15:29Z phoe: so static-vectors' free function must be called for portability, even if it's a no-op on some implementations 2020-08-10T17:15:46Z aeth: phoe: No, I meant that I think that it requires an API like e.g. OpenGL, where you're providing the arrays. 2020-08-10T17:16:04Z phoe: oh! I beg your pardon 2020-08-10T17:16:59Z mokulus: ok but why not have a type with the description? is this because the language is interpreted, so type mismatch would be an error anyway, that is types are only helpful at compile time? 2020-08-10T17:17:09Z phoe: Lisp is compiled 2020-08-10T17:17:26Z aeth: Common Lisp is actually required to be compiled. Some have an interpreter for the REPL, others just compile to /tmp for each expression in the REPL 2020-08-10T17:17:41Z aeth: (And some compilers are just bytecode compilers for an interpreter) 2020-08-10T17:18:15Z jeosol joined #lisp 2020-08-10T17:18:38Z phoe: I guess that https://wiki.c2.com/?BenefitsOfDynamicTyping could possibly answer some of your questions 2020-08-10T17:18:48Z aeth: mokulus: If you're seriously deciding between Lisp and Haskell, though, you might want to consider Typed Racket, which is part of Racket (a Scheme) and is thus off-topic here. https://docs.racket-lang.org/ts-guide/index.html 2020-08-10T17:18:53Z aeth: mokulus: You can ask about it in #racket 2020-08-10T17:19:03Z phoe: or otherwise "why dynamic typing" in your favorite search engine 2020-08-10T17:19:11Z p_l: aeth: there's "minimal compilation" which refers to things like running macros etc. 2020-08-10T17:19:36Z p_l: though if you preserve semantics you can do full AST-level interpretation (LW allows that, among other things, useful for debugging) 2020-08-10T17:19:37Z aeth: p_l: I guess it's possible for a naive interpreter to exist past the macro phase, but does one? 2020-08-10T17:20:10Z mokulus: isn't racket only for learning? 2020-08-10T17:20:15Z p_l: aeth: CMUCL and SBCL both have one, though I don't know how well exercised they are (SBCL for a long time had the code commented out) 2020-08-10T17:20:19Z phoe: nope, it isn't 2020-08-10T17:20:38Z vaporatorius__ joined #lisp 2020-08-10T17:20:44Z contrapunctus: mokulus: why not go through a Lisp book, make a moderate sized program in Lisp, and figure out for yourself whether or not you like it? 🤔 2020-08-10T17:20:46Z phoe: there's people doing research and apps in it. 2020-08-10T17:21:00Z phoe: (same as in CL and Haskell) 2020-08-10T17:21:19Z Josh_2: Ello 2020-08-10T17:21:24Z aeth: mokulus: Another statically typed Lisp is called "Shen". This actually compiles to Common Lisp so it's very marginally on topic here. https://github.com/Shen-Language/shen-sbcl 2020-08-10T17:21:30Z fwoaroof[m]: mokulus: so, since Haskell does type inference whenever it can, the textual representation of the program often lacks return types and stuff 2020-08-10T17:21:35Z aeth: And then there's Coalton... https://github.com/stylewarning/coalton 2020-08-10T17:21:40Z p_l: Racket, as all Schemes, has less focus on interactive developement 2020-08-10T17:21:41Z fwoaroof[m]: So, when you're reading the code, it may as well be dynamically typed :P 2020-08-10T17:22:27Z puchacz: aeth: has Shen actually got anything to do with Lisp in addition to using it as a platform? I read about it and it felt like totally different language 2020-08-10T17:22:42Z contrapunctus: p_l: 'all Schemes', even, say, Guile? 🙂 2020-08-10T17:22:58Z fwoaroof[m]: Personally, I find working in Haskell feels like working in CL, except the compiler's more annoying 2020-08-10T17:23:05Z p_l: contrapunctus: So long as we keep to standard, yes 2020-08-10T17:23:18Z vaporatorius quit (Ping timeout: 260 seconds) 2020-08-10T17:23:49Z mokulus: do you have a simple lisp program that I could study? 2020-08-10T17:23:53Z stylewarning: (((Listening keenly you this conversation))) 2020-08-10T17:24:05Z phoe: mokulus: https://github.com/sharplispers/split-sequence 2020-08-10T17:24:21Z fwoaroof[m]: stylewarning: I wish I had more time to help with Coalton 2020-08-10T17:24:37Z fwoaroof[m]: Haskell/ML as an embedded language just feels right to me 2020-08-10T17:24:44Z phoe: that's a small library for splitting sequences across single-element delimiters 2020-08-10T17:24:52Z stylewarning: fwoaroof[m]: I’m currently chipping away at implementing type classes 2020-08-10T17:24:55Z contrapunctus: stylewarning: hey 😀 I keep wanting to try out Coalton, but it all goes over my head 😓 2020-08-10T17:24:58Z phoe: you could also contemplate on https://github.com/google/lisp-koans 2020-08-10T17:25:00Z asarch joined #lisp 2020-08-10T17:25:02Z stylewarning: well “currently” 2020-08-10T17:25:07Z fwoaroof[m]: Write pure functions with type inference, write everything else with Lisp 2020-08-10T17:25:12Z stylewarning: contrapunctus: I don’t blame you, it’s very alpha quality 2020-08-10T17:25:41Z contrapunctus: stylewarning: oh, I figured it was because I didn't know any ML ._. 2020-08-10T17:25:53Z fwoaroof[m]: Cool, my impression is that typeclasses are the worst part of implementing these sorts of type systems 2020-08-10T17:26:22Z rippa joined #lisp 2020-08-10T17:26:57Z contrapunctus: I've made a couple Elisp and Scheme programs, and I'm curious to see if type checking can provide any maintenance/tooling benefits. 2020-08-10T17:27:08Z fwoaroof[m]: Figuring out how to have them fall back to a generic function invocation, where feasible, would be interesting 2020-08-10T17:27:31Z phoe: contrapunctus: heavy use of type proclamations in SBCL can provide benefits thanks to its type inference engine 2020-08-10T17:28:05Z phoe: you can, and most likely will, get compile-time warnings in case the type inference engine figures out that there's a mismatch. 2020-08-10T17:29:50Z contrapunctus: Sounds fun. 2020-08-10T17:30:26Z natter quit (Remote host closed the connection) 2020-08-10T17:31:25Z jas-at-re quit (Ping timeout: 264 seconds) 2020-08-10T17:32:00Z stylewarning: fwoaroof[m]: the trouble is of course a type class that is parametric on the return type 2020-08-10T17:32:12Z fwoaroof[m]: Yeah 2020-08-10T17:32:19Z stylewarning: Consider a type class Readable t which has a function read :: string -> t 2020-08-10T17:32:23Z stylewarning: Ok u get it 2020-08-10T17:33:14Z fwoaroof[m]: I've tried to figure out how to emulate that in CL a couple times 2020-08-10T17:33:30Z fwoaroof[m]: MAP/CONCATENATE make the return type an argument 2020-08-10T17:33:40Z fwoaroof[m]: Which might be a feasible convention? 2020-08-10T17:34:04Z sm2n: you can just use clos generics 2020-08-10T17:34:46Z sm2n: A typeclass is pretty much the same thing as a clos protocol in essence 2020-08-10T17:34:49Z fwoaroof[m]: sm2n: the issue is that generics are only polymorphic on the types or the function's arguments 2020-08-10T17:34:49Z bitmapper: that's... not really the same thing 2020-08-10T17:35:02Z stylewarning: sm2n: no they’re not 2020-08-10T17:35:09Z fwoaroof[m]: In Haskell, a typeclass can also dispatch on the return type of a function 2020-08-10T17:35:27Z sm2n: oh I see, mea culpa 2020-08-10T17:35:34Z treflip joined #lisp 2020-08-10T17:35:47Z aeth: You could just make the first argument an ignorable variable representing the return type. 2020-08-10T17:36:01Z aeth: I make the first argument a continuation in Airship Scheme. 2020-08-10T17:36:31Z stylewarning: CLOS can only compare EQL and types can be complicated nested structures 2020-08-10T17:36:40Z bitmapper: yeah 2020-08-10T17:36:42Z mokulus: which book would be the best for learning lisp? I'm familar with many programming languages, so it doesn't necessarily need to be simple 2020-08-10T17:36:51Z phoe: minion: tell mokulus about pcl 2020-08-10T17:36:51Z minion: mokulus: 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). 2020-08-10T17:36:54Z contrapunctus: stylewarning: MOP doesn't help? 2020-08-10T17:37:00Z fwoaroof[m]: phoe wins... 2020-08-10T17:37:51Z gaqwas joined #lisp 2020-08-10T17:38:04Z mokulus: would that be enought, or something after that? I guess getting familar with the hyper spec? 2020-08-10T17:38:09Z stylewarning: contrapunctus: maybe it does, but it’s too complicated and weird. In my opinion, call a spade a spade. If you’re going to write ML/Haskell, write it as it should, and provide a “foreign function” interface between ML and Lisp 2020-08-10T17:38:39Z fwoaroof[m]: mokulus: that was enough to get me going 2020-08-10T17:38:45Z fwoaroof[m]: Although, ignore what it says about setting up an environment 2020-08-10T17:38:56Z stylewarning: (for something like Coalton, the hope is that the ML is embedded, and interacts with the lisp system as cleanly as possible) 2020-08-10T17:38:59Z fwoaroof[m]: Use portacle.github.io instead of Lispbox/Lispstick or whatever 2020-08-10T17:39:55Z mokulus: I'm fine with no completion, just editing text 2020-08-10T17:40:18Z fwoaroof[m]: Or, if you'd rather not use Emacs, the Atom or vim plugins might work, but they're more work to get started with 2020-08-10T17:40:36Z fwoaroof[m]: (I got started using slimv) 2020-08-10T17:40:43Z sm2n: mokulus, the experience isn't complete without a repl 2020-08-10T17:40:54Z fwoaroof[m]: Indentation and parentheses management is also important 2020-08-10T17:41:14Z stylewarning: mokulus: you need to get into slime / derivative as quickly as possible 2020-08-10T17:41:22Z phoe: ^ 2020-08-10T17:41:25Z phoe: slime is love, slime is life 2020-08-10T17:41:30Z mokulus: nah i don't like emacs 2020-08-10T17:41:45Z phoe: vlime or slimv or slyblime or atom-slime then 2020-08-10T17:41:46Z stylewarning: Not because you’re not a good enough programmer or because we can’t manage barebones setups 2020-08-10T17:41:59Z phoe: programming lisp without an interactive programming environment is pointless 2020-08-10T17:42:15Z puchacz quit (Remote host closed the connection) 2020-08-10T17:42:27Z fwoaroof[m]: Lispworks just released a new Personal Edition too 2020-08-10T17:42:52Z mokulus: so is lisp a "meme"? 2020-08-10T17:42:53Z fwoaroof[m]: But, as nice as the commercial versions of Lispworks are, the PE is infuriating 2020-08-10T17:43:01Z treflip: I heard that they are selling "hobby" edition for $500 2020-08-10T17:43:19Z fwoaroof[m]: If you want to deliver applications it's 1500 2020-08-10T17:43:33Z fwoaroof[m]: ... I think I'm wrong 2020-08-10T17:44:29Z fwoaroof[m]: I'm right 2020-08-10T17:44:44Z stylewarning: mokulus: Lisp is a fruitful progenitor of memes 2020-08-10T17:45:04Z fwoaroof[m]: Anyways, the prices make sense: it's a small company and they need to pay their employees 2020-08-10T17:45:20Z phoe: mokulus: it partially is 2020-08-10T17:45:23Z fwoaroof[m]: Plus, they're actually pretty low for commercial programming environments 2020-08-10T17:45:24Z treflip: Especialy memes about how bad are all non-lisp languages :) 2020-08-10T17:45:30Z fwoaroof[m]: :) 2020-08-10T17:45:59Z phoe: my personal opinion is that people like PG or ESR contributed to that fact by marketing Lisp as God's programming language that causes spurious enlightenment and is a magic wand and secret sauce and what not 2020-08-10T17:46:06Z mokulus: ok be real with me, am I wasting my time with lisp or not??? 2020-08-10T17:46:12Z fwoaroof[m]: no 2020-08-10T17:46:14Z phoe: no 2020-08-10T17:46:37Z gaqwas: mokulus, hell, no 2020-08-10T17:46:41Z fwoaroof[m]: You might not be able to get a job writing Lisp, but it improved how I write other languages 2020-08-10T17:47:01Z mankaev joined #lisp 2020-08-10T17:47:13Z fwoaroof[m]: And how I think about programming 2020-08-10T17:47:16Z phoe: it's one amazing programming language that I use wherever I can. 2020-08-10T17:47:27Z fwoaroof[m]: Also, the answer to "Lisp or Haskell?" is "Why not both?" 2020-08-10T17:47:30Z philweb: phoe: in fairness, back when they were evangelizing it... it was, relatively speaking (vs most other languages/environments) 2020-08-10T17:47:31Z fwoaroof[m]: And throw Prolog into the mix too 2020-08-10T17:47:55Z phoe: philweb: could you elaborate a bit more? 2020-08-10T17:48:50Z Inline joined #lisp 2020-08-10T17:48:56Z mankaev quit (Client Quit) 2020-08-10T17:49:04Z mankaev joined #lisp 2020-08-10T17:49:17Z stylewarning: mokulus: I wrote a draft article I hope to publish at some point that talks about what I think about lisp, “taking a step back”, and forgoing all the fluff of the 90s 2020-08-10T17:49:46Z fwoaroof[m]: Yeah: also, my impression is that the community today is a lot friendlier than it was 20 years ago 2020-08-10T17:49:48Z mokulus: what fluff? 2020-08-10T17:50:24Z philweb: back in the 90's and earlier, other languages and environments had virtually none of the advantages of dynamic languages like lisp/smalltalk. so the contrast between them was very stark. over the last 20 years, many languages have picked off a lot of the features that used to be exclusive to dynamic languages (granted, they often have to be 2020-08-10T17:50:25Z philweb: implemented in a very ugly way to make it work) 2020-08-10T17:50:51Z stylewarning: mokulus: there are lots of articles written in the 90s-00s, and an ethos more generally, that lisp is this maximal state of enlightenment and everybody else who doesn’t use lisp must be an idiot or lowlife 2020-08-10T17:51:07Z fwoaroof[m]: mokulus: the PG essays are a bit over-exuberant about Lisp 2020-08-10T17:51:15Z fwoaroof[m]: I also agree with philweb 2020-08-10T17:51:20Z treflip: Wow, it's a great qoute for trolling non-lisp programmers... 2020-08-10T17:51:56Z stylewarning: mokulus: explaining why some people thought that (they *did* think that for a variety of reasons) is another topic, but that thinking has poisoned the well for many newcomers 2020-08-10T17:52:23Z v88m joined #lisp 2020-08-10T17:52:25Z orivej quit (Ping timeout: 264 seconds) 2020-08-10T17:53:15Z phoe: stylewarning: please show it to me 2020-08-10T17:53:21Z phoe: I've wanted to write a very similar thing 2020-08-10T17:53:33Z stylewarning: phoe: it’s really truly a draft with lots of work to do http://watrophy.com/files/language.html 2020-08-10T17:54:06Z stylewarning: happy to receive all forms of feedback (in PM or email though please) 2020-08-10T17:54:47Z philweb: and if you go back to the 80's, lisp/smalltalk were positively magical vs the competition. the problem was the compute/memory requirements greatly exceeded what most of us had available (even working in most businesses) 2020-08-10T17:54:51Z mokulus: what about scheme? 2020-08-10T17:54:58Z stylewarning: Whenever it’s done it probably will be published as an ordinary blog posts not some kooky pdf 2020-08-10T17:56:19Z stylewarning: mokulus: what do you want to know about scheme 2020-08-10T17:57:13Z mokulus: how does it compare with lisp, that is why use cl over scheme? 2020-08-10T17:57:54Z stylewarning: mokulus: scheme is really more of an idea and less of a language. There *is* a scheme standard, but it’s so barebones that every implementation of scheme is mutually incompatible 2020-08-10T17:58:39Z phoe: stylewarning: thanks, will read. 2020-08-10T17:58:59Z stylewarning: mokulus: scheme systems are super opinionated about things that matter when writing big programs: how modules work, how macros work, how you make a program efficient, etc. and everybody decides these things differently 2020-08-10T17:59:32Z stylewarning: mokulus: so at the end you don’t really have a thriving scheme ecosystem, you more have a handful of “self-sufficient” scheme tribes and dialects 2020-08-10T18:00:03Z shifty joined #lisp 2020-08-10T18:00:14Z stylewarning: Common Lisp has one and only one standard, and everybody agrees on it, and the standard is large enough to build useful applications, from tiny utilities to multi-million dollar pieces of enterprise software 2020-08-10T18:00:17Z Inline: the wild bunch 2020-08-10T18:00:18Z Inline: lol 2020-08-10T18:00:59Z yonkunas joined #lisp 2020-08-10T18:01:07Z treflip quit (Quit: WeeChat 2.6) 2020-08-10T18:02:29Z stylewarning: (There is a subset of Common Lisp and the subset of Scheme that provide the same functionality, and arguably Scheme is much more elegant and prettier. But there’s also just a million things Scheme can’t do at all.) 2020-08-10T18:05:05Z stylewarning: Maybe a bit of a poor comparison: scheme is like a nice, razor sharp, clean chef’s knife with no patina; Common Lisp is more like a multitool with some scratches, that happens to include a reasonably sharp knife 2020-08-10T18:05:08Z kaftejiman quit (Remote host closed the connection) 2020-08-10T18:05:26Z aeth: In particular, the problem with portable Scheme was the lack of a portable library system. It's still there with popular Schemes, of course, but now quite a few support R7RS libraries. 2020-08-10T18:05:47Z aeth: Even ASDF systems among CLs was a hard problem, leading to UIOP. With Scheme it's harder. 2020-08-10T18:07:44Z aeth: As for capabilities, Scheme (well, *a* Scheme) should be able to do everything that Common Lisp does pretty soon. 2020-08-10T18:08:48Z aeth: At about the same speed as SBCL, too. :-) 2020-08-10T18:11:20Z phoe: obviously you mean airship scheme, don'tcha 2020-08-10T18:11:37Z contrapunctus: aeth: "pretty soon" 😏 2020-08-10T18:11:48Z vaporatorius joined #lisp 2020-08-10T18:11:49Z vaporatorius quit (Changing host) 2020-08-10T18:11:49Z vaporatorius joined #lisp 2020-08-10T18:11:50Z phoe: contrapunctus: no, it's a tricky statement 2020-08-10T18:12:17Z phoe: aeth is working on a Scheme implementation in CL with CL interoperability 2020-08-10T18:12:23Z contrapunctus: I know 2020-08-10T18:13:45Z contrapunctus: Hence the quotes around 'pretty soon', because it rather sounded like the project is some time away from production ready 🙂 2020-08-10T18:14:37Z vaporatorius__ quit (Ping timeout: 264 seconds) 2020-08-10T18:16:28Z VincentVega joined #lisp 2020-08-10T18:17:14Z aeth: I won't make it 1.0 before R7RS-large because any R7RS-large SRFIs being withdrawn and replaced (one or two already afaik) will break the public API... and that has been in progress since 2010. So if 1.0 is production ready, then it won't be for a long time, but that's not up to me. 2020-08-10T18:18:53Z gaqwas quit (Remote host closed the connection) 2020-08-10T18:18:58Z ajithmk quit (Quit: Connection closed for inactivity) 2020-08-10T18:19:14Z contrapunctus: Fair 2020-08-10T18:19:20Z VincentVega: Hi all! If I make class B inheriting from A, is there a way to easily initialize a A's slot with some different initial value or do I have to write initialize after for B and setf the value there? 2020-08-10T18:19:49Z Bike: VincentVega: you can do (defclass b (a) ((the-slot :initform whatever))) 2020-08-10T18:19:58Z Bike: all the other aspects of the slot will be inherited as usual 2020-08-10T18:20:09Z VincentVega: Bike: awesome, thanks! 2020-08-10T18:20:36Z Bike: happy to be of service 2020-08-10T18:20:38Z treflip joined #lisp 2020-08-10T18:21:22Z Xach: another option is :default-initargs 2020-08-10T18:21:45Z Xach: i try to use that more often than the other way. 2020-08-10T18:23:40Z VincentVega: Xach: I am trying (defclass b (a) () (:default-initargs . (var 2))) but it gives me invalid initialization argument error... 2020-08-10T18:24:18Z EvW joined #lisp 2020-08-10T18:24:24Z VincentVega: when I tried to run the code that is 2020-08-10T18:27:00Z Sauvin quit (Read error: Connection reset by peer) 2020-08-10T18:27:42Z sjl_ quit (Ping timeout: 260 seconds) 2020-08-10T18:28:45Z treflip quit (Quit: WeeChat 2.8) 2020-08-10T18:31:17Z VincentVega: Xach: o nvm, it should've been (:default-initargs :var 2), thanks! 2020-08-10T18:35:00Z stylewarning: aeth: just call it 1.0 when it can do good stuff and not break 2020-08-10T18:35:18Z stylewarning: Don’t fall trap to staying in v0.7858 forever 2020-08-10T18:35:42Z fwoaroof[m]: VincentVega: if you go the :initform route, make sure THE-SLOT is a symbol in the right package 2020-08-10T18:44:49Z jw4 quit (Read error: Connection reset by peer) 2020-08-10T18:46:44Z jw4 joined #lisp 2020-08-10T18:47:56Z philweb quit (Remote host closed the connection) 2020-08-10T18:48:40Z notzmv quit (Ping timeout: 246 seconds) 2020-08-10T18:49:22Z aeth: stylewarning: that's 0.1, not 1.0 2020-08-10T18:49:25Z bsd4me joined #lisp 2020-08-10T18:50:54Z stylewarning: aeth: depends if you want good PR or not 2020-08-10T18:51:10Z aeth: stylewarning: I might skip 1.0 for 2020.x, though :-p 2020-08-10T18:51:47Z shifty quit (Ping timeout: 240 seconds) 2020-08-10T18:52:37Z shifty joined #lisp 2020-08-10T18:54:59Z gravicappa quit (Ping timeout: 240 seconds) 2020-08-10T18:57:08Z contrapunctus: Ever since I started writing my first CL program I've been keeping a list of projects I want to improve the documentation for. 2020-08-10T18:57:24Z contrapunctus: It's growing rapidly 🙁 2020-08-10T18:57:28Z Josh_2: yes xD 2020-08-10T19:01:36Z orivej joined #lisp 2020-08-10T19:04:31Z VincentVega: fwoaroof[m]: oh, ok, I will keep that in mind 2020-08-10T19:06:02Z galex-713_ joined #lisp 2020-08-10T19:06:32Z galex-713 quit (Read error: Connection reset by peer) 2020-08-10T19:07:24Z ebrasca joined #lisp 2020-08-10T19:08:20Z jmercouris: so I have class B that inherits from class A 2020-08-10T19:08:23Z jmercouris: when I redefine class A, I want class B to update too 2020-08-10T19:08:26Z jmercouris: how to do this? 2020-08-10T19:09:23Z dominic34 quit (Ping timeout: 240 seconds) 2020-08-10T19:10:52Z jmercouris: is this not possible? 2020-08-10T19:11:34Z rumbler31 quit (Ping timeout: 260 seconds) 2020-08-10T19:15:41Z fwoaroof[m]: contrapunctus: it's an unpopular opinion, but I prefer to read code every time :) 2020-08-10T19:16:33Z fwoaroof[m]: High-level documentation is occasionally useful, but I'd usually rather see sample code 2020-08-10T19:17:09Z fwoaroof[m]: And 90% of the time I M-. to learn how to use a library. 2020-08-10T19:17:57Z fwoaroof[m]: (even when there's documentation: unless you have some way to automatically make sure your documentation is correct, I find that most documentation lies about 6 months after it was written) 2020-08-10T19:18:31Z jmercouris: the only documentation I give the benefit of the doubt to is docstrings, and mostly only in our codebase 2020-08-10T19:20:34Z epony quit (Ping timeout: 258 seconds) 2020-08-10T19:20:49Z fwoaroof[m]: Yeah, I've been trying to figure out a nice way to specify docstrings in an executable format that can be stringified to something useful 2020-08-10T19:21:10Z fwoaroof[m]: doctests for sample invocations are one way to go, but I'd prefer to avoid parsing code out of docstrings 2020-08-10T19:21:28Z jmercouris: Look at our codebase 2020-08-10T19:21:31Z Guest84 joined #lisp 2020-08-10T19:21:46Z jmercouris: we have code samples in our docstrings 2020-08-10T19:21:56Z jmercouris: we just write `(code "lol")' 2020-08-10T19:21:58Z fwoaroof[m]: next browser? 2020-08-10T19:22:02Z notzmv joined #lisp 2020-08-10T19:22:03Z jmercouris: Yes, Nyxt 2020-08-10T19:22:05Z jmercouris: new name 2020-08-10T19:22:33Z fwoaroof[m]: cool 2020-08-10T19:22:42Z jmercouris: if you do describe command or something 2020-08-10T19:22:44Z jmercouris: I'll show you one second 2020-08-10T19:23:04Z dilated_dinosaur quit (Ping timeout: 244 seconds) 2020-08-10T19:24:21Z Guest84 quit (Quit: Connection closed) 2020-08-10T19:24:48Z VincentVega quit (Remote host closed the connection) 2020-08-10T19:24:57Z jmercouris: https://imgur.com/a/neQN2oK 2020-08-10T19:25:13Z jmercouris: source for the function is embedded within a object that represents the documentation 2020-08-10T19:25:28Z jmercouris: we do also show formatted source in other ways 2020-08-10T19:28:16Z mfiano quit (Ping timeout: 256 seconds) 2020-08-10T19:28:52Z EvW quit (Ping timeout: 260 seconds) 2020-08-10T19:30:57Z fwoaroof[m]: That's sort of cool 2020-08-10T19:31:37Z contrapunctus: fwoaroof[m]: maybe it's because I'm not a professional programmer, but if I come back to my own code a few months later, on a program as small as 2k SLOC, I've often forgotten why certain design decisions were taken, or how a certain functionality works (which is why I write explanation docs), or that I've already written the function I'm writing (...reference docs). Many programs have reference docs b 2020-08-10T19:31:37Z contrapunctus: ut no how-tos, which is a total pain when you just want to get task X done _now._ (...so I write how-to docs). 2020-08-10T19:31:43Z fwoaroof[m]: I'd like a more structured way to express docstrings: something like #.(stringify '(:function (FOO ARG1 ARG2)) :returns ... :params ...)) 2020-08-10T19:31:57Z fwoaroof[m]: contrapunctus: I am too, at a company that basically never documents anything 2020-08-10T19:32:09Z fwoaroof[m]: *any code 2020-08-10T19:32:28Z fwoaroof[m]: New people often complain, but we've found that they eventually come around :) 2020-08-10T19:32:35Z cantstanya joined #lisp 2020-08-10T19:32:48Z sjl_ joined #lisp 2020-08-10T19:33:59Z contrapunctus: I also find reference docs invaluable in helping me improve API design (names, signatures, return values...) 2020-08-10T19:35:08Z pve: fwoaroof[m]: could you programmatically append stuff like function signature to the docstrings? 2020-08-10T19:35:23Z fwoaroof[m]: I think so 2020-08-10T19:35:41Z fwoaroof[m]: If you shadowed DEFUN, you could make the docstring portion much more structured 2020-08-10T19:36:45Z jmercouris: I don't shadow defun, instaed introduce a new constract that emits a defun and a corresponding object relating to its structure 2020-08-10T19:36:58Z pve: or a separate "signature" macro could both declaim ftype and add something to the docstring 2020-08-10T19:39:32Z pve: or was the point here that all that should be inside the docstring? 2020-08-10T19:40:04Z enrio quit (Ping timeout: 256 seconds) 2020-08-10T19:40:05Z jas-at-re joined #lisp 2020-08-10T19:40:47Z fwoaroof[m]: The point is to generate docstrings 2020-08-10T19:40:58Z fwoaroof[m]: from structured code that can be automatically verified 2020-08-10T19:41:38Z Tordek joined #lisp 2020-08-10T19:42:26Z vert2 joined #lisp 2020-08-10T19:42:59Z pve: oh, you mean literally generate docstrings, yeah that would be cool 2020-08-10T19:46:40Z terpri__ joined #lisp 2020-08-10T19:49:25Z terpri_ quit (Ping timeout: 244 seconds) 2020-08-10T19:50:47Z terpri__ quit (Remote host closed the connection) 2020-08-10T19:51:09Z terpri__ joined #lisp 2020-08-10T19:57:17Z EvW1 joined #lisp 2020-08-10T19:59:43Z mfiano joined #lisp 2020-08-10T20:10:05Z C-16 quit (Quit: leaving) 2020-08-10T20:21:42Z galex-713_ quit (Ping timeout: 246 seconds) 2020-08-10T20:23:06Z galex-713 joined #lisp 2020-08-10T20:23:24Z heisig quit (Quit: Leaving) 2020-08-10T20:26:36Z wsinatra quit (Quit: WeeChat 2.9) 2020-08-10T20:29:33Z theseb joined #lisp 2020-08-10T20:30:11Z Necktwi quit (Ping timeout: 240 seconds) 2020-08-10T20:31:16Z Necktwi joined #lisp 2020-08-10T20:34:13Z elflng quit (Read error: Connection reset by peer) 2020-08-10T20:34:25Z epony joined #lisp 2020-08-10T20:34:39Z elflng joined #lisp 2020-08-10T20:43:06Z bsd4me quit (Remote host closed the connection) 2020-08-10T20:43:53Z gaqwas joined #lisp 2020-08-10T20:43:53Z gaqwas quit (Changing host) 2020-08-10T20:43:53Z gaqwas joined #lisp 2020-08-10T20:45:29Z asarch quit (Quit: Leaving) 2020-08-10T20:47:05Z v3ga quit (Ping timeout: 240 seconds) 2020-08-10T20:52:01Z dra_ joined #lisp 2020-08-10T20:52:44Z dra_ is now known as dra 2020-08-10T20:54:50Z astronavt___ quit (Quit: ...) 2020-08-10T20:55:51Z astronavt joined #lisp 2020-08-10T20:57:30Z elflng quit (Ping timeout: 260 seconds) 2020-08-10T20:58:34Z astronavt quit (Disconnected by services) 2020-08-10T21:05:27Z Lord_of_Life quit (Read error: Connection reset by peer) 2020-08-10T21:06:17Z Lord_of_Life joined #lisp 2020-08-10T21:08:58Z elflng joined #lisp 2020-08-10T21:09:51Z gioyik joined #lisp 2020-08-10T21:15:22Z gaqwas quit (Remote host closed the connection) 2020-08-10T21:21:30Z Inline quit (Ping timeout: 256 seconds) 2020-08-10T21:21:36Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2020-08-10T21:22:14Z quazimod1 quit (Ping timeout: 260 seconds) 2020-08-10T21:24:57Z cosimone quit (Ping timeout: 260 seconds) 2020-08-10T21:28:35Z bsd4me joined #lisp 2020-08-10T21:34:17Z cosimone joined #lisp 2020-08-10T21:36:04Z dilated_dinosaur joined #lisp 2020-08-10T21:38:00Z sjl_ quit (Quit: WeeChat 2.3-dev) 2020-08-10T21:47:08Z drmeister: Hey folks. Over in #clasp we are developing a new Common Lisp implementation called 'clasp' and an extended version for computational chemistry called 'cando'. 2020-08-10T21:47:41Z bjorkintosh: is cando also a mix of c++ and commonlisp? 2020-08-10T21:48:08Z drmeister: We are also developing a web based user interface based on common-lisp-jupyter. Tarn Burton, the developer of common-lisp-jupyter has been adding autocompletion of symbols, auto-indenting, and contextual help. 2020-08-10T21:48:09Z drmeister: https://www.dropbox.com/s/zwpbuq5qewz3m62/Screen%20Recording%202020-08-10%20at%205.39.20%20PM.mov?dl=0 2020-08-10T21:48:18Z drmeister: bjorkintosh: Yes - that's it. 2020-08-10T21:48:51Z galex-713 quit (Ping timeout: 246 seconds) 2020-08-10T21:48:56Z galex-713_ joined #lisp 2020-08-10T21:48:58Z theseb quit (Quit: Leaving) 2020-08-10T21:50:51Z drmeister: The jupyterlab kernel is getting me really excited - with the autoindenting (put the cursor on a parenthesis and hit tab) you can actually start to write code in the thing. 2020-08-10T21:51:17Z ahungry quit (Remote host closed the connection) 2020-08-10T21:53:20Z p_l: drmeister: cool :) 2020-08-10T21:54:47Z bjorkintosh: drmeister, is there a 101 intro to computational chemistry around? I know zero about the topic. 2020-08-10T22:03:56Z fwoaroof[m]: drmeister: cool, I've tried to build clasp locally several times and always get build errors 2020-08-10T22:04:16Z fwoaroof[m]: But, I like the idea of a lisp that can leverage LLVM for interop 2020-08-10T22:04:25Z drmeister: fwoaroof[m]: Yeah - we struggle with that. There be dragons and dependencies. 2020-08-10T22:06:06Z drmeister: We have Dockerfile(s) and guides if you want to try again. 2020-08-10T22:06:27Z drmeister: New news - we have clasp working with the Memory Pool System copying garbage collector. 2020-08-10T22:06:44Z drmeister: Next I'll be adding image save/load. 2020-08-10T22:07:02Z fwoaroof[m]: Cool, maybe I'll give it a go this weekend 2020-08-10T22:07:24Z galex-713_ quit (Remote host closed the connection) 2020-08-10T22:08:16Z drmeister: bjorkintosh: It's a really big subject. https://www.acs.org/content/acs/en/careers/college-to-career/chemistry-careers/computational-chemistry.html 2020-08-10T22:08:40Z drmeister: Using computers to simulate the stuff that we are made out of. What could be more noble and fundamental than that? 2020-08-10T22:08:44Z galex-713 joined #lisp 2020-08-10T22:09:05Z drmeister: fwoaroof[m]: Check in on #clasp. Also - start here... 2020-08-10T22:09:08Z bjorkintosh: More? Using lisp to do so. 2020-08-10T22:10:10Z drmeister: fwoaroof[m]: https://github.com/clasp-developers/clasp/wiki/Road-to-clasp-with-lvm@9 2020-08-10T22:10:25Z drmeister: These are our new build instructions. 2020-08-10T22:10:34Z bjorkintosh: However, computational chemistry was not generally thought of as its own distinct field of study until 1998, when Walter Kohn and John Pople won the Chemistry Nobel for their work on density functional theory and computational methods in quantum chemistry. 2020-08-10T22:10:42Z bjorkintosh: that's very recent! 2020-08-10T22:10:54Z bjorkintosh: it's in its infancy! 2020-08-10T22:11:22Z bjorkintosh: how neat! 2020-08-10T22:11:47Z niceplace quit (Ping timeout: 240 seconds) 2020-08-10T22:12:22Z drmeister: bjorkintosh: Yes - I'm developing a common lisp implementation to do so. 2020-08-10T22:12:47Z drmeister: Because there is a lot of C++, C and Fortran code out there that you want to be able to work with. 2020-08-10T22:12:55Z niceplace joined #lisp 2020-08-10T22:13:00Z drmeister: And I didn't want to spend my life writing CFFI bindings. 2020-08-10T22:13:09Z Bit_MCP joined #lisp 2020-08-10T22:13:17Z drmeister: So instead I'm spending my life implementing Common Lisp. (sigh) 2020-08-10T22:13:31Z bjorkintosh: oh dear. 2020-08-10T22:13:37Z bjorkintosh: you need assistants! 2020-08-10T22:13:44Z drmeister: I do! 2020-08-10T22:13:47Z bjorkintosh: aren't there grants to pay for MOAR of those? 2020-08-10T22:13:58Z drmeister: Yes - and we have some. 2020-08-10T22:15:54Z drmeister: There are challenges as well. Many in my field have invested heavily in Python for scripting. 2020-08-10T22:17:46Z drmeister: So we are building an entire software stack with a very small team. We are doing everything from low level compiler optimizations to web-based graphical user interfaces. 2020-08-10T22:18:46Z drmeister: And we are developing applications within it. There are several demos in our docker image: thirdlaw/cando 2020-08-10T22:20:38Z quazimodo joined #lisp 2020-08-10T22:24:55Z fwoaroof[m]: drmeister: I've experimented with the opposite approach: using https://github.com/froggey/Iota to compile LLVM bitcode to Lisp 2020-08-10T22:25:07Z fwoaroof[m]: It's probably more performant to go your way, though 2020-08-10T22:25:57Z quazimod1 joined #lisp 2020-08-10T22:26:01Z quazimodo quit (Ping timeout: 264 seconds) 2020-08-10T22:26:15Z drmeister: I dunno about performant - the devil is in the details and there are a lot of details in a full Common Lisp implementation. 2020-08-10T22:26:36Z drmeister: But because we use the LLVM C++ API we can keep up with LLVM changes better than anyone. 2020-08-10T22:28:13Z drmeister: Because the code breaks when they (llvm developers) make changes and they make a lot of changes - and then it behoves me to update our code to keep up to date. I've kept with them from version 3.6 to 9 and I'm anxiously waiting for new changes coming in llvm12 (cross-fingers) that will make it easier to support Common Lisp. 2020-08-10T22:28:41Z vidak` quit (Remote host closed the connection) 2020-08-10T22:28:47Z drmeister: The llvm JIT has gone through four vastly different API's since version 3.6. 2020-08-10T22:29:22Z drmeister: The original JIT, MCJIT, ORCV1 and now ORCV2 2020-08-10T22:30:58Z drmeister: It's still very much a C/C++ oriented backend. But new changes that are coming will enable reloading of code in a way that will make it better for a more dynamic language like Common Lisp. 2020-08-10T22:32:38Z fwoaroof[m]: Cool, I like the emscripten-style approach because then CL has more control 2020-08-10T22:32:44Z fwoaroof[m]: So, you can avoid segfaults and similar 2020-08-10T22:39:47Z quazimod1 quit (Ping timeout: 240 seconds) 2020-08-10T22:40:51Z cosimone quit (Quit: Quit.) 2020-08-10T22:41:16Z cosimone joined #lisp 2020-08-10T22:45:23Z Bit_MCP quit (Ping timeout: 240 seconds) 2020-08-10T22:47:12Z quazimodo joined #lisp 2020-08-10T22:50:32Z pve quit (Quit: leaving) 2020-08-10T22:52:00Z kaftejiman joined #lisp 2020-08-10T22:52:13Z torbo joined #lisp 2020-08-10T22:52:49Z torbo quit (Remote host closed the connection) 2020-08-10T22:53:19Z torbo joined #lisp 2020-08-10T22:59:22Z tristero quit (Quit: WeeChat 2.8) 2020-08-10T22:59:23Z random-nick quit (Ping timeout: 240 seconds) 2020-08-10T22:59:37Z ayuce quit (Remote host closed the connection) 2020-08-10T23:05:05Z Oladon joined #lisp 2020-08-10T23:07:56Z CrazyEddy joined #lisp 2020-08-10T23:17:28Z shifty quit (Ping timeout: 246 seconds) 2020-08-10T23:17:49Z mangoicedtea joined #lisp 2020-08-10T23:19:13Z Posterdati quit (Ping timeout: 246 seconds) 2020-08-10T23:20:16Z kaftejiman quit (Remote host closed the connection) 2020-08-10T23:21:59Z yitzi joined #lisp 2020-08-10T23:28:02Z dilated_dinosaur quit (Ping timeout: 260 seconds) 2020-08-10T23:32:10Z bilegeek joined #lisp 2020-08-10T23:32:30Z Posterdati joined #lisp 2020-08-10T23:37:46Z cjb joined #lisp 2020-08-10T23:39:09Z dim: drmeister: do you have a time frame in mind, or a target version number I could check, for clasp image save/load feature? I mean I could then maybe try and compile pgloader with clasp and see if your new GC beats the SBCL one... 2020-08-10T23:40:08Z dim: (we keep having issues with SBCL GC where we exhaust the heap with pgloader, and I don't know if pgloader is putting too much pressure because of bad code or just because of what we do: data processing) (also Clozure has no trouble with pgloader, as a data point) 2020-08-10T23:51:24Z cosimone quit (Quit: Quit.) 2020-08-10T23:53:44Z dra quit (Remote host closed the connection) 2020-08-10T23:54:22Z drmeister: dim: No time frame but it's a high priority. I would say weeks maybe? Not months. 2020-08-10T23:55:14Z drmeister: Cando takes 25 seconds to start up on my macbook pro and I despise that that is every persons first impression of the system. 2020-08-10T23:55:52Z ahungry joined #lisp 2020-08-10T23:57:11Z drmeister: dim: Wait - why do you need image save/load to run pgloader? 2020-08-10T23:57:19Z drmeister: Clasp works with MPS now. 2020-08-10T23:58:07Z drmeister: Clasp just takes 2-3 seconds to startup. 2020-08-10T23:58:46Z galex-713 quit (Ping timeout: 246 seconds) 2020-08-10T23:59:15Z yitzi quit (Quit: yitzi) 2020-08-10T23:59:29Z drmeister: The image save/load is to shorten the startup time for cando. Cando is a version of clasp that adds lots of C++ chemistry code and a whole lot of quicklisp systems. 2020-08-10T23:59:47Z galex-713 joined #lisp 2020-08-11T00:00:08Z xristos: SBCL/MPS would be nice 2020-08-11T00:00:24Z xristos: (not to say that clasp isn't nice) 2020-08-11T00:01:04Z fwoaroof[m]: Is MPS a low-latency GC? 2020-08-11T00:02:00Z fwoaroof[m]: (I had some significant performance/stability improvements switching to Shenandoah in a JVM application I work on) 2020-08-11T00:02:00Z drmeister: Do you mean low pause times? Ravenbrook has done work to guarantee that any pause time is less than a user defined time limit. 2020-08-11T00:02:12Z xkapastel joined #lisp 2020-08-11T00:02:30Z fwoaroof[m]: Yeah 2020-08-11T00:02:38Z fwoaroof[m]: Ideally "pauseless" 2020-08-11T00:03:31Z drmeister: No - I don't think it's that. I don't have a lot of experience running it. I have a great deal of experience programming with it and debugging it. 2020-08-11T00:03:42Z drmeister: I look forward to spending more time running it. (sigh) 2020-08-11T00:04:16Z fwoaroof[m]: As far as startup time goes, isn't the party line "who stops their repl?" 2020-08-11T00:04:34Z drmeister never gets invited to those kind of parties. 2020-08-11T00:04:43Z notzmv quit (Ping timeout: 246 seconds) 2020-08-11T00:04:47Z drmeister: (snort) 2020-08-11T00:06:07Z quazimodo quit (Ping timeout: 246 seconds) 2020-08-11T00:06:48Z notzmv joined #lisp 2020-08-11T00:09:33Z drmeister: dim: Don't be surprised though that clasp is slower than sbcl. 2020-08-11T00:09:54Z drmeister: We just added type inference and we are making progress in improving performance - but sbcl still beats us. 2020-08-11T00:10:53Z drmeister: Some sbcl developer sold their soul to the devil - I'm sure. 2020-08-11T00:11:34Z drmeister: What I mean is that sbcl has an extremely impressive compiler - it's fast and generates fast code. But we all know that. 2020-08-11T00:14:05Z edgar-rft: I'm not so sure that the devil will *pay* something for sbcl develper's souls. 2020-08-11T00:23:41Z quazimodo joined #lisp 2020-08-11T00:23:42Z yitzi joined #lisp 2020-08-11T00:27:48Z Oladon quit (Quit: Leaving.) 2020-08-11T00:27:53Z ralt quit (Quit: Connection closed for inactivity) 2020-08-11T00:30:02Z troydm quit (Ping timeout: 256 seconds) 2020-08-11T00:33:03Z bilegeek quit (Quit: Leaving) 2020-08-11T00:38:23Z troydm joined #lisp 2020-08-11T00:49:22Z satousan joined #lisp 2020-08-11T00:51:04Z dominic34 joined #lisp 2020-08-11T00:51:07Z akoana joined #lisp 2020-08-11T00:52:58Z wxie joined #lisp 2020-08-11T00:54:43Z mangoicedtea quit (Quit: Leaving) 2020-08-11T00:55:25Z quazimod1 joined #lisp 2020-08-11T00:58:18Z quazimodo quit (Ping timeout: 260 seconds) 2020-08-11T00:58:30Z bilegeek joined #lisp 2020-08-11T00:59:17Z copec quit (Quit: checkity check out.) 2020-08-11T00:59:33Z copec joined #lisp 2020-08-11T00:59:35Z Josh_2 quit (Remote host closed the connection) 2020-08-11T00:59:51Z Josh_2 joined #lisp 2020-08-11T01:03:12Z nicktick joined #lisp 2020-08-11T01:04:19Z red-dot quit (Read error: Connection reset by peer) 2020-08-11T01:04:37Z red-dot joined #lisp 2020-08-11T01:06:32Z jw4 quit (Quit: tot siens) 2020-08-11T01:06:40Z physpi quit (Ping timeout: 246 seconds) 2020-08-11T01:06:54Z jw4 joined #lisp 2020-08-11T01:08:14Z physpi joined #lisp 2020-08-11T01:12:37Z Bike quit (Quit: leaving) 2020-08-11T01:13:07Z hsaziz joined #lisp 2020-08-11T01:20:59Z p_l: edgar-rft: he does during the regular poker game? 2020-08-11T01:21:00Z p_l ducks 2020-08-11T01:22:23Z yitzi quit (Quit: yitzi) 2020-08-11T01:35:13Z bhartrihari left #lisp 2020-08-11T01:35:36Z epony quit (Quit: reconfigure) 2020-08-11T01:37:23Z epony joined #lisp 2020-08-11T01:40:33Z edgar-rft: p_l: I'm not entirely sure but I think the GPL says that the devil gets your sould for free. 2020-08-11T01:41:31Z p_l: edgar-rft: note that SBCL isn't GPL 2020-08-11T01:43:06Z wxie quit (Ping timeout: 260 seconds) 2020-08-11T01:44:29Z edgar-rft: Hmm, SBCL says my soul is public domain? -> http://www.sbcl.org/history.html 2020-08-11T01:48:18Z emacsomancer: GPL says that the devil is free to copy and share your soul 2020-08-11T02:03:03Z cjb quit (Quit: ERC (IRC client for Emacs 27.1)) 2020-08-11T02:12:57Z space_otter joined #lisp 2020-08-11T02:16:50Z EvW1 quit (Ping timeout: 256 seconds) 2020-08-11T02:19:00Z nicktick quit (Ping timeout: 265 seconds) 2020-08-11T02:21:41Z nicktick joined #lisp 2020-08-11T02:23:34Z gko quit (Remote host closed the connection) 2020-08-11T02:23:43Z luckless_ quit (Ping timeout: 240 seconds) 2020-08-11T02:26:11Z luckless_ joined #lisp 2020-08-11T02:27:46Z p_l: so long as he accepts the brand 2020-08-11T02:28:03Z p_l: on any change to the soul he does 2020-08-11T02:29:04Z p_l: edgar-rft: at least you don't need to sell your soul to the devil to make a clean from source compile of SBCL 2020-08-11T02:29:07Z satousan quit (Quit: WeeChat 2.3) 2020-08-11T02:29:33Z p_l: as far as I know, that's not the case for its progenitor 2020-08-11T02:30:03Z gko joined #lisp 2020-08-11T02:37:38Z zigpaw quit (Ping timeout: 260 seconds) 2020-08-11T02:41:09Z zigpaw joined #lisp 2020-08-11T02:43:11Z satousan joined #lisp 2020-08-11T02:51:38Z xkapastel quit (Quit: Connection closed for inactivity) 2020-08-11T02:54:21Z bhartrihari joined #lisp 2020-08-11T02:58:03Z terpri__ is now known as terpri 2020-08-11T03:00:51Z cosimone joined #lisp 2020-08-11T03:02:49Z Alfr_ joined #lisp 2020-08-11T03:04:06Z mokulus quit (Ping timeout: 256 seconds) 2020-08-11T03:04:07Z nullman quit (Ping timeout: 256 seconds) 2020-08-11T03:04:40Z space_otter quit (Ping timeout: 256 seconds) 2020-08-11T03:04:41Z zaquest quit (Ping timeout: 256 seconds) 2020-08-11T03:04:41Z z3t0 quit (Ping timeout: 256 seconds) 2020-08-11T03:05:04Z cjb joined #lisp 2020-08-11T03:05:34Z torbo quit (Remote host closed the connection) 2020-08-11T03:05:37Z Alfr__ quit (Ping timeout: 260 seconds) 2020-08-11T03:06:22Z mokulus joined #lisp 2020-08-11T03:06:25Z space_otter joined #lisp 2020-08-11T03:06:46Z z3t0 joined #lisp 2020-08-11T03:07:52Z zaquest joined #lisp 2020-08-11T03:10:55Z nullman joined #lisp 2020-08-11T03:15:19Z gko` joined #lisp 2020-08-11T03:17:22Z ebrasca quit (Remote host closed the connection) 2020-08-11T03:17:56Z satousan quit (Quit: WeeChat 2.3) 2020-08-11T03:20:53Z bhartrihari left #lisp 2020-08-11T03:21:15Z bhartrihari joined #lisp 2020-08-11T03:27:01Z Bit_MCP joined #lisp 2020-08-11T03:29:42Z ajithmk joined #lisp 2020-08-11T03:30:40Z beach: Good morning everyone! 2020-08-11T03:32:07Z gioyik quit (Read error: Connection reset by peer) 2020-08-11T03:35:11Z sm2n: good night ;) 2020-08-11T03:36:06Z shifty joined #lisp 2020-08-11T03:37:02Z gioyik joined #lisp 2020-08-11T03:37:05Z bhartrihari left #lisp 2020-08-11T03:37:18Z bhartrihari joined #lisp 2020-08-11T03:39:28Z nicktick quit (Ping timeout: 256 seconds) 2020-08-11T03:41:00Z nicktick joined #lisp 2020-08-11T03:42:04Z Bit_MCP quit (Ping timeout: 256 seconds) 2020-08-11T03:45:31Z nicktick quit (Ping timeout: 265 seconds) 2020-08-11T03:54:03Z _whitelogger quit (Remote host closed the connection) 2020-08-11T03:56:13Z _whitelogger joined #lisp 2020-08-11T04:00:32Z beach` joined #lisp 2020-08-11T04:01:34Z beach quit (Disconnected by services) 2020-08-11T04:01:39Z beach` is now known as beach 2020-08-11T04:07:04Z mfiano quit (Ping timeout: 256 seconds) 2020-08-11T04:16:13Z Lord_of_Life_ joined #lisp 2020-08-11T04:17:45Z Lord_of_Life quit (Ping timeout: 240 seconds) 2020-08-11T04:17:45Z Lord_of_Life_ is now known as Lord_of_Life 2020-08-11T04:20:01Z _paul0 joined #lisp 2020-08-11T04:22:59Z paul0 quit (Ping timeout: 240 seconds) 2020-08-11T04:23:01Z bhartrihari left #lisp 2020-08-11T04:23:19Z bhartrihari joined #lisp 2020-08-11T04:25:49Z rilez joined #lisp 2020-08-11T04:43:08Z jw4 quit (Quit: tot siens) 2020-08-11T04:43:26Z mfiano joined #lisp 2020-08-11T04:45:18Z jw4 joined #lisp 2020-08-11T04:47:24Z dominic35 joined #lisp 2020-08-11T04:48:22Z dominic34 quit (Ping timeout: 260 seconds) 2020-08-11T04:48:23Z dominic35 is now known as dominic34 2020-08-11T04:50:41Z gravicappa joined #lisp 2020-08-11T04:55:54Z rilez quit (Ping timeout: 245 seconds) 2020-08-11T05:01:36Z choegusung joined #lisp 2020-08-11T05:08:42Z iissaacc joined #lisp 2020-08-11T05:09:06Z iissaacc: howdy 2020-08-11T05:10:24Z bhartrihari left #lisp 2020-08-11T05:16:13Z mankaev quit (Ping timeout: 272 seconds) 2020-08-11T05:16:51Z mankaev joined #lisp 2020-08-11T05:17:13Z bhartrihari joined #lisp 2020-08-11T05:18:25Z iissaacc quit (Remote host closed the connection) 2020-08-11T05:18:42Z iissaacc joined #lisp 2020-08-11T05:20:48Z bocaneri joined #lisp 2020-08-11T05:20:48Z beach: Hello iissaacc. 2020-08-11T05:21:37Z Oladon joined #lisp 2020-08-11T05:24:45Z edgar-rft: where's jacob? 2020-08-11T05:27:34Z contrapunctus left #lisp 2020-08-11T05:28:44Z contrapunctus joined #lisp 2020-08-11T05:30:05Z choegusung quit (Quit: leaving) 2020-08-11T05:35:30Z lucasb quit (Quit: Connection closed for inactivity) 2020-08-11T05:37:49Z mrcom quit (Read error: Connection reset by peer) 2020-08-11T05:43:52Z iissaacc quit (Ping timeout: 246 seconds) 2020-08-11T05:44:49Z iissaacc joined #lisp 2020-08-11T05:49:17Z ajithmk quit (Quit: Connection closed for inactivity) 2020-08-11T05:49:34Z shifty quit (Ping timeout: 256 seconds) 2020-08-11T05:51:23Z iissaacc quit (Ping timeout: 240 seconds) 2020-08-11T05:53:23Z nicktick joined #lisp 2020-08-11T05:53:36Z dominic34 quit (Ping timeout: 256 seconds) 2020-08-11T05:55:32Z treflip joined #lisp 2020-08-11T06:01:42Z orivej quit (Ping timeout: 256 seconds) 2020-08-11T06:04:22Z ukari quit (Remote host closed the connection) 2020-08-11T06:05:56Z iissaacc joined #lisp 2020-08-11T06:07:52Z gaqwas joined #lisp 2020-08-11T06:07:52Z gaqwas quit (Changing host) 2020-08-11T06:07:52Z gaqwas joined #lisp 2020-08-11T06:08:41Z mrcom joined #lisp 2020-08-11T06:14:01Z gravicappa quit (Ping timeout: 264 seconds) 2020-08-11T06:21:16Z Oladon quit (Quit: Leaving.) 2020-08-11T06:26:10Z bilegeek quit (Ping timeout: 256 seconds) 2020-08-11T06:29:13Z jdz: dim: My guess would be that SBCL has a fixed heap size, but CCL will dig into RAM until it is exhausted. 2020-08-11T06:30:56Z jdz: But I also like memory behavior of CCL better than SBCL, although having software with no upper bound to memory consumption is questionable. 2020-08-11T06:30:56Z justsomeguy joined #lisp 2020-08-11T06:31:12Z iissaacc quit (Read error: Connection reset by peer) 2020-08-11T06:32:42Z notzmv quit (Ping timeout: 256 seconds) 2020-08-11T06:38:32Z ahungry quit (Remote host closed the connection) 2020-08-11T06:43:38Z pragmaticdog joined #lisp 2020-08-11T06:44:26Z pragmaticdog quit (Quit: leaving) 2020-08-11T06:54:33Z vutral quit (Quit: Connection closed for inactivity) 2020-08-11T06:58:06Z orivej joined #lisp 2020-08-11T06:58:11Z aeth: Doesn't SBCL have a fixed default, like 1 GB or something (the manpage says it's platform-dependent)? Depending on what you're doing, you might prefer if it sets the starting heap based on total RAM instead, even though you can't adjust it later. There might be a way. "--dynamic-space-size " if that's launched from a shell script, there's probably something you can put inside of a $() to come up with a reasonable value. 2020-08-11T06:58:38Z aeth: Of course, if that's already done, then something else is up. 2020-08-11T07:01:20Z justsomeguy quit 2020-08-11T07:01:29Z jurov_ joined #lisp 2020-08-11T07:03:35Z jurov quit (Ping timeout: 246 seconds) 2020-08-11T07:04:31Z orivej quit (Quit: orivej) 2020-08-11T07:09:10Z bsd4me quit (Remote host closed the connection) 2020-08-11T07:24:56Z Cymew joined #lisp 2020-08-11T07:26:43Z jonatack quit (Quit: jonatack) 2020-08-11T07:31:12Z cjb quit (Quit: byes) 2020-08-11T07:38:23Z cosimone_ joined #lisp 2020-08-11T07:38:40Z cosimone quit (Ping timeout: 246 seconds) 2020-08-11T07:42:20Z pve joined #lisp 2020-08-11T07:42:44Z luis: aeth: somewhat surprisingly, the GC will automatically use more space proportionally to the dynamic space size, so you're not just increasing the upper bound but also the lower bound (average bound? something like that) 2020-08-11T07:43:43Z treflip quit (Quit: WeeChat 2.6) 2020-08-11T07:45:43Z treflip joined #lisp 2020-08-11T07:48:57Z ralt joined #lisp 2020-08-11T07:52:41Z terpri_ joined #lisp 2020-08-11T07:53:44Z gxt joined #lisp 2020-08-11T07:56:07Z terpri quit (Ping timeout: 260 seconds) 2020-08-11T08:01:27Z gioyik quit (Quit: WeeChat 2.9) 2020-08-11T08:04:25Z dilated_dinosaur joined #lisp 2020-08-11T08:04:47Z terpri_ quit (Remote host closed the connection) 2020-08-11T08:05:10Z terpri_ joined #lisp 2020-08-11T08:07:57Z hendursa1 joined #lisp 2020-08-11T08:10:03Z hendursaga quit (Ping timeout: 240 seconds) 2020-08-11T08:13:47Z terpri_ quit (Remote host closed the connection) 2020-08-11T08:14:03Z terpri_ joined #lisp 2020-08-11T08:14:31Z jonatack joined #lisp 2020-08-11T08:23:56Z gravicappa joined #lisp 2020-08-11T08:25:09Z p_l: SBCL on amd64 has default dynamic space size of 8GB. CCL on the same platform uses default dynamic space of 512GB 2020-08-11T08:27:05Z treflip quit (Quit: WeeChat 2.6) 2020-08-11T08:31:53Z space_otter quit (Remote host closed the connection) 2020-08-11T08:32:56Z edgar-rft wants dynamic tab size 2020-08-11T08:33:13Z treflip joined #lisp 2020-08-11T08:36:25Z edgar-rft quit (Quit: Leaving) 2020-08-11T08:38:54Z dra joined #lisp 2020-08-11T08:38:56Z dra: Hello! 2020-08-11T08:39:11Z beach: Hello dra. 2020-08-11T08:41:57Z luis: p_l: I'm pretty sure the default is 1 GB: https://github.com/sbcl/sbcl/blob/88b98e2d20e0f7f85d2b26ee90dc1c775004d84d/src/compiler/generic/parms.lisp#L130 2020-08-11T08:43:44Z p_l: luis: ahh, changed 3 years ago 2020-08-11T08:43:53Z p_l: it was 8GB in 2009 2020-08-11T08:44:16Z bhartrihari left #lisp 2020-08-11T08:44:36Z bhartrihari joined #lisp 2020-08-11T08:46:25Z gravicappa quit (Ping timeout: 240 seconds) 2020-08-11T08:49:51Z phoe: 2009 was two years ago 2020-08-11T08:55:49Z luis: time flies 2020-08-11T08:57:25Z beach: Time flies like an arrow. 2020-08-11T08:57:25Z jibanes quit (Ping timeout: 246 seconds) 2020-08-11T08:59:23Z jibanes joined #lisp 2020-08-11T09:04:32Z pve: Good morning! As part of a dogfooding exercise, I've made a simple linked list class, and now I'm looking at the output from sb-sprof and I'm wondering if someone could help me interpret it. 2020-08-11T09:04:41Z pve: https://plaster.tymoon.eu/view/1998 2020-08-11T09:05:08Z pve: is it so that the top 7 are related to method dispatch? 2020-08-11T09:07:52Z beach: I am not an expert, but it looks that way to me. SBCL generic dispatch is apparently not that great. 2020-08-11T09:09:21Z pve: beach: thank you 2020-08-11T09:09:27Z pve: and ouch 2020-08-11T09:09:33Z treflip quit (Quit: WeeChat 2.6) 2020-08-11T09:10:39Z beach: SBCL uses PCL which was designed at a time when a memory access had roughly the same cost as a register operation, so table-driven techniques seemed appropriate at the time. 2020-08-11T09:11:03Z jdz: To me it seems the offending one is number 15, and the next number 8. 2020-08-11T09:12:13Z jdz: Although on a second look I think I'm wrong. 2020-08-11T09:12:13Z beach: Isn't the "Total" every sample that had this thing on the stack? 2020-08-11T09:12:23Z beach: I looked into this recently. 2020-08-11T09:12:36Z beach: I think I made the same mistake you did. 2020-08-11T09:12:42Z pve: jdz: yes, it's a merge sort I'm profiling, so I would expect that to be high 2020-08-11T09:13:22Z jdz: beach: Right, that seems to be the case for me, as well. Not profiling my code often enough. 2020-08-11T09:13:37Z beach: I know what you mean. 2020-08-11T09:13:44Z jdz: (On the bright side - the code is fast enough most of the time.) 2020-08-11T09:15:34Z jdz: pve: Also do two consecutive profiling runs show the same picture? 2020-08-11T09:15:55Z jdz: In the same image, of course. 2020-08-11T09:18:01Z Josh_2 quit (Remote host closed the connection) 2020-08-11T09:18:36Z pve: jdz: hmm, yeah looks pretty similar 2020-08-11T09:19:45Z jdz: That's good, then, meaning effective methods have been computed. 2020-08-11T09:20:31Z notzmv joined #lisp 2020-08-11T09:21:03Z winny quit (Changing host) 2020-08-11T09:21:03Z winny joined #lisp 2020-08-11T09:21:07Z pve: CL:SORT on a list is about a 100x faster :) 2020-08-11T09:21:36Z terpri_ is now known as terpri 2020-08-11T09:23:28Z orivej joined #lisp 2020-08-11T09:27:00Z treflip joined #lisp 2020-08-11T09:30:46Z pve: beach: are table-driven techniques not appropriate anymore? 2020-08-11T09:33:28Z pve: or rather, what are the alternatives? 2020-08-11T09:36:45Z yitzi joined #lisp 2020-08-11T09:48:05Z mokulus quit (Quit: WeeChat 2.9) 2020-08-11T09:49:22Z beach: pve: That's correct, they are no longer appropriate. SICL generic dispatch compares a register to small constants, so the entire dispatch remains inside the processor. 2020-08-11T09:49:34Z nicktick quit (Ping timeout: 246 seconds) 2020-08-11T09:50:05Z beach: http://metamodular.com/SICL/generic-dispatch.pdf 2020-08-11T09:53:04Z pve: beach: thank you, I'll give that a read 2020-08-11T09:53:41Z beach: Great! If you have any questions, feel free to ask. #sicl might be more appropriate depending on the level of detail. 2020-08-11T09:56:01Z pve: will do 2020-08-11T10:01:30Z v88m quit (Ping timeout: 260 seconds) 2020-08-11T10:05:43Z kaftejiman joined #lisp 2020-08-11T10:06:57Z stux|RC quit (Remote host closed the connection) 2020-08-11T10:07:02Z v88m joined #lisp 2020-08-11T10:09:01Z stux|RC joined #lisp 2020-08-11T10:16:34Z akoana left #lisp 2020-08-11T10:24:35Z u0_a1561 joined #lisp 2020-08-11T10:25:02Z dim: jdz: typical memory usage of pgloader using CCL is ~400MB during a whole load, whereas it would exhaust a 4GB heap on SBCL with the same operation 2020-08-11T10:28:34Z u0_a156 quit (Ping timeout: 260 seconds) 2020-08-11T10:30:11Z v88m quit (Ping timeout: 240 seconds) 2020-08-11T10:36:55Z treflip quit (Quit: WeeChat 2.6) 2020-08-11T10:39:09Z ayuce joined #lisp 2020-08-11T10:49:16Z yitzi quit (Quit: yitzi) 2020-08-11T10:51:57Z jeosol quit (Remote host closed the connection) 2020-08-11T10:55:01Z v88m joined #lisp 2020-08-11T10:55:07Z cosimone_ quit (Remote host closed the connection) 2020-08-11T11:07:32Z SomeB quit (Ping timeout: 246 seconds) 2020-08-11T11:09:52Z vaporatorius__ joined #lisp 2020-08-11T11:12:38Z vaporatorius quit (Ping timeout: 256 seconds) 2020-08-11T11:18:21Z random-nick joined #lisp 2020-08-11T11:24:36Z notzmv quit (Remote host closed the connection) 2020-08-11T11:33:07Z gravicappa joined #lisp 2020-08-11T11:42:49Z hsaziz quit (Ping timeout: 264 seconds) 2020-08-11T11:45:04Z FreeBirdLjj joined #lisp 2020-08-11T11:49:44Z FreeBirdLjj quit (Ping timeout: 256 seconds) 2020-08-11T11:52:14Z jonatack quit (Ping timeout: 256 seconds) 2020-08-11T11:55:35Z ebrasca joined #lisp 2020-08-11T12:14:10Z kaftejiman quit (Remote host closed the connection) 2020-08-11T12:14:52Z hendursa1 quit (Quit: hendursa1) 2020-08-11T12:15:09Z hendursaga joined #lisp 2020-08-11T12:18:18Z v88m quit (Ping timeout: 256 seconds) 2020-08-11T12:19:51Z wxie joined #lisp 2020-08-11T12:30:34Z ggole joined #lisp 2020-08-11T12:35:54Z wsinatra joined #lisp 2020-08-11T12:38:15Z gko_ joined #lisp 2020-08-11T12:38:21Z gko quit (Remote host closed the connection) 2020-08-11T12:40:21Z gko joined #lisp 2020-08-11T12:42:26Z ldb joined #lisp 2020-08-11T12:45:56Z ldb: good evening 2020-08-11T12:46:11Z beach: Hello ldb. 2020-08-11T12:48:26Z ldb: beach: I'm reading the generic-dispatch paper. Does "immediate object" indicates that it is limited to certain data can be fit into a register? 2020-08-11T12:48:57Z beach: If you give me the page reference, I'll tell you. 2020-08-11T12:49:48Z phoe: beach: beginning of chapter 3 2020-08-11T12:49:59Z ldb: beach: it's on page 3, section 3's first line 2020-08-11T12:50:02Z phoe: "A SICL object is either an immediate object or a heap object." 2020-08-11T12:50:05Z beach: Yes, correct. 2020-08-11T12:51:02Z phoe: so if I read this correctly, this means fixnums, #+64bit single-floats, characters, and such 2020-08-11T12:51:13Z beach: In SICL, only fixnums, characters, and single-floats are immediate objects. 2020-08-11T12:51:26Z phoe: oh, okay 2020-08-11T12:51:39Z ldb: ok, thank you for explaination 2020-08-11T12:51:44Z beach: Pleasure. 2020-08-11T12:53:59Z Bike joined #lisp 2020-08-11T12:58:17Z orivej quit (Ping timeout: 260 seconds) 2020-08-11T12:58:46Z treflip joined #lisp 2020-08-11T13:00:09Z _jrjsmrtn joined #lisp 2020-08-11T13:02:11Z __jrjsmrtn__ quit (Ping timeout: 240 seconds) 2020-08-11T13:03:09Z peterhil joined #lisp 2020-08-11T13:03:31Z pve: beach: I've also read the paper, very interesting.. at some point I may want to think about how the dispatch is done in this little language I'm working on 2020-08-11T13:03:56Z kopiyka joined #lisp 2020-08-11T13:04:16Z beach: pve: Glad you liked it. 2020-08-11T13:05:21Z pve: it's a bit simpler, in that methods "belong to classes" like in smalltalk, and they only specialize on the recipient of the message (i.e. "self") 2020-08-11T13:05:22Z wxie quit (Ping timeout: 260 seconds) 2020-08-11T13:05:42Z phoe: one option is to defer dispatch to the host CLOS and wait for that host CLOS to become good/fast enough 2020-08-11T13:06:00Z pve: so every method is like (defmethod foo ((self myclass) a b c) ...) 2020-08-11T13:06:05Z beach: pve: I see. That's known as "single dispatch" 2020-08-11T13:06:10Z pve: phoe: that's how it's done now 2020-08-11T13:06:20Z pve: beach: yes 2020-08-11T13:07:31Z beach: So, I have a theory that C++ dispatch could be made faster if it used my technique. Currently, they try very hard to use a table-driven approach using so-called VTABLEs. 2020-08-11T13:08:25Z beach: And I think when they have multiple inheritance, the tables must be nested, so that should result in several memory accesses. 2020-08-11T13:08:58Z beach: But I don't know how deep into the standard this VTABLE business goes. 2020-08-11T13:09:21Z beach: ... and I'm not about to find out. :) 2020-08-11T13:09:59Z dlowe: the vtables aren't nested because they're static 2020-08-11T13:10:14Z dlowe: all the resolution for the type is done at compile type 2020-08-11T13:10:17Z dlowe: *time 2020-08-11T13:10:34Z beach: That would be very sad for so-called virtual methods. 2020-08-11T13:12:10Z jackdaniel: it is. this approach makes writing c++ class extensions as dynamically loaded libraries not feasible at all 2020-08-11T13:12:53Z beach: "it is", i.e., "sad"? 2020-08-11T13:13:00Z jackdaniel: yes 2020-08-11T13:14:08Z dlowe: they're "v"tables only to support so-called virtual methods. Non-virtual methods are resolved according to declared type, ignoring the type of the object 2020-08-11T13:14:18Z ldb: few languages make use of runtime dyanamic loading/linking 2020-08-11T13:14:30Z dlowe: anyway, it's a sad state. 2020-08-11T13:16:05Z bitmapper quit (Ping timeout: 240 seconds) 2020-08-11T13:17:25Z jackdaniel: ldb: but C and C++ make use of it, and they are fairly popular. only dispatch in C++ is crooked with this regard 2020-08-11T13:23:43Z dyelar quit (Quit: Leaving.) 2020-08-11T13:28:12Z dyelar joined #lisp 2020-08-11T13:28:52Z ukari joined #lisp 2020-08-11T13:29:37Z orivej joined #lisp 2020-08-11T13:34:44Z ldb left #lisp 2020-08-11T13:38:48Z cosimone joined #lisp 2020-08-11T13:55:44Z gxt quit (Quit: WeeChat 2.9) 2020-08-11T14:22:50Z jeosol joined #lisp 2020-08-11T14:24:01Z jonatack joined #lisp 2020-08-11T14:27:15Z treflip quit (Quit: WeeChat 2.6) 2020-08-11T14:29:04Z shifty joined #lisp 2020-08-11T14:29:06Z sjl_ joined #lisp 2020-08-11T14:31:38Z Bit_MCP joined #lisp 2020-08-11T14:32:05Z jonatack quit (Ping timeout: 240 seconds) 2020-08-11T14:36:05Z orivej quit (Ping timeout: 265 seconds) 2020-08-11T14:38:44Z bsd4me joined #lisp 2020-08-11T14:44:14Z rumbler31_ joined #lisp 2020-08-11T14:45:11Z jonatack joined #lisp 2020-08-11T14:48:38Z bitmapper joined #lisp 2020-08-11T14:52:17Z treflip joined #lisp 2020-08-11T15:08:45Z dra quit (Remote host closed the connection) 2020-08-11T15:08:57Z dra joined #lisp 2020-08-11T15:21:06Z ark quit (Quit: ZNC 1.7.4 - https://znc.in) 2020-08-11T15:21:23Z random-nick quit (Ping timeout: 240 seconds) 2020-08-11T15:22:04Z nicktick joined #lisp 2020-08-11T15:24:32Z random-nick joined #lisp 2020-08-11T15:26:29Z orivej joined #lisp 2020-08-11T15:29:30Z xlei quit (Ping timeout: 256 seconds) 2020-08-11T15:37:58Z ghard joined #lisp 2020-08-11T15:38:01Z nicktick quit (Ping timeout: 264 seconds) 2020-08-11T15:45:13Z cosimone quit (Quit: Quit.) 2020-08-11T15:49:33Z galex-713 quit (Ping timeout: 272 seconds) 2020-08-11T15:51:00Z orivej quit (Ping timeout: 265 seconds) 2020-08-11T15:51:24Z fwoaroof[m]: If you declare a method virtual in C++, it's dynamically resolved, right? 2020-08-11T15:51:46Z fwoaroof[m]: (It's been a long time, and I see C++ developers complain about virtual methods all the time these days) 2020-08-11T15:52:28Z beach: What are the complaints based on? 2020-08-11T15:53:11Z fwoaroof[m]: I think it's a combination of dynamic dispatch being slow and dynamic dispatch makes control flow confusing 2020-08-11T15:53:35Z fwoaroof[m]: But, I don't really follow the C++ community all that much :) 2020-08-11T15:54:06Z beach: Yeah, me neither. But given the table-driven dispatch, it might be slow in the eyes of a C++ programmer. 2020-08-11T15:55:06Z beach: But it was my impression that virtual methods and dynamic dispatch (which some people here say doesn't exist anymore) was one of the mechanisms required for the OO style that C++ recommends. 2020-08-11T15:59:33Z edgar-rft joined #lisp 2020-08-11T16:00:11Z xlei joined #lisp 2020-08-11T16:01:37Z shifty quit (Ping timeout: 246 seconds) 2020-08-11T16:02:07Z galex-713 joined #lisp 2020-08-11T16:07:43Z akoana joined #lisp 2020-08-11T16:08:34Z Cymew quit (Quit: Konversation terminated!) 2020-08-11T16:08:55Z ayuce` joined #lisp 2020-08-11T16:10:30Z dra: beach: Who says dynamic dispatch doesn't exist anymore? 2020-08-11T16:11:15Z beach: all the resolution for the type is done at compile time. 2020-08-11T16:11:53Z beach: I don't believe it, but this is not the right forum to discuss C++ and its implementations, so I did not protest too much. 2020-08-11T16:12:45Z ayuce quit (Ping timeout: 265 seconds) 2020-08-11T16:14:27Z caltelt joined #lisp 2020-08-11T16:15:28Z jackdaniel: "Since C++ does not support late binding, the virtual table in a C++ object cannot be modified at run-time, which limits the potential set of dispatch targets to a finite set chosen at compile time. " 2020-08-11T16:15:48Z jackdaniel: that's a relevant part of the description of a dynamic dispatch in c++ 2020-08-11T16:16:10Z terpri_ joined #lisp 2020-08-11T16:16:14Z jackdaniel: (taken from wikipedia, but it matches my prior knowledge) -- https://en.wikipedia.org/wiki/Dynamic_dispatch#C++_implementation 2020-08-11T16:16:47Z dra: Regardless, dynamic dispatch would go through the table indirection. 2020-08-11T16:16:53Z dra: Or through branches, i.e. "switchpatching". 2020-08-11T16:16:59Z beach: Limiting it to a finite set sounds different from "all resolution is done at compile time" 2020-08-11T16:17:27Z dra: So it's instruction cache vs. branch prediction. Not that it generally matters much anyway. 2020-08-11T16:17:27Z fwoaroof[m]: Sorry, I was talking about style guides discouraging virtual methods 2020-08-11T16:17:48Z Lord_of_Life_ joined #lisp 2020-08-11T16:17:53Z dra: But you're right, this is #lisp, and 2020-08-11T16:17:54Z beach: But I am not going to participate any further in this discussion. It is off topic, and I need to go start dinner anyway. 2020-08-11T16:17:54Z jackdaniel: uhm, at least this "finite set" is what I've meant when I said that it is indeed sad and that you can't extend it by loading .so libraries 2020-08-11T16:18:04Z xlei quit (Ping timeout: 256 seconds) 2020-08-11T16:18:11Z dra: ... I'll just do a (typecase ..). ;) 2020-08-11T16:18:11Z Lord_of_Life quit (Ping timeout: 240 seconds) 2020-08-11T16:18:43Z gaqwas quit (Remote host closed the connection) 2020-08-11T16:18:47Z terpri quit (Ping timeout: 240 seconds) 2020-08-11T16:20:28Z cosimone joined #lisp 2020-08-11T16:20:37Z Lord_of_Life_ is now known as Lord_of_Life 2020-08-11T16:22:41Z Lycurgus joined #lisp 2020-08-11T16:22:47Z akoana left #lisp 2020-08-11T16:27:01Z gaqwas joined #lisp 2020-08-11T16:27:01Z gaqwas quit (Changing host) 2020-08-11T16:27:01Z gaqwas joined #lisp 2020-08-11T16:28:50Z ayuce` quit (Remote host closed the connection) 2020-08-11T16:29:05Z Jesin quit (Quit: Leaving) 2020-08-11T16:30:14Z yitzi joined #lisp 2020-08-11T16:30:57Z ayuce joined #lisp 2020-08-11T16:33:51Z Jesin joined #lisp 2020-08-11T16:35:33Z treflip quit (Quit: WeeChat 2.6) 2020-08-11T16:36:41Z _paul0 quit (Quit: Leaving) 2020-08-11T16:37:27Z Lycurgus quit (Remote host closed the connection) 2020-08-11T16:40:17Z terpri_ quit (Remote host closed the connection) 2020-08-11T16:40:37Z terpri_ joined #lisp 2020-08-11T16:41:07Z gko_ quit (Ping timeout: 260 seconds) 2020-08-11T16:46:09Z xlei joined #lisp 2020-08-11T16:49:11Z Josh_2 joined #lisp 2020-08-11T16:59:48Z Josh_2: Hi 2020-08-11T17:01:27Z sjl_: This should work and return (1 nil 2 nil) right? (loop :with (a b) = '(1) :for (c d) = '(2) :do (return (list a b c d))) 2020-08-11T17:01:31Z sjl_: clhs 6.1.1.7 2020-08-11T17:01:31Z specbot: Destructuring: http://www.lispworks.com/reference/HyperSpec/Body/06_aag.htm 2020-08-11T17:01:33Z sjl_: > During loop expansion, each variable in the variable list is matched with the values in the values list. If there are more variables in the variable list than there are values in the values list, the remaining variables are given a value of nil. 2020-08-11T17:01:51Z fwoaroof[m]: I think so 2020-08-11T17:01:57Z sjl_: It works like I expect in SBCL and CCL, but signals an error in ECL and ABCL. Am I misreading the spec? 2020-08-11T17:02:12Z fwoaroof[m]: It works that way in LispWorks too 2020-08-11T17:02:12Z xlei quit (Ping timeout: 256 seconds) 2020-08-11T17:02:58Z sjl_: It works as I expect in clisp too. 2020-08-11T17:03:48Z easye: Apparently a bug in ABCL. 2020-08-11T17:03:50Z jackdaniel pretends that he does not see the discussion 2020-08-11T17:04:06Z fwoaroof[m] looks at jackdaniel 2020-08-11T17:04:08Z sjl_: lol 2020-08-11T17:04:13Z jackdaniel looks at fwoaroof[m] 2020-08-11T17:04:21Z Patternmaster joined #lisp 2020-08-11T17:05:45Z scymtym: jackdaniel: quick, check SICL loop. maybe it behaves like ECL and ABCL. you can still get a majority 2020-08-11T17:06:16Z scymtym: oh, lispworks. only a tie then 2020-08-11T17:06:17Z fwoaroof[m]: I think it's 4 work like sbcl and 2 not? 2020-08-11T17:06:25Z fwoaroof[m]: clisp too 2020-08-11T17:06:52Z scymtym goes back to something that does not involve counting 2020-08-11T17:07:23Z sjl_: I don't have allegro or clasp on this machine to check those 2020-08-11T17:07:48Z jackdaniel: I've reported the issue: https://gitlab.com/embeddable-common-lisp/ecl/-/issues/605 2020-08-11T17:07:51Z jackdaniel: thanks sjl_ 2020-08-11T17:08:02Z jackdaniel: LW does not count on freenode 2020-08-11T17:08:05Z easye: sjl_: According to the CLHS paragraph you quoted, the references should clearly by NIL. 2020-08-11T17:08:08Z jackdaniel: ;) 2020-08-11T17:08:23Z sjl_: jackdaniel: thanks, sorry to give you more work, hah 2020-08-11T17:08:49Z jackdaniel walks away while pretending that he does not hurry to be faster than easye with the fix 2020-08-11T17:08:58Z sjl_: easye: yeah that was my reading. But two unrelated implementations having the same behavior made me second guess myself 2020-08-11T17:09:14Z easye: Don'y worry, anybody would be faster than me. 2020-08-11T17:09:28Z jackdaniel: well, using destructuring-bind is the most obvious choice for destructuring 2020-08-11T17:09:37Z easye: Maybe we should just use SICL's LOOP to get around these issues. 2020-08-11T17:10:13Z sjl_: It would be convenient if it destructured like destructuring-bind, but that would complicate the (loop for (a b c) of-type (integer integer float) in ...) type declaration syntax I guess 2020-08-11T17:10:25Z sjl_: so it's not as full-featured as full d-b 2020-08-11T17:14:16Z jackdaniel: easye: "just" using sicl's loop is buying into a strategy, where you bootstrap from fully-features common lisp - that is a fine strategy, but not something automatically agreeable. I think that sicl's loop implementation requires working loop implementation 2020-08-11T17:14:31Z jackdaniel: s/fully-features/fully-featured/ 2020-08-11T17:14:42Z easye: jackdaniel: Aw. 2020-08-11T17:15:14Z jackdaniel: you may always replace abcl's loop /after/ everything is built, so you have your old loop for building abcl, and this new loop for users 2020-08-11T17:15:54Z jackdaniel: adopting first class global environments will allow even switching loop implementation by the user without breaking the implementation internals 2020-08-11T17:16:43Z jackdaniel: but still doing all that is not the most obvious thing to do where it comes to fixing a bug ;) 2020-08-11T17:18:01Z sjl_: jackdaniel: for 100% clarity, in the issue you linked, it should work for both WITH and FOR 2020-08-11T17:18:13Z sjl_: not just WITH 2020-08-11T17:18:20Z jackdaniel: right, I'll better add that to not forget to check 2020-08-11T17:18:51Z tcftbl joined #lisp 2020-08-11T17:19:06Z sjl_: No idea if with/for are implemented by the same code or not, so might be worth checking both. 2020-08-11T17:19:20Z jackdaniel: true, I'll also add both checks to ansi-tests 2020-08-11T17:21:02Z sjl_: (This also isn't super important to me, I can easily work around it.) 2020-08-11T17:21:38Z jackdaniel: I understand, that makes that even more commendable that you've reported it ,-) 2020-08-11T17:22:02Z fwoaroof[m]: I tend to care about this sort of issue, because it's the sort of thing that prevents me from using the libraries I like in LispWorks 2020-08-11T17:22:08Z jackdaniel: I have non-computer thigns to do now, so see you o/ 2020-08-11T17:22:18Z fwoaroof[m]: (i.e. non-conforming assumptions) 2020-08-11T17:22:31Z fwoaroof[m]: s/assumptions/implementations/ 2020-08-11T17:23:00Z ferada joined #lisp 2020-08-11T17:26:00Z ferada: hiya, anyone worked with commonqt/qtools/... and possibly has an example of subclassing/delegates usage (e.g. for custom listview elements)? 2020-08-11T17:26:05Z CodeSpelunker joined #lisp 2020-08-11T17:26:41Z fwoaroof[m]: Shinmera has some examples in their github account 2020-08-11T17:26:59Z gaqwas quit (Remote host closed the connection) 2020-08-11T17:28:52Z xlei joined #lisp 2020-08-11T17:30:07Z ferada: fwoaroof[m]: would you know which package? 2020-08-11T17:30:49Z fwoaroof[m]: Depending what you need, maybe this? https://github.com/Shinmera/qtools/blob/master/examples/melody/melody.lisp 2020-08-11T17:32:11Z fwoaroof[m]: I believe this also used qtools extensively: https://github.com/Shinmera/parasol 2020-08-11T17:32:38Z dra quit (Remote host closed the connection) 2020-08-11T17:33:25Z orivej joined #lisp 2020-08-11T17:34:30Z xlei quit (Ping timeout: 256 seconds) 2020-08-11T17:35:08Z westerns joined #lisp 2020-08-11T17:35:15Z ferada: thanks 2020-08-11T17:35:41Z fwoaroof[m]: I'm not sure how maintained those tools are anymore 2020-08-11T17:35:45Z ferada: might actually work with define-override if i see it right 2020-08-11T17:36:13Z fwoaroof[m]: QT is sort of annoying to target because they break things all the time 2020-08-11T17:36:15Z ferada: well i had problems getting it running already, so there's that 2020-08-11T17:36:35Z ghard quit (Ping timeout: 244 seconds) 2020-08-11T17:36:39Z ferada: fwoaroof[m]: funny, i was gonna check it out since gtk has the same issue 2020-08-11T17:37:32Z fwoaroof[m]: I think LTK might be the best bet 2020-08-11T17:37:40Z fwoaroof[m]: https://lisp-journey.gitlab.io/blog/gui-programming-in-common-lisp-part-1-of-5-tk/ 2020-08-11T17:37:42Z ferada: brr 2020-08-11T17:37:50Z xlei joined #lisp 2020-08-11T17:37:56Z xlei quit (Excess Flood) 2020-08-11T17:37:57Z fwoaroof[m]: I think it looks ok these days 2020-08-11T17:38:07Z fwoaroof[m]: The other options are all built around OpenGL GUI libraries 2020-08-11T17:38:32Z gaqwas joined #lisp 2020-08-11T17:38:32Z gaqwas quit (Changing host) 2020-08-11T17:38:32Z gaqwas joined #lisp 2020-08-11T17:38:38Z xlei joined #lisp 2020-08-11T17:39:28Z fwoaroof[m]: Or, if you can afford it/are willing to pay, CAPI 2020-08-11T17:40:16Z fwoaroof[m]: https://gitlab.com/eql/EQL5 maybe too, it's embedding strategy seems more stable to me than attempts to FFI 2020-08-11T17:41:35Z fwoaroof[m]: The sad truth is, not many people care about native GUIs anymore 2020-08-11T17:42:01Z fwoaroof[m]: 90% of new GUI tools are web applications embedded in Electron or similar 2020-08-11T17:42:09Z ferada: true enough 2020-08-11T17:42:28Z fwoaroof[m]: And that's if they don't just make you go to a web app in a browser 2020-08-11T17:43:05Z abhixec joined #lisp 2020-08-11T17:43:10Z fwoaroof[m]: There's some valiant efforts to maintain GUI toolkits in the various programming language communities, but there's little money or thanks in that effort 2020-08-11T17:45:39Z ferada: sad that it's so inefficient 2020-08-11T17:45:46Z fwoaroof[m]: And the big toolkits that do exist (Cocoa, Gtk, QT, Flutter) are actively hostile to using non-approved languages 2020-08-11T17:46:08Z ferada: well i'd wish to have more resources to dedicate to native ui, but time's limited isn't it 2020-08-11T17:46:32Z ferada: they're hostile to users too ... 2020-08-11T17:46:37Z ferada: anyway, thanks for the links 2020-08-11T17:46:39Z fwoaroof[m]: (I believe the Gtk developers, for example, explicitly have said something like "we don't care about non-Gnome use cases" 2020-08-11T17:46:45Z ferada: ^ that 2020-08-11T17:47:31Z v88m joined #lisp 2020-08-11T18:00:41Z jackdaniel: ferada: join clim developers ranks ;-) 2020-08-11T18:00:47Z jackdaniel: wi 2020-08-11T18:00:57Z jackdaniel: s/wi// 2020-08-11T18:01:30Z CodeSpelunker quit (Quit: CodeSpelunker) 2020-08-11T18:01:46Z CodeSpelunker joined #lisp 2020-08-11T18:02:03Z ferada: jackdaniel: looking into it yes :) 2020-08-11T18:02:42Z ferada: certainly time better spent than more ffi wrangling 2020-08-11T18:02:44Z jackdaniel: there is #clim channel 2020-08-11T18:02:51Z jackdaniel: if you have questions 2020-08-11T18:02:58Z jackdaniel: or suggestions of course 2020-08-11T18:03:10Z ferada: will do will do 2020-08-11T18:03:45Z fwoaroof[m]: I like CLIM, I wish it worked nicely on macs :( 2020-08-11T18:04:32Z luna_is_here: Yeah... It is the decline of the desktop application. 10 years ago every language had bindings to all major GUI toolkits. 2020-08-11T18:05:07Z luna_is_here: The good news is: People are now used to Web-Apps and do not care soooo much about native apps anymore. 2020-08-11T18:06:31Z jackdaniel: it is not good news that you need a program bigger than your operating system (resource-wise) to run an hello world application 2020-08-11T18:06:42Z luna_is_here: Well... 2020-08-11T18:06:43Z jackdaniel: s/an/a/ 2020-08-11T18:06:57Z jackdaniel: and by "that" program I mean a web browser 2020-08-11T18:07:00Z luna_is_here: It means that people are used to things that behave like web-apps. 2020-08-11T18:07:10Z luna_is_here: Hence... All you need is a good theme for your app. 2020-08-11T18:07:15Z luna_is_here: It does not have to be native. 2020-08-11T18:07:24Z luna_is_here: It just have to look "modern" to be acceptable. 2020-08-11T18:07:28Z fwoaroof[m]: Mostly, people don't know how nice their computing experience could be 2020-08-11T18:07:41Z fwoaroof[m]: Everyone's used to bloated, un-integrated web apps these days 2020-08-11T18:07:43Z shifty joined #lisp 2020-08-11T18:07:59Z luna_is_here: Thus, having a modern theme for McCLIM might get you 95% of the way of a modern GUI in lisp, IMHO. 2020-08-11T18:09:20Z luna_is_here: jackdaniel: I am also not a fan of Electron bloatware... 2020-08-11T18:10:17Z jackdaniel: it is not about electron, I'm more concerned that my computer which is many times faster than my computer in 2000 feels actually slower ^_^ 2020-08-11T18:10:18Z fwoaroof[m]: I got a lot of compliments about a CAPI app I wrote on the side for some stuff at work 2020-08-11T18:10:35Z ggole quit (Quit: Leaving) 2020-08-11T18:10:45Z fwoaroof[m]: Out of the box, native apps on a Mac look good and work mostly as users expect them too 2020-08-11T18:14:15Z luna_is_here: Depends on the expectations... I usually find MacOS apps quite ill-behaving. But, that is a matter of taste, I guess. 2020-08-11T18:15:27Z fwoaroof[m]: The point is they work like each other 2020-08-11T18:15:54Z fwoaroof[m]: If you don't like that, use something else :) 2020-08-11T18:16:25Z luna_is_here: I know. But there is also a certain consistency between web-apps and people these days are used to that. 2020-08-11T18:17:12Z luna_is_here: Anyways, I know what you mean. I also prefer applications that are well integrated into my desktop. 2020-08-11T18:18:58Z bocaneri quit (Remote host closed the connection) 2020-08-11T18:19:00Z luna_is_here: The question, however, is. Is it worth the extra effort, for example, for a language community to maintain bindings to all native GUIs and maybe a cross-platfrom toolkit on top. 2020-08-11T18:19:18Z luna_is_here: Especially, when most people, these days, do not care. 2020-08-11T18:22:13Z fwoaroof[m]: Programmers pretty clearly care, though 2020-08-11T18:22:27Z fwoaroof[m]: Especially programmers that are interested in niche languages 2020-08-11T18:22:44Z fwoaroof[m]: "What GUI toolkit should I use" is a very common question in Lisp/Haskell/Rust 2020-08-11T18:24:02Z kopiyka quit (Remote host closed the connection) 2020-08-11T18:24:26Z kopiyka joined #lisp 2020-08-11T18:24:31Z luna_is_here: That they ask for any GUI toolkit does not mean that they care for a native one. 2020-08-11T18:24:47Z luna_is_here: I have not said nobody cares about making GUI apps anymore. 2020-08-11T18:25:27Z luna_is_here: And that this question pops up so frequently, probably means that there is currently no satisfying answer in all of these languages. 2020-08-11T18:25:28Z fwoaroof[m]: Depends on what you mean by "native", but they often explicitly don't want a web frontend 2020-08-11T18:26:00Z luna_is_here: A am not arguing for using a web frontend. 2020-08-11T18:26:04Z EvW joined #lisp 2020-08-11T18:26:22Z jasom: 11:05:07 luna_is_here | The good news is: People are now used to Web-Apps and do not care soooo much about native apps anymore. 2020-08-11T18:26:56Z luna_is_here: I have explained what I mean by that in my messages after that one. 2020-08-11T18:26:58Z cosimone quit (Remote host closed the connection) 2020-08-11T18:27:13Z luna_is_here: With non-native, I do not mean web apps. 2020-08-11T18:27:33Z Xach: hmm, I didn't know about Integrated Inference Machines - http://pt.withington.org/publications/LispM.pdf 2020-08-11T18:28:09Z jasom: The problem is most non-native toolkits look more like win95 than like web-apps. 2020-08-11T18:28:16Z luna_is_here: [19:58:55] Thus, having a modern theme for McCLIM might get you 95% of the way of a modern GUI in lisp, IMHO. 2020-08-11T18:28:30Z luna_is_here: jasom: That is my point. 2020-08-11T18:29:15Z jasom: you also need it to work on something other than X11 though; last I checked McCLIM didn't have a great story there. 2020-08-11T18:29:38Z fwoaroof[m]: I believe there's some support for windows now 2020-08-11T18:30:03Z luna_is_here: jasom: What do you mean by "it"? 2020-08-11T18:30:18Z jasom: luna_is_here: McCLIM 2020-08-11T18:30:24Z Xach: anyway, i stumbled across that because P.T. Withington worked for Laszlo Systems, and they had a GUI system designed around declarative constraints that I always found very interesting, but it petered out in the market. 2020-08-11T18:30:43Z Xach: and i can remember "P.T. Withington" but not "OpenLaszlo" the product, so looking it up is always an adventure... 2020-08-11T18:30:59Z luna_is_here: jasom: I see. 2020-08-11T18:31:07Z fwoaroof[m]: My dad spoke highly of Laszlo 2020-08-11T18:31:34Z fwoaroof[m]: It was always too tied to flash for me to get excited 2020-08-11T18:31:44Z Xach: the final versions were targeted at html5 2020-08-11T18:31:53Z Xach: too little, too late perhaps 2020-08-11T18:32:02Z Xach: but P.T. also worked in the lisp world for a long time before that 2020-08-11T18:33:58Z luna_is_here: Does this GTK+ server thing still exist? 2020-08-11T18:34:50Z fwoaroof[m]: https://www.gtk-server.org/index.html this? 2020-08-11T18:35:19Z fwoaroof[m]: http://chiselapp.com/user/gtk-server/repository/gtk-server/timeline 2020-08-11T18:35:24Z fwoaroof[m]: Last commit 2020-07 2020-08-11T18:35:29Z fwoaroof[m]: That's cool 2020-08-11T18:35:51Z luna_is_here: I did not expect this to still be alive. 2020-08-11T18:36:59Z luna_is_here: They even claim to do GTK+3. 2020-08-11T18:37:22Z fwoaroof[m]: That makes me a bit excited 2020-08-11T18:37:55Z jasom: As a proof-of-concept, I also got gtksharp working with foil; that was kind of neat 2020-08-11T18:38:26Z fwoaroof[m]: ABCL + a java toolkit is another option 2020-08-11T18:38:36Z fwoaroof[m]: IntelliJ demonstrates that Swing can look ok 2020-08-11T18:39:40Z luna_is_here: Also Matlab did that. 2020-08-11T18:39:59Z luna_is_here: I mean... the Matlab GUI is maybe not cool, but does not look alien. 2020-08-11T18:40:19Z fwoaroof[m]: There's also the eclipse toolkit... SWT? 2020-08-11T18:40:36Z fwoaroof[m]: https://www.eclipse.org/swt/ 2020-08-11T18:42:52Z luna_is_here: Yes... It wraps native widgets. 2020-08-11T18:43:05Z fwoaroof[m]: Yeah, that's the ideal 2020-08-11T18:43:52Z luna_is_here: I have experienced it to break often for that reason. 2020-08-11T18:44:12Z tcftbl quit (Ping timeout: 256 seconds) 2020-08-11T18:44:14Z luna_is_here: Or look quite ugly. 2020-08-11T18:44:46Z fwoaroof[m]: I want my GUIs to fit in, mostly 2020-08-11T18:44:53Z jw4 quit (Read error: Connection reset by peer) 2020-08-11T18:45:16Z fwoaroof[m]: The macOS demo there is what a GUI application should look like on a mac 2020-08-11T18:45:19Z luna_is_here: The arrangement of a set of native widgets might look good on one platform, while the same arrangement can look terribel on another. 2020-08-11T18:45:26Z gaqwas quit (Remote host closed the connection) 2020-08-11T18:45:28Z luna_is_here: *terrible 2020-08-11T18:46:20Z fwoaroof[m]: Yeah, that's hard to avoid, though: you basically just have to separate view/logic and pick the view based on the platform 2020-08-11T18:47:01Z jw4 joined #lisp 2020-08-11T18:47:05Z luna_is_here: So, you just write the GUI n times. 2020-08-11T18:47:53Z yitzi quit (Read error: Connection reset by peer) 2020-08-11T18:49:38Z yitzi joined #lisp 2020-08-11T18:51:53Z jasom: separating view from logic can become complicated what happens when you hit the "up" arrow on a spinner that has a logical maximum value? Is the maximum value told to the view by the logic, or does the logic intercept the "up" event and decline to increment? Different GUI toolkits may prefer one way over the other 2020-08-11T18:52:09Z jasom: oops; missed some punctuation after "complicated" 2020-08-11T18:52:15Z fwoaroof[m]: yeah 2020-08-11T18:52:26Z fwoaroof[m]: The other option is to pick a platform and limit your audience 2020-08-11T18:53:08Z jasom: or implement a thin-client in N toolkits (and then usually ~N languages) 2020-08-11T18:53:14Z luna_is_here: Now it depends on your audience, whether the audience cares for a native app. ;) 2020-08-11T18:53:32Z fwoaroof[m]: But, there isn't really a good option here: electron/OpenGL GUIs just look wrong and often break OS features, multiple frontends is a maintenance burden and picking a platform restricts your audience 2020-08-11T18:53:50Z fwoaroof[m]: Me, I pay for LispWorks and just write Mac apps :) 2020-08-11T18:54:10Z winny quit (Ping timeout: 256 seconds) 2020-08-11T18:54:11Z shifty quit (Ping timeout: 265 seconds) 2020-08-11T18:54:19Z fwoaroof[m]: But, I'd pay LispWorks for access to a CI environment for building my apps for distribution on Linux/Windows 2020-08-11T18:54:20Z Xach: that seems like a sensible option 2020-08-11T18:54:23Z shifty joined #lisp 2020-08-11T18:54:44Z aeth is now known as `\ 2020-08-11T18:55:18Z luna_is_here: Does LispWorks has an Android GUI? 2020-08-11T18:56:03Z jasom: I don't currently own a mac, but when I did, ltk made "not terrible" apps and tk was pre-installed on macs. Not sure if either/both of those are true anymore. Now that multiplatform implies at least iOS, I'm not certain there is any CL solution for GUIs anymore. 2020-08-11T18:56:25Z winny joined #lisp 2020-08-11T18:56:33Z luna_is_here: Btw. TK has native widgets, too. 2020-08-11T18:57:43Z `\ is now known as aeth 2020-08-11T18:58:14Z Xach: there's a dangerous uncanny valley of native 2020-08-11T18:58:46Z luna_is_here: https://tkdocs.com/tutorial/idle.html 2020-08-11T18:59:01Z luna_is_here: Xach: Very true. 2020-08-11T18:59:03Z yitzi quit (Read error: Connection reset by peer) 2020-08-11T18:59:21Z Lycurgus joined #lisp 2020-08-11T19:00:06Z cosimone joined #lisp 2020-08-11T19:00:31Z aeth: Time freezes when you join here, so 2009 was 3 years ago, not 2. 2020-08-11T19:02:32Z gaqwas joined #lisp 2020-08-11T19:02:32Z gaqwas quit (Changing host) 2020-08-11T19:02:32Z gaqwas joined #lisp 2020-08-11T19:04:24Z tristero joined #lisp 2020-08-11T19:05:23Z Jesin quit (Ping timeout: 240 seconds) 2020-08-11T19:05:29Z yitzi joined #lisp 2020-08-11T19:05:31Z dlowe: Is mocl still active? That supported iOS, IIRC 2020-08-11T19:05:41Z theseb joined #lisp 2020-08-11T19:10:31Z jasom: dlowe: last I heard someone tried to contac the devs with no answer 2020-08-11T19:11:03Z fwoaroof[m]: Xach: no, only a mobile runtime 2020-08-11T19:11:17Z fwoaroof[m]: Sorry, that was for luna_is_here 2020-08-11T19:11:47Z fwoaroof[m]: It's the most annoying bit: CAPI supports desktop well, mobile not at all 2020-08-11T19:12:03Z luna_is_here: I see. 2020-08-11T19:12:13Z theseb quit (Remote host closed the connection) 2020-08-11T19:12:25Z wsinatra quit (Quit: WeeChat 2.9) 2020-08-11T19:13:04Z Jesin joined #lisp 2020-08-11T19:14:28Z Jesin quit (Remote host closed the connection) 2020-08-11T19:14:29Z xlei quit (Ping timeout: 265 seconds) 2020-08-11T19:17:20Z xlei joined #lisp 2020-08-11T19:17:25Z rumbler31_ quit (Ping timeout: 240 seconds) 2020-08-11T19:22:28Z theseb joined #lisp 2020-08-11T19:26:08Z Lycurgus quit (Remote host closed the connection) 2020-08-11T19:26:34Z westerns left #lisp 2020-08-11T19:26:56Z shifty quit (Ping timeout: 256 seconds) 2020-08-11T19:27:39Z shifty joined #lisp 2020-08-11T19:27:54Z Jesin joined #lisp 2020-08-11T19:36:13Z shka_ quit (Quit: Konversation terminated!) 2020-08-11T19:42:34Z lottaquestions quit (Ping timeout: 256 seconds) 2020-08-11T19:50:20Z In0perable quit (Quit: All your buffer are belong to us!) 2020-08-11T19:51:20Z Inoperable joined #lisp 2020-08-11T19:53:34Z Bit_MCP quit (Ping timeout: 256 seconds) 2020-08-11T20:05:03Z EvW quit (Ping timeout: 244 seconds) 2020-08-11T20:09:32Z bhartrihari left #lisp 2020-08-11T20:10:58Z shifty quit (Ping timeout: 256 seconds) 2020-08-11T20:11:13Z shifty joined #lisp 2020-08-11T20:27:35Z CodeSpelunker quit (Quit: CodeSpelunker) 2020-08-11T20:39:03Z contrapunctus left #lisp 2020-08-11T20:39:49Z contrapunctus joined #lisp 2020-08-11T20:40:37Z satousan joined #lisp 2020-08-11T20:45:46Z jurov_ is now known as jurov 2020-08-11T20:50:38Z EvW1 joined #lisp 2020-08-11T20:52:17Z Mawile joined #lisp 2020-08-11T20:54:55Z Archenoth quit (Ping timeout: 246 seconds) 2020-08-11T21:05:52Z shifty quit (Ping timeout: 256 seconds) 2020-08-11T21:06:58Z shifty joined #lisp 2020-08-11T21:09:46Z satousan quit (Quit: WeeChat 2.3) 2020-08-11T21:19:08Z gaqwas quit (Ping timeout: 256 seconds) 2020-08-11T21:22:50Z shifty quit (Ping timeout: 260 seconds) 2020-08-11T21:23:12Z shifty joined #lisp 2020-08-11T21:25:35Z ayuce quit (Remote host closed the connection) 2020-08-11T21:30:49Z gravicappa quit (Ping timeout: 264 seconds) 2020-08-11T21:34:52Z u0_a1561 quit (Quit: WeeChat 2.8) 2020-08-11T21:35:51Z u0_a156 joined #lisp 2020-08-11T21:38:48Z shifty quit (Ping timeout: 256 seconds) 2020-08-11T21:39:04Z shifty joined #lisp 2020-08-11T21:40:20Z gaqwas joined #lisp 2020-08-11T21:40:20Z gaqwas quit (Changing host) 2020-08-11T21:40:20Z gaqwas joined #lisp 2020-08-11T21:46:52Z pve quit (Quit: leaving) 2020-08-11T21:51:11Z galex-713 quit (Ping timeout: 246 seconds) 2020-08-11T21:52:56Z cosimone quit (Quit: Quit.) 2020-08-11T21:56:13Z kaftejiman joined #lisp 2020-08-11T21:59:10Z ark joined #lisp 2020-08-11T22:00:03Z bitmapper quit (Read error: Connection reset by peer) 2020-08-11T22:00:23Z bitmapper joined #lisp 2020-08-11T22:02:37Z quazimod1 quit (Ping timeout: 264 seconds) 2020-08-11T22:02:55Z quazimodo joined #lisp 2020-08-11T22:04:35Z tutti joined #lisp 2020-08-11T22:04:42Z matijja quit (Quit: bye) 2020-08-11T22:06:58Z matijja joined #lisp 2020-08-11T22:07:23Z nicktick joined #lisp 2020-08-11T22:12:59Z whiteline quit (Ping timeout: 240 seconds) 2020-08-11T22:19:47Z gaqwas quit (Ping timeout: 240 seconds) 2020-08-11T22:22:25Z shifty quit (Ping timeout: 264 seconds) 2020-08-11T22:22:46Z shifty joined #lisp 2020-08-11T22:23:07Z nicktick quit (Ping timeout: 246 seconds) 2020-08-11T22:24:45Z nicktick joined #lisp 2020-08-11T22:25:13Z rilez joined #lisp 2020-08-11T22:30:09Z terpri__ joined #lisp 2020-08-11T22:33:15Z terpri_ quit (Ping timeout: 244 seconds) 2020-08-11T22:41:49Z Oladon joined #lisp 2020-08-11T22:42:11Z sjl_ quit (Ping timeout: 240 seconds) 2020-08-11T22:44:15Z random-nick quit (Ping timeout: 265 seconds) 2020-08-11T22:50:36Z renzhi joined #lisp 2020-08-11T22:52:38Z flazh quit (Ping timeout: 256 seconds) 2020-08-11T22:57:19Z alandipert5 joined #lisp 2020-08-11T22:58:47Z sm2n quit (Read error: Connection reset by peer) 2020-08-11T22:59:31Z alandipert quit (Ping timeout: 246 seconds) 2020-08-11T22:59:32Z alandipert5 is now known as alandipert 2020-08-11T22:59:37Z sm2n joined #lisp 2020-08-11T23:01:06Z hsaziz joined #lisp 2020-08-11T23:09:52Z rumbler31 joined #lisp 2020-08-11T23:12:51Z dxtr quit (Remote host closed the connection) 2020-08-11T23:13:22Z nicktick quit (Ping timeout: 256 seconds) 2020-08-11T23:15:16Z Josh_2` joined #lisp 2020-08-11T23:15:29Z Josh_2` quit (Remote host closed the connection) 2020-08-11T23:17:20Z Josh_2 quit (Ping timeout: 256 seconds) 2020-08-11T23:21:55Z akoana joined #lisp 2020-08-11T23:22:17Z dilated_dinosaur quit (Remote host closed the connection) 2020-08-11T23:25:02Z mangoicedtea joined #lisp 2020-08-11T23:26:07Z quazimodo quit (Ping timeout: 246 seconds) 2020-08-11T23:27:21Z eta quit (Remote host closed the connection) 2020-08-11T23:27:33Z eta joined #lisp 2020-08-11T23:28:03Z quazimodo joined #lisp 2020-08-11T23:30:09Z tutti quit (Remote host closed the connection) 2020-08-11T23:32:10Z markasoftware: Is it possible for multiple classes to have the same symbol as a name? 2020-08-11T23:33:36Z markasoftware: my intuition says no 2020-08-11T23:38:36Z Bike: markasoftware: they can have the same name, but the symbol in the environment can only refer to one class, i.e. find-class returns only one thing. 2020-08-11T23:43:28Z Bourne quit (Ping timeout: 256 seconds) 2020-08-11T23:46:23Z flazh joined #lisp 2020-08-11T23:46:45Z dominic34 joined #lisp 2020-08-11T23:46:46Z dominic34 quit (Excess Flood) 2020-08-11T23:47:03Z dominic34 joined #lisp 2020-08-11T23:47:55Z bilegeek joined #lisp 2020-08-12T00:03:38Z terpri_ joined #lisp 2020-08-12T00:03:50Z jasom: right you could do (setf class-name) to change the name of one class to be the same as another. 2020-08-12T00:04:21Z jasom: there's probably other ways to end up with two classes having the same name 2020-08-12T00:04:49Z ralt quit (Quit: Connection closed for inactivity) 2020-08-12T00:06:40Z terpri__ quit (Ping timeout: 244 seconds) 2020-08-12T00:07:36Z jasom: https://plaster.tymoon.eu/view/1999#1999 2020-08-12T00:08:40Z jasom: What happens when you use (setf find-class) is an exercise left to the reader 2020-08-12T00:08:58Z orivej quit (Ping timeout: 260 seconds) 2020-08-12T00:09:28Z jasom: The main takeaway is that the following does not necessarily hold (eq X (class-name (find-class X))) 2020-08-12T00:12:59Z rilez quit (Ping timeout: 245 seconds) 2020-08-12T00:13:41Z jonatack quit (Ping timeout: 272 seconds) 2020-08-12T00:17:29Z bsd4me quit (Quit: Leaving) 2020-08-12T00:23:41Z Bike: the clhs uses "proper name" to mean a class's name if the environment has that class under that name as well 2020-08-12T00:26:50Z jas-at-re quit (Remote host closed the connection) 2020-08-12T00:27:18Z nicktick joined #lisp 2020-08-12T00:33:03Z bsd4me joined #lisp 2020-08-12T00:35:06Z kaftejiman quit (Remote host closed the connection) 2020-08-12T00:37:18Z torbo joined #lisp 2020-08-12T00:38:48Z nicktick quit (Ping timeout: 265 seconds) 2020-08-12T00:46:47Z nicktick joined #lisp 2020-08-12T00:46:59Z igemnace joined #lisp 2020-08-12T00:48:52Z bsd4me left #lisp 2020-08-12T00:50:04Z libertyprime joined #lisp 2020-08-12T00:50:15Z kopiyka quit (Ping timeout: 244 seconds) 2020-08-12T00:53:41Z EvW1 quit (Ping timeout: 244 seconds) 2020-08-12T00:54:50Z terpri_ is now known as terpri 2020-08-12T00:56:35Z mangoicedtea quit (Quit: Leaving) 2020-08-12T00:58:36Z jealousmonk joined #lisp 2020-08-12T00:59:33Z Oladon quit (Quit: Leaving.) 2020-08-12T01:02:14Z nicktick quit (Ping timeout: 256 seconds) 2020-08-12T01:07:22Z nicktick joined #lisp 2020-08-12T01:13:33Z ebrasca quit (Remote host closed the connection) 2020-08-12T01:14:39Z bhartrihari joined #lisp 2020-08-12T01:16:58Z libertyprime quit (Ping timeout: 256 seconds) 2020-08-12T01:18:52Z libertyprime joined #lisp 2020-08-12T01:34:46Z theseb quit (Quit: Leaving) 2020-08-12T01:43:21Z zaquest quit (Quit: Leaving) 2020-08-12T01:52:50Z Oladon joined #lisp 2020-08-12T01:55:50Z libertyprime quit (Ping timeout: 260 seconds) 2020-08-12T01:57:38Z libertyprime joined #lisp 2020-08-12T02:11:14Z mindCrime joined #lisp 2020-08-12T02:14:08Z terpri_ joined #lisp 2020-08-12T02:17:27Z terpri quit (Ping timeout: 260 seconds) 2020-08-12T02:21:30Z bilegeek quit (Quit: Leaving) 2020-08-12T02:27:23Z zaquest joined #lisp 2020-08-12T02:31:03Z contrapunctus left #lisp 2020-08-12T02:31:10Z contrapunctus joined #lisp 2020-08-12T02:32:52Z contrapunctus left #lisp 2020-08-12T02:33:02Z contrapunctus joined #lisp 2020-08-12T02:34:03Z sympt_ joined #lisp 2020-08-12T02:36:17Z terpri_ quit (Remote host closed the connection) 2020-08-12T02:36:41Z terpri_ joined #lisp 2020-08-12T02:36:48Z sympt quit (Ping timeout: 256 seconds) 2020-08-12T02:43:56Z abhixec quit (Read error: Connection reset by peer) 2020-08-12T02:44:14Z jeosol quit (Ping timeout: 245 seconds) 2020-08-12T02:56:35Z buoy49 joined #lisp 2020-08-12T02:58:29Z caltelt quit (Ping timeout: 265 seconds) 2020-08-12T03:02:22Z Alfr__ joined #lisp 2020-08-12T03:04:20Z Lycurgus joined #lisp 2020-08-12T03:04:55Z Alfr_ quit (Ping timeout: 244 seconds) 2020-08-12T03:05:57Z mindCrime quit (Ping timeout: 244 seconds) 2020-08-12T03:08:58Z sympt__ joined #lisp 2020-08-12T03:12:50Z sympt_ quit (Ping timeout: 260 seconds) 2020-08-12T03:15:23Z dominic34 quit (Ping timeout: 240 seconds) 2020-08-12T03:20:45Z renzhi quit (Ping timeout: 240 seconds) 2020-08-12T03:32:01Z flazh quit (Ping timeout: 264 seconds) 2020-08-12T03:35:16Z shangul joined #lisp 2020-08-12T03:41:01Z Oladon quit (Quit: Leaving.) 2020-08-12T03:46:42Z Bike quit (Quit: Lost terminal) 2020-08-12T03:50:02Z Lycurgus quit (Read error: Connection reset by peer) 2020-08-12T03:51:55Z abhixec joined #lisp 2020-08-12T03:58:07Z beach: Good morning everyone! 2020-08-12T03:59:44Z buoy49: mornin' 2020-08-12T04:00:51Z beach: buoy49: Are you new here? I don't recognize your nick. 2020-08-12T04:01:07Z contrapunctus: Oh buoy 2020-08-12T04:01:13Z contrapunctus: SCNR 2020-08-12T04:01:51Z buoy49: beach: for sure, I am new here 2020-08-12T04:02:16Z buoy49: contrapunctus: ha! bring on the dad jokes 2020-08-12T04:02:19Z u0_a156: well, introduce yourself then 2020-08-12T04:02:41Z buoy49: u0_a156: sure thing 2020-08-12T04:02:51Z shangul quit (Quit: Leaving) 2020-08-12T04:03:49Z beach: buoy49: Great, what brings you to #lisp? 2020-08-12T04:03:52Z contrapunctus left #lisp 2020-08-12T04:05:45Z buoy49: I am programmer based out of Texas. Mostly worked with Java and Ruby since I started 4 years ago. Have dabbled with a few other langs, but have been using lisp lately. I am looking for a new experience and want to have "more fun" programming. Lisp has been proving to be just that. 2020-08-12T04:06:11Z beach: Sounds good. Welcome to #lisp. 2020-08-12T04:06:20Z u0_a156: :) 2020-08-12T04:07:31Z beach: I spent a year in Texas, at the University of Texas, Austin, learning about automatic memory management from Paul Wilson, the world expert at the time. 2020-08-12T04:09:53Z buoy49: beach: wow, very good. I am in ATX, actually. I am originally from NY, but I came down here and met my wife second day and the rest is history (2 daughters, mortgage, etc.) 2020-08-12T04:10:45Z beach: Heh, I see. 2020-08-12T04:10:50Z u0_a156: nice 2020-08-12T04:11:22Z contrapunctus joined #lisp 2020-08-12T04:11:58Z u0_a156: Did you know that a regular here is working on https://github.com/robert-strandh/SICL 2020-08-12T04:12:47Z beach: Me? Yes, I have heard something about that. Crazy stuff. 2020-08-12T04:13:28Z aeth: beach: But there's more! There's even something called CLOSOS that you are also planning! 2020-08-12T04:13:34Z beach: buoy49: What kind of tools and what kind of learning material are you using? 2020-08-12T04:13:50Z torbo quit (Remote host closed the connection) 2020-08-12T04:14:05Z u0_a156: i actually don't even understand lisp runtine systens... how the debugger works etc. 2020-08-12T04:14:27Z aeth: u0_a156: someone here wrote a book on the condition system 2020-08-12T04:14:45Z u0_a156: cool! link please? 2020-08-12T04:14:59Z aeth: The rest of the runtime is pretty simple. REPL, from the naive (loop (print (eval (read)))) implementation of one 2020-08-12T04:15:05Z White_Flame: it all comes down at some point to mapping the hardware to lisp, then once it's in lisp, bob's your uncle. That interface with the machine is going to be the most fiddly part 2020-08-12T04:15:09Z aeth: (And GC, of course, which is conceptually simple but practically difficult) 2020-08-12T04:15:38Z aeth: u0_a156: Unfortunately, a real publisher picked it up. https://old.reddit.com/r/lisp/comments/hrjzs8/the_common_lisp_condition_system_apress_teaser/ 2020-08-12T04:16:03Z aeth: see also https://news.ycombinator.com/item?id=23843525 2020-08-12T04:16:49Z Lord_of_Life_ joined #lisp 2020-08-12T04:16:51Z miyuki1534 joined #lisp 2020-08-12T04:17:08Z justache quit (Quit: The Lounge - https://thelounge.chat) 2020-08-12T04:17:08Z aeth: Too bad I don't see a book+ebook bundle as an option there. I got that for Common Lisp Recipes off of Apress's website. 2020-08-12T04:18:06Z buoy49: beach: emacs w/ sly & just assorted docs (most CL Cookbook & CL Quick Reference). I am definitely interested in something more formally introductory if you have recs 2020-08-12T04:18:34Z justache joined #lisp 2020-08-12T04:18:35Z Lord_of_Life quit (Ping timeout: 240 seconds) 2020-08-12T04:18:35Z Lord_of_Life_ is now known as Lord_of_Life 2020-08-12T04:18:40Z yitzi quit (Read error: Connection reset by peer) 2020-08-12T04:19:10Z beach: buoy49: Tools look good. Most people here recommend PCL for people who already know some programming. 2020-08-12T04:19:18Z beach: minion: Please tell buoy49 about PCL. 2020-08-12T04:19:18Z minion: buoy49: please look at PCL: pcl-book: "Practical Common Lisp", an introduction to Common Lisp by Peter Seibel, available at http://www.gigamonkeys.com/book/ and in dead-tree form from Apress (as of 11 April 2005). 2020-08-12T04:21:38Z u0_a156: Thank you, the open samples may take awhile to digest. 2020-08-12T04:26:12Z jeosol joined #lisp 2020-08-12T04:27:09Z aeth: I guess Apress has built up a series of Lisp books now 2020-08-12T04:27:13Z aeth: At least 3. 2020-08-12T04:29:44Z buoy49: beach: thank you. ah, yes. the gigamonkeys book... is actually PCL. This pops up quite a bit on search for different syntax related searches. I did not realize what it was! 2020-08-12T04:30:05Z buoy49: I'll make sure to actually go through it in order 2020-08-12T04:31:59Z wxie joined #lisp 2020-08-12T04:32:16Z miyuki1534: When I was starting with Lisp, I use Paul Graham's Anci Common Lisp. You may want to read that as well since I think it moves at a faster pace 2020-08-12T04:32:40Z beach: miyuki1534: Except that Paul Graham does not like or use CLOS. 2020-08-12T04:33:05Z beach: miyuki1534: And his style is often not very conventional. 2020-08-12T04:43:04Z gravicappa joined #lisp 2020-08-12T04:43:51Z satousan joined #lisp 2020-08-12T04:49:49Z jealousmonk quit (Ping timeout: 272 seconds) 2020-08-12T04:55:02Z froggey quit (Ping timeout: 260 seconds) 2020-08-12T04:56:03Z flazh joined #lisp 2020-08-12T04:56:57Z froggey joined #lisp 2020-08-12T05:04:00Z space_otter joined #lisp 2020-08-12T05:04:13Z wxie quit (Remote host closed the connection) 2020-08-12T05:05:27Z wxie joined #lisp 2020-08-12T05:05:57Z miyuki1534 quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-08-12T05:06:14Z nullman quit (Ping timeout: 260 seconds) 2020-08-12T05:06:54Z akoana left #lisp 2020-08-12T05:07:57Z wxie quit (Remote host closed the connection) 2020-08-12T05:09:24Z wxie joined #lisp 2020-08-12T05:15:00Z Oladon joined #lisp 2020-08-12T05:21:31Z satousan quit (Quit: WeeChat 2.3) 2020-08-12T05:23:00Z nullman joined #lisp 2020-08-12T05:24:35Z u0_a156 quit (Ping timeout: 240 seconds) 2020-08-12T05:30:03Z _whitelogger quit (Remote host closed the connection) 2020-08-12T05:32:14Z _whitelogger joined #lisp 2020-08-12T05:35:01Z orivej joined #lisp 2020-08-12T05:37:12Z bocaneri joined #lisp 2020-08-12T05:39:00Z miyuki1534 joined #lisp 2020-08-12T05:39:44Z miyuki1534 quit (Remote host closed the connection) 2020-08-12T05:39:53Z lalilulelo joined #lisp 2020-08-12T05:45:02Z Oladon quit (Read error: Connection reset by peer) 2020-08-12T05:46:38Z Oladon joined #lisp 2020-08-12T06:02:34Z kopiyka joined #lisp 2020-08-12T06:04:40Z Kaisyu7 quit (Remote host closed the connection) 2020-08-12T06:06:56Z Bit_MCP joined #lisp 2020-08-12T06:08:31Z jibanes_ joined #lisp 2020-08-12T06:08:42Z jibanes quit (Ping timeout: 240 seconds) 2020-08-12T06:08:55Z tcftbl joined #lisp 2020-08-12T06:09:35Z johnjay joined #lisp 2020-08-12T06:09:54Z johnjay: question about quicklisp. when I do ql:quickload "something", does that actually install the something? 2020-08-12T06:10:01Z johnjay: or is that just for the current session? 2020-08-12T06:10:05Z nicktick quit (Ping timeout: 240 seconds) 2020-08-12T06:11:21Z White_Flame: nothing autoloads into a freshly started image, except for the quicklisp client itself if you did the default installation 2020-08-12T06:11:31Z White_Flame: you always need to quickload the various systems when you start the image 2020-08-12T06:11:44Z beach: johnjay: And it puts the source code in ~/quicklisp/... 2020-08-12T06:11:54Z White_Flame: which should be done via dependencies in your .asd files 2020-08-12T06:12:31Z johnjay: oh i see it, in ./dists/quicklisp/software 2020-08-12T06:13:30Z johnjay: White_Flame: makes sense i see it now 2020-08-12T06:13:59Z johnjay: i was about to download aserve then i realized wait it's probably in quicklisp 2020-08-12T06:16:42Z White_Flame: yep, it's good to check ql first, but the version in the dist also might be outdated 2020-08-12T06:16:52Z White_Flame: if you want the latest changes of some system 2020-08-12T06:17:01Z wxie quit (Ping timeout: 264 seconds) 2020-08-12T06:18:11Z ldb joined #lisp 2020-08-12T06:18:16Z ldb: good afternoon 2020-08-12T06:18:33Z shka_ joined #lisp 2020-08-12T06:20:20Z beach: Hello ldb. 2020-08-12T06:20:29Z johnjay: White_Flame: is the general idea to just (load "/path/to/file.cl") for the downloaded thing? 2020-08-12T06:20:50Z ldb: johnjay: usually they have an ASDF definition, in ".asd" file 2020-08-12T06:21:35Z ldb: in that case, (load "path/to/foo.asd") and do (asdf:load-system SYSTEM-NAME) 2020-08-12T06:21:59Z ldb: and you can find SYSTEM-NAME in the asd file 2020-08-12T06:22:13Z johnjay: ok, makes sense 2020-08-12T06:23:49Z ldb: ASDF is also the tool Quicklisp used to perform loading 2020-08-12T06:25:02Z White_Flame: or, put a symlink to your project directory from inside ~/quicklisp/local-projects/, and then you can just quickload your project by name without anything else 2020-08-12T06:25:42Z White_Flame: you really shouldn't have to use LOAD for anything. 2020-08-12T06:25:57Z White_Flame: quickload projects, and C-c C-k buffers from SLIME 2020-08-12T06:29:41Z tcftbl quit (Quit: WeeChat 2.9) 2020-08-12T06:38:17Z gaqwas joined #lisp 2020-08-12T06:38:17Z gaqwas quit (Changing host) 2020-08-12T06:38:17Z gaqwas joined #lisp 2020-08-12T06:41:10Z abhixec quit (Ping timeout: 246 seconds) 2020-08-12T06:41:48Z bhartrihari left #lisp 2020-08-12T06:44:59Z orivej quit (Ping timeout: 240 seconds) 2020-08-12T06:45:02Z heisig joined #lisp 2020-08-12T06:46:20Z Oladon quit (Quit: Leaving.) 2020-08-12T06:47:29Z wxie joined #lisp 2020-08-12T06:49:13Z ldb quit (Ping timeout: 246 seconds) 2020-08-12T06:49:36Z Bit_MCP quit (Ping timeout: 256 seconds) 2020-08-12T06:51:03Z ldb joined #lisp 2020-08-12T06:52:01Z whiteline joined #lisp 2020-08-12T06:56:37Z gaqwas quit (Ping timeout: 264 seconds) 2020-08-12T06:59:41Z wxie quit (Quit: wxie) 2020-08-12T07:01:25Z wxie joined #lisp 2020-08-12T07:02:19Z pve joined #lisp 2020-08-12T07:12:19Z EvW joined #lisp 2020-08-12T07:15:04Z sympt__ quit (Read error: Connection reset by peer) 2020-08-12T07:18:31Z ldb quit (Ping timeout: 265 seconds) 2020-08-12T07:19:23Z ldb joined #lisp 2020-08-12T07:20:46Z EvW quit (Ping timeout: 244 seconds) 2020-08-12T07:25:53Z ldb quit (Quit: leaving) 2020-08-12T07:38:25Z wxie quit (Ping timeout: 240 seconds) 2020-08-12T07:38:47Z EvW1 joined #lisp 2020-08-12T07:39:03Z frgo joined #lisp 2020-08-12T07:39:23Z Krystof quit (Ping timeout: 240 seconds) 2020-08-12T07:46:11Z wxie joined #lisp 2020-08-12T07:49:42Z bhartrihari joined #lisp 2020-08-12T07:50:13Z wxie quit (Ping timeout: 244 seconds) 2020-08-12T07:50:22Z jonatack joined #lisp 2020-08-12T07:51:57Z Cymew joined #lisp 2020-08-12T07:57:40Z ralt joined #lisp 2020-08-12T08:02:25Z peterhil quit (Read error: Connection reset by peer) 2020-08-12T08:03:42Z peterhil joined #lisp 2020-08-12T08:07:37Z gaqwas joined #lisp 2020-08-12T08:07:37Z gaqwas quit (Changing host) 2020-08-12T08:07:37Z gaqwas joined #lisp 2020-08-12T08:11:01Z Inline joined #lisp 2020-08-12T08:12:28Z Inline quit (Remote host closed the connection) 2020-08-12T08:15:10Z EvW1 quit (Ping timeout: 256 seconds) 2020-08-12T08:21:43Z Inline joined #lisp 2020-08-12T08:22:54Z bhartrihari left #lisp 2020-08-12T08:23:12Z bhartrihari joined #lisp 2020-08-12T08:45:01Z orivej joined #lisp 2020-08-12T08:59:11Z space_otter quit (Remote host closed the connection) 2020-08-12T09:00:45Z libertyprime quit (Remote host closed the connection) 2020-08-12T09:01:43Z ukari quit (Remote host closed the connection) 2020-08-12T09:02:43Z ukari joined #lisp 2020-08-12T09:05:38Z katco quit (Quit: killed) 2020-08-12T09:05:39Z even4void[m] quit (Quit: killed) 2020-08-12T09:05:39Z Gnuxie[m] quit (Quit: killed) 2020-08-12T09:05:39Z infra_red[m] quit (Quit: killed) 2020-08-12T09:05:40Z fwoaroof[m] quit (Quit: killed) 2020-08-12T09:05:40Z camlriot42 quit (Quit: killed) 2020-08-12T09:05:40Z LdBeth quit (Quit: killed) 2020-08-12T09:05:46Z unl0ckd quit (Quit: killed) 2020-08-12T09:05:51Z liamz[m] quit (Quit: killed) 2020-08-12T09:05:52Z kinope quit (Quit: killed) 2020-08-12T09:05:55Z MrtnDk[m] quit (Quit: killed) 2020-08-12T09:05:56Z cairn quit (Quit: killed) 2020-08-12T09:05:57Z Jachy quit (Quit: killed) 2020-08-12T09:05:57Z Jach[m] quit (Quit: killed) 2020-08-12T09:05:57Z sammich quit (Quit: killed) 2020-08-12T09:05:58Z userself quit (Quit: killed) 2020-08-12T09:05:58Z kelamir[m] quit (Quit: killed) 2020-08-12T09:06:01Z gaqwas[m] quit (Quit: killed) 2020-08-12T09:13:49Z Gnuxie[m] joined #lisp 2020-08-12T09:18:00Z Necktwi quit (Ping timeout: 256 seconds) 2020-08-12T09:19:22Z Necktwi joined #lisp 2020-08-12T09:25:22Z peterhil quit (Ping timeout: 256 seconds) 2020-08-12T09:26:00Z shifty quit (Ping timeout: 256 seconds) 2020-08-12T09:26:22Z Inline quit (Ping timeout: 246 seconds) 2020-08-12T09:26:26Z ayuce joined #lisp 2020-08-12T09:33:01Z phoe: If a function call equivalent to (find 1 '(1 2 3 4 5) :test #'eql :test-not #'eql) signals an error due to invalid keyword combination, what kind of error should it be? PROGRAM-ERROR? 2020-08-12T09:37:50Z vaporatorius__ quit (Ping timeout: 256 seconds) 2020-08-12T09:39:39Z ukari quit (Remote host closed the connection) 2020-08-12T09:40:06Z heisig: CLHS 17.2.1 "The consequences are unspecified if both a :test and a :test-not argument are supplied in the same call to F." 2020-08-12T09:40:08Z ukari joined #lisp 2020-08-12T09:40:24Z heisig: Any error is probably fine. 2020-08-12T09:40:57Z pragmaticdog joined #lisp 2020-08-12T09:41:06Z heisig: SICL signals a condition that is a direct subclass of ERROR. 2020-08-12T09:42:09Z even4void[m] joined #lisp 2020-08-12T09:42:09Z sammich joined #lisp 2020-08-12T09:42:09Z kelamir[m] joined #lisp 2020-08-12T09:42:09Z MrtnDk[m] joined #lisp 2020-08-12T09:42:09Z cairn joined #lisp 2020-08-12T09:42:09Z userself joined #lisp 2020-08-12T09:42:09Z camlriot42 joined #lisp 2020-08-12T09:42:09Z unl0ckd joined #lisp 2020-08-12T09:42:09Z fwoaroof[m] joined #lisp 2020-08-12T09:42:09Z LdBeth joined #lisp 2020-08-12T09:42:09Z kinope joined #lisp 2020-08-12T09:42:09Z katco joined #lisp 2020-08-12T09:42:09Z gaqwas[m] joined #lisp 2020-08-12T09:42:10Z infra_red[m] joined #lisp 2020-08-12T09:42:15Z Jachy joined #lisp 2020-08-12T09:42:16Z liamz[m] joined #lisp 2020-08-12T09:42:16Z Jach[m] joined #lisp 2020-08-12T09:42:27Z Inline joined #lisp 2020-08-12T09:43:39Z bhartrihari left #lisp 2020-08-12T09:43:58Z bhartrihari joined #lisp 2020-08-12T09:49:16Z cosimone joined #lisp 2020-08-12T09:50:17Z jeosol quit (Remote host closed the connection) 2020-08-12T09:54:29Z pragmaticdog quit (Quit: leaving) 2020-08-12T09:57:26Z gaqwas quit (Remote host closed the connection) 2020-08-12T10:02:26Z Necktwi quit (Ping timeout: 256 seconds) 2020-08-12T10:03:06Z Necktwi joined #lisp 2020-08-12T10:08:05Z vaporatorius joined #lisp 2020-08-12T10:08:06Z vaporatorius quit (Changing host) 2020-08-12T10:08:06Z vaporatorius joined #lisp 2020-08-12T10:27:01Z orivej quit (Ping timeout: 265 seconds) 2020-08-12T10:28:56Z wxie joined #lisp 2020-08-12T10:31:11Z ebrasca joined #lisp 2020-08-12T10:36:51Z bhartrihari left #lisp 2020-08-12T10:37:06Z bhartrihari joined #lisp 2020-08-12T10:39:03Z random-nick joined #lisp 2020-08-12T10:39:13Z bitmapper quit (Ping timeout: 264 seconds) 2020-08-12T10:46:44Z wxie quit (Ping timeout: 256 seconds) 2020-08-12T10:52:24Z gxt joined #lisp 2020-08-12T10:56:28Z bhartrihari left #lisp 2020-08-12T11:00:42Z parisienne___ quit (Quit: Connection closed for inactivity) 2020-08-12T11:01:43Z kaftejiman joined #lisp 2020-08-12T11:11:47Z jonatack quit (Ping timeout: 260 seconds) 2020-08-12T11:12:58Z vutral joined #lisp 2020-08-12T11:18:27Z contrapunctus left #lisp 2020-08-12T11:18:40Z contrapunctus joined #lisp 2020-08-12T11:23:08Z sarthor joined #lisp 2020-08-12T11:23:11Z sarthor: let me paste here..... https://youtu.be/8vpE32K1jew 2020-08-12T11:25:55Z shifty joined #lisp 2020-08-12T11:26:00Z sarthor quit (Quit: Leaving) 2020-08-12T11:28:54Z bhartrihari joined #lisp 2020-08-12T11:30:13Z Inline quit (Ping timeout: 244 seconds) 2020-08-12T11:30:41Z ghard joined #lisp 2020-08-12T11:31:42Z ukari quit (Remote host closed the connection) 2020-08-12T11:32:20Z ukari joined #lisp 2020-08-12T11:39:20Z EvW joined #lisp 2020-08-12T11:40:30Z gxt quit (Quit: WeeChat 2.9) 2020-08-12T11:44:16Z hsaziz quit (Quit: hsaziz) 2020-08-12T11:44:29Z hsaziz joined #lisp 2020-08-12T12:00:00Z treflip joined #lisp 2020-08-12T12:00:33Z phoe: FYI: useless YouTube link, no point in clicking. 2020-08-12T12:01:30Z peterhil joined #lisp 2020-08-12T12:03:32Z ukari quit (Ping timeout: 256 seconds) 2020-08-12T12:09:28Z treflip quit (Quit: WeeChat 2.6) 2020-08-12T12:25:42Z Bike joined #lisp 2020-08-12T12:28:43Z wsinatra joined #lisp 2020-08-12T12:33:39Z luckless_ quit (Remote host closed the connection) 2020-08-12T12:34:09Z luckless_ joined #lisp 2020-08-12T12:39:14Z ebrasca: Why people spam? 2020-08-12T12:39:49Z jackdaniel: because they are generous enough to share content of course! :_) 2020-08-12T12:41:03Z jeosol joined #lisp 2020-08-12T12:41:44Z hsaziz quit (Quit: hsaziz) 2020-08-12T12:42:02Z hsaziz joined #lisp 2020-08-12T12:46:32Z rumbler31 quit (Ping timeout: 256 seconds) 2020-08-12T12:48:01Z wxie joined #lisp 2020-08-12T12:52:11Z wxie quit (Ping timeout: 240 seconds) 2020-08-12T12:55:52Z rumbler31 joined #lisp 2020-08-12T12:55:55Z jeosol quit (Ping timeout: 245 seconds) 2020-08-12T12:56:56Z rumbler31_ joined #lisp 2020-08-12T12:58:35Z hsaziz quit (Ping timeout: 240 seconds) 2020-08-12T13:09:32Z gko_ joined #lisp 2020-08-12T13:10:58Z bhartrihari left #lisp 2020-08-12T13:12:10Z vsync quit (Ping timeout: 258 seconds) 2020-08-12T13:14:56Z shifty quit (Ping timeout: 256 seconds) 2020-08-12T13:15:41Z shifty joined #lisp 2020-08-12T13:17:55Z Xach: faicanbuild 2020-08-12T13:19:05Z xlei quit (Ping timeout: 265 seconds) 2020-08-12T13:20:11Z Jesin quit (Ping timeout: 240 seconds) 2020-08-12T13:22:48Z Xach: oops 2020-08-12T13:23:48Z gaqwas joined #lisp 2020-08-12T13:27:15Z Josh_2 joined #lisp 2020-08-12T13:27:57Z terpri_ is now known as terpri 2020-08-12T13:29:36Z bsd4me joined #lisp 2020-08-12T13:31:30Z libertyprime joined #lisp 2020-08-12T13:32:23Z vutral quit (Quit: Connection closed for inactivity) 2020-08-12T13:38:27Z Josh_2: Afternoon 2020-08-12T13:38:27Z gaqwas quit (Remote host closed the connection) 2020-08-12T13:38:57Z beach: Hello Josh_2. 2020-08-12T13:39:53Z Josh_2: How's your work going beach ? 2020-08-12T13:40:28Z beach: Slow but steady progress, thanks. How about yours? 2020-08-12T13:41:18Z Josh_2: It's been sweltering here in England, so I've not been doing much due to the heat 2020-08-12T13:41:31Z beach: I see, yes. 2020-08-12T13:42:50Z gaqwas joined #lisp 2020-08-12T13:42:51Z gaqwas quit (Changing host) 2020-08-12T13:42:51Z gaqwas joined #lisp 2020-08-12T13:48:59Z sympt joined #lisp 2020-08-12T13:49:36Z gendl: morning beach. I just got back from the beach. 2020-08-12T13:50:30Z FreeBirdLjj joined #lisp 2020-08-12T13:50:55Z beach: Good for you. 2020-08-12T13:51:58Z vsync joined #lisp 2020-08-12T13:53:05Z flazh quit (Ping timeout: 240 seconds) 2020-08-12T13:54:11Z shifty quit (Ping timeout: 240 seconds) 2020-08-12T13:58:42Z Bit_MCP joined #lisp 2020-08-12T13:59:28Z ahungry joined #lisp 2020-08-12T14:03:44Z ggole joined #lisp 2020-08-12T14:12:20Z gaqwas quit (Remote host closed the connection) 2020-08-12T14:15:06Z FreeBirdLjj quit (Remote host closed the connection) 2020-08-12T14:17:16Z bhartrihari joined #lisp 2020-08-12T14:21:40Z FreeBirdLjj joined #lisp 2020-08-12T14:22:54Z kaftejiman quit (Remote host closed the connection) 2020-08-12T14:23:13Z orivej joined #lisp 2020-08-12T14:24:06Z jibanes_ is now known as jibanes 2020-08-12T14:27:11Z bhartrihari left #lisp 2020-08-12T14:27:26Z bhartrihari joined #lisp 2020-08-12T14:31:16Z jonatack joined #lisp 2020-08-12T14:36:28Z jonatack quit (Ping timeout: 256 seconds) 2020-08-12T14:39:51Z jonatack joined #lisp 2020-08-12T14:40:14Z yitzi joined #lisp 2020-08-12T14:46:19Z sjl_ joined #lisp 2020-08-12T14:52:51Z gioyik joined #lisp 2020-08-12T14:55:25Z bhartrihari left #lisp 2020-08-12T14:55:28Z bhartrihari joined #lisp 2020-08-12T15:00:20Z bhartrihari left #lisp 2020-08-12T15:00:35Z bhartrihari joined #lisp 2020-08-12T15:00:54Z rumbler31 quit (Ping timeout: 256 seconds) 2020-08-12T15:04:25Z gko_ quit (Ping timeout: 264 seconds) 2020-08-12T15:05:30Z rumbler31 joined #lisp 2020-08-12T15:06:17Z EvW quit (Ping timeout: 260 seconds) 2020-08-12T15:09:54Z bsd4me left #lisp 2020-08-12T15:10:55Z bitmapper joined #lisp 2020-08-12T15:11:46Z liberliver quit (Quit: liberliver) 2020-08-12T15:15:00Z jonatack quit (Ping timeout: 256 seconds) 2020-08-12T15:26:11Z EvW1 joined #lisp 2020-08-12T15:33:00Z xlei joined #lisp 2020-08-12T15:33:00Z xlei quit (Excess Flood) 2020-08-12T15:34:31Z xlei joined #lisp 2020-08-12T15:34:31Z xlei quit (Excess Flood) 2020-08-12T15:37:20Z xlei joined #lisp 2020-08-12T15:37:21Z xlei quit (Excess Flood) 2020-08-12T15:39:22Z mankaev quit (Ping timeout: 256 seconds) 2020-08-12T15:41:09Z jonatack joined #lisp 2020-08-12T15:45:39Z contrapunctus left #lisp 2020-08-12T15:46:24Z contrapunctus joined #lisp 2020-08-12T15:51:17Z flazh joined #lisp 2020-08-12T15:55:38Z ghard quit (Remote host closed the connection) 2020-08-12T15:59:47Z dominic34 joined #lisp 2020-08-12T15:59:48Z dominic34 quit (Excess Flood) 2020-08-12T16:00:45Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2020-08-12T16:02:36Z ahungry quit (Ping timeout: 256 seconds) 2020-08-12T16:02:36Z Bit_MCP quit (Ping timeout: 256 seconds) 2020-08-12T16:04:09Z ahungry joined #lisp 2020-08-12T16:06:20Z Bourne joined #lisp 2020-08-12T16:09:09Z dominic34 joined #lisp 2020-08-12T16:09:10Z dominic34 quit (Excess Flood) 2020-08-12T16:09:25Z dominic34 joined #lisp 2020-08-12T16:09:26Z dominic34 quit (Excess Flood) 2020-08-12T16:09:55Z FreeBirdLjj joined #lisp 2020-08-12T16:10:07Z dominic34 joined #lisp 2020-08-12T16:10:46Z CrazyEddy quit (Ping timeout: 256 seconds) 2020-08-12T16:13:27Z EvW1 quit (Ping timeout: 244 seconds) 2020-08-12T16:16:50Z dominic34 quit (Ping timeout: 260 seconds) 2020-08-12T16:17:40Z natter joined #lisp 2020-08-12T16:18:13Z Bit_MCP joined #lisp 2020-08-12T16:19:51Z Lord_of_Life quit (Ping timeout: 265 seconds) 2020-08-12T16:20:53Z Lord_of_Life joined #lisp 2020-08-12T16:32:53Z FreeBirdLjj quit (Remote host closed the connection) 2020-08-12T16:34:43Z hendursaga quit (Ping timeout: 240 seconds) 2020-08-12T16:36:56Z hendursaga joined #lisp 2020-08-12T16:39:14Z Bit_MCP quit (Ping timeout: 260 seconds) 2020-08-12T16:47:32Z vutral joined #lisp 2020-08-12T16:50:58Z xkapastel joined #lisp 2020-08-12T16:54:34Z dominic34 joined #lisp 2020-08-12T16:54:35Z dominic34 quit (Excess Flood) 2020-08-12T16:54:45Z dominic34 joined #lisp 2020-08-12T17:00:25Z dxtr joined #lisp 2020-08-12T17:02:52Z Josh_2: Is the mailman service working for common-lisp.net? I have subbed to a mailing list but not received my confirmation 2020-08-12T17:03:14Z phoe: #common-lisp.net should answer that 2020-08-12T17:06:32Z Josh_2: I will ask 2020-08-12T17:11:48Z fwoaroof[m] quit (Changing host) 2020-08-12T17:11:48Z fwoaroof[m] joined #lisp 2020-08-12T17:11:48Z fwoaroof[m] quit (Changing host) 2020-08-12T17:11:48Z fwoaroof[m] joined #lisp 2020-08-12T17:11:49Z jealousmonk joined #lisp 2020-08-12T17:18:48Z galex-713 joined #lisp 2020-08-12T17:22:54Z bhartrihari left #lisp 2020-08-12T17:23:09Z bhartrihari joined #lisp 2020-08-12T17:30:53Z bhartrihari left #lisp 2020-08-12T17:32:40Z ggole quit (Quit: Leaving) 2020-08-12T17:33:02Z cosimone quit (Remote host closed the connection) 2020-08-12T17:33:50Z cosimone joined #lisp 2020-08-12T17:37:09Z bhartrihari joined #lisp 2020-08-12T17:38:36Z mankaev joined #lisp 2020-08-12T17:41:36Z bhartrihari left #lisp 2020-08-12T17:41:42Z bhartrihari joined #lisp 2020-08-12T17:45:46Z akoana joined #lisp 2020-08-12T17:54:42Z sm2n quit (Quit: Leaving) 2020-08-12T17:55:44Z satousan joined #lisp 2020-08-12T18:03:19Z abhixec joined #lisp 2020-08-12T18:04:26Z akoana left #lisp 2020-08-12T18:09:21Z cosimone quit (Remote host closed the connection) 2020-08-12T18:12:59Z Grauwolf_ joined #lisp 2020-08-12T18:13:20Z dnm_ joined #lisp 2020-08-12T18:13:22Z lukego_ joined #lisp 2020-08-12T18:13:22Z mjl_ joined #lisp 2020-08-12T18:13:26Z kilimanjaro_ joined #lisp 2020-08-12T18:14:08Z dominic34 quit (Ping timeout: 256 seconds) 2020-08-12T18:14:58Z markasoftware_ joined #lisp 2020-08-12T18:16:22Z cosimone joined #lisp 2020-08-12T18:19:28Z housel` joined #lisp 2020-08-12T18:20:01Z orivej quit (Ping timeout: 264 seconds) 2020-08-12T18:20:34Z fwoaroof[m] quit (*.net *.split) 2020-08-12T18:20:34Z camlriot42 quit (*.net *.split) 2020-08-12T18:20:34Z infra_red[m] quit (*.net *.split) 2020-08-12T18:20:34Z kopiyka quit (*.net *.split) 2020-08-12T18:20:34Z winny quit (*.net *.split) 2020-08-12T18:20:34Z housel quit (*.net *.split) 2020-08-12T18:20:35Z mjl quit (*.net *.split) 2020-08-12T18:20:35Z Grauwolf quit (*.net *.split) 2020-08-12T18:20:35Z dnm quit (*.net *.split) 2020-08-12T18:20:35Z lukego quit (*.net *.split) 2020-08-12T18:20:35Z markasoftware quit (*.net *.split) 2020-08-12T18:20:35Z kilimanjaro quit (*.net *.split) 2020-08-12T18:20:35Z mjl_ is now known as mjl 2020-08-12T18:20:36Z kilimanjaro_ is now known as kilimanjaro 2020-08-12T18:20:38Z lukego_ is now known as lukego 2020-08-12T18:20:38Z dnm_ is now known as dnm 2020-08-12T18:21:30Z Gnuxie[m] quit (Read error: Connection reset by peer) 2020-08-12T18:21:31Z liamz[m] quit (Read error: Connection reset by peer) 2020-08-12T18:21:35Z MrtnDk[m] quit (Remote host closed the connection) 2020-08-12T18:21:36Z unl0ckd quit (Remote host closed the connection) 2020-08-12T18:21:37Z LdBeth quit (Remote host closed the connection) 2020-08-12T18:21:37Z cairn quit (Write error: Connection reset by peer) 2020-08-12T18:21:38Z sammich quit (Remote host closed the connection) 2020-08-12T18:21:39Z userself quit (Remote host closed the connection) 2020-08-12T18:21:39Z gaqwas[m] quit (Remote host closed the connection) 2020-08-12T18:21:40Z kelamir[m] quit (Write error: Connection reset by peer) 2020-08-12T18:21:40Z Jachy quit (Remote host closed the connection) 2020-08-12T18:21:41Z katco quit (Write error: Connection reset by peer) 2020-08-12T18:21:42Z even4void[m] quit (Write error: Connection reset by peer) 2020-08-12T18:21:42Z Jach[m] quit (Remote host closed the connection) 2020-08-12T18:21:43Z kinope quit (Remote host closed the connection) 2020-08-12T18:21:43Z igemnace quit (Read error: Connection reset by peer) 2020-08-12T18:21:49Z orivej joined #lisp 2020-08-12T18:22:41Z cosimone quit (Remote host closed the connection) 2020-08-12T18:23:02Z femi quit (Ping timeout: 264 seconds) 2020-08-12T18:23:57Z winny joined #lisp 2020-08-12T18:25:52Z femi joined #lisp 2020-08-12T18:26:08Z Harag joined #lisp 2020-08-12T18:26:59Z bocaneri quit (Read error: Connection reset by peer) 2020-08-12T18:27:00Z jprajzne quit (Remote host closed the connection) 2020-08-12T18:28:25Z Mandus quit (Ping timeout: 265 seconds) 2020-08-12T18:28:27Z kinope joined #lisp 2020-08-12T18:29:01Z housel` is now known as housel 2020-08-12T18:29:19Z Mandus joined #lisp 2020-08-12T18:34:18Z Xach: the cl-sdl2-ttf issue vexes me. 2020-08-12T18:34:45Z Xach: the project isn't dead-dead but the PR to fix the UB is a few weeks old with no remarks. in cl-land that's not bad but i really would like a nice version in time for the end of august. 2020-08-12T18:44:59Z jw4 quit (Read error: Connection reset by peer) 2020-08-12T18:46:47Z jw4 joined #lisp 2020-08-12T18:48:04Z Bourne quit (Ping timeout: 256 seconds) 2020-08-12T18:49:34Z EvW joined #lisp 2020-08-12T18:50:20Z tutti joined #lisp 2020-08-12T18:52:36Z shka_ quit (Ping timeout: 256 seconds) 2020-08-12T18:53:49Z shka_ joined #lisp 2020-08-12T18:54:54Z yitzi quit (Quit: yitzi) 2020-08-12T18:57:23Z unl0ckd joined #lisp 2020-08-12T18:57:23Z even4void[m] joined #lisp 2020-08-12T18:57:23Z userself joined #lisp 2020-08-12T18:57:23Z cairn joined #lisp 2020-08-12T18:57:23Z LdBeth joined #lisp 2020-08-12T18:57:24Z Gnuxie[m] joined #lisp 2020-08-12T18:57:24Z camlriot42 joined #lisp 2020-08-12T18:57:24Z katco joined #lisp 2020-08-12T18:57:24Z gaqwas[m] joined #lisp 2020-08-12T18:57:24Z MrtnDk[m] joined #lisp 2020-08-12T18:57:24Z fwoaroof[m] joined #lisp 2020-08-12T18:57:24Z infra_red[m] joined #lisp 2020-08-12T18:57:24Z sammich joined #lisp 2020-08-12T18:57:24Z kelamir[m] joined #lisp 2020-08-12T18:57:27Z satousan quit (Quit: WeeChat 2.3) 2020-08-12T18:57:30Z Jach[m] joined #lisp 2020-08-12T18:57:30Z liamz[m] joined #lisp 2020-08-12T18:57:31Z Jachy joined #lisp 2020-08-12T18:57:32Z v88m quit (Remote host closed the connection) 2020-08-12T19:00:48Z liberliver joined #lisp 2020-08-12T19:04:01Z liberliver quit (Client Quit) 2020-08-12T19:07:00Z vutral quit (Quit: Connection closed for inactivity) 2020-08-12T19:07:50Z Krystof joined #lisp 2020-08-12T19:08:20Z shifty joined #lisp 2020-08-12T19:11:02Z Bourne joined #lisp 2020-08-12T19:12:07Z rippa joined #lisp 2020-08-12T19:16:33Z contrapunctus left #lisp 2020-08-12T19:19:37Z yitzi joined #lisp 2020-08-12T19:19:43Z contrapunctus joined #lisp 2020-08-12T19:22:26Z mindCrime joined #lisp 2020-08-12T19:23:00Z theseb joined #lisp 2020-08-12T19:25:08Z cosimone joined #lisp 2020-08-12T19:25:48Z nullheroes quit (Quit: WeeChat 2.9) 2020-08-12T19:26:23Z nullheroes joined #lisp 2020-08-12T19:30:43Z Jesin joined #lisp 2020-08-12T19:30:50Z abhixec quit (Remote host closed the connection) 2020-08-12T19:39:13Z Bourne quit (Ping timeout: 246 seconds) 2020-08-12T19:40:15Z Bourne joined #lisp 2020-08-12T19:41:16Z uplime quit (Quit: so long and thanks for all the fish) 2020-08-12T19:41:37Z terpri_ joined #lisp 2020-08-12T19:44:43Z galex-713 quit (Ping timeout: 272 seconds) 2020-08-12T19:45:07Z terpri quit (Ping timeout: 260 seconds) 2020-08-12T19:47:39Z Harag quit (Remote host closed the connection) 2020-08-12T19:49:03Z Bit_MCP joined #lisp 2020-08-12T19:54:17Z terpri_ quit (Remote host closed the connection) 2020-08-12T19:54:39Z terpri_ joined #lisp 2020-08-12T19:58:18Z theseb left #lisp 2020-08-12T20:03:53Z Harag joined #lisp 2020-08-12T20:06:52Z luckless joined #lisp 2020-08-12T20:07:19Z v88m joined #lisp 2020-08-12T20:09:23Z luckless_ quit (Ping timeout: 240 seconds) 2020-08-12T20:12:24Z tutti quit (Ping timeout: 246 seconds) 2020-08-12T20:14:35Z nullheroes quit (Quit: WeeChat 2.9) 2020-08-12T20:14:56Z nullheroes joined #lisp 2020-08-12T20:14:58Z CodeSpelunker joined #lisp 2020-08-12T20:19:22Z lalilulelo quit (Quit: Leaving) 2020-08-12T20:22:44Z wsinatra quit (Quit: WeeChat 2.9) 2020-08-12T20:25:14Z xkapastel quit (Quit: Connection closed for inactivity) 2020-08-12T20:25:48Z dra_ joined #lisp 2020-08-12T20:26:22Z dra_ is now known as dra 2020-08-12T20:31:19Z bhartrihari left #lisp 2020-08-12T20:33:06Z bhartrihari joined #lisp 2020-08-12T20:35:21Z Harag quit (Remote host closed the connection) 2020-08-12T20:38:24Z Harag joined #lisp 2020-08-12T20:38:59Z galex-713 joined #lisp 2020-08-12T20:42:51Z Harag quit (Remote host closed the connection) 2020-08-12T20:43:38Z heisig quit (Quit: Leaving) 2020-08-12T20:50:28Z Harag joined #lisp 2020-08-12T20:51:37Z jello_pudding quit (Ping timeout: 260 seconds) 2020-08-12T20:55:47Z shka_ quit (Ping timeout: 246 seconds) 2020-08-12T20:56:19Z pve quit (Quit: leaving) 2020-08-12T20:58:30Z cosimone quit (Remote host closed the connection) 2020-08-12T20:58:35Z ebrasca quit (Read error: Connection reset by peer) 2020-08-12T20:58:57Z ebrasca joined #lisp 2020-08-12T21:05:49Z jello_pudding joined #lisp 2020-08-12T21:08:06Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2020-08-12T21:14:17Z fwoaroof[m] quit (Changing host) 2020-08-12T21:14:17Z fwoaroof[m] joined #lisp 2020-08-12T21:14:17Z fwoaroof[m] quit (Changing host) 2020-08-12T21:14:17Z fwoaroof[m] joined #lisp 2020-08-12T21:14:26Z cosimone joined #lisp 2020-08-12T21:16:34Z gaqwas joined #lisp 2020-08-12T21:16:34Z gaqwas quit (Changing host) 2020-08-12T21:16:34Z gaqwas joined #lisp 2020-08-12T21:27:38Z ahungry quit (Ping timeout: 260 seconds) 2020-08-12T21:29:12Z ahungry joined #lisp 2020-08-12T21:29:40Z gravicappa quit (Ping timeout: 265 seconds) 2020-08-12T21:32:28Z sjl_ quit (Ping timeout: 256 seconds) 2020-08-12T21:33:57Z jealousmonk quit (Quit: Leaving) 2020-08-12T21:35:33Z kaftejiman joined #lisp 2020-08-12T21:47:33Z ahungry quit (Remote host closed the connection) 2020-08-12T21:50:55Z sveit: I am confused how condition tests are supposed to work. Why is it that with custom condition types, '(nil) is always passed as the condition to the test? A simple failing example is: https://pastebin.com/QE87KacT 2020-08-12T21:52:12Z phoe: sveit: wait a second 2020-08-12T21:52:27Z phoe: '(nil)? 2020-08-12T21:54:04Z sveit: phoe: i was just copying the error i get from sbcl when I run the example in my pastebin (which just defines an custom condition and a conditional restart). More precisely, sbcl complains "no applicable method for generic function test-slot when called with arguments (NIL)" 2020-08-12T21:54:34Z phoe: sveit: yes, that is correct, C is allowed to be either NIL or a condition object. 2020-08-12T21:54:39Z Bike: that actually means that it was called with one argument, which is nil. 2020-08-12T21:54:45Z phoe: so, your function was---- exactly 2020-08-12T21:55:07Z hsaziz joined #lisp 2020-08-12T21:55:09Z Bike: also, p hoe is right: test functions should be prepared to accept nil, and also any condition object. 2020-08-12T21:55:12Z phoe: if COMPUTE-RESTARTS is called without a condition object, then restart test functions will be called with NIL 2020-08-12T21:55:21Z phoe: same deal with FIND-RESTART 2020-08-12T21:55:41Z phoe: if they're called with a condition object - then that argument will be that condition boject 2020-08-12T21:55:56Z phoe: ...s/boject/bojack/ 2020-08-12T21:56:13Z Bike: you could do (and (typep c 'test-condition) (eql (test-slot c) 1)). 2020-08-12T21:56:38Z sveit: ah, thanks. didn't see that in the hyperspec. seems like a strange convention, isn't compute-restarts in the usual case called without a condition object? 2020-08-12T21:56:45Z Bike: the debugger might call compute-restarts without a condition, though. 2020-08-12T21:57:15Z phoe: sveit: depends 2020-08-12T21:57:36Z phoe: the debugger is allowed (and should) call COMPUTE-RESTARTS *with* a condition object, in particular, with the condition object that the debugger has been entered with 2020-08-12T21:58:13Z phoe: it's not really specified in the spec (as the debugger isn't really specified), but it's the only logical behavior 2020-08-12T21:58:43Z sveit: hmm. Doesn't seem to be the behaviour in my SBCL (that error I get was from interactively calling (test-function) in REPL) 2020-08-12T21:58:46Z phoe: users are also allowed to do the same, e.g. if they end up in the debugger REPL and want to resolve the situation manually via calling FIND-RESTART and INVOKE-RESTART and what else 2020-08-12T21:59:07Z phoe: what do you mean by "the behaviour"? 2020-08-12T21:59:47Z sveit: phoe: i mean that the debugger seems to be calling COMPUTE-RESTARTS *without* a condition object, since nil is being passed to the condition test 2020-08-12T22:00:31Z sveit: anyway thanks for your help phoe and Bike, that's much clearer 2020-08-12T22:01:13Z vutral joined #lisp 2020-08-12T22:02:38Z phoe: sveit: https://plaster.tymoon.eu/view/2004#2004 2020-08-12T22:02:46Z phoe: see the printouts - it is being called *twice* 2020-08-12T22:02:54Z phoe: once with the condition argument, the other time, without 2020-08-12T22:03:08Z phoe: you just didn't see the first case since it silently succeeded. 2020-08-12T22:03:52Z phoe: there's also the issue with asynchronous printing and intertwined lines, but eh, things are still visible 2020-08-12T22:04:18Z phoe: anyway, this is allowed, so a test function must be prepared to accept anything of type (OR NULL CONDITION). 2020-08-12T22:05:37Z Bit_MCP quit (Ping timeout: 264 seconds) 2020-08-12T22:06:23Z sveit: phoe: thanks for clearing that up. is there some "convention" that one should tend to return 't from the test if the condition type is null/not the type you are signaling? 2020-08-12T22:06:42Z phoe: sveit: there's no convention in there 2020-08-12T22:06:58Z phoe: this predicate answers the question "should this restart be visible?" 2020-08-12T22:07:31Z phoe: it only gets to use two sources of information to compute the answer: the condition object or lack thereof, and the dynamic environment in which it runs 2020-08-12T22:07:46Z phoe: so the answer literally depends on what the restart is supposed to do 2020-08-12T22:08:50Z phoe: and whether it should be visible in all cases (when the argument is NIL) or only if specific conditions are signaled 2020-08-12T22:09:22Z phoe: and even then, if these conditions have some proper internal state - you can check that by querying the slots of the condition object 2020-08-12T22:10:02Z phoe: so, basically - that's a rather generic framework for restart visibility, and usually the answer will be trivial 2020-08-12T22:10:08Z phoe: most of the time, simple 2020-08-12T22:10:12Z phoe: rarely, complicated 2020-08-12T22:11:22Z phoe: for an example, you don't want to try and offer to save a crash dump file to the default disk drive if you just got a NO-SPACE-LEFT-ON-DEVICE error mentioning that particular disk drive 2020-08-12T22:11:47Z sveit: phoe: thanks for the explanation, i think i actually understand the convention now. 2020-08-12T22:11:56Z phoe: or, you don't want to try and resend data on a network socket if that network socket just git a CONNECTION-RESET 2020-08-12T22:11:57Z mindCrime quit (Excess Flood) 2020-08-12T22:11:58Z shifty quit (Ping timeout: 260 seconds) 2020-08-12T22:12:07Z phoe: s/git/got/ 2020-08-12T22:12:25Z mindCrime joined #lisp 2020-08-12T22:12:33Z phoe: that's the general idea - the test function should answer the question of "is the restart applicable in this particular context?" 2020-08-12T22:12:41Z phoe: and that's one bold and broad question 2020-08-12T22:12:45Z shifty joined #lisp 2020-08-12T22:19:36Z rilez joined #lisp 2020-08-12T22:21:09Z rumbler31 quit (Remote host closed the connection) 2020-08-12T22:21:47Z rumbler31 joined #lisp 2020-08-12T22:22:25Z jello_pudding quit (Ping timeout: 272 seconds) 2020-08-12T22:24:59Z rumbler31_ quit (Ping timeout: 240 seconds) 2020-08-12T22:25:30Z shifty quit (Ping timeout: 260 seconds) 2020-08-12T22:30:58Z dsl` joined #lisp 2020-08-12T22:31:18Z dsl`: Hi! 2020-08-12T22:33:32Z phoe: heyyy 2020-08-12T22:35:08Z jello_pudding joined #lisp 2020-08-12T22:38:18Z rumbler31_ joined #lisp 2020-08-12T22:39:49Z random-nick quit (Ping timeout: 246 seconds) 2020-08-12T22:47:46Z whiteline quit (Ping timeout: 256 seconds) 2020-08-12T22:48:19Z mmmattyx joined #lisp 2020-08-12T22:48:20Z Harag quit (Ping timeout: 256 seconds) 2020-08-12T22:52:03Z vidak` joined #lisp 2020-08-12T22:57:58Z dsl` quit (Ping timeout: 256 seconds) 2020-08-12T23:00:05Z choegusung joined #lisp 2020-08-12T23:01:33Z choegusung quit (Client Quit) 2020-08-12T23:02:50Z mankaev quit (Ping timeout: 260 seconds) 2020-08-12T23:03:09Z mankaev joined #lisp 2020-08-12T23:04:02Z cosimone quit (Ping timeout: 260 seconds) 2020-08-12T23:14:26Z mangoicedtea joined #lisp 2020-08-12T23:17:15Z dra quit (Quit: Leaving) 2020-08-12T23:18:54Z rumbler31_ quit (Ping timeout: 265 seconds) 2020-08-12T23:22:53Z abhixec joined #lisp 2020-08-12T23:27:30Z hsaziz quit (Ping timeout: 256 seconds) 2020-08-13T00:03:22Z gaqwas quit (Ping timeout: 265 seconds) 2020-08-13T00:04:25Z CodeSpelunker quit (Ping timeout: 264 seconds) 2020-08-13T00:06:59Z vutral quit (Quit: Connection closed for inactivity) 2020-08-13T00:17:32Z kaftejiman quit (Remote host closed the connection) 2020-08-13T00:17:58Z dsl` joined #lisp 2020-08-13T00:19:14Z rilez quit (Ping timeout: 245 seconds) 2020-08-13T00:23:11Z dsl` quit (Ping timeout: 265 seconds) 2020-08-13T00:27:00Z dsl` joined #lisp 2020-08-13T00:29:02Z asarch joined #lisp 2020-08-13T00:30:25Z libertyprime quit (Quit: leaving) 2020-08-13T00:34:25Z dsl` quit (Ping timeout: 264 seconds) 2020-08-13T00:36:28Z dsl` joined #lisp 2020-08-13T00:41:12Z EvW quit (Ping timeout: 260 seconds) 2020-08-13T00:41:40Z dsl` quit (Ping timeout: 256 seconds) 2020-08-13T00:46:03Z dsl` joined #lisp 2020-08-13T00:47:01Z mangoicedtea quit (Remote host closed the connection) 2020-08-13T00:47:20Z orivej quit (Ping timeout: 256 seconds) 2020-08-13T00:50:22Z dsl` quit (Ping timeout: 246 seconds) 2020-08-13T00:52:38Z epony quit (Quit: reconfigure) 2020-08-13T00:53:29Z epony joined #lisp 2020-08-13T00:55:18Z dsl` joined #lisp 2020-08-13T00:55:44Z mmmattyx quit (Quit: Connection closed for inactivity) 2020-08-13T00:59:58Z dsl` quit (Ping timeout: 260 seconds) 2020-08-13T01:00:00Z __jrjsmrtn__ joined #lisp 2020-08-13T01:00:27Z emacsomancer quit (Ping timeout: 260 seconds) 2020-08-13T01:01:13Z _jrjsmrtn quit (Ping timeout: 246 seconds) 2020-08-13T01:01:54Z ebrasca quit (Remote host closed the connection) 2020-08-13T01:04:53Z dsl` joined #lisp 2020-08-13T01:07:51Z rilez joined #lisp 2020-08-13T01:09:21Z emacsomancer joined #lisp 2020-08-13T01:09:53Z asarch quit (Quit: Leaving) 2020-08-13T01:10:00Z dsl` quit (Ping timeout: 256 seconds) 2020-08-13T01:12:08Z Kaisyu quit (Quit: Connection closed for inactivity) 2020-08-13T01:12:26Z ldb joined #lisp 2020-08-13T01:12:36Z ldb: good morning 2020-08-13T01:14:01Z dsl` joined #lisp 2020-08-13T01:16:49Z ebrasca joined #lisp 2020-08-13T01:19:05Z Necktwi quit (Ping timeout: 240 seconds) 2020-08-13T01:20:45Z dsl` quit (Ping timeout: 240 seconds) 2020-08-13T01:20:46Z ahungry joined #lisp 2020-08-13T01:23:26Z akoana joined #lisp 2020-08-13T01:25:30Z dsl` joined #lisp 2020-08-13T01:32:37Z dsl` quit (Ping timeout: 264 seconds) 2020-08-13T01:33:27Z yitzi quit (Remote host closed the connection) 2020-08-13T01:33:42Z yitzi joined #lisp 2020-08-13T01:34:34Z dsl` joined #lisp 2020-08-13T01:38:55Z shifty joined #lisp 2020-08-13T01:39:42Z dsl` quit (Ping timeout: 256 seconds) 2020-08-13T01:40:54Z rilez quit (Remote host closed the connection) 2020-08-13T01:42:40Z bhartrihari left #lisp 2020-08-13T01:43:09Z bhartrihari joined #lisp 2020-08-13T01:43:14Z CodeSpelunker joined #lisp 2020-08-13T01:44:08Z dsl` joined #lisp 2020-08-13T01:48:32Z dsl` quit (Ping timeout: 256 seconds) 2020-08-13T01:48:48Z bsd4me joined #lisp 2020-08-13T01:48:58Z rilez joined #lisp 2020-08-13T01:51:08Z Necktwi joined #lisp 2020-08-13T01:54:43Z dsl` joined #lisp 2020-08-13T01:56:24Z caltelt joined #lisp 2020-08-13T01:59:52Z dsl` quit (Ping timeout: 256 seconds) 2020-08-13T02:04:29Z dsl` joined #lisp 2020-08-13T02:08:25Z dsl` quit (Ping timeout: 240 seconds) 2020-08-13T02:08:32Z libertyprime joined #lisp 2020-08-13T02:08:40Z bhartrihari left #lisp 2020-08-13T02:11:25Z ayuce quit (Remote host closed the connection) 2020-08-13T02:11:36Z bhartrihari joined #lisp 2020-08-13T02:11:45Z ayuce joined #lisp 2020-08-13T02:12:58Z dsl` joined #lisp 2020-08-13T02:16:13Z ldb quit (Quit: leaving) 2020-08-13T02:17:31Z dsl` quit (Ping timeout: 246 seconds) 2020-08-13T02:20:46Z EvW joined #lisp 2020-08-13T02:22:05Z dsl` joined #lisp 2020-08-13T02:23:07Z terpri__ joined #lisp 2020-08-13T02:23:07Z terpri__ is now known as terpri 2020-08-13T02:24:05Z galex-713 quit (Ping timeout: 246 seconds) 2020-08-13T02:26:27Z terpri_ quit (Ping timeout: 260 seconds) 2020-08-13T02:27:13Z dsl` quit (Ping timeout: 264 seconds) 2020-08-13T02:30:25Z shifty quit (Ping timeout: 240 seconds) 2020-08-13T02:31:17Z bhartrihari left #lisp 2020-08-13T02:31:19Z dsl` joined #lisp 2020-08-13T02:31:32Z bhartrihari joined #lisp 2020-08-13T02:36:06Z hsaziz joined #lisp 2020-08-13T02:36:35Z dsl` quit (Ping timeout: 265 seconds) 2020-08-13T02:38:47Z terpri quit (Remote host closed the connection) 2020-08-13T02:39:05Z terpri joined #lisp 2020-08-13T02:40:54Z dsl` joined #lisp 2020-08-13T02:41:48Z caltelt quit (Ping timeout: 256 seconds) 2020-08-13T02:41:56Z libertyprime quit (Quit: leaving) 2020-08-13T02:45:05Z dsl` quit (Ping timeout: 240 seconds) 2020-08-13T02:47:33Z CrazyEddy joined #lisp 2020-08-13T02:49:36Z dsl` joined #lisp 2020-08-13T02:54:18Z dsl` quit (Ping timeout: 260 seconds) 2020-08-13T02:58:43Z dsl` joined #lisp 2020-08-13T02:59:07Z space_otter joined #lisp 2020-08-13T03:01:50Z Alfr_ joined #lisp 2020-08-13T03:02:45Z arbv quit (Ping timeout: 240 seconds) 2020-08-13T03:04:21Z Alfr__ quit (Ping timeout: 244 seconds) 2020-08-13T03:09:39Z arbv joined #lisp 2020-08-13T03:20:11Z Bike quit (Quit: Lost terminal) 2020-08-13T03:23:07Z sp-r5rs joined #lisp 2020-08-13T03:28:17Z EvW quit (Ping timeout: 260 seconds) 2020-08-13T03:30:22Z mindCrime quit (Ping timeout: 260 seconds) 2020-08-13T03:32:48Z mankaev quit (Ping timeout: 256 seconds) 2020-08-13T03:49:35Z bhartrihari left #lisp 2020-08-13T03:49:41Z bhartrihari joined #lisp 2020-08-13T03:52:05Z abhixec quit (Ping timeout: 240 seconds) 2020-08-13T03:52:12Z rilez quit (Remote host closed the connection) 2020-08-13T03:52:17Z beach: Good morning everyone! 2020-08-13T04:00:02Z _whitelogger quit (Remote host closed the connection) 2020-08-13T04:02:13Z _whitelogger joined #lisp 2020-08-13T04:04:20Z Kaisyu joined #lisp 2020-08-13T04:05:54Z dsl` quit (Ping timeout: 256 seconds) 2020-08-13T04:07:04Z dsl` joined #lisp 2020-08-13T04:10:11Z sp-r5rs: Laying back in the cut, yo. 2020-08-13T04:10:44Z sp-r5rs: PreScheme 4eva. 2020-08-13T04:10:50Z sp-r5rs: quit 2020-08-13T04:10:56Z beach: Bye. 2020-08-13T04:10:57Z sp-r5rs quit 2020-08-13T04:11:47Z rilez joined #lisp 2020-08-13T04:12:17Z dsl` quit (Ping timeout: 265 seconds) 2020-08-13T04:12:36Z bhartrihari left #lisp 2020-08-13T04:12:49Z bhartrihari joined #lisp 2020-08-13T04:16:41Z dsl` joined #lisp 2020-08-13T04:18:20Z midre quit (Ping timeout: 244 seconds) 2020-08-13T04:19:01Z Lord_of_Life_ joined #lisp 2020-08-13T04:19:16Z Lord_of_Life quit (Ping timeout: 256 seconds) 2020-08-13T04:20:21Z Lord_of_Life_ is now known as Lord_of_Life 2020-08-13T04:20:45Z dsl` quit (Ping timeout: 240 seconds) 2020-08-13T04:21:49Z dsl` joined #lisp 2020-08-13T04:24:49Z midre joined #lisp 2020-08-13T04:26:42Z dsl` quit (Ping timeout: 260 seconds) 2020-08-13T04:27:25Z bhartrihari left #lisp 2020-08-13T04:27:29Z bhartrihari joined #lisp 2020-08-13T04:30:59Z dsl` joined #lisp 2020-08-13T04:31:08Z gravicappa joined #lisp 2020-08-13T04:32:29Z bhartrihari left #lisp 2020-08-13T04:32:42Z bhartrihari joined #lisp 2020-08-13T04:33:50Z CodeSpelunker quit (Quit: CodeSpelunker) 2020-08-13T04:33:56Z bhartrihari left #lisp 2020-08-13T04:33:59Z bhartrihari joined #lisp 2020-08-13T04:35:56Z dsl` quit (Ping timeout: 256 seconds) 2020-08-13T04:37:19Z ebrasca quit (Remote host closed the connection) 2020-08-13T04:40:27Z dsl` joined #lisp 2020-08-13T04:45:13Z dsl` quit (Ping timeout: 246 seconds) 2020-08-13T04:50:00Z dsl` joined #lisp 2020-08-13T04:51:45Z rilez quit (Ping timeout: 245 seconds) 2020-08-13T04:54:42Z dsl` quit (Ping timeout: 260 seconds) 2020-08-13T04:58:51Z dsl` joined #lisp 2020-08-13T05:01:42Z bhartrihari left #lisp 2020-08-13T05:01:57Z bhartrihari joined #lisp 2020-08-13T05:03:32Z dsl` quit (Ping timeout: 256 seconds) 2020-08-13T05:03:47Z bhartrihari left #lisp 2020-08-13T05:03:50Z bhartrihari joined #lisp 2020-08-13T05:04:23Z bhartrihari left #lisp 2020-08-13T05:04:38Z bhartrihari joined #lisp 2020-08-13T05:07:38Z dsl` joined #lisp 2020-08-13T05:11:27Z jw4 quit (Ping timeout: 244 seconds) 2020-08-13T05:11:48Z bhartrihari left #lisp 2020-08-13T05:11:52Z jw4 joined #lisp 2020-08-13T05:11:52Z bhartrihari joined #lisp 2020-08-13T05:12:49Z dsl` quit (Ping timeout: 264 seconds) 2020-08-13T05:13:37Z bhartrihari left #lisp 2020-08-13T05:13:50Z bhartrihari joined #lisp 2020-08-13T05:14:03Z bhartrihari left #lisp 2020-08-13T05:14:28Z rumbler31 quit (Ping timeout: 256 seconds) 2020-08-13T05:17:23Z dsl` joined #lisp 2020-08-13T05:20:21Z bhartrihari joined #lisp 2020-08-13T05:21:50Z dsl` quit (Ping timeout: 256 seconds) 2020-08-13T05:25:55Z dsl` joined #lisp 2020-08-13T05:26:48Z Jesin quit (Quit: Leaving) 2020-08-13T05:30:44Z dsl` quit (Ping timeout: 256 seconds) 2020-08-13T05:35:32Z dsl` joined #lisp 2020-08-13T05:40:18Z dsl` quit (Ping timeout: 256 seconds) 2020-08-13T05:44:14Z dsl` joined #lisp 2020-08-13T05:46:36Z bocaneri joined #lisp 2020-08-13T05:49:57Z shka_ joined #lisp 2020-08-13T05:51:49Z dsl` quit (Ping timeout: 264 seconds) 2020-08-13T05:53:57Z dsl` joined #lisp 2020-08-13T05:58:22Z dsl` quit (Ping timeout: 246 seconds) 2020-08-13T05:59:04Z Grauwolf_ is now known as Grauwolf 2020-08-13T06:03:14Z dsl` joined #lisp 2020-08-13T06:07:48Z dsl` quit (Ping timeout: 265 seconds) 2020-08-13T06:11:55Z dsl` joined #lisp 2020-08-13T06:13:23Z orivej joined #lisp 2020-08-13T06:16:35Z dsl` quit (Ping timeout: 240 seconds) 2020-08-13T06:21:31Z dsl` joined #lisp 2020-08-13T06:23:37Z gravicappa quit (Ping timeout: 264 seconds) 2020-08-13T06:25:52Z dsl` quit (Ping timeout: 256 seconds) 2020-08-13T06:30:15Z dsl` joined #lisp 2020-08-13T06:33:01Z Lycurgus joined #lisp 2020-08-13T06:35:30Z dsl` quit (Ping timeout: 260 seconds) 2020-08-13T06:39:24Z dsl` joined #lisp 2020-08-13T06:41:13Z treflip joined #lisp 2020-08-13T06:42:01Z gaqwas joined #lisp 2020-08-13T06:44:05Z dsl` quit (Ping timeout: 240 seconds) 2020-08-13T06:44:31Z gaqwas quit (Remote host closed the connection) 2020-08-13T06:47:52Z akoana quit (Quit: leaving) 2020-08-13T06:48:54Z dsl` joined #lisp 2020-08-13T06:49:38Z ajithmk joined #lisp 2020-08-13T06:50:14Z pve joined #lisp 2020-08-13T06:55:10Z dsl` quit (Ping timeout: 256 seconds) 2020-08-13T06:57:58Z dsl` joined #lisp 2020-08-13T07:10:03Z jprajzne joined #lisp 2020-08-13T07:13:23Z Necktwi quit (Ping timeout: 240 seconds) 2020-08-13T07:13:40Z libertyprime joined #lisp 2020-08-13T07:15:20Z Necktwi joined #lisp 2020-08-13T07:19:34Z hajovonta joined #lisp 2020-08-13T07:20:16Z whiteline joined #lisp 2020-08-13T07:23:33Z yaji joined #lisp 2020-08-13T07:25:53Z jonatack quit (Ping timeout: 244 seconds) 2020-08-13T07:26:52Z Cymew quit (Ping timeout: 260 seconds) 2020-08-13T07:31:45Z Lycurgus quit (Remote host closed the connection) 2020-08-13T07:31:57Z ahungry quit (Remote host closed the connection) 2020-08-13T07:35:30Z yaji_ joined #lisp 2020-08-13T07:35:44Z jeosol joined #lisp 2020-08-13T07:37:01Z yaji__ joined #lisp 2020-08-13T07:39:07Z yaji quit (Ping timeout: 260 seconds) 2020-08-13T07:39:30Z liberliver joined #lisp 2020-08-13T07:40:34Z yaji_ quit (Ping timeout: 246 seconds) 2020-08-13T07:42:06Z treflip quit (Quit: WeeChat 2.6) 2020-08-13T07:53:20Z dsl` quit (Remote host closed the connection) 2020-08-13T07:54:50Z bsd4me quit (Remote host closed the connection) 2020-08-13T08:04:08Z yaji joined #lisp 2020-08-13T08:07:40Z yaji__ quit (Ping timeout: 265 seconds) 2020-08-13T08:07:40Z jonatack joined #lisp 2020-08-13T08:08:15Z yaji quit (Ping timeout: 244 seconds) 2020-08-13T08:08:15Z gaqwas joined #lisp 2020-08-13T08:09:20Z hendursa1 joined #lisp 2020-08-13T08:09:30Z yaji joined #lisp 2020-08-13T08:09:51Z yaji quit (Client Quit) 2020-08-13T08:10:04Z Cymew joined #lisp 2020-08-13T08:11:03Z hendursaga quit (Ping timeout: 240 seconds) 2020-08-13T08:24:10Z bhartrihari left #lisp 2020-08-13T08:24:21Z bhartrihari joined #lisp 2020-08-13T08:37:15Z contrapunctus left #lisp 2020-08-13T08:37:32Z contrapunctus joined #lisp 2020-08-13T08:37:51Z bhartrihari left #lisp 2020-08-13T08:38:32Z lottaquestions joined #lisp 2020-08-13T08:42:32Z contrapunctus left #lisp 2020-08-13T08:43:06Z contrapunctus joined #lisp 2020-08-13T08:46:35Z bhartrihari joined #lisp 2020-08-13T08:56:46Z bhartrihari left #lisp 2020-08-13T08:59:08Z space_otter quit (Remote host closed the connection) 2020-08-13T09:01:25Z White_Flame quit (Ping timeout: 240 seconds) 2020-08-13T09:03:54Z eta quit (Ping timeout: 260 seconds) 2020-08-13T09:04:18Z eta joined #lisp 2020-08-13T09:07:40Z ajithmk quit (Quit: Connection closed for inactivity) 2020-08-13T09:08:59Z White_Flame joined #lisp 2020-08-13T09:09:48Z mankaev joined #lisp 2020-08-13T09:13:33Z hsaziz quit (Quit: hsaziz) 2020-08-13T09:15:32Z pooja joined #lisp 2020-08-13T09:25:17Z heisig joined #lisp 2020-08-13T09:31:47Z orivej quit (Ping timeout: 240 seconds) 2020-08-13T09:35:14Z yitzi quit (Quit: yitzi) 2020-08-13T09:36:49Z yitzi joined #lisp 2020-08-13T09:41:43Z dra joined #lisp 2020-08-13T09:44:28Z jonatack quit (Ping timeout: 246 seconds) 2020-08-13T09:45:27Z treflip joined #lisp 2020-08-13T09:53:24Z shifty joined #lisp 2020-08-13T09:55:16Z kopiyka joined #lisp 2020-08-13T10:03:02Z _whitelogger quit (Remote host closed the connection) 2020-08-13T10:03:14Z bocaneri quit (Ping timeout: 256 seconds) 2020-08-13T10:05:13Z _whitelogger joined #lisp 2020-08-13T10:05:39Z vaporatorius__ joined #lisp 2020-08-13T10:08:58Z vaporatorius quit (Ping timeout: 256 seconds) 2020-08-13T10:16:05Z troydm quit (Ping timeout: 240 seconds) 2020-08-13T10:24:39Z troydm joined #lisp 2020-08-13T10:39:13Z pooja quit (Ping timeout: 264 seconds) 2020-08-13T10:39:47Z jonatack joined #lisp 2020-08-13T10:53:51Z yitzi quit (Quit: yitzi) 2020-08-13T11:05:43Z wxie joined #lisp 2020-08-13T11:06:59Z bitmapper quit (Ping timeout: 240 seconds) 2020-08-13T11:08:09Z dddddd_ joined #lisp 2020-08-13T11:09:54Z dddddd__ joined #lisp 2020-08-13T11:10:13Z dddddd quit (Ping timeout: 246 seconds) 2020-08-13T11:12:25Z dddddd_ quit (Ping timeout: 240 seconds) 2020-08-13T11:17:37Z wxie quit (Ping timeout: 265 seconds) 2020-08-13T11:22:00Z dra_ joined #lisp 2020-08-13T11:22:08Z dra quit (Read error: Connection reset by peer) 2020-08-13T11:22:17Z rudi joined #lisp 2020-08-13T11:27:20Z hiroaki quit (Ping timeout: 256 seconds) 2020-08-13T11:28:44Z hiroaki joined #lisp 2020-08-13T11:32:41Z dra_ is now known as dra 2020-08-13T11:33:13Z EvW joined #lisp 2020-08-13T11:35:16Z random-nick joined #lisp 2020-08-13T11:45:44Z X-Scale` joined #lisp 2020-08-13T11:45:58Z dddddd_ joined #lisp 2020-08-13T11:46:07Z EvW quit (Ping timeout: 272 seconds) 2020-08-13T11:46:25Z X-Scale quit (Ping timeout: 240 seconds) 2020-08-13T11:46:32Z X-Scale` is now known as X-Scale 2020-08-13T11:47:41Z ggole joined #lisp 2020-08-13T11:48:45Z dddddd__ quit (Ping timeout: 240 seconds) 2020-08-13T11:49:53Z ldb joined #lisp 2020-08-13T11:50:32Z ldb: just find that irc channel name is case insensitiive 2020-08-13T11:50:50Z jackdaniel: no no, it just upcases by default :) 2020-08-13T11:52:04Z ldb laugh 2020-08-13T11:54:09Z contrapunctus: lel 2020-08-13T11:59:19Z zigpaw quit (Quit: Ping timeout (120 seconds)) 2020-08-13T11:59:37Z zigpaw joined #lisp 2020-08-13T12:05:27Z cosimone joined #lisp 2020-08-13T12:06:21Z cosimone quit (Remote host closed the connection) 2020-08-13T12:10:10Z EvW joined #lisp 2020-08-13T12:18:22Z orivej joined #lisp 2020-08-13T12:24:45Z v88m quit (Ping timeout: 240 seconds) 2020-08-13T12:24:59Z orivej quit (Ping timeout: 240 seconds) 2020-08-13T12:25:02Z orivej_ joined #lisp 2020-08-13T12:25:59Z rumbler31 joined #lisp 2020-08-13T12:29:00Z sp-r5rs joined #lisp 2020-08-13T12:29:07Z eagleflo joined #lisp 2020-08-13T12:30:55Z sp-r5rs: I used to have a sense of humor, but then they changed what humor was. 2020-08-13T12:31:18Z sp-r5rs: Now I make 30 year old unfunny cultural references, including PreScheme. 2020-08-13T12:31:43Z ChanServ has set mode +o phoe 2020-08-13T12:31:48Z phoe has set mode +b *!*uid350002@gateway/web/irccloud.com/x-bjqnveavasbozwja 2020-08-13T12:31:48Z sp-r5rs [~phoe@2001:19f0:5:689f:5400:2ff:fe77:b1de] has been kicked from #lisp by phoe (trolling) 2020-08-13T12:31:52Z ChanServ has set mode -o phoe 2020-08-13T12:32:17Z phoe: please tell me if I've made a mistake, I'll reverse it. 2020-08-13T12:35:12Z ldb what's that? weeb? 2020-08-13T12:35:41Z jackdaniel: imo you have not made a mistake. you could give them a warning first though. 2020-08-13T12:36:01Z phoe: jackdaniel: point taken, thanks. 2020-08-13T12:39:38Z orivej_ quit (Ping timeout: 256 seconds) 2020-08-13T12:40:02Z orivej joined #lisp 2020-08-13T12:43:01Z bhartrihari joined #lisp 2020-08-13T12:43:49Z bhartrihari left #lisp 2020-08-13T12:44:04Z bhartrihari joined #lisp 2020-08-13T12:46:17Z bhartrihari left #lisp 2020-08-13T12:46:23Z bhartrihari joined #lisp 2020-08-13T12:46:44Z hendursa1 quit (Quit: hendursa1) 2020-08-13T12:46:59Z hendursaga joined #lisp 2020-08-13T12:48:53Z ghard joined #lisp 2020-08-13T12:49:04Z bubo joined #lisp 2020-08-13T12:49:51Z wxie joined #lisp 2020-08-13T12:50:51Z treflip quit (Quit: WeeChat 2.6) 2020-08-13T12:51:39Z bsd4me joined #lisp 2020-08-13T12:51:40Z bubo left #lisp 2020-08-13T12:54:00Z wsinatra joined #lisp 2020-08-13T13:00:41Z cosimone joined #lisp 2020-08-13T13:04:30Z ldb left #lisp 2020-08-13T13:05:50Z dra_ joined #lisp 2020-08-13T13:06:29Z dra quit (Remote host closed the connection) 2020-08-13T13:07:40Z bsd4me quit (Quit: Leaving) 2020-08-13T13:08:20Z bsd4me joined #lisp 2020-08-13T13:09:34Z orivej quit (Ping timeout: 246 seconds) 2020-08-13T13:09:50Z orivej_ joined #lisp 2020-08-13T13:10:14Z Bourne quit (Ping timeout: 265 seconds) 2020-08-13T13:11:26Z gko_ joined #lisp 2020-08-13T13:12:55Z Bourne joined #lisp 2020-08-13T13:13:25Z shifty quit (Ping timeout: 240 seconds) 2020-08-13T13:18:09Z gaqwas quit (Remote host closed the connection) 2020-08-13T13:21:15Z Bourne quit (Read error: Connection reset by peer) 2020-08-13T13:21:28Z heisig quit (Ping timeout: 246 seconds) 2020-08-13T13:23:44Z Bourne joined #lisp 2020-08-13T13:28:48Z bhartrihari left #lisp 2020-08-13T13:29:47Z yitzi joined #lisp 2020-08-13T13:30:45Z Bike joined #lisp 2020-08-13T13:34:21Z gravicappa joined #lisp 2020-08-13T13:34:31Z miyuki1534 joined #lisp 2020-08-13T13:38:35Z tristero quit (Ping timeout: 240 seconds) 2020-08-13T13:43:51Z bhartrihari joined #lisp 2020-08-13T13:50:02Z libertyprime quit (Quit: leaving) 2020-08-13T14:04:11Z dra_ is now known as dra 2020-08-13T14:04:11Z bhartrihari left #lisp 2020-08-13T14:04:26Z bhartrihari joined #lisp 2020-08-13T14:06:31Z rumbler3_ joined #lisp 2020-08-13T14:09:34Z rumbler31 quit (Ping timeout: 260 seconds) 2020-08-13T14:12:26Z mankaev quit (Ping timeout: 240 seconds) 2020-08-13T14:15:13Z ebrasca joined #lisp 2020-08-13T14:18:53Z miyuki1534 quit (Read error: Connection reset by peer) 2020-08-13T14:20:22Z miyuki1534 joined #lisp 2020-08-13T14:20:49Z akoana joined #lisp 2020-08-13T14:22:47Z bhartrihari left #lisp 2020-08-13T14:22:56Z bhartrihari joined #lisp 2020-08-13T14:23:01Z rumbler31_ joined #lisp 2020-08-13T14:23:56Z bhartrihari left #lisp 2020-08-13T14:24:11Z bhartrihari joined #lisp 2020-08-13T14:24:15Z wxie quit (Quit: wxie) 2020-08-13T14:25:41Z bhartrihari left #lisp 2020-08-13T14:25:43Z bhartrihari joined #lisp 2020-08-13T14:30:42Z FreeBirdLjj joined #lisp 2020-08-13T14:35:02Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2020-08-13T14:37:32Z duuqnd joined #lisp 2020-08-13T14:41:53Z miyuki1534 left #lisp 2020-08-13T14:44:22Z EvW quit (Ping timeout: 260 seconds) 2020-08-13T14:47:12Z CrazyEddy quit (Ping timeout: 256 seconds) 2020-08-13T14:49:58Z sjl_ joined #lisp 2020-08-13T14:55:57Z akoana quit (Quit: leaving) 2020-08-13T14:57:00Z dra_ joined #lisp 2020-08-13T14:59:37Z dra quit (Ping timeout: 264 seconds) 2020-08-13T15:00:17Z rpg joined #lisp 2020-08-13T15:03:47Z gko_ quit (Ping timeout: 240 seconds) 2020-08-13T15:07:56Z remexre: where do I put an ftype in an flet/labels? is a declare inside the function body sufficient? 2020-08-13T15:09:57Z jackdaniel: yes, declarations are processed by the compiler /before/ the function is compiled 2020-08-13T15:10:14Z remexre: okay, thanks 2020-08-13T15:10:16Z jackdaniel: so i.e if you declare a function to have a dynamic-extent, then that information /may/ be used by the compiler i.e to inline it 2020-08-13T15:10:40Z jackdaniel: s/inline/allocate on the stack/, I suppose inlining has nothing to do here 2020-08-13T15:11:08Z jackdaniel: well, maybe something, either way nevermind that 2020-08-13T15:18:39Z random-nick quit (Quit: quit) 2020-08-13T15:19:05Z bitmapper joined #lisp 2020-08-13T15:20:21Z Bit_MCP joined #lisp 2020-08-13T15:21:01Z random-nick joined #lisp 2020-08-13T15:33:17Z aussieboy joined #lisp 2020-08-13T15:36:06Z zigpaw quit (Ping timeout: 256 seconds) 2020-08-13T15:46:15Z Lycurgus joined #lisp 2020-08-13T15:52:19Z zigpaw joined #lisp 2020-08-13T15:54:30Z dra_ quit (Quit: Leaving) 2020-08-13T16:01:25Z mindCrime joined #lisp 2020-08-13T16:01:57Z ghard quit (Ping timeout: 260 seconds) 2020-08-13T16:06:25Z yitzi quit (Quit: yitzi) 2020-08-13T16:07:59Z cosimone quit (Remote host closed the connection) 2020-08-13T16:08:24Z cosimone joined #lisp 2020-08-13T16:19:56Z Lord_of_Life_ joined #lisp 2020-08-13T16:20:59Z Lord_of_Life quit (Ping timeout: 240 seconds) 2020-08-13T16:22:09Z aussieboy quit (Ping timeout: 245 seconds) 2020-08-13T16:22:48Z Lord_of_Life_ is now known as Lord_of_Life 2020-08-13T16:25:35Z gaqwas joined #lisp 2020-08-13T16:25:35Z gaqwas quit (Changing host) 2020-08-13T16:25:35Z gaqwas joined #lisp 2020-08-13T16:27:40Z jello_pudding quit (Ping timeout: 246 seconds) 2020-08-13T16:30:03Z yitzi joined #lisp 2020-08-13T16:33:40Z jello_pudding joined #lisp 2020-08-13T16:38:02Z even4void joined #lisp 2020-08-13T16:39:28Z even4void quit (Remote host closed the connection) 2020-08-13T16:39:39Z jello_pudding quit (Ping timeout: 244 seconds) 2020-08-13T16:39:54Z theseb joined #lisp 2020-08-13T16:45:34Z cosimone quit (Quit: Quit.) 2020-08-13T16:49:31Z even4void joined #lisp 2020-08-13T16:50:44Z even4void quit (Remote host closed the connection) 2020-08-13T16:50:44Z orivej_ quit (Ping timeout: 256 seconds) 2020-08-13T16:54:46Z Bit_MCP quit (Ping timeout: 260 seconds) 2020-08-13T16:55:54Z dyelar quit (Quit: Leaving.) 2020-08-13T16:58:29Z Bit_MCP joined #lisp 2020-08-13T17:00:38Z gaqwas quit (Remote host closed the connection) 2020-08-13T17:01:50Z rudi quit (Quit: rudi) 2020-08-13T17:05:04Z montxero joined #lisp 2020-08-13T17:06:55Z jello_pudding joined #lisp 2020-08-13T17:14:49Z VincentVega joined #lisp 2020-08-13T17:15:50Z VincentVega: hi all! Is there last/first for sequences? Provided by some utility library maybe? 2020-08-13T17:16:45Z Lycurgus quit (Remote host closed the connection) 2020-08-13T17:19:08Z hendursaga quit (Remote host closed the connection) 2020-08-13T17:19:12Z Josh_2: you can make that with subseq 2020-08-13T17:20:00Z hendursaga joined #lisp 2020-08-13T17:20:27Z Inline joined #lisp 2020-08-13T17:23:19Z xlei joined #lisp 2020-08-13T17:23:19Z xlei quit (Excess Flood) 2020-08-13T17:23:22Z VincentVega: Josh_2: Alright 2020-08-13T17:25:47Z rippa joined #lisp 2020-08-13T17:29:44Z gaqwas joined #lisp 2020-08-13T17:29:44Z gaqwas quit (Changing host) 2020-08-13T17:29:44Z gaqwas joined #lisp 2020-08-13T17:31:04Z Bike: note that subseq conses, and it pretty much has to for sequences not built on lists 2020-08-13T17:35:59Z VincentVega: Bike: Actually I just want these for an array. So I suppose gonna go with (aref a (length a)) then. 2020-08-13T17:36:17Z Bike: last doesn't return the last element, it returns the cons it's in 2020-08-13T17:36:33Z Bike: if you just want the element then generically you can do (elt seq (1- (length seq))) 2020-08-13T17:36:52Z VincentVega: Bike: yeah, just the element 2020-08-13T17:37:02Z Bike: (elt seq (length seq)) will be out of bounds 2020-08-13T17:37:17Z VincentVega: Bike: cool, I will use that, thanks! 2020-08-13T17:37:21Z VincentVega: Bike: yet, true 2020-08-13T17:38:36Z rumbler3_ quit (Remote host closed the connection) 2020-08-13T17:41:51Z bhartrihari left #lisp 2020-08-13T17:52:26Z rilez joined #lisp 2020-08-13T17:56:26Z bocaneri joined #lisp 2020-08-13T18:03:46Z bocaneri quit (Ping timeout: 256 seconds) 2020-08-13T18:14:33Z Bit_MCP quit (Quit: Leaving) 2020-08-13T18:19:34Z EvW joined #lisp 2020-08-13T18:28:37Z Steeeeve joined #lisp 2020-08-13T18:31:10Z Steeeeve left #lisp 2020-08-13T18:35:21Z montxero quit (Remote host closed the connection) 2020-08-13T18:35:36Z VincentVega quit (Remote host closed the connection) 2020-08-13T18:39:09Z rumbler31 joined #lisp 2020-08-13T18:39:49Z gravicappa quit (Ping timeout: 264 seconds) 2020-08-13T18:44:12Z orivej joined #lisp 2020-08-13T18:45:03Z jw4 quit (Read error: Connection reset by peer) 2020-08-13T18:45:46Z hiroaki quit (Ping timeout: 256 seconds) 2020-08-13T18:47:14Z jw4 joined #lisp 2020-08-13T18:59:19Z hiroaki joined #lisp 2020-08-13T18:59:34Z rumbler31 quit (Ping timeout: 246 seconds) 2020-08-13T19:08:10Z Aurora_v_kosmose quit (Quit: bbl) 2020-08-13T19:09:45Z yitzi quit (Ping timeout: 240 seconds) 2020-08-13T19:10:33Z yitzi joined #lisp 2020-08-13T19:12:16Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-08-13T19:20:27Z kaftejiman joined #lisp 2020-08-13T19:26:24Z jprajzne quit (Quit: jprajzne) 2020-08-13T19:26:39Z luckless quit (Remote host closed the connection) 2020-08-13T19:27:21Z luckless joined #lisp 2020-08-13T19:28:09Z duuqnd_ joined #lisp 2020-08-13T19:28:37Z duuqnd quit (Read error: Connection reset by peer) 2020-08-13T19:33:16Z rpg joined #lisp 2020-08-13T19:34:52Z yitzi quit (Read error: Connection reset by peer) 2020-08-13T19:35:57Z yitzi joined #lisp 2020-08-13T19:38:38Z shka_ quit (Ping timeout: 256 seconds) 2020-08-13T19:41:25Z mankaev joined #lisp 2020-08-13T19:43:17Z bhartrihari joined #lisp 2020-08-13T19:44:04Z Inline quit (Ping timeout: 256 seconds) 2020-08-13T19:44:28Z duuqnd_ quit (Quit: Leaving) 2020-08-13T19:49:36Z ggole quit (Quit: Leaving) 2020-08-13T19:49:53Z bhartrihari left #lisp 2020-08-13T19:50:08Z bhartrihari joined #lisp 2020-08-13T20:02:17Z aeth: IMO... You almost never want subseq except at the last stage of an operation (e.g. when you want to turn an adjustable string you just built up with vector-push-extend into a regular simple-string of a fixed length) 2020-08-13T20:02:59Z aeth: Almost everything for vectors/sequences should have start/end which should be used for vectors (including strings) until that point. If the API doesn't, patch it to! 2020-08-13T20:04:12Z Aurora_v_kosmose joined #lisp 2020-08-13T20:04:12Z markasoftware_ is now known as markasoftware 2020-08-13T20:05:05Z Bourne quit (Ping timeout: 240 seconds) 2020-08-13T20:15:43Z jesse1010 joined #lisp 2020-08-13T20:25:23Z wsinatra quit (Quit: WeeChat 2.9) 2020-08-13T20:26:12Z EvW quit (Ping timeout: 260 seconds) 2020-08-13T20:27:49Z easye quit (Quit: updating to emacs-27.`) 2020-08-13T20:28:18Z easye joined #lisp 2020-08-13T20:36:58Z theseb quit (Quit: Leaving) 2020-08-13T20:40:25Z tristero joined #lisp 2020-08-13T20:43:43Z shifty joined #lisp 2020-08-13T20:52:16Z EvW joined #lisp 2020-08-13T20:58:05Z dra joined #lisp 2020-08-13T20:58:31Z dra: Hello! 2020-08-13T20:58:56Z phoe: heyyyy 2020-08-13T21:14:01Z pve quit (Quit: leaving) 2020-08-13T21:17:10Z tristero left #lisp 2020-08-13T21:21:18Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2020-08-13T21:22:39Z EvW quit (Ping timeout: 246 seconds) 2020-08-13T21:30:45Z gravicappa joined #lisp 2020-08-13T21:32:26Z sonologico joined #lisp 2020-08-13T21:44:51Z mmmattyx joined #lisp 2020-08-13T21:45:15Z Bourne joined #lisp 2020-08-13T21:51:13Z gravicappa quit (Ping timeout: 264 seconds) 2020-08-13T22:04:16Z shifty quit (Ping timeout: 256 seconds) 2020-08-13T22:04:39Z rilez quit (Ping timeout: 245 seconds) 2020-08-13T22:04:42Z shifty joined #lisp 2020-08-13T22:07:30Z satousan joined #lisp 2020-08-13T22:08:54Z mindCrime quit (Excess Flood) 2020-08-13T22:09:20Z mindCrime joined #lisp 2020-08-13T22:09:32Z EvW1 joined #lisp 2020-08-13T22:14:01Z ebrasca quit (Remote host closed the connection) 2020-08-13T22:25:47Z jeosol quit (Remote host closed the connection) 2020-08-13T22:30:25Z Necktwi quit (Ping timeout: 240 seconds) 2020-08-13T22:36:07Z satousan quit (Quit: WeeChat 2.3) 2020-08-13T22:36:30Z Alfr_: Hm ... we do have logcount but no find first set? Am I missing something? 2020-08-13T22:40:25Z Josh_2 quit (Ping timeout: 240 seconds) 2020-08-13T22:41:32Z Bike: Alfr_: integer-length 2020-08-13T22:42:23Z Necktwi joined #lisp 2020-08-13T22:42:26Z sjl_ quit (Ping timeout: 260 seconds) 2020-08-13T22:43:02Z Alfr_: Oh, forgot about that. 2020-08-13T22:43:07Z Alfr_: Thanks Bike. :) 2020-08-13T22:43:55Z Alfr_: Its name doesn't start with log though. 2020-08-13T22:48:00Z libertyprime joined #lisp 2020-08-13T22:48:16Z _death: it is an evolution from the HAULONG operator 2020-08-13T22:52:14Z random-nick quit (Ping timeout: 260 seconds) 2020-08-13T23:06:05Z dra quit (Ping timeout: 240 seconds) 2020-08-13T23:12:24Z kaftejiman quit (Remote host closed the connection) 2020-08-13T23:15:28Z Oladon joined #lisp 2020-08-13T23:21:24Z mangoicedtea joined #lisp 2020-08-13T23:22:39Z _death: also, as far as I can tell, LOGCOUNT is a Common Lisp innovation (and its initial name was likely COUNT-BITS).. the pitmanual only shows 4 logxxx operators 2020-08-13T23:24:35Z kaftejiman joined #lisp 2020-08-13T23:36:27Z libertyprime quit (Quit: leaving) 2020-08-13T23:41:39Z gaqwas quit (Remote host closed the connection) 2020-08-14T00:04:33Z mmmattyx quit (Quit: Connection closed for inactivity) 2020-08-14T00:23:37Z leo_song quit (Quit: ZNC 1.7.2+deb3 - https://znc.in) 2020-08-14T00:23:58Z leo_song joined #lisp 2020-08-14T00:32:58Z natter quit (Remote host closed the connection) 2020-08-14T00:44:38Z rumbler31_ quit (Ping timeout: 256 seconds) 2020-08-14T00:49:28Z satousan joined #lisp 2020-08-14T00:54:02Z _whitelogger quit (Remote host closed the connection) 2020-08-14T00:54:41Z mangoicedtea quit (Quit: Leaving) 2020-08-14T00:56:12Z _whitelogger joined #lisp 2020-08-14T01:09:13Z akoana joined #lisp 2020-08-14T01:13:50Z caltelt joined #lisp 2020-08-14T01:14:26Z ajithmk joined #lisp 2020-08-14T01:21:09Z Oladon quit (Quit: Leaving.) 2020-08-14T01:23:03Z philweb joined #lisp 2020-08-14T01:38:34Z libertyprime joined #lisp 2020-08-14T01:46:40Z decreasedsales joined #lisp 2020-08-14T01:50:07Z jesse1010 quit (Ping timeout: 246 seconds) 2020-08-14T01:54:14Z libertyprime quit (Ping timeout: 260 seconds) 2020-08-14T01:56:08Z libertyprime joined #lisp 2020-08-14T01:56:16Z Oladon joined #lisp 2020-08-14T02:00:40Z zaquest quit (Quit: Leaving) 2020-08-14T02:04:43Z decreasedsales quit (Quit: Leaving) 2020-08-14T02:09:10Z caltelt quit (Ping timeout: 260 seconds) 2020-08-14T02:09:47Z EvW1 quit (Ping timeout: 260 seconds) 2020-08-14T02:10:39Z zaquest joined #lisp 2020-08-14T02:12:48Z libertyprime quit (Ping timeout: 256 seconds) 2020-08-14T02:14:44Z libertyprime joined #lisp 2020-08-14T02:20:47Z libertyprime quit (Quit: leaving) 2020-08-14T02:24:30Z elflng quit (Read error: No route to host) 2020-08-14T02:25:02Z elflng joined #lisp 2020-08-14T02:34:06Z libertyprime joined #lisp 2020-08-14T02:45:20Z libertyprime quit (Ping timeout: 256 seconds) 2020-08-14T02:46:00Z satousan quit (Quit: WeeChat 2.3) 2020-08-14T02:48:35Z Necktwi quit (Ping timeout: 240 seconds) 2020-08-14T02:48:44Z Necktwi joined #lisp 2020-08-14T02:53:51Z leo_song quit (*.net *.split) 2020-08-14T02:53:51Z Lord_of_Life quit (*.net *.split) 2020-08-14T02:53:51Z troydm quit (*.net *.split) 2020-08-14T02:53:51Z lottaquestions quit (*.net *.split) 2020-08-14T02:53:51Z vidak` quit (*.net *.split) 2020-08-14T02:53:51Z femi quit (*.net *.split) 2020-08-14T02:53:51Z peterhil quit (*.net *.split) 2020-08-14T02:53:51Z Mawile quit (*.net *.split) 2020-08-14T02:53:51Z gko quit (*.net *.split) 2020-08-14T02:53:52Z niceplace quit (*.net *.split) 2020-08-14T02:53:52Z jackdaniel quit (*.net *.split) 2020-08-14T02:53:52Z minion quit (*.net *.split) 2020-08-14T02:53:52Z cmatei quit (*.net *.split) 2020-08-14T02:53:52Z tychoish quit (*.net *.split) 2020-08-14T02:53:52Z sbryant quit (*.net *.split) 2020-08-14T02:53:52Z Patternmaster quit (*.net *.split) 2020-08-14T02:53:52Z Robdgreat quit (*.net *.split) 2020-08-14T02:53:52Z add^_ quit (*.net *.split) 2020-08-14T02:53:52Z borodust quit (*.net *.split) 2020-08-14T02:53:52Z samebchase quit (*.net *.split) 2020-08-14T02:53:52Z Colleen quit (*.net *.split) 2020-08-14T02:53:52Z drewc quit (*.net *.split) 2020-08-14T02:53:52Z cyberlard quit (*.net *.split) 2020-08-14T02:53:52Z Fade quit (*.net *.split) 2020-08-14T02:53:52Z MetaYan quit (*.net *.split) 2020-08-14T02:53:53Z epony quit (*.net *.split) 2020-08-14T02:53:53Z akkad quit (*.net *.split) 2020-08-14T02:53:53Z sukaeto quit (*.net *.split) 2020-08-14T02:53:53Z dlowe quit (*.net *.split) 2020-08-14T02:53:53Z Firedancer_ quit (*.net *.split) 2020-08-14T02:54:30Z epony joined #lisp 2020-08-14T02:54:30Z akkad joined #lisp 2020-08-14T02:54:30Z sukaeto joined #lisp 2020-08-14T02:54:30Z dlowe joined #lisp 2020-08-14T02:54:30Z Firedancer_ joined #lisp 2020-08-14T02:55:34Z epony quit (Max SendQ exceeded) 2020-08-14T02:56:03Z epony joined #lisp 2020-08-14T02:57:13Z Krystof quit (Ping timeout: 264 seconds) 2020-08-14T02:59:48Z leo_song joined #lisp 2020-08-14T02:59:48Z Lord_of_Life joined #lisp 2020-08-14T02:59:48Z troydm joined #lisp 2020-08-14T02:59:48Z lottaquestions joined #lisp 2020-08-14T02:59:48Z vidak` joined #lisp 2020-08-14T02:59:48Z femi joined #lisp 2020-08-14T02:59:48Z peterhil joined #lisp 2020-08-14T02:59:48Z Mawile joined #lisp 2020-08-14T02:59:48Z Patternmaster joined #lisp 2020-08-14T02:59:48Z gko joined #lisp 2020-08-14T02:59:48Z niceplace joined #lisp 2020-08-14T02:59:48Z jackdaniel joined #lisp 2020-08-14T02:59:48Z minion joined #lisp 2020-08-14T02:59:48Z cmatei joined #lisp 2020-08-14T02:59:48Z tychoish joined #lisp 2020-08-14T02:59:48Z sbryant joined #lisp 2020-08-14T02:59:48Z Robdgreat joined #lisp 2020-08-14T02:59:48Z add^_ joined #lisp 2020-08-14T02:59:48Z borodust joined #lisp 2020-08-14T02:59:48Z samebchase joined #lisp 2020-08-14T02:59:48Z Colleen joined #lisp 2020-08-14T02:59:48Z drewc joined #lisp 2020-08-14T02:59:48Z cyberlard joined #lisp 2020-08-14T02:59:48Z Fade joined #lisp 2020-08-14T02:59:48Z MetaYan joined #lisp 2020-08-14T03:01:52Z Alfr__ joined #lisp 2020-08-14T03:04:38Z Alfr_ quit (Ping timeout: 260 seconds) 2020-08-14T03:06:51Z Alfr__ is now known as Alfr 2020-08-14T03:16:17Z mindCrime quit (Ping timeout: 260 seconds) 2020-08-14T03:17:33Z beach: Good morning everyone! 2020-08-14T03:22:32Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-08-14T03:22:40Z ajithmk quit (Quit: Connection closed for inactivity) 2020-08-14T03:23:39Z Bike quit (Quit: leaving) 2020-08-14T03:32:07Z satousan joined #lisp 2020-08-14T03:33:53Z devon joined #lisp 2020-08-14T03:38:26Z hendursa1 joined #lisp 2020-08-14T03:39:43Z hendursaga quit (Ping timeout: 240 seconds) 2020-08-14T03:40:27Z epony quit (Remote host closed the connection) 2020-08-14T03:41:16Z epony joined #lisp 2020-08-14T03:52:47Z devon quit (Ping timeout: 260 seconds) 2020-08-14T03:54:26Z edgar-rft quit (Quit: Leaving) 2020-08-14T04:05:31Z Oladon1 joined #lisp 2020-08-14T04:06:13Z Oladon quit (Ping timeout: 264 seconds) 2020-08-14T04:07:31Z cybercafe quit (Disconnected by services) 2020-08-14T04:07:51Z zigpaw1 joined #lisp 2020-08-14T04:10:26Z zigpaw quit (Quit: Ping timeout (120 seconds)) 2020-08-14T04:19:27Z Oladon1 quit (Quit: Leaving.) 2020-08-14T04:20:18Z Lord_of_Life quit (Ping timeout: 256 seconds) 2020-08-14T04:20:20Z Lord_of_Life_ joined #lisp 2020-08-14T04:21:40Z Lord_of_Life_ is now known as Lord_of_Life 2020-08-14T04:25:02Z luckless quit (Remote host closed the connection) 2020-08-14T04:25:41Z luckless joined #lisp 2020-08-14T04:28:54Z thingamabobber joined #lisp 2020-08-14T04:29:01Z thingamabobber quit (Client Quit) 2020-08-14T04:31:55Z wusticality joined #lisp 2020-08-14T04:32:33Z vutral joined #lisp 2020-08-14T04:37:19Z bocaneri joined #lisp 2020-08-14T04:46:22Z sauvin_ joined #lisp 2020-08-14T04:46:52Z bocaneri quit (Ping timeout: 246 seconds) 2020-08-14T04:51:02Z _whitelogger quit (Remote host closed the connection) 2020-08-14T04:53:13Z _whitelogger joined #lisp 2020-08-14T04:57:11Z mankaev quit (Ping timeout: 272 seconds) 2020-08-14T04:58:45Z mankaev joined #lisp 2020-08-14T05:10:09Z gravicappa joined #lisp 2020-08-14T05:15:02Z _whitelogger quit (Remote host closed the connection) 2020-08-14T05:15:04Z libertyprime joined #lisp 2020-08-14T05:17:13Z _whitelogger joined #lisp 2020-08-14T05:17:26Z bhartrihari left #lisp 2020-08-14T05:17:48Z bhartrihari joined #lisp 2020-08-14T05:20:42Z Oladon joined #lisp 2020-08-14T05:31:30Z wusticality quit (Remote host closed the connection) 2020-08-14T05:33:21Z space_otter joined #lisp 2020-08-14T05:37:30Z bsd4me quit (Quit: Leaving) 2020-08-14T05:39:13Z libertyprime quit (Ping timeout: 264 seconds) 2020-08-14T05:40:47Z libertyprime joined #lisp 2020-08-14T05:41:01Z Oladon quit (Read error: Connection reset by peer) 2020-08-14T05:41:57Z Oladon joined #lisp 2020-08-14T05:47:34Z sympt quit (Read error: Connection reset by peer) 2020-08-14T05:47:59Z sympt joined #lisp 2020-08-14T05:48:42Z kapil_ quit (Quit: ZNC 1.7.5 - https://znc.in) 2020-08-14T05:48:51Z kapil_ joined #lisp 2020-08-14T05:50:45Z kbtr quit (Ping timeout: 240 seconds) 2020-08-14T05:50:45Z d4ryus quit (Ping timeout: 240 seconds) 2020-08-14T05:51:45Z kbtr joined #lisp 2020-08-14T05:51:48Z d4ryus joined #lisp 2020-08-14T06:02:39Z shka_ joined #lisp 2020-08-14T06:04:45Z shifty quit (Ping timeout: 240 seconds) 2020-08-14T06:05:40Z shifty joined #lisp 2020-08-14T06:06:58Z markasoftware: are (declare)'d argument types always enforced? 2020-08-14T06:08:46Z libertyprime quit (Ping timeout: 256 seconds) 2020-08-14T06:10:29Z libertyprime joined #lisp 2020-08-14T06:12:44Z mfiano: Implementation must only obey the declaration identifiers NOTINLINE, SPECIAL, and conform to some OPTIMIZE/SAFETY rules 2020-08-14T06:17:23Z aeth: This is why I'm going to eventually put in the work to change the default behavior of my DEFINE-FUNCTION macro to be implementation-specific: i.e. DECLARE when it works (* unfortunately in SBCL with (safety 0) imo it doesn't "work" and I don't think there's a way to detect that) and CHECK-TYPE when DECLARE is ignored 2020-08-14T06:17:57Z aeth: But short of putting in too much effort writing a macro that does both DECLARE and CHECK-TYPE, if you must have it checked as a priority use CHECK-TYPE and assume DECLARE is for optional performance. 2020-08-14T06:19:16Z Necktwi quit (Ping timeout: 246 seconds) 2020-08-14T06:28:25Z edgar-rft joined #lisp 2020-08-14T06:31:08Z jackdaniel: sbcl adds declare /type/ and check-type are independent spec wise. sbcl indeed usually adds check-type, but that's its custom safety policy 2020-08-14T06:32:45Z aeth: SBCL's DECLARE (when not (safety 0)) has afaik two distinctions from CHECK-TYPE. (1) you cannot provide an object at runtime that satisfies the type if you give an object of the wrong type, which probably speeds things up a tiny bit; and, (2) it gives information for type inference and a bit of static checking 2020-08-14T06:33:23Z aeth: (with CHECK-TYPE, it infers that the object in the variable before that point is of type T since it can be anything and the user can just provide something of the correct type after that point) 2020-08-14T06:35:01Z aeth: It calls the CHECK-TYPE error a SIMPLE-TYPE-ERROR and the DECLARE error a TYPE-ERROR. 2020-08-14T06:35:37Z gravicappa quit (Ping timeout: 264 seconds) 2020-08-14T06:36:12Z Necktwi joined #lisp 2020-08-14T06:36:21Z aeth: It's a bit confusing, but beyond this, SBCL internally distinguishes between an inferred type and a declared type, which can differ. The only place where this is really exposed in a convenient way is in SLIME's debugger, but there are probably some internal functions for that. 2020-08-14T06:41:52Z Oladon quit (Quit: Leaving.) 2020-08-14T06:43:38Z aeth: Oh, and it also does the DECLARE type check at a different point in the function, before the output of the standard DISASSEMBLE, which you can only see with sb-disassem:disassemble-code-component. 2020-08-14T06:43:56Z aeth: This is its typecheck for LIST when doing CAR... notice how it's only in the second disassemble: 2020-08-14T06:44:00Z aeth: (format t "Standard disassemble of CAR~%~%") (disassemble #'car) (format t "~%Full disassemble of CAR~%~%") (sb-disassem:disassemble-code-component #'car) 2020-08-14T06:50:02Z pve joined #lisp 2020-08-14T06:55:57Z yitzi_ joined #lisp 2020-08-14T06:56:28Z edgar-rft quit (Quit: Leaving) 2020-08-14T06:56:35Z shifty quit (Ping timeout: 240 seconds) 2020-08-14T06:57:17Z shifty joined #lisp 2020-08-14T06:57:30Z yitzi quit (Ping timeout: 256 seconds) 2020-08-14T06:57:30Z yitzi_ is now known as yitzi 2020-08-14T07:01:20Z vutral quit (Quit: Connection closed for inactivity) 2020-08-14T07:01:47Z shifty quit (Ping timeout: 240 seconds) 2020-08-14T07:02:45Z shifty joined #lisp 2020-08-14T07:02:57Z jonatack quit (Ping timeout: 260 seconds) 2020-08-14T07:08:25Z libertyprime quit (Ping timeout: 240 seconds) 2020-08-14T07:08:43Z libertyprime joined #lisp 2020-08-14T07:08:50Z shifty quit (Ping timeout: 256 seconds) 2020-08-14T07:10:56Z shifty joined #lisp 2020-08-14T07:13:12Z kaftejiman quit (Ping timeout: 256 seconds) 2020-08-14T07:19:46Z arbv quit (Quit: ZNC - https://znc.in) 2020-08-14T07:21:10Z arbv joined #lisp 2020-08-14T07:22:16Z libertyprime quit (Ping timeout: 246 seconds) 2020-08-14T07:25:46Z shifty quit (Ping timeout: 246 seconds) 2020-08-14T07:26:04Z shifty joined #lisp 2020-08-14T07:33:47Z shifty quit (Ping timeout: 240 seconds) 2020-08-14T07:34:29Z shifty joined #lisp 2020-08-14T07:35:28Z ggole joined #lisp 2020-08-14T07:37:45Z red-dot quit (Remote host closed the connection) 2020-08-14T07:46:17Z phoe: > and I don't think there's a way to detect that 2020-08-14T07:47:40Z phoe: aeth: (sb-ext:restrict-compiler-policy) and check the output 2020-08-14T07:48:11Z shifty quit (Ping timeout: 265 seconds) 2020-08-14T07:48:26Z aeth: great 2020-08-14T07:48:44Z shifty joined #lisp 2020-08-14T07:48:54Z aeth: I wonder if inserting CHECK-TYPES for (safety 0) and slowing down code would be what users want, though. 2020-08-14T07:49:12Z aeth: (I think I'd also have to parse DECLARE to check for OPTIMIZE, but that's easy) 2020-08-14T07:52:11Z aeth: Unrelated, but I found a small bug in my DEFINE-FUNCTION while writing a bunch of simple REPL cases because of this conversation, which I guess is one of the reasons why I don't recommend anyone should use it yet. There's a lot of surface area to cover. 2020-08-14T07:53:56Z peterhil quit (Ping timeout: 256 seconds) 2020-08-14T08:00:05Z jonatack joined #lisp 2020-08-14T08:01:28Z phoe: aeth: I wouldn't expect typechecks on safety 0 2020-08-14T08:02:08Z phoe: if I explicitly tell the compiler to use no safety, then I'd expect the compiler to use no safety 2020-08-14T08:05:01Z shifty quit (Ping timeout: 264 seconds) 2020-08-14T08:06:04Z shifty joined #lisp 2020-08-14T08:07:07Z beach: phoe: That's a strange thing to want in itself, though, don't you think? 2020-08-14T08:08:33Z aeth: phoe: The problem is that SBCL's (safety 0) is essentially semantically broken and is even less safe than C. It removes runtime checks like a lot of languages can do, as expected, but it also removes static checking that the compiler can do, making bugs way easier to write. 2020-08-14T08:09:39Z aeth: There are very few reasons to use it, and those can all be inside of LOCALLY, not done globally or per-function. 2020-08-14T08:09:54Z hendursaga joined #lisp 2020-08-14T08:10:28Z aeth: But, I mean, if that's what they want, then I guess I shouldn't undermine that in a macro by adding CHECK-TYPEs. 2020-08-14T08:12:03Z hendursa1 quit (Ping timeout: 240 seconds) 2020-08-14T08:12:28Z aeth: (Okay, the reason to use it globally is benchmarks, I guess, but it's not a useful benchmark mode if the only acceptable time to run it is in benchmarks.) 2020-08-14T08:19:14Z gaqwas joined #lisp 2020-08-14T08:19:14Z gaqwas quit (Changing host) 2020-08-14T08:19:15Z gaqwas joined #lisp 2020-08-14T08:20:45Z shifty quit (Ping timeout: 240 seconds) 2020-08-14T08:21:25Z shifty joined #lisp 2020-08-14T08:24:15Z phoe: beach: sure, but that's not the part that I want to discuss here 2020-08-14T08:24:40Z space_otter quit (Remote host closed the connection) 2020-08-14T08:29:43Z akoana left #lisp 2020-08-14T08:34:11Z Bourne quit (Ping timeout: 240 seconds) 2020-08-14T08:45:16Z MMMNNNO joined #lisp 2020-08-14T08:45:44Z jonatack quit (Ping timeout: 256 seconds) 2020-08-14T08:46:00Z MMMNNNO left #lisp 2020-08-14T08:47:41Z gioyik quit (Quit: WeeChat 2.9) 2020-08-14T08:51:07Z peterhil joined #lisp 2020-08-14T08:55:24Z igemnace joined #lisp 2020-08-14T09:02:32Z bhartrihari left #lisp 2020-08-14T09:02:40Z bhartrihari joined #lisp 2020-08-14T09:03:39Z dddddd_ is now known as dddddd 2020-08-14T09:11:30Z shifty quit (Ping timeout: 260 seconds) 2020-08-14T09:11:42Z shifty joined #lisp 2020-08-14T09:19:24Z dra joined #lisp 2020-08-14T09:24:30Z jdz: aeth, phoe: Maybe relevant: (sb-ext:describe-compiler-policy). 2020-08-14T09:25:10Z phoe: jdz: it prints to standard output instead of being queryable programmatically 2020-08-14T09:25:56Z phoe: restrict-compiler-policy without arguments returns some meaningful Lisp values... but I wonder if/how that is usable in macroexpansion time 2020-08-14T09:27:01Z jdz: I was trying to point to a place where the distinctions between DECLARE of SAFETY and CHECK-TYPE might be found. 2020-08-14T09:30:11Z orivej quit (Ping timeout: 240 seconds) 2020-08-14T09:31:23Z jesse1010 joined #lisp 2020-08-14T09:32:45Z dra quit (Remote host closed the connection) 2020-08-14T09:33:05Z dra joined #lisp 2020-08-14T09:39:21Z shifty quit (Ping timeout: 265 seconds) 2020-08-14T09:52:43Z jonatack joined #lisp 2020-08-14T09:54:40Z philweb quit (Ping timeout: 245 seconds) 2020-08-14T09:58:23Z phoe: ooh - I see 2020-08-14T10:07:29Z kaftejiman joined #lisp 2020-08-14T10:08:54Z benjamin-l joined #lisp 2020-08-14T10:29:20Z benjamin-l quit (Ping timeout: 244 seconds) 2020-08-14T10:34:22Z cosimone joined #lisp 2020-08-14T10:42:59Z cosimone quit (Read error: Connection reset by peer) 2020-08-14T10:43:19Z igemnace quit (Remote host closed the connection) 2020-08-14T10:47:45Z cosimone joined #lisp 2020-08-14T10:50:55Z random-nick joined #lisp 2020-08-14T10:51:10Z yitzi quit (Quit: yitzi) 2020-08-14T10:54:56Z cosimone quit (Quit: Quit.) 2020-08-14T10:56:13Z cosimone joined #lisp 2020-08-14T10:59:18Z Krystof joined #lisp 2020-08-14T11:02:15Z ghard joined #lisp 2020-08-14T11:04:26Z bitmapper quit (Ping timeout: 260 seconds) 2020-08-14T11:05:23Z ayuce quit (Ping timeout: 240 seconds) 2020-08-14T11:05:34Z Necktwi quit (Ping timeout: 246 seconds) 2020-08-14T11:12:06Z cosimone quit (Remote host closed the connection) 2020-08-14T11:12:41Z Necktwi joined #lisp 2020-08-14T11:16:13Z benjamin-l joined #lisp 2020-08-14T11:21:17Z scymtym quit (Read error: Connection reset by peer) 2020-08-14T11:21:32Z gravicappa joined #lisp 2020-08-14T11:22:14Z Bourne joined #lisp 2020-08-14T11:23:57Z jello_pudding quit (Ping timeout: 260 seconds) 2020-08-14T11:25:43Z jello_pudding joined #lisp 2020-08-14T11:26:47Z scymtym joined #lisp 2020-08-14T11:35:14Z Inoperable quit (Quit: All your buffer are belong to us!) 2020-08-14T11:36:22Z Bourne quit (Ping timeout: 246 seconds) 2020-08-14T11:38:03Z jello_pudding quit (Ping timeout: 244 seconds) 2020-08-14T11:44:56Z jello_pudding joined #lisp 2020-08-14T11:46:22Z X-Scale` joined #lisp 2020-08-14T11:46:59Z X-Scale quit (Ping timeout: 240 seconds) 2020-08-14T11:47:18Z X-Scale` is now known as X-Scale 2020-08-14T11:50:37Z Inoperable joined #lisp 2020-08-14T11:59:37Z cosimone joined #lisp 2020-08-14T12:00:49Z Bourne joined #lisp 2020-08-14T12:02:52Z cosimone quit (Remote host closed the connection) 2020-08-14T12:03:11Z benjamin-l quit (Quit: WeeChat 2.9) 2020-08-14T12:05:41Z bhartrihari left #lisp 2020-08-14T12:05:58Z bhartrihari joined #lisp 2020-08-14T12:16:57Z kaftejiman quit (Remote host closed the connection) 2020-08-14T12:19:54Z hendursaga quit (Quit: hendursaga) 2020-08-14T12:20:09Z hendursaga joined #lisp 2020-08-14T12:31:09Z wsinatra joined #lisp 2020-08-14T12:33:37Z natter joined #lisp 2020-08-14T12:35:40Z orivej joined #lisp 2020-08-14T12:37:44Z natter quit (Remote host closed the connection) 2020-08-14T12:39:22Z natter joined #lisp 2020-08-14T12:46:43Z hiroaki quit (Ping timeout: 246 seconds) 2020-08-14T12:47:24Z gko_ joined #lisp 2020-08-14T12:48:22Z hiroaki joined #lisp 2020-08-14T12:49:47Z Necktwi quit (Ping timeout: 265 seconds) 2020-08-14T12:58:42Z jackdaniel: fe[nl]ix: re barriers documentation: https://gitlab.com/embeddable-common-lisp/ecl/-/merge_requests/225 2020-08-14T12:59:54Z Lord_of_Life quit (Read error: Connection reset by peer) 2020-08-14T13:00:00Z jackdaniel: for those who are interested in ecl history, the graph of inheritance has changed - apparently ECL is a descendant of DELPHI Common Lisp (the history chapter is updated) 2020-08-14T13:00:23Z Lord_of_Life joined #lisp 2020-08-14T13:02:37Z __jrjsmrtn__ quit (Ping timeout: 264 seconds) 2020-08-14T13:03:02Z gendl: jackdaniel: history chapter? Is there a book going on that i've missed? (I don't keep up in this channel enough..) 2020-08-14T13:03:24Z mankaev quit (Ping timeout: 256 seconds) 2020-08-14T13:03:49Z __jrjsmrtn__ joined #lisp 2020-08-14T13:04:01Z jackdaniel: gendl: ECL's manual has a chapter "History", in this pull request I've incorporated some information kindly provided by professor Attardi 2020-08-14T13:04:18Z gendl: ah. 2020-08-14T13:04:27Z jackdaniel: (ECL history dates back to 1984 when KCL was developed) 2020-08-14T13:14:01Z Bike joined #lisp 2020-08-14T13:14:05Z Lord_of_Life_ joined #lisp 2020-08-14T13:14:24Z Lord_of_Life quit (Read error: Connection reset by peer) 2020-08-14T13:16:53Z Lord_of_Life_ is now known as Lord_of_Life 2020-08-14T13:25:58Z phoe: jackdaniel: nice! 2020-08-14T13:35:17Z contrapunctus left #lisp 2020-08-14T13:35:50Z bhartrihari left #lisp 2020-08-14T13:35:57Z contrapunctus joined #lisp 2020-08-14T13:38:21Z bhartrihari joined #lisp 2020-08-14T13:51:02Z _whitelogger quit (Remote host closed the connection) 2020-08-14T13:51:24Z dra quit (Read error: Connection reset by peer) 2020-08-14T13:51:32Z dra joined #lisp 2020-08-14T13:53:13Z _whitelogger joined #lisp 2020-08-14T13:57:37Z rippa joined #lisp 2020-08-14T14:02:17Z ahungry joined #lisp 2020-08-14T14:03:12Z vutral joined #lisp 2020-08-14T14:07:13Z renzhi joined #lisp 2020-08-14T14:07:16Z dra quit (Remote host closed the connection) 2020-08-14T14:13:15Z mason joined #lisp 2020-08-14T14:18:20Z yitzi joined #lisp 2020-08-14T14:22:59Z rpg joined #lisp 2020-08-14T14:28:01Z gaqwas quit (Remote host closed the connection) 2020-08-14T14:36:09Z sjl_ joined #lisp 2020-08-14T14:37:05Z Cymew quit (Ping timeout: 265 seconds) 2020-08-14T14:50:05Z jackdaniel: sjl: a fix for the loop dbind is waiting for the review 2020-08-14T14:50:59Z yitzi quit (Quit: yitzi) 2020-08-14T14:57:56Z sjl_: Interesting. That doesn't break anything else? Any why do you need it after every sublist? Won't a single &optional at the beginning do the same thing? 2020-08-14T14:58:45Z sjl_: Oh, no, I see. by sublist you mean tree 2020-08-14T14:59:13Z sjl_: I was thinking it was going to do (&optional x &optional y &optional z). Haven't had coffee yet. 2020-08-14T15:06:40Z bsd4me joined #lisp 2020-08-14T15:06:53Z mankaev joined #lisp 2020-08-14T15:08:21Z contrapunctus left #lisp 2020-08-14T15:09:00Z contrapunctus joined #lisp 2020-08-14T15:15:14Z ghard quit (Remote host closed the connection) 2020-08-14T15:15:21Z ghard joined #lisp 2020-08-14T15:15:39Z mankaev quit 2020-08-14T15:30:19Z Bit_MCP joined #lisp 2020-08-14T15:31:16Z bitmapper joined #lisp 2020-08-14T15:31:35Z jackdaniel: afaik it does not break anything 2020-08-14T15:33:01Z stepnem quit (Ping timeout: 256 seconds) 2020-08-14T15:39:14Z stepnem joined #lisp 2020-08-14T15:49:06Z gko_ quit (Ping timeout: 260 seconds) 2020-08-14T15:50:23Z telior joined #lisp 2020-08-14T15:51:46Z phoe: https://github.com/Clozure/ccl/issues/338 2020-08-14T15:51:56Z phoe: is DECLAIM in such a position supposed to work the same way DECLARE does? 2020-08-14T15:52:01Z phoe: I don't think so 2020-08-14T15:54:05Z bsd4me left #lisp 2020-08-14T15:56:41Z Bourne quit (Read error: Connection reset by peer) 2020-08-14T15:57:05Z Bike: declaim puts a declaration in the global environment 2020-08-14T15:57:18Z Bike: so this is sort of like putting defun in a function body 2020-08-14T15:57:56Z Bike: the actual issue this person is complaininga bout is that ccl doesn't detect the type mismatch, but of course there's no requirement to do so 2020-08-14T15:58:22Z phoe: neither do ECL, ABCL, CLISP, ACL, or LW 2020-08-14T15:58:26Z phoe: I don't have a clasp to check on 2020-08-14T15:58:49Z Bike: pretty sure it won't 2020-08-14T15:59:32Z phoe: commented there - please check if I got it right 2020-08-14T16:00:44Z Bike: yeah, declaim = proclaim and proclaim isn't required to signal anything 2020-08-14T16:06:30Z rumbler31_ joined #lisp 2020-08-14T16:08:44Z jackdaniel: proclaim and declaim have slightly different semantics 2020-08-14T16:08:57Z jackdaniel: I can elaboratecwhen not on phone 2020-08-14T16:10:43Z Bike: well declaim has compile time side effects yeah 2020-08-14T16:10:48Z Bike: in this particular caae that's not relevant tho 2020-08-14T16:12:30Z fwoaroof[m]: SBCL only warns "STYLE-WARNING: DECLAIM where DECLARE was probably intended" 2020-08-14T16:12:52Z vutral quit (Quit: Connection closed for inactivity) 2020-08-14T16:19:19Z bhartrihari left #lisp 2020-08-14T16:19:37Z bhartrihari joined #lisp 2020-08-14T16:19:45Z CodeSpelunker joined #lisp 2020-08-14T16:19:54Z Bit_MCP quit (Ping timeout: 260 seconds) 2020-08-14T16:21:49Z Lord_of_Life quit (Ping timeout: 264 seconds) 2020-08-14T16:26:28Z Lord_of_Life joined #lisp 2020-08-14T16:27:11Z oxum joined #lisp 2020-08-14T16:29:42Z gaqwas joined #lisp 2020-08-14T16:33:55Z oxum quit (Remote host closed the connection) 2020-08-14T16:34:47Z Bit_MCP joined #lisp 2020-08-14T16:34:55Z oxum joined #lisp 2020-08-14T16:37:36Z liberliver quit (Ping timeout: 256 seconds) 2020-08-14T16:40:25Z oxum quit (Ping timeout: 264 seconds) 2020-08-14T16:42:07Z edgar-rft joined #lisp 2020-08-14T17:03:37Z Bourne joined #lisp 2020-08-14T17:05:39Z Oladon joined #lisp 2020-08-14T17:09:33Z oxum joined #lisp 2020-08-14T17:10:32Z satousan quit (Quit: WeeChat 2.3) 2020-08-14T17:11:36Z Bit_MCP quit (Ping timeout: 256 seconds) 2020-08-14T17:14:45Z oxum quit (Ping timeout: 240 seconds) 2020-08-14T17:23:17Z duuqnd joined #lisp 2020-08-14T17:29:46Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-08-14T17:42:56Z gaqwas quit (Remote host closed the connection) 2020-08-14T17:46:19Z Jesin joined #lisp 2020-08-14T17:47:22Z oxum joined #lisp 2020-08-14T17:48:07Z yitzi joined #lisp 2020-08-14T17:49:02Z X-Scale quit (Ping timeout: 260 seconds) 2020-08-14T17:49:52Z rpg joined #lisp 2020-08-14T17:55:45Z X-Scale joined #lisp 2020-08-14T17:59:08Z orivej quit (Ping timeout: 256 seconds) 2020-08-14T18:06:58Z mankaev joined #lisp 2020-08-14T18:11:50Z Oladon quit (Quit: Leaving.) 2020-08-14T18:13:56Z MichaelRaskin joined #lisp 2020-08-14T18:13:56Z CodeSpelunker2 joined #lisp 2020-08-14T18:14:35Z mankaev quit (Quit: ZNC 1.6.6 - http://znc.in) 2020-08-14T18:14:46Z mankaev joined #lisp 2020-08-14T18:16:42Z CodeSpelunker quit (Ping timeout: 256 seconds) 2020-08-14T18:20:47Z gaqwas joined #lisp 2020-08-14T18:20:54Z oxum quit (Ping timeout: 256 seconds) 2020-08-14T18:41:58Z gaqwas quit (Remote host closed the connection) 2020-08-14T18:45:11Z jw4 quit (Read error: Connection reset by peer) 2020-08-14T18:46:59Z jw4 joined #lisp 2020-08-14T18:49:42Z oxum joined #lisp 2020-08-14T18:54:26Z jw4 quit (Read error: Connection reset by peer) 2020-08-14T18:55:33Z jw4 joined #lisp 2020-08-14T18:55:45Z oxum quit (Ping timeout: 240 seconds) 2020-08-14T18:59:16Z nullman quit (Quit: leaving) 2020-08-14T18:59:45Z nullman joined #lisp 2020-08-14T19:01:21Z gaqwas joined #lisp 2020-08-14T19:03:19Z jonatack quit (Ping timeout: 272 seconds) 2020-08-14T19:03:40Z jonatack joined #lisp 2020-08-14T19:11:01Z aeth: phoe: To be fair, anything that prints to *standard-output* can print to `(with-output-to-string (*standard-output*`... and be grepped with cl-ppcre, so while not ideal, it technically provides a "Lisp value" 2020-08-14T19:11:58Z aeth: (well, I guess not *g*repped.) 2020-08-14T19:13:32Z q3d joined #lisp 2020-08-14T19:13:35Z phoe: aeth: yes, but it's vomit-inducing 2020-08-14T19:14:33Z aeth: agreed, it's just that this channel likes to be really technical 2020-08-14T19:14:57Z aeth: I think I'd call it a "fragile value" or something if it's in a string. Yeah, you can get it, but it is even less protected from breaking than normal implementation internals. 2020-08-14T19:15:13Z aeth: (a string or a stream, which are essentially equivalent if you want the data since you can turn one into the other) 2020-08-14T19:16:53Z aeth: (to be really technical, equivalent in this particular use case... obviously you can e.g. have an interactive stream or something like that) 2020-08-14T19:17:48Z Bit_MCP joined #lisp 2020-08-14T19:18:19Z Bit_MCP quit (Remote host closed the connection) 2020-08-14T19:24:57Z oxum joined #lisp 2020-08-14T19:27:36Z gaqwas quit (Ping timeout: 256 seconds) 2020-08-14T19:28:42Z ghard quit (Ping timeout: 260 seconds) 2020-08-14T19:29:50Z MichaelRaskin quit (Ping timeout: 260 seconds) 2020-08-14T19:31:05Z oxum quit (Ping timeout: 240 seconds) 2020-08-14T19:32:52Z nullman quit (Quit: leaving) 2020-08-14T19:34:33Z nullman joined #lisp 2020-08-14T19:38:03Z luckless quit (Ping timeout: 240 seconds) 2020-08-14T19:39:23Z luckless joined #lisp 2020-08-14T19:43:38Z galex-713 joined #lisp 2020-08-14T20:01:26Z nullman quit (Quit: leaving) 2020-08-14T20:04:33Z nullman joined #lisp 2020-08-14T20:04:56Z rumbler31_ quit (Ping timeout: 256 seconds) 2020-08-14T20:06:09Z oxum joined #lisp 2020-08-14T20:06:59Z sauvin_ is now known as Sauvin 2020-08-14T20:07:43Z shifty joined #lisp 2020-08-14T20:08:02Z C-16 joined #lisp 2020-08-14T20:12:49Z oxum quit (Ping timeout: 264 seconds) 2020-08-14T20:13:37Z gaqwas joined #lisp 2020-08-14T20:13:37Z gaqwas quit (Changing host) 2020-08-14T20:13:37Z gaqwas joined #lisp 2020-08-14T20:14:38Z nullman quit (Quit: leaving) 2020-08-14T20:15:10Z nullman joined #lisp 2020-08-14T20:18:12Z gaqwas quit (Ping timeout: 256 seconds) 2020-08-14T20:29:04Z nullman quit (Quit: leaving) 2020-08-14T20:29:25Z nullman joined #lisp 2020-08-14T20:31:21Z wsinatra quit (Quit: WeeChat 2.9) 2020-08-14T20:37:10Z yitzi quit (Quit: yitzi) 2020-08-14T20:41:42Z Lycurgus joined #lisp 2020-08-14T20:42:40Z ggole quit (Quit: Leaving) 2020-08-14T20:44:43Z oxum joined #lisp 2020-08-14T20:47:46Z akoana joined #lisp 2020-08-14T20:50:16Z oxum quit (Ping timeout: 256 seconds) 2020-08-14T20:51:37Z galex-713 quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) 2020-08-14T20:52:32Z v3ga joined #lisp 2020-08-14T20:53:38Z galex-713 joined #lisp 2020-08-14T20:58:20Z q3d quit (Remote host closed the connection) 2020-08-14T21:00:11Z shifty quit (Ping timeout: 240 seconds) 2020-08-14T21:00:24Z shifty joined #lisp 2020-08-14T21:05:28Z Lycurgus quit (Remote host closed the connection) 2020-08-14T21:06:38Z mindCrime joined #lisp 2020-08-14T21:12:38Z theseb joined #lisp 2020-08-14T21:17:08Z ahungry quit (Ping timeout: 256 seconds) 2020-08-14T21:18:52Z oxum joined #lisp 2020-08-14T21:18:57Z ahungry joined #lisp 2020-08-14T21:24:11Z kaftejiman joined #lisp 2020-08-14T21:33:34Z shifty quit (Ping timeout: 256 seconds) 2020-08-14T21:34:29Z shifty joined #lisp 2020-08-14T21:35:23Z ralt: hm 2020-08-14T21:36:14Z ralt: it is probably a dumb question, but how do you set bitflags? I have 16 bits where I want to set some bit flags, and having to have each bit flag being e.g. #*0000000000000001 sounds a bit... wasteful 2020-08-14T21:36:20Z ralt: is there something I'm missing? 2020-08-14T21:38:36Z Bike: clhs bit-ior 2020-08-14T21:38:36Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_bt_and.htm 2020-08-14T21:38:38Z Bike: maybe? 2020-08-14T21:39:21Z ralt: I've found that, yes 2020-08-14T21:39:24Z pve quit (Quit: leaving) 2020-08-14T21:39:32Z ralt: I just find the syntax to write a flag a bit cumbersome 2020-08-14T21:39:36Z ralt: if not error-prone 2020-08-14T21:40:28Z gravicappa quit (Ping timeout: 246 seconds) 2020-08-14T21:41:34Z ralt: like, one of my flags is #*0000000000000001, so I can run (bit-ior ... my-flag), but is there a better way to write my-flag then (defvar my-flag #*0000.....1)? 2020-08-14T21:41:42Z ralt: s/then/than/ 2020-08-14T21:42:40Z orivej joined #lisp 2020-08-14T21:43:26Z CodeSpelunker2 quit (Quit: CodeSpelunker2) 2020-08-14T21:45:28Z ralt: ok, a way that is just as verbose but at least not error-prone (because I get an error if the number of elements don't match) is `(make-array 16 :element-type 'bit :initial-contents '(0 0 0 0 ..... 1))` 2020-08-14T21:45:58Z ralt: > There are 15 elements in the :INITIAL-CONTENTS, but the vector length is 16. 2020-08-14T21:46:02Z ralt: if the elements don't match ^ 2020-08-14T21:46:06Z ralt: so that's already better 2020-08-14T21:46:51Z phoe: ummmm 2020-08-14T21:47:10Z phoe: I'd make a bit-array of all zeroes and then just SETF the proper AREF 2020-08-14T21:47:17Z phoe: optionally with the use of a helper function 2020-08-14T21:47:27Z phoe: or, even better - I'd use an unsigned-byte instead of a bit array 2020-08-14T21:48:05Z phoe: and then go #.(ash 1 N) 2020-08-14T21:48:30Z ralt: I'd have to convert the unsigned-byte array into a bit array in order to run BIT-IOR on it 2020-08-14T21:48:38Z phoe: clhs logior 2020-08-14T21:48:38Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_logand.htm 2020-08-14T21:48:49Z phoe: solution: don't use bit-ior :D 2020-08-14T21:49:51Z ralt: heh 2020-08-14T21:50:26Z phoe: : https://www.youtube.com/watch?v=WO23WBji_Z0 2020-08-14T21:50:59Z phoe: ;; well, for relatively small integers, at least 2020-08-14T21:53:05Z oxum quit (Ping timeout: 240 seconds) 2020-08-14T22:02:39Z lucasb joined #lisp 2020-08-14T22:04:08Z ahungry quit (Remote host closed the connection) 2020-08-14T22:06:01Z shifty quit (Ping timeout: 246 seconds) 2020-08-14T22:07:09Z shifty joined #lisp 2020-08-14T22:08:07Z random-nick quit (Ping timeout: 246 seconds) 2020-08-14T22:20:32Z duuqnd quit (Remote host closed the connection) 2020-08-14T22:21:48Z random-nick joined #lisp 2020-08-14T22:26:05Z edgar-rft: Does anybody here know some historical reference *why* bit-vectors were introduced in Common Lisp? I learned Assembly as my first programming language and until today I'm using fixnums instead of bit-vectors. Somehow it appears to me as if I haven't understood what bit-vectors are good for at all. But maybe that't because I'm particularly stupid. Anybody knows some historical background? 2020-08-14T22:31:35Z fwoaroof[m]: I'd generally rather access bits by position than try to get the math right 2020-08-14T22:32:23Z fwoaroof[m]: The math isn't hard, it's just doesn't really express what you're trying to do 2020-08-14T22:33:18Z _death: they pre-date Common Lisp.. in some scenarios they may be convenient because they are sequences, so sequence functions are applicable.. they also have an identity and are mutable 2020-08-14T22:33:24Z eric[m]5 joined #lisp 2020-08-14T22:33:29Z telior quit (Remote host closed the connection) 2020-08-14T22:37:17Z kaftejiman quit (Remote host closed the connection) 2020-08-14T22:37:47Z edgar-rft: yes, I know, bit-vectors are not only a Common Lisp thing, but (logior #b00000001 #bXXXXXXXX) reads *much* easier to me than all that back-and-forth conversion hassle above. 2020-08-14T22:37:54Z _death: their type makes clear their use, and they are printed in a way that can be convenient to the programmer 2020-08-14T22:39:39Z fe[nl]ix: edgar-rft: often you don't really care about representation, whether the index 0 is the most or least significant 2020-08-14T22:40:21Z fe[nl]ix: as long as the implementation ensures a compact representation 2020-08-14T22:40:41Z edgar-rft: I agree that making them distinguishable from fixnums *is* an advantage. I'm not against bit-vectors (like I'm not against gravity) but I try to understand their advantage in practical code. 2020-08-14T22:41:44Z aeth: You use bit vectors when there's a clear boolean true/false (although you have to wrap it to turn it into 1/0 instead of using t/nil) for very long sequences 2020-08-14T22:42:13Z aeth: One example would be a prime sieve (possibly prime or definitely not prime), where you really are only limited by memory. 2020-08-14T22:42:39Z fe[nl]ix: imagine you need to keep track of 20k flags 2020-08-14T22:42:49Z aeth: Another example would be if you're organizing your data (probably in the KBs) into multiple parallel arrays that you iterate over simultaneously and you only need one bit of data for something. 2020-08-14T22:42:50Z fe[nl]ix: maybe for some sort of cache 2020-08-14T22:43:08Z fe[nl]ix: you don't want to implement the bit-fiddling on your own 2020-08-14T22:43:13Z fe[nl]ix: it's just a waste of time 2020-08-14T22:44:58Z _death: I don't know that back-and-forth conversion is necessary.. for example I have some classifier code that takes a bit-vector for input (the number of bits is known at construction time and can be large).. I could've chosen to take an integer instead, but that would be a hassle 2020-08-14T22:45:11Z edgar-rft already has problems with imaining 20k flags :-) 2020-08-14T22:45:28Z aeth: (defstruct foo (foos (make-array 30000 :element-type 'single-float :initial-element 0f0) :type (simple-array single-float (30000))) (active? (make-array 30000 :element-type 'bit :initial-element 0) :type (simple-array bit (30000)))) 2020-08-14T22:46:01Z aeth: Then you iterate over active? and unless (zerop (aref (active? foo) i)) you do something with (aref (foos foo) i) 2020-08-14T22:46:30Z aeth: This is much simpler than having an array of, say, (unsigned-byte 64)s and manually mapping a bit in that array to the index of the foos 2020-08-14T22:47:10Z fe[nl]ix: edgar-rft: 20k is only 80MB worth of 4k blocks (e.g. for a file-system) 2020-08-14T22:48:18Z aeth: (And it's also simpler and safer, but more memory wasteful, than having some kind of invalid value, like using a NaN, which isn't even portable, and which you might get as a result from your calculations) 2020-08-14T22:48:23Z fe[nl]ix: ext3 performs pretty well with bitmaps a few orders of magnitude bigger 2020-08-14T22:48:55Z fe[nl]ix: of course, file-systems that need to scale beyong a TB or so use specialized trees 2020-08-14T22:48:55Z fwoaroof[m]: edgar-rft: (logior #*00000001 #*XXXXXXXX), no? 2020-08-14T22:49:03Z fwoaroof[m]: or bit-ior, whatever 2020-08-14T22:49:37Z edgar-rft: ...I meant where do I get room for 20k flagpoles 2020-08-14T22:49:50Z aeth: Anyway, I use bits in integers when I want to associate multiple boolean things with one index, and I use bit-vectors when I want to associate one boolean thing with one index. 2020-08-14T22:51:14Z _death: for "flags" I'd often use an unsigned-byte and not a bit-vector, if not a list (set) of keywords or somesuch 2020-08-14T22:51:45Z edgar-rft: yes, that only was a pitiful joke, semaphores (many booleans in one variable) are the first thing when I think about bit-vectors. 2020-08-14T22:51:45Z yitzi joined #lisp 2020-08-14T22:54:29Z aeth: _death: Right, one collection of bits for one thing, use an integer. One bit for a sequence of things, use a bitvector and iterate both sequences simultaneously in one LOOP/DO/etc. 2020-08-14T22:55:23Z aeth: You can even get sophisticated and have a 2D array, where the first part of the AREF is the same as the AREF for the bitvector 2020-08-14T22:59:03Z remexre quit (Quit: WeeChat 2.8) 2020-08-14T23:01:22Z sonologico quit (Remote host closed the connection) 2020-08-14T23:01:48Z leo_song quit (Quit: ZNC 1.7.2+deb3 - https://znc.in) 2020-08-14T23:02:16Z dra joined #lisp 2020-08-14T23:02:34Z leo_song joined #lisp 2020-08-14T23:06:50Z edgar-rft: summary so far: bit-vectors are useful to distinguish fixnums (number family) from semaphores (boolean family), everything else so far I consider as "esoteric use-cases", any disagreements? :-) 2020-08-14T23:07:18Z fwoaroof[m]: bit-vectors are useful when you want a sequence of bits, basically? 2020-08-14T23:07:32Z phoe: a fixed-length sequence of bits 2020-08-14T23:07:34Z aeth: iterating over two arrays simultaneously isn't very esoteric 2020-08-14T23:07:57Z aeth: it's basically built into LOOP, MAP, and a bunch of other stuff 2020-08-14T23:08:09Z phoe: bit vectors have constant performance characteristics whereas integers don't when they evolve into bignums 2020-08-14T23:08:20Z phoe: this is important for large vectors. 2020-08-14T23:08:27Z fwoaroof[m]: Can you have an adjustable bit-vector with a fill pointer? 2020-08-14T23:08:36Z aeth: Yes, you can even do that with strings 2020-08-14T23:08:41Z edgar-rft: hmm, isn't in a computer *everything* a sequence of bits? 2020-08-14T23:08:46Z aeth: all vectors are just vectors with special :element-types 2020-08-14T23:08:55Z phoe: (make-array 256 :element-type 'bit :adjustable t :fill-pointer 128) 2020-08-14T23:08:56Z aeth: (it's just only bit/character are mandated) 2020-08-14T23:09:02Z phoe: fwoaroof[m]: yes 2020-08-14T23:09:11Z fwoaroof[m]: because that means that bit-vectors can also be used with non-fixed-length sequences of bits 2020-08-14T23:09:27Z phoe: sure, if you're okay with eventually copying them 2020-08-14T23:10:05Z aeth: edgar-rft: In C, everything's a sequence of bits, in CL, the underlying hardware is unspecified. This makes CL closer to the underlying hardware, because floats are iirc stored in special registers as a separate thing and treating them as just bits like C treats them is inefficient and probably requires a conversion. 2020-08-14T23:10:57Z edgar-rft: aeth: does CL support tri-state logic? 2020-08-14T23:12:06Z phoe: edgar-rft: not really unless you implement it yourself 2020-08-14T23:12:17Z edgar-rft: optional fill-pointer is a good argument 2020-08-14T23:12:57Z aeth: fwoaroof[m]: I'd say being able to use them in MAP is more useful. That is, going back to the earlier struct... (defstruct foo (foos (make-array 30000 :element-type 'single-float :initial-element 0f0) :type (simple-array single-float (30000))) (active? (make-array 30000 :element-type 'bit :initial-element 0) :type (simple-array bit (30000)))) 2020-08-14T23:13:02Z aeth: you can do this: (let ((foo (make-foo))) (map nil (lambda (foo active?) (unless (zerop active?) (format t "~A~%" foo))) (foo-foos foo) (foo-active? foo))) 2020-08-14T23:13:37Z aeth: You can't do that by manually creating your own bitvectors out of fixnums whose indices don't match the other sequence's indices 2020-08-14T23:13:55Z fwoaroof[m]: yeah, makes sense 2020-08-14T23:14:45Z aeth: I could definitely see myself doing something like this if I could remember that such a thing can be done, but odds are I'd forget and write a messy LOOP instead 2020-08-14T23:15:49Z aeth: You could even map-into the foos array based on what the bit-vector tells you to do, although you might want to reorder things, so at that point the built in higher order functions might not be that useful 2020-08-14T23:16:54Z aeth: i.e. (map-into foos #| some lambda |# foos this-bit-makes-something-happen) 2020-08-14T23:17:05Z random-nick quit (Ping timeout: 240 seconds) 2020-08-14T23:17:56Z aeth: You could also make that an octet vector and assign a meaning to each bit and get really fancy and low-level-ish. 2020-08-14T23:20:14Z edgar-rft: that sounds as if you have invented unicode :-) 2020-08-14T23:21:41Z aeth: You could go much further if there were a lot of buildings for working with multidimensional arrays since 2D array rows gives you so much more here. 2020-08-14T23:21:47Z aeth: s/buildings/built-ins/ 2020-08-14T23:21:52Z aeth: Although, idk, maybe they need buildings to write all the code in 2020-08-14T23:22:23Z edgar-rft imagines CL buildings 2020-08-14T23:22:45Z akoana left #lisp 2020-08-14T23:23:25Z dra_ joined #lisp 2020-08-14T23:24:27Z phoe: I would like living in a CL building because then I could just leave trash anywhere in my flat and then it would get automatically collected 2020-08-14T23:25:47Z dra_: You could also just keep changing your building while living in it. 2020-08-14T23:26:12Z _death: well, we have FLOOR and CEILING already 2020-08-14T23:26:31Z dra_: But the C people have the -Walls. Dammit! 2020-08-14T23:26:45Z dra quit (Ping timeout: 240 seconds) 2020-08-14T23:26:49Z dra_ is now known as dra 2020-08-14T23:27:42Z edgar-rft: Thank you all, I think I have really learned something! And you can be proud ouf yourselves because makinge edgar learn something is a really remarkable achievement. 2020-08-14T23:34:07Z dra quit (Quit: Leaving) 2020-08-14T23:35:40Z mangoicedtea joined #lisp 2020-08-14T23:35:53Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-08-14T23:39:02Z igemnace joined #lisp 2020-08-14T23:42:45Z orivej quit (Ping timeout: 240 seconds) 2020-08-14T23:45:20Z fwoaroof[m] quit (Quit: authenticating) 2020-08-14T23:45:28Z fwoaroof[m] joined #lisp 2020-08-15T00:09:13Z theseb quit (Quit: Leaving) 2020-08-15T00:29:10Z shifty quit (Ping timeout: 246 seconds) 2020-08-15T00:29:17Z Oladon joined #lisp 2020-08-15T00:29:53Z shifty joined #lisp 2020-08-15T00:31:48Z rumbler31 joined #lisp 2020-08-15T00:45:21Z oxum joined #lisp 2020-08-15T00:48:16Z oxum quit (Remote host closed the connection) 2020-08-15T00:48:33Z oxum joined #lisp 2020-08-15T00:49:13Z yitzi quit (Remote host closed the connection) 2020-08-15T00:57:13Z gko_ joined #lisp 2020-08-15T01:14:52Z mangoicedtea quit (Quit: Leaving) 2020-08-15T01:23:25Z ldb joined #lisp 2020-08-15T01:23:32Z ldb: good moerning 2020-08-15T01:23:55Z mrcom quit (Quit: This computer has gone to sleep) 2020-08-15T01:27:56Z Bourne quit (Ping timeout: 256 seconds) 2020-08-15T01:34:46Z sjl_ quit (Ping timeout: 260 seconds) 2020-08-15T01:38:46Z bhartrihari left #lisp 2020-08-15T01:39:01Z bhartrihari joined #lisp 2020-08-15T01:57:30Z ldb quit (Quit: leaving) 2020-08-15T02:03:02Z _whitelogger quit (Remote host closed the connection) 2020-08-15T02:05:12Z _whitelogger joined #lisp 2020-08-15T02:13:19Z wxie joined #lisp 2020-08-15T02:16:10Z jesse1010 quit (Ping timeout: 256 seconds) 2020-08-15T02:18:27Z oxum quit (Remote host closed the connection) 2020-08-15T02:20:04Z shifty quit (Ping timeout: 256 seconds) 2020-08-15T02:34:18Z ralt quit (Quit: Connection closed for inactivity) 2020-08-15T02:39:17Z oxum joined #lisp 2020-08-15T02:47:37Z Bike quit (Quit: Lost terminal) 2020-08-15T02:52:24Z lucasb quit (Quit: Connection closed for inactivity) 2020-08-15T02:56:27Z CEnnis91 quit (Ping timeout: 246 seconds) 2020-08-15T02:57:03Z drmeister quit (Ping timeout: 272 seconds) 2020-08-15T02:57:52Z physpi quit (Ping timeout: 260 seconds) 2020-08-15T02:58:28Z fowlduck quit (Ping timeout: 260 seconds) 2020-08-15T02:59:35Z avicenna quit (Ping timeout: 272 seconds) 2020-08-15T02:59:37Z bytesighs quit (Ping timeout: 260 seconds) 2020-08-15T03:00:13Z Kaisyu quit (Ping timeout: 272 seconds) 2020-08-15T03:00:22Z fowlduck joined #lisp 2020-08-15T03:00:47Z bytesighs joined #lisp 2020-08-15T03:01:29Z jlpeters quit (Ping timeout: 272 seconds) 2020-08-15T03:01:45Z physpi joined #lisp 2020-08-15T03:02:12Z CEnnis91 joined #lisp 2020-08-15T03:02:13Z Kaisyu joined #lisp 2020-08-15T03:02:33Z avicenna joined #lisp 2020-08-15T03:02:50Z Alfr_ joined #lisp 2020-08-15T03:05:27Z Alfr quit (Ping timeout: 260 seconds) 2020-08-15T03:07:13Z fowlduck quit (Ping timeout: 265 seconds) 2020-08-15T03:08:09Z jlpeters joined #lisp 2020-08-15T03:08:22Z bytesighs quit (Ping timeout: 260 seconds) 2020-08-15T03:08:45Z physpi quit (Ping timeout: 240 seconds) 2020-08-15T03:09:24Z CEnnis91 quit (Ping timeout: 246 seconds) 2020-08-15T03:10:12Z avicenna quit (Read error: Connection reset by peer) 2020-08-15T03:10:43Z avicenna joined #lisp 2020-08-15T03:12:51Z jlpeters quit (Max SendQ exceeded) 2020-08-15T03:12:58Z bytesighs joined #lisp 2020-08-15T03:13:12Z jlpeters joined #lisp 2020-08-15T03:14:54Z jlpeters quit (Max SendQ exceeded) 2020-08-15T03:16:32Z avicenna quit (Ping timeout: 260 seconds) 2020-08-15T03:19:54Z Kaisyu quit (Ping timeout: 246 seconds) 2020-08-15T03:21:07Z bytesighs quit (Ping timeout: 272 seconds) 2020-08-15T03:24:04Z bytesighs joined #lisp 2020-08-15T03:24:33Z Kaisyu joined #lisp 2020-08-15T03:25:11Z avicenna joined #lisp 2020-08-15T03:25:27Z CEnnis91 joined #lisp 2020-08-15T03:25:30Z physpi joined #lisp 2020-08-15T03:26:29Z drmeister joined #lisp 2020-08-15T03:27:26Z Oladon quit (Quit: Leaving.) 2020-08-15T03:28:02Z jlpeters joined #lisp 2020-08-15T03:28:14Z beach: Good morning everyone! 2020-08-15T03:28:52Z wxie quit (Ping timeout: 256 seconds) 2020-08-15T03:30:29Z fowlduck joined #lisp 2020-08-15T03:39:13Z renzhi quit (Ping timeout: 246 seconds) 2020-08-15T03:39:25Z oxum quit (Quit: Leaving...) 2020-08-15T03:44:00Z edgar-rft is a bit-vector 2020-08-15T03:44:10Z bhartrihari left #lisp 2020-08-15T03:44:27Z bhartrihari joined #lisp 2020-08-15T03:44:33Z bhartrihari left #lisp 2020-08-15T03:47:10Z shifty joined #lisp 2020-08-15T03:50:48Z bhartrihari joined #lisp 2020-08-15T03:51:54Z aeth: Speaking of CL buildings, "edifice" would be a great name for a text editor. It's probably already in use as a name, though. 2020-08-15T03:52:32Z beach: Doesn't Google well, though. 2020-08-15T03:53:48Z mrcom joined #lisp 2020-08-15T03:55:37Z space_otter joined #lisp 2020-08-15T03:57:30Z edgar-rft: Casio makes "Edifice" watches, no idea why they choose that name. 2020-08-15T04:01:30Z aeth: French word = luxury good 2020-08-15T04:01:34Z aeth: it doesn't actually matter what the French word means 2020-08-15T04:02:14Z aeth: I'm going to start a fashion line called "merde" 2020-08-15T04:06:46Z bhartrihari left #lisp 2020-08-15T04:08:56Z Oladon joined #lisp 2020-08-15T04:10:02Z edgar-rft: it doesn't even matter what words mean at all because I'm using them like *I* want 2020-08-15T04:20:45Z Lord_of_Life quit (Ping timeout: 240 seconds) 2020-08-15T04:21:15Z bhartrihari joined #lisp 2020-08-15T04:21:26Z Lord_of_Life joined #lisp 2020-08-15T04:25:47Z bhartrihari left #lisp 2020-08-15T04:26:12Z bhartrihari joined #lisp 2020-08-15T04:31:13Z zaquest quit (Quit: Leaving) 2020-08-15T04:41:23Z zaquest joined #lisp 2020-08-15T04:43:16Z terpri_ joined #lisp 2020-08-15T04:45:47Z terpri quit (Ping timeout: 260 seconds) 2020-08-15T04:45:51Z bhartrihari left #lisp 2020-08-15T05:09:02Z _whitelogger quit (Remote host closed the connection) 2020-08-15T05:11:13Z _whitelogger joined #lisp 2020-08-15T05:14:15Z arbv quit (Quit: ZNC - https://znc.in) 2020-08-15T05:15:08Z arbv joined #lisp 2020-08-15T05:24:21Z gaqwas joined #lisp 2020-08-15T05:24:21Z gaqwas quit (Changing host) 2020-08-15T05:24:21Z gaqwas joined #lisp 2020-08-15T05:25:09Z gravicappa joined #lisp 2020-08-15T05:31:34Z bhartrihari joined #lisp 2020-08-15T05:31:54Z gaqwas quit (Remote host closed the connection) 2020-08-15T05:41:13Z fe[nl]ix: beach: Google does semantic search nowadays, so try searching for "edifice software" 2020-08-15T05:41:24Z fe[nl]ix: it finds https://www.softwaresuggest.com/edifice 2020-08-15T05:48:06Z aeth: Not even an editor. Wasted pun potential. 2020-08-15T05:51:31Z bhartrihari left #lisp 2020-08-15T05:53:51Z beach: fe[nl]ix: Good to know. Thanks! 2020-08-15T05:54:01Z beach: I think I have used it without knowing the name for it. 2020-08-15T06:22:08Z gaqwas joined #lisp 2020-08-15T06:22:09Z gaqwas quit (Changing host) 2020-08-15T06:22:09Z gaqwas joined #lisp 2020-08-15T06:25:20Z gaqwas quit (Remote host closed the connection) 2020-08-15T06:25:39Z terpri__ joined #lisp 2020-08-15T06:26:00Z orivej joined #lisp 2020-08-15T06:26:11Z Oladon quit (Quit: Leaving.) 2020-08-15T06:29:02Z terpri_ quit (Ping timeout: 260 seconds) 2020-08-15T06:35:53Z miklos1 joined #lisp 2020-08-15T06:38:40Z miklos1 left #lisp 2020-08-15T06:39:36Z gko_ quit (Ping timeout: 256 seconds) 2020-08-15T06:45:48Z joaofnds joined #lisp 2020-08-15T06:48:50Z duuqnd joined #lisp 2020-08-15T06:49:21Z joaofnds quit (Remote host closed the connection) 2020-08-15T06:57:17Z gaqwas joined #lisp 2020-08-15T07:04:32Z orivej quit (Ping timeout: 265 seconds) 2020-08-15T07:15:39Z gaqwas quit (Remote host closed the connection) 2020-08-15T07:25:34Z jibanes quit (Ping timeout: 256 seconds) 2020-08-15T07:26:27Z jibanes joined #lisp 2020-08-15T07:33:14Z bhartrihari joined #lisp 2020-08-15T07:33:23Z bhartrihari left #lisp 2020-08-15T07:33:40Z bhartrihari joined #lisp 2020-08-15T07:40:10Z pve joined #lisp 2020-08-15T07:43:08Z ggole joined #lisp 2020-08-15T07:47:51Z bhartrihari left #lisp 2020-08-15T07:47:55Z bhartrihari joined #lisp 2020-08-15T07:52:27Z mindCrime quit (Ping timeout: 260 seconds) 2020-08-15T07:54:23Z whiteline quit (Read error: Connection reset by peer) 2020-08-15T07:54:43Z whiteline joined #lisp 2020-08-15T07:57:15Z bhartrihari left #lisp 2020-08-15T08:05:53Z gaqwas joined #lisp 2020-08-15T08:10:20Z hendursa1 joined #lisp 2020-08-15T08:11:43Z hendursaga quit (Ping timeout: 240 seconds) 2020-08-15T08:13:26Z lottaquestions_ joined #lisp 2020-08-15T08:15:22Z lottaquestions quit (Ping timeout: 256 seconds) 2020-08-15T08:20:27Z lottaquestions_ quit (Remote host closed the connection) 2020-08-15T08:20:55Z lottaquestions_ joined #lisp 2020-08-15T08:28:14Z orivej joined #lisp 2020-08-15T08:29:25Z stepnem quit (Ping timeout: 240 seconds) 2020-08-15T08:29:54Z stepnem joined #lisp 2020-08-15T08:35:27Z bhartrihari joined #lisp 2020-08-15T08:38:28Z heisig joined #lisp 2020-08-15T08:44:21Z msk joined #lisp 2020-08-15T08:45:58Z troydm quit (Ping timeout: 256 seconds) 2020-08-15T08:49:09Z bhartrihari left #lisp 2020-08-15T08:56:40Z wxie joined #lisp 2020-08-15T09:00:08Z katco left #lisp 2020-08-15T09:00:12Z wxie1 joined #lisp 2020-08-15T09:00:15Z userself quit (Quit: Idle for 30+ days) 2020-08-15T09:01:02Z wxie quit (Ping timeout: 260 seconds) 2020-08-15T09:01:02Z wxie1 is now known as wxie 2020-08-15T09:03:26Z troydm joined #lisp 2020-08-15T09:15:37Z wxie quit (Quit: wxie) 2020-08-15T09:15:52Z wxie1 joined #lisp 2020-08-15T09:18:06Z wxie1 is now known as wxie 2020-08-15T09:23:22Z gravicappa quit (Ping timeout: 256 seconds) 2020-08-15T09:23:58Z bhartrihari joined #lisp 2020-08-15T09:28:49Z gravicappa joined #lisp 2020-08-15T09:33:47Z gaqwas quit (Remote host closed the connection) 2020-08-15T09:42:06Z akoana joined #lisp 2020-08-15T09:56:45Z wxie quit (Ping timeout: 240 seconds) 2020-08-15T09:58:23Z ralt joined #lisp 2020-08-15T10:09:20Z hajovonta quit (Ping timeout: 256 seconds) 2020-08-15T10:13:07Z random-nick joined #lisp 2020-08-15T10:20:05Z shifty quit (Ping timeout: 240 seconds) 2020-08-15T10:26:30Z zxcvz quit (Quit: Leaving) 2020-08-15T10:26:45Z orivej quit (Ping timeout: 240 seconds) 2020-08-15T10:42:37Z whiteline quit (Read error: Connection reset by peer) 2020-08-15T10:43:28Z whiteline joined #lisp 2020-08-15T10:44:22Z space_otter quit (Remote host closed the connection) 2020-08-15T10:45:13Z Necktwi joined #lisp 2020-08-15T10:46:14Z yitzi joined #lisp 2020-08-15T10:57:42Z minerjoe joined #lisp 2020-08-15T10:58:03Z dmr0x80 joined #lisp 2020-08-15T10:59:56Z gaqwas joined #lisp 2020-08-15T10:59:57Z gaqwas quit (Changing host) 2020-08-15T10:59:57Z gaqwas joined #lisp 2020-08-15T11:02:59Z gaqwas quit (Remote host closed the connection) 2020-08-15T11:05:52Z Inline joined #lisp 2020-08-15T11:14:26Z terpri joined #lisp 2020-08-15T11:15:11Z terpri__ quit (Ping timeout: 244 seconds) 2020-08-15T11:17:18Z dmr0x80_ joined #lisp 2020-08-15T11:18:15Z gko_ joined #lisp 2020-08-15T11:19:28Z dmr0x80 quit (Ping timeout: 246 seconds) 2020-08-15T11:21:18Z dmr0x80_ quit (Client Quit) 2020-08-15T11:25:31Z terpri quit (Ping timeout: 244 seconds) 2020-08-15T11:26:38Z terpri joined #lisp 2020-08-15T11:28:01Z dansouu joined #lisp 2020-08-15T11:47:49Z whiteline quit (Ping timeout: 246 seconds) 2020-08-15T11:48:56Z whiteline joined #lisp 2020-08-15T12:02:40Z bitmapper quit (Ping timeout: 256 seconds) 2020-08-15T12:09:03Z bhartrihari left #lisp 2020-08-15T12:09:22Z parjanya joined #lisp 2020-08-15T12:18:33Z stoneglass joined #lisp 2020-08-15T12:24:35Z Bourne joined #lisp 2020-08-15T12:30:43Z zooey quit (Ping timeout: 240 seconds) 2020-08-15T12:31:55Z Inline quit (Ping timeout: 246 seconds) 2020-08-15T12:32:01Z zooey joined #lisp 2020-08-15T12:36:31Z orivej joined #lisp 2020-08-15T12:42:40Z hendursa1 quit (Quit: hendursa1) 2020-08-15T12:43:01Z hendursaga joined #lisp 2020-08-15T12:44:02Z hendursaga quit (Client Quit) 2020-08-15T12:44:16Z hendursaga joined #lisp 2020-08-15T12:44:19Z ghard joined #lisp 2020-08-15T12:45:28Z frgo quit 2020-08-15T12:46:10Z MichaelRaskin joined #lisp 2020-08-15T12:46:30Z mangoicedtea joined #lisp 2020-08-15T12:52:12Z kaftejiman joined #lisp 2020-08-15T12:58:08Z bhartrihari joined #lisp 2020-08-15T12:59:16Z bhartrihari left #lisp 2020-08-15T13:02:36Z parjanya quit (Remote host closed the connection) 2020-08-15T13:03:24Z dansouu left #lisp 2020-08-15T13:14:09Z EvW joined #lisp 2020-08-15T13:14:44Z bsd4me joined #lisp 2020-08-15T13:19:37Z galex-713 quit (Ping timeout: 272 seconds) 2020-08-15T13:19:56Z bsd4me left #lisp 2020-08-15T13:23:23Z gravicappa quit (Ping timeout: 240 seconds) 2020-08-15T13:24:21Z bhartrihari joined #lisp 2020-08-15T13:29:29Z galex-713 joined #lisp 2020-08-15T13:38:29Z asdf_asdf_asdf joined #lisp 2020-08-15T13:45:40Z ayuce joined #lisp 2020-08-15T13:46:12Z lucasb joined #lisp 2020-08-15T13:49:27Z wildbartty joined #lisp 2020-08-15T13:52:57Z EvW quit (Ping timeout: 260 seconds) 2020-08-15T13:59:22Z bhartrihari left #lisp 2020-08-15T14:00:12Z Grauwolf quit (Quit: WeeChat 2.7.1) 2020-08-15T14:00:24Z ralt: Just want to give a shout out to lisp-binary 2020-08-15T14:00:33Z ralt: It's super convenient and intuitive 2020-08-15T14:01:34Z ralt: Things like (counted-string 4) that reads/writes a 4-byte length + the following string is just neat 2020-08-15T14:02:10Z asdf_asdf_asdf: ralt, describe out Your problem details, please. 2020-08-15T14:02:29Z ralt: Is that a bot? 2020-08-15T14:03:10Z beach: 'fraid not. 2020-08-15T14:04:06Z ralt: Funny 2020-08-15T14:05:21Z asdf_asdf_asdf: ralt, I am not a bot. 2020-08-15T14:11:13Z bhartrihari joined #lisp 2020-08-15T14:11:26Z ralt: asdf_asdf_asdf: ok. I would like to prove that P=NP, could you provide the solution please? 2020-08-15T14:11:30Z bhartrihari left #lisp 2020-08-15T14:11:35Z yaji joined #lisp 2020-08-15T14:15:49Z asdf_asdf_asdf: ralt, OK this is problem math, so put pattern, something and I write a code. 2020-08-15T14:19:00Z beach: ralt: I suggest you use the Tymoon search facility for this channel to understand my reaction. 2020-08-15T14:21:09Z ralt: beach: your reaction was enough to understand honestly :) 2020-08-15T14:21:31Z beach: Heh. 2020-08-15T14:21:58Z ralt: But I'm curious... trying to find the "channel topic" button in irccloud 2020-08-15T14:24:15Z ralt: arf, tymoon search is broken on mobile 2020-08-15T14:25:29Z ralt: The start/end don't let you select seconds, so the cannot satisfy its step 2020-08-15T14:26:08Z beach: Report it to Shinmera. 2020-08-15T14:26:30Z ralt: I think you just did :P 2020-08-15T14:31:53Z mangoicedtea quit (Quit: Leaving) 2020-08-15T14:34:02Z orivej quit (Ping timeout: 265 seconds) 2020-08-15T14:34:44Z rilez joined #lisp 2020-08-15T14:35:08Z phoe: nope, Shinmera is not here 2020-08-15T14:35:18Z phoe: https://github.com/Shirakumo/plaster is the best place I think 2020-08-15T14:35:48Z phoe: best place for filing issues* 2020-08-15T14:36:24Z yitzi quit (Quit: yitzi) 2020-08-15T14:42:03Z frgo joined #lisp 2020-08-15T14:45:11Z EvW1 joined #lisp 2020-08-15T14:51:05Z frgo_ joined #lisp 2020-08-15T14:52:16Z frgo quit (Ping timeout: 244 seconds) 2020-08-15T15:04:48Z yitzi joined #lisp 2020-08-15T15:05:53Z yaji quit (Remote host closed the connection) 2020-08-15T15:06:52Z yaji joined #lisp 2020-08-15T15:07:09Z yaji quit (Read error: Connection reset by peer) 2020-08-15T15:07:30Z yaji joined #lisp 2020-08-15T15:08:57Z yaji quit (Remote host closed the connection) 2020-08-15T15:09:35Z yaji joined #lisp 2020-08-15T15:09:35Z yaji quit (Read error: Connection reset by peer) 2020-08-15T15:09:42Z yaji joined #lisp 2020-08-15T15:15:52Z yaji quit 2020-08-15T15:16:33Z EvW1 quit (Ping timeout: 244 seconds) 2020-08-15T15:22:25Z heisig quit (Ping timeout: 240 seconds) 2020-08-15T15:24:49Z mankaev_ joined #lisp 2020-08-15T15:24:49Z mankaev quit (Read error: Connection reset by peer) 2020-08-15T15:33:26Z Lycurgus joined #lisp 2020-08-15T15:35:24Z asdf_asdf_asdf quit (Quit: Connection closed) 2020-08-15T15:35:41Z asdf_asdf_asdf joined #lisp 2020-08-15T15:46:05Z gko_ quit (Ping timeout: 240 seconds) 2020-08-15T15:52:49Z kaftejiman_ joined #lisp 2020-08-15T15:52:50Z kaftejiman quit (Read error: Connection reset by peer) 2020-08-15T16:03:18Z igemnace quit (Remote host closed the connection) 2020-08-15T16:04:57Z asarch joined #lisp 2020-08-15T16:06:59Z asarch: I have 1, 3, 5, 6, 9 in the first vector and 3, 9 in the second. Is there an easy way to get 1, 5, 6 (those elements available only in the first vector but not in the second one)? 2020-08-15T16:07:25Z asarch: (Or even symbols in a list) 2020-08-15T16:08:02Z beach: clhs set-difference 2020-08-15T16:08:02Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_set_di.htm 2020-08-15T16:17:13Z Demosthenex: so, my fav password manager is a console utility in C++. i'm considering reimplementing in in CL (ECL for tiny binary). one of the interesting things it does is uses "secured" memory allocation while it is working. i think it may just pin it's memory so it can't be swapped to disk unencrypted. is there a way to pin memory in CL? if you were going to load sensitive data, any recommendations on how to 2020-08-15T16:17:19Z Demosthenex: secure it briefly in ram and clear it correctly on exit? 2020-08-15T16:17:41Z Demosthenex: https://github.com/nsd20463/pwsafe/blob/master/pwsafe.cpp <-- discusses his memory allocations 2020-08-15T16:18:25Z phoe: what does it mean by "secured" memory allocation 2020-08-15T16:18:44Z phoe: likely this boils down to issuing some syscalls on some memory region 2020-08-15T16:18:49Z asdf_asdf_asdf quit (Ping timeout: 264 seconds) 2020-08-15T16:19:03Z asdf_asdf_asdf joined #lisp 2020-08-15T16:19:12Z asdf_asdf_asdf: (let ((a (list 1 2 3 4)) 2020-08-15T16:19:12Z asdf_asdf_asdf: (b (list 1 2))) 2020-08-15T16:19:13Z asdf_asdf_asdf: (loop for i in a 2020-08-15T16:19:13Z asdf_asdf_asdf: for j in b 2020-08-15T16:19:14Z asdf_asdf_asdf: collect i)) 2020-08-15T16:19:36Z phoe: asdf_asdf_asdf: please use a paste service for anything longer than a line or two 2020-08-15T16:19:38Z remexre joined #lisp 2020-08-15T16:19:55Z asdf_asdf_asdf: phoe, OK; Why You banned me on #lisp-pl? 2020-08-15T16:19:58Z asdf_asdf_asdf: #lisp-pl * 2020-08-15T16:20:12Z asdf_asdf_asdf: I am the best passioner on Lisp lang. 2020-08-15T16:20:26Z remexre: it's definitely well-defined to sort a vector for the side effects, right? CCL's giving me a warning about it, but sbcl's fine, and the code seems to work... 2020-08-15T16:20:27Z beach: asdf_asdf_asdf: No doubt because you completely refuse to comply with channel rules. 2020-08-15T16:20:35Z Lord_of_Life_ joined #lisp 2020-08-15T16:21:03Z remexre: (work on sbcl, that is; having unrelated issues with my tests and ccl) 2020-08-15T16:21:16Z phoe: clhs sort 2020-08-15T16:21:16Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_sort_.htm 2020-08-15T16:21:27Z remexre: yeah, it says destructively, but ccl still warns 2020-08-15T16:21:36Z asdf_asdf_asdf: beach, him banned me on #lisp-pl, not on #lisp-en ! 2020-08-15T16:21:57Z asdf_asdf_asdf: phoe, unban me, now. Thank. 2020-08-15T16:22:01Z phoe: remexre: the notes say, " If sequence is a vector, the result might or might not be simple, and might or might not be identical to sequence. " 2020-08-15T16:22:01Z beach: remexre: Destructive means that there *might* be mutations. 2020-08-15T16:22:36Z phoe: in general this means that the proper means of using SORT is to utilize its return value 2020-08-15T16:22:42Z remexre: beach: oh, I misunderstood that :| 2020-08-15T16:22:57Z remexre: phoe: oh, hm, ok 2020-08-15T16:23:01Z asdf_asdf_asdf: Channel #lisp-pl is madness for every human exist creature. 2020-08-15T16:23:30Z Lord_of_Life quit (Ping timeout: 256 seconds) 2020-08-15T16:23:35Z Lord_of_Life_ is now known as Lord_of_Life 2020-08-15T16:23:39Z phoe: can't unban you there, I don't even have operator rights on #lisp-pl 2020-08-15T16:23:41Z beach: asdf_asdf_asdf: If you continue like this, you will likely be banned here as well. 2020-08-15T16:24:23Z asdf_asdf_asdf: beach, so what I can put here on this chat? 2020-08-15T16:24:55Z asdf_asdf_asdf: beach, remember every time; I never give up! Never!!! 2020-08-15T16:25:15Z beach: You have been told several times what you are not supposed to do. Check the logs. 2020-08-15T16:25:45Z asdf_asdf_asdf: beach, You check, because I play on chess and I don't know, whether You too. 2020-08-15T16:25:47Z asdf_asdf_asdf: Also. 2020-08-15T16:25:47Z phoe: sorry about that 2020-08-15T16:26:07Z ChanServ has set mode +o phoe 2020-08-15T16:26:09Z phoe has set mode +b *!*2e4c5f73@*.com/ip.46.76.95.115 2020-08-15T16:26:09Z asdf_asdf_asdf [~phoe@2001:19f0:5:689f:5400:2ff:fe77:b1de] has been kicked from #lisp by phoe ((trivial-garbage:gc :full t)) 2020-08-15T16:26:12Z ChanServ has set mode -o phoe 2020-08-15T16:27:29Z phoe: remexre: there's several destructive functions like that whose results must not be discarded, *even* if are passed vectors and not lists 2020-08-15T16:27:51Z phoe: SORT, DELETE and its variants, I guess there were a few more 2020-08-15T16:28:03Z phoe: but basically - it's a Lisp idiom to always keep the return value of these functions 2020-08-15T16:28:30Z remexre: okay 2020-08-15T16:29:23Z remexre: I suppose that makes sense, wrt implementor freedom 2020-08-15T16:32:20Z phoe: in particular - even though no one really does that - DELETE is allowed to just call REMOVE 2020-08-15T16:33:24Z rilez quit (Ping timeout: 245 seconds) 2020-08-15T16:35:14Z caltelt joined #lisp 2020-08-15T16:39:04Z Lycurgus quit (Remote host closed the connection) 2020-08-15T16:39:11Z bitmapper joined #lisp 2020-08-15T16:44:51Z kaftejiman_ quit (Remote host closed the connection) 2020-08-15T16:46:35Z zaquest quit (Ping timeout: 240 seconds) 2020-08-15T16:52:25Z Demosthenex: phoe: well, i'm rusty on C, and dont know c level memory security, that's also why i linked the code. i think it was just memory pinning to prevent it being written out to swap. 2020-08-15T16:52:54Z phoe: C has no concept of memory security itself, that's why I suspect it's basically just invoking some OS-level functionality via syscalls 2020-08-15T16:53:04Z phoe: and if that is the case, then Lisp can do it, too. 2020-08-15T16:56:08Z zaquest joined #lisp 2020-08-15T16:56:23Z asarch: Thank you beach! Thank you very much! :-) 2020-08-15T17:03:32Z mindCrime joined #lisp 2020-08-15T17:04:08Z Demosthenex: phoe: yep. interesting 2020-08-15T17:06:13Z orivej joined #lisp 2020-08-15T17:06:52Z gravicappa joined #lisp 2020-08-15T17:15:05Z Lycurgus joined #lisp 2020-08-15T17:18:20Z Lycurgus quit (Remote host closed the connection) 2020-08-15T17:18:49Z Jeanne-Kamikaze joined #lisp 2020-08-15T17:23:21Z cosimone joined #lisp 2020-08-15T17:27:58Z stepnem quit (Read error: Connection reset by peer) 2020-08-15T17:32:16Z stepnem joined #lisp 2020-08-15T17:38:11Z Grauwolf joined #lisp 2020-08-15T17:44:54Z mindCrime quit (Excess Flood) 2020-08-15T17:45:21Z mindCrime joined #lisp 2020-08-15T17:55:24Z scymtym_ joined #lisp 2020-08-15T17:56:25Z scymtym quit (Ping timeout: 240 seconds) 2020-08-15T18:08:22Z Josh_2 joined #lisp 2020-08-15T18:08:49Z Josh_2: Evening 2020-08-15T18:18:29Z stoneglass quit (Quit: stoneglass) 2020-08-15T18:19:50Z yitzi quit (Quit: yitzi) 2020-08-15T18:21:56Z gaqwas joined #lisp 2020-08-15T18:21:56Z gaqwas quit (Changing host) 2020-08-15T18:21:56Z gaqwas joined #lisp 2020-08-15T18:23:15Z EvW joined #lisp 2020-08-15T18:31:03Z ayuce quit (Remote host closed the connection) 2020-08-15T18:31:12Z gaqwas quit (Remote host closed the connection) 2020-08-15T18:31:46Z dmr0x80 joined #lisp 2020-08-15T18:39:32Z cosimone quit (Read error: Connection reset by peer) 2020-08-15T18:41:58Z dominic34 joined #lisp 2020-08-15T18:41:59Z dominic34 quit (Excess Flood) 2020-08-15T18:42:15Z dominic34 joined #lisp 2020-08-15T18:45:01Z dmr0x80 quit (Ping timeout: 246 seconds) 2020-08-15T18:52:35Z dddddd quit (Ping timeout: 240 seconds) 2020-08-15T18:54:14Z jw4 quit (Read error: Connection reset by peer) 2020-08-15T18:55:51Z jw4 joined #lisp 2020-08-15T18:55:51Z CrazyEddy joined #lisp 2020-08-15T18:57:41Z yitzi joined #lisp 2020-08-15T19:04:24Z sveit: is there a reason SBCL does not elide constructors? I mean that one might hope that (defun f (x) (car (cons x 3))) avoids allocating the cons. 2020-08-15T19:06:13Z dominic34 quit (Ping timeout: 264 seconds) 2020-08-15T19:09:06Z dddddd joined #lisp 2020-08-15T19:14:35Z jibanes quit (Ping timeout: 240 seconds) 2020-08-15T19:16:32Z jibanes joined #lisp 2020-08-15T19:20:11Z kaftejiman joined #lisp 2020-08-15T19:25:24Z White_Flame: SBCL doesn't have a lot of specifically applicable optimizations. But it does focus on the biggies 2020-08-15T19:25:36Z White_Flame: it doesn't have a peephole optimizer either, which really bugs me when reading disassemblies 2020-08-15T19:36:04Z sveit: what do you mean by "specifically applicable"? i guess this would be a general thing. maybe you mean it could have been implemented by compiler macros? 2020-08-15T19:36:46Z sveit: but i think eliding constructors (say for structs) is a generally useful optimization, not just for built-in datatypes 2020-08-15T19:37:21Z gaqwas joined #lisp 2020-08-15T19:37:21Z gaqwas quit (Changing host) 2020-08-15T19:37:21Z gaqwas joined #lisp 2020-08-15T19:37:25Z CrazyEddy quit (Ping timeout: 264 seconds) 2020-08-15T19:37:50Z _oldtopman joined #lisp 2020-08-15T19:38:13Z lansiir quit (Ping timeout: 246 seconds) 2020-08-15T19:39:37Z aeth: White_Flame: just reading https://en.wikipedia.org/wiki/Peephole_optimization#Replacement_rules 2020-08-15T19:39:45Z aeth: White_Flame: #3 "algebraic laws" is a lot less useful than you think 2020-08-15T19:40:11Z aeth: e.g. Floating point doesn't follow this. 2020-08-15T19:42:18Z aeth: sveit: I'm more surprised it can't handle the equivalent (defun f (x) (car `(,x . 3))) since I know SBCL does optimize e.g. (defun f () (car '(42 . 3))) 2020-08-15T19:45:22Z alandipert quit (Ping timeout: 260 seconds) 2020-08-15T19:46:27Z alandipert joined #lisp 2020-08-15T19:52:17Z EvW quit (Ping timeout: 260 seconds) 2020-08-15T19:55:18Z Oberon joined #lisp 2020-08-15T19:55:18Z yitzi quit (Read error: Connection reset by peer) 2020-08-15T19:57:09Z shifty joined #lisp 2020-08-15T20:01:26Z CrazyEddy joined #lisp 2020-08-15T20:02:55Z gaqwas quit (Remote host closed the connection) 2020-08-15T20:05:38Z drot quit (Read error: Connection reset by peer) 2020-08-15T20:06:39Z shinohai quit (Read error: Connection reset by peer) 2020-08-15T20:07:06Z gaqwas joined #lisp 2020-08-15T20:07:06Z gaqwas quit (Changing host) 2020-08-15T20:07:07Z gaqwas joined #lisp 2020-08-15T20:07:20Z orivej quit (Ping timeout: 256 seconds) 2020-08-15T20:09:21Z yitzi joined #lisp 2020-08-15T20:09:44Z phoe: aeth: that's because '(42 . 3) is a literal 2020-08-15T20:09:57Z phoe: (cons 42 3) allocates a new cons each time 2020-08-15T20:16:18Z EvW1 joined #lisp 2020-08-15T20:21:48Z galex-713 quit (Quit: No Ping reply in 180 seconds.) 2020-08-15T20:24:38Z galex-713 joined #lisp 2020-08-15T20:34:14Z galex-713_ joined #lisp 2020-08-15T20:34:25Z Oladon joined #lisp 2020-08-15T20:34:43Z galex-713 quit (Ping timeout: 272 seconds) 2020-08-15T20:39:20Z niceplace quit (Quit: ZNC 1.7.5 - https://znc.in) 2020-08-15T20:40:11Z niceplace joined #lisp 2020-08-15T20:43:28Z ggole quit (Quit: Leaving) 2020-08-15T20:45:14Z galex-713_ quit (Ping timeout: 265 seconds) 2020-08-15T20:45:22Z galex-713 joined #lisp 2020-08-15T21:00:06Z jeosol joined #lisp 2020-08-15T21:01:39Z orivej joined #lisp 2020-08-15T21:04:03Z Oberon: Are there any cloud-type platforms for Lisp? It occurs to me that the language may be uniquely suited to the model. 2020-08-15T21:04:40Z Oberon: It also occurs to me that I could google "lisp cloud" and get my answer there. Excuse me while I clean this egg off of my face. 2020-08-15T21:07:17Z EvW1 quit (Ping timeout: 244 seconds) 2020-08-15T21:08:28Z phoe: Oberon: what exactly do you mean by cloud-type platform? 2020-08-15T21:12:49Z orivej quit (Ping timeout: 264 seconds) 2020-08-15T21:16:06Z gaqwas quit (Remote host closed the connection) 2020-08-15T21:17:58Z phoe: also, what do you mean by being uniquely suited 2020-08-15T21:20:33Z shinohai joined #lisp 2020-08-15T21:20:33Z phoe: if you mean something like AWS Lambda, then I guess the runtime advantages provided by Lisp's image-based programming are mostly lost, since you cannot easily debug or inspect recompile your code anymore because it runs Somewhere™ and usually bills you per hour 2020-08-15T21:20:53Z phoe: also each request might happen to execute in a different Lisp image, which also means that you don't have the program state in a single place 2020-08-15T21:22:18Z shinohai quit (Remote host closed the connection) 2020-08-15T21:22:44Z shinohai joined #lisp 2020-08-15T21:33:03Z orivej joined #lisp 2020-08-15T21:38:41Z asarch quit (Ping timeout: 272 seconds) 2020-08-15T21:39:51Z cosimone joined #lisp 2020-08-15T21:42:13Z Oberon: The program state would be a problem, but the model where you have bits of code that you can run on demand, and that can scale up quickly without provisioning a new machine 2020-08-15T21:42:38Z phoe: sure, you can do that same way you can run all other languages 2020-08-15T21:44:41Z orivej quit (Ping timeout: 265 seconds) 2020-08-15T21:44:41Z bitmapper: aws lambda but they actually run lambdas 2020-08-15T21:50:15Z bitmapper quit (Remote host closed the connection) 2020-08-15T21:50:32Z bitmapper joined #lisp 2020-08-15T21:55:23Z White_Flame: well, one of the advantages that amazon benefits from with lambda is that they keep your python/node/whatever instance running between executions, if you use them frequently, to save on startup times 2020-08-15T21:55:43Z White_Flame: but again, none of that really is language specific 2020-08-15T21:56:11Z White_Flame: just magic routing to reuse the same instance if one's still open 2020-08-15T21:57:03Z mrcom quit (Read error: Connection reset by peer) 2020-08-15T21:59:54Z gaqwas joined #lisp 2020-08-15T22:07:32Z mangoicedtea joined #lisp 2020-08-15T22:09:25Z gravicappa quit (Ping timeout: 246 seconds) 2020-08-15T22:09:58Z gaqwas quit (Remote host closed the connection) 2020-08-15T22:10:32Z akoana left #lisp 2020-08-15T22:13:01Z Josh_2` joined #lisp 2020-08-15T22:14:25Z Josh_2 quit (Ping timeout: 240 seconds) 2020-08-15T22:17:02Z orivej joined #lisp 2020-08-15T22:21:04Z Josh_2` quit (Remote host closed the connection) 2020-08-15T22:24:10Z v3ga quit (Ping timeout: 244 seconds) 2020-08-15T22:28:53Z vutral joined #lisp 2020-08-15T22:30:45Z Oberon quit (Ping timeout: 240 seconds) 2020-08-15T22:35:17Z Christ0pher joined #lisp 2020-08-15T22:40:27Z Oberon joined #lisp 2020-08-15T22:45:06Z Oberon quit (Ping timeout: 265 seconds) 2020-08-15T22:45:31Z Oberon joined #lisp 2020-08-15T22:45:56Z DGASAU` joined #lisp 2020-08-15T22:46:07Z Oladon quit (Quit: Leaving.) 2020-08-15T22:48:56Z madage quit (Quit: leaving) 2020-08-15T22:50:18Z Oberon quit (Ping timeout: 256 seconds) 2020-08-15T22:50:22Z DGASAU quit (Ping timeout: 256 seconds) 2020-08-15T22:51:02Z Oberon joined #lisp 2020-08-15T22:52:00Z stepnem quit (Ping timeout: 256 seconds) 2020-08-15T22:53:29Z hendursa1 joined #lisp 2020-08-15T22:53:53Z stepnem joined #lisp 2020-08-15T22:54:23Z hendursaga quit (Ping timeout: 240 seconds) 2020-08-15T22:54:59Z Oberon quit (Ping timeout: 240 seconds) 2020-08-15T22:56:36Z madage joined #lisp 2020-08-15T22:56:48Z Oberon joined #lisp 2020-08-15T23:01:16Z v3ga joined #lisp 2020-08-15T23:01:18Z Oberon quit (Ping timeout: 256 seconds) 2020-08-15T23:04:03Z cosimone quit (Ping timeout: 244 seconds) 2020-08-15T23:04:30Z Oberon joined #lisp 2020-08-15T23:06:53Z ralt: A lisp cloud might be related to CRIU and never dying processes... 2020-08-15T23:07:34Z ralt: I've never tried CRIU on an sbcl process, speaking lf 2020-08-15T23:07:39Z ralt: of* 2020-08-15T23:07:45Z ralt: I wonder if that works well 2020-08-15T23:07:59Z ralt: if at all 2020-08-15T23:09:13Z Oberon quit (Ping timeout: 264 seconds) 2020-08-15T23:09:14Z ralt: I don't think it's doing anything special that wouldn't make it work 2020-08-15T23:11:50Z aeth: I wonder if you can get a Lisp image running 'in the cloud' in the sense that it runs on mulitple machines simultaneously, sharing the heap. I mean, probably yes, but it's probably also way too hard over just running a dozen Lisp images simultaneously. 2020-08-15T23:14:40Z ralt: aeth: http://www.popcornlinux.org/ 2020-08-15T23:18:38Z pve quit (Quit: leaving) 2020-08-15T23:25:29Z jeosol quit (Ping timeout: 245 seconds) 2020-08-15T23:28:50Z random-nick quit (Ping timeout: 256 seconds) 2020-08-15T23:30:41Z aeth: ralt: that's actually solving a harder problem 2020-08-15T23:31:02Z aeth: (different ISAs) 2020-08-15T23:31:30Z aeth: (although it isn't harder if e.g. CLISP) 2020-08-15T23:36:23Z mrcom joined #lisp 2020-08-15T23:40:18Z mangoicedtea quit (Quit: Leaving) 2020-08-15T23:48:20Z duuqnd quit (Remote host closed the connection) 2020-08-16T00:05:19Z kaftejiman quit (Remote host closed the connection) 2020-08-16T00:07:04Z minion quit (Remote host closed the connection) 2020-08-16T00:07:04Z specbot quit (Remote host closed the connection) 2020-08-16T00:07:22Z specbot joined #lisp 2020-08-16T00:07:23Z minion joined #lisp 2020-08-16T00:15:14Z nullheroes quit (Quit: WeeChat 2.9) 2020-08-16T00:40:02Z vutral quit (Quit: Connection closed for inactivity) 2020-08-16T00:40:37Z mrcom quit (Ping timeout: 265 seconds) 2020-08-16T00:42:49Z orivej quit (Ping timeout: 264 seconds) 2020-08-16T00:42:59Z galex-713 quit (Ping timeout: 272 seconds) 2020-08-16T00:44:28Z marusich joined #lisp 2020-08-16T00:50:07Z hendursa1 quit (Quit: hendursa1) 2020-08-16T00:50:21Z hendursaga joined #lisp 2020-08-16T00:51:21Z terpri_ joined #lisp 2020-08-16T00:54:06Z terpri quit (Ping timeout: 244 seconds) 2020-08-16T00:58:29Z orivej joined #lisp 2020-08-16T01:01:40Z _jrjsmrtn joined #lisp 2020-08-16T01:02:15Z remexre: hm, if I wanna rigorously measure the performance of my code (for preventing performance regressions in a certain function), is there standard tooling for doing so? 2020-08-16T01:02:25Z __jrjsmrtn__ quit (Ping timeout: 240 seconds) 2020-08-16T01:03:55Z mfiano: trivial-benchmark should be decent 2020-08-16T01:04:30Z remexre: ooh, that looks nice 2020-08-16T01:06:07Z ghard quit (Ping timeout: 260 seconds) 2020-08-16T01:07:37Z remexre: oof, though when I quickload it, I get an error about it violating the sb-impl package lock 2020-08-16T01:07:40Z Bourne quit (Read error: Connection reset by peer) 2020-08-16T01:08:30Z aeth: If you're in SBCL, there are some good non-standard tools for measuring performance. 2020-08-16T01:13:05Z mfiano: remexre: ensure SBCL and the Quicklisp dist are up to date. It works here using latest for both 2020-08-16T01:13:48Z remexre: ah, yeah, I'm on sbcl 1.4.9 2020-08-16T01:14:06Z rumbler31 quit (Remote host closed the connection) 2020-08-16T01:14:12Z remexre: I should poke the gentoo maintainers to mark the newer ones as stable... 2020-08-16T01:14:26Z mfiano: Ouch. more than 2 years is an eternity in the software world 2020-08-16T01:15:20Z mfiano: sbcl-1.4.9: June 28, 2018 2020-08-16T01:16:48Z wildbartty quit (Remote host closed the connection) 2020-08-16T01:18:04Z shifty quit (Ping timeout: 246 seconds) 2020-08-16T01:25:38Z orivej quit (Ping timeout: 256 seconds) 2020-08-16T01:28:12Z ralt quit (Quit: Connection closed for inactivity) 2020-08-16T01:28:13Z remexre: okay, 2.0.4 wor 2020-08-16T01:28:19Z remexre: works, even 2020-08-16T01:31:53Z wsinatra joined #lisp 2020-08-16T01:43:56Z X-Scale quit (Ping timeout: 256 seconds) 2020-08-16T01:46:48Z X-Scale` joined #lisp 2020-08-16T01:47:34Z X-Scale` is now known as X-Scale 2020-08-16T02:09:17Z gko_ joined #lisp 2020-08-16T02:09:55Z mrcom joined #lisp 2020-08-16T02:11:16Z caltelt quit (Ping timeout: 246 seconds) 2020-08-16T02:14:43Z rumbler31 joined #lisp 2020-08-16T02:17:16Z ldb joined #lisp 2020-08-16T02:18:06Z ldb quit (Read error: Connection reset by peer) 2020-08-16T02:19:58Z ldb joined #lisp 2020-08-16T02:20:03Z ldb: good morning 2020-08-16T02:24:02Z _whitelogger quit (Remote host closed the connection) 2020-08-16T02:26:13Z _whitelogger joined #lisp 2020-08-16T02:31:21Z ldb quit (Remote host closed the connection) 2020-08-16T02:31:41Z ldb joined #lisp 2020-08-16T02:47:34Z nmg joined #lisp 2020-08-16T02:58:28Z space_otter joined #lisp 2020-08-16T03:02:19Z Alfr__ joined #lisp 2020-08-16T03:05:07Z Alfr_ quit (Ping timeout: 260 seconds) 2020-08-16T03:09:02Z _whitelogger quit (Remote host closed the connection) 2020-08-16T03:11:00Z shifty joined #lisp 2020-08-16T03:11:13Z _whitelogger joined #lisp 2020-08-16T03:12:54Z ldb quit (Ping timeout: 256 seconds) 2020-08-16T03:16:41Z Oladon joined #lisp 2020-08-16T03:18:17Z ldb joined #lisp 2020-08-16T03:23:05Z ldb quit (Ping timeout: 240 seconds) 2020-08-16T03:28:38Z ldb joined #lisp 2020-08-16T03:32:11Z lucasb quit (Quit: Connection closed for inactivity) 2020-08-16T03:33:49Z ldb quit (Ping timeout: 264 seconds) 2020-08-16T03:38:35Z ldb joined #lisp 2020-08-16T03:39:30Z ldb left #lisp 2020-08-16T03:45:40Z rumbler3_ joined #lisp 2020-08-16T03:45:41Z rumbler31 quit (Read error: Connection reset by peer) 2020-08-16T03:47:04Z wsinatra quit (Quit: WeeChat 2.9) 2020-08-16T03:49:00Z Necktwi quit (Ping timeout: 256 seconds) 2020-08-16T03:58:38Z zigpaw1 quit (Ping timeout: 256 seconds) 2020-08-16T04:02:02Z mindCrime quit (Ping timeout: 260 seconds) 2020-08-16T04:03:25Z zigpaw1 joined #lisp 2020-08-16T04:05:40Z mindCrime joined #lisp 2020-08-16T04:09:02Z _whitelogger quit (Remote host closed the connection) 2020-08-16T04:11:13Z _whitelogger joined #lisp 2020-08-16T04:17:39Z beach: Good morning everyone! 2020-08-16T04:17:53Z Oladon quit (Quit: Leaving.) 2020-08-16T04:19:17Z buoy49: beach: mornin' 2020-08-16T04:21:41Z beach: buoy49: How is PCL reading coming along? 2020-08-16T04:21:48Z Lord_of_Life_ joined #lisp 2020-08-16T04:22:02Z Lord_of_Life quit (Ping timeout: 256 seconds) 2020-08-16T04:23:09Z Lord_of_Life_ is now known as Lord_of_Life 2020-08-16T04:23:54Z kmeow joined #lisp 2020-08-16T04:26:28Z buoy49: beach: it's going well. I'm up to first macros chapter. I've also been messing with a little Telegram bot project that I had started before. It's running hunchentoot. That's the tried & true for little web things, right? 2020-08-16T04:26:52Z beach: I think so, yes. 2020-08-16T04:27:46Z buoy49: beach: cool. what type of projects do you use lisp for? 2020-08-16T04:27:52Z Oladon joined #lisp 2020-08-16T04:28:26Z beach: minion: Please tell buoy49 about SICL. 2020-08-16T04:28:27Z minion: buoy49: SICL: SICL is a (perhaps futile) attempt to re-implement Common Lisp from scratch, hopefully using improved programming and bootstrapping techniques. See https://github.com/robert-strandh/SICL 2020-08-16T04:28:56Z beach: minion: Please tell buoy49 about Cleavir. 2020-08-16T04:28:56Z minion: buoy49: Cleavir: A project to create an implementation-independent compilation framework for Common Lisp. Currently Cleavir is part of SICL, but that might change in the future 2020-08-16T04:29:32Z beach: Also improving other aspects of our set of development tools. 2020-08-16T04:30:25Z buoy49: beach: wow, that's some heavy lifting 2020-08-16T04:31:50Z buoy49: I don't much CS or PL stuff. I've learned some on the job, but I'm "self-taught," so to speak 2020-08-16T04:32:08Z beach: I see. 2020-08-16T04:32:51Z contrapunctus: buoy49: https://teachyourselfcs.com/ 2020-08-16T04:33:47Z buoy49: contrapunctus: thank you 2020-08-16T04:38:03Z buoy49: contrapunctus: I actually own a couple of these books (Computer Systems: A Programmers Perspective & Designing Data-Intensive Applications) 2020-08-16T04:39:48Z buoy49: Guess I should start with SICP after PCL. I've been thinking about SICP for awhile. I did the first chapter about 4 years ago, but was neck deep in my first dev gig and didn't maintain that effort 2020-08-16T04:40:50Z beach: I would go for PAIP or On Lisp instead. 2020-08-16T04:41:01Z easye: Like _Art of Computer Programming_, one is never finished with SICP esp. if you work through the problems. 2020-08-16T04:41:24Z easye: _On Lisp_ will definitely open your eyes about macros. 2020-08-16T04:41:58Z beach: And PAIP is pretty good about abstraction. 2020-08-16T04:43:05Z buoy49: beach: got it 2020-08-16T04:44:36Z beach: And, later, if you are interested in how Lisp is implemented, there is LiSP. 2020-08-16T04:44:41Z beach: minion: Please tell buoy49 about LiSP. 2020-08-16T04:44:41Z minion: buoy49: look at LiSP: "Lisp in Small Pieces". This book covers Lisp, Scheme and other related dialects, their interpretation, semantics and compilation. To sum it up in a few figures: 500 pages, 11 chapters, 11 interpreters and 2 compilers. 2020-08-16T04:45:15Z bhartrihari joined #lisp 2020-08-16T04:45:28Z beach: It is a translation from French, but thanks to the very talented translator, the translation is actually better than the original. 2020-08-16T04:45:31Z buoy49: easye: ah, yes. Tbh, I'm not sure if I actually "finished" all the problems of Ch. 1 2020-08-16T04:46:34Z easye: buoy49: exactly, 'cuz the problems lead to further questions, which lead to further problems, like all truly great pedagogical texts. 2020-08-16T04:48:40Z easye: beach: interesting that the translation is better than the original. Never heard that before. (I don't know French well enough to judge) 2020-08-16T04:49:00Z buoy49: beach: that's interesting re: translation, but that seems to be the case with quite a few texts now that I think of it 2020-08-16T04:49:39Z beach: I said that partly tongue-in-cheek. The translator is my wife. But I do think it is better. 2020-08-16T04:49:48Z buoy49: Ha! 2020-08-16T04:50:02Z Chiota joined #lisp 2020-08-16T04:50:09Z beach: She is from Houston, by the way. 2020-08-16T04:50:44Z shangul joined #lisp 2020-08-16T04:51:01Z easye: Houston is somewhat near Paris, Texas... 2020-08-16T04:51:08Z buoy49: beach: so is my wife, haha! 2020-08-16T04:51:11Z beach: True dat. 2020-08-16T04:54:10Z buoy49: easye: you know about Paris, TX? I haven't been there, yet. But I was reading about it the other day, actually 2020-08-16T04:54:53Z easye: Never been to Paris, TX. I just know it from the movie. 2020-08-16T04:56:02Z buoy49: easye: ah, yes. Forgot about that 2020-08-16T04:59:25Z Jeanne-Kamikaze quit (Quit: Leaving) 2020-08-16T05:03:04Z ldb joined #lisp 2020-08-16T05:03:19Z ldb quit (Read error: Connection reset by peer) 2020-08-16T05:05:08Z ldb joined #lisp 2020-08-16T05:06:27Z ldb beaking news, mozilla laid off 250 ppl. 2020-08-16T05:14:08Z gravicappa joined #lisp 2020-08-16T05:29:37Z Chiota quit (Remote host closed the connection) 2020-08-16T05:30:55Z Necktwi joined #lisp 2020-08-16T05:36:14Z terpri_ is now known as terpri 2020-08-16T05:36:42Z u0_a156 joined #lisp 2020-08-16T05:47:52Z FennecCode quit (Ping timeout: 260 seconds) 2020-08-16T05:59:45Z ldb quit (Ping timeout: 240 seconds) 2020-08-16T06:06:10Z ldb joined #lisp 2020-08-16T06:06:49Z dmr0x80 joined #lisp 2020-08-16T06:10:40Z ldb quit (Ping timeout: 256 seconds) 2020-08-16T06:15:57Z ldb joined #lisp 2020-08-16T06:16:21Z FennecCode joined #lisp 2020-08-16T06:20:28Z ldb quit (Ping timeout: 256 seconds) 2020-08-16T06:26:11Z ldb joined #lisp 2020-08-16T06:27:32Z ralt joined #lisp 2020-08-16T06:30:49Z ldb quit (Ping timeout: 264 seconds) 2020-08-16T06:35:23Z rumbler3_ quit (Ping timeout: 265 seconds) 2020-08-16T06:35:31Z galex-713 joined #lisp 2020-08-16T06:36:15Z ldb joined #lisp 2020-08-16T06:36:20Z dmr0x80 quit (Ping timeout: 256 seconds) 2020-08-16T06:39:18Z vutral joined #lisp 2020-08-16T06:40:46Z ldb quit (Ping timeout: 246 seconds) 2020-08-16T06:57:13Z Nikotiini quit (Ping timeout: 264 seconds) 2020-08-16T07:12:55Z mangul joined #lisp 2020-08-16T07:15:05Z shangul quit (Ping timeout: 240 seconds) 2020-08-16T07:15:29Z pve joined #lisp 2020-08-16T07:19:58Z gko_ quit (Ping timeout: 256 seconds) 2020-08-16T07:20:53Z ggole joined #lisp 2020-08-16T07:21:13Z Nikotiini joined #lisp 2020-08-16T07:23:52Z galex-713 quit (Read error: Connection reset by peer) 2020-08-16T07:26:17Z galex-713 joined #lisp 2020-08-16T07:30:01Z Oladon quit (Quit: Leaving.) 2020-08-16T07:30:18Z heisig joined #lisp 2020-08-16T07:31:37Z orivej joined #lisp 2020-08-16T07:32:05Z wxie joined #lisp 2020-08-16T07:37:58Z troydm quit (Ping timeout: 260 seconds) 2020-08-16T07:38:27Z farooqkz__ joined #lisp 2020-08-16T07:40:07Z scymtym joined #lisp 2020-08-16T07:40:18Z dmrintr joined #lisp 2020-08-16T07:41:01Z mangul quit (Ping timeout: 264 seconds) 2020-08-16T08:10:09Z hendursa1 joined #lisp 2020-08-16T08:12:03Z hendursaga quit (Ping timeout: 240 seconds) 2020-08-16T08:18:03Z _whitelogger quit (Remote host closed the connection) 2020-08-16T08:20:13Z _whitelogger joined #lisp 2020-08-16T08:30:15Z Inline joined #lisp 2020-08-16T08:42:11Z orivej quit (Ping timeout: 240 seconds) 2020-08-16T08:43:27Z gaqwas joined #lisp 2020-08-16T08:46:38Z ralt quit (Quit: Connection closed for inactivity) 2020-08-16T08:47:01Z drot joined #lisp 2020-08-16T08:55:33Z gaqwas quit (Remote host closed the connection) 2020-08-16T08:58:30Z gaqwas joined #lisp 2020-08-16T08:58:30Z gaqwas quit (Changing host) 2020-08-16T08:58:30Z gaqwas joined #lisp 2020-08-16T08:59:40Z wxie quit (Quit: wxie) 2020-08-16T08:59:49Z troydm joined #lisp 2020-08-16T09:00:00Z wxie joined #lisp 2020-08-16T09:00:03Z liberliver joined #lisp 2020-08-16T09:04:25Z wxie quit (Ping timeout: 244 seconds) 2020-08-16T09:11:05Z rpg joined #lisp 2020-08-16T09:11:55Z orivej joined #lisp 2020-08-16T09:25:11Z gko_ joined #lisp 2020-08-16T09:26:57Z mindCrime quit (Ping timeout: 260 seconds) 2020-08-16T09:37:23Z kaftejiman joined #lisp 2020-08-16T09:41:19Z kaftejiman quit (Remote host closed the connection) 2020-08-16T09:45:25Z kmeow quit (Remote host closed the connection) 2020-08-16T09:48:46Z vutral quit (Quit: Connection closed for inactivity) 2020-08-16T09:56:46Z whiteline quit (Remote host closed the connection) 2020-08-16T09:57:49Z whiteline joined #lisp 2020-08-16T10:04:59Z orivej quit (Ping timeout: 240 seconds) 2020-08-16T10:09:29Z orivej joined #lisp 2020-08-16T10:14:46Z orivej quit (Ping timeout: 260 seconds) 2020-08-16T10:20:50Z farooqkz__ quit (Ping timeout: 260 seconds) 2020-08-16T10:22:42Z v3ga quit (Quit: WeeChat 2.7.1) 2020-08-16T10:24:54Z v3ga joined #lisp 2020-08-16T10:29:12Z dra_ joined #lisp 2020-08-16T10:29:26Z dra_ is now known as dra 2020-08-16T10:31:09Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-08-16T10:31:49Z galex-713 quit (Quit: No Ping reply in 180 seconds.) 2020-08-16T10:33:02Z galex-713 joined #lisp 2020-08-16T10:39:36Z jackdaniel: I'm sure that you've read it on internet explorer :) 2020-08-16T10:46:56Z dra: Hello! 2020-08-16T10:48:51Z bhartrihari left #lisp 2020-08-16T10:49:09Z bhartrihari joined #lisp 2020-08-16T10:49:47Z bhartrihari left #lisp 2020-08-16T10:49:57Z bhartrihari joined #lisp 2020-08-16T10:52:54Z farooqkz__ joined #lisp 2020-08-16T10:53:59Z farooqkz__ quit (Remote host closed the connection) 2020-08-16T10:54:36Z madage quit (Remote host closed the connection) 2020-08-16T10:56:33Z contrapunctus: Hello! 2020-08-16T10:59:54Z pls153 joined #lisp 2020-08-16T11:00:03Z random-nick joined #lisp 2020-08-16T11:03:46Z madage joined #lisp 2020-08-16T11:03:56Z pls153: COUNTER ACTION other breaking news: someone is already developing a new browser in Rust: https://github.com/twilco/kosmonaut 2020-08-16T11:04:01Z pls153 quit (Remote host closed the connection) 2020-08-16T11:05:57Z contrapunctus: pls153: orange crab bad 2020-08-16T11:14:35Z Josh_2 joined #lisp 2020-08-16T11:24:02Z _whitelogger quit (Remote host closed the connection) 2020-08-16T11:24:16Z duuqnd joined #lisp 2020-08-16T11:26:13Z _whitelogger joined #lisp 2020-08-16T11:30:35Z space_otter quit (Remote host closed the connection) 2020-08-16T11:33:12Z dra quit (Remote host closed the connection) 2020-08-16T11:38:01Z shifty quit (Ping timeout: 264 seconds) 2020-08-16T11:49:16Z cosimone joined #lisp 2020-08-16T11:52:28Z scymtym_ quit (Remote host closed the connection) 2020-08-16T11:52:28Z scymtym quit (Remote host closed the connection) 2020-08-16T11:53:43Z scymtym joined #lisp 2020-08-16T12:09:37Z Bourne joined #lisp 2020-08-16T12:13:35Z thevishy joined #lisp 2020-08-16T12:13:55Z thevishy left #lisp 2020-08-16T12:17:52Z bitmapper quit (Ping timeout: 256 seconds) 2020-08-16T12:43:33Z contrapunctus left #lisp 2020-08-16T12:44:58Z contrapunctus joined #lisp 2020-08-16T12:50:24Z ralt joined #lisp 2020-08-16T12:52:04Z keutoi joined #lisp 2020-08-16T12:53:20Z cosimone quit (Remote host closed the connection) 2020-08-16T12:53:50Z cosimone joined #lisp 2020-08-16T12:55:44Z yitzi quit (Quit: yitzi) 2020-08-16T12:57:31Z yitzi joined #lisp 2020-08-16T13:00:23Z FreeBirdLjj joined #lisp 2020-08-16T13:03:10Z Josh_2: mrcom: https://github.com/K1D77A/metalock all slot access happens using a read-writer lock now 2020-08-16T13:03:26Z Josh_2: well each slot has It's own read-writer lock 2020-08-16T13:03:52Z hendursa1 quit (Quit: hendursa1) 2020-08-16T13:04:07Z hendursaga joined #lisp 2020-08-16T13:04:45Z FreeBirdLjj quit (Ping timeout: 244 seconds) 2020-08-16T13:05:26Z mangoicedtea joined #lisp 2020-08-16T13:10:14Z keutoi quit (Ping timeout: 260 seconds) 2020-08-16T13:10:58Z kaftejiman joined #lisp 2020-08-16T13:16:58Z keutoi joined #lisp 2020-08-16T13:23:02Z flazh quit (Ping timeout: 256 seconds) 2020-08-16T13:26:42Z vhost- quit (Ping timeout: 265 seconds) 2020-08-16T13:27:00Z keutoi quit (Ping timeout: 256 seconds) 2020-08-16T13:27:22Z vhost- joined #lisp 2020-08-16T13:29:12Z flazh joined #lisp 2020-08-16T13:29:31Z Bourne quit (Read error: Connection reset by peer) 2020-08-16T13:30:01Z yitzi quit (Quit: yitzi) 2020-08-16T13:33:51Z rpg joined #lisp 2020-08-16T13:34:17Z lucasb joined #lisp 2020-08-16T13:38:34Z keutoi joined #lisp 2020-08-16T13:39:43Z Inline quit (Ping timeout: 246 seconds) 2020-08-16T13:47:09Z jonatack quit (Quit: jonatack) 2020-08-16T14:14:26Z jonatack joined #lisp 2020-08-16T14:17:44Z EvW joined #lisp 2020-08-16T14:19:00Z Inline joined #lisp 2020-08-16T14:19:36Z Lycurgus joined #lisp 2020-08-16T14:19:46Z bhartrihari left #lisp 2020-08-16T14:19:56Z bhartrihari joined #lisp 2020-08-16T14:46:15Z mangoicedtea quit (Quit: Leaving) 2020-08-16T14:49:55Z kaftejiman quit (Remote host closed the connection) 2020-08-16T14:51:49Z keutoi quit (Ping timeout: 264 seconds) 2020-08-16T14:52:31Z puchacz joined #lisp 2020-08-16T14:53:00Z puchacz: hi, what version of write / print function is equivalent of (format nil "~a" object) please? object being any object 2020-08-16T14:53:04Z puchacz: I just want to stringify it 2020-08-16T14:55:09Z puchacz: and if I want to concatenate 2 strings? like (format nil "~a ~a" obj1 obj2) ? 2020-08-16T14:56:24Z pve: puchacz: princ-to-string 2020-08-16T14:56:48Z puchacz: pve: thanks 2020-08-16T14:57:39Z puchacz: and concatenate strings? do I need to with-output-to-string etc.? 2020-08-16T14:57:42Z pve: (concatenate 'string (princ-to-string obj1) " " (princ-to-string obj2)) 2020-08-16T14:57:59Z puchacz: ah, ok, thanks! 2020-08-16T14:58:01Z pve: you'll want to define your own cat function 2020-08-16T14:58:05Z pve: most likely 2020-08-16T14:58:30Z puchacz: concantenate from lisp too slow? 2020-08-16T14:58:50Z pve: no, I mean just for convenience 2020-08-16T14:59:00Z puchacz: ok 2020-08-16T14:59:16Z pve: or do with-output-to-string + (princ foo the-stream) 2020-08-16T14:59:41Z ralt quit (Quit: Connection closed for inactivity) 2020-08-16T15:00:18Z pve: so you could do like (stringify obj1 " " obj2) or something 2020-08-16T15:01:01Z puchacz: I have it with format nil already, maybe the compiler does something sensible with it, but I prefer to make it less ugly 2020-08-16T15:01:19Z pve: format nil is fine 2020-08-16T15:01:54Z pve: if it's too ugly you can make stringify like above 2020-08-16T15:08:26Z orivej joined #lisp 2020-08-16T15:10:52Z dmrintr quit (Quit: WeeChat 2.9) 2020-08-16T15:15:03Z dmrintr joined #lisp 2020-08-16T15:15:06Z phoe: puchacz: #'uiop:strcat 2020-08-16T15:15:12Z phoe: if you are not allergic to uiop 2020-08-16T15:15:59Z liberliver quit (Ping timeout: 246 seconds) 2020-08-16T15:16:00Z jackdaniel: (defun strdog (&rest args) (error "woof")) 2020-08-16T15:16:25Z jackdaniel: I find it nice that silly Common Lisp functions fit in one line 2020-08-16T15:17:10Z puchacz: phoe: I found strcat in arnesi 2020-08-16T15:17:13Z puchacz: all good 2020-08-16T15:22:41Z physpi quit (Ping timeout: 272 seconds) 2020-08-16T15:22:41Z dnm quit (Ping timeout: 272 seconds) 2020-08-16T15:22:51Z dnm joined #lisp 2020-08-16T15:23:14Z Inline quit (Ping timeout: 260 seconds) 2020-08-16T15:23:49Z bitmapper joined #lisp 2020-08-16T15:24:27Z physpi joined #lisp 2020-08-16T15:24:29Z puchacz: jackdaniel: your function gives a compilation warning about unused argument. something is wrong with it :) 2020-08-16T15:24:57Z jackdaniel: the compiler is barking at the strdog 2020-08-16T15:27:28Z anewuser joined #lisp 2020-08-16T15:27:47Z anewuser is now known as Guest3261 2020-08-16T15:29:48Z Guest3261 quit (Remote host closed the connection) 2020-08-16T15:30:40Z Guest3261 joined #lisp 2020-08-16T15:31:22Z Guest3261 quit (Remote host closed the connection) 2020-08-16T15:32:06Z Guest3261 joined #lisp 2020-08-16T15:32:47Z Guest3261 quit (Remote host closed the connection) 2020-08-16T15:35:05Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-08-16T15:35:32Z Inline joined #lisp 2020-08-16T15:44:30Z Lycurgus quit (Remote host closed the connection) 2020-08-16T15:52:07Z telior joined #lisp 2020-08-16T15:52:21Z pve: is there some reason to be allergic to uiop? 2020-08-16T15:53:51Z pve: I'm somewhat reluctant to use it, but can't really put my finger on why 2020-08-16T15:54:13Z orivej quit (Ping timeout: 264 seconds) 2020-08-16T16:06:21Z terpri quit (Quit: Leaving) 2020-08-16T16:10:14Z terpri joined #lisp 2020-08-16T16:10:23Z terpri quit (Remote host closed the connection) 2020-08-16T16:11:29Z terpri joined #lisp 2020-08-16T16:14:19Z flip214: If a macro wants to store a (static) value per-callsite (same for all threads), is the best way to use use the value slot of a gensym? Is there a more memory-efficient way if I just want to remember a fixnum? (cache for max. size of w-o-t-s) 2020-08-16T16:16:05Z rpg joined #lisp 2020-08-16T16:17:09Z pve: flip214: would load-time-value work? 2020-08-16T16:22:06Z jessa^22 joined #lisp 2020-08-16T16:23:09Z Lord_of_Life_ joined #lisp 2020-08-16T16:24:34Z Lord_of_Life quit (Ping timeout: 246 seconds) 2020-08-16T16:26:01Z Lord_of_Life_ is now known as Lord_of_Life 2020-08-16T16:27:49Z cosimone quit (Quit: Quit.) 2020-08-16T16:32:26Z yitzi joined #lisp 2020-08-16T16:33:38Z jessa^22 quit (Quit: Oh my God, why woman was easily to deceived and successfully tempted, then she became the tunnel of all sorts of sins. Adam was only her implicated. OMG nowadays many men impersonate the wicked deceiver to deceive woman online. Why? Brought to you buy 1) 2020-08-16T16:34:12Z gaqwas quit (Remote host closed the connection) 2020-08-16T16:39:37Z gaqwas joined #lisp 2020-08-16T16:47:16Z gko_ quit (Remote host closed the connection) 2020-08-16T16:47:25Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-08-16T16:55:14Z terpri quit (Quit: Leaving) 2020-08-16T16:55:37Z terpri joined #lisp 2020-08-16T17:03:14Z contrapunctus left #lisp 2020-08-16T17:04:04Z contrapunctus joined #lisp 2020-08-16T17:23:56Z liberliver joined #lisp 2020-08-16T17:38:23Z stoneglass joined #lisp 2020-08-16T17:45:35Z ralt joined #lisp 2020-08-16T17:46:27Z ralt: puchacz: you can use uiop:strcat 2020-08-16T17:46:55Z Bike joined #lisp 2020-08-16T17:49:25Z dmrintr quit (Ping timeout: 264 seconds) 2020-08-16T17:53:13Z gaqwas quit (Remote host closed the connection) 2020-08-16T17:53:16Z puchacz: ralt: np, I used strcat from arnesi 2020-08-16T17:53:31Z stoneglass quit (Quit: stoneglass) 2020-08-16T18:01:40Z mindCrime joined #lisp 2020-08-16T18:04:12Z Oladon joined #lisp 2020-08-16T18:09:07Z rogersm joined #lisp 2020-08-16T18:09:56Z Inline quit (Ping timeout: 265 seconds) 2020-08-16T18:10:16Z Jesin quit (Quit: Leaving) 2020-08-16T18:11:52Z liberliver quit (Ping timeout: 265 seconds) 2020-08-16T18:14:20Z gaqwas joined #lisp 2020-08-16T18:14:20Z gaqwas quit (Changing host) 2020-08-16T18:14:20Z gaqwas joined #lisp 2020-08-16T18:14:53Z liberliver joined #lisp 2020-08-16T18:19:33Z Jesin joined #lisp 2020-08-16T18:20:22Z orivej joined #lisp 2020-08-16T18:22:10Z mrcom: Josh_2: So I see! Forwarning--I've never been able to write DIY locking code that worked the first time, even after I was sure I debugged everything. 2020-08-16T18:22:52Z mrcom: Josh_2: ...and I see a bug in BEGIN-WRITE. You're calling CONDITION-NOTIFY in the loop instead of CONDITION-WAIT. 2020-08-16T18:24:23Z mrcom: Josh_2: Also, in END-READ you should consider calling (ASSERT (PLUSP RA)) instead of (UNLESS (ZEROP RA) ...) 2020-08-16T18:25:20Z mrcom: It might seem more forgiving to not do anything if it's already zero, but that case should never happen. 2020-08-16T18:26:59Z v3ga quit (Ping timeout: 272 seconds) 2020-08-16T18:27:22Z gaqwas quit (Remote host closed the connection) 2020-08-16T18:27:34Z mrcom: Bitter, bitter experience has taught me that it's better to detect threading errors as early as possible. If RA is ever zero at that point then something's gone wrong. 2020-08-16T18:28:52Z mindCrime quit (Ping timeout: 260 seconds) 2020-08-16T18:32:39Z enrio joined #lisp 2020-08-16T18:32:58Z mrcom: Josh_2: Also, in WRITE-WITH-RW-LOCK the second call is to END-READ instead of END-WRITE. 2020-08-16T18:34:52Z TwoNotes joined #lisp 2020-08-16T18:36:00Z puchacz quit (Remote host closed the connection) 2020-08-16T18:38:20Z mrcom: Josh_2: Oh, wait. I was thinking HANDLER-BIND. You don't to execute END-READ or END-WRITE twice, which UNWIND-PROTECT will do it everything is OK. 2020-08-16T18:41:56Z mrcom: Also, in READ-/WRITE-WITH-RW-LOCK, if the BEGIN-READ or BEGIN-WRITE themselves fail you're going to have a mess. 2020-08-16T18:42:51Z mrcom: (For example, if you hit Control-C right in the middle of the BEGIN-READ/-WRITE.) 2020-08-16T18:43:14Z Inline joined #lisp 2020-08-16T18:44:40Z akoana joined #lisp 2020-08-16T18:45:09Z Josh_2: mrcom: I copied the implementation from the wiki pseudocode 2020-08-16T18:45:40Z Josh_2: I added unwind protect because I initially had a bug where I was checking the wrong var (pretty typical) and it was stalling, if I C-c'd it the whole thing would break 2020-08-16T18:46:12Z mrcom: Suggestion: Something like (let ((locked nil)) (unwind-protect (unwind-protect (begin-write ,lock) (setf locked t)) (if locked (progn ,@body)) (if locked (end-read/-write)) 2020-08-16T18:47:18Z mrcom: And when you added the unwind-protect it looked like everything was OK because you also had the (unless (zerop ra)). 2020-08-16T18:47:32Z Josh_2: well I had to add that as well 2020-08-16T18:47:34Z Josh_2: trial and error xD 2020-08-16T18:47:59Z mrcom: Yeah, like I was I've never gotten this stuff to work first try. Or second. Or third :) 2020-08-16T18:48:12Z Josh_2: Well It's all part of the fun! 2020-08-16T18:48:26Z mrcom: The way it is now, every read will increment once and decrement twice. 2020-08-16T18:48:53Z Josh_2: The suggestion you made is for the read/write macro? 2020-08-16T18:49:17Z phoe: are there unit tests for it? 2020-08-16T18:49:31Z mrcom: Yeah. You need some kind of indicator that the lock actually happened. 2020-08-16T18:50:19Z mrcom: ... And I messed it up. 2020-08-16T18:50:25Z Josh_2: mrcom: oh no 2020-08-16T18:51:56Z mrcom: Should be (let ((locked nil)) (unwind-protect (progn (begin-write ,lock) (setf locked t)) (if locked (progn ,@body)) (if locked (end-read-/-write))) 2020-08-16T18:53:42Z mrcom: ... And I messed it up again. There should be a PROG1 around the two (IF LOCKED ...) expressions, so that you return the value of the body. 2020-08-16T18:54:19Z mrcom: ... but that will mean the END- doesn't execute if the body failes. 2020-08-16T18:54:19Z jw4 quit (Read error: Connection reset by peer) 2020-08-16T18:54:29Z Josh_2: mrcom: like this https://plaster.tymoon.eu/view/2008#2008 ? 2020-08-16T18:54:33Z Josh_2: I already added the prog1 2020-08-16T18:54:39Z Josh_2: I also made that mistake earlier :P 2020-08-16T18:55:00Z mrcom: No, the LOCALLY doesn't do anything. 2020-08-16T18:56:15Z jw4 joined #lisp 2020-08-16T18:56:40Z Josh_2: What do you mean? 2020-08-16T18:57:14Z rogersm quit (Quit: Leaving...) 2020-08-16T18:57:24Z phoe: LOCALLY is likely there to allow declarations 2020-08-16T18:57:29Z Josh_2: yeh 2020-08-16T18:58:00Z mrcom: (LOCALLY () ...) is the same as (LET () ...), except that if the LOCALLY is a top-level form so are the sub-forms. 2020-08-16T18:58:10Z phoe: yes 2020-08-16T18:58:22Z mrcom: s/(LOCALLY () ...)/(LOCALLY ...) 2020-08-16T18:58:26Z phoe: but it's more common to see (LOCALLY ...) than (LET () ...) 2020-08-16T18:58:44Z phoe: PROGN is for when your body forms do not accept declarations; LOCALLY, for when they do 2020-08-16T18:58:50Z phoe: at least that is what I was taught 2020-08-16T18:58:59Z liberliver quit (Ping timeout: 240 seconds) 2020-08-16T19:00:03Z mrcom: Anyway, what you want is that the PROG1 should instead be UNWIND-PROTECT (again). 2020-08-16T19:00:36Z mrcom: That way the body (or its error) is returned, and you still call the unlock. 2020-08-16T19:01:14Z cantstanya quit (Remote host closed the connection) 2020-08-16T19:01:53Z liberliver joined #lisp 2020-08-16T19:02:09Z mrcom: Sigh. Still not right. The first UNWIND-PROTECT will return the value of the SETF, or an error if BEGIN-READ/-WRITE failed. 2020-08-16T19:03:14Z cantstanya joined #lisp 2020-08-16T19:03:31Z flip214: pve: I need to modify that value during runtime... how would l-t-v help here? 2020-08-16T19:04:06Z Josh_2: https://plaster.tymoon.eu/view/2009#2009 2020-08-16T19:04:18Z Josh_2: mrcom: yes I noticed that one as well :P 2020-08-16T19:04:22Z Josh_2: (when it didn't work) 2020-08-16T19:04:51Z Josh_2: although in that linked version the first unwind protect doesn't have a cleanup 2020-08-16T19:04:52Z Josh_2: *sigh* 2020-08-16T19:05:56Z Josh_2: https://plaster.tymoon.eu/view/2010#2010 2020-08-16T19:06:27Z satousan joined #lisp 2020-08-16T19:06:37Z Oladon quit (Ping timeout: 246 seconds) 2020-08-16T19:06:51Z mrcom: Nope, double-unlock again. 2020-08-16T19:07:10Z Josh_2: hnng 2020-08-16T19:07:51Z Oladon joined #lisp 2020-08-16T19:07:54Z Josh_2: can't I only have 1 unwind protect? that will catch a C-c and then there will be only 1 unlock 2020-08-16T19:08:45Z MichaelRaskin quit (Ping timeout: 240 seconds) 2020-08-16T19:08:51Z Josh_2: https://plaster.tymoon.eu/view/2011#2011 like this 2020-08-16T19:09:04Z Josh_2: probably gone full circle now 2020-08-16T19:09:35Z Bike: begin-write and end-write lock and unlock respectively? 2020-08-16T19:09:54Z Bike: why have the "locked" variable at all? 2020-08-16T19:10:48Z Bike: (unwind-protect (progn (begin-write ,lock) (locally ,@body)) (end-write ,lock)) seems fine to me 2020-08-16T19:10:59Z Bike: though you might wanna once-only lock 2020-08-16T19:11:16Z Josh_2: because we don't want to call 'end-write' if it never locked? 2020-08-16T19:12:31Z Bike: wait, so begin-write is like, a try lock? it doesn't wait until it can grab the lock? 2020-08-16T19:12:39Z gaqwas joined #lisp 2020-08-16T19:12:52Z mrcom: Async failure, such as C-C 2020-08-16T19:12:52Z flip214: Bike: I guess it can fail (timeout, interrupt) 2020-08-16T19:13:17Z Bike: but if you fail at grabbing the lock you probably shouldn't actually execute the critical section 2020-08-16T19:13:26Z flip214: Josh_2: then make the inner (if ,locked (end-write ...)) a (when ,locked (end-write ) (setf locked nil)) 2020-08-16T19:13:27Z Bike: since something else could then execute it concurrently 2020-08-16T19:13:57Z flip214: and merge the two (if ,locked) 2020-08-16T19:14:05Z phoe: (let ((lock-grabbed-p nil)) (unwind-protect (progn (setf lock-grabbed-p (try-grab-lock)) (when lock-grabbed-p ...)) (when lock-grabbed-p (release-lock)))) 2020-08-16T19:14:38Z mrcom: Trying to post to plaster--what's "aeomwse" unscrambled? 2020-08-16T19:14:44Z Josh_2: awesome 2020-08-16T19:15:04Z phoe: or make an account there and get rid of prompts 2020-08-16T19:15:14Z flip214: Josh_2: I annotated your paste 2020-08-16T19:15:21Z mrcom: https://plaster.tymoon.eu/view/2013#2013 2020-08-16T19:16:15Z mrcom: flip214: Yeah, that, only the first (when ,locked) isn't needed. 2020-08-16T19:16:45Z mrcom: and it needs a prog1 2020-08-16T19:16:55Z flip214: I updated it 2020-08-16T19:17:18Z flip214: ah yeah, the return value might be interesting 2020-08-16T19:17:31Z mrcom: Or error if it dies. 2020-08-16T19:17:52Z flip214: https://plaster.tymoon.eu/view/2011#2012 2020-08-16T19:18:28Z Josh_2: okay very cool mrcom flip214 :D 2020-08-16T19:18:29Z Josh_2: thanks! 2020-08-16T19:18:36Z flip214: not sure if end-write would return a useful value... can that fail as well? If yes, then my code would try to unlock a second time 2020-08-16T19:18:45Z mrcom: Riddle--how many programmers does it take to write lock primitives. 2020-08-16T19:18:49Z mrcom: Answer--N+1 2020-08-16T19:18:59Z Josh_2: mrcom seems so xD 2020-08-16T19:19:19Z flip214: mrcom: the primitives are hard - by definition. as soon as there's a high-level interface, there's not so much that can go wrong 2020-08-16T19:20:12Z mrcom: It's not quite up there with writing your own crypto, but it's definitely "just don't" if at all possible. 2020-08-16T19:20:17Z mrcom: (In production, that is.) 2020-08-16T19:20:27Z Josh_2: https://github.com/K1D77A/metalock/blob/master/readwriter-lock.lisp 2020-08-16T19:22:02Z Josh_2: perhaps that is better :D 2020-08-16T19:22:04Z Alfr__: It's still bogus: What happens when it's interrupted after (begin-write ,lock) but before (setf ,locked t)?... Look at the (when ...) at the bottom. 2020-08-16T19:22:09Z Josh_2: oh geez 2020-08-16T19:22:10Z Josh_2: xD 2020-08-16T19:23:24Z satousan quit (Quit: WeeChat 2.3) 2020-08-16T19:26:29Z TwoNotes quit (Quit: Leaving) 2020-08-16T19:27:08Z gaqwas quit (Remote host closed the connection) 2020-08-16T19:29:52Z Alfr__: Josh_2, if your begin write is blocking, then Bike's variant is fine. (I think.) 2020-08-16T19:29:53Z mrcom: And we've got the same problem with the lock. 2020-08-16T19:30:32Z mrcom: Alfr__: No, if the body flakes out then the unlock is never called. 2020-08-16T19:30:40Z FreeBirdLjj joined #lisp 2020-08-16T19:31:25Z mrcom: Sorry, other way around. If the lock flakes then the unlock will happen anyway. 2020-08-16T19:31:25Z Bike: in mine? if the body is interrupted the unlock is in the unwind-protect 2020-08-16T19:31:30Z Alfr__: mrcom, it is, there's a unwind protect ensuring the (end-write ..). 2020-08-16T19:31:51Z Bike: (progn (begin-write lock) (unwind-protect (locally ,@body) (end-write lock))) 2020-08-16T19:32:07Z Josh_2: Thats what I had at first Bike 2020-08-16T19:32:18Z Bike: so what's the problem with it 2020-08-16T19:32:25Z Alfr__: mrcom, but that begin-write better be uninterruptible otherwise (end-write ..) may be called without owning the lock. 2020-08-16T19:33:37Z Bike: if begin-write is aborted there's no unlock. if the body is aborted there's an unlock. if the body returns normally there's an unllock. 2020-08-16T19:34:32Z mrcom: Yeah, that's what he wants. 2020-08-16T19:34:54Z mrcom: We were stuck trying to put unwind-protect around the lock. 2020-08-16T19:35:02Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2020-08-16T19:35:26Z mrcom: Although... 2020-08-16T19:35:47Z Alfr__: Bike, is there a guarantee that should begin-write return, the unwind-protect is in effect? 2020-08-16T19:35:53Z mrcom: It's possible to get interruped between the (begin-write) and the (progn) 2020-08-16T19:36:21Z mrcom: Er, between the begin-write and the unwind-protect 2020-08-16T19:36:31Z mrcom: Alfr__: yeah, what you said 2020-08-16T19:38:33Z galex-713 quit (Ping timeout: 272 seconds) 2020-08-16T19:38:35Z markasoftware: I am writing a macro that takes a place as an argument. The place will be expanded multiple times. How can I avoid issues if the place passed in has side effects, for example, `(nth (incf i) foo)`? 2020-08-16T19:38:40Z markasoftware: eg, alexandria:once-only but for places 2020-08-16T19:38:41Z Alfr__: Bike, the that uninterruptible part war for that earlier version of yours, where you had (unwind-protect (progn ...; no the other way around. 2020-08-16T19:38:49Z galex-713 joined #lisp 2020-08-16T19:39:11Z Bike: the way unwind-protect is usually written there's no actual time for an interrupt, and anyway, if you're worried about that there's no possible way to fix the problem since there's always some space after grabbing the lock 2020-08-16T19:39:20Z Bike: @markasoftware use the setf expansion 2020-08-16T19:40:11Z phoe: markasoftware: see https://github.com/phoe/phoe-toolbox/blob/master/phoe-toolbox.lisp#L193-L253 2020-08-16T19:40:15Z Alfr__: Bike, good to know. :) 2020-08-16T19:40:28Z phoe: that's how I implemented mod-{incf,decf} based on SICL code 2020-08-16T19:41:50Z mrcom: Bike: "no actual time for an interrupt"--no such thing. 2020-08-16T19:42:14Z Alfr__: I was pondering whether a way out would be for each thread to cas it's unique id (> 0) onto some place in lock. Then whether one holds a lock could be determined later on. 2020-08-16T19:42:20Z mrcom: "Only once in a billion iterations", yeah. 2020-08-16T19:42:57Z markasoftware: defsetf wouldn't have worked there? 2020-08-16T19:43:04Z mrcom: If we only had to worry about a discrete return value, as C or C++ do, then you can just take the value and return it afterward. 2020-08-16T19:43:50Z mrcom: However, Lisp is a lot richer environment. We've got to worry about conditions and closures. 2020-08-16T19:44:33Z phoe: we don't need to worry about conditions since they are fully synchronous 2020-08-16T19:44:48Z rogersm joined #lisp 2020-08-16T19:45:01Z phoe: and if they perform non-local exits then all such exits are caught by UNWIND-PROTECT 2020-08-16T19:45:54Z mrcom: What I mean is we can't (unwind-protect (lock) (setf save-val (progn @,body)) (unlock) (return save-val)) 2020-08-16T19:46:17Z krid` joined #lisp 2020-08-16T19:46:17Z mrcom: (Roughly) 2020-08-16T19:46:28Z Bike: sure you can, with multiple-value-list 2020-08-16T19:46:31Z Bike: though it's not efficient 2020-08-16T19:46:45Z Bike: and it's pointless anyway, since you can just use unwind-protect normally 2020-08-16T19:46:54Z phoe: wait a second, why is (lock) the only protected form 2020-08-16T19:47:17Z terpri_ joined #lisp 2020-08-16T19:47:42Z Bike: also even in C++ you'd use RAII, which ends up looking kind of like unwind-protect 2020-08-16T19:47:59Z krid` quit (Remote host closed the connection) 2020-08-16T19:48:04Z Bike: { lock_raii_thing foo; ...critical section... return whatever; ... } bam 2020-08-16T19:49:02Z krid` joined #lisp 2020-08-16T19:49:25Z Bike: the real right thing to do here is probably to use the implementation's underlying with-lock-held, if your read write locks are implemented on top of the implementation locks 2020-08-16T19:50:15Z krid` is now known as krid 2020-08-16T19:50:28Z Inline quit (Ping timeout: 265 seconds) 2020-08-16T19:50:32Z terpri quit (Ping timeout: 260 seconds) 2020-08-16T19:50:36Z Josh_2: It's built with bt 2020-08-16T19:51:18Z Bike: you can have begin-write take care of its own abort behavior 2020-08-16T19:51:35Z Bike: so that it only unlocks the write lock if it actually locked it 2020-08-16T19:51:45Z Alfr__: Josh_2, bt has a with-lock-held macro! 2020-08-16T19:51:52Z Josh_2: yes 2020-08-16T19:52:01Z Josh_2: I'm using "with-lock-held" 2020-08-16T19:52:32Z mrcom: The body has to be executed within the with-lock-held. 2020-08-16T19:53:17Z phoe: my naïve approach for that would be (defmethod c2mop:slot-value-using-class (class object (slotd locked-slotd)) (bt:with-lock-held ((lock slotd)) (call-next-method))) 2020-08-16T19:53:21Z Bike: with the rwlock implementation i know you're not holding an actual lock during the write-locked section 2020-08-16T19:53:33Z phoe: but that's so simple that I'm sure I got it terribly wrong 2020-08-16T19:54:00Z Josh_2: Bike: I am 2020-08-16T19:54:10Z mrcom: You can't, at a high-level, split it up into BEGIN-READ/-WRITE and END-READ/-WRITE. 2020-08-16T19:54:44Z gaqwas joined #lisp 2020-08-16T19:54:44Z gaqwas quit (Changing host) 2020-08-16T19:54:44Z gaqwas joined #lisp 2020-08-16T19:55:09Z Bike: but you can though? to begin-write you grab the internal lock, increment a variable, do some condition waiting, decrement the variable, set another variable, then unlock the internal lock 2020-08-16T19:55:25Z galex-713 quit (Ping timeout: 264 seconds) 2020-08-16T19:55:29Z galex-713_ joined #lisp 2020-08-16T19:55:31Z Josh_2: Yes sorry I misunderstood what you wrote 2020-08-16T19:55:36Z Bike: and if you're using the reader-preferring implementation all you need to do to grab the write lock is grab an actual lock, which you can use the system with-lock-held for 2020-08-16T19:55:43Z Josh_2: When actually executing ,@body no lock is held 2020-08-16T19:55:48Z mrcom: The problem is that you need to atomically set-calc-unset 2020-08-16T19:56:16Z Bike: running the end-write procedure partway through the begin-write procedure seems fine to me 2020-08-16T19:56:54Z Bike: all it does is set a variable to what it would be anyway, and condition notify 2020-08-16T20:00:04Z Josh_2: hmm so I can (unwind-protect the body of begin-write and have end-write as the cleanup? 2020-08-16T20:00:25Z Bike: if you have begin-write clean up after itself appropriately, maybe 2020-08-16T20:04:27Z pve: flip214: I didn't understand that you need to modify it, so no load-time-value then 2020-08-16T20:06:46Z luckless_ joined #lisp 2020-08-16T20:06:56Z space_otter joined #lisp 2020-08-16T20:09:23Z luckless quit (Ping timeout: 240 seconds) 2020-08-16T20:10:17Z CrazyEddy quit (Ping timeout: 265 seconds) 2020-08-16T20:12:01Z mrcom: The fundemental problem is that Lisp doesn't really have a concept of critical sections. 2020-08-16T20:12:33Z phoe: that's implementation-defined, SB-SYS:WITHOUT-INTERRUPTS and such 2020-08-16T20:12:46Z mrcom: Yeah. 2020-08-16T20:12:48Z Josh_2: hmm 2020-08-16T20:13:42Z Josh_2: is there a compatibility library for that? 2020-08-16T20:14:04Z mrcom: BT :) 2020-08-16T20:14:11Z Josh_2: xD 2020-08-16T20:14:51Z phoe: sorta kinda https://github.com/guicho271828/trivial-signal 2020-08-16T20:15:36Z phoe: https://stackoverflow.com/questions/9950680/unix-signal-handling-in-common-lisp has some pointers 2020-08-16T20:15:36Z duuqnd quit (Remote host closed the connection) 2020-08-16T20:17:07Z rogersm quit (Quit: Leaving...) 2020-08-16T20:19:36Z Josh_2: hmm well ccl has the exact same 'without-interrupts' function 2020-08-16T20:19:45Z Josh_2: perhaps I could make a portability library 2020-08-16T20:20:15Z phoe: sounds like an idea, given that these macros/functions implement the same semantics 2020-08-16T20:24:25Z CrazyEddy joined #lisp 2020-08-16T20:24:33Z bsd4me joined #lisp 2020-08-16T20:30:41Z exodus joined #lisp 2020-08-16T20:32:40Z exodus: Howdy, folks. Trying out curry/compose reader macros from here https://github.com/eschulte/curry-compose-reader-macros 2020-08-16T20:32:56Z Xach: fun! 2020-08-16T20:33:07Z exodus: I eval the four lines as the instructions says, but the rcurry errors out with _ is unbound 2020-08-16T20:33:20Z exodus: Xach: yeah! 2020-08-16T20:33:48Z exodus: The other two examples work though. What am I doing wrong here? 2020-08-16T20:35:25Z heisig quit (Ping timeout: 240 seconds) 2020-08-16T20:35:32Z exodus: In fact, all of the examples work except the ones using the underscore. 2020-08-16T20:35:49Z shifty joined #lisp 2020-08-16T20:36:32Z Xach: exodus: you must also use-package curry-compose-reader-macros or import _ explicitly from that package 2020-08-16T20:36:45Z Xach: _ refers specifically to curry-compose-reader-macros:_ and not any other symbol 2020-08-16T20:36:50Z z3t0 quit (Ping timeout: 260 seconds) 2020-08-16T20:37:02Z Xach: the example would benefit from more clarity in that regard 2020-08-16T20:38:20Z exodus: Xach: oh, I see, yeah, it works after use-packaging that! 2020-08-16T20:38:21Z contrapunctus left #lisp 2020-08-16T20:38:32Z Xach: exodus: so, (import 'curry-compose-reader-macros:_) would be one option 2020-08-16T20:38:36Z markasoftware: phoe: what was wrong with `define-modify-macro` for `mod-incf`? 2020-08-16T20:38:37Z Xach: there you go 2020-08-16T20:38:49Z exodus: Thank you! 2020-08-16T20:38:52Z Xach: no problem! 2020-08-16T20:38:56Z phoe: markasoftware: wrong? 2020-08-16T20:39:32Z markasoftware: as in, why did you not use it instead of the more complicated macro involving get-setf-expander? 2020-08-16T20:39:41Z markasoftware: *expansion 2020-08-16T20:40:46Z phoe: hmmmmm 2020-08-16T20:40:57Z phoe: can I express MOD-INCF this way though? 2020-08-16T20:40:59Z phoe thinks 2020-08-16T20:41:06Z markasoftware: you might need a closure to capture the modulus 2020-08-16T20:41:33Z phoe: no no, the modulus is meant to be supplied on each call to MOD-INCF 2020-08-16T20:41:49Z shifty quit (Ping timeout: 246 seconds) 2020-08-16T20:42:01Z shifty joined #lisp 2020-08-16T20:42:32Z markasoftware: define-modify-macro does let you pass extra arguments 2020-08-16T20:42:50Z ech joined #lisp 2020-08-16T20:43:04Z Bike: (defun mod-add (n divisor delta) (mod (+ n delta) divisor)) (define-modify-macro mod-incf (divisor &optional delta) mod-add) would be fine, i think? 2020-08-16T20:43:47Z phoe: &optional (delta 1) 2020-08-16T20:43:54Z phoe: but otherwise, hmmmm, I think so 2020-08-16T20:43:54Z markasoftware: yeah, I'm inclined to believe that works 2020-08-16T20:43:57Z gaqwas quit (Remote host closed the connection) 2020-08-16T20:45:10Z markasoftware: as for why SICL wouldn't use define-modify-macro for incf, who knows? looks like sbcl doesn't either. Maybe performance? 2020-08-16T20:45:23Z ralt quit (Quit: Connection closed for inactivity) 2020-08-16T20:45:33Z Bike: it shouldn't have any impact on performance. 2020-08-16T20:45:40Z markasoftware: actually, the SBCL source code says "DEFINE-MODIFY-MACRO could be used, but this expands more compactly." 2020-08-16T20:46:45Z Bike: yeah, define-modify-macros do some junk to avoid multiple evaluation 2020-08-16T20:46:56Z Bike: and it gets weird with the lambda list 2020-08-16T20:47:43Z markasoftware: i see 2020-08-16T20:51:32Z markasoftware: very interesting, all the setf stuff...never really understood it before today. 2020-08-16T20:52:00Z phoe: beach: when you wake up, could you comment on that? I'm actually interested 2020-08-16T20:53:38Z Bike: sicl's implementation only seems to bind one of the variables of the setf expansion, not sure what's goin on there 2020-08-16T20:54:09Z phoe: there's no more variables in INCF or DECF though 2020-08-16T20:54:14Z phoe: I mean, (incf x 1 2) is an error 2020-08-16T20:54:24Z phoe: (incf x) is the case with zero variables, (incf x 42) - with one variable 2020-08-16T20:54:43Z phoe: so it's either zero or one variables. 2020-08-16T20:55:17Z Bike: oh, wait, yeah. i was thinking of the temps 2020-08-16T20:55:36Z exodus quit (Remote host closed the connection) 2020-08-16T20:56:17Z yitzi quit (Read error: Connection reset by peer) 2020-08-16T20:56:26Z mrcom: Josh_2: OK, I think this is really it... https://plaster.tymoon.eu/view/2011#2014 2020-08-16T20:56:47Z mrcom: (READ-WITH-RW-LOCK is left as an exercise for the reader :) 2020-08-16T20:57:17Z ggole quit (Quit: Leaving) 2020-08-16T21:02:00Z mrcom: Josh_2: The key things is that incrementing writer-wait, calling the body, and decrementing are all one atomic operation, with a window while it's spinning waiting for readers to clear. 2020-08-16T21:08:46Z minerjoe quit (Ping timeout: 246 seconds) 2020-08-16T21:10:30Z Josh_2: mrcom: Oh my 2020-08-16T21:11:43Z Josh_2: phoe: did I miss anything with this? https://github.com/K1D77A/without-interrupts 2020-08-16T21:12:09Z enrio quit (Ping timeout: 265 seconds) 2020-08-16T21:12:22Z Josh_2: from what I saw abcl doesn't have an equivalent 2020-08-16T21:15:16Z phoe: I don't know if I can review that since it's late and I haven't had much experience with that part of the Lisp ecosystem 2020-08-16T21:15:33Z Josh_2: Okay no worries :) 2020-08-16T21:17:22Z satousan joined #lisp 2020-08-16T21:17:30Z Josh_2: mrcom: why are you using multiple-value-list? 2020-08-16T21:18:08Z mrcom: What if BODY ends with (VALUES a b c)? 2020-08-16T21:18:13Z Josh_2: yes 2020-08-16T21:19:15Z Josh_2: if I use 'without-interrupts' this can be much simpler? 2020-08-16T21:20:15Z mrcom: I don't think so. It's really no more complicated than what you had; the BEGIN- and END- functions are just inlined. 2020-08-16T21:20:27Z Josh_2: yes I see that 2020-08-16T21:21:36Z mrcom: And it doesn't need WITHOUT-INTERRUPTS, so will work with Lisps that lack the equivalent (ABCL? ECL?) 2020-08-16T21:21:49Z Josh_2: only ABCL from what I saw 2020-08-16T21:24:13Z mrcom: Even with WO-IRPTS you'll need to save the return value of the body. 2020-08-16T21:25:03Z mrcom: (I think.) 2020-08-16T21:25:32Z Josh_2: in the example you sent the cleanup form of the first unwind-protect is the other unwind-protect 2020-08-16T21:25:33Z mrcom: And WO-IRPTS means no C-C. 2020-08-16T21:25:42Z Bike quit (Remote host closed the connection) 2020-08-16T21:26:00Z Josh_2: yes, that's what we are trying to stop with all the unwind-protects though right? 2020-08-16T21:26:07Z Josh_2: well, we are trying to make them safe 2020-08-16T21:26:11Z mrcom: It's not really a clean-up, and the values of the U-Ps aren't being used. 2020-08-16T21:26:58Z mrcom: It's just a way of saying that all four things always have to execute, even if there's an abort somewhere. 2020-08-16T21:28:15Z mrcom: (There could be another U-P around the DECF and the CONDITION-NOTIFY, but if the DECF doesn't work there's no point in notifying.) 2020-08-16T21:32:54Z mrcom: Another issue with splitting into BEGIN- and END- is lock starvation. 2020-08-16T21:33:25Z Josh_2: I don't know how to the write the read version 2020-08-16T21:33:32Z Josh_2: also 2020-08-16T21:33:36Z mrcom: The active writer can't release the RW lock until it grabs the G lock. If there are a lot of readers this could take a while. 2020-08-16T21:34:09Z mrcom: Try following the same idea. Everything that's critical for the reader is under the one lock. 2020-08-16T21:34:14Z Josh_2: I don't need to use (multiple-value-list ..) in this instance as write-with-rw-lock isn't exported from the package 2020-08-16T21:34:27Z mrcom: OK. 2020-08-16T21:35:18Z terpri__ joined #lisp 2020-08-16T21:36:48Z mrcom: Anyway, for the reader, instead of (with-lock (increment)) (read) (with-lock (decrement)), you want (with-lock (increment) (read) (decrement)) 2020-08-16T21:37:25Z Josh_2: so basically just skipping the second lock grab and instead just performing the read in the middle 2020-08-16T21:38:07Z mrcom: Yep. In both cases, the only reason even to do the incr/decr is for the benefit of the while-loop "window". 2020-08-16T21:38:27Z terpri_ quit (Ping timeout: 260 seconds) 2020-08-16T21:42:55Z terpri__ quit (Remote host closed the connection) 2020-08-16T21:43:12Z mrcom: You won't have, technically, the "multiple simultaneous readers" aspect of RW locks. 2020-08-16T21:43:14Z terpri__ joined #lisp 2020-08-16T21:43:17Z Josh_2: mrcom: something like this? https://plaster.tymoon.eu/view/2015#2015 2020-08-16T21:43:40Z Josh_2: but isn't multiple simultaneous readers a good thing? 2020-08-16T21:44:37Z mrcom: Not in your case. All you're doing is a slot reference. That's so fast that it's utterly swamped by the lock/unlock. 2020-08-16T21:45:02Z Josh_2: okay, so it basically doesn't matter 2020-08-16T21:45:04Z mrcom: What you'll have is the "writers get priority" aspect. 2020-08-16T21:45:14Z Josh_2: hmm 2020-08-16T21:45:44Z mrcom: Yeah, in this case you'd probably actually get better performance without the condition variables. 2020-08-16T21:47:04Z mrcom: Looks good, except you really don't want the "(unless (zerop ra) (decf ra))". You *always* want to decrement. 2020-08-16T21:47:34Z mrcom: You no longer have the double-decrement problem, which is what you were fixing with the "unless ...". 2020-08-16T21:48:56Z Josh_2: yep 2020-08-16T21:48:59Z Josh_2: that was a holdover 2020-08-16T21:49:34Z mrcom: You can tweak the code to get true simultaneous-readers, but remember that you're locking one slot on one instance. How frequently are you going to have two threads looking at the same thing at the same moment? 2020-08-16T21:49:53Z Josh_2: who knows 2020-08-16T21:49:56Z Josh_2: I don't 2020-08-16T21:50:04Z Josh_2: pretty rare I imagine :P 2020-08-16T21:50:06Z mrcom: The tweak would actually take more time than just waiting for the first reader to unlock. 2020-08-16T21:50:21Z bsd4me left #lisp 2020-08-16T21:50:30Z mrcom: Yeah, so it's up to what you want to learn out of it. 2020-08-16T21:50:37Z Josh_2: yes I would like to learn 2020-08-16T21:51:49Z gravicappa quit (Ping timeout: 264 seconds) 2020-08-16T21:51:52Z Josh_2: Do you have any links to things I can read? 2020-08-16T21:54:05Z whiteline quit (Ping timeout: 240 seconds) 2020-08-16T21:56:13Z rilez joined #lisp 2020-08-16T21:57:40Z satousan quit (Quit: WeeChat 2.3) 2020-08-16T22:09:46Z jesse1010 joined #lisp 2020-08-16T22:11:50Z mangoicedtea joined #lisp 2020-08-16T22:12:46Z dilated_dinosaur joined #lisp 2020-08-16T22:15:41Z Josh_2` joined #lisp 2020-08-16T22:16:53Z Josh_2` quit (Client Quit) 2020-08-16T22:17:23Z Josh_2 quit (Ping timeout: 240 seconds) 2020-08-16T22:17:38Z mindCrime joined #lisp 2020-08-16T22:17:43Z space_otter quit (Remote host closed the connection) 2020-08-16T22:18:26Z asarch joined #lisp 2020-08-16T22:24:22Z mrcom: Josh_2: Wow, I can't find anything Lisp-specific. 2020-08-16T22:25:43Z mrcom: minion: memo for josh_2: Here's a nice discussion of RW locks, although for Go. https://eli.thegreenplace.net/2019/implementing-reader-writer-locks/ 2020-08-16T22:25:43Z minion: Remembered. I'll tell josh_2 when he/she/it next speaks. 2020-08-16T22:33:49Z asarch quit (Quit: Leaving) 2020-08-16T22:51:54Z yitzi joined #lisp 2020-08-16T22:56:05Z jesse1010 quit (Remote host closed the connection) 2020-08-16T23:01:32Z pve quit (Quit: leaving) 2020-08-16T23:06:58Z cjb joined #lisp 2020-08-16T23:13:05Z random-nick quit (Ping timeout: 240 seconds) 2020-08-16T23:24:29Z lucasb quit (Quit: Connection closed for inactivity) 2020-08-16T23:27:43Z shifty quit (Ping timeout: 246 seconds) 2020-08-16T23:30:25Z C-16 quit (Ping timeout: 240 seconds) 2020-08-16T23:36:40Z orivej quit (Ping timeout: 256 seconds) 2020-08-16T23:44:50Z Brentward joined #lisp 2020-08-16T23:45:03Z C-16 joined #lisp 2020-08-16T23:52:48Z space_otter joined #lisp 2020-08-16T23:56:42Z mangoicedtea quit (Ping timeout: 260 seconds) 2020-08-17T00:02:03Z torbo joined #lisp 2020-08-17T00:05:13Z cjb quit (Ping timeout: 252 seconds) 2020-08-17T00:08:49Z cjb joined #lisp 2020-08-17T00:32:09Z shifty joined #lisp 2020-08-17T00:40:30Z Oladon quit (Quit: Leaving.) 2020-08-17T00:43:49Z satousan joined #lisp 2020-08-17T00:47:09Z dfdx joined #lisp 2020-08-17T00:47:23Z dfdx left #lisp 2020-08-17T00:53:57Z bilegeek joined #lisp 2020-08-17T00:57:34Z msk quit (Remote host closed the connection) 2020-08-17T00:58:00Z msk joined #lisp 2020-08-17T01:15:49Z telior quit (Remote host closed the connection) 2020-08-17T01:18:09Z Brentward left #lisp 2020-08-17T01:37:57Z nicktick joined #lisp 2020-08-17T01:43:49Z X-Scale` joined #lisp 2020-08-17T01:44:12Z igemnace joined #lisp 2020-08-17T01:44:34Z X-Scale quit (Ping timeout: 246 seconds) 2020-08-17T01:44:40Z X-Scale` is now known as X-Scale 2020-08-17T02:02:54Z satousan quit (Quit: WeeChat 2.3) 2020-08-17T02:02:58Z libertyprime joined #lisp 2020-08-17T02:07:23Z madage quit (Ping timeout: 240 seconds) 2020-08-17T02:07:48Z vutral joined #lisp 2020-08-17T02:12:08Z Kaisyu quit (Quit: Connection closed for inactivity) 2020-08-17T02:19:32Z madage joined #lisp 2020-08-17T02:30:42Z simplegauss quit (Ping timeout: 256 seconds) 2020-08-17T02:31:38Z simplegauss joined #lisp 2020-08-17T02:38:59Z libertyprime quit (Quit: leaving) 2020-08-17T02:50:06Z ldb joined #lisp 2020-08-17T02:50:12Z ldb: good morning 2020-08-17T02:55:25Z wxie joined #lisp 2020-08-17T03:01:51Z Alfr_ joined #lisp 2020-08-17T03:02:08Z akoana left #lisp 2020-08-17T03:04:23Z justache quit (Quit: The Lounge - https://thelounge.chat) 2020-08-17T03:04:47Z Alfr__ quit (Ping timeout: 260 seconds) 2020-08-17T03:07:29Z justache joined #lisp 2020-08-17T03:09:28Z bg__ joined #lisp 2020-08-17T03:10:05Z nicktick quit (Ping timeout: 240 seconds) 2020-08-17T03:12:16Z justache quit (Quit: The Lounge - https://thelounge.chat) 2020-08-17T03:12:42Z bilegeek quit (Ping timeout: 260 seconds) 2020-08-17T03:13:44Z justache joined #lisp 2020-08-17T03:15:00Z nicktick joined #lisp 2020-08-17T03:21:08Z nicktick quit (Ping timeout: 256 seconds) 2020-08-17T03:24:35Z u0_a156 quit (Quit: WeeChat 2.8) 2020-08-17T03:25:25Z nicktick1 joined #lisp 2020-08-17T03:25:47Z EvW quit (Ping timeout: 260 seconds) 2020-08-17T03:30:22Z cjb quit (Ping timeout: 252 seconds) 2020-08-17T03:35:19Z cjb joined #lisp 2020-08-17T03:52:18Z pfr quit (Ping timeout: 256 seconds) 2020-08-17T03:54:44Z beach: Good morning everyone! 2020-08-17T03:58:32Z ldb: hello beach 2020-08-17T03:58:37Z wxie quit (Ping timeout: 246 seconds) 2020-08-17T03:59:02Z bg__ quit (Ping timeout: 260 seconds) 2020-08-17T04:02:45Z krid quit (Ping timeout: 240 seconds) 2020-08-17T04:14:02Z beach: Shouldn't there be an online Lisp meeting this week? I don't see an announcement. 2020-08-17T04:16:52Z mindCrime quit (Ping timeout: 260 seconds) 2020-08-17T04:22:47Z Lord_of_Life_ joined #lisp 2020-08-17T04:24:05Z Lord_of_Life quit (Ping timeout: 240 seconds) 2020-08-17T04:24:08Z Lord_of_Life_ is now known as Lord_of_Life 2020-08-17T04:30:37Z torbo quit (Remote host closed the connection) 2020-08-17T04:32:53Z anewuser joined #lisp 2020-08-17T04:34:40Z pfr joined #lisp 2020-08-17T04:40:46Z cjb quit (Ping timeout: 252 seconds) 2020-08-17T04:43:45Z pfr quit (Ping timeout: 240 seconds) 2020-08-17T04:44:07Z cjb joined #lisp 2020-08-17T04:44:45Z nicktick1 quit (Ping timeout: 240 seconds) 2020-08-17T04:46:00Z nicktick joined #lisp 2020-08-17T04:46:05Z pfr joined #lisp 2020-08-17T04:46:26Z gravicappa joined #lisp 2020-08-17T04:47:13Z vutral quit (Quit: Connection closed for inactivity) 2020-08-17T04:48:44Z ldb quit (Quit: Ping timeout (120 seconds)) 2020-08-17T04:51:29Z ldb joined #lisp 2020-08-17T05:03:38Z cosimone joined #lisp 2020-08-17T05:04:09Z duuqnd joined #lisp 2020-08-17T05:20:25Z pfr quit (Ping timeout: 240 seconds) 2020-08-17T05:25:02Z pfr joined #lisp 2020-08-17T05:25:43Z stoneglass joined #lisp 2020-08-17T05:27:53Z marusich quit (Ping timeout: 244 seconds) 2020-08-17T05:35:29Z pfr quit (Ping timeout: 246 seconds) 2020-08-17T05:37:50Z pfr joined #lisp 2020-08-17T05:42:45Z jonatack quit (Ping timeout: 272 seconds) 2020-08-17T05:56:56Z heisig joined #lisp 2020-08-17T06:24:09Z terpri__ is now known as terpri 2020-08-17T06:36:58Z jonatack joined #lisp 2020-08-17T06:38:09Z phoe: no content, no meeting 2020-08-17T06:38:20Z phoe: no meeting, no announcement 2020-08-17T06:38:29Z beach: phoe: no-defun-allowed has prepared a talk. 2020-08-17T06:38:35Z beach: It is ready to go. 2020-08-17T06:38:41Z phoe: ! 2020-08-17T06:38:51Z phoe: so it is ready 2020-08-17T06:38:55Z beach: yes. 2020-08-17T06:39:06Z shka_: ready let's go 2020-08-17T06:39:25Z beach: phoe: Feel free to discuss it with no-defun-allowed in #sicl. 2020-08-17T06:39:34Z phoe: I'll do that, thanks 2020-08-17T06:42:49Z nicktick quit (Ping timeout: 264 seconds) 2020-08-17T06:50:28Z cjb quit (Quit: end of day) 2020-08-17T06:54:19Z jbgg_ quit (Ping timeout: 246 seconds) 2020-08-17T06:55:20Z lonjil quit (Ping timeout: 256 seconds) 2020-08-17T07:05:37Z jonatack quit (Ping timeout: 264 seconds) 2020-08-17T07:08:38Z enrio joined #lisp 2020-08-17T07:16:17Z jonatack joined #lisp 2020-08-17T07:22:25Z pfr quit (Ping timeout: 240 seconds) 2020-08-17T07:25:14Z johnjay quit (Read error: Connection reset by peer) 2020-08-17T07:25:42Z johnjay joined #lisp 2020-08-17T07:27:24Z rogersm joined #lisp 2020-08-17T07:29:34Z pve joined #lisp 2020-08-17T07:35:22Z pi123 joined #lisp 2020-08-17T07:36:53Z iamFIREcracker joined #lisp 2020-08-17T07:37:10Z johnjay quit (Ping timeout: 260 seconds) 2020-08-17T07:41:22Z ldb quit (Quit: ldb) 2020-08-17T07:46:05Z Necktwi quit (Ping timeout: 240 seconds) 2020-08-17T07:46:43Z Necktwi joined #lisp 2020-08-17T07:47:30Z ech quit (Quit: leaving) 2020-08-17T07:47:43Z pi123 quit (Read error: Connection reset by peer) 2020-08-17T07:48:02Z johnjay joined #lisp 2020-08-17T07:50:52Z ech joined #lisp 2020-08-17T07:55:29Z Cymew joined #lisp 2020-08-17T08:05:29Z ech quit (Quit: leaving) 2020-08-17T08:07:33Z whiteline joined #lisp 2020-08-17T08:09:04Z hendursaga quit (Remote host closed the connection) 2020-08-17T08:24:27Z hendursaga joined #lisp 2020-08-17T08:35:54Z orivej joined #lisp 2020-08-17T08:46:25Z orivej quit (Ping timeout: 240 seconds) 2020-08-17T08:46:31Z cosimone quit (Remote host closed the connection) 2020-08-17T08:47:40Z cosimone joined #lisp 2020-08-17T08:49:26Z nicktick joined #lisp 2020-08-17T09:00:32Z unl0ckd quit (Quit: Idle for 30+ days) 2020-08-17T09:05:50Z jonatack quit (Ping timeout: 256 seconds) 2020-08-17T09:09:44Z tfb quit (Read error: Connection reset by peer) 2020-08-17T09:09:48Z jerme_ quit (Read error: Connection reset by peer) 2020-08-17T09:09:56Z buoy49 quit (Read error: Connection reset by peer) 2020-08-17T09:10:31Z lispyone_ quit (Read error: Connection reset by peer) 2020-08-17T09:10:45Z banjiewen quit (Read error: Connection reset by peer) 2020-08-17T09:10:51Z kilimanjaro quit (Read error: Connection reset by peer) 2020-08-17T09:10:58Z asedeno quit (Read error: Connection reset by peer) 2020-08-17T09:15:28Z buoy49 joined #lisp 2020-08-17T09:16:16Z asedeno joined #lisp 2020-08-17T09:16:36Z jerme_ joined #lisp 2020-08-17T09:17:55Z banjiewen joined #lisp 2020-08-17T09:18:13Z kilimanjaro joined #lisp 2020-08-17T09:20:20Z wxie joined #lisp 2020-08-17T09:22:38Z ljavorsk joined #lisp 2020-08-17T09:23:21Z tfb joined #lisp 2020-08-17T09:24:12Z lispyone_ joined #lisp 2020-08-17T09:33:27Z cosimone quit (Remote host closed the connection) 2020-08-17T09:35:51Z ralt joined #lisp 2020-08-17T09:37:06Z yitzi quit (Quit: yitzi) 2020-08-17T09:39:13Z jonatack joined #lisp 2020-08-17T09:40:41Z yitzi joined #lisp 2020-08-17T09:40:52Z duuqnd quit (Remote host closed the connection) 2020-08-17T09:41:16Z duuqnd joined #lisp 2020-08-17T09:50:01Z nicktick quit (Ping timeout: 265 seconds) 2020-08-17T09:50:14Z space_otter quit (Remote host closed the connection) 2020-08-17T09:52:50Z enrioog joined #lisp 2020-08-17T09:52:52Z orivej joined #lisp 2020-08-17T09:55:25Z enrio quit (Ping timeout: 240 seconds) 2020-08-17T09:55:26Z VincentVega joined #lisp 2020-08-17T09:56:14Z VincentVega: hi all! in defmacro, it it ok to destructively modify the arguments? 2020-08-17T09:56:46Z beach: Why would you want to do that? 2020-08-17T09:57:02Z beach: You would be modifying code. That sounds like a bad idea. 2020-08-17T09:57:13Z VincentVega: Asking out of curiosity mostly 2020-08-17T09:57:54Z ralt: everything is possible. Whether you should in this case is most likely a "no". 2020-08-17T09:57:55Z VincentVega: And an occasional (setq body (cdr body)) is helpful but I guess that's not destructive modification 2020-08-17T09:58:10Z beach: Correct, it isn't. 2020-08-17T09:58:33Z VincentVega: Ok, yeah, I see 2020-08-17T09:58:34Z beach: But that's also a bad idea. If you trace the macro some day, it is good to have the arguments intact. 2020-08-17T10:00:17Z VincentVega: Oh, ok. Yeah, better avoid it then. Tnx! 2020-08-17T10:00:23Z beach: Since macros are executed at compile time, you don't need to worry so much about performance. It is best to write macros in a functional style. 2020-08-17T10:01:10Z ralt: recursive macros are best macros 2020-08-17T10:01:50Z VincentVega: beach: Yeah, makes sense 2020-08-17T10:02:17Z VincentVega: ralt: I did find a use for a recursive macro once, it felt pretty good 2020-08-17T10:02:26Z ralt: hehe 2020-08-17T10:03:26Z ralt: I found a use for macrolet over the weekend, that was pretty nice too! 2020-08-17T10:05:28Z VincentVega: yeah! 2020-08-17T10:08:14Z anewuser quit (Quit: Leaving) 2020-08-17T10:10:02Z phoe: VincentVega: mutating macro arguments is invalid 2020-08-17T10:10:11Z phoe: because it's undefined. 2020-08-17T10:10:33Z beach: phoe: Where is that written? 2020-08-17T10:12:06Z jackdaniel: a good example of a recursive macro is implementing (with-open-fileS bindings &body body) 2020-08-17T10:16:20Z jbgg joined #lisp 2020-08-17T10:17:20Z ralt: handler-bind* is the one I did last time 2020-08-17T10:17:44Z ralt: where the first form will be able to catch errors of the second form 2020-08-17T10:18:04Z phoe: beach: one second 2020-08-17T10:20:17Z phoe: beach: " The consequences are undefined if a macro function destructively modifies any part of its form argument." 2020-08-17T10:20:20Z phoe: clhs 3.1.2.1.2.2 2020-08-17T10:20:20Z specbot: Macro Forms: http://www.lispworks.com/reference/HyperSpec/Body/03_ababb.htm 2020-08-17T10:20:35Z orivej quit (Ping timeout: 240 seconds) 2020-08-17T10:21:10Z VincentVega: phoe: thanks for this reference 2020-08-17T10:21:12Z phoe: oh, you are mutating the variable bindings only, not the actual macro forms 2020-08-17T10:21:33Z phoe: I guess that is okay-but-eh for reasons that beach mentioned; tracing the macro or inspecting the stack is going to be painful 2020-08-17T10:22:35Z stepnem quit (Ping timeout: 240 seconds) 2020-08-17T10:22:47Z beach: phoe: Thanks! 2020-08-17T10:23:22Z stepnem joined #lisp 2020-08-17T10:25:32Z hendursaga quit (Remote host closed the connection) 2020-08-17T10:25:38Z phoe: e.g. SBCL will choke on it if you attempt to do that, and AFAIK some SBCL commit actually tried to issue warnings if it detected immutable data being mutated 2020-08-17T10:25:53Z phoe: don't know if it made it into an official release though 2020-08-17T10:31:10Z jonatack quit (Read error: Connection reset by peer) 2020-08-17T10:32:12Z hendursaga joined #lisp 2020-08-17T10:33:06Z VincentVega: Yeah, I better simply stick with functional style then. 2020-08-17T10:41:45Z kaftejiman joined #lisp 2020-08-17T10:54:46Z wxie quit (Ping timeout: 246 seconds) 2020-08-17T10:55:34Z pfr joined #lisp 2020-08-17T10:56:37Z enrioog quit (Ping timeout: 264 seconds) 2020-08-17T11:00:00Z gxt joined #lisp 2020-08-17T11:02:37Z bitmapper quit (Ping timeout: 264 seconds) 2020-08-17T11:03:20Z random-nick joined #lisp 2020-08-17T11:03:50Z yitzi quit (Quit: yitzi) 2020-08-17T11:04:27Z yitzi joined #lisp 2020-08-17T11:28:04Z yitzi quit (Quit: yitzi) 2020-08-17T11:28:22Z wxie joined #lisp 2020-08-17T11:35:01Z Bourne joined #lisp 2020-08-17T11:42:55Z paul0 joined #lisp 2020-08-17T11:46:53Z kaftejiman quit (Remote host closed the connection) 2020-08-17T11:53:31Z jonatack joined #lisp 2020-08-17T11:56:18Z rogersm quit (Quit: Leaving...) 2020-08-17T11:58:06Z Necktwi quit (Ping timeout: 256 seconds) 2020-08-17T11:59:50Z Necktwi joined #lisp 2020-08-17T12:03:12Z jesse1010 joined #lisp 2020-08-17T12:05:03Z ebrasca joined #lisp 2020-08-17T12:05:27Z orivej joined #lisp 2020-08-17T12:08:40Z lonjil joined #lisp 2020-08-17T12:10:01Z Necktwi quit (Ping timeout: 246 seconds) 2020-08-17T12:12:23Z ggole joined #lisp 2020-08-17T12:16:08Z dmrintr joined #lisp 2020-08-17T12:20:39Z Bike joined #lisp 2020-08-17T12:24:43Z wxie quit (Ping timeout: 246 seconds) 2020-08-17T12:33:11Z okflo joined #lisp 2020-08-17T12:37:01Z Necktwi joined #lisp 2020-08-17T12:45:30Z DGASAU` quit (Quit: ERC (IRC client for Emacs 25.3.1)) 2020-08-17T12:45:33Z DGASAU joined #lisp 2020-08-17T12:49:15Z p_l: phoe: at safety 0 SBCL used to not mention anything about mutating immutable data 2020-08-17T12:49:24Z p_l recalls that very absurd debug session 2020-08-17T12:54:30Z elflng quit (Read error: No route to host) 2020-08-17T12:54:54Z elflng joined #lisp 2020-08-17T13:02:27Z __jrjsmrtn__ joined #lisp 2020-08-17T13:02:43Z drot quit (Read error: Connection reset by peer) 2020-08-17T13:03:13Z _jrjsmrtn quit (Ping timeout: 246 seconds) 2020-08-17T13:03:33Z shinohai quit (Read error: Connection reset by peer) 2020-08-17T13:13:49Z okflo quit (Remote host closed the connection) 2020-08-17T13:19:05Z puchacz joined #lisp 2020-08-17T13:23:10Z orivej quit (Ping timeout: 246 seconds) 2020-08-17T13:23:41Z puchacz: trying out sly.... by default autocomplete works in REPL only, not in file bufffers. I added (define-key sly-editing-mode-map (kbd "") 'sly-mrepl-indent-and-complete-symbol) so I have autocomplete in file buffers as well, but something is not fully right 2020-08-17T13:24:54Z puchacz: in REPL, I can select current autocomplete by either hitting Tab again, or Enter. in *.lisp files, only Enter works and sometimes a strange font face (greenish background) is left over where autocomplete worked. 2020-08-17T13:40:59Z heisig quit (Ping timeout: 240 seconds) 2020-08-17T13:41:46Z vultyre joined #lisp 2020-08-17T13:42:21Z vultyre quit (Remote host closed the connection) 2020-08-17T13:45:07Z dvarkin joined #lisp 2020-08-17T13:49:00Z dvarkin quit (Quit: ChatZilla 0.9.93 [SeaMonkey 2.49.4/20190518164806]) 2020-08-17T13:53:09Z wsinatra joined #lisp 2020-08-17T13:54:16Z ljavorsk quit (Ping timeout: 256 seconds) 2020-08-17T13:57:14Z dyelar joined #lisp 2020-08-17T14:05:35Z dominic34 joined #lisp 2020-08-17T14:05:36Z dominic34 quit (Excess Flood) 2020-08-17T14:05:52Z dominic34 joined #lisp 2020-08-17T14:08:10Z yitzi joined #lisp 2020-08-17T14:13:13Z galex-713_ quit (Ping timeout: 272 seconds) 2020-08-17T14:17:06Z rpg joined #lisp 2020-08-17T14:22:34Z orivej joined #lisp 2020-08-17T14:30:01Z shifty quit (Ping timeout: 246 seconds) 2020-08-17T14:30:23Z stoneglass quit (Quit: stoneglass) 2020-08-17T14:38:35Z sjl_ joined #lisp 2020-08-17T14:41:34Z EvW joined #lisp 2020-08-17T14:45:33Z ebrasca quit (Remote host closed the connection) 2020-08-17T14:45:59Z ebrasca joined #lisp 2020-08-17T14:46:30Z bsd4me joined #lisp 2020-08-17T14:48:24Z elosant joined #lisp 2020-08-17T14:57:32Z VincentVega quit (Remote host closed the connection) 2020-08-17T14:59:54Z rilez quit (Remote host closed the connection) 2020-08-17T15:00:20Z rpg quit (Quit: Textual IRC Client: www.textualapp.com) 2020-08-17T15:00:22Z nicktick joined #lisp 2020-08-17T15:03:13Z dddddd quit (Ping timeout: 265 seconds) 2020-08-17T15:04:24Z TwoNotes joined #lisp 2020-08-17T15:05:27Z shinohai joined #lisp 2020-08-17T15:14:18Z justache is now known as itamz 2020-08-17T15:14:30Z itamz is now known as justache 2020-08-17T15:16:05Z zigpaw1 quit (Ping timeout: 240 seconds) 2020-08-17T15:16:46Z dddddd joined #lisp 2020-08-17T15:17:58Z nicktick quit (Ping timeout: 256 seconds) 2020-08-17T15:19:10Z Bourne quit (Read error: Connection reset by peer) 2020-08-17T15:19:50Z nicktick joined #lisp 2020-08-17T15:21:31Z zigpaw1 joined #lisp 2020-08-17T15:40:05Z elosant quit (Quit: WeeChat 2.9) 2020-08-17T15:46:59Z karlosz joined #lisp 2020-08-17T15:48:44Z Bourne joined #lisp 2020-08-17T15:50:11Z nicktick quit (Ping timeout: 240 seconds) 2020-08-17T15:51:24Z nicktick joined #lisp 2020-08-17T15:53:17Z ebrasca quit (Remote host closed the connection) 2020-08-17T15:56:06Z nicktick quit (Ping timeout: 256 seconds) 2020-08-17T16:02:06Z jibanes quit (Ping timeout: 260 seconds) 2020-08-17T16:03:19Z jibanes joined #lisp 2020-08-17T16:03:25Z mindCrime joined #lisp 2020-08-17T16:04:10Z lavaflow quit (Ping timeout: 246 seconds) 2020-08-17T16:04:50Z lavaflow joined #lisp 2020-08-17T16:05:33Z pd_ joined #lisp 2020-08-17T16:06:04Z waterfowl421 joined #lisp 2020-08-17T16:08:01Z TwoNotes quit (Ping timeout: 246 seconds) 2020-08-17T16:08:40Z bitmapper joined #lisp 2020-08-17T16:13:18Z Cymew quit (Ping timeout: 260 seconds) 2020-08-17T16:15:16Z EvW quit (Ping timeout: 244 seconds) 2020-08-17T16:18:42Z rogersm joined #lisp 2020-08-17T16:23:26Z rumbler31 joined #lisp 2020-08-17T16:23:59Z Lord_of_Life_ joined #lisp 2020-08-17T16:25:54Z Lord_of_Life quit (Ping timeout: 260 seconds) 2020-08-17T16:26:49Z Lord_of_Life_ is now known as Lord_of_Life 2020-08-17T16:31:59Z remexre quit (Quit: WeeChat 2.8) 2020-08-17T16:32:21Z remexre joined #lisp 2020-08-17T16:33:18Z CodeSpelunker joined #lisp 2020-08-17T16:36:34Z Josh_2 joined #lisp 2020-08-17T16:37:25Z galex-713 joined #lisp 2020-08-17T16:50:57Z gaqwas joined #lisp 2020-08-17T16:50:58Z gaqwas quit (Changing host) 2020-08-17T16:50:58Z gaqwas joined #lisp 2020-08-17T16:54:44Z pd_ quit (Quit: Leaving) 2020-08-17T16:55:35Z peterhil quit (Read error: Connection reset by peer) 2020-08-17T16:57:02Z peterhil joined #lisp 2020-08-17T17:05:28Z krid joined #lisp 2020-08-17T17:07:34Z gaqwas quit (Remote host closed the connection) 2020-08-17T17:10:46Z waterfowl421 quit (Quit: Konversation terminated!) 2020-08-17T17:15:55Z akkad is now known as ober 2020-08-17T17:19:27Z gaqwas joined #lisp 2020-08-17T17:19:58Z EvW joined #lisp 2020-08-17T17:22:00Z orivej quit (Ping timeout: 256 seconds) 2020-08-17T17:22:24Z satousan joined #lisp 2020-08-17T17:22:50Z satousan quit (Client Quit) 2020-08-17T17:23:49Z sakuraisan joined #lisp 2020-08-17T17:24:07Z sakuraisan quit (Client Quit) 2020-08-17T17:26:43Z matsuisama joined #lisp 2020-08-17T17:26:49Z matsuisama quit (Read error: Connection reset by peer) 2020-08-17T17:27:54Z dmiles quit (Ping timeout: 256 seconds) 2020-08-17T17:50:35Z dmiles joined #lisp 2020-08-17T17:57:13Z Ajedrez joined #lisp 2020-08-17T17:58:18Z puchacz quit (Remote host closed the connection) 2020-08-17T18:00:52Z gaqwas quit (Remote host closed the connection) 2020-08-17T18:17:23Z mason quit (Remote host closed the connection) 2020-08-17T18:17:57Z dmrintr quit (Quit: WeeChat 2.9) 2020-08-17T18:18:17Z mason joined #lisp 2020-08-17T18:21:44Z Sauvin quit (Read error: Connection reset by peer) 2020-08-17T18:24:19Z ebrasca joined #lisp 2020-08-17T18:28:33Z gaqwas joined #lisp 2020-08-17T18:28:33Z gaqwas quit (Changing host) 2020-08-17T18:28:33Z gaqwas joined #lisp 2020-08-17T18:30:45Z FreeBirdLjj joined #lisp 2020-08-17T18:32:22Z mason quit (Remote host closed the connection) 2020-08-17T18:32:41Z mason joined #lisp 2020-08-17T18:32:47Z orivej joined #lisp 2020-08-17T18:32:55Z CrazyEddy quit (Ping timeout: 246 seconds) 2020-08-17T18:34:45Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2020-08-17T18:37:53Z rogersm quit (Quit: Leaving...) 2020-08-17T18:52:15Z heisig joined #lisp 2020-08-17T18:54:22Z jw4 quit (Read error: Connection reset by peer) 2020-08-17T18:56:06Z jw4 joined #lisp 2020-08-17T19:04:52Z xlei joined #lisp 2020-08-17T19:13:24Z kaftejiman joined #lisp 2020-08-17T19:18:36Z heisig quit (Quit: Leaving) 2020-08-17T19:24:55Z gaqwas quit (Remote host closed the connection) 2020-08-17T19:33:43Z TwoNotes joined #lisp 2020-08-17T19:37:29Z TwoNotes quit (Remote host closed the connection) 2020-08-17T19:40:51Z gaqwas joined #lisp 2020-08-17T19:48:49Z gravicappa quit (Ping timeout: 264 seconds) 2020-08-17T19:49:38Z rogersm joined #lisp 2020-08-17T19:54:55Z rogersm quit (Quit: Leaving...) 2020-08-17T19:58:59Z yitzi quit (Quit: yitzi) 2020-08-17T20:00:29Z paul0 quit (Remote host closed the connection) 2020-08-17T20:01:10Z ggole quit (Quit: Leaving) 2020-08-17T20:02:35Z shka_ quit (Ping timeout: 240 seconds) 2020-08-17T20:03:38Z gaqwas quit (Remote host closed the connection) 2020-08-17T20:08:43Z countvajhula joined #lisp 2020-08-17T20:13:14Z jgodbout joined #lisp 2020-08-17T20:19:29Z duuqnd quit (Remote host closed the connection) 2020-08-17T20:25:49Z CodeSpelunker quit (Remote host closed the connection) 2020-08-17T20:26:14Z CodeSpelunker joined #lisp 2020-08-17T20:26:29Z Ajedrez left #lisp 2020-08-17T20:27:54Z gaqwas joined #lisp 2020-08-17T20:31:46Z wsinatra_ joined #lisp 2020-08-17T20:31:58Z v0|d joined #lisp 2020-08-17T20:35:52Z wsinatra quit (Ping timeout: 256 seconds) 2020-08-17T20:49:15Z miklos1 joined #lisp 2020-08-17T20:50:32Z dilated_dinosaur quit (Ping timeout: 260 seconds) 2020-08-17T20:53:43Z rpg joined #lisp 2020-08-17T20:55:44Z dilated_dinosaur joined #lisp 2020-08-17T20:56:04Z grewal joined #lisp 2020-08-17T20:57:02Z miklos1 quit (Remote host closed the connection) 2020-08-17T20:57:06Z paul0 joined #lisp 2020-08-17T21:00:27Z dilated_dinosaur quit (Ping timeout: 260 seconds) 2020-08-17T21:00:54Z shifty joined #lisp 2020-08-17T21:05:43Z wsinatra joined #lisp 2020-08-17T21:05:55Z peterhil quit (Read error: Connection reset by peer) 2020-08-17T21:06:58Z gaqwas quit (Ping timeout: 256 seconds) 2020-08-17T21:07:16Z peterhil joined #lisp 2020-08-17T21:08:19Z wsinatra_ quit (Ping timeout: 246 seconds) 2020-08-17T21:10:25Z wsinatra quit (Ping timeout: 264 seconds) 2020-08-17T21:12:08Z wsinatra joined #lisp 2020-08-17T21:15:01Z VincentVega joined #lisp 2020-08-17T21:15:45Z orivej quit (Ping timeout: 240 seconds) 2020-08-17T21:16:47Z VincentVega: Guys, can trivia:match match things optionally? For example https://pastebin.com/fi31fYHu 2020-08-17T21:17:31Z countvajhula quit (Ping timeout: 244 seconds) 2020-08-17T21:18:35Z leo_song quit (Ping timeout: 240 seconds) 2020-08-17T21:23:07Z phoe: that's a double match though 2020-08-17T21:23:15Z phoe: first time you want to match (:ARP . *) 2020-08-17T21:23:32Z phoe: and then either :M or :S in an alist 2020-08-17T21:23:35Z phoe: or am I reading this incorrectly 2020-08-17T21:26:42Z CodeSpelunker quit (Quit: CodeSpelunker) 2020-08-17T21:27:31Z countvajhula joined #lisp 2020-08-17T21:27:36Z dilated_dinosaur joined #lisp 2020-08-17T21:27:37Z VincentVega: phoe: Well, if alist contains :m, I want to have it, but if not, I still want a match for :s. 2020-08-17T21:32:39Z countvaj` joined #lisp 2020-08-17T21:32:45Z countvajhula quit (Remote host closed the connection) 2020-08-17T21:33:13Z VincentVega: By the way, the larger thing I am doing here is trying to match nested alists to a tree structure (and do the appropriate bindings), so trivia looks interesting in this respect, but some branches of this tree are optional. 2020-08-17T21:35:12Z eta quit (Remote host closed the connection) 2020-08-17T21:35:27Z eta joined #lisp 2020-08-17T21:36:56Z phoe: this still sounds like a double match for me 2020-08-17T21:37:01Z phoe: like, a pair of trivia:match calls 2020-08-17T21:38:05Z dilated_dinosaur quit (Ping timeout: 240 seconds) 2020-08-17T21:38:32Z VincentVega: Yeah, you are probably right, I should just go with that and see how it all looks... 2020-08-17T21:43:34Z gaqwas joined #lisp 2020-08-17T21:43:34Z gaqwas quit (Changing host) 2020-08-17T21:43:34Z gaqwas joined #lisp 2020-08-17T21:44:37Z pve quit (Quit: leaving) 2020-08-17T21:47:19Z galex-713 quit (Ping timeout: 272 seconds) 2020-08-17T21:50:45Z orivej joined #lisp 2020-08-17T21:51:29Z VincentVega quit (Remote host closed the connection) 2020-08-17T21:58:19Z galex-713 joined #lisp 2020-08-17T22:01:04Z dilated_dinosaur joined #lisp 2020-08-17T22:03:59Z dominic34 quit (Ping timeout: 246 seconds) 2020-08-17T22:06:29Z torbo joined #lisp 2020-08-17T22:06:51Z _death: dunno why you think it's a "double match".. (trivia:match '(:arp (:s ddy) (:m 123)) ((list* :arp (or (and (assoc :m m) (assoc :s s)) (or (assoc :m m) (assoc :s s)))) (list s m))) seems to work, though using a 3-ary OR gives an error, which I guess is a trivia bug.. I guess you could modify trivia to accept a default value for assoc or to have another operator instead of OR that doesn't short-circuit 2020-08-17T22:07:16Z phoe: oh, or branching it like that should work 2020-08-17T22:08:00Z _death: optima seems to work with a single OR 2020-08-17T22:09:52Z _death: well, not exactly.. it would error if only one entry exists.. so two ORs 2020-08-17T22:17:01Z gaqwas quit (Ping timeout: 264 seconds) 2020-08-17T22:18:59Z sjl_ quit (Ping timeout: 240 seconds) 2020-08-17T22:20:44Z nicktick joined #lisp 2020-08-17T22:26:46Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-08-17T22:32:09Z vutral joined #lisp 2020-08-17T22:33:47Z kaftejiman quit (Remote host closed the connection) 2020-08-17T22:39:51Z phillbush joined #lisp 2020-08-17T22:40:22Z phillbush: Hello, how can I include a library in racket? 2020-08-17T22:41:06Z random-nick quit (Ping timeout: 256 seconds) 2020-08-17T22:46:49Z Josh_2: try ##lisp 2020-08-17T22:46:50Z minion: Josh_2, memo from mrcom: Here's a nice discussion of RW locks, although for Go. https://eli.thegreenplace.net/2019/implementing-reader-writer-locks/ 2020-08-17T22:48:32Z gaqwas joined #lisp 2020-08-17T22:48:32Z gaqwas quit (Changing host) 2020-08-17T22:48:32Z gaqwas joined #lisp 2020-08-17T22:48:33Z phillbush quit (Quit: Leaving) 2020-08-17T22:52:26Z nicktick quit (Ping timeout: 256 seconds) 2020-08-17T22:54:02Z rpg joined #lisp 2020-08-17T23:13:25Z Josh_2: thanks mrcom 2020-08-17T23:13:25Z jibanes quit (Ping timeout: 264 seconds) 2020-08-17T23:14:56Z jibanes joined #lisp 2020-08-17T23:16:06Z orivej quit (Ping timeout: 260 seconds) 2020-08-17T23:16:59Z ralt quit (Quit: Connection closed for inactivity) 2020-08-17T23:17:22Z Bourne quit (Ping timeout: 256 seconds) 2020-08-17T23:19:25Z yitzi joined #lisp 2020-08-17T23:20:13Z Bourne joined #lisp 2020-08-17T23:20:49Z mangoicedtea joined #lisp 2020-08-17T23:29:41Z Oddity joined #lisp 2020-08-17T23:32:37Z gaqwas quit (Ping timeout: 264 seconds) 2020-08-17T23:36:43Z fe[nl]ix: Josh_2: that's one of the articles I linked to in https://github.com/sionescu/bordeaux-threads/issues/77 2020-08-17T23:36:45Z jibanes quit (Ping timeout: 240 seconds) 2020-08-17T23:38:08Z orivej joined #lisp 2020-08-17T23:38:50Z jibanes joined #lisp 2020-08-17T23:48:19Z cjb joined #lisp 2020-08-17T23:52:45Z luis1 joined #lisp 2020-08-17T23:52:54Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-08-17T23:53:00Z luis quit (Read error: Connection reset by peer) 2020-08-17T23:53:00Z luis1 is now known as luis 2020-08-17T23:54:44Z Josh_2: I read the other two 2020-08-17T23:54:47Z Josh_2: pretty typical xD 2020-08-17T23:57:04Z EvW quit (Ping timeout: 244 seconds) 2020-08-18T00:01:47Z leo_song joined #lisp 2020-08-18T00:09:55Z gaqwas joined #lisp 2020-08-18T00:10:45Z gaqwas quit (Remote host closed the connection) 2020-08-18T00:12:35Z nicktick joined #lisp 2020-08-18T00:15:45Z rpg joined #lisp 2020-08-18T00:29:37Z Josh_2 quit (Ping timeout: 264 seconds) 2020-08-18T00:41:45Z vutral quit (Quit: Connection closed for inactivity) 2020-08-18T00:45:57Z caltelt joined #lisp 2020-08-18T00:50:46Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-08-18T00:54:06Z orivej quit (Ping timeout: 260 seconds) 2020-08-18T00:57:31Z Oladon joined #lisp 2020-08-18T01:00:09Z wsinatra quit (Quit: WeeChat 2.9) 2020-08-18T01:00:32Z CodeSpelunker joined #lisp 2020-08-18T01:02:08Z ebrasca quit (Remote host closed the connection) 2020-08-18T01:04:57Z Bike quit (Quit: Lost terminal) 2020-08-18T01:06:49Z galex-713 quit (Ping timeout: 272 seconds) 2020-08-18T01:08:18Z vutral joined #lisp 2020-08-18T01:14:36Z cjb quit (Quit: I have bad packet loss, rebooting net) 2020-08-18T01:21:15Z dominic34 joined #lisp 2020-08-18T01:21:16Z dominic34 quit (Excess Flood) 2020-08-18T01:21:27Z dominic34 joined #lisp 2020-08-18T01:22:25Z msk quit (Ping timeout: 246 seconds) 2020-08-18T01:23:06Z shifty quit (Ping timeout: 256 seconds) 2020-08-18T01:25:24Z msk joined #lisp 2020-08-18T01:28:05Z dominic34 quit (Ping timeout: 240 seconds) 2020-08-18T01:28:34Z mangoicedtea quit (Remote host closed the connection) 2020-08-18T01:31:37Z msk quit (Read error: Connection reset by peer) 2020-08-18T01:31:59Z msk joined #lisp 2020-08-18T01:32:39Z cjb joined #lisp 2020-08-18T01:38:52Z madage quit (Remote host closed the connection) 2020-08-18T01:41:59Z rpg joined #lisp 2020-08-18T01:47:08Z madage joined #lisp 2020-08-18T01:53:13Z Lycurgus joined #lisp 2020-08-18T02:03:50Z cjb quit (Quit: brb) 2020-08-18T02:06:09Z dyelar quit (Quit: Leaving.) 2020-08-18T02:07:50Z Lycurgus quit (Remote host closed the connection) 2020-08-18T02:11:47Z eta quit (Ping timeout: 240 seconds) 2020-08-18T02:12:21Z cjb joined #lisp 2020-08-18T02:17:24Z yitzi quit (Quit: yitzi) 2020-08-18T02:18:33Z eta joined #lisp 2020-08-18T02:27:25Z jesse1010 quit (Ping timeout: 240 seconds) 2020-08-18T02:50:12Z beach` joined #lisp 2020-08-18T02:51:18Z terpri_ joined #lisp 2020-08-18T02:53:42Z msk__ joined #lisp 2020-08-18T02:54:02Z msk quit (Read error: Connection reset by peer) 2020-08-18T02:54:32Z terpri quit (Ping timeout: 260 seconds) 2020-08-18T02:55:07Z beach quit (Ping timeout: 272 seconds) 2020-08-18T03:02:23Z Alfr__ joined #lisp 2020-08-18T03:05:02Z Alfr_ quit (Ping timeout: 260 seconds) 2020-08-18T03:09:05Z caltelt quit (Ping timeout: 240 seconds) 2020-08-18T03:11:47Z mindCrime quit (Ping timeout: 260 seconds) 2020-08-18T03:12:41Z pi123 joined #lisp 2020-08-18T03:13:14Z johnjay quit (Read error: Connection reset by peer) 2020-08-18T03:13:41Z shifty joined #lisp 2020-08-18T03:17:13Z Oladon quit (Quit: Leaving.) 2020-08-18T03:20:45Z CodeSpelunker quit (Quit: CodeSpelunker) 2020-08-18T03:21:43Z pi123 quit (Read error: Connection reset by peer) 2020-08-18T03:21:45Z vutral quit (Quit: Connection closed for inactivity) 2020-08-18T03:22:01Z johnjay joined #lisp 2020-08-18T03:22:29Z zaquest quit (Quit: Leaving) 2020-08-18T03:23:38Z zaquest joined #lisp 2020-08-18T03:27:25Z Odin- quit (Ping timeout: 272 seconds) 2020-08-18T03:27:38Z Odin- joined #lisp 2020-08-18T03:27:40Z cairn quit (Ping timeout: 246 seconds) 2020-08-18T03:28:00Z liamz[m] quit (Ping timeout: 246 seconds) 2020-08-18T03:28:00Z Jachy quit (Ping timeout: 246 seconds) 2020-08-18T03:28:01Z LdBeth quit (Ping timeout: 246 seconds) 2020-08-18T03:28:25Z dilated_dinosaur quit (Ping timeout: 264 seconds) 2020-08-18T03:28:50Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-08-18T03:29:18Z kelamir[m] quit (Remote host closed the connection) 2020-08-18T03:29:24Z infra_red[m] quit (Remote host closed the connection) 2020-08-18T03:29:25Z even4void[m] quit (Remote host closed the connection) 2020-08-18T03:29:25Z fwoaroof[m] quit (Write error: Broken pipe) 2020-08-18T03:29:25Z sammich quit (Write error: Connection reset by peer) 2020-08-18T03:29:25Z camlriot42 quit (Write error: Connection reset by peer) 2020-08-18T03:29:25Z eric[m]5 quit (Remote host closed the connection) 2020-08-18T03:29:27Z Gnuxie[m] quit (Read error: Connection reset by peer) 2020-08-18T03:29:28Z Jach[m] quit (Remote host closed the connection) 2020-08-18T03:29:28Z kinope quit (Remote host closed the connection) 2020-08-18T03:29:28Z gaqwas[m] quit (Remote host closed the connection) 2020-08-18T03:29:29Z MrtnDk[m] quit (Write error: Connection reset by peer) 2020-08-18T03:34:49Z Oladon joined #lisp 2020-08-18T03:36:15Z Gnuxie[m] joined #lisp 2020-08-18T03:46:57Z beach` is now known as beach 2020-08-18T03:49:07Z beach: Good morning everyone! 2020-08-18T03:53:30Z jw4 quit (Ping timeout: 256 seconds) 2020-08-18T04:05:29Z even4void[m] joined #lisp 2020-08-18T04:05:29Z kinope joined #lisp 2020-08-18T04:05:30Z MrtnDk[m] joined #lisp 2020-08-18T04:05:30Z infra_red[m] joined #lisp 2020-08-18T04:05:30Z fwoaroof[m] joined #lisp 2020-08-18T04:05:30Z userself joined #lisp 2020-08-18T04:05:30Z LdBeth joined #lisp 2020-08-18T04:05:30Z camlriot42 joined #lisp 2020-08-18T04:05:30Z cairn joined #lisp 2020-08-18T04:05:30Z kelamir[m] joined #lisp 2020-08-18T04:05:30Z sammich joined #lisp 2020-08-18T04:05:30Z eric[m]4 joined #lisp 2020-08-18T04:05:30Z gaqwas[m] joined #lisp 2020-08-18T04:05:35Z Jachy joined #lisp 2020-08-18T04:05:36Z unl0ckd joined #lisp 2020-08-18T04:05:36Z liamz[m] joined #lisp 2020-08-18T04:05:37Z Jach[m] joined #lisp 2020-08-18T04:23:47Z Lord_of_Life_ joined #lisp 2020-08-18T04:24:05Z Lord_of_Life quit (Ping timeout: 240 seconds) 2020-08-18T04:25:08Z Lord_of_Life_ is now known as Lord_of_Life 2020-08-18T04:43:02Z countvaj` quit (Ping timeout: 260 seconds) 2020-08-18T04:43:36Z torbo quit (Remote host closed the connection) 2020-08-18T04:48:09Z zooey quit (Remote host closed the connection) 2020-08-18T04:48:09Z luckless_ quit (Read error: Connection reset by peer) 2020-08-18T04:48:09Z gxt quit (Write error: Connection reset by peer) 2020-08-18T04:48:09Z cantstanya quit (Write error: Connection reset by peer) 2020-08-18T04:48:09Z madage quit (Write error: Connection reset by peer) 2020-08-18T04:48:10Z hendursaga quit (Remote host closed the connection) 2020-08-18T04:48:10Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-08-18T04:50:05Z Aurora_v_kosmose joined #lisp 2020-08-18T04:51:29Z zooey joined #lisp 2020-08-18T04:51:32Z luckless_ joined #lisp 2020-08-18T04:52:33Z cantstanya joined #lisp 2020-08-18T04:53:01Z drot joined #lisp 2020-08-18T04:54:36Z gxt joined #lisp 2020-08-18T04:56:37Z madage joined #lisp 2020-08-18T04:59:30Z countvaj` joined #lisp 2020-08-18T04:59:37Z hendursaga joined #lisp 2020-08-18T05:14:00Z Oladon quit (Quit: Leaving.) 2020-08-18T05:16:43Z gravicappa joined #lisp 2020-08-18T05:19:38Z gigetoo quit (Ping timeout: 256 seconds) 2020-08-18T05:21:14Z gigetoo joined #lisp 2020-08-18T05:21:58Z VincentVega joined #lisp 2020-08-18T05:22:18Z Oladon joined #lisp 2020-08-18T05:23:05Z krid quit (Ping timeout: 240 seconds) 2020-08-18T05:24:40Z v3ga joined #lisp 2020-08-18T05:25:49Z narimiran joined #lisp 2020-08-18T05:30:47Z heisig joined #lisp 2020-08-18T05:46:50Z bocaneri joined #lisp 2020-08-18T05:48:21Z bocaneri is now known as Sauvin 2020-08-18T05:57:13Z bsd4me quit (Quit: Leaving) 2020-08-18T05:59:34Z luckless_ quit (Remote host closed the connection) 2020-08-18T05:59:34Z cantstanya quit (Write error: Broken pipe) 2020-08-18T05:59:34Z madage quit (Write error: Broken pipe) 2020-08-18T05:59:34Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-08-18T05:59:34Z zooey quit (Remote host closed the connection) 2020-08-18T05:59:34Z gxt quit (Read error: Connection reset by peer) 2020-08-18T05:59:34Z hendursaga quit (Remote host closed the connection) 2020-08-18T06:02:44Z gxt joined #lisp 2020-08-18T06:02:59Z hendursaga joined #lisp 2020-08-18T06:03:31Z Aurora_v_kosmose joined #lisp 2020-08-18T06:05:29Z luckless_ joined #lisp 2020-08-18T06:05:53Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-08-18T06:06:21Z zooey joined #lisp 2020-08-18T06:06:30Z Aurora_v_kosmose joined #lisp 2020-08-18T06:06:34Z narimiran quit (Ping timeout: 265 seconds) 2020-08-18T06:08:02Z madage joined #lisp 2020-08-18T06:12:40Z dilated_dinosaur joined #lisp 2020-08-18T06:16:32Z akoana joined #lisp 2020-08-18T06:16:47Z cantstanya joined #lisp 2020-08-18T06:20:27Z gaqwas joined #lisp 2020-08-18T06:20:27Z gaqwas quit (Changing host) 2020-08-18T06:20:27Z gaqwas joined #lisp 2020-08-18T06:21:04Z space_otter joined #lisp 2020-08-18T06:21:40Z ravndal quit (Quit: WeeChat 2.9) 2020-08-18T06:21:59Z Oladon quit (Quit: Leaving.) 2020-08-18T06:22:24Z EvW joined #lisp 2020-08-18T06:22:51Z Kaisyu joined #lisp 2020-08-18T06:23:21Z ravndal joined #lisp 2020-08-18T06:25:10Z Kaisyu7 joined #lisp 2020-08-18T06:26:52Z EvW quit (Ping timeout: 260 seconds) 2020-08-18T06:27:10Z space_otter quit (Remote host closed the connection) 2020-08-18T06:29:15Z heisig quit (Quit: Leaving) 2020-08-18T06:32:10Z Kaisyu7 quit (Ping timeout: 256 seconds) 2020-08-18T06:44:45Z v0|d quit (Ping timeout: 240 seconds) 2020-08-18T06:51:33Z pve joined #lisp 2020-08-18T06:57:36Z cjb quit (Quit: end of day) 2020-08-18T06:58:34Z nicktick quit (Ping timeout: 260 seconds) 2020-08-18T06:58:51Z orivej joined #lisp 2020-08-18T07:00:21Z nicktick joined #lisp 2020-08-18T07:02:28Z countvaj` quit (Ping timeout: 244 seconds) 2020-08-18T07:09:16Z countvaj` joined #lisp 2020-08-18T07:09:38Z rgherdt joined #lisp 2020-08-18T07:09:41Z shka_ joined #lisp 2020-08-18T07:10:59Z Kaisyu7 joined #lisp 2020-08-18T07:11:15Z EvW joined #lisp 2020-08-18T07:12:46Z countvaj` quit (Remote host closed the connection) 2020-08-18T07:13:04Z countvaj` joined #lisp 2020-08-18T07:14:45Z nicktick quit (Ping timeout: 240 seconds) 2020-08-18T07:15:13Z nicktick joined #lisp 2020-08-18T07:17:57Z countvaj` quit (Ping timeout: 246 seconds) 2020-08-18T07:22:22Z VincentVega quit (Remote host closed the connection) 2020-08-18T07:25:05Z johnjay quit (Ping timeout: 240 seconds) 2020-08-18T07:31:15Z |jonathan| joined #lisp 2020-08-18T07:31:45Z |jonathan|: Hello. Please suggest some Lisp Dialect for Windows please. 2020-08-18T07:32:31Z phoe: |jonathan|: Common Lisp 2020-08-18T07:32:32Z heisig joined #lisp 2020-08-18T07:32:41Z phoe: (which is what #lisp is about; other Lisp dialects have other channels) 2020-08-18T07:32:50Z |jonathan|: yes. thanks, phoe 2020-08-18T07:33:07Z |jonathan|: please suggest some IDE for it for window 2020-08-18T07:33:11Z |jonathan|: *Windows 2020-08-18T07:33:19Z phoe: emacs + slime/sly 2020-08-18T07:33:33Z phoe: or vim + slimv/vlime 2020-08-18T07:33:50Z |jonathan|: Emacs I am using. Let me check slimv/vlime 2020-08-18T07:33:50Z phoe: otherwise, I know that Atom and Sublime Text have clients for slime/sly; I don't use them personally though 2020-08-18T07:34:14Z phoe: oh, use slime or sly then 2020-08-18T07:34:53Z |jonathan|: I have used sublime text, but just for just for typing programs. I don't know if it has inbuilt compiler for Lisp 2020-08-18T07:35:12Z phoe: compiler? no, that's the implementation's job 2020-08-18T07:35:42Z phoe: the editor's job is to connect to the running Lisp image to allow the programmer to interact with it 2020-08-18T07:35:46Z phoe: https://github.com/s-clerc/slyblime is the project in question 2020-08-18T07:36:18Z |jonathan|: thanks phoe. I have used Python in Sublime text. 2020-08-18T07:36:22Z |jonathan|: let me check the link 2020-08-18T07:37:57Z |jonathan|: Link you provided is for Sublime Text 2020-08-18T07:38:06Z |jonathan|: aam checking https://github.com/slime/slime 2020-08-18T07:38:12Z phoe: slime is for emacs 2020-08-18T07:38:37Z |jonathan|: oh 2020-08-18T07:38:38Z phoe: slyblime is for sublime text 2020-08-18T07:38:42Z phoe: sorry for the confusion 2020-08-18T07:39:43Z |jonathan|: In my last visit, i was provided a link of a good book, i just want to practice that to learn Common Lisp 2020-08-18T07:39:48Z |jonathan|: on Windows 2020-08-18T07:40:32Z phoe: minion: tell |jonathan| about pcl 2020-08-18T07:40:33Z minion: |jonathan|: please look at pcl: pcl-book: "Practical Common Lisp", an introduction to Common Lisp by Peter Seibel, available at http://www.gigamonkeys.com/book/ and in dead-tree form from Apress (as of 11 April 2005). 2020-08-18T07:40:37Z phoe: it was likely this one 2020-08-18T07:40:38Z |jonathan|: http://www.gigamonkeys.com/book/ 2020-08-18T07:40:42Z phoe: yessss 2020-08-18T07:41:07Z |jonathan|: yes i am going through that and i want IDE to practice that. 2020-08-18T07:41:12Z |jonathan|: in windows 2020-08-18T07:42:26Z treflip joined #lisp 2020-08-18T07:42:56Z |jonathan|: The book suggested 'Lisp in a box' 2020-08-18T07:43:01Z phoe: don't use it 2020-08-18T07:43:04Z phoe: it's ancient. 2020-08-18T07:43:11Z phoe: if anything, try Portacle, which is a modern replacement for it 2020-08-18T07:43:20Z phoe: it bundles emacs+slime+sbcl+quicklisp+git 2020-08-18T07:43:49Z phoe: https://portacle.github.io/ - you might want to use it if you're going the emacs way 2020-08-18T07:45:35Z |jonathan|: phoe: Portacle only I was suggested in my visit here but i don't know if you can remember, Portacle was working properly in windows. You even suggested me to visit its official IRC Channel and even the Developer also couldn't help me with it 2020-08-18T07:47:11Z |jonathan|: many guys helped me solve the issue and i could just trace it back to some unsolved 'issue' on github 2020-08-18T07:47:24Z |jonathan|: *many guys here helped me 2020-08-18T07:47:39Z phoe: oh, I see 2020-08-18T07:49:06Z |jonathan|: I guess I need to install Unix/Linux in Virtual Machine for that. 2020-08-18T07:49:53Z |jonathan|: again i want to repeat that my goal is to learn some language flexible enough to help me solve complex Engineering Problems. 2020-08-18T07:50:03Z |jonathan|: Data Science 2020-08-18T07:50:42Z phoe: I don't know what else to suggest, then; the closest you can get to Portacle is manually setting up your emacs+lisp installation, meaning installing emacs+slime+sbcl+quicklisp+git 2020-08-18T07:50:46Z |jonathan|: I have seen few videos which mention Lisp as Ideal Language for AI and like things 2020-08-18T07:51:01Z phoe: you can use a prebuilt emacs distribution such as Spacemacs - that takes care of emacs+slime 2020-08-18T07:51:16Z |jonathan|: oh, noted. 2020-08-18T07:51:50Z |jonathan|: I guess running Portacle in some GNU Linux in Virtual Machine can solve all problems. 2020-08-18T07:52:04Z |jonathan|: It will get me straight to the learning 2020-08-18T07:52:46Z |jonathan|: am checking spacemacs 2020-08-18T07:53:30Z phoe: I personally use and enjoy spacemacs with its common-lisp layer that includes slime 2020-08-18T07:53:39Z phoe: (and I personally use Linux on all on my machines) 2020-08-18T07:54:01Z splittist: Gnu has emacs binaries for Windows. There are git binaries. There are sbcl binaries. Installing quicklisp is super simple, and using quicklisp slime helper gets you slime. A sometimes tricky thing is that emacs and sbcl disagree about what the user home directory is. 2020-08-18T07:54:49Z johnjay joined #lisp 2020-08-18T07:57:18Z shifty quit (Read error: Connection reset by peer) 2020-08-18T07:57:27Z |jonathan|: thanks splittist. I guess one single Portacle seems fine for me. Somehow I feel the things arn't going to work well in windows. 2020-08-18T07:58:27Z shifty joined #lisp 2020-08-18T07:58:59Z splittist: They've worked fine for me over the years. (: 2020-08-18T07:59:28Z |jonathan|: okay fine. which Windows are you using? 2020-08-18T07:59:39Z splittist: 10 currently 2020-08-18T07:59:50Z |jonathan|: Am on Win 7, Home 64. 2020-08-18T08:01:01Z |jonathan|: Just curious, why aren't you using Portable? it budles all in one. 2020-08-18T08:01:09Z splittist: I've used that in the past. (Pre git, though, from memory.) 2020-08-18T08:01:36Z |jonathan|: okay I will give it a try. Thanks. 2020-08-18T08:01:48Z |jonathan|: thanks phoe for your precious time. 2020-08-18T08:02:05Z phoe: no problem, good luck and let us know in case of any issues and/or successes 2020-08-18T08:02:44Z splittist: I'm old enough to have had sufficient bad experiences with all-in-one solutions that I tend to want to do things my way. Or perhaps it's just ignorance and stubbornness (: 2020-08-18T08:03:04Z ukari joined #lisp 2020-08-18T08:04:35Z |jonathan|: I guess we all learn when we try to do things from scratch. 2020-08-18T08:04:52Z ukari quit (Remote host closed the connection) 2020-08-18T08:10:15Z hendursa1 joined #lisp 2020-08-18T08:12:15Z ukari joined #lisp 2020-08-18T08:12:29Z Gnuxie[m] quit (Quit: killed) 2020-08-18T08:12:29Z LdBeth quit (Quit: killed) 2020-08-18T08:12:30Z kelamir[m] quit (Quit: killed) 2020-08-18T08:12:31Z even4void[m] quit (Quit: killed) 2020-08-18T08:12:32Z userself quit (Quit: killed) 2020-08-18T08:12:32Z cairn quit (Quit: killed) 2020-08-18T08:12:35Z MrtnDk[m] quit (Quit: killed) 2020-08-18T08:12:37Z camlriot42 quit (Quit: killed) 2020-08-18T08:12:39Z gaqwas[m] quit (Quit: killed) 2020-08-18T08:12:39Z infra_red[m] quit (Quit: killed) 2020-08-18T08:12:47Z Jach[m] quit (Quit: killed) 2020-08-18T08:12:47Z unl0ckd quit (Quit: killed) 2020-08-18T08:12:52Z sammich quit (Quit: killed) 2020-08-18T08:12:55Z fwoaroof[m] quit (Quit: killed) 2020-08-18T08:12:58Z kinope quit (Quit: killed) 2020-08-18T08:12:58Z hendursaga quit (Ping timeout: 240 seconds) 2020-08-18T08:12:59Z eric[m]4 quit (Quit: killed) 2020-08-18T08:12:59Z Jachy quit (Quit: killed) 2020-08-18T08:12:59Z liamz[m] quit (Quit: killed) 2020-08-18T08:14:06Z ukari quit (Remote host closed the connection) 2020-08-18T08:15:13Z simplegauss quit (Ping timeout: 264 seconds) 2020-08-18T08:16:11Z johnjay quit (Ping timeout: 240 seconds) 2020-08-18T08:17:39Z simplegauss joined #lisp 2020-08-18T08:21:30Z Gnuxie[m] joined #lisp 2020-08-18T08:45:50Z ljavorsk joined #lisp 2020-08-18T08:48:34Z ukari joined #lisp 2020-08-18T08:51:26Z even4void[m] joined #lisp 2020-08-18T08:51:26Z kinope joined #lisp 2020-08-18T08:51:26Z MrtnDk[m] joined #lisp 2020-08-18T08:51:26Z infra_red[m] joined #lisp 2020-08-18T08:51:26Z fwoaroof[m] joined #lisp 2020-08-18T08:51:26Z camlriot42 joined #lisp 2020-08-18T08:51:26Z LdBeth joined #lisp 2020-08-18T08:51:27Z userself joined #lisp 2020-08-18T08:51:27Z cairn joined #lisp 2020-08-18T08:51:27Z kelamir[m] joined #lisp 2020-08-18T08:51:27Z sammich joined #lisp 2020-08-18T08:51:27Z eric[m]4 joined #lisp 2020-08-18T08:51:27Z gaqwas[m] joined #lisp 2020-08-18T08:51:33Z liamz[m] joined #lisp 2020-08-18T08:51:34Z Jach[m] joined #lisp 2020-08-18T08:51:34Z unl0ckd joined #lisp 2020-08-18T08:51:34Z Jachy joined #lisp 2020-08-18T08:55:32Z karlosz quit (Read error: Connection reset by peer) 2020-08-18T08:55:50Z karlosz joined #lisp 2020-08-18T09:00:47Z karlosz quit (Ping timeout: 244 seconds) 2020-08-18T09:05:07Z karlosz joined #lisp 2020-08-18T09:06:28Z userself quit (Quit: Idle for 30+ days) 2020-08-18T09:12:52Z msk__ quit (Ping timeout: 256 seconds) 2020-08-18T09:30:10Z jesse1010 joined #lisp 2020-08-18T09:36:39Z yitzi joined #lisp 2020-08-18T09:43:08Z orivej quit (Ping timeout: 256 seconds) 2020-08-18T09:50:44Z msk joined #lisp 2020-08-18T09:52:32Z nicktick quit (Ping timeout: 256 seconds) 2020-08-18T09:59:01Z ralt joined #lisp 2020-08-18T09:59:20Z EvW quit (Ping timeout: 256 seconds) 2020-08-18T10:08:28Z luna_is_here quit (Ping timeout: 246 seconds) 2020-08-18T10:09:27Z luna_is_here joined #lisp 2020-08-18T10:18:04Z ravndal quit (Remote host closed the connection) 2020-08-18T10:19:50Z ravndal joined #lisp 2020-08-18T10:26:38Z random-nick joined #lisp 2020-08-18T10:34:49Z Bourne quit (Ping timeout: 265 seconds) 2020-08-18T10:38:34Z Cymew joined #lisp 2020-08-18T10:41:03Z dmrintr joined #lisp 2020-08-18T10:48:19Z yitzi quit (Quit: yitzi) 2020-08-18T10:57:30Z nullman quit (Ping timeout: 260 seconds) 2020-08-18T11:02:20Z terpri__ joined #lisp 2020-08-18T11:04:25Z bitmapper quit (Ping timeout: 264 seconds) 2020-08-18T11:05:07Z terpri_ quit (Ping timeout: 244 seconds) 2020-08-18T11:06:03Z frgo_ quit (Remote host closed the connection) 2020-08-18T11:08:26Z katco joined #lisp 2020-08-18T11:18:05Z galex-713 joined #lisp 2020-08-18T11:18:33Z hjudt quit (Quit: leaving) 2020-08-18T11:30:34Z narimiran joined #lisp 2020-08-18T11:32:58Z Alfr joined #lisp 2020-08-18T11:33:38Z Alfr__ quit (Ping timeout: 244 seconds) 2020-08-18T11:36:24Z wxie joined #lisp 2020-08-18T11:37:57Z EvW1 joined #lisp 2020-08-18T11:40:51Z liberliver quit (Quit: liberliver) 2020-08-18T11:40:56Z xlei quit (Quit: ZNC - https://znc.in) 2020-08-18T11:44:12Z hjudt joined #lisp 2020-08-18T11:46:33Z EvW1 quit (Ping timeout: 244 seconds) 2020-08-18T11:52:57Z liberliver joined #lisp 2020-08-18T11:54:11Z liberliver quit (Client Quit) 2020-08-18T12:07:06Z igemnace quit (Remote host closed the connection) 2020-08-18T12:09:51Z ralt quit (Quit: Connection closed for inactivity) 2020-08-18T12:11:19Z ukari quit (Remote host closed the connection) 2020-08-18T12:16:25Z kaftejiman joined #lisp 2020-08-18T12:17:23Z yitzi joined #lisp 2020-08-18T12:18:04Z wxie quit (Ping timeout: 244 seconds) 2020-08-18T12:24:52Z Xach: many users here have used CL since many years before portacle existed, also 2020-08-18T12:28:38Z hendursa1 quit (Quit: hendursa1) 2020-08-18T12:28:54Z hendursaga joined #lisp 2020-08-18T12:29:51Z phoe: and Xach is not talking about lispbox and lispstick either 2020-08-18T12:30:14Z zooey_ joined #lisp 2020-08-18T12:30:32Z ggole joined #lisp 2020-08-18T12:31:03Z zooey quit (Ping timeout: 240 seconds) 2020-08-18T12:31:40Z jackdaniel: the only editor I know about is invoked with (ed) 2020-08-18T12:32:03Z jackdaniel: (that's a lie, but it is an appealing lie, isn't it?) 2020-08-18T12:33:01Z phoe: it is 2020-08-18T12:41:06Z wxie joined #lisp 2020-08-18T12:43:16Z fe[nl]ix quit (Read error: Connection reset by peer) 2020-08-18T12:44:32Z fe[nl]ix joined #lisp 2020-08-18T12:44:32Z ChanServ has set mode +o fe[nl]ix 2020-08-18T12:45:28Z TwoNotes joined #lisp 2020-08-18T12:46:34Z shifty quit (Ping timeout: 256 seconds) 2020-08-18T12:46:48Z orivej joined #lisp 2020-08-18T12:54:08Z Bike joined #lisp 2020-08-18T12:55:11Z wsinatra joined #lisp 2020-08-18T12:59:28Z epony quit (Ping timeout: 258 seconds) 2020-08-18T13:00:57Z epony joined #lisp 2020-08-18T13:08:13Z frgo joined #lisp 2020-08-18T13:08:44Z frgo quit (Remote host closed the connection) 2020-08-18T13:09:03Z frgo joined #lisp 2020-08-18T13:12:46Z frgo_ joined #lisp 2020-08-18T13:14:02Z frgo quit (Ping timeout: 260 seconds) 2020-08-18T13:17:29Z Xach: i hook ed everywhere i can 2020-08-18T13:23:42Z _death: do you have it working with a function name (or other symbol meanings?) as argument? 2020-08-18T13:24:44Z Xach: no, just pathname designators 2020-08-18T13:25:05Z wxie quit (Ping timeout: 240 seconds) 2020-08-18T13:26:24Z EvW joined #lisp 2020-08-18T13:27:51Z _death: shouldn't be hard to swank-call slime-edit-definition ;) 2020-08-18T13:28:53Z jw4 joined #lisp 2020-08-18T13:28:54Z Xach: that's the route 2020-08-18T13:32:01Z krid joined #lisp 2020-08-18T13:34:01Z EvW quit (Ping timeout: 244 seconds) 2020-08-18T13:34:09Z midre quit (Ping timeout: 272 seconds) 2020-08-18T13:34:57Z vaporatorius joined #lisp 2020-08-18T13:34:57Z vaporatorius quit (Changing host) 2020-08-18T13:34:57Z vaporatorius joined #lisp 2020-08-18T13:38:00Z vaporatorius__ quit (Ping timeout: 265 seconds) 2020-08-18T13:43:10Z rumbler31 quit (Ping timeout: 260 seconds) 2020-08-18T13:43:23Z orivej quit (Ping timeout: 240 seconds) 2020-08-18T13:44:04Z dyelar joined #lisp 2020-08-18T13:45:33Z vaporatorius__ joined #lisp 2020-08-18T13:48:50Z vaporatorius quit (Ping timeout: 256 seconds) 2020-08-18T13:52:21Z whiteline_ joined #lisp 2020-08-18T13:53:45Z whiteline quit (Read error: Connection reset by peer) 2020-08-18T13:56:55Z dra joined #lisp 2020-08-18T13:57:28Z nullman joined #lisp 2020-08-18T13:59:30Z whiteline_ quit (Read error: Connection reset by peer) 2020-08-18T13:59:39Z whiteline joined #lisp 2020-08-18T14:00:40Z justache quit (Remote host closed the connection) 2020-08-18T14:01:38Z sjl_ joined #lisp 2020-08-18T14:02:08Z justache joined #lisp 2020-08-18T14:02:58Z liberliver joined #lisp 2020-08-18T14:04:17Z nicktick joined #lisp 2020-08-18T14:04:39Z TwoNotes quit (Quit: Leaving) 2020-08-18T14:13:07Z Bourne joined #lisp 2020-08-18T14:13:19Z treflip quit (Quit: WeeChat 2.6) 2020-08-18T14:22:51Z gko_ joined #lisp 2020-08-18T14:25:06Z TwoNotes joined #lisp 2020-08-18T14:25:59Z rpg joined #lisp 2020-08-18T14:28:06Z luna_is_here_ joined #lisp 2020-08-18T14:28:25Z nicktick quit (Ping timeout: 240 seconds) 2020-08-18T14:29:04Z nicktick joined #lisp 2020-08-18T14:29:45Z luna_is_here quit (Ping timeout: 240 seconds) 2020-08-18T14:34:07Z Cymew quit (Ping timeout: 246 seconds) 2020-08-18T14:38:27Z TwoNotes quit (Quit: Leaving) 2020-08-18T14:40:00Z bsd4me joined #lisp 2020-08-18T14:40:35Z jw4 quit (Ping timeout: 240 seconds) 2020-08-18T14:42:05Z Bourne quit (Ping timeout: 240 seconds) 2020-08-18T14:48:33Z jw4 joined #lisp 2020-08-18T14:52:57Z phoe: I'm glad that CL:LIST is a class even though it could have been a type 2020-08-18T14:53:14Z phoe: for a moment I was scared that I'd need to specialize on NULL and CONS separately before I remembered the above 2020-08-18T14:54:48Z gaqwas quit (Remote host closed the connection) 2020-08-18T15:01:07Z krid` joined #lisp 2020-08-18T15:04:25Z krid quit (Ping timeout: 264 seconds) 2020-08-18T15:07:14Z gko_ quit (Remote host closed the connection) 2020-08-18T15:07:42Z gko_ joined #lisp 2020-08-18T15:11:46Z bitmapper joined #lisp 2020-08-18T15:13:28Z lisper_nl joined #lisp 2020-08-18T15:16:14Z bsd4me left #lisp 2020-08-18T15:24:14Z edgar-rft quit (Quit: Leaving) 2020-08-18T15:28:17Z sjl_ quit (Quit: WeeChat 2.3-dev) 2020-08-18T15:29:21Z ljavorsk quit (Ping timeout: 246 seconds) 2020-08-18T15:31:13Z TwoNotes joined #lisp 2020-08-18T15:33:09Z Bourne joined #lisp 2020-08-18T15:34:02Z lisper_nl left #lisp 2020-08-18T15:36:13Z mindCrime joined #lisp 2020-08-18T15:37:50Z CodeSpelunker joined #lisp 2020-08-18T15:40:41Z rgherdt quit (Quit: Leaving) 2020-08-18T15:40:48Z EvW1 joined #lisp 2020-08-18T15:49:19Z yitzi quit (Quit: yitzi) 2020-08-18T15:50:05Z CodeSpelunker left #lisp 2020-08-18T15:53:11Z gaqwas joined #lisp 2020-08-18T15:53:11Z gaqwas quit (Changing host) 2020-08-18T15:53:11Z gaqwas joined #lisp 2020-08-18T15:56:35Z nicktick quit (Ping timeout: 240 seconds) 2020-08-18T15:57:28Z gko_ quit (Ping timeout: 256 seconds) 2020-08-18T16:05:53Z galex-713 quit (Quit: No Ping reply in 180 seconds.) 2020-08-18T16:05:57Z terpri__ is now known as terpri 2020-08-18T16:07:15Z galex-713 joined #lisp 2020-08-18T16:24:23Z yitzi joined #lisp 2020-08-18T16:26:28Z Lord_of_Life quit (Ping timeout: 246 seconds) 2020-08-18T16:27:36Z Lord_of_Life joined #lisp 2020-08-18T16:30:04Z FreeBirdLjj joined #lisp 2020-08-18T16:31:41Z random-nick quit (Quit: quit) 2020-08-18T16:34:10Z dmrintr quit (Ping timeout: 246 seconds) 2020-08-18T16:34:26Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2020-08-18T16:39:15Z random-nick joined #lisp 2020-08-18T16:44:35Z orivej joined #lisp 2020-08-18T16:44:40Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-08-18T16:45:13Z bonz060 quit (Ping timeout: 264 seconds) 2020-08-18T16:46:25Z jw4 quit (Ping timeout: 246 seconds) 2020-08-18T16:47:28Z hendursaga quit (Remote host closed the connection) 2020-08-18T16:48:28Z hendursaga joined #lisp 2020-08-18T16:52:07Z choegusung joined #lisp 2020-08-18T16:55:52Z kaftejiman quit (Remote host closed the connection) 2020-08-18T17:00:31Z choegusung quit (Quit: leaving) 2020-08-18T17:01:04Z gaqwas quit (Remote host closed the connection) 2020-08-18T17:04:30Z phoe: Is there a CL system that implements classes that have value semantics, just like functional data types? I'd like something with meaningful means of comparing and non-destructive editing 2020-08-18T17:04:56Z bitmapper: https://github.com/stylewarning/cl-algebraic-data-type 2020-08-18T17:05:00Z phoe: I'm asking because I have just noticed that I am slowly inventing such a thing, and I'd like to avoid reinv--- 2020-08-18T17:05:17Z bitmapper: it was the predecessor to coalton iirc? 2020-08-18T17:05:51Z phoe inspects 2020-08-18T17:08:27Z Josh_2 joined #lisp 2020-08-18T17:13:01Z phoe: I am about halfway satisfied 2020-08-18T17:14:11Z Bike: classes with value semantics? 2020-08-18T17:14:47Z phoe: yes, something like that 2020-08-18T17:15:07Z bitmapper: *actual* algebraic data types, which that library sadly doesn't provide 2020-08-18T17:15:33Z hjudt quit (Quit: leaving) 2020-08-18T17:15:59Z hjudt joined #lisp 2020-08-18T17:16:00Z phoe rethinks his desin 2020-08-18T17:16:02Z phoe: design 2020-08-18T17:16:25Z bitmapper: everything is just algebraic data types and pattern matching :v 2020-08-18T17:16:30Z rpg joined #lisp 2020-08-18T17:17:28Z phoe: I am having a situation in which a player has a set of tiles to play, and each of these tiles belongs to that player 2020-08-18T17:17:39Z phoe: in a normal, mutable OO way I'd solve this with a pair of references 2020-08-18T17:18:13Z phoe: but I'm wondering how I am supposed to work with this in a functional manner 2020-08-18T17:18:26Z phoe: suddenly I want *some* things to have value semantics but I want *other* things to have identity 2020-08-18T17:18:44Z phoe: and I'm wondering what kind of solution would be a good fit 2020-08-18T17:19:40Z bitmapper: phoe: could you expand on a bit on the semantics of the tiles 2020-08-18T17:20:04Z phoe: a tile always belongs to a given player 2020-08-18T17:20:16Z bitmapper: yeah 2020-08-18T17:20:32Z phoe: let's imagine that a player has 100 tiles of 10 kinds, and each of these tiles is marked as belonging to that player 2020-08-18T17:20:53Z phoe: two tiles are value-equivalent if they belong to the same player and they have the same kind. 2020-08-18T17:21:05Z bitmapper: ah 2020-08-18T17:21:06Z TwoNotes quit (Ping timeout: 260 seconds) 2020-08-18T17:21:17Z phoe: the kind is the part that has value semantics but the player is the part where, I guess, identity is important 2020-08-18T17:21:36Z phoe: unless I'm still blind to some stuff and my design can be done better 2020-08-18T17:22:25Z phoe: there's a natural circularity in here that I don't know how to resolve 2020-08-18T17:22:38Z bitmapper: in like haskell i'd do `data Tile a = Tile1 a | Tile2 a | Tile3 a | ... deriving (Eq, Show)` 2020-08-18T17:22:56Z bitmapper: where Tile1, Tile2, and Tile3 are the different kinds of tiles 2020-08-18T17:23:00Z phoe: other than making some sort of gensyms and equipping each player with a gensym and each tile with a gensym 2020-08-18T17:23:26Z phoe: and then the tile belongs to that player if they have the same... yeah, I guess that would work and I wouldn't need to dive into object semantics 2020-08-18T17:23:30Z phoe: thanks! 2020-08-18T17:23:42Z bitmapper: ? 2020-08-18T17:24:03Z bitmapper: yeah 2020-08-18T17:24:15Z bitmapper: that's basically how that would work 2020-08-18T17:24:48Z bitmapper: (adt:defdata tile 2020-08-18T17:24:50Z bitmapper: oops 2020-08-18T17:25:09Z bitmapper: (adt:defdata tile (tile1 tile) (tile2 tile) (tile3 tile) ...) 2020-08-18T17:25:47Z bitmapper: types are just unique identifiers that we enforce based on their associated constraints anyway 2020-08-18T17:26:04Z bitmapper: at least in most systems 2020-08-18T17:30:58Z TwoNotes joined #lisp 2020-08-18T17:33:49Z stylewarning: You probably don’t want (tile1 tile) unless there’s some leaf 2020-08-18T17:34:30Z Josh_2: evening 2020-08-18T17:34:52Z bitmapper: ahh 2020-08-18T17:34:53Z bitmapper: sorry 2020-08-18T17:34:59Z bitmapper: i meant (tile1 person) 2020-08-18T17:45:06Z dddddd_ joined #lisp 2020-08-18T17:45:50Z alejandrozf joined #lisp 2020-08-18T17:45:52Z EvW1 quit (Ping timeout: 260 seconds) 2020-08-18T17:47:24Z dddddd quit (Ping timeout: 256 seconds) 2020-08-18T17:49:54Z alejandrozf: hi! how are you? Do you know some CL library to use GAN (Generative adaptative networks) ? 2020-08-18T17:50:09Z dddddd__ joined #lisp 2020-08-18T17:52:25Z dddddd_ quit (Ping timeout: 264 seconds) 2020-08-18T17:53:02Z dddddd_ joined #lisp 2020-08-18T17:56:01Z dddddd__ quit (Ping timeout: 264 seconds) 2020-08-18T17:56:25Z xlei joined #lisp 2020-08-18T17:56:54Z dddddd joined #lisp 2020-08-18T17:58:45Z dddddd_ quit (Ping timeout: 240 seconds) 2020-08-18T18:02:03Z jw4 joined #lisp 2020-08-18T18:08:21Z jonatack quit (Quit: jonatack) 2020-08-18T18:09:21Z alejandrozf: quit 2020-08-18T18:09:27Z alejandrozf quit (Quit: ERC (IRC client for Emacs 28.0.50)) 2020-08-18T18:12:44Z gaqwas joined #lisp 2020-08-18T18:12:44Z gaqwas quit (Changing host) 2020-08-18T18:12:44Z gaqwas joined #lisp 2020-08-18T18:22:29Z Sauvin quit (Remote host closed the connection) 2020-08-18T18:25:57Z jonatack joined #lisp 2020-08-18T18:27:27Z wsinatra quit (Quit: WeeChat 2.9) 2020-08-18T18:29:35Z gaqwas quit (Remote host closed the connection) 2020-08-18T18:33:11Z wsinatra joined #lisp 2020-08-18T18:39:42Z rumbler31 joined #lisp 2020-08-18T18:45:50Z rumbler31 quit (Ping timeout: 256 seconds) 2020-08-18T18:45:52Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-08-18T18:47:14Z stepnem_ joined #lisp 2020-08-18T18:47:37Z stepnem quit (Ping timeout: 264 seconds) 2020-08-18T18:49:22Z rumbler31 joined #lisp 2020-08-18T19:01:31Z lispyone_ quit (Read error: Connection reset by peer) 2020-08-18T19:01:36Z ggole quit (Quit: Leaving) 2020-08-18T19:01:40Z banjiewen quit (Ping timeout: 244 seconds) 2020-08-18T19:01:40Z buoy49 quit (Ping timeout: 244 seconds) 2020-08-18T19:01:50Z kilimanjaro quit (Read error: Connection reset by peer) 2020-08-18T19:02:08Z jerme_ quit (Read error: Connection reset by peer) 2020-08-18T19:02:12Z tfb quit (Read error: Connection reset by peer) 2020-08-18T19:03:47Z banjiewen joined #lisp 2020-08-18T19:06:41Z buoy49 joined #lisp 2020-08-18T19:06:50Z lispyone_ joined #lisp 2020-08-18T19:07:14Z kilimanjaro joined #lisp 2020-08-18T19:08:23Z tfb joined #lisp 2020-08-18T19:08:42Z banjiewen quit (Ping timeout: 260 seconds) 2020-08-18T19:09:37Z jerme_ joined #lisp 2020-08-18T19:10:03Z banjiewen joined #lisp 2020-08-18T19:12:28Z mrcom quit (Ping timeout: 265 seconds) 2020-08-18T19:20:20Z gravicappa quit (Ping timeout: 256 seconds) 2020-08-18T19:20:54Z rumbler31 quit (Ping timeout: 256 seconds) 2020-08-18T19:20:54Z TwoNotes quit (Ping timeout: 256 seconds) 2020-08-18T19:21:15Z gargaml joined #lisp 2020-08-18T19:22:33Z rumbler31 joined #lisp 2020-08-18T19:23:13Z ukari joined #lisp 2020-08-18T19:24:04Z okflo joined #lisp 2020-08-18T19:32:37Z gaqwas joined #lisp 2020-08-18T19:32:37Z gaqwas quit (Changing host) 2020-08-18T19:32:37Z gaqwas joined #lisp 2020-08-18T19:35:49Z markasoftware: When would there be multiple Store Variables in a setf expansion? 2020-08-18T19:38:35Z grewal quit (Remote host closed the connection) 2020-08-18T19:38:57Z _death: try (get-setf-expansion '(values a b)) 2020-08-18T19:42:07Z stepnem_ quit (Ping timeout: 246 seconds) 2020-08-18T19:43:08Z stepnem joined #lisp 2020-08-18T19:48:21Z drmeister: Hey - does anyone here do C++ programming, specifically C++17 template programming with an understanding of "fold expressions" in their day job? If so - can you ping me? 2020-08-18T19:49:20Z tutti joined #lisp 2020-08-18T19:49:22Z drmeister: I want to revamp some of the Clasp C++ interop and I've upgraded to C++17 and I think I can simplify the code considerably with some fancy "modern" C++ template programming. I'd like to bounce some ideas off of someone who knows more about it than I do. 2020-08-18T19:50:45Z rumbler31 quit (Ping timeout: 240 seconds) 2020-08-18T19:51:05Z drmeister is fully aware that the Venn diagram of people on #lisp and those who have the skills described above has a vanishingly small intersection. 2020-08-18T19:52:54Z ecraven: drmeister: thanks for the pointer, those look interesting (though `int sum(&&... Args)' looks rather strange) 2020-08-18T19:52:54Z yitzi quit (Read error: Connection reset by peer) 2020-08-18T19:54:22Z drmeister: All of C++ looks strange. These people need more s-expressions in their lives. 2020-08-18T19:54:25Z _death: in the recent decade my C++ became more like C and less like "modern C++", although I like that there's and such.. so if I use templates these days, it's only for simple things 2020-08-18T19:54:57Z ecraven: drmeister: well, up until ~ C++14 things seemed ok.. now, stuff got weird fast ;) 2020-08-18T19:55:15Z rumbler31 joined #lisp 2020-08-18T19:55:59Z ecraven: actually, plain C++ is very much ok, but the stuff they do with templates should just be its own language :P 2020-08-18T19:57:06Z drmeister: Ok - thanks. 2020-08-18T19:57:17Z ecraven: good luck ;) 2020-08-18T19:57:18Z drmeister: I'm trying to replace a lot of generated code that looks like this... 2020-08-18T19:57:19Z drmeister: https://gist.github.com/drmeister/4c45e76ae2e3783ee4a169375f583cde 2020-08-18T19:57:47Z drmeister: With a single template class that uses tuples and fold expressions. 2020-08-18T19:58:06Z ecraven: sorry, that is quite above my level of confidence in templates :-/ 2020-08-18T19:58:20Z jasom: IF this is for CLASP I would say it's on-topic here; I'll take a look. I was just learning more about C++17 a couple years ago when I got pulled onto a C only project 2020-08-18T19:58:31Z drmeister: This is for clasp. 2020-08-18T19:59:41Z drmeister: I want to add multiple entry points ala Movitz. But if I keep going with generated template code it's going to go bananas. C++17 might offer a way out - but I'm not sure yet. 2020-08-18T20:00:29Z drmeister: I'm gearing up to add 1. multiple entry points; 2. GC code; 3. Image save/load; all with C++ interop. 2020-08-18T20:01:34Z kaftejiman joined #lisp 2020-08-18T20:01:48Z ukari quit (Remote host closed the connection) 2020-08-18T20:03:34Z rogersm joined #lisp 2020-08-18T20:04:58Z jasom: drmeister: what's the side effect of the translate::from_object calls? 2020-08-18T20:05:21Z jasom: drmeister: if the indentation isn't wrong, they are statements not expressions 2020-08-18T20:05:40Z jasom: oh nevermind, that's a declaration 2020-08-18T20:05:54Z rumbler31 quit (Ping timeout: 256 seconds) 2020-08-18T20:08:23Z drmeister: Yes, I am declaring lexical variables of the type 'translate:from_object' 2020-08-18T20:09:02Z drmeister: This is because often C++ functions get around the lack of multiple return values by returning values in argument references. 2020-08-18T20:09:33Z drmeister: The code I pasted can convert the values in those arguments back into Common Lisp values and add them to the multiple-values return. 2020-08-18T20:09:33Z yitzi joined #lisp 2020-08-18T20:09:41Z drmeister: That's all this stuff... 2020-08-18T20:09:58Z drmeister: https://www.irccloud.com/pastebin/2pTNxJWI/ 2020-08-18T20:11:01Z drmeister: The programmer can also specify when pointers are returned this way - the lifetime of the pointed to object can be managed/adopted by Common Lisp - or not adopted by Common Lisp. 2020-08-18T20:11:11Z gaqwas quit (Remote host closed the connection) 2020-08-18T20:11:41Z rumbler31 joined #lisp 2020-08-18T20:12:28Z troydm quit (Ping timeout: 256 seconds) 2020-08-18T20:15:24Z heisig quit (Quit: Leaving) 2020-08-18T20:17:20Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2020-08-18T20:19:49Z yitzi quit (Read error: Connection reset by peer) 2020-08-18T20:20:43Z drmeister: I went into the ##c++-general irc channel and asked the question. 2020-08-18T20:20:59Z drmeister: I was pointed to this: https://en.cppreference.com/w/cpp/utility/apply 2020-08-18T20:21:29Z drmeister: Someday - I hope that in Common Lisp that we can have a language feature as powerful and as expressive as C++17's std::apply. 2020-08-18T20:21:57Z jasom: drmeister: how does apply solve this problem? 2020-08-18T20:23:01Z radikal joined #lisp 2020-08-18T20:23:36Z yitzi joined #lisp 2020-08-18T20:23:38Z jasom: That works once you have a tupple of your translate::fromobject<> items, but I thought the confusion was generating a fold expresion that captures the frame->arg(N) initializers? 2020-08-18T20:25:10Z jasom: Which thinking about it you can do with a templated lambda that increments a counter. 2020-08-18T20:25:18Z rpg joined #lisp 2020-08-18T20:26:38Z jasom: gah templated lambdas aren't until C++20 2020-08-18T20:27:19Z jasom: fine a templated function that takes a reference to a counter and the frame :/ 2020-08-18T20:27:36Z jasom: Then just fold the comma operator in std::make_tuple 2020-08-18T20:30:00Z jasom: I suppose the more C++ way would be to use a template method and keep the counter and frame in the class. Whatever. 2020-08-18T20:30:42Z mrcom joined #lisp 2020-08-18T20:31:25Z narimiran quit (Ping timeout: 264 seconds) 2020-08-18T20:34:43Z jufearcas joined #lisp 2020-08-18T20:38:54Z jeosol joined #lisp 2020-08-18T20:38:58Z wsinatra quit (Quit: WeeChat 2.9) 2020-08-18T20:39:42Z rogersm quit (Quit: Leaving...) 2020-08-18T20:42:59Z rumbler31 quit (Remote host closed the connection) 2020-08-18T20:44:25Z akoana left #lisp 2020-08-18T20:44:53Z shifty joined #lisp 2020-08-18T20:48:12Z jasom: drmeister: I commented with my example of how I would probably generate the tuple; from there you can use std::apply to use it. 2020-08-18T20:48:24Z drmeister: Hi - I got pulled away for a few min. 2020-08-18T20:48:38Z jasom: drmeister: note I haven't written any C++ code in 2 years so huge disclaimer on it even compiling out-of-the-box but should give you an idea 2020-08-18T20:48:56Z jasom: s/I commented/I commented on the gist/ 2020-08-18T20:49:29Z jasom: it looked like the definition of "frame" was in a macro so I used "FrameType" as a placeholder. 2020-08-18T20:50:58Z drmeister: I have three problems - I think. 1. Create a from_object variable for each argument (I think I can do this with tuples). 2. Apply the function to the tuple (std::apply - I think). 3. Evaluate ReturnValueWhen(...) on each argument - (maybe std::apply??) 2020-08-18T20:51:16Z jasom: no apply for ReturnValueWhen 2020-08-18T20:51:26Z jasom: you want to use fold on the "," operator 2020-08-18T20:51:42Z hipete joined #lisp 2020-08-18T20:51:49Z shka_ quit (Ping timeout: 264 seconds) 2020-08-18T20:52:07Z jasom: I also just noticed that you never use the a0/a1/a2 objects directly, just the ._v member; is there a side-effect of those objects being alive, or can you just put the ._v members directly in the tuple? 2020-08-18T20:53:35Z drmeister: I'm not sure yet. I think I use the a0._v because I can declare the _v field with the type of the argument. The 'a0' part is the from_object instance. 2020-08-18T20:56:13Z drmeister: I agree with you about the fold on the comma operator. 2020-08-18T21:00:30Z rumbler31 joined #lisp 2020-08-18T21:01:14Z Jesin quit (Quit: Leaving) 2020-08-18T21:06:50Z ralt joined #lisp 2020-08-18T21:10:24Z Jesin joined #lisp 2020-08-18T21:25:44Z copec: drmeister: Coming from someone who hasn't done much C++, and even then it was in the 90's, is your statement about std::apply sarcastic or serious? 2020-08-18T21:26:45Z edgar-rft joined #lisp 2020-08-18T21:27:42Z Mawile is now known as Archenoth 2020-08-18T21:29:00Z copec: It doesn't appear to me there are more modern programming language notions or something, so I'll guess sarcastic 2020-08-18T21:29:04Z phoe: no, he's completely serious - it's not like in CL we have some means of applying arbitrary functions to arbitrary lists of arguments 2020-08-18T21:29:15Z whiteline quit (Ping timeout: 265 seconds) 2020-08-18T21:29:34Z jasom: phoe: but C++'s is *typesafe* :P 2020-08-18T21:30:02Z jgodbout: void* ftw 2020-08-18T21:30:55Z jasom: phoe: which is why http://coliru.stacked-crooked.com/a/e3bf74f7d9bca3e1 doesn't work and you have to do http://coliru.stacked-crooked.com/a/cc57b2f481a88c9d instead 2020-08-18T21:34:22Z gargaml quit (Quit: WeeChat 2.9) 2020-08-18T21:36:10Z phoe: Let's assume that we have a metaclass, and then several classes defined with that metaclass. What would be the cleanest way to automatically define a method specialized on each such class whenever that class is defined? 2020-08-18T21:36:45Z phoe: In other words, I'd like (defclass foo () () (:metaclass my-class)) to also cause (defmethod frobnicate ((foo-1 foo) (foo-2 foo)) ...) 2020-08-18T21:38:05Z phoe: should I define an :AFTER method on ENSURE-CLASS-USING-CLASS that calls ADD-METHOD? 2020-08-18T21:38:35Z phoe: or should it be MAKE-INSTANCE on the metaclass? 2020-08-18T21:39:18Z rpg quit (Quit: Textual IRC Client: www.textualapp.com) 2020-08-18T21:39:28Z stoneglass joined #lisp 2020-08-18T21:42:50Z Lycurgus joined #lisp 2020-08-18T21:44:11Z spoeplau joined #lisp 2020-08-18T21:44:14Z jasom: phoe: for class-redefinitions make-instance on the metaclass won't work, right? 2020-08-18T21:44:45Z phoe: correct... huh, shared-initialize specialized on the metaclass? 2020-08-18T21:49:37Z jasom: phoe: that looks right to me, but my MOP-fu is weak 2020-08-18T21:58:09Z rumbler3_ joined #lisp 2020-08-18T22:00:08Z rumbler31 quit (Ping timeout: 256 seconds) 2020-08-18T22:10:54Z orivej quit (Ping timeout: 256 seconds) 2020-08-18T22:13:26Z Lycurgus quit (Remote host closed the connection) 2020-08-18T22:17:20Z pve quit (Quit: leaving) 2020-08-18T22:18:04Z drmeister: copec: Sarcastic. 2020-08-18T22:18:13Z Necktwi quit (Ping timeout: 246 seconds) 2020-08-18T22:19:39Z Necktwi joined #lisp 2020-08-18T22:20:13Z dddddd_ joined #lisp 2020-08-18T22:22:00Z copec: Every remote now and then there is some nice novel syntax 2020-08-18T22:22:11Z dddddd quit (Ping timeout: 240 seconds) 2020-08-18T22:23:30Z dddddd__ joined #lisp 2020-08-18T22:24:14Z vidak` quit (Read error: Connection reset by peer) 2020-08-18T22:24:31Z vidak` joined #lisp 2020-08-18T22:25:25Z dddddd_ quit (Ping timeout: 240 seconds) 2020-08-18T22:25:44Z spoeplau quit (Quit: Leaving) 2020-08-18T22:25:51Z housel quit (Read error: Connection reset by peer) 2020-08-18T22:26:12Z dddddd_ joined #lisp 2020-08-18T22:28:35Z dddddd__ quit (Ping timeout: 240 seconds) 2020-08-18T22:29:24Z dddddd__ joined #lisp 2020-08-18T22:29:25Z rumbler3_ quit (Remote host closed the connection) 2020-08-18T22:30:50Z bsd4me joined #lisp 2020-08-18T22:31:18Z orivej joined #lisp 2020-08-18T22:31:45Z dddddd_ quit (Ping timeout: 240 seconds) 2020-08-18T22:32:05Z Bourne quit (Ping timeout: 240 seconds) 2020-08-18T22:33:13Z Josh_2 quit (Ping timeout: 264 seconds) 2020-08-18T22:34:51Z rumbler31 joined #lisp 2020-08-18T22:36:31Z hasegawachan joined #lisp 2020-08-18T22:40:08Z nicktick joined #lisp 2020-08-18T22:41:37Z rme quit (Ping timeout: 180 seconds) 2020-08-18T22:42:17Z gendl quit (Ping timeout: 244 seconds) 2020-08-18T22:42:48Z rme quit (Ping timeout: 260 seconds) 2020-08-18T22:43:08Z terrorjack quit (Ping timeout: 244 seconds) 2020-08-18T22:43:14Z jmercouris quit (Read error: Connection reset by peer) 2020-08-18T22:43:14Z selwyn quit (Read error: Connection reset by peer) 2020-08-18T22:43:23Z mpontillo quit (Ping timeout: 260 seconds) 2020-08-18T22:43:39Z dddddd_ joined #lisp 2020-08-18T22:46:11Z dddddd__ quit (Ping timeout: 240 seconds) 2020-08-18T22:46:26Z mpontillo joined #lisp 2020-08-18T22:47:26Z hasegawachan quit (Quit: WeeChat 2.3) 2020-08-18T22:47:41Z tutti quit (Ping timeout: 272 seconds) 2020-08-18T22:51:02Z bsd4me quit (Ping timeout: 260 seconds) 2020-08-18T22:52:35Z terrorjack joined #lisp 2020-08-18T22:53:07Z gendl joined #lisp 2020-08-18T22:53:10Z jmercouris joined #lisp 2020-08-18T22:54:47Z selwyn joined #lisp 2020-08-18T22:55:17Z rme joined #lisp 2020-08-18T22:58:48Z kaftejiman quit (Remote host closed the connection) 2020-08-18T22:59:35Z epony quit (Quit: reconfigure) 2020-08-18T23:01:39Z markasoftware: phoe: maybe make all the metaclass instances inherit from a certain class, in the same way that all standard-class instances inherit from standard-object? 2020-08-18T23:03:21Z epony joined #lisp 2020-08-18T23:04:19Z markasoftware: I wrote this answer on SO a while ago: https://stackoverflow.com/a/63139872/1233320 2020-08-18T23:04:44Z nicktick quit (Ping timeout: 256 seconds) 2020-08-18T23:10:06Z bsd4me joined #lisp 2020-08-18T23:11:45Z grewal joined #lisp 2020-08-18T23:19:05Z dra_ joined #lisp 2020-08-18T23:20:36Z random-nick quit (Ping timeout: 256 seconds) 2020-08-18T23:21:04Z mathrick quit (Remote host closed the connection) 2020-08-18T23:21:35Z mathrick joined #lisp 2020-08-18T23:22:25Z dra quit (Ping timeout: 240 seconds) 2020-08-18T23:47:57Z mangoicedtea joined #lisp 2020-08-18T23:52:55Z galex-713 quit (Ping timeout: 272 seconds) 2020-08-18T23:54:11Z gal joined #lisp 2020-08-18T23:57:05Z rumbler31 quit (Ping timeout: 240 seconds) 2020-08-19T00:00:14Z yitzi quit (Quit: yitzi) 2020-08-19T00:01:59Z nckx is now known as PotentialUser-93 2020-08-19T00:02:03Z PotentialUser-93 is now known as nckx 2020-08-19T00:05:30Z cjb joined #lisp 2020-08-19T00:05:45Z stoneglass quit (Quit: stoneglass) 2020-08-19T00:06:14Z troydm joined #lisp 2020-08-19T00:10:37Z wxie joined #lisp 2020-08-19T00:15:51Z dra_ quit (Quit: Leaving) 2020-08-19T00:18:46Z cjb quit (Ping timeout: 252 seconds) 2020-08-19T00:22:12Z cjb joined #lisp 2020-08-19T00:28:51Z nicktick joined #lisp 2020-08-19T00:30:18Z yitzi joined #lisp 2020-08-19T00:36:03Z johnjay joined #lisp 2020-08-19T00:37:27Z ralt quit (Quit: Connection closed for inactivity) 2020-08-19T00:44:01Z orivej quit (Ping timeout: 264 seconds) 2020-08-19T00:45:13Z wxie quit (Ping timeout: 264 seconds) 2020-08-19T00:51:57Z prite joined #lisp 2020-08-19T00:56:18Z prite quit (Client Quit) 2020-08-19T00:56:41Z prite joined #lisp 2020-08-19T00:57:36Z prite quit (Client Quit) 2020-08-19T01:02:47Z vutral joined #lisp 2020-08-19T01:03:15Z _jrjsmrtn joined #lisp 2020-08-19T01:03:59Z prite joined #lisp 2020-08-19T01:04:20Z prite left #lisp 2020-08-19T01:05:18Z __jrjsmrtn__ quit (Ping timeout: 265 seconds) 2020-08-19T01:17:01Z rumbler31_ joined #lisp 2020-08-19T01:22:42Z Jesin quit (Ping timeout: 260 seconds) 2020-08-19T01:25:44Z wxie joined #lisp 2020-08-19T01:26:10Z bsd4me quit (Remote host closed the connection) 2020-08-19T01:26:31Z space_otter joined #lisp 2020-08-19T01:28:03Z yitzi quit (Quit: yitzi) 2020-08-19T01:29:00Z torbo joined #lisp 2020-08-19T01:32:30Z wxie quit (Ping timeout: 260 seconds) 2020-08-19T01:38:59Z jufearcas quit (Ping timeout: 240 seconds) 2020-08-19T01:43:39Z libertyprime joined #lisp 2020-08-19T01:48:38Z Bike quit (Quit: Lost terminal) 2020-08-19T01:56:37Z libertyprime quit (Ping timeout: 264 seconds) 2020-08-19T01:58:26Z libertyprime joined #lisp 2020-08-19T02:02:36Z specbot quit (Remote host closed the connection) 2020-08-19T02:02:49Z stepnem quit (Ping timeout: 265 seconds) 2020-08-19T02:02:58Z specbot joined #lisp 2020-08-19T02:03:20Z kapilp joined #lisp 2020-08-19T02:03:31Z stepnem joined #lisp 2020-08-19T02:03:42Z minion quit (Disconnected by services) 2020-08-19T02:03:43Z Oladon joined #lisp 2020-08-19T02:03:45Z minion joined #lisp 2020-08-19T02:03:46Z libertyprime quit (Ping timeout: 260 seconds) 2020-08-19T02:03:47Z kapil_ quit (Ping timeout: 265 seconds) 2020-08-19T02:04:16Z vsync quit (Ping timeout: 265 seconds) 2020-08-19T02:04:16Z APic quit (Ping timeout: 265 seconds) 2020-08-19T02:04:18Z alandipert2 joined #lisp 2020-08-19T02:04:39Z libertyprime joined #lisp 2020-08-19T02:05:09Z cjb quit (Ping timeout: 272 seconds) 2020-08-19T02:05:43Z vaporatorius__ quit (Ping timeout: 265 seconds) 2020-08-19T02:05:43Z pfr quit (Ping timeout: 265 seconds) 2020-08-19T02:05:43Z alandipert quit (Ping timeout: 265 seconds) 2020-08-19T02:05:43Z davsebamse quit (Ping timeout: 265 seconds) 2020-08-19T02:05:43Z ult quit (Ping timeout: 265 seconds) 2020-08-19T02:05:44Z cods quit (Ping timeout: 265 seconds) 2020-08-19T02:05:44Z alandipert2 is now known as alandipert 2020-08-19T02:05:49Z mangoicedtea quit (Read error: Connection reset by peer) 2020-08-19T02:06:12Z dddddd_ quit (Ping timeout: 265 seconds) 2020-08-19T02:06:12Z matijja quit (Ping timeout: 265 seconds) 2020-08-19T02:06:12Z Ziemas quit (Ping timeout: 265 seconds) 2020-08-19T02:06:12Z dim quit (Ping timeout: 265 seconds) 2020-08-19T02:06:12Z ferada quit (Ping timeout: 265 seconds) 2020-08-19T02:06:31Z matijja joined #lisp 2020-08-19T02:07:19Z ult joined #lisp 2020-08-19T02:07:49Z pfr joined #lisp 2020-08-19T02:08:21Z vsync joined #lisp 2020-08-19T02:08:48Z noguchitan joined #lisp 2020-08-19T02:11:11Z dim joined #lisp 2020-08-19T02:11:31Z grumble quit (Ping timeout: 619 seconds) 2020-08-19T02:11:43Z cjb joined #lisp 2020-08-19T02:12:17Z cods joined #lisp 2020-08-19T02:12:36Z Ziemas joined #lisp 2020-08-19T02:12:45Z grumble joined #lisp 2020-08-19T02:13:26Z rumbler31_ quit (Ping timeout: 256 seconds) 2020-08-19T02:15:52Z APic joined #lisp 2020-08-19T02:16:15Z rumbler31 joined #lisp 2020-08-19T02:17:53Z ferada joined #lisp 2020-08-19T02:18:03Z vaporatorius__ joined #lisp 2020-08-19T02:19:05Z cjb quit (Ping timeout: 272 seconds) 2020-08-19T02:19:36Z dddddd_ joined #lisp 2020-08-19T02:21:46Z davsebamse joined #lisp 2020-08-19T02:21:57Z cjb joined #lisp 2020-08-19T02:22:08Z arpunk joined #lisp 2020-08-19T02:22:47Z cjb quit (Remote host closed the connection) 2020-08-19T02:25:27Z rumbler31 quit (Remote host closed the connection) 2020-08-19T02:26:25Z jesse1010 quit (Ping timeout: 240 seconds) 2020-08-19T02:31:38Z grobe0ba quit (Ping timeout: 256 seconds) 2020-08-19T02:41:48Z grobe0ba joined #lisp 2020-08-19T02:46:48Z dyelar quit (Quit: Leaving.) 2020-08-19T02:47:33Z bsd4me joined #lisp 2020-08-19T03:02:33Z bsd4me left #lisp 2020-08-19T03:07:05Z jufearcas joined #lisp 2020-08-19T03:10:25Z libertyprime quit (Ping timeout: 264 seconds) 2020-08-19T03:13:58Z mindCrime quit (Ping timeout: 244 seconds) 2020-08-19T03:19:10Z libertyprime joined #lisp 2020-08-19T03:26:00Z rumbler31 joined #lisp 2020-08-19T03:52:49Z panji joined #lisp 2020-08-19T03:56:15Z panji: Is it a bug for ABCL or implementation-dependent for TYPE-ERROR-EXPECTED-TYPE? https://gist.github.com/epanji/48507968d74a3355e59ef9c544fda93e 2020-08-19T04:00:31Z panji will check log when someone answer it later 2020-08-19T04:00:31Z jufearcas quit (Ping timeout: 246 seconds) 2020-08-19T04:05:37Z Necktwi quit (Ping timeout: 264 seconds) 2020-08-19T04:06:17Z libertyprime quit (Ping timeout: 256 seconds) 2020-08-19T04:06:45Z panji left #lisp 2020-08-19T04:08:14Z libertyprime joined #lisp 2020-08-19T04:11:53Z beach: Good morning everyone! 2020-08-19T04:11:58Z Necktwi joined #lisp 2020-08-19T04:13:05Z torbo quit (Remote host closed the connection) 2020-08-19T04:23:18Z _paul0 joined #lisp 2020-08-19T04:23:59Z paul0 quit (Ping timeout: 272 seconds) 2020-08-19T04:26:12Z gravicappa joined #lisp 2020-08-19T04:26:56Z Lord_of_Life_ joined #lisp 2020-08-19T04:27:13Z johnjay quit (Ping timeout: 264 seconds) 2020-08-19T04:27:13Z Lord_of_Life quit (Ping timeout: 264 seconds) 2020-08-19T04:28:20Z Lord_of_Life_ is now known as Lord_of_Life 2020-08-19T04:28:35Z johnjay joined #lisp 2020-08-19T04:41:47Z gravicappa quit (Ping timeout: 240 seconds) 2020-08-19T04:52:43Z shangul joined #lisp 2020-08-19T04:53:01Z shifty quit (Ping timeout: 246 seconds) 2020-08-19T05:02:16Z vutral quit (Quit: Connection closed for inactivity) 2020-08-19T05:03:30Z igemnace joined #lisp 2020-08-19T05:08:47Z karlosz quit (Quit: karlosz) 2020-08-19T05:14:17Z epony quit (Ping timeout: 258 seconds) 2020-08-19T05:14:45Z shka_ joined #lisp 2020-08-19T05:17:06Z johnjay quit (Ping timeout: 256 seconds) 2020-08-19T05:19:25Z hipete quit (Ping timeout: 240 seconds) 2020-08-19T05:20:13Z johnjay joined #lisp 2020-08-19T05:22:40Z epony joined #lisp 2020-08-19T05:26:33Z elflng quit (Read error: Connection reset by peer) 2020-08-19T05:31:36Z elflng joined #lisp 2020-08-19T05:32:06Z libertyprime quit (Ping timeout: 265 seconds) 2020-08-19T05:32:58Z krid` quit (Ping timeout: 256 seconds) 2020-08-19T05:33:52Z libertyprime joined #lisp 2020-08-19T05:37:40Z bocaneri joined #lisp 2020-08-19T05:40:55Z Oladon quit (Quit: Leaving.) 2020-08-19T05:41:47Z libertyprime quit (Ping timeout: 240 seconds) 2020-08-19T05:43:15Z libertyprime joined #lisp 2020-08-19T05:48:14Z jibanes quit (Ping timeout: 260 seconds) 2020-08-19T05:53:50Z nullman quit (Ping timeout: 260 seconds) 2020-08-19T05:56:06Z rippa joined #lisp 2020-08-19T05:56:12Z jibanes joined #lisp 2020-08-19T06:10:36Z nullman joined #lisp 2020-08-19T06:13:55Z panji joined #lisp 2020-08-19T06:14:24Z panji: hello 2020-08-19T06:17:10Z libertyprime quit (Ping timeout: 260 seconds) 2020-08-19T06:18:36Z beach: Hello panji. 2020-08-19T06:19:08Z libertyprime joined #lisp 2020-08-19T06:20:01Z panji: beach: hi, any answer for my question above? 2020-08-19T06:21:30Z libertyprime quit (Client Quit) 2020-08-19T06:22:34Z beach: I can't quite parse your question, but it looks like a bug in ABCL. 2020-08-19T06:22:44Z beach: Oh wait... 2020-08-19T06:23:00Z johnjay quit (Ping timeout: 256 seconds) 2020-08-19T06:23:14Z beach: You are calling expected-type with a symbol. 2020-08-19T06:23:41Z beach: OK, so then you call SYMBOL-FUNCTION with that symbol. 2020-08-19T06:24:01Z panji: i want to know argument type for function created by defstruct. 2020-08-19T06:24:42Z beach: What is the argument type for a function? 2020-08-19T06:25:05Z panji: (foo-a arg) the arg. 2020-08-19T06:25:22Z beach: You can supply any argument to a function. 2020-08-19T06:25:35Z beach: It may result in an error being signaled, of course. 2020-08-19T06:25:45Z panji: i expect too get foo from my example 2020-08-19T06:26:02Z beach: You call the function on NIL. 2020-08-19T06:26:08Z panji: yes 2020-08-19T06:27:07Z beach: So, then what you want is a type-error to be signaled because NIL is not of the right type. Is that a correct interpretation? 2020-08-19T06:28:05Z beach: I am sorry, but I am a very slow thinker, so you need to be very explicit. 2020-08-19T06:30:21Z panji: in my example FOO-A have one argument, and it is STRUCTURE-OBJECT FOO. in ABCL i get STRUCTURE-OBJECT instead of FOO. 2020-08-19T06:31:08Z beach: So, you are expecting ABCL to signal an error because the argument to FOO-A is not of the right type? 2020-08-19T06:32:41Z johnjay joined #lisp 2020-08-19T06:32:44Z panji: No, i want ABCL function TYPE-ERROR-EXPECTED-TYPE return FOO 2020-08-19T06:33:08Z panji: It is like returning NUMBER instead of INTEGER. 2020-08-19T06:33:29Z phoe: O dpm 2020-08-19T06:33:31Z phoe: sorry 2020-08-19T06:33:34Z phoe: I don't understand that code 2020-08-19T06:34:00Z beach: panji: But in order for type-error-expected-type to be called, the call to FUNCALL must signal an error, right? 2020-08-19T06:34:14Z phoe: you're calling FOO-A with NIL as an argument 2020-08-19T06:34:21Z beach: *sigh* 2020-08-19T06:34:43Z beach: panji: It looks like phoe is going to sort this out for you. He is a much quicker thinker than I am. 2020-08-19T06:34:51Z panji: Yes, so i handle that in handler-case. 2020-08-19T06:34:59Z phoe: beach: it is also too early for me, sorry 2020-08-19T06:35:24Z panji: phoe: yes, with nil. 2020-08-19T06:35:26Z beach: panji: So then, you rely on the fact that ABCL will signal an error. 2020-08-19T06:35:40Z panji: beach: yes. 2020-08-19T06:35:49Z phoe: that TYPECASE makes no sense because a) symbols are funcallable, b) the T case is erroneous because NIL is not fbound 2020-08-19T06:36:18Z beach: panji: But where does it say that calling a slot accessor with the wrong type must signal an error? 2020-08-19T06:36:45Z panji: beach: i don't know. 2020-08-19T06:37:00Z phoe: much simpler testcase: (defstruct foo a) (handler-case (foo-a nil) (type-error (e) (type-error-expected-type e))) 2020-08-19T06:37:08Z beach: panji: Well, you need to check that first before relying on that behavior. 2020-08-19T06:37:11Z phoe: and you'd like that to return FOO instead of STRUCTURE-OBJECT 2020-08-19T06:37:13Z shifty joined #lisp 2020-08-19T06:37:17Z phoe: if I understand that correctly 2020-08-19T06:37:27Z panji: phoe: correct 2020-08-19T06:37:49Z beach: phoe: The assumption is that an error must be signaled when a slot accessor is called with the wrong type. 2020-08-19T06:38:02Z beach: But I'll shut up now. Too much noise. 2020-08-19T06:39:12Z phoe: panji: basically, what beach said - the standard does *not* guarantee that a TYPE-ERROR will always be signaled 2020-08-19T06:40:17Z phoe: it seems like ACL signals a SIMPLE-ERROR where as SBCL/CCL/ECL/CLISP/LW/ABCL signal a TYPE-ERROR 2020-08-19T06:41:09Z panji: phoe: So, it is mean implementation-dependent? 2020-08-19T06:41:15Z phoe: yes, it seems so 2020-08-19T06:41:23Z phoe: but of all the implementations that signal TYPE-ERRORs, only ABCL does not return FOO as the TYPE-ERROR-EXPECTED-TYPE 2020-08-19T06:41:40Z phoe: which also seems invalid for me because FOO-A is *not* going to work on all structure objects, only on FOOs 2020-08-19T06:41:55Z phoe: so if ABCL decides to go this way, then it should go this way all the way\ 2020-08-19T06:42:15Z phoe: like, if it signals a TYPE-ERROR, it might as well signal a correct one 2020-08-19T06:42:22Z phoe: that is one thing 2020-08-19T06:42:34Z beach: panji: Either way, I highly recommend you not use structs. It is a much better idea to use standard classes. 2020-08-19T06:43:50Z jeosol quit (Ping timeout: 245 seconds) 2020-08-19T06:44:21Z phoe: the other thing is how the consequences of calling (FOO-A NIL) are defined in the specification 2020-08-19T06:45:02Z panji: beach: Yes, i prefer use standard class too. But i am experimenting this https://github.com/epanji/generic-structure-reader/ 2020-08-19T06:45:31Z beach: phoe: It looks to me like undefined behavior. There is nothing in the "Exceptional situations" section about it. 2020-08-19T06:46:19Z panji: and i have told by _death not too use it long time ago. :) 2020-08-19T06:46:39Z beach: phoe: So it looks to me like it is one of those cases of default undefined behavior that the standard invokes. 2020-08-19T06:46:46Z phoe: beach: seems the same to me 2020-08-19T06:47:05Z phoe: if you call FOO-A with anything that is not FOO then the implementation is allowed to get creative with what it does 2020-08-19T06:47:21Z phoe: so you cannot count on a TYPE-ERROR 2020-08-19T06:47:23Z beach: Note to self: In WSCL, specify the consequences of calling a struct slot accessor with the wrong type. 2020-08-19T06:49:00Z panji: Thanks phoe, beach. It's clear out some problem in my head. 2020-08-19T06:49:38Z beach: Sure. Sorry for being so dense. 2020-08-19T06:49:58Z phoe: oh, right 2020-08-19T06:50:06Z phoe: (defstruct bar b) (foo-a (make-bar :b 42)) 2020-08-19T06:50:09Z phoe: ;=> 42 2020-08-19T06:50:16Z phoe: that is on ABCL, and that is allowed 2020-08-19T06:50:36Z phoe: and that is because signaling errors may *NOT* happen at all in case of structure accessors 2020-08-19T06:50:47Z phoe: so, basically 2020-08-19T06:51:09Z phoe: if you depend on errors, you don't want to use Lisp structs - go for classes instead 2020-08-19T06:51:22Z phoe: and for classes, generic-structure-reader is unnecessary 2020-08-19T06:51:28Z phoe: so I'll join _death and tell you not to use that :D 2020-08-19T06:51:38Z panji: :) 2020-08-19T06:55:09Z phoe: also, I see why ABCL returns STRUCTURE-OBJECT as a type in there now 2020-08-19T06:56:01Z phoe: it seems that structs are implemented as Java arrays of LispObjects under the hood, and each struct accessor calls a simple array access. 2020-08-19T06:56:25Z phoe: which means that structure accessors are interchangeable, which is why every other structure will do, too. 2020-08-19T06:56:50Z phoe: .....as long as there is no ArrayIndexOutOfBounds along the way, which seems to cause an internal error in ABCL... 2020-08-19T07:00:24Z gravicappa joined #lisp 2020-08-19T07:02:31Z shifty quit (Ping timeout: 246 seconds) 2020-08-19T07:02:54Z panji quit (Ping timeout: 260 seconds) 2020-08-19T07:03:52Z space_otter quit (Remote host closed the connection) 2020-08-19T07:03:58Z shifty joined #lisp 2020-08-19T07:06:04Z beach: And maybe NIL is a struct? 2020-08-19T07:06:56Z beach: Or, rather, just a Java array. 2020-08-19T07:12:09Z jgodbout quit (Ping timeout: 265 seconds) 2020-08-19T07:14:14Z phoe: nope, it's a bit more complex than that 2020-08-19T07:14:20Z shifty quit (Ping timeout: 256 seconds) 2020-08-19T07:14:24Z phoe: ABCL explicitly expects a STRUCTURE-OBJECT, which NIL is not 2020-08-19T07:14:33Z beach: OK. 2020-08-19T07:14:34Z phoe: but once it gets a STRUCTURE-OBJECT, anything seems to go 2020-08-19T07:16:06Z Aurora_v_kosmose quit (Quit: brb) 2020-08-19T07:18:26Z nullman quit (Ping timeout: 265 seconds) 2020-08-19T07:19:04Z Aurora_v_kosmose joined #lisp 2020-08-19T07:20:47Z jonatack quit (Ping timeout: 260 seconds) 2020-08-19T07:20:53Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-08-19T07:20:59Z scymtym quit (Ping timeout: 240 seconds) 2020-08-19T07:22:48Z Aurora_v_kosmose joined #lisp 2020-08-19T07:37:44Z okflo quit (Remote host closed the connection) 2020-08-19T07:39:16Z hipete joined #lisp 2020-08-19T07:42:12Z scymtym joined #lisp 2020-08-19T07:45:18Z whiteline joined #lisp 2020-08-19T07:47:27Z arduo joined #lisp 2020-08-19T07:47:34Z gaqwas joined #lisp 2020-08-19T07:50:01Z nullman joined #lisp 2020-08-19T07:53:23Z pve joined #lisp 2020-08-19T08:00:45Z scymtym quit (Remote host closed the connection) 2020-08-19T08:06:59Z heisig joined #lisp 2020-08-19T08:09:27Z gal quit (Ping timeout: 272 seconds) 2020-08-19T08:10:41Z hendursa1 joined #lisp 2020-08-19T08:13:03Z hendursaga quit (Ping timeout: 240 seconds) 2020-08-19T08:13:18Z VincentVega joined #lisp 2020-08-19T08:15:27Z VincentVega: Guys, how do I morph a symbol into a property aka sym -> :sym? Also, is there a utility for prefixing/postfixing symbols? 2020-08-19T08:16:14Z beach: VincentVega: There is no such thing as a "property" in Common Lisp. 2020-08-19T08:16:44Z beach: So do you want to create a keyword symbol that has the same name as a non-keyword symbol? 2020-08-19T08:17:03Z VincentVega: beach: yes 2020-08-19T08:17:12Z phoe: VincentVega: Alexandria has got you covered 2020-08-19T08:17:34Z phoe: (alexandria:make-keyword 'foo) ;=> :FOO 2020-08-19T08:17:35Z beach: VincentVega: And what do you mean by prefixing/postfixing symbols? 2020-08-19T08:17:46Z VincentVega: phoe: oh, awesome 2020-08-19T08:18:03Z phoe: (let ((*package* (find-package :keyword))) (alexandria:symbolicate 'foo 'bar)) ;=> :FOOBAR 2020-08-19T08:18:19Z phoe: also, s/property/keyword/ 2020-08-19T08:18:20Z VincentVega: beach: like (prefix sym 'pre) -> 'pre-sym 2020-08-19T08:18:35Z phoe: keywords have much more use in CL than just "properties", whatever that means 2020-08-19T08:18:48Z VincentVega: phoe: sorry, I meant keywords 2020-08-19T08:18:51Z beach: VincentVega: First of all, that would not return something that is quoted. 2020-08-19T08:18:52Z phoe: <3 2020-08-19T08:18:53Z VincentVega: phoe: thanks for the links 2020-08-19T08:19:04Z beach: VincentVega: Second, why would you want to prefix/suffix symbols? 2020-08-19T08:19:11Z beach: There is not much use for that. 2020-08-19T08:19:14Z phoe: in particular, (let ((*package* (find-package :keyword))) (alexandria:symbolicate "PRE-" 'bar)) 2020-08-19T08:19:19Z phoe: ;=> :PRE-BAR 2020-08-19T08:19:27Z phoe: that's useful for macro writing, I guess. 2020-08-19T08:19:37Z VincentVega: phoe: nice, thanks man 2020-08-19T08:19:39Z phoe: which is a niche, but still 2020-08-19T08:19:50Z VincentVega: beach: I needed it for some macros 2020-08-19T08:19:59Z beach: VincentVega: Can you be more specific? 2020-08-19T08:20:35Z beach: VincentVega: It is usually a bad idea for macros to create symbols other than symbols created by GENSYM. 2020-08-19T08:20:45Z VincentVega: beach: My macro generates a class and a structure. The structure has the same name as the class, but postfixed -data. 2020-08-19T08:21:30Z beach: Sounds fishy to me, but yes, I see. 2020-08-19T08:23:20Z phoe: why though 2020-08-19T08:23:27Z phoe: you have slots for that 2020-08-19T08:23:41Z phoe: why do you need another layer of indirection? 2020-08-19T08:26:46Z VincentVega: phoe: beach: So, what I do is my class contains a description of values to be checked (such as ranges of values, various properties) from which description I later initialize multiple instances of the structure. 2020-08-19T08:28:07Z beach: Sounds like a use case for a metaclass. 2020-08-19T08:28:43Z VincentVega: beach: It is? I should read up on those then. 2020-08-19T08:30:05Z VincentVega: thanks for the pointer 2020-08-19T08:30:26Z beach: Well, it looks like your structures are sort of like instances of an instance of your class. 2020-08-19T08:30:54Z beach: I am assuming you didn't mean that the class itself contains the description of values, but that an instance of that class does. 2020-08-19T08:31:58Z beach: So if you turn your class into a metaclass, your class instance into a class, and your structures into instances of that class, it should do the same trick. 2020-08-19T08:32:41Z VincentVega: Sounds like good deal to me. 2020-08-19T08:34:35Z VincentVega: Yeah, definitely sounds neat, will try to figure this out, thanks again. 2020-08-19T08:34:47Z beach: Sure. Good luck. 2020-08-19T08:36:52Z ralt joined #lisp 2020-08-19T08:37:26Z camlriot42 quit (Quit: Idle for 30+ days) 2020-08-19T08:44:17Z orivej joined #lisp 2020-08-19T09:10:34Z ukari joined #lisp 2020-08-19T09:11:11Z ukari quit (Remote host closed the connection) 2020-08-19T09:15:39Z shifty joined #lisp 2020-08-19T09:17:02Z EvW joined #lisp 2020-08-19T09:18:35Z nullman quit (Ping timeout: 240 seconds) 2020-08-19T09:19:56Z ljavorsk joined #lisp 2020-08-19T09:28:18Z hipete quit (Ping timeout: 256 seconds) 2020-08-19T09:36:02Z _whitelogger quit (Remote host closed the connection) 2020-08-19T09:36:17Z yitzi joined #lisp 2020-08-19T09:36:48Z Posterdati quit (Ping timeout: 256 seconds) 2020-08-19T09:38:12Z _whitelogger joined #lisp 2020-08-19T09:39:42Z jesse1010 joined #lisp 2020-08-19T09:40:52Z nullman joined #lisp 2020-08-19T09:47:31Z scymtym joined #lisp 2020-08-19T09:49:36Z jonatack joined #lisp 2020-08-19T09:49:55Z Posterdati joined #lisp 2020-08-19T09:50:25Z nicktick quit (Ping timeout: 240 seconds) 2020-08-19T09:52:03Z Necktwi quit (Ping timeout: 272 seconds) 2020-08-19T09:52:58Z VincentVega quit (Remote host closed the connection) 2020-08-19T10:03:04Z dra_ joined #lisp 2020-08-19T10:03:28Z dra_ is now known as dra 2020-08-19T10:03:42Z dra: Hello! 2020-08-19T10:03:47Z phoe: heyyy 2020-08-19T10:04:27Z dra: I recently came across a Lisp dialect that doesn't use S-expr notation for its code. Any idea what the dialect is called? 2020-08-19T10:05:29Z phoe: you mean Dylan? 2020-08-19T10:05:32Z beach: dra: There is no consensus as to what constitutes a "Lisp dialect". 2020-08-19T10:06:07Z phoe: that's the closest match my memory has to "Lisp without sexprs" 2020-08-19T10:06:08Z beach: dra: However, initially, Lisp was supposed to use M-notation. 2020-08-19T10:06:35Z v3ga quit (Read error: Connection reset by peer) 2020-08-19T10:06:42Z jdz: The programmatically-generated monospace font I use (Iosevka) is written one such dialect, but I don't remember what it's called. 2020-08-19T10:07:05Z v3ga joined #lisp 2020-08-19T10:07:38Z dra: beach: Yes, sure. It looked rather like M-exprs. 2020-08-19T10:09:14Z beach: dra: It could be many things. We have regular visitors here who, for some reason, would like for their recently created language to be a "Lisp dialect". I don't know why, since Lisp is not particularly popular. 2020-08-19T10:12:23Z beach: dra: But phoe is right. Dylan was meant to be a version of Scheme, and it was initially written with S-expressions. But then they changed it, presumably in the hopes of improving its acceptance. 2020-08-19T10:13:05Z dra: beach: I can imagine. The reason I ask: The syntax reminded me of Anatomy of Lisp, which is similar to M-exprs. So I'd like to take a closer look but I forgot what language that was... 2020-08-19T10:13:05Z beach: In fact, RScheme (by Paul Wilson and his group) is essentially Dylan using S-expressions. 2020-08-19T10:13:21Z beach: dra: I see. 2020-08-19T10:15:49Z VincentVega joined #lisp 2020-08-19T10:18:36Z Necktwi joined #lisp 2020-08-19T10:19:09Z dra: Found it: https://www2.cs.sfu.ca/~cameron/Teaching/384/99-3/deriv.html 2020-08-19T10:23:10Z v3ga_ joined #lisp 2020-08-19T10:23:22Z v3ga quit (Ping timeout: 260 seconds) 2020-08-19T10:24:51Z beach: Looks like something created for teaching purposes. 2020-08-19T10:25:34Z dra: Yes. Complexity-wise it seems to be about the same as sl3.c. 2020-08-19T10:29:05Z wxie joined #lisp 2020-08-19T10:35:31Z dddddd_ is now known as dddddd 2020-08-19T10:36:11Z shifty quit (Ping timeout: 240 seconds) 2020-08-19T10:37:07Z Cymew joined #lisp 2020-08-19T10:40:35Z Bourne joined #lisp 2020-08-19T10:46:59Z Bourne quit (Ping timeout: 240 seconds) 2020-08-19T10:48:19Z yitzi quit (Quit: yitzi) 2020-08-19T10:52:07Z random-nick joined #lisp 2020-08-19T10:54:13Z wxie quit (Ping timeout: 264 seconds) 2020-08-19T10:55:02Z wxie joined #lisp 2020-08-19T10:57:47Z EvW quit (Ping timeout: 240 seconds) 2020-08-19T10:58:23Z simplegauss quit (Ping timeout: 260 seconds) 2020-08-19T10:58:28Z gargaml joined #lisp 2020-08-19T10:58:34Z sveit quit (Ping timeout: 260 seconds) 2020-08-19T10:58:59Z bitmapper quit (Ping timeout: 240 seconds) 2020-08-19T11:05:12Z sveit joined #lisp 2020-08-19T11:05:13Z simplegauss joined #lisp 2020-08-19T11:19:23Z wxie quit (Ping timeout: 240 seconds) 2020-08-19T11:27:04Z gal joined #lisp 2020-08-19T11:31:49Z EvW joined #lisp 2020-08-19T11:38:25Z ggole joined #lisp 2020-08-19T11:43:34Z rumbler31 quit (Ping timeout: 256 seconds) 2020-08-19T11:44:24Z rumbler31 joined #lisp 2020-08-19T11:48:58Z rumbler31 quit (Ping timeout: 260 seconds) 2020-08-19T11:51:16Z yitzi joined #lisp 2020-08-19T11:52:00Z shangul quit (Ping timeout: 256 seconds) 2020-08-19T11:54:41Z nicktick joined #lisp 2020-08-19T12:09:23Z Necktwi quit (Ping timeout: 240 seconds) 2020-08-19T12:14:11Z Bike joined #lisp 2020-08-19T12:15:34Z Z10N joined #lisp 2020-08-19T12:20:32Z igemnace quit (Remote host closed the connection) 2020-08-19T12:21:00Z ljavorsk quit (Ping timeout: 265 seconds) 2020-08-19T12:21:59Z Z10N is now known as ZION 2020-08-19T12:23:37Z ZION is now known as Z10N 2020-08-19T12:29:06Z Z10N quit (Ping timeout: 260 seconds) 2020-08-19T12:30:40Z whiteline quit (Remote host closed the connection) 2020-08-19T12:31:27Z whiteline joined #lisp 2020-08-19T12:31:29Z Necktwi joined #lisp 2020-08-19T12:33:01Z krid` joined #lisp 2020-08-19T12:37:51Z dra quit (Quit: Leaving) 2020-08-19T12:38:51Z wsinatra joined #lisp 2020-08-19T12:39:07Z hendursa1 quit (Quit: hendursa1) 2020-08-19T12:39:25Z hendursaga joined #lisp 2020-08-19T12:39:34Z phoe: Online Lisp Meeting #7 announced 2020-08-19T12:39:40Z phoe: https://mailman.common-lisp.net/pipermail/online-lisp-meets/2020-August/000027.html 2020-08-19T12:39:52Z shangul joined #lisp 2020-08-19T12:42:35Z arpunk quit (Read error: Connection reset by peer) 2020-08-19T12:43:22Z wsinatra quit (Client Quit) 2020-08-19T12:44:41Z random-nick quit (Ping timeout: 265 seconds) 2020-08-19T12:45:49Z EvW quit (Ping timeout: 264 seconds) 2020-08-19T12:46:02Z wsinatra joined #lisp 2020-08-19T12:48:49Z random-nick joined #lisp 2020-08-19T12:52:21Z VincentVega quit (Remote host closed the connection) 2020-08-19T12:58:47Z wxie joined #lisp 2020-08-19T12:59:09Z Bourne joined #lisp 2020-08-19T13:10:22Z gaqwas quit (Remote host closed the connection) 2020-08-19T13:29:37Z gko_ joined #lisp 2020-08-19T13:34:54Z lucasb joined #lisp 2020-08-19T13:37:20Z gaqwas joined #lisp 2020-08-19T13:37:20Z gaqwas quit (Changing host) 2020-08-19T13:37:20Z gaqwas joined #lisp 2020-08-19T13:38:02Z wxie quit (Ping timeout: 256 seconds) 2020-08-19T13:47:31Z orivej quit (Ping timeout: 265 seconds) 2020-08-19T13:54:58Z pve quit (Ping timeout: 256 seconds) 2020-08-19T13:56:44Z pve joined #lisp 2020-08-19T13:59:00Z cosimone joined #lisp 2020-08-19T14:09:42Z pve quit (Ping timeout: 256 seconds) 2020-08-19T14:10:21Z gaqwas quit (Remote host closed the connection) 2020-08-19T14:11:22Z pve joined #lisp 2020-08-19T14:14:54Z mangul joined #lisp 2020-08-19T14:17:05Z shangul quit (Ping timeout: 240 seconds) 2020-08-19T14:19:19Z gaqwas joined #lisp 2020-08-19T14:19:19Z gaqwas quit (Changing host) 2020-08-19T14:19:19Z gaqwas joined #lisp 2020-08-19T14:21:21Z pve quit (Ping timeout: 265 seconds) 2020-08-19T14:23:04Z pve joined #lisp 2020-08-19T14:27:40Z vgmind joined #lisp 2020-08-19T14:32:58Z vgmind quit (Quit: Leaving) 2020-08-19T14:33:20Z vgmind joined #lisp 2020-08-19T14:34:34Z zooey_ quit (Remote host closed the connection) 2020-08-19T14:34:52Z zooey joined #lisp 2020-08-19T14:47:52Z jw4 quit (Read error: Connection reset by peer) 2020-08-19T14:48:32Z tutti joined #lisp 2020-08-19T14:49:17Z EvW1 joined #lisp 2020-08-19T14:50:10Z jw4 joined #lisp 2020-08-19T14:57:31Z orivej joined #lisp 2020-08-19T15:01:50Z radikal quit (Quit: leaving) 2020-08-19T15:08:37Z EvW1 quit (Ping timeout: 260 seconds) 2020-08-19T15:08:45Z krid` quit (Ping timeout: 240 seconds) 2020-08-19T15:12:26Z gaqwas quit (Remote host closed the connection) 2020-08-19T15:17:26Z gaqwas joined #lisp 2020-08-19T15:17:27Z gaqwas quit (Changing host) 2020-08-19T15:17:27Z gaqwas joined #lisp 2020-08-19T15:18:55Z heisig quit (Quit: Leaving) 2020-08-19T15:22:49Z EvW joined #lisp 2020-08-19T15:24:11Z bsd4me joined #lisp 2020-08-19T15:27:31Z bitmapper joined #lisp 2020-08-19T15:27:51Z krid` joined #lisp 2020-08-19T15:29:46Z dyelar joined #lisp 2020-08-19T15:34:51Z karlosz joined #lisp 2020-08-19T15:35:11Z smazga joined #lisp 2020-08-19T15:40:59Z gko_ quit (Ping timeout: 240 seconds) 2020-08-19T15:48:50Z dra joined #lisp 2020-08-19T15:50:21Z jmercouris: anyone have experience putting license headers at the top of lisp files? 2020-08-19T15:50:39Z jmercouris: double semicolon? triple? quadruple? 2020-08-19T15:51:07Z Bike: clhs 2.4.4.2 2020-08-19T15:51:08Z specbot: Notes about Style for Semicolon: http://www.lispworks.com/reference/HyperSpec/Body/02_ddb.htm 2020-08-19T15:51:09Z phoe: clhs 2.4.4.2 2020-08-19T15:51:09Z specbot: Notes about Style for Semicolon: http://www.lispworks.com/reference/HyperSpec/Body/02_ddb.htm 2020-08-19T15:51:14Z Bike: i don't know why this is in the standard, but it is 2020-08-19T15:51:15Z phoe: aaaaaa Bike was faster 2020-08-19T15:51:24Z phoe: tl;dr four semicolons for headers 2020-08-19T15:52:18Z mindCrime joined #lisp 2020-08-19T15:52:20Z jmercouris: OK, so four 2020-08-19T15:52:33Z jmercouris: and how shall I include the BSD license at the top? the whole body of the license? 2020-08-19T15:53:49Z Bike: i'm used to seeing a quick summary, "look at license.txt", and the no-warranty 2020-08-19T15:54:03Z phoe: do you have a requirement to add license information in every file? 2020-08-19T15:54:08Z jmercouris: I do have such a requirement yes 2020-08-19T15:54:10Z jmercouris: otherwise I would not do it 2020-08-19T15:54:20Z noguchitan quit (Quit: WeeChat 2.3) 2020-08-19T15:54:25Z jmercouris: I would think it would be sufficient to have a license file myself 2020-08-19T15:54:35Z phoe: then what Bike said - licensed under MIT, comes with no warranty, see toplevel LICENSE.md for details 2020-08-19T15:54:51Z jmercouris: great, thank you 2020-08-19T15:59:08Z gaqwas quit (Remote host closed the connection) 2020-08-19T16:02:46Z EvW quit (Ping timeout: 244 seconds) 2020-08-19T16:05:16Z pve quit (Ping timeout: 265 seconds) 2020-08-19T16:05:16Z nicktick quit (Ping timeout: 265 seconds) 2020-08-19T16:13:30Z vutral joined #lisp 2020-08-19T16:20:02Z orivej quit (Ping timeout: 256 seconds) 2020-08-19T16:22:03Z luckless_ quit (Ping timeout: 240 seconds) 2020-08-19T16:23:48Z orivej joined #lisp 2020-08-19T16:25:01Z luckless_ joined #lisp 2020-08-19T16:26:20Z Lord_of_Life quit (Ping timeout: 256 seconds) 2020-08-19T16:26:38Z Lord_of_Life joined #lisp 2020-08-19T16:29:01Z orivej quit (Ping timeout: 264 seconds) 2020-08-19T16:30:08Z gabiruh quit (Quit: ZNC 1.7.5 - https://znc.in) 2020-08-19T16:33:42Z mangul quit (Ping timeout: 256 seconds) 2020-08-19T16:40:59Z vgmind quit (Remote host closed the connection) 2020-08-19T16:44:12Z gabiruh joined #lisp 2020-08-19T16:44:28Z gal is now known as galex-713 2020-08-19T16:44:29Z rogersm joined #lisp 2020-08-19T16:44:43Z hipete joined #lisp 2020-08-19T16:51:23Z stepnem quit (Ping timeout: 240 seconds) 2020-08-19T16:53:28Z Bourne quit (Ping timeout: 256 seconds) 2020-08-19T16:53:38Z stepnem joined #lisp 2020-08-19T16:57:20Z dra quit (Quit: Leaving) 2020-08-19T16:58:38Z jasom: historic question: any reason that LOOP doesn't treat any compound form as implicitly having a "DO" before it? 2020-08-19T17:00:01Z Bourne joined #lisp 2020-08-19T17:01:37Z jmercouris: can you give an example ? 2020-08-19T17:02:02Z jmercouris: also what is a “compound form”? 2020-08-19T17:02:22Z Bike: a form that's a cons 2020-08-19T17:02:32Z jmercouris: I see 2020-08-19T17:02:41Z Bike: forms that are symbols would be hard to distinguish from loop syntax 2020-08-19T17:03:00Z jmercouris: yes, that makes sense 2020-08-19T17:03:12Z jmercouris: why would they want an implicit DO before them though? 2020-08-19T17:03:45Z jmercouris: for example when you write UNTIL (xyz x) 2020-08-19T17:03:59Z jmercouris: why would you want a DO before (xyz x)? 2020-08-19T17:04:19Z Bike: i assume jasom meant compound forms that aren't part of some other loop syntax. 2020-08-19T17:04:40Z Bike: so you could write (loop for i below 5 do (print i)) as (loop for i below 5 (print i)) 2020-08-19T17:04:57Z jmercouris: I see 2020-08-19T17:05:11Z jmercouris: hm, probably for ease of parsing I would guess 2020-08-19T17:05:34Z jmercouris: that can’t be it though 2020-08-19T17:05:44Z jmercouris: are there any cases where it would be ambiguous? 2020-08-19T17:05:53Z Bike: i don't think it would really complicate the parsing. if you enter this form now your implementation will probably say something like "compound form found where a loop keywords was expected" 2020-08-19T17:06:05Z Bike: i think it would be confusing to me, though 2020-08-19T17:06:24Z jmercouris: maybe the authors of loop had a preference for being explicit 2020-08-19T17:06:52Z ggole quit (Quit: Leaving) 2020-08-19T17:15:23Z tutti quit (Ping timeout: 272 seconds) 2020-08-19T17:18:45Z yitzi quit (Quit: yitzi) 2020-08-19T17:28:49Z _death: it has something close where you can add more than one compound form after DO... 2020-08-19T17:33:00Z shangul joined #lisp 2020-08-19T17:39:21Z Th3D00D joined #lisp 2020-08-19T17:42:13Z hipete quit (Ping timeout: 264 seconds) 2020-08-19T17:44:50Z Cymew quit (Ping timeout: 265 seconds) 2020-08-19T18:13:34Z ggoes joined #lisp 2020-08-19T18:13:45Z rumbler31 joined #lisp 2020-08-19T18:17:02Z nckx is now known as facebook 2020-08-19T18:17:27Z facebook is now known as nckx 2020-08-19T18:18:01Z rumbler31 quit (Ping timeout: 246 seconds) 2020-08-19T18:22:36Z orivej joined #lisp 2020-08-19T18:23:15Z bocaneri quit (Remote host closed the connection) 2020-08-19T18:25:54Z gravicappa quit (Ping timeout: 256 seconds) 2020-08-19T18:26:12Z cosimone quit (Remote host closed the connection) 2020-08-19T18:28:51Z galex-713 quit (Ping timeout: 272 seconds) 2020-08-19T18:29:45Z gal joined #lisp 2020-08-19T18:37:05Z shangul quit (Ping timeout: 240 seconds) 2020-08-19T18:37:58Z pfr quit (Ping timeout: 256 seconds) 2020-08-19T18:40:05Z jgodbout joined #lisp 2020-08-19T18:40:19Z mseddon joined #lisp 2020-08-19T18:47:55Z mseddon quit (Read error: Connection reset by peer) 2020-08-19T18:55:07Z rumbler31 joined #lisp 2020-08-19T18:56:39Z EvW1 joined #lisp 2020-08-19T19:00:03Z rogersm quit (Quit: Leaving...) 2020-08-19T19:03:48Z hipete joined #lisp 2020-08-19T19:05:13Z yitzi joined #lisp 2020-08-19T19:18:26Z gaqwas joined #lisp 2020-08-19T19:18:27Z gaqwas quit (Changing host) 2020-08-19T19:18:27Z gaqwas joined #lisp 2020-08-19T19:26:56Z scymtym quit (Ping timeout: 244 seconds) 2020-08-19T19:28:11Z ralt quit (Quit: Connection closed for inactivity) 2020-08-19T19:35:10Z shka_ quit (Ping timeout: 260 seconds) 2020-08-19T19:35:36Z ralt joined #lisp 2020-08-19T19:35:46Z wsinatra quit (Quit: WeeChat 2.9) 2020-08-19T19:37:15Z vutral quit (Quit: Connection closed for inactivity) 2020-08-19T19:37:25Z theBlackDragon quit (Ping timeout: 264 seconds) 2020-08-19T19:39:56Z rumbler31 quit (Remote host closed the connection) 2020-08-19T19:41:02Z EvW1 quit (Ping timeout: 260 seconds) 2020-08-19T19:43:14Z theBlackDragon joined #lisp 2020-08-19T19:47:26Z arduo quit (Remote host closed the connection) 2020-08-19T19:50:24Z pfr joined #lisp 2020-08-19T19:55:22Z rumbler31 joined #lisp 2020-08-19T20:06:21Z Lycurgus joined #lisp 2020-08-19T20:13:22Z Th3D00D quit (Remote host closed the connection) 2020-08-19T20:21:50Z kaftejiman joined #lisp 2020-08-19T20:23:32Z housel joined #lisp 2020-08-19T20:26:44Z rogersm joined #lisp 2020-08-19T20:28:08Z Lycurgus quit (Remote host closed the connection) 2020-08-19T20:37:09Z shifty joined #lisp 2020-08-19T20:40:40Z igemnace joined #lisp 2020-08-19T20:40:50Z yonkunas quit (Quit: Connection closed for inactivity) 2020-08-19T20:44:03Z terpri quit (Ping timeout: 260 seconds) 2020-08-19T20:44:38Z Bourne quit (Ping timeout: 265 seconds) 2020-08-19T20:47:51Z rogersm quit (Quit: Leaving...) 2020-08-19T20:53:53Z gal quit (Ping timeout: 272 seconds) 2020-08-19T20:58:52Z EvW joined #lisp 2020-08-19T21:03:27Z gal joined #lisp 2020-08-19T21:05:29Z ralt: apparently I can't use (THE class ...)? 2020-08-19T21:12:32Z _death: why not? 2020-08-19T21:16:51Z ralt: I get a warning saying it's not valid 2020-08-19T21:17:51Z _death: well, classes are types.. can you show the code/warning? 2020-08-19T21:21:48Z gal_ joined #lisp 2020-08-19T21:22:04Z aeth: I think it's because the class doesn't exist yet because it's defined in the same file 2020-08-19T21:22:11Z aeth: Try moving it into another file or wrapping it in EVAL-WHEN 2020-08-19T21:22:23Z gal quit (Ping timeout: 272 seconds) 2020-08-19T21:22:47Z aeth: Alternatively, use CHECK-TYPE and move the check to strictly exist at runtime. 2020-08-19T21:23:25Z aeth: THE/DECLARE might attempt some static checking even though there's no standardized behavior for what they do 2020-08-19T21:23:40Z aeth: (Worst case scenario is that they *assume* the type!) 2020-08-19T21:24:22Z kaftejiman quit (Remote host closed the connection) 2020-08-19T21:34:41Z gargaml quit (Quit: WeeChat 2.9) 2020-08-19T21:40:14Z FennecCode quit (Ping timeout: 244 seconds) 2020-08-19T21:52:27Z adam4567 joined #lisp 2020-08-19T22:02:54Z jw4 quit (Quit: tot siens) 2020-08-19T22:04:55Z jw4 joined #lisp 2020-08-19T22:06:59Z cosimone joined #lisp 2020-08-19T22:07:05Z morisama joined #lisp 2020-08-19T22:11:41Z FennecCode joined #lisp 2020-08-19T22:12:07Z rixard quit (Read error: Connection reset by peer) 2020-08-19T22:14:03Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2020-08-19T22:17:07Z rixard joined #lisp 2020-08-19T22:25:37Z dyelar quit (Ping timeout: 244 seconds) 2020-08-19T22:31:08Z adam4567 quit (Remote host closed the connection) 2020-08-19T22:31:12Z rumbler31 quit (Ping timeout: 256 seconds) 2020-08-19T22:32:27Z torbo joined #lisp 2020-08-19T22:34:16Z rumbler31 joined #lisp 2020-08-19T22:38:13Z gaqwas quit (Ping timeout: 265 seconds) 2020-08-19T22:38:25Z rumbler31 quit (Ping timeout: 246 seconds) 2020-08-19T22:38:58Z dyelar joined #lisp 2020-08-19T22:40:53Z rumbler31 joined #lisp 2020-08-19T22:47:52Z sveit: is it considered an SBCL bug (or is there a workaround?) that if i have a function F taking two arguments that may have unknown types, declaring it (ftype (function (t t)) F) compiles to (significantly) slower code with (using (optimize (speed 3) (safety 0))) than (ftype function F)? 2020-08-19T22:48:30Z sveit: it seems that SBCL "stops" type inference if i put the "t"'s in place of arguments 2020-08-19T22:49:44Z sveit: the reason this is frustrating is that my actual usecase is that sometimes i know the type of the first argument but not the second, so i would like to say (ftype (function (double-float t)) F), but this compiles to slower code than (ftype function F) (sorry for the long-winded examples) 2020-08-19T22:51:17Z terpri joined #lisp 2020-08-19T22:55:23Z aeth: sveit: I wonder if it permits * instead of t in the ftype, just like * in multi-dimensional arrays when you know some of the dimensions but not all, e.g. (2 *) 2020-08-19T22:56:49Z Bike: f is like, an argument or a local variable or something, rather than a toplevel function? 2020-08-19T22:57:36Z cosimone quit (Quit: Quit.) 2020-08-19T23:01:27Z sveit: Bike: often f is an argument, yes 2020-08-19T23:01:31Z Bike: hm... i'm not seeing any consistent slowdown... might be something there though 2020-08-19T23:01:34Z sveit: aeth: i tried * instead of t, same problem 2020-08-19T23:02:07Z Bike: in (defun foo (f x y) (declare (type (function (t t)) f) (optimize ...)) (funcall f x y)) 2020-08-19T23:02:58Z sveit: Bike: unfortunately i don't have a simple example, as far as I can tell it happens when functions (and definitions of the lambdas returned by them) are being inlined 2020-08-19T23:04:21Z igemnace quit (Ping timeout: 272 seconds) 2020-08-19T23:06:04Z rumbler31 quit (Remote host closed the connection) 2020-08-19T23:06:35Z Bike: if it's a complex optimization issue, which is what it sounds like, maybe you should talk to #sbcl 2020-08-19T23:06:40Z Bike: with some hopefully smallish example 2020-08-19T23:16:46Z Oladon joined #lisp 2020-08-19T23:18:17Z mindCrime quit (Excess Flood) 2020-08-19T23:18:46Z mindCrime joined #lisp 2020-08-19T23:21:18Z adam4567 joined #lisp 2020-08-19T23:24:31Z mangoicedtea joined #lisp 2020-08-19T23:24:45Z igemnace joined #lisp 2020-08-19T23:33:11Z scymtym joined #lisp 2020-08-19T23:41:34Z random-nick quit (Ping timeout: 260 seconds) 2020-08-19T23:43:46Z bonz060 joined #lisp 2020-08-19T23:45:47Z bonz060 quit (Client Quit) 2020-08-19T23:46:05Z bonz060 joined #lisp 2020-08-19T23:57:26Z bonz060 quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) 2020-08-19T23:57:42Z bonz060 joined #lisp 2020-08-20T00:02:39Z caltelt joined #lisp 2020-08-20T00:06:05Z gal_ quit (Ping timeout: 240 seconds) 2020-08-20T00:07:08Z gal joined #lisp 2020-08-20T00:17:57Z Oladon quit (Quit: Leaving.) 2020-08-20T00:22:38Z orivej quit (Ping timeout: 260 seconds) 2020-08-20T00:26:52Z Oladon joined #lisp 2020-08-20T00:36:59Z nicktick joined #lisp 2020-08-20T00:40:59Z smazga quit (Ping timeout: 240 seconds) 2020-08-20T00:45:11Z holycow joined #lisp 2020-08-20T00:52:11Z smazga joined #lisp 2020-08-20T00:55:39Z wxie joined #lisp 2020-08-20T00:56:40Z smazga quit (Ping timeout: 246 seconds) 2020-08-20T01:04:59Z mathrick quit (Ping timeout: 240 seconds) 2020-08-20T01:07:48Z mathrick joined #lisp 2020-08-20T01:12:30Z nicktick quit (Read error: Connection reset by peer) 2020-08-20T01:14:15Z holycow quit (Quit: Lost terminal) 2020-08-20T01:17:14Z orivej joined #lisp 2020-08-20T01:18:11Z ralt quit (Quit: Connection closed for inactivity) 2020-08-20T01:19:36Z gko_ joined #lisp 2020-08-20T01:19:43Z nicktick joined #lisp 2020-08-20T01:25:33Z mangoicedtea quit (Remote host closed the connection) 2020-08-20T01:31:03Z ahungry joined #lisp 2020-08-20T01:33:40Z orivej quit (Ping timeout: 256 seconds) 2020-08-20T01:36:03Z johnjay: Why in let statements are the assignments parallel but in setq sequential? 2020-08-20T01:40:06Z Oladon quit (Quit: Leaving.) 2020-08-20T01:42:08Z smazga joined #lisp 2020-08-20T01:44:42Z aeth: johnjay: you want psetq/psetf... and yes, maybe consistently speaking, setq/setf should have been parallel like let and then setq*/setf* could have behaved sequentially like let*, but CL isn't consistent 2020-08-20T01:45:00Z aeth: you generally want to be sequential when you setf, though. 2020-08-20T01:45:03Z EvW quit (Ping timeout: 244 seconds) 2020-08-20T01:45:38Z johnjay: idk. if i put each assignment on a new line then it just looks like a let 2020-08-20T01:45:53Z johnjay: this is why we can't have nice things.... XD 2020-08-20T01:46:30Z johnjay abandons let completely to only use lambdas 2020-08-20T01:46:34Z aeth: CL is like a cathedral that was built over a century. Many minds were involved in its creation. Don't expect parts of it to be consistent, since it would rather be compatible with past Lisps. 2020-08-20T01:46:43Z smazga quit (Ping timeout: 265 seconds) 2020-08-20T01:47:59Z aeth: SETF is inconsistent with LET in another way. It removes two layers of parentheses over LET. Of course, one is understandable because there's no need for a body at the end. 2020-08-20T01:49:54Z sjl quit (Ping timeout: 260 seconds) 2020-08-20T01:59:26Z aeth: My guess is that the original SETQ only let you set two things so you'd have to do (setq foo 42) (setq bar 43) and you could only later do (setq foo 42 bar 43) and that's why you have to use newlines instead of parentheses to easily tell what's setting what, i.e. not (setq (foo 42) (bar 43)) 2020-08-20T01:59:41Z aeth: Either that or the designers just assumed that the SETQ with just one setting was far more common and worth "optimizing" the syntax for 2020-08-20T02:00:09Z aeth: Perhaps the design decisions are documented somewhere, though 2020-08-20T02:03:05Z Oladon joined #lisp 2020-08-20T02:03:17Z sjl joined #lisp 2020-08-20T02:07:42Z smazga joined #lisp 2020-08-20T02:07:54Z wxie quit (Ping timeout: 256 seconds) 2020-08-20T02:08:44Z wxie joined #lisp 2020-08-20T02:10:07Z patlv joined #lisp 2020-08-20T02:12:16Z smazga quit (Ping timeout: 256 seconds) 2020-08-20T02:13:40Z ahungry quit (Ping timeout: 246 seconds) 2020-08-20T02:13:58Z smazga joined #lisp 2020-08-20T02:13:59Z mindCrime quit (Ping timeout: 244 seconds) 2020-08-20T02:14:46Z ahungry joined #lisp 2020-08-20T02:15:57Z patlv quit (Ping timeout: 260 seconds) 2020-08-20T02:18:37Z smazga quit (Ping timeout: 265 seconds) 2020-08-20T02:21:59Z lucasb quit (Quit: Connection closed for inactivity) 2020-08-20T02:23:45Z mindCrime joined #lisp 2020-08-20T02:25:12Z eli` joined #lisp 2020-08-20T02:28:38Z peterhil quit (Ping timeout: 256 seconds) 2020-08-20T02:29:44Z peterhil joined #lisp 2020-08-20T02:32:01Z johnjay: perhaps 2020-08-20T02:35:20Z eli` is now known as kkjsdkjkdj 2020-08-20T02:36:40Z kkjsdkjkdj left #lisp 2020-08-20T02:36:57Z libertyprime joined #lisp 2020-08-20T02:45:42Z mindCrime quit (Ping timeout: 260 seconds) 2020-08-20T02:49:10Z jesse1010 quit (Ping timeout: 260 seconds) 2020-08-20T02:56:48Z shifty quit (Ping timeout: 265 seconds) 2020-08-20T02:58:53Z shangul joined #lisp 2020-08-20T03:00:32Z smazga joined #lisp 2020-08-20T03:01:51Z Alfr_ joined #lisp 2020-08-20T03:01:57Z Bourne joined #lisp 2020-08-20T03:02:10Z byFate` joined #lisp 2020-08-20T03:04:06Z Alfr quit (Ping timeout: 244 seconds) 2020-08-20T03:05:17Z morisama quit (Quit: WeeChat 2.3) 2020-08-20T03:06:59Z smazga quit (Ping timeout: 240 seconds) 2020-08-20T03:10:49Z mrcom quit (Ping timeout: 265 seconds) 2020-08-20T03:12:43Z gal_ joined #lisp 2020-08-20T03:13:18Z gal quit (Read error: Connection reset by peer) 2020-08-20T03:18:06Z jibanes quit (Ping timeout: 260 seconds) 2020-08-20T03:20:01Z jibanes joined #lisp 2020-08-20T03:29:58Z mrcom joined #lisp 2020-08-20T03:32:23Z smazga joined #lisp 2020-08-20T03:33:18Z stepnem quit (Ping timeout: 256 seconds) 2020-08-20T03:37:14Z smazga quit (Ping timeout: 260 seconds) 2020-08-20T03:37:17Z space_otter joined #lisp 2020-08-20T03:41:12Z rumbler31 joined #lisp 2020-08-20T03:42:59Z hipete quit (Ping timeout: 240 seconds) 2020-08-20T03:52:42Z torbo quit (Remote host closed the connection) 2020-08-20T03:55:08Z beach: Good morning everyone! 2020-08-20T03:56:01Z libertyprime quit (Ping timeout: 264 seconds) 2020-08-20T03:56:08Z Bike quit (Quit: leaving) 2020-08-20T03:57:18Z wxie quit (Ping timeout: 260 seconds) 2020-08-20T03:57:50Z libertyprime joined #lisp 2020-08-20T04:05:40Z libertyprime quit (Ping timeout: 246 seconds) 2020-08-20T04:06:17Z libertyprime joined #lisp 2020-08-20T04:07:36Z stepnem joined #lisp 2020-08-20T04:09:54Z byFate` quit (Quit: If you want to know more about the truth just visit my blog https://exodux222.wordpress.com/) 2020-08-20T04:16:38Z smazga joined #lisp 2020-08-20T04:21:06Z smazga quit (Ping timeout: 260 seconds) 2020-08-20T04:21:38Z smazga joined #lisp 2020-08-20T04:24:50Z caltelt quit (Ping timeout: 260 seconds) 2020-08-20T04:26:23Z Lord_of_Life_ joined #lisp 2020-08-20T04:27:38Z smazga quit (Ping timeout: 256 seconds) 2020-08-20T04:28:09Z Lord_of_Life quit (Ping timeout: 265 seconds) 2020-08-20T04:28:09Z Lord_of_Life_ is now known as Lord_of_Life 2020-08-20T04:39:51Z smazga joined #lisp 2020-08-20T04:43:07Z Bourne quit (Ping timeout: 246 seconds) 2020-08-20T04:46:17Z Oladon quit (Quit: Leaving.) 2020-08-20T04:50:07Z orivej joined #lisp 2020-08-20T04:52:14Z smazga quit (Ping timeout: 256 seconds) 2020-08-20T04:54:54Z orivej quit (Ping timeout: 256 seconds) 2020-08-20T04:55:22Z orivej joined #lisp 2020-08-20T04:58:39Z orivej_ joined #lisp 2020-08-20T04:59:25Z orivej quit (Ping timeout: 240 seconds) 2020-08-20T05:17:42Z gravicappa joined #lisp 2020-08-20T05:29:39Z shifty joined #lisp 2020-08-20T05:30:33Z smazga joined #lisp 2020-08-20T05:35:08Z gaqwas joined #lisp 2020-08-20T05:35:20Z smazga quit (Ping timeout: 265 seconds) 2020-08-20T05:35:35Z Oladon joined #lisp 2020-08-20T05:37:20Z Oladon quit (Client Quit) 2020-08-20T05:49:03Z smazga joined #lisp 2020-08-20T05:52:34Z gko_ quit (Read error: Connection reset by peer) 2020-08-20T05:53:02Z gko_ joined #lisp 2020-08-20T05:53:43Z gxt quit (Ping timeout: 240 seconds) 2020-08-20T05:53:50Z smazga quit (Ping timeout: 256 seconds) 2020-08-20T05:54:24Z White_Flame quit (Ping timeout: 256 seconds) 2020-08-20T05:55:23Z libertyprime quit (Ping timeout: 240 seconds) 2020-08-20T05:56:36Z johnjay quit (Ping timeout: 265 seconds) 2020-08-20T05:56:36Z krid` quit (Ping timeout: 256 seconds) 2020-08-20T05:56:37Z White_Flame joined #lisp 2020-08-20T05:56:41Z gxt joined #lisp 2020-08-20T05:56:43Z bocaneri joined #lisp 2020-08-20T05:56:56Z stux|RC-- joined #lisp 2020-08-20T05:57:14Z stux|RC quit (Ping timeout: 256 seconds) 2020-08-20T05:57:22Z libertyprime joined #lisp 2020-08-20T05:57:35Z Balooga quit (Ping timeout: 246 seconds) 2020-08-20T05:57:36Z johnjay joined #lisp 2020-08-20T05:58:18Z jlpeters quit (Ping timeout: 246 seconds) 2020-08-20T05:59:30Z jlpeters joined #lisp 2020-08-20T05:59:57Z Balooga joined #lisp 2020-08-20T06:01:26Z avicenna quit (Ping timeout: 246 seconds) 2020-08-20T06:02:57Z smazga joined #lisp 2020-08-20T06:03:11Z avicenna joined #lisp 2020-08-20T06:07:26Z smazga quit (Ping timeout: 256 seconds) 2020-08-20T06:22:19Z gxt quit (Remote host closed the connection) 2020-08-20T06:22:31Z mangul joined #lisp 2020-08-20T06:23:13Z orivej_ quit (Ping timeout: 246 seconds) 2020-08-20T06:23:38Z gxt joined #lisp 2020-08-20T06:25:07Z shangul quit (Ping timeout: 265 seconds) 2020-08-20T06:29:31Z loke: I did a blog post: 2020-08-20T06:29:31Z loke: https://write.as/loke/common-lisp-code-optimisation 2020-08-20T06:33:20Z toorevitimirp joined #lisp 2020-08-20T06:39:44Z mangul is now known as shangul 2020-08-20T06:44:45Z v3ga_ quit (Quit: WeeChat 2.7.1) 2020-08-20T06:45:00Z v3ga joined #lisp 2020-08-20T06:51:15Z smazga joined #lisp 2020-08-20T06:55:27Z beach: loke: Great, except that you don't "declare" the function. You "define" it. 2020-08-20T06:56:28Z bsd4me quit (Quit: Leaving) 2020-08-20T06:56:42Z loke: Good catch. I will fix 2020-08-20T07:05:50Z Mawile joined #lisp 2020-08-20T07:08:34Z Archenoth quit (Ping timeout: 256 seconds) 2020-08-20T07:14:35Z mangul joined #lisp 2020-08-20T07:16:10Z phoe: aeth: (foo 42) looks like a function call 2020-08-20T07:16:26Z phoe: foo 42 doesn't 2020-08-20T07:16:36Z phoe: ((foo 42)) looks much more like a binding 2020-08-20T07:16:38Z aeth: quite a few things in macros look like a function call. 2020-08-20T07:16:46Z shangul quit (Ping timeout: 246 seconds) 2020-08-20T07:17:02Z phoe: yep, maybe I'm just so unused to the idea 2020-08-20T07:17:06Z aeth: but, yes, SETF would make it worse with things like (setf ((aref foo 1) 42)) 2020-08-20T07:17:13Z aeth: so we're fortunate that the older SETQ wasn't like that 2020-08-20T07:18:15Z aeth: (or maybe SETF would have different syntax, which would be worse, since I like how SETF's setter tends to parallel the accessor... where looking like a function call is usually a good thing) 2020-08-20T07:19:25Z aeth: e.g. maybe we would have wound up with (setf (aref foo 1 42)) or with some other position for 42. 2020-08-20T07:23:03Z markasoftware: how can I unbind a symbol's function slot? 2020-08-20T07:23:10Z phoe: fmakunbound 2020-08-20T07:23:25Z markasoftware: awesome, thanks 2020-08-20T07:23:28Z phoe: <3 2020-08-20T07:24:02Z gko_ quit (Ping timeout: 260 seconds) 2020-08-20T07:24:03Z markasoftware: Did you ever figure out how to define a method for all instances of classes that have a certain metaclass? I would honestly like to know the best way to do this 2020-08-20T07:24:45Z smazga quit (Ping timeout: 240 seconds) 2020-08-20T07:27:05Z phoe: DEFMETHOD SHARED-INITIALIZE :AFTER over ADD-METHOD 2020-08-20T07:27:28Z shka_ joined #lisp 2020-08-20T07:27:52Z Cymew joined #lisp 2020-08-20T07:28:07Z loke: markasoftware: Typically, what you do is to is to implement a method ININITIALIZE-INSTANCE with an :AROUND method for the given metaclass. It then changes the :DIRECT-SUPERCLASSES argument so as to add a new superclass for the class. 2020-08-20T07:28:38Z loke: That way you can ensure that all instalced of a class with a given metaclass also inherits from a given class, and you can use that one to select for it in your method definitions. 2020-08-20T07:28:46Z ahungry quit (Remote host closed the connection) 2020-08-20T07:29:24Z markasoftware: I like loke's answer a bit more :) 2020-08-20T07:30:06Z lonjil quit (Ping timeout: 256 seconds) 2020-08-20T07:31:13Z loke: I implemented a metaclass to support automatic persisting of instances to couchdb. Here's the code that does adds PERSISTED-ENTRY as a superclass to ever class that uses PERSISTED-ENTRY-CLASS as metaclass: 2020-08-20T07:31:21Z loke: https://github.com/lokedhs/potato/blob/master/src/potato/metaclasses.lisp#L148 2020-08-20T07:31:30Z chipolux quit (Ping timeout: 260 seconds) 2020-08-20T07:31:42Z phoe: ooooh, you take this sorta approach 2020-08-20T07:32:12Z lonjil joined #lisp 2020-08-20T07:32:27Z loke: phoe: I do. Don't you? :-) I found it really useful. 2020-08-20T07:32:57Z chipolux joined #lisp 2020-08-20T07:33:22Z toorevitimirp quit (Ping timeout: 260 seconds) 2020-08-20T07:33:34Z phoe: my approach is slightly different because I'm tackling a different problem - I'm working on classes which have value semantics and I want to define methods on a #'EQV generic function that is Yet Another Take At Equality™ 2020-08-20T07:34:13Z phoe: two standard-objects are EQV iff they are instances of the same class (1) and then they are EQV slot-wise (2) 2020-08-20T07:34:25Z loke: phoe: Oh I see. 2020-08-20T07:34:30Z phoe: (1) is solved by me adding methods which specialize on (MY-CLASS MY-CLASS) 2020-08-20T07:34:34Z loke: That sounds a bit fragile to me :-) 2020-08-20T07:34:46Z phoe: and the method then calls a slotwise-eqv sort of thing 2020-08-20T07:34:51Z phoe: which solves (2) 2020-08-20T07:35:01Z loke: Yeah, I can see how it makes sense. 2020-08-20T07:35:02Z phoe: and I'm open to criticism since this approach is still young young. 2020-08-20T07:35:44Z phoe: in particular, I've seen stylewarning's ADT implementation and I guess I'm too used to classes and their inheritance and such to make a jump to full ADT like that. 2020-08-20T07:38:53Z stylewarning: ADTs are most valuable when you want a “sealed discriminated union”; if you don’t want that then they’re not the right choice 2020-08-20T07:39:18Z loke: What's an adt? 2020-08-20T07:39:36Z beach: Abstract Data Type? 2020-08-20T07:39:43Z stylewarning: algebraic data type, the funny ways Standard MLers or Haskellers introduce new data types 2020-08-20T07:40:05Z loke: How are they different from regular data types? 2020-08-20T07:40:17Z mjl quit (Ping timeout: 260 seconds) 2020-08-20T07:40:31Z l1x quit (Ping timeout: 244 seconds) 2020-08-20T07:41:02Z stylewarning: they’re different in the “mathematical properties” they guarantee. In terms of implementation they’re essentially equivalent to an abstract base class and a static set of sealed subclasses 2020-08-20T07:41:07Z mgsk quit (Ping timeout: 244 seconds) 2020-08-20T07:41:28Z ffwacom quit (Ping timeout: 260 seconds) 2020-08-20T07:42:33Z stylewarning: it turns out that pattern shows up a lot in programming. If your compiler knows about this “static set” then it can warn you when you fail to consider all cases in this set when your functions consider the base class as their input type(s) 2020-08-20T07:42:40Z mgsk joined #lisp 2020-08-20T07:44:30Z mgsk quit (Max SendQ exceeded) 2020-08-20T07:44:52Z scymtym quit (Ping timeout: 265 seconds) 2020-08-20T07:48:01Z farooqkz__ joined #lisp 2020-08-20T07:48:18Z phoe: I don't want to seal the set of subclasses 2020-08-20T07:48:27Z boeg quit (Ping timeout: 260 seconds) 2020-08-20T07:48:42Z phoe: That's because I don't yet know what I'm doing™ and I don't know what I will be doing in the future™ 2020-08-20T07:49:16Z phoe: and because I explicitly want extensibility in an otherwise functional program 2020-08-20T07:49:41Z stylewarning: yeah it’s non-Common Lispy where everyone wants infinitely extensible runtime changeable everything 2020-08-20T07:50:25Z phoe: which is why I try to make immutable objects that can be value-compared and whose identity is unimportant but where inheritance and specializing is still in effect 2020-08-20T07:50:36Z phoe: and this combination seems to be a good fit for my purpose 2020-08-20T07:50:37Z mangul quit (Ping timeout: 264 seconds) 2020-08-20T07:50:42Z stylewarning: but when you do sort of know what you’re doing and you have 10,000 lines of code, and you add another subclass, it’s really nice to be warned where you’ve failed to consider this subclass at compile-time 2020-08-20T07:51:53Z phoe: I guess I'll want to ossify my code/data like that once the project leaves the "let's make this run" phase and enters the "let's make this correct" phase 2020-08-20T07:52:30Z stylewarning: yeah this also has to do with dev style. I frequently ,restart my image 2020-08-20T07:52:40Z phoe: me too 2020-08-20T07:53:05Z farooqkz__ quit (Quit: Leaving) 2020-08-20T07:53:09Z stylewarning: it’s nice to not have to but I do it a lot anyway so as to not totally depend on invisible state I’ve built up, and that plays nice with sealed mumbo jumbo 2020-08-20T07:53:16Z markasoftware: stylewarning: so you enforce that methods are defined for all subclasses of a certain class? 2020-08-20T07:53:29Z shangul joined #lisp 2020-08-20T07:53:33Z stylewarning: markasoftware: I don’t use methods, I just use functions and pattern matching 2020-08-20T07:53:59Z stylewarning: (You can define methods on the subclasses if you want but it’s not enforced. It’s preferable to just use functions) 2020-08-20T07:54:27Z markasoftware: what kinds of patterns? 2020-08-20T07:54:30Z l1x joined #lisp 2020-08-20T07:54:36Z markasoftware: is it basically Rust's case statement on enums? 2020-08-20T07:54:40Z boeg joined #lisp 2020-08-20T07:54:59Z markasoftware: i.e, are rust enums an example of an abstract data type? 2020-08-20T07:55:04Z ffwacom joined #lisp 2020-08-20T07:55:07Z stylewarning: Algebraic data type, yes 2020-08-20T07:55:16Z stylewarning: Rust got inspiration from old ML’s 2020-08-20T07:55:29Z markasoftware: awesome 2020-08-20T07:55:37Z phoe: stylewarning: the invisible state I'm building up in this scheme is just the state of methods 2020-08-20T07:55:54Z phoe: since all data is already immutable 2020-08-20T07:56:02Z stylewarning: phoe: your approach sounds good and Lispy and simple 2020-08-20T07:56:09Z phoe: and since methods are the thing that I'm working on the most now, I like the tradeoff for the time being 2020-08-20T07:56:47Z phoe: later, when I've implemented everything™ and created the test suite for everything I've written, I'll try to refactor the code until I get bore^W^W^WI like the result 2020-08-20T07:56:54Z mgsk joined #lisp 2020-08-20T07:57:52Z stylewarning: CL-ADT was really me wanting Coalton without doing all the work of Coalton. Now I’ve decided to (slowly) do all the work of Coalton so I can have my Lisp cake and eat it functionally too. 2020-08-20T07:59:11Z phoe: you can't functionally eat a cake, you can just create a new, eaten copy of the cake, and a new, full version of yourself 2020-08-20T07:59:13Z iamFIREc1 joined #lisp 2020-08-20T07:59:23Z phoe: but then you run into the issue of cloning yourself 2020-08-20T07:59:33Z stylewarning: (: 2020-08-20T07:59:34Z phoe: eating a cake is a fundamentally imperative operation with side effects. 2020-08-20T07:59:56Z phoe: have you taken this into account while working on Coalton? 2020-08-20T08:00:07Z phoe coughs, runs off to work on things 2020-08-20T08:00:38Z stylewarning: ;) 2020-08-20T08:01:05Z iamFIREcracker quit (Ping timeout: 240 seconds) 2020-08-20T08:01:49Z scymtym joined #lisp 2020-08-20T08:03:45Z mjl joined #lisp 2020-08-20T08:03:58Z smazga joined #lisp 2020-08-20T08:03:59Z phoe: stylewarning: I' 2020-08-20T08:04:05Z vutral joined #lisp 2020-08-20T08:04:09Z phoe: I'll publish my approach once it's kinda-polished-enough 2020-08-20T08:04:32Z phoe: along with some README-quality rationale for why I'm reinventing ADTs again 2020-08-20T08:04:41Z phoe: and then ask for some general critique 2020-08-20T08:08:37Z smazga quit (Ping timeout: 264 seconds) 2020-08-20T08:09:50Z hendursa1 joined #lisp 2020-08-20T08:11:43Z hendursaga quit (Ping timeout: 240 seconds) 2020-08-20T08:12:25Z karlosz quit (Quit: karlosz) 2020-08-20T08:19:00Z gko_ joined #lisp 2020-08-20T08:20:44Z space_otter quit (Remote host closed the connection) 2020-08-20T08:21:15Z ldb joined #lisp 2020-08-20T08:21:24Z ldb: good eve 2020-08-20T08:21:35Z beach: Hello ldb. 2020-08-20T08:23:28Z phoe: good mor 2020-08-20T08:23:46Z ljavorsk joined #lisp 2020-08-20T08:30:04Z jlpeters quit (Changing host) 2020-08-20T08:30:04Z jlpeters joined #lisp 2020-08-20T08:30:04Z Balooga quit (Changing host) 2020-08-20T08:30:04Z Balooga joined #lisp 2020-08-20T08:30:04Z avicenna quit (Changing host) 2020-08-20T08:30:04Z avicenna joined #lisp 2020-08-20T08:30:05Z l1x quit (Changing host) 2020-08-20T08:30:05Z l1x joined #lisp 2020-08-20T08:30:05Z boeg quit (Changing host) 2020-08-20T08:30:05Z boeg joined #lisp 2020-08-20T08:30:05Z ffwacom quit (Changing host) 2020-08-20T08:30:05Z ffwacom joined #lisp 2020-08-20T08:30:05Z mgsk quit (Changing host) 2020-08-20T08:30:05Z mgsk joined #lisp 2020-08-20T08:30:06Z mjl quit (Changing host) 2020-08-20T08:30:06Z mjl joined #lisp 2020-08-20T08:30:06Z ldb quit (Changing host) 2020-08-20T08:30:06Z ldb joined #lisp 2020-08-20T08:30:32Z jello_pudding quit (Ping timeout: 244 seconds) 2020-08-20T08:31:04Z ldb: recently i find that EQ is a very efficient device that usually lacked in later functional programming languages such as SML 2020-08-20T08:31:53Z beach: That's because identity is not important in functional programming. 2020-08-20T08:31:54Z pve joined #lisp 2020-08-20T08:32:03Z phoe: ^ 2020-08-20T08:34:24Z ldb: yes, but in the case of manipulating long nested expressions, being able to do a EQ before recursively decedents into deeper structures is a huge performance gain 2020-08-20T08:41:32Z loke: ldb: Remember that pure function languages assue the existence of a "sufficiently smart compiler". 2020-08-20T08:42:25Z ldb: once that was called lisp myth :D 2020-08-20T08:43:15Z phoe: one Lisp myth is that Lisp is functional 2020-08-20T08:43:43Z wxie joined #lisp 2020-08-20T08:44:10Z ldb: i prefer the wording "applicative" 2020-08-20T08:48:30Z gko_ quit (Remote host closed the connection) 2020-08-20T08:48:57Z gko_ joined #lisp 2020-08-20T08:59:08Z technobean joined #lisp 2020-08-20T09:02:08Z ldb quit (Quit: Connection closed) 2020-08-20T09:05:45Z jello_pudding joined #lisp 2020-08-20T09:05:57Z ralt joined #lisp 2020-08-20T09:12:47Z jello_pudding quit (Ping timeout: 240 seconds) 2020-08-20T09:20:44Z jello_pudding joined #lisp 2020-08-20T09:24:04Z gravicappa quit (Ping timeout: 256 seconds) 2020-08-20T09:27:13Z gko_ quit (Ping timeout: 264 seconds) 2020-08-20T09:30:16Z jesse1010 joined #lisp 2020-08-20T09:35:32Z smazga joined #lisp 2020-08-20T09:36:39Z yitzi quit (Quit: yitzi) 2020-08-20T09:37:16Z theBlackDragon quit (Ping timeout: 256 seconds) 2020-08-20T09:37:43Z yitzi joined #lisp 2020-08-20T09:45:54Z wxie quit (Ping timeout: 260 seconds) 2020-08-20T09:47:45Z nicktick quit (Ping timeout: 240 seconds) 2020-08-20T09:47:55Z theBlackDragon joined #lisp 2020-08-20T10:04:06Z adam4567 quit (Remote host closed the connection) 2020-08-20T10:12:17Z jello_pudding quit (Ping timeout: 260 seconds) 2020-08-20T10:16:14Z smazga quit (Ping timeout: 260 seconds) 2020-08-20T10:20:54Z frgo joined #lisp 2020-08-20T10:22:45Z frgo_ quit (Ping timeout: 240 seconds) 2020-08-20T10:25:07Z rogersm joined #lisp 2020-08-20T10:27:27Z patlv joined #lisp 2020-08-20T10:31:29Z wxie joined #lisp 2020-08-20T10:40:19Z jello_pudding joined #lisp 2020-08-20T10:45:07Z random-nick joined #lisp 2020-08-20T10:46:31Z edgar-rft: phoe: everybody should know that Lisp is misfunctional! 2020-08-20T10:46:58Z Robdgreat: I find it more endearing to just think of it as dysfunctional 2020-08-20T10:47:01Z beach: Wow, new word. What is the difference between it and dysfunctional? 2020-08-20T10:47:58Z edgar-rft bought a smartphone in the hope that it has a sufficiently smart compiler 2020-08-20T10:48:00Z jackdaniel: my guess would be: misfunctional - not suitable for functional programming; dysfunctional - not possible to use 2020-08-20T10:50:15Z edgar-rft: beach: it means that Lisp causes mental illness 2020-08-20T10:52:25Z Robdgreat: edgar-rft: I assumed it was the other way around 2020-08-20T10:53:25Z edgar-rft: it might be a chicken-and-egg problem 2020-08-20T10:53:32Z beach: edgar-rft: Ah, yes. Nice. 2020-08-20T10:54:08Z edgar-rft: let's all be proud on our mental defects :-) 2020-08-20T10:59:10Z vutral quit (Quit: Connection closed for inactivity) 2020-08-20T10:59:14Z smazga joined #lisp 2020-08-20T11:00:13Z wxie quit (Ping timeout: 264 seconds) 2020-08-20T11:00:28Z yitzi quit (Quit: yitzi) 2020-08-20T11:03:50Z smazga quit (Ping timeout: 260 seconds) 2020-08-20T11:05:44Z heisig joined #lisp 2020-08-20T11:07:39Z orivej joined #lisp 2020-08-20T11:07:56Z shangul quit (Ping timeout: 256 seconds) 2020-08-20T11:13:25Z bitmapper quit (Ping timeout: 264 seconds) 2020-08-20T11:15:43Z ralt quit (Quit: Connection closed for inactivity) 2020-08-20T11:17:00Z stux|RC-- quit (Quit: Aloha!) 2020-08-20T11:18:25Z stux|RC joined #lisp 2020-08-20T11:19:08Z jackdaniel: C&P: crazy and proud, a new lisp dialect by edgar-rft :) 2020-08-20T11:20:46Z ggole joined #lisp 2020-08-20T11:22:01Z edgar-rft: jackdaniel: I have an offical document that says I'm uncurable 2020-08-20T11:22:33Z jackdaniel: C&P: crazy and proud, a new /certified/ lisp dialect by edgar-rft ^_^ 2020-08-20T11:22:46Z patlv_ joined #lisp 2020-08-20T11:22:55Z jackdaniel stops the chatter, sorry 2020-08-20T11:23:40Z edgar-rft: S&U - schizoid and uncurable 2020-08-20T11:24:09Z edgar-rft: the doctors have given up :-) 2020-08-20T11:24:48Z smazga joined #lisp 2020-08-20T11:25:18Z edgar-rft: the "uncurable" is only important for the retirement insurance 2020-08-20T11:25:27Z patlv quit (Ping timeout: 260 seconds) 2020-08-20T11:29:05Z smazga quit (Ping timeout: 240 seconds) 2020-08-20T11:37:16Z wxie joined #lisp 2020-08-20T11:37:44Z jw4 quit (Read error: Connection reset by peer) 2020-08-20T11:39:05Z jw4 joined #lisp 2020-08-20T11:42:09Z ralt joined #lisp 2020-08-20T11:48:07Z zulu-inuoe joined #lisp 2020-08-20T11:55:11Z cosimone joined #lisp 2020-08-20T11:57:39Z yitzi joined #lisp 2020-08-20T12:06:02Z _whitelogger quit (Remote host closed the connection) 2020-08-20T12:07:45Z shangul joined #lisp 2020-08-20T12:08:12Z _whitelogger joined #lisp 2020-08-20T12:10:15Z hendursa1 quit (Quit: hendursa1) 2020-08-20T12:10:30Z hendursaga joined #lisp 2020-08-20T12:14:59Z zxcvz joined #lisp 2020-08-20T12:21:47Z pfr quit (Ping timeout: 240 seconds) 2020-08-20T12:24:52Z schweers joined #lisp 2020-08-20T12:27:33Z mangul joined #lisp 2020-08-20T12:27:42Z shangul quit (Disconnected by services) 2020-08-20T12:27:46Z mangul is now known as shangul 2020-08-20T12:32:38Z krid` joined #lisp 2020-08-20T12:34:27Z pfr joined #lisp 2020-08-20T12:36:49Z shifty quit (Ping timeout: 264 seconds) 2020-08-20T12:38:25Z wxie quit (Ping timeout: 246 seconds) 2020-08-20T12:41:58Z xantoz quit (Read error: Connection reset by peer) 2020-08-20T12:42:22Z xantoz joined #lisp 2020-08-20T12:42:22Z Bike joined #lisp 2020-08-20T12:47:58Z smazga joined #lisp 2020-08-20T12:48:29Z jmercouris: I'm trying to use loop like this (loop for i in list1 for y in list2 collect (or i y)) 2020-08-20T12:48:42Z jmercouris: I want to have list1 = abc def and list2 = ghi jkl 2020-08-20T12:48:51Z jmercouris: then I want the output of the loop to be abc ghi def jkl 2020-08-20T12:51:25Z pve: collect i collect y 2020-08-20T12:51:47Z jmercouris: ah, damnit 2020-08-20T12:51:50Z jmercouris: I knew I was so close 2020-08-20T12:51:51Z jmercouris: thank you 2020-08-20T12:52:45Z smazga quit (Ping timeout: 265 seconds) 2020-08-20T12:53:02Z mfiano: (mapcar #'list '("abc" "def") '("ghi" "jkl")) 2020-08-20T12:53:30Z jmercouris: that could work too, and it is probably faster 2020-08-20T12:53:52Z phoe: ahh, mapcar #'list, also known as the zip function 2020-08-20T12:54:02Z mfiano: or matrix transpose 2020-08-20T12:54:04Z Robdgreat quit (Quit: scheduled maintenance) 2020-08-20T12:54:22Z phoe: I have fond memories with that one - when I saw it for the first time and actually understood why it works, something clicked for me 2020-08-20T12:54:29Z jmercouris: well supposedely it is faster according to SBCL 2020-08-20T12:56:16Z Lord_Nightmare quit (Ping timeout: 246 seconds) 2020-08-20T12:56:20Z patlv__ joined #lisp 2020-08-20T12:58:42Z Bourne joined #lisp 2020-08-20T12:59:22Z patlv_ quit (Ping timeout: 260 seconds) 2020-08-20T12:59:58Z Lord_of_Life quit (Read error: Connection reset by peer) 2020-08-20T13:00:29Z Lord_of_Life joined #lisp 2020-08-20T13:03:00Z patlv__ quit (Ping timeout: 244 seconds) 2020-08-20T13:03:39Z __jrjsmrtn__ joined #lisp 2020-08-20T13:03:48Z wsinatra joined #lisp 2020-08-20T13:04:14Z _jrjsmrtn quit (Ping timeout: 260 seconds) 2020-08-20T13:06:26Z wxie joined #lisp 2020-08-20T13:10:10Z Bourne quit (Ping timeout: 256 seconds) 2020-08-20T13:12:45Z wxie quit (Ping timeout: 240 seconds) 2020-08-20T13:14:25Z gko_ joined #lisp 2020-08-20T13:17:22Z bsd4me joined #lisp 2020-08-20T13:26:02Z payphone quit (Ping timeout: 256 seconds) 2020-08-20T13:28:33Z payphone joined #lisp 2020-08-20T13:28:38Z schweers: Does the output of DECODE-UNIVERSAL-TIME depend on the current timezone, and, more importantly, on whether or not dst is currently active? I’m concerned about the case where the optional TIME-ZONE argument is not given. 2020-08-20T13:29:11Z beach: clhs decode-universal-time 2020-08-20T13:29:12Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_dec_un.htm 2020-08-20T13:30:01Z beach: "If time-zone is not supplied, it defaults to the current time zone..." 2020-08-20T13:30:14Z schweers: It says that the current time zone is used, but not how dst is handled, at least I can’t find any further information on this. Or is dst simply part of the time zone? 2020-08-20T13:30:41Z beach: It says "adjusted for daylight savings time" 2020-08-20T13:30:46Z schweers: I know, I had already read that part and I’m not sure what to make of the implications of dst. 2020-08-20T13:30:51Z beach: I suppose it is relative to UTC. 2020-08-20T13:31:01Z beach: UTC does not change with DST. 2020-08-20T13:31:59Z beach: You may look at the glossary entry for "time zone". 2020-08-20T13:32:01Z schweers: hmm. http://www.lispworks.com/documentation/HyperSpec/Body/26_glo_t.htm#time_zone 2020-08-20T13:32:23Z schweers: The last part in parens seems to imply that if dst is not treated separatly, it’s part of the timezone 2020-08-20T13:32:51Z beach: Yeah. 2020-08-20T13:33:00Z schweers: damn. 2020-08-20T13:33:10Z FreeBirdLjj joined #lisp 2020-08-20T13:37:49Z cosimone quit (Quit: Quit.) 2020-08-20T13:37:52Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2020-08-20T13:38:04Z msk quit (Remote host closed the connection) 2020-08-20T13:38:32Z msk joined #lisp 2020-08-20T13:38:43Z schweers: Although I’m obviously not satisfied with the answer, I’d like to thank you, for once again being very helpful, beach. 2020-08-20T13:39:06Z gravicappa joined #lisp 2020-08-20T13:39:13Z schweers: Or rather: not satified with the situation. 2020-08-20T13:39:18Z schweers: Your answer was fine 2020-08-20T13:39:26Z beach: Heh, sure. 2020-08-20T13:41:40Z jmercouris: I have a bit of a problem, my lists are of different length, so using mapcar to zip them does not work 2020-08-20T13:41:53Z jmercouris: I also don't know in advance HOW many lists there will be, and I can't think of how to form a loop construct to do it 2020-08-20T13:42:13Z phoe: it does work, just likely not in the way you expect :D 2020-08-20T13:42:17Z jmercouris: well, yes 2020-08-20T13:42:22Z phoe: what empty value are you thinking of? 2020-08-20T13:42:24Z jmercouris: I want it to keep appending the rest of the elements 2020-08-20T13:42:46Z phoe: if the input lists are '(1 2 3) and '(a), what should the output be? 2020-08-20T13:42:56Z jmercouris: (alexandria:flatten (mapcar #'list '("abc" "def") '("ghi" "jkl" "qrt"))) -> ("abc" "ghi" "def" "jkl" "qrt") 2020-08-20T13:42:59Z jmercouris: that is what I would expect 2020-08-20T13:43:06Z jmercouris: or rather, desire 2020-08-20T13:43:10Z EvW1 joined #lisp 2020-08-20T13:43:14Z cosimone joined #lisp 2020-08-20T13:43:22Z jmercouris: to answer your question, the output would be 1 a 2 3 2020-08-20T13:43:42Z phoe: hmmmm 2020-08-20T13:44:08Z jmercouris: to make it more precise, here is EXACTLY the data I am starting with 2020-08-20T13:44:09Z jmercouris: (("Sea Turtle" "Turtle" "Box Turtle") ("Carp")) 2020-08-20T13:44:13Z jmercouris: and I would like to end with 2020-08-20T13:44:18Z Oddity_ joined #lisp 2020-08-20T13:44:24Z jmercouris: Sea Turtle Carp Turtle Box Turtle 2020-08-20T13:44:24Z cosimone quit (Client Quit) 2020-08-20T13:44:25Z Lord_Nightmare joined #lisp 2020-08-20T13:45:43Z ralt quit (Quit: Connection closed for inactivity) 2020-08-20T13:46:01Z schweers: Loop over all lists, always take the car and rebind/replace the list in question with the rest of the list. If the list is nil, don’t append anything. Am I missing something? 2020-08-20T13:46:03Z phoe: (defun intertwine (x y) (let ((result '())) (loop (when x (push (pop x) result)) (when y (push (pop y) result)) (when (not (or x y)) (return (nreverse result)))))) 2020-08-20T13:46:51Z jmercouris: phoe: that only accepts two lists 2020-08-20T13:46:59Z jmercouris: and if you do three lists by applying it twice, the order will be wrong 2020-08-20T13:47:26Z jmercouris: or am I wrong..? 2020-08-20T13:48:11Z phoe: ooooh, I see 2020-08-20T13:48:23Z Oddity quit (Ping timeout: 260 seconds) 2020-08-20T13:49:18Z Robdgreat joined #lisp 2020-08-20T13:50:38Z jmercouris: schweers: no, but easier said than done 2020-08-20T13:50:55Z phoe: (defun intertwine (&rest lists) (let ((result '())) (loop (loop for list on lists do (when (car list) (push (pop (car list)) result)) (when (every #'null lists) (return-from intertwine (nreverse result))))))) 2020-08-20T13:50:59Z phoe: seems to work better 2020-08-20T13:51:10Z phoe: could be further optimized to avoid EVERY 2020-08-20T13:51:39Z _death: phoe: you need to copy the &rest list 2020-08-20T13:51:51Z _death: (let ((heads (copy-list lists))) ...) 2020-08-20T13:52:25Z phoe: oh right! I am mutating it 2020-08-20T13:52:25Z yur3i__ joined #lisp 2020-08-20T13:52:49Z phoe: (defun intertwine (&rest lists) (let ((heads (copy-list lists)) (result '())) (loop (loop for list on heads do (when (car list) (push (pop (car list)) result)) (when (every #'null heads) (return-from intertwine (nreverse result))))))) 2020-08-20T13:53:03Z smazga joined #lisp 2020-08-20T13:53:33Z jmercouris: time to try to understand this now... 2020-08-20T13:54:13Z yur3i__: Yo I started reading 'Lisp in Small Pieces' the other day but ran into a couple of functions I can't find any reference to in the scheme spec, `invoke` and `eprogn`, anyone know what they're for? 2020-08-20T13:54:24Z jmercouris: why is there a parent loop? 2020-08-20T13:54:26Z jmercouris: it has no forms in it 2020-08-20T13:54:32Z jmercouris: I mean no keywords 2020-08-20T13:54:56Z leo_song quit (Ping timeout: 256 seconds) 2020-08-20T13:54:57Z phoe: yur3i__: #scheme might help you better 2020-08-20T13:55:04Z phoe: you have wandered into a Common Lisp channel :D 2020-08-20T13:55:07Z jmercouris: the inner loop does make sense to me though 2020-08-20T13:55:07Z yur3i__: phoe: lol 2020-08-20T13:55:12Z yur3i__: Cheers 2020-08-20T13:55:17Z phoe: jmercouris: the outer one is a forever loop 2020-08-20T13:55:23Z jmercouris: I see 2020-08-20T13:55:30Z phoe: we only escape it when the lists are all empty via the explicit RETURN-FROM 2020-08-20T13:55:31Z jmercouris: OH I SEE 2020-08-20T13:55:38Z jmercouris: you are using car to avoid traversing INTO th eloop and just removing the first 2020-08-20T13:55:48Z phoe: yes, that's LOOP ON 2020-08-20T13:55:57Z phoe: this allows me to pop elements from the individual lists 2020-08-20T13:55:59Z yur3i__ left #lisp 2020-08-20T13:56:09Z jmercouris: why (when (car list)) instead of (when list) ? 2020-08-20T13:56:54Z _death: because it's actually cons-holding-the-list\'s-head instead of list 2020-08-20T13:57:18Z jmercouris: but a list is a list of cons 2020-08-20T13:57:21Z jmercouris: I don't get what you are saying 2020-08-20T13:57:42Z smazga quit (Ping timeout: 256 seconds) 2020-08-20T13:57:51Z phoe: jmercouris: because I am doing LOOP ON, not LOOP IN 2020-08-20T13:57:52Z leo_song joined #lisp 2020-08-20T13:57:58Z jmercouris: Ah 2020-08-20T13:58:03Z kssytsrk joined #lisp 2020-08-20T13:58:06Z cosimone joined #lisp 2020-08-20T13:58:08Z jmercouris: Ah, Ok, I somehow missed that even though you said it twice 2020-08-20T13:58:13Z phoe: this causes the variable to be bound to successive conses 2020-08-20T13:58:20Z phoe: which makes it possible for me to mutate that cons. 2020-08-20T13:59:06Z jmercouris: right, because otherwise, mutating the list during loop traversal would be disastrous 2020-08-20T13:59:48Z jmercouris: thank you very much phoe 2020-08-20T13:59:49Z beach: phoe: You can't mutate with ON. 2020-08-20T14:00:17Z beach: phoe: You have to use for x = ... then (cdr x) 2020-08-20T14:00:45Z phoe: beach: but I just did 2020-08-20T14:00:56Z phoe: I mean, is mutating the CAR with LOOP ON forbidden? 2020-08-20T14:01:06Z jmercouris: not according to my compiler 2020-08-20T14:01:08Z beach: Good question. 2020-08-20T14:01:09Z phoe: clhs 3.6 2020-08-20T14:01:09Z specbot: Traversal Rules and Side Effects: http://www.lispworks.com/reference/HyperSpec/Body/03_f.htm 2020-08-20T14:01:16Z phoe: "For list traversal operations, the cdr chain of the list is not allowed to be destructively modified." 2020-08-20T14:01:16Z beach: jmercouris: The compiler is not the standard. 2020-08-20T14:01:21Z phoe: so mutating the CAR is safe 2020-08-20T14:01:28Z jmercouris: I was making a joke :-D 2020-08-20T14:01:38Z beach: Right, I thought you were mutating the CDR. Sorry. 2020-08-20T14:01:50Z phoe: oh, I'm not - that would be a very bad thing to do 2020-08-20T14:02:00Z beach: It is good to know, though, that you can do that with for .. then. 2020-08-20T14:05:11Z jackdaniel: how about http://turtleware.eu/static/paste/23651b5d-xxx.txt ? 2020-08-20T14:05:39Z phoe: hey, that is also nice 2020-08-20T14:05:47Z phoe: much more elegant than mine 2020-08-20T14:06:24Z jackdaniel: remove nil, or even delete nil shoudl be also fine I suppose 2020-08-20T14:06:30Z jackdaniel: s/shoudl/should/ 2020-08-20T14:06:56Z kssytsrk: hey everyone, i'm trying to replace all occurences of substring in a string with newline. i tried using cl-ppcre:replace-all but it won't give me a newline no matter what i try ("\n" "\\n" "\\\n" "#\Newline" '(#\Newline) etc). could anyone point me in the right direction? 2020-08-20T14:06:56Z _death: I wouldn't use a &rest list for this function btw 2020-08-20T14:07:14Z jmercouris: yeah, I ended up having to (apply #'intertwine ....) 2020-08-20T14:07:27Z jmercouris: that was the signature phoe gave though, and I assumed he had his reasons 2020-08-20T14:07:42Z jackdaniel: _death: why not? 2020-08-20T14:07:47Z jmercouris: I would have (defun intertwine (2d-list) ..) 2020-08-20T14:08:12Z jmercouris: kssytsrk: are you tied to kssytsrk ? 2020-08-20T14:08:16Z jmercouris: kssytsrk: are you tied to cl-ppcre? 2020-08-20T14:08:25Z jmercouris: you could do it with cl-str pretty easily 2020-08-20T14:08:28Z _death: jackdaniel: it just looks like a function for processing a list of lists.. so let it take a list of lists 2020-08-20T14:08:46Z jackdaniel: thanks for elaborating 2020-08-20T14:09:11Z phoe: kssytsrk: (string #\Newline) 2020-08-20T14:09:19Z phoe: this gives you a string containing a single newline character 2020-08-20T14:09:33Z kssytsrk: jmercouris: i've tried to quickload cl-str, but it gives me an error with cl-ppcre-unicode 2020-08-20T14:09:40Z kssytsrk: phoe: oh thanks, ill try that now 2020-08-20T14:09:42Z jmercouris: strange 2020-08-20T14:09:47Z jmercouris: phoe's answer is correct 2020-08-20T14:09:54Z phoe: Lisp doesn't interpret "\n" as a newline character on its own; you might want to look into CL-INTERPOL for that sort of functionality 2020-08-20T14:10:10Z phoe: AFAIK it offers the #"\n" notation that figures out the C-style \n newline 2020-08-20T14:10:14Z Robdgreat quit (Ping timeout: 256 seconds) 2020-08-20T14:10:45Z schweers: Doesn’t cl-ppcre use single-line mode by default? 2020-08-20T14:11:50Z _death: jackdaniel: e.g., you'd need to use apply if you don't have a fixed number of lists (as jmercouris likely found out) 2020-08-20T14:12:12Z kssytsrk: phoe: hm, that gave me a space. 2020-08-20T14:12:28Z jmercouris: I did find out, which is why I said I had to use apply :-D 2020-08-20T14:13:19Z phoe: kssytsrk: https://plaster.tymoon.eu/view/2018#2018 2020-08-20T14:13:22Z phoe: works on my machine 2020-08-20T14:13:28Z _death: jmercouris: well it could also be useful if you have a fixed but large number of lists.. Common Lisp may provide FIRST, SECOND, ... TENTH but it doesn't provide ELEVENTH ;) 2020-08-20T14:13:53Z beach: Aww! But this one goes to eleven! 2020-08-20T14:14:09Z jmercouris: (defun eleventh (li) (nth 11 li)) 2020-08-20T14:14:10Z smazga joined #lisp 2020-08-20T14:14:22Z _death: of course that can be remedied using intern and "~:R" ;) 2020-08-20T14:14:55Z _death: jmercouris: off by one 2020-08-20T14:15:06Z jmercouris: (defun eleventh (li) (nth 12 li)) 2020-08-20T14:15:34Z jackdaniel: I'm not sure i fit is a bad joke or a bad mistake 2020-08-20T14:15:43Z jackdaniel: s/i fit/if it/ 2020-08-20T14:16:11Z jmercouris: which one do you think? 2020-08-20T14:16:11Z _death: (defun eleventh (list &optional (base 20)) (nth (+ base 10) list)) 2020-08-20T14:16:22Z phoe: (defmacro defnth (n) (let ((var (gensym "LIST"))) `(defun ,(intern (substitute #\- #\Space (format nil "~:@(~:R~)" n))) (,var) (nth ,n ,var)))) 2020-08-20T14:17:12Z phoe: (defnth 1234) (one-thousand-two-hundred-thirty-fourth (loop for i below 2000 collect i)) 2020-08-20T14:17:27Z jmercouris: lol 2020-08-20T14:17:29Z jmercouris: that's great 2020-08-20T14:17:29Z phoe: fixing off-by one errors left as an exercise to the reader 2020-08-20T14:18:13Z phoe: macro dedicated to the folk who have debated the chicken-and-egg problem of Lisp and mental illness just a few whiles ago 2020-08-20T14:19:25Z smazga quit (Ping timeout: 240 seconds) 2020-08-20T14:20:04Z kssytsrk: phoe: oh wait, thanks, that works for me now too. had an unrelated problem 2020-08-20T14:20:11Z _death: that's one of CL improvements over Lisp Machine Lisp.. that latter only defined accessors upto SEVENTH 2020-08-20T14:20:21Z FreeBirdLjj joined #lisp 2020-08-20T14:20:30Z _death: though it did have REST1/REST2/REST3/REST3 ;) 2020-08-20T14:27:18Z phoe: mop structure-class 2020-08-20T14:27:18Z specbot: Couldn't find anything for structure-class. 2020-08-20T14:27:22Z phoe: clhs structure-class 2020-08-20T14:27:22Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/t_stu_cl.htm 2020-08-20T14:29:36Z edgar-rft: exercise: use INTERN, string concatenation, and LOOP to define list accessors up to MOST-POSITIVE-BIGNUMTH 2020-08-20T14:30:21Z mseddon joined #lisp 2020-08-20T14:30:40Z _death: just run it in a background thread 2020-08-20T14:31:10Z _death: may want to add a SLEEP.. every now and then hot-upgrade your system to have more RAM 2020-08-20T14:31:42Z mseddon: Any Lisp historians in? I'm curious where the package system came from, and how it looked in it's early implementations. MacLisp clearly did not have them, so I figure they were added in Lisp Machine Lisp, but I wonder if they came in from the start, or were added later. 2020-08-20T14:31:58Z shifty joined #lisp 2020-08-20T14:32:54Z _death: there was an OBLIST 2020-08-20T14:33:02Z mseddon: and then there was an OBHASH 2020-08-20T14:33:03Z mseddon: yes. 2020-08-20T14:33:11Z mseddon: But when did we start seeing FOO:BAR etc? 2020-08-20T14:33:56Z mseddon: (or at least, similar namespacing) 2020-08-20T14:34:43Z _death: LML is the earliest I know 2020-08-20T14:35:07Z smazga joined #lisp 2020-08-20T14:38:24Z _death: edgar-rft: another exercise would be to have an undefined-function handler-bind that recognizes such accessor names and defines them as needed, then restarts the operation 2020-08-20T14:39:21Z scymtym: i had the same idea: (handler-bind ((undefined-function (lambda (condition) (let* ((name (cell-error-name condition)) (ds (count #\D (symbol-name name)))) (setf (fdefinition name) (lambda (list) (nthcdr ds list))) (continue))))) (cddddddddddddddddddr (alexandria:iota 20))) 2020-08-20T14:39:22Z _death: it could also work for caadadadaaadadadar 2020-08-20T14:39:24Z jackdaniel: https://www.jwz.org/blog/2008/03/most-positive-bignum/ :) 2020-08-20T14:39:52Z smazga quit (Ping timeout: 256 seconds) 2020-08-20T14:40:38Z smazga joined #lisp 2020-08-20T14:40:42Z _death: scymtym: this reminds me of my autoquickload thingy https://github.com/death/slime/commit/19569ef771641a0afcb10ec4a44ba7f242ccde91 2020-08-20T14:40:46Z mseddon: jackdaniel: :D that is silly 2020-08-20T14:41:56Z jackdaniel: on more serious note, I think that the implementation which defines the most-positive-bignum would be still conforming if it signals a storage-condition if a result of the operation would be bigger 2020-08-20T14:41:57Z scymtym: _death: that's funny 2020-08-20T14:42:26Z jackdaniel: afaik most implementations try their best and cons until the memory ends, but still you could say i.e "the biggest bignum consumes 1MB" 2020-08-20T14:42:54Z mseddon: jackdaniel: yeah, it makes sense. An implementation may want to keep everything contiguous in heap for performance reasons, rather than doing silly contortions for very rarely used edge cases. 2020-08-20T14:43:21Z mseddon: Although heaps are huge now. so. it'd better be a lot bigger than that. 2020-08-20T14:45:05Z jackdaniel: if it is /big/ enough arguably it would be better to set an upper cap at the bignum size, because then the program would be more predictable (instead of running out of heap at random times), although I can imagine not many people would agree with that 2020-08-20T14:45:59Z patlv__ joined #lisp 2020-08-20T14:46:22Z mseddon: jackdaniel: I don't see why a bignum would be special, vs a list, for e.g. 2020-08-20T14:47:05Z patlv__ quit (Client Quit) 2020-08-20T14:47:13Z jackdaniel: sure, you have a point here 2020-08-20T14:47:14Z mseddon: but I would hope a bignum is nicely cache-coherent within a reasonable range. 2020-08-20T14:47:26Z mseddon: rather than just a horrible cons of fixnums :) 2020-08-20T14:47:43Z jackdaniel: however arrays i.e have maximal dimensions 2020-08-20T14:48:11Z jackdaniel: since they are a single object, while conses (unlike bignums), are linked independent objects 2020-08-20T14:48:15Z nicktick joined #lisp 2020-08-20T14:50:35Z mseddon: not wrong. 2020-08-20T14:50:57Z yitzi quit (Quit: yitzi) 2020-08-20T14:51:23Z edgar-rft: hmm, why are there no lists of negative length? And if yes, would they *give* memory instead of consing? 2020-08-20T14:51:52Z phoe: edgar-rft: these are dangerous thoughts 2020-08-20T14:52:07Z mseddon: :) 2020-08-20T14:52:36Z phoe: (make-list -10) ;; the 10 most recently allocated conses are freed, good luck 2020-08-20T14:53:02Z mseddon: that's too easy. Make it the 10 least recently allocated. More fun debugging. 2020-08-20T14:53:40Z mseddon: it may mean you crash later, so it's a Sensible Engineering Trade-off (tm). 2020-08-20T14:55:28Z jackdaniel: s/while conses/while lists/ 2020-08-20T14:58:37Z nullheroes joined #lisp 2020-08-20T15:00:09Z phoe: well technically 2020-08-20T15:00:17Z phoe: NIL is not a linked object, even though it is independent 2020-08-20T15:00:33Z _death: (defun cons (a b) (glue (halfcons a) (halfcons b))) 2020-08-20T15:01:17Z schweers quit (Ping timeout: 260 seconds) 2020-08-20T15:01:48Z jackdaniel: Smurtfs are not blue, because they have white teeth 2020-08-20T15:02:40Z jackdaniel: smurfs* 2020-08-20T15:03:11Z phoe: I stand corrected 2020-08-20T15:03:44Z mseddon: anyway. "There is no limit to the magnitude of an integer" and bignum == (and integer (not fixnum)). so most-positive-bignum indicates a botch. 2020-08-20T15:04:02Z mseddon: but that's an old article, maybe it didn't say that in 1984 2020-08-20T15:05:08Z edgar-rft: That's because Lisp has only CONS but no PROS 2020-08-20T15:06:23Z jackdaniel: physically there is always a limit, so having most-positive-bignum would be only admitting that (+ adding some deterministic behavior) 2020-08-20T15:06:52Z jackdaniel: but it doesn't matter anyway, I've just brought it up as a curiosity :) 2020-08-20T15:09:10Z mseddon: back in the 90's I'm pretty sure you could detonate allocating a most-positive-fixnum vector and nobody would have raised an eyebrow. 2020-08-20T15:09:21Z _death: most-lucrative-fixnum seems to contain a bank account number 2020-08-20T15:09:25Z mseddon: :D 2020-08-20T15:09:28Z edgar-rft: even if there were such a thing the value of the MOST-POSITIVE-FIXNUM variable alone would eat up all your memory 2020-08-20T15:10:10Z edgar-rft: sorry, MOST-POSITIVE-BIGNUM of course 2020-08-20T15:11:06Z mseddon: btw am I right in thinking the only real serious CL web browser attempt is JSCL at the moment? 2020-08-20T15:11:12Z jackdaniel: if we decide, that i.e the most-positive-bignum takes 32MB, then it will just eat some memory (today), also it could be consed only on demand (i.e when someone actually reads its value) 2020-08-20T15:11:45Z mseddon: yes but now your language looks stupid in 10 years when we all want bigger bignums :) 2020-08-20T15:12:05Z jackdaniel quit (Remote host closed the connection) 2020-08-20T15:12:30Z edgar-rft: another idea would be to allocate all your memory with rubbish, then you can easily define MOST-POSITIVE-BIGNUM as zero because there's no memory left 2020-08-20T15:12:40Z jackdaniel joined #lisp 2020-08-20T15:13:07Z jackdaniel: re browser implementations, there is also jacl 2020-08-20T15:13:33Z jackdaniel: developed by alandipert 2020-08-20T15:13:41Z mseddon: jackdaniel: ah, excellent, thanks! I shall check that out. 2020-08-20T15:14:16Z jackdaniel: also, few years ago, author of SCL (scieener common lisp) was active on wasm mailing lists advocating for lisp-friendly features 2020-08-20T15:14:20Z mseddon: I'm in that situation where I want one, I don't have one, and am working out if I sink ages into making my own or grab a shovel. 2020-08-20T15:14:46Z mseddon: yeah, wasm is crap atm. We can't do concurrent GC because SharedArrayBuffer was disabled, due to SPECTRE attacks. :| 2020-08-20T15:14:48Z jackdaniel: ecl works with nacl and pnacl (however both are afair deprecated) 2020-08-20T15:14:57Z _death: SLip looked pretty cool 2020-08-20T15:15:04Z mseddon: yeah that's a no-go. it has to go everywhere or it's broken. 2020-08-20T15:15:16Z mseddon: yeah, mishoo did a real good job on that. really slick work. 2020-08-20T15:16:03Z jackdaniel: there is also a path of porting ecl to emscripten compiler 2020-08-20T15:16:31Z gal_ quit (Ping timeout: 272 seconds) 2020-08-20T15:16:34Z mseddon: jackdaniel: again, until we have a roadmap for sensible gc, it's going to be worse than just transpiling to js 2020-08-20T15:16:45Z _death: funny, I also wrote a logo thingy recently (but with many turtles, a la netlogo, which is awesome.. so much lisp influence) 2020-08-20T15:17:01Z bitmapper joined #lisp 2020-08-20T15:17:27Z mujjingun joined #lisp 2020-08-20T15:17:43Z jackdaniel: it seems that a slightly modified libgc works on wasm, but I don't know details 2020-08-20T15:17:46Z beach: mseddon: What makes you think we don't have a roadmap for a sensible GC? 2020-08-20T15:18:12Z jackdaniel: he said that the problem is some limitation of wasm, not on the lisp side 2020-08-20T15:18:25Z beach: Ah, OK. Sorry. 2020-08-20T15:18:50Z beach is switching contexts too often today. 2020-08-20T15:20:35Z jackdaniel: mseddon: sure, I've just wanteed to be through about available options 2020-08-20T15:20:48Z jackdaniel: which doesn't imply implementing cl from scratch ;) 2020-08-20T15:21:27Z jackdaniel quit (Remote host closed the connection) 2020-08-20T15:21:50Z kssytsrk quit (Quit: ERC (IRC client for Emacs 27.1)) 2020-08-20T15:21:55Z jackdaniel joined #lisp 2020-08-20T15:22:07Z mseddon: ah yes, but it's single threaded. so you can't scavenge concurrently. So you either have to pause or just slow down entirely doing incremental gc 2020-08-20T15:22:53Z jackdaniel doesn't have a problem with non-concurrent GCs 2020-08-20T15:23:12Z mseddon: I mainly want CL because clojurescript is a performance nightmare for realtime graphics. so.. yeah. 2020-08-20T15:23:20Z Robdgreat joined #lisp 2020-08-20T15:23:42Z mseddon: I'm niche. and hardware is still too slow to smooth that out. 2020-08-20T15:23:48Z mseddon: and also meh. cljs 2020-08-20T15:24:39Z jackdaniel: it would certainly help to design your programs with having the gc in mind then -- i.e preallocate things you'll need and not cons at runtime. that's quite a hassle though 2020-08-20T15:24:55Z mseddon: well, clojurescript kind of hates you doing that. 2020-08-20T15:25:26Z mseddon: you don't even need to have some kind of weird region optimization like symbolics machines in a modern browser, so it seems rather silly I pay attention to trivia like that. 2020-08-20T15:26:16Z mseddon: I mean I can make clojurescript scream, it's just now the code is completely non-idiomatic and ugly as sin. And also, due to the purity, 100% incompatible with the rest of the standard library. 2020-08-20T15:26:25Z jackdaniel: if you are interested in graphic microoptimizations for weird scenarios, take a look at this http://turtleware.eu/posts/Charming-CLIM-tutorial-part-2--Rethinking-The-Output.html 2020-08-20T15:27:00Z mseddon: jackdaniel: Thanks! That looks like a really interesting series, and right up my street :D 2020-08-20T15:27:28Z jackdaniel: I think that the third post will be simply a manual which describes the final architecture 2020-08-20T15:27:48Z jackdaniel: clambering approach like this one is interesting, but very tedious and slow 2020-08-20T15:28:13Z mseddon: :D and the nature of lisp- very bottom up. Hard to actually predict where you end up. 2020-08-20T15:28:14Z jackdaniel: (and tutorials how to use the library) 2020-08-20T15:28:43Z gal joined #lisp 2020-08-20T15:31:49Z mseddon: jackdaniel: another reason why I'm skeptical about implementing CL in wasm currently: https://stackoverflow.com/questions/44263019/how-would-setjmp-longjmp-be-implemented-in-webassembly 2020-08-20T15:32:24Z mseddon: In time, it will be doable, and at THAT point, it's utterly important that that is the way it is done. But the platform hasn't completely come online yet, and it may take another decade or so for that. 2020-08-20T15:33:43Z mseddon: right now there are too many performance cliffs to fall off. 2020-08-20T15:33:47Z sedx\_ joined #lisp 2020-08-20T15:36:54Z heisig quit (Quit: Leaving) 2020-08-20T15:40:18Z iamFIREcracker joined #lisp 2020-08-20T15:40:28Z iamFIREc1 quit (Ping timeout: 265 seconds) 2020-08-20T15:40:32Z mindCrime joined #lisp 2020-08-20T15:44:46Z ljavorsk quit (Ping timeout: 260 seconds) 2020-08-20T15:45:10Z dominic34 joined #lisp 2020-08-20T15:45:11Z dominic34 quit (Excess Flood) 2020-08-20T15:45:22Z dominic34 joined #lisp 2020-08-20T15:46:02Z mseddon: that said of course, for code that does not allocate, marshalling costs are cheap as chips. 2020-08-20T15:46:50Z sedx\_ quit (Killed (Sigyn (Stay safe off irc))) 2020-08-20T15:47:37Z Robdgreat quit (Ping timeout: 264 seconds) 2020-08-20T15:49:58Z liberliver quit (Ping timeout: 256 seconds) 2020-08-20T15:50:14Z libertyprime quit (Quit: leaving) 2020-08-20T15:56:25Z technobean quit (Ping timeout: 240 seconds) 2020-08-20T16:01:50Z dddddd_ joined #lisp 2020-08-20T16:03:44Z dddddd quit (Ping timeout: 256 seconds) 2020-08-20T16:07:22Z scymtym quit (Ping timeout: 244 seconds) 2020-08-20T16:11:00Z karlosz joined #lisp 2020-08-20T16:18:01Z mseddon: @alandipert, Just watched your ELS 2020 talk, interesting work! 2020-08-20T16:20:13Z beach: mseddon: The @ convention is not used on IRC. Just type the nick followed by a `:'. Your IRC client should complete for you. 2020-08-20T16:20:32Z mseddon: alandipert: Just watched your ELS 2020 talk, interesting work! 2020-08-20T16:20:42Z mseddon: beach: Thanks, I have slipped into very bad habits. 2020-08-20T16:20:55Z beach: Don't worry about it. Just pointing it out. 2020-08-20T16:20:58Z ukari joined #lisp 2020-08-20T16:21:14Z mseddon: np, it was helpful :) 2020-08-20T16:22:28Z alandipert: mseddon: thank you 2020-08-20T16:22:53Z mseddon: I have been privately thinking along similar lines and trying out small toys myself. Is it okay to email you later? 2020-08-20T16:23:37Z orivej quit (Ping timeout: 264 seconds) 2020-08-20T16:24:33Z mseddon: I have a few cute little tricks. 2020-08-20T16:25:16Z ukari quit (Ping timeout: 256 seconds) 2020-08-20T16:26:02Z beach: You can use #sicl do discuss implementation ideas if you like. 2020-08-20T16:26:18Z mujjingun quit (Ping timeout: 260 seconds) 2020-08-20T16:26:20Z mseddon: beach: Thanks! 2020-08-20T16:26:41Z ukari joined #lisp 2020-08-20T16:26:58Z Lord_of_Life_ joined #lisp 2020-08-20T16:27:47Z scymtym joined #lisp 2020-08-20T16:28:22Z nicktick quit (Ping timeout: 246 seconds) 2020-08-20T16:28:33Z mindCrime quit (Ping timeout: 244 seconds) 2020-08-20T16:29:46Z Lord_of_Life quit (Ping timeout: 265 seconds) 2020-08-20T16:29:49Z Lord_of_Life_ is now known as Lord_of_Life 2020-08-20T16:32:12Z Alloc95 joined #lisp 2020-08-20T16:33:58Z gko_ quit (Ping timeout: 246 seconds) 2020-08-20T16:37:01Z ukari quit (Ping timeout: 265 seconds) 2020-08-20T16:38:17Z rogersm quit (Quit: Leaving...) 2020-08-20T16:41:23Z shangul quit (Ping timeout: 240 seconds) 2020-08-20T16:48:36Z yitzi joined #lisp 2020-08-20T16:54:36Z mindCrime joined #lisp 2020-08-20T16:55:20Z Alloc joined #lisp 2020-08-20T16:56:42Z dmrintr joined #lisp 2020-08-20T16:56:53Z colony joined #lisp 2020-08-20T17:03:05Z mseddon quit (Read error: Connection reset by peer) 2020-08-20T17:05:32Z Cymew quit (Ping timeout: 265 seconds) 2020-08-20T17:08:23Z Alloc quit (Quit: Quit) 2020-08-20T17:08:25Z mindCrime quit (Ping timeout: 244 seconds) 2020-08-20T17:08:26Z smazga quit (Ping timeout: 265 seconds) 2020-08-20T17:08:40Z Alloc joined #lisp 2020-08-20T17:08:59Z mseddon joined #lisp 2020-08-20T17:14:13Z smazga joined #lisp 2020-08-20T17:18:35Z smazga quit (Ping timeout: 240 seconds) 2020-08-20T17:20:45Z mseddon: beach: to clarify wrt "What makes you think we don't have a roadmap for a sensible GC?", I think we do, and ultimately it will get there, but concurrent gc on mobile is out of the question due to https://caniuse.com/#feat=sharedarraybuffer being disabled because it allows hilarious side channel attacks. 2020-08-20T17:21:01Z mseddon: footnote 1 2020-08-20T17:21:23Z grewal quit (Quit: leaving) 2020-08-20T17:21:38Z smazga joined #lisp 2020-08-20T17:21:52Z mseddon: it may be serial gc is better than I last looked, so I wouldn't rule it out completely of course. 2020-08-20T17:22:25Z dmrintr quit (Ping timeout: 264 seconds) 2020-08-20T17:22:54Z mseddon: but basically I ran out of tricks to make it fast. 2020-08-20T17:24:24Z mseddon: again, I'm looking for pause-less, or at least amortized into imperceptible pauses gc, because I'm interested at flinging things at the screen reliably within 60hz 2020-08-20T17:24:49Z mseddon: perhaps you can tune a serial gc to get acceptable performance? 2020-08-20T17:28:17Z shangul joined #lisp 2020-08-20T17:29:08Z mseddon: IE only just died. Any good solution is going to have to wait for a long time if it wants to realistically place itself in the browser, if I'm not mistaken. 2020-08-20T17:35:59Z gaqwas quit (Remote host closed the connection) 2020-08-20T17:39:39Z Alloc95 quit (Ping timeout: 245 seconds) 2020-08-20T17:41:29Z akoana joined #lisp 2020-08-20T17:41:54Z mfiano: I make games and typically fling things at the screen at 120hz without any perceptible pauses 2020-08-20T17:42:11Z shifty quit (Ping timeout: 240 seconds) 2020-08-20T17:43:46Z krid` quit (Ping timeout: 260 seconds) 2020-08-20T17:45:02Z epony quit (Ping timeout: 258 seconds) 2020-08-20T17:46:50Z mseddon: :D this is a good sign. 2020-08-20T17:46:55Z VincentVega joined #lisp 2020-08-20T17:47:30Z cosimone quit (Remote host closed the connection) 2020-08-20T17:48:09Z VincentVega: Hi, all. I have been trying to hack up some stuff with the metaobject protocol. My current goal is to make a custom slot option, accessed per instance, inherited simply by replacement. I started with the more sophisticated example given in the Art of the Metaobject Protocol (p. 87) which adds :attributes option, unions them when inherited, and 2020-08-20T17:48:09Z VincentVega: provides a (slot-attribute instance slot-name attribute) interface. I thought it would be a good start, but I can't make it run. While I managed to fix some errors in the original code, this last one I don't know how to fix, it would be cool if someone could take a look. https://pastebin.com/kqNVj59F 2020-08-20T17:49:40Z Bike: you want standard-effective-slot-definition, not effective-slot-definition 2020-08-20T17:49:43Z Bike: the latter is an abstract class 2020-08-20T17:50:56Z VincentVega: Bike: well, that was fast. it works now. 2020-08-20T17:51:08Z Bike: someone else had the same issue a few weeks ago 2020-08-20T17:52:37Z VincentVega: Bike: Oh : ) Well, thanks man. I suppose this example in the book is relevant otherwise? 2020-08-20T17:53:00Z Bike: does the book actually make-instance effective-slot-definition? 2020-08-20T17:53:15Z VincentVega: let me check 2020-08-20T17:53:15Z Bike: i don't have a copy and it's been a while since i read it 2020-08-20T17:54:06Z VincentVega: It just calls make-effective-slot-definition 2020-08-20T17:54:34Z Bike: i don't think that's an actual function, so that sounds wrong to me 2020-08-20T17:54:42Z Bike: the book is about a work in progress, after all 2020-08-20T17:55:27Z VincentVega: Yeah, I didn't find it to be defined anywhere, so I just figured I would call make-instance. 2020-08-20T17:56:21Z VincentVega: I mean it's defined in the book appendix, but not in closer mop. 2020-08-20T17:56:54Z Bike: how is it defined in the book? 2020-08-20T17:57:49Z VincentVega: just a sec 2020-08-20T18:01:04Z VincentVega: https://pastebin.com/eqz3py3X 2020-08-20T18:01:30Z shangul quit (Ping timeout: 260 seconds) 2020-08-20T18:02:40Z mseddon quit (Quit: Leaving) 2020-08-20T18:03:52Z EvW1 quit (Ping timeout: 260 seconds) 2020-08-20T18:05:03Z mfiano: What would be a good way to define a custom #'typep function that is only suitable for testing if an object is of a particular standard-class type (so no complex type specifiers), so undefined types should not raise an error condition, just simply return NIL? 2020-08-20T18:05:37Z gal quit (Ping timeout: 272 seconds) 2020-08-20T18:05:38Z phoe: of particular standard-class type? 2020-08-20T18:06:31Z mfiano: (defclass foo () ()) (typep (make-instance 'foo) 'foo) ; => T. (typep (make-instance 'foo) 'bar) ;=> NIL 2020-08-20T18:06:31Z _death: (and (find-class typespec nil) (typep object typespec)) ? 2020-08-20T18:07:14Z mfiano: Ah that could work, thanks. 2020-08-20T18:07:16Z phoe: (defun my-typep (object type) (let ((class-1 (class-of object)) (class-2 (find-class type nil))) (when class-2 (subtypep class-1 class-2)))) 2020-08-20T18:07:27Z phoe: oh, yes, what _death said 2020-08-20T18:14:36Z gaqwas joined #lisp 2020-08-20T18:14:36Z gaqwas quit (Changing host) 2020-08-20T18:14:37Z gaqwas joined #lisp 2020-08-20T18:15:13Z Bike: VincentVega: oh, well, this is just some bootstrapping thing then 2020-08-20T18:17:18Z jonatack quit (Quit: jonatack) 2020-08-20T18:17:25Z gravicappa quit (Ping timeout: 240 seconds) 2020-08-20T18:17:55Z gal joined #lisp 2020-08-20T18:18:23Z VincentVega: Bike: Yeah 2020-08-20T18:21:49Z sjl quit (Ping timeout: 264 seconds) 2020-08-20T18:21:52Z bocaneri quit (Read error: Connection reset by peer) 2020-08-20T18:26:01Z tamurasama joined #lisp 2020-08-20T18:27:47Z Alloc quit (Ping timeout: 260 seconds) 2020-08-20T18:28:11Z Alloc joined #lisp 2020-08-20T18:30:57Z gal quit (Ping timeout: 272 seconds) 2020-08-20T18:34:54Z jonatack joined #lisp 2020-08-20T18:35:00Z phoe: Xach: the code blocks on planet lisp could perhaps use either line breaks or horizontal scrolling 2020-08-20T18:35:20Z colony quit (Remote host closed the connection) 2020-08-20T18:35:25Z phoe: saying this because the recentmost post of mine digs into the sidebar with one line of LOOP 2020-08-20T18:35:37Z colony joined #lisp 2020-08-20T18:35:47Z sjl joined #lisp 2020-08-20T18:35:55Z gaqwas quit (Remote host closed the connection) 2020-08-20T18:35:55Z krid` joined #lisp 2020-08-20T18:35:57Z Xach: oh bother 2020-08-20T18:36:00Z _death: you should also define the setf function ;) 2020-08-20T18:36:17Z phoe: _death: left as an exercise for the reader 2020-08-20T18:36:34Z gal joined #lisp 2020-08-20T18:39:23Z narendraj9 quit (Quit: Bye bye!) 2020-08-20T18:39:25Z colony left #lisp 2020-08-20T18:40:03Z edgar-rft quit (Quit: Leaving) 2020-08-20T18:46:07Z phoe: Xach: the simplest CSS fix I have found: pre { overflow-x: auto; } 2020-08-20T18:47:32Z Jesin joined #lisp 2020-08-20T18:51:52Z rumbler31_ joined #lisp 2020-08-20T18:55:47Z orivej joined #lisp 2020-08-20T18:55:57Z CrazyEddy joined #lisp 2020-08-20T19:00:05Z gal quit (Ping timeout: 272 seconds) 2020-08-20T19:01:47Z Jesin quit (Quit: Leaving) 2020-08-20T19:01:51Z dominic35 joined #lisp 2020-08-20T19:02:01Z dominic34 quit (Ping timeout: 265 seconds) 2020-08-20T19:02:01Z dominic35 is now known as dominic34 2020-08-20T19:06:10Z dddddd_ is now known as dddddd 2020-08-20T19:09:45Z pfr quit (Ping timeout: 240 seconds) 2020-08-20T19:12:52Z troydm quit (Ping timeout: 246 seconds) 2020-08-20T19:13:41Z mindCrime joined #lisp 2020-08-20T19:14:48Z sjl_ joined #lisp 2020-08-20T19:15:01Z troydm joined #lisp 2020-08-20T19:25:10Z tamurasama quit (Quit: WeeChat 2.3) 2020-08-20T19:32:59Z vhost- quit (Quit: WeeChat 2.8) 2020-08-20T19:36:15Z TwoNotes joined #lisp 2020-08-20T19:43:28Z vhost- joined #lisp 2020-08-20T19:43:28Z vhost- quit (Changing host) 2020-08-20T19:43:28Z vhost- joined #lisp 2020-08-20T19:43:35Z kaftejiman joined #lisp 2020-08-20T19:45:40Z q3d joined #lisp 2020-08-20T19:59:01Z ukari joined #lisp 2020-08-20T20:00:03Z VincentVega quit (Remote host closed the connection) 2020-08-20T20:00:21Z jasom: wow; abcl shaved quite a bit of time off of startup since 1.5 2020-08-20T20:00:47Z jasom: as in several minutes on the DoppioVM on firefox 2020-08-20T20:01:27Z jasom: I'll have to try to find and resurrect my abcl-in-doppio demo and see if I can't get a REPL in under 5 minutes on firefox and under 2 minutes on chrome 2020-08-20T20:01:34Z aaaaaa joined #lisp 2020-08-20T20:02:29Z jasom: Firefox loading a .lisp file with only '(quit) in it: Time elapsed: 237277 ms. Chrome: Time elapsed: 97819 ms. 2020-08-20T20:04:01Z jasom: in both cases, the majority of the time is *after* abcl prints the "Startup completed" message. 2020-08-20T20:06:56Z luckless joined #lisp 2020-08-20T20:09:43Z luckless_ quit (Ping timeout: 240 seconds) 2020-08-20T20:10:32Z ggole quit (Quit: Leaving) 2020-08-20T20:12:26Z aaaaaa quit (Quit: leaving) 2020-08-20T20:15:41Z epony joined #lisp 2020-08-20T20:16:54Z alandipert: jasom that's an interesting idea 2020-08-20T20:17:19Z gaqwas joined #lisp 2020-08-20T20:17:19Z gaqwas quit (Changing host) 2020-08-20T20:17:20Z gaqwas joined #lisp 2020-08-20T20:18:20Z msk__ joined #lisp 2020-08-20T20:20:37Z msk quit (Ping timeout: 264 seconds) 2020-08-20T20:22:09Z mseddon_ joined #lisp 2020-08-20T20:22:09Z mseddon joined #lisp 2020-08-20T20:22:42Z mseddon quit (Client Quit) 2020-08-20T20:22:42Z mseddon_ quit (Client Quit) 2020-08-20T20:23:17Z tutti joined #lisp 2020-08-20T20:29:45Z wsinatra quit (Quit: WeeChat 2.9) 2020-08-20T20:31:26Z shka_ quit (Ping timeout: 265 seconds) 2020-08-20T20:36:45Z yitzi quit (Read error: Connection reset by peer) 2020-08-20T20:39:44Z TwoNotes quit (Quit: Leaving) 2020-08-20T20:41:48Z CrazyEddy quit (Ping timeout: 256 seconds) 2020-08-20T20:42:54Z yitzi joined #lisp 2020-08-20T20:51:02Z _whitelogger quit (Remote host closed the connection) 2020-08-20T20:51:43Z Oddity_ is now known as Oddity 2020-08-20T20:53:12Z _whitelogger joined #lisp 2020-08-20T20:54:10Z fsmunoz joined #lisp 2020-08-20T20:55:12Z ralt joined #lisp 2020-08-20T21:02:17Z Bourne joined #lisp 2020-08-20T21:02:22Z cosimone joined #lisp 2020-08-20T21:03:15Z CrazyEddy joined #lisp 2020-08-20T21:04:02Z q3d quit (Remote host closed the connection) 2020-08-20T21:06:23Z epony quit (Remote host closed the connection) 2020-08-20T21:10:46Z aeth: wait, so that makes ABCL the way to run CL in the browser, not the actual attempts like JSCL? Wow. 2020-08-20T21:12:28Z rogersm joined #lisp 2020-08-20T21:21:11Z epony joined #lisp 2020-08-20T21:22:41Z Jesin joined #lisp 2020-08-20T21:24:09Z X-Scale quit (Read error: Connection reset by peer) 2020-08-20T21:28:32Z akoana left #lisp 2020-08-20T21:50:42Z pve quit (Quit: leaving) 2020-08-20T21:53:55Z msk__ quit (Ping timeout: 240 seconds) 2020-08-20T21:55:02Z rogersm quit (Quit: Leaving...) 2020-08-20T21:57:57Z gaqwas quit (Ping timeout: 265 seconds) 2020-08-20T22:16:33Z cosimone quit (Quit: Quit.) 2020-08-20T22:24:32Z sjl_ quit (Ping timeout: 265 seconds) 2020-08-20T22:31:37Z tutti quit (Ping timeout: 272 seconds) 2020-08-20T22:44:59Z gal joined #lisp 2020-08-20T22:49:24Z shifty joined #lisp 2020-08-20T22:53:39Z kaftejiman quit (Remote host closed the connection) 2020-08-20T22:53:59Z bsd4me quit (Quit: Leaving) 2020-08-20T23:03:20Z hiranochan joined #lisp 2020-08-20T23:06:50Z igemnace quit (Quit: WeeChat 2.9) 2020-08-20T23:13:44Z EvW joined #lisp 2020-08-20T23:14:12Z mangoicedtea joined #lisp 2020-08-20T23:14:59Z random-nick quit (Ping timeout: 240 seconds) 2020-08-20T23:28:43Z wxie joined #lisp 2020-08-20T23:30:06Z Jesin quit (Quit: Leaving) 2020-08-20T23:40:18Z orivej quit (Ping timeout: 256 seconds) 2020-08-20T23:40:31Z orivej joined #lisp 2020-08-20T23:41:01Z wxie quit (Ping timeout: 264 seconds) 2020-08-20T23:42:55Z fsmunoz quit (Ping timeout: 240 seconds) 2020-08-20T23:49:43Z grewal joined #lisp 2020-08-20T23:52:12Z rumbler31_ quit (Ping timeout: 256 seconds) 2020-08-20T23:53:57Z rme quit (Ping timeout: 272 seconds) 2020-08-20T23:56:13Z gendl quit (Ping timeout: 260 seconds) 2020-08-20T23:56:35Z selwyn quit (Ping timeout: 244 seconds) 2020-08-20T23:56:35Z terrorjack quit (Ping timeout: 244 seconds) 2020-08-20T23:56:55Z rme joined #lisp 2020-08-20T23:56:56Z mpontillo quit (Read error: Connection reset by peer) 2020-08-20T23:57:55Z selwyn joined #lisp 2020-08-20T23:59:00Z mpontillo joined #lisp 2020-08-20T23:59:33Z jesse1010 quit (Remote host closed the connection) 2020-08-21T00:01:29Z gendl joined #lisp 2020-08-21T00:01:54Z terrorjack joined #lisp 2020-08-21T00:03:07Z jesse1010 joined #lisp 2020-08-21T00:05:23Z Bike quit (Quit: leaving) 2020-08-21T00:07:27Z Oddity quit (Read error: Connection reset by peer) 2020-08-21T00:07:43Z terrorjack quit (Max SendQ exceeded) 2020-08-21T00:07:51Z Oddity joined #lisp 2020-08-21T00:09:11Z brass quit (Remote host closed the connection) 2020-08-21T00:09:27Z brass_ joined #lisp 2020-08-21T00:09:34Z jw4 quit (Quit: tot siens) 2020-08-21T00:09:58Z jw4 joined #lisp 2020-08-21T00:13:03Z Aurora_v_kosmose quit (Ping timeout: 240 seconds) 2020-08-21T00:14:23Z Aurora_v_kosmose joined #lisp 2020-08-21T00:15:42Z jmercouris quit (Ping timeout: 244 seconds) 2020-08-21T00:16:23Z nicktick joined #lisp 2020-08-21T00:16:45Z mujjingun joined #lisp 2020-08-21T00:16:52Z wxie joined #lisp 2020-08-21T00:17:03Z jmercouris joined #lisp 2020-08-21T00:20:40Z terrorjack joined #lisp 2020-08-21T00:23:10Z penguwin quit (Quit: NO CARRIER) 2020-08-21T00:23:56Z penguwin joined #lisp 2020-08-21T00:31:40Z orivej quit (Ping timeout: 272 seconds) 2020-08-21T00:36:44Z wxie quit (Ping timeout: 258 seconds) 2020-08-21T00:46:43Z dominic35 joined #lisp 2020-08-21T00:46:58Z dominic34 quit (Ping timeout: 260 seconds) 2020-08-21T00:46:58Z dominic35 is now known as dominic34 2020-08-21T00:53:34Z niceplace quit (Ping timeout: 260 seconds) 2020-08-21T00:57:27Z mangoicedtea quit (Ping timeout: 260 seconds) 2020-08-21T01:02:55Z hiranochan quit (Quit: WeeChat 2.3) 2020-08-21T01:08:30Z ukari quit (Remote host closed the connection) 2020-08-21T01:10:32Z orivej joined #lisp 2020-08-21T01:12:16Z cantstanya quit (Remote host closed the connection) 2020-08-21T01:14:18Z torbo joined #lisp 2020-08-21T01:15:09Z jgodbout quit (Ping timeout: 265 seconds) 2020-08-21T01:16:54Z kimura joined #lisp 2020-08-21T01:18:50Z cantstanya joined #lisp 2020-08-21T01:24:59Z ralt quit (Quit: Connection closed for inactivity) 2020-08-21T01:25:33Z FreeBirdLjj quit (Remote host closed the connection) 2020-08-21T01:27:29Z jasom: aeth: it's not practical because DoppioVM is slow *and* abcl is slow and (slow * slow) => very slow 2020-08-21T01:27:48Z jasom: aeth: but okay for just a in-browser toy repl 2020-08-21T01:36:25Z smazga quit (Ping timeout: 265 seconds) 2020-08-21T01:43:43Z gxt quit (Ping timeout: 240 seconds) 2020-08-21T01:46:18Z gxt joined #lisp 2020-08-21T01:47:50Z Jesin joined #lisp 2020-08-21T01:48:09Z kimura quit (Quit: WeeChat 2.3) 2020-08-21T01:48:46Z karlosz quit (Quit: karlosz) 2020-08-21T01:51:49Z zulu-inuoe quit (Read error: Connection reset by peer) 2020-08-21T01:52:06Z orivej quit (Ping timeout: 272 seconds) 2020-08-21T01:55:16Z edgar-rft joined #lisp 2020-08-21T01:55:40Z dim quit (Ping timeout: 256 seconds) 2020-08-21T01:56:24Z dim joined #lisp 2020-08-21T02:00:31Z bsd4me joined #lisp 2020-08-21T02:01:08Z smazga joined #lisp 2020-08-21T02:03:42Z zaquest quit (Quit: Leaving) 2020-08-21T02:04:22Z iamFIREc1 joined #lisp 2020-08-21T02:06:52Z smazga quit (Ping timeout: 265 seconds) 2020-08-21T02:06:52Z iamFIREcracker quit (Ping timeout: 265 seconds) 2020-08-21T02:07:56Z jesse1010 quit (Ping timeout: 272 seconds) 2020-08-21T02:11:55Z EvW quit (Ping timeout: 240 seconds) 2020-08-21T02:19:40Z zaquest joined #lisp 2020-08-21T02:28:14Z brass_ quit (Quit: ZNC 1.7.5 - https://znc.in) 2020-08-21T02:28:31Z brass joined #lisp 2020-08-21T02:30:21Z Oladon joined #lisp 2020-08-21T02:48:36Z niceplace joined #lisp 2020-08-21T02:55:28Z smazga joined #lisp 2020-08-21T02:59:16Z bsd4me quit (Quit: Leaving) 2020-08-21T03:01:00Z smazga quit (Ping timeout: 265 seconds) 2020-08-21T03:02:22Z Alfr__ joined #lisp 2020-08-21T03:05:12Z Alfr_ quit (Ping timeout: 260 seconds) 2020-08-21T03:22:25Z shangul joined #lisp 2020-08-21T03:22:44Z beach: Good morning everyone! 2020-08-21T03:22:44Z smazga joined #lisp 2020-08-21T03:34:42Z smazga quit (Ping timeout: 272 seconds) 2020-08-21T03:35:42Z easye: Mornin', beach. 2020-08-21T03:45:03Z Mawile quit (Read error: Connection reset by peer) 2020-08-21T03:58:08Z zigpaw1 quit (Ping timeout: 256 seconds) 2020-08-21T03:58:17Z mindCrime quit (Ping timeout: 260 seconds) 2020-08-21T03:59:03Z hendursaga quit (Ping timeout: 240 seconds) 2020-08-21T04:00:35Z zigpaw1 joined #lisp 2020-08-21T04:00:37Z hendursaga joined #lisp 2020-08-21T04:03:25Z gravicappa joined #lisp 2020-08-21T04:07:11Z jw4 quit (Ping timeout: 258 seconds) 2020-08-21T04:09:07Z karlosz joined #lisp 2020-08-21T04:10:25Z Jesin quit (Ping timeout: 264 seconds) 2020-08-21T04:15:02Z _whitelogger quit (Remote host closed the connection) 2020-08-21T04:16:44Z smazga joined #lisp 2020-08-21T04:17:12Z _whitelogger joined #lisp 2020-08-21T04:19:40Z r3x5- quit (Ping timeout: 256 seconds) 2020-08-21T04:20:06Z r3x5 joined #lisp 2020-08-21T04:21:58Z paul0 joined #lisp 2020-08-21T04:24:13Z _paul0 quit (Ping timeout: 264 seconds) 2020-08-21T04:25:13Z bsd4me joined #lisp 2020-08-21T04:26:13Z torbo quit (Remote host closed the connection) 2020-08-21T04:26:35Z Oladon quit (Quit: Leaving.) 2020-08-21T04:28:55Z Lord_of_Life_ joined #lisp 2020-08-21T04:29:05Z FreeBirdLjj joined #lisp 2020-08-21T04:29:48Z Lord_of_Life quit (Ping timeout: 256 seconds) 2020-08-21T04:30:16Z Lord_of_Life_ is now known as Lord_of_Life 2020-08-21T04:33:05Z nicktick quit (Ping timeout: 240 seconds) 2020-08-21T04:36:46Z smazga quit (Ping timeout: 272 seconds) 2020-08-21T04:48:27Z gal quit (Ping timeout: 272 seconds) 2020-08-21T04:49:47Z Aipie3ae joined #lisp 2020-08-21T04:53:37Z froggey quit (Ping timeout: 264 seconds) 2020-08-21T04:55:17Z Aipie3ae quit (Max SendQ exceeded) 2020-08-21T04:55:19Z froggey joined #lisp 2020-08-21T04:56:44Z gaqwas joined #lisp 2020-08-21T04:56:44Z gaqwas quit (Changing host) 2020-08-21T04:56:45Z gaqwas joined #lisp 2020-08-21T05:17:23Z hendursaga quit (Ping timeout: 240 seconds) 2020-08-21T05:18:52Z nicktick joined #lisp 2020-08-21T05:20:31Z hendursaga joined #lisp 2020-08-21T05:21:28Z FreeBirdLjj quit (Remote host closed the connection) 2020-08-21T05:23:05Z nicktick quit (Ping timeout: 240 seconds) 2020-08-21T05:25:31Z smazga joined #lisp 2020-08-21T05:25:44Z schweers joined #lisp 2020-08-21T05:29:55Z smazga quit (Ping timeout: 240 seconds) 2020-08-21T05:30:44Z Oladon joined #lisp 2020-08-21T05:35:42Z jw4 joined #lisp 2020-08-21T05:37:36Z dominic34 quit (Ping timeout: 265 seconds) 2020-08-21T05:38:25Z shangul quit (Ping timeout: 240 seconds) 2020-08-21T05:39:57Z bocaneri joined #lisp 2020-08-21T05:40:56Z karlosz quit (Quit: karlosz) 2020-08-21T05:43:16Z smazga joined #lisp 2020-08-21T05:43:54Z jasom: hmm portacle stopped working after I rebooted my machine 2020-08-21T05:44:06Z jasom: I' 2020-08-21T05:44:15Z jasom: I'm sure Ubuntu broke something again... *sigh* 2020-08-21T05:44:22Z Necktwi quit (Ping timeout: 265 seconds) 2020-08-21T05:44:39Z schweers: beach: regarding my question from yesterday about DECODE-UNIVERSAL-TIME and dst. I was wrong, everything works as expected. I was running my code in a docker container, which had a different (hence wrong) timezone. 2020-08-21T05:45:41Z beach: Oh, heh! 2020-08-21T05:46:04Z schweers: So all is well afterall 2020-08-21T05:46:22Z beach: Great! 2020-08-21T05:47:17Z _oldtopman quit (Ping timeout: 240 seconds) 2020-08-21T05:47:17Z lottaquestions_ quit (Remote host closed the connection) 2020-08-21T05:47:24Z lottaquestions joined #lisp 2020-08-21T05:48:08Z _oldtopman joined #lisp 2020-08-21T05:48:49Z smazga quit (Ping timeout: 264 seconds) 2020-08-21T05:49:08Z krid` quit (Ping timeout: 256 seconds) 2020-08-21T05:57:55Z jw4 quit (Ping timeout: 240 seconds) 2020-08-21T06:01:02Z Oladon quit (Read error: Connection reset by peer) 2020-08-21T06:02:06Z Oladon joined #lisp 2020-08-21T06:08:21Z Jesin joined #lisp 2020-08-21T06:17:59Z jw4 joined #lisp 2020-08-21T06:19:50Z toorevitimirp joined #lisp 2020-08-21T06:24:39Z jonatack quit (Quit: jonatack) 2020-08-21T06:29:11Z jonatack joined #lisp 2020-08-21T06:29:43Z bsd4me quit (Quit: Leaving) 2020-08-21T06:33:15Z q-u-a-n2 quit (Read error: Connection reset by peer) 2020-08-21T06:33:32Z q-u-a-n2 joined #lisp 2020-08-21T06:34:17Z smazga joined #lisp 2020-08-21T06:34:46Z gravicappa quit (Ping timeout: 258 seconds) 2020-08-21T06:35:53Z shangul joined #lisp 2020-08-21T06:38:25Z jonatack quit (Ping timeout: 240 seconds) 2020-08-21T06:38:52Z toorevitimirp quit (*.net *.split) 2020-08-21T06:38:52Z Bourne quit (*.net *.split) 2020-08-21T06:38:52Z Alloc quit (*.net *.split) 2020-08-21T06:38:53Z dddddd quit (*.net *.split) 2020-08-21T06:38:53Z jello_pudding quit (*.net *.split) 2020-08-21T06:38:53Z stepnem quit (*.net *.split) 2020-08-21T06:38:53Z whiteline quit (*.net *.split) 2020-08-21T06:38:53Z simplegauss quit (*.net *.split) 2020-08-21T06:38:53Z nullman quit (*.net *.split) 2020-08-21T06:38:53Z alandipert quit (*.net *.split) 2020-08-21T06:38:53Z specbot quit (*.net *.split) 2020-08-21T06:38:53Z hjudt quit (*.net *.split) 2020-08-21T06:38:53Z eta quit (*.net *.split) 2020-08-21T06:38:53Z remexre quit (*.net *.split) 2020-08-21T06:38:53Z nmg quit (*.net *.split) 2020-08-21T06:38:54Z bytesighs quit (*.net *.split) 2020-08-21T06:38:54Z thecoffemaker quit (*.net *.split) 2020-08-21T06:38:54Z fouric quit (*.net *.split) 2020-08-21T06:38:54Z jdz quit (*.net *.split) 2020-08-21T06:38:54Z brettgilio quit (*.net *.split) 2020-08-21T06:38:54Z srji quit (*.net *.split) 2020-08-21T06:38:55Z stux|RC-only quit (*.net *.split) 2020-08-21T06:39:01Z smazga quit (Ping timeout: 259 seconds) 2020-08-21T06:40:04Z kaun_ joined #lisp 2020-08-21T06:41:57Z frgo quit (Remote host closed the connection) 2020-08-21T06:43:43Z toorevitimirp joined #lisp 2020-08-21T06:43:43Z Bourne joined #lisp 2020-08-21T06:43:43Z Alloc joined #lisp 2020-08-21T06:43:43Z dddddd joined #lisp 2020-08-21T06:43:43Z jello_pudding joined #lisp 2020-08-21T06:43:43Z stepnem joined #lisp 2020-08-21T06:43:43Z whiteline joined #lisp 2020-08-21T06:43:43Z simplegauss joined #lisp 2020-08-21T06:43:43Z nullman joined #lisp 2020-08-21T06:43:43Z alandipert joined #lisp 2020-08-21T06:43:43Z specbot joined #lisp 2020-08-21T06:43:43Z hjudt joined #lisp 2020-08-21T06:43:43Z eta joined #lisp 2020-08-21T06:43:43Z remexre joined #lisp 2020-08-21T06:43:43Z nmg joined #lisp 2020-08-21T06:43:43Z bytesighs joined #lisp 2020-08-21T06:43:43Z thecoffemaker joined #lisp 2020-08-21T06:43:43Z fouric joined #lisp 2020-08-21T06:43:43Z jdz joined #lisp 2020-08-21T06:43:43Z brettgilio joined #lisp 2020-08-21T06:43:43Z srji joined #lisp 2020-08-21T06:43:43Z stux|RC-only joined #lisp 2020-08-21T06:45:47Z ggole joined #lisp 2020-08-21T06:54:38Z Cymew joined #lisp 2020-08-21T06:55:23Z jw4 quit (Read error: Connection reset by peer) 2020-08-21T06:56:05Z Alloc quit (Ping timeout: 240 seconds) 2020-08-21T06:56:41Z Alloc joined #lisp 2020-08-21T06:56:57Z jw4 joined #lisp 2020-08-21T06:58:35Z Archenoth joined #lisp 2020-08-21T07:01:27Z v3ga quit (Ping timeout: 272 seconds) 2020-08-21T07:01:38Z pve joined #lisp 2020-08-21T07:01:49Z v3ga joined #lisp 2020-08-21T07:01:58Z Oladon quit (Quit: Leaving.) 2020-08-21T07:02:07Z iamFIREcracker joined #lisp 2020-08-21T07:04:40Z iamFIREc1 quit (Ping timeout: 258 seconds) 2020-08-21T07:06:31Z jw4 quit (Read error: Connection reset by peer) 2020-08-21T07:07:33Z jw4 joined #lisp 2020-08-21T07:08:49Z liberliver joined #lisp 2020-08-21T07:09:24Z smazga joined #lisp 2020-08-21T07:13:48Z ralt joined #lisp 2020-08-21T07:14:28Z smazga quit (Ping timeout: 272 seconds) 2020-08-21T07:17:56Z toorevitimirp quit (Remote host closed the connection) 2020-08-21T07:19:33Z toorevitimirp joined #lisp 2020-08-21T07:21:36Z shka_ joined #lisp 2020-08-21T07:23:32Z toorevitimirp quit (Remote host closed the connection) 2020-08-21T07:24:01Z toorevitimirp joined #lisp 2020-08-21T07:24:22Z rogersm joined #lisp 2020-08-21T07:26:21Z Alloc quit (Ping timeout: 265 seconds) 2020-08-21T07:26:57Z Alloc joined #lisp 2020-08-21T07:31:34Z treflip joined #lisp 2020-08-21T07:41:13Z smazga joined #lisp 2020-08-21T07:46:10Z smazga quit (Ping timeout: 265 seconds) 2020-08-21T07:50:22Z Alloc quit (*.net *.split) 2020-08-21T07:50:22Z pve quit (*.net *.split) 2020-08-21T07:50:22Z _oldtopman quit (*.net *.split) 2020-08-21T07:50:22Z bocaneri quit (*.net *.split) 2020-08-21T07:50:23Z Lord_of_Life quit (*.net *.split) 2020-08-21T07:50:23Z paul0 quit (*.net *.split) 2020-08-21T07:50:23Z r3x5 quit (*.net *.split) 2020-08-21T07:50:23Z edgar-rft quit (*.net *.split) 2020-08-21T07:50:23Z mujjingun quit (*.net *.split) 2020-08-21T07:50:23Z selwyn quit (*.net *.split) 2020-08-21T07:50:23Z grewal quit (*.net *.split) 2020-08-21T07:50:23Z cdegroot quit (*.net *.split) 2020-08-21T07:50:23Z kingcons quit (*.net *.split) 2020-08-21T07:50:23Z mood quit (*.net *.split) 2020-08-21T07:50:23Z wigust quit (*.net *.split) 2020-08-21T07:50:28Z scymtym quit (Ping timeout: 256 seconds) 2020-08-21T07:53:07Z bocaneri joined #lisp 2020-08-21T07:54:05Z lottaquestions_ joined #lisp 2020-08-21T07:55:21Z lottaquestions quit (Ping timeout: 265 seconds) 2020-08-21T08:06:28Z ralt: does anyone know if github's "j3pic" is around on IRC? 2020-08-21T08:07:14Z scymtym joined #lisp 2020-08-21T08:08:09Z ralt: author/maintainer of lisp-binary 2020-08-21T08:08:58Z smazga joined #lisp 2020-08-21T08:09:07Z hendursa1 joined #lisp 2020-08-21T08:11:43Z hendursaga quit (Ping timeout: 240 seconds) 2020-08-21T08:12:09Z dmr0x80 joined #lisp 2020-08-21T08:14:17Z EvW joined #lisp 2020-08-21T08:22:13Z Alloc joined #lisp 2020-08-21T08:22:13Z pve joined #lisp 2020-08-21T08:22:13Z _oldtopman joined #lisp 2020-08-21T08:22:13Z Lord_of_Life joined #lisp 2020-08-21T08:22:13Z paul0 joined #lisp 2020-08-21T08:22:13Z r3x5 joined #lisp 2020-08-21T08:22:13Z edgar-rft joined #lisp 2020-08-21T08:22:13Z mujjingun joined #lisp 2020-08-21T08:22:13Z selwyn joined #lisp 2020-08-21T08:22:13Z grewal joined #lisp 2020-08-21T08:22:13Z kingcons joined #lisp 2020-08-21T08:22:13Z cdegroot joined #lisp 2020-08-21T08:22:13Z mood joined #lisp 2020-08-21T08:22:13Z wigust joined #lisp 2020-08-21T08:31:06Z Necktwi joined #lisp 2020-08-21T08:34:06Z vaporatorius__ quit (Ping timeout: 256 seconds) 2020-08-21T08:39:49Z smazga quit (Ping timeout: 265 seconds) 2020-08-21T08:40:19Z ljavorsk joined #lisp 2020-08-21T08:41:38Z smazga joined #lisp 2020-08-21T08:44:10Z tfb quit (Ping timeout: 265 seconds) 2020-08-21T08:44:28Z buoy49 quit (Ping timeout: 256 seconds) 2020-08-21T08:44:32Z kilimanjaro quit (Ping timeout: 244 seconds) 2020-08-21T08:44:43Z asedeno quit (Ping timeout: 260 seconds) 2020-08-21T08:45:03Z lispyone_ quit (Ping timeout: 244 seconds) 2020-08-21T08:45:21Z kilimanjaro joined #lisp 2020-08-21T08:45:36Z buoy49 joined #lisp 2020-08-21T08:46:23Z lispyone_ joined #lisp 2020-08-21T08:46:25Z tfb joined #lisp 2020-08-21T08:46:35Z smazga quit (Ping timeout: 265 seconds) 2020-08-21T08:47:07Z asedeno joined #lisp 2020-08-21T08:53:10Z jonatack joined #lisp 2020-08-21T08:55:59Z EvW quit (Ping timeout: 244 seconds) 2020-08-21T08:56:01Z smazga joined #lisp 2020-08-21T09:00:25Z smazga quit (Ping timeout: 240 seconds) 2020-08-21T09:06:46Z orivej joined #lisp 2020-08-21T09:23:01Z smazga joined #lisp 2020-08-21T09:27:25Z smazga quit (Ping timeout: 240 seconds) 2020-08-21T09:28:41Z nicktick joined #lisp 2020-08-21T09:31:10Z jonatack quit (Read error: Connection reset by peer) 2020-08-21T09:31:47Z smazga joined #lisp 2020-08-21T09:35:06Z jesse1010 joined #lisp 2020-08-21T09:36:28Z smazga quit (Ping timeout: 258 seconds) 2020-08-21T09:38:33Z yitzi quit (Quit: yitzi) 2020-08-21T09:39:39Z yitzi joined #lisp 2020-08-21T09:40:40Z gal joined #lisp 2020-08-21T09:48:48Z treflip quit (Quit: WeeChat 2.6) 2020-08-21T09:54:03Z pfr joined #lisp 2020-08-21T10:10:52Z smazga joined #lisp 2020-08-21T10:15:10Z smazga quit (Ping timeout: 246 seconds) 2020-08-21T10:23:44Z shangul quit (Ping timeout: 265 seconds) 2020-08-21T10:25:32Z jonatack joined #lisp 2020-08-21T10:32:26Z orivej quit (Ping timeout: 258 seconds) 2020-08-21T10:37:34Z Bourne quit (Read error: Connection reset by peer) 2020-08-21T10:39:16Z smazga joined #lisp 2020-08-21T10:39:45Z phoe: don't think so - you can contact him via github though, they seem active there 2020-08-21T10:40:45Z ralt: I opened a PR 2 days ago and am needlessly impatient, this can definitely wait 2020-08-21T10:42:35Z kaun_ quit (Ping timeout: 265 seconds) 2020-08-21T10:43:17Z kaun_ joined #lisp 2020-08-21T10:43:25Z smazga quit (Ping timeout: 240 seconds) 2020-08-21T10:56:58Z vaporatorius joined #lisp 2020-08-21T10:56:58Z vaporatorius quit (Changing host) 2020-08-21T10:56:58Z vaporatorius joined #lisp 2020-08-21T11:01:25Z gravicappa joined #lisp 2020-08-21T11:06:21Z smazga joined #lisp 2020-08-21T11:10:55Z zigpaw1 quit (Ping timeout: 240 seconds) 2020-08-21T11:17:02Z smazga quit (Ping timeout: 272 seconds) 2020-08-21T11:21:34Z yitzi quit (Remote host closed the connection) 2020-08-21T11:21:49Z yitzi joined #lisp 2020-08-21T11:21:55Z zigpaw1 joined #lisp 2020-08-21T11:26:51Z random-nick joined #lisp 2020-08-21T11:30:02Z phoe: I'm making a standard-method manually and I need a description of the protocol of how the arguments are passed to the method function. 2020-08-21T11:30:25Z wxie joined #lisp 2020-08-21T11:30:40Z phoe: http://metamodular.com/CLOS-MOP/initialization-of-method-metaobjects.html tells me nothing just yet 2020-08-21T11:31:29Z phoe: Oh, wait, it seems that I need to use MAKE-METHOD-LAMBDA. 2020-08-21T11:31:44Z yitzi quit (Remote host closed the connection) 2020-08-21T11:31:59Z yitzi joined #lisp 2020-08-21T11:33:08Z phoe: Yes, it seems so 2020-08-21T11:36:02Z JohnMS_WORK joined #lisp 2020-08-21T11:42:22Z smazga joined #lisp 2020-08-21T11:46:55Z smazga quit (Ping timeout: 240 seconds) 2020-08-21T11:53:29Z treflip joined #lisp 2020-08-21T11:54:09Z EvW1 joined #lisp 2020-08-21T11:56:34Z phoe: aeth: is your typechecked class available anywhere on Quicklisp now? 2020-08-21T12:01:04Z liberliver quit (Remote host closed the connection) 2020-08-21T12:01:22Z liberliver joined #lisp 2020-08-21T12:03:13Z pve: phoe: since you are doing that, you wouldn't happen to know if it is possible to get M-. working for methods created this way? 2020-08-21T12:04:43Z phoe: pve: maybe https://github.com/scymtym/trivial-with-current-source-form/ might help 2020-08-21T12:07:59Z pve: hmm it might.. I don't really understand the mechanism for how M-. works, so I'd need to study it some more 2020-08-21T12:12:43Z goofist joined #lisp 2020-08-21T12:14:02Z hendursa1 quit (Quit: hendursa1) 2020-08-21T12:14:22Z hendursaga joined #lisp 2020-08-21T12:20:42Z bitmapper quit (Ping timeout: 265 seconds) 2020-08-21T12:24:31Z Xach forks and fixes cl-sdl2-ttf for now 2020-08-21T12:26:08Z _death: hmm I have a local patch for cl-sdl2-ttf: don't modify &rest list ... is that your fix? :) 2020-08-21T12:32:02Z ljavorsk quit (Ping timeout: 258 seconds) 2020-08-21T12:37:52Z mike212 joined #lisp 2020-08-21T12:40:51Z smazga joined #lisp 2020-08-21T12:42:39Z luis: phoe: do you know about https://github.com/sellout/method-combination-utilities? 2020-08-21T12:43:13Z orivej joined #lisp 2020-08-21T12:44:12Z mfiano: _death: The only patch that needs to be written is to remove finalizers. It's been 2 years since I removed them from cl-sdl2, and cl-sdl2-ttf is effectively broken due to an unresponsive maintainer. 2020-08-21T12:44:38Z phoe: luis: I am not working with method combinations 2020-08-21T12:44:57Z phoe: I am performing MAKE-INSTANCE 'STANDARD-METHOD 2020-08-21T12:45:10Z phoe: but now I am also aware of METHOD-COMBINATION-UTILITIES, thank you :D 2020-08-21T12:45:15Z luis: phoe: oh ok, misread that. :-) 2020-08-21T12:45:16Z _death: mfiano: sounds like it should be made a sharplispers project or something 2020-08-21T12:45:55Z smazga quit (Ping timeout: 240 seconds) 2020-08-21T12:45:57Z mfiano: I agree. 2020-08-21T12:46:05Z Bike joined #lisp 2020-08-21T12:46:27Z Xach: _death: yeah, cherry picked the PR on the main repo 2020-08-21T12:47:06Z mfiano: As maintainer of cl-sdl2, I get a ton of bug reports due to the broken cl-sdl2-ttf. 2020-08-21T12:47:22Z mfiano: I should just make time to fix it myself sometime, but my back burner has back burners :/ 2020-08-21T12:47:43Z _death: github should have support for drive-by patches (gist for pull requests, instead of the fork dance) 2020-08-21T12:48:00Z phoe: gists don't support directories 2020-08-21T12:48:05Z phoe: I've encountered that limitation recently 2020-08-21T12:48:15Z phoe: why - I have no idea 2020-08-21T12:48:18Z _death: phoe: what I mean is that you can format-patch and paste it 2020-08-21T12:49:20Z _death: instead of fork, set upstream, create branch, commit, push, create pull request, and (unlikely now that you've done it) delete the leftover fork 2020-08-21T12:49:33Z phoe: ooooh, like that 2020-08-21T12:49:34Z phoe: I see 2020-08-21T12:51:12Z treflip quit (Read error: Connection reset by peer) 2020-08-21T12:51:28Z igemnace joined #lisp 2020-08-21T12:51:31Z rogersm quit (Quit: Leaving...) 2020-08-21T12:54:28Z mike212: Hi! I have a bit of a question regarding CL. Which environment is usually the recommended path for newbies, SBCL or CCL? Or both? 2020-08-21T12:54:44Z phoe: I personally recommend SBCL 2020-08-21T12:54:48Z _death: either one will work 2020-08-21T12:54:56Z phoe: but CCL is not going to be a bad choice either 2020-08-21T12:55:31Z jackdaniel: if you can afford developing software using both, then it (the software) will gain on portability 2020-08-21T12:57:36Z mike212: All right, both will do then, thanks! I was thinking if there could be major differences or approaches but that doesn't seem like an issue or such 2020-08-21T12:58:20Z jackdaniel: the differences mostly are visible in areas which go beyond the standard (i.e threading primitives) -- in this case there are usually portability libraries 2020-08-21T12:58:47Z jackdaniel: as for other practical differences: ccl has faster compiler and isn't as memory hungry as sbcl while sbcl produces more performant code (usually) 2020-08-21T13:01:55Z EvW1 quit (Ping timeout: 240 seconds) 2020-08-21T13:02:22Z wsinatra joined #lisp 2020-08-21T13:04:56Z phoe: mike212: since you asked for environment: I also suggest emacs + slime/sly + quicklisp 2020-08-21T13:05:22Z phoe: since writing Lisp is best done when you have an editor that supports connecting to the Lisp image and facilitating interactive programming 2020-08-21T13:05:53Z schweers: Is there actually a good newbie friendly guide to defining asdf systems? I remember that I struggled with that for quite some time back when it was new to me. 2020-08-21T13:07:24Z Xach: schweers: https://xach.livejournal.com/278047.html is getting kind of old but that's still what i generally do 2020-08-21T13:08:00Z schweers: Ah, cool 2020-08-21T13:08:52Z gareppa joined #lisp 2020-08-21T13:09:44Z Xach: for the simplest things, you really only need to make two lists: the files to compile and load (in order) and the prerequisite systems (in any order) 2020-08-21T13:09:44Z mike212: phoe: I already use Emacs! (Doom Emacs though) I think I can probably hack some Slime in it. If not, I heard good things about Portable, but thanks! 2020-08-21T13:10:04Z Xach: anything else asdf does can be learned later 2020-08-21T13:10:08Z mike212: Lastly. And this is just a question out of curiosity. How is Lisp different from, say, Smalltalk? 2020-08-21T13:10:45Z wxie quit (Ping timeout: 258 seconds) 2020-08-21T13:11:08Z beach: I believe Smalltalk uses single dispatch. 2020-08-21T13:11:19Z phoe: mike212: perfect 2020-08-21T13:11:22Z beach: That changes the architecture of your software. 2020-08-21T13:11:26Z Xach: mike212: i don't know smalltalk very well but my impression is that it has a relatively small core idea that it pushes very hard with interesting results. common lisp has many ideas and you can pick and choose. 2020-08-21T13:11:38Z phoe: Portacle is good, but if you already have an emacs set up then adding slime/sly + quicklisp on top of that is just as good 2020-08-21T13:11:38Z gareppa quit (Remote host closed the connection) 2020-08-21T13:11:59Z phoe: seems like doom-emacs already has a common lisp mode, https://github.com/hlissner/doom-emacs/issues/1542 2020-08-21T13:12:08Z phoe: that should install slime. 2020-08-21T13:12:16Z wxie joined #lisp 2020-08-21T13:13:35Z phoe: also, smalltalk is highly object-oriented whereas CL is multiparadigm 2020-08-21T13:14:11Z goofist: in smalltalk, even control structures (loops, if, etc) are "methods" 2020-08-21T13:14:54Z phoe: though whether one can program functionally in Smalltalk is highly debatable 2020-08-21T13:15:06Z phoe: see the comments at https://stackoverflow.com/questions/3527753/why-is-smalltalk-not-a-functional-programming-language - that has some nice discussion on the matter 2020-08-21T13:17:12Z goofist: yeah the short answer is just what Xach said. Anything that you can make by sending messages to objects smalltalk can do 2020-08-21T13:17:59Z phoe: ...and since you can make literally everything by sending messages to objects, Smalltalk is Turing-complete just like Lisp 2020-08-21T13:18:55Z wxie quit (Ping timeout: 240 seconds) 2020-08-21T13:20:11Z gal quit (Ping timeout: 272 seconds) 2020-08-21T13:20:19Z madnificent joined #lisp 2020-08-21T13:21:20Z jdz: In early smalltalks the receiver of a message was also responsible for interpreting the parameters of the message, so objects could have their own evaluation semantics. 2020-08-21T13:22:23Z xantoz: similar in concept to fexprs? 2020-08-21T13:22:39Z gko_ joined #lisp 2020-08-21T13:23:13Z jdz: I've found https://dl.acm.org/doi/abs/10.1145/3386335 to be quite educational. 2020-08-21T13:27:13Z mike212: Once again, much appreciated all the answers. I'll take this book "Practical Common Lisp" and see how far I get! Hopefully the code compiles and creates a working binary 2020-08-21T13:27:38Z phoe: PCL is a good one 2020-08-21T13:27:47Z phoe: mike212: also, you don't usually create binaries in Lisp 2020-08-21T13:28:00Z phoe: that is, unless you want to deploy applications elsewhere 2020-08-21T13:28:49Z gaqwas quit (Remote host closed the connection) 2020-08-21T13:29:01Z mike212: So is like Python or Lua where there are practically no binaries? 2020-08-21T13:29:26Z phoe: no, not really, you *can* and *do* generate binary executables 2020-08-21T13:29:46Z phoe: it's just that most of the time your program lives inside the Lisp image and the Lisp image lives for as long as you're programming 2020-08-21T13:30:12Z phoe: you run Lisp once and then let it run as a daemon (in Unix terms), sending messages to it and receiving data from it 2020-08-21T13:30:31Z phoe: these messages tell it to evaluate forms, compile-and-load files, interact with the inspector or debugger, etc.. 2020-08-21T13:31:22Z madnificent: mike212: There's an Appress sale going on for PCL. I'll finally get my hands on a nicely printed book (hardcover, even). Or it's a scam and I lost some money. 2020-08-21T13:31:37Z phoe: seems like it's not a scam, judging by Reddit comments 2020-08-21T13:31:40Z madnificent: mike212: PCL was an eye-opener for me too 2020-08-21T13:32:07Z madnificent: phoe: I would be surprised indeed. I ordered from the company, and I still don't know how to pay even though I have a digital version already of some of the books I ordered. 2020-08-21T13:32:28Z phoe: hah 2020-08-21T13:32:46Z mike212: phoe: You can do all that with Lisp? I knew Emacs had a daemon-mode but it hasn't occurred to me that Lisp itself can be used as a daemon too 2020-08-21T13:32:55Z mike212: (Well, makes sense in retrospective, if Emacs can do it) 2020-08-21T13:32:55Z shifty quit (Ping timeout: 240 seconds) 2020-08-21T13:34:02Z schweers quit (Ping timeout: 260 seconds) 2020-08-21T13:34:15Z Xach: you can call operating system functions from common lisp pretty easily, so working with networking or other system stuff is not too hard. 2020-08-21T13:35:13Z FreeBirdLjj joined #lisp 2020-08-21T13:35:53Z phoe: mike212: that's the normal way of using it for programming and development 2020-08-21T13:36:24Z phoe: you run Lisp once and then mutate it until it contains the program that you want 2020-08-21T13:36:58Z phoe: sometimes it's required to restart it when something goes wrong, but that's an exception rather an a rule 2020-08-21T13:37:17Z goofist: you can also compile "standard executables" for your OS if you use ECL. It compiles to C and then uses a C compiler to build the rest. This is an alternate world to the normal (and preferable imo) mode of lisp development. 2020-08-21T13:37:17Z cosimone joined #lisp 2020-08-21T13:37:23Z phoe: the "wrong" is much more like "horribly horribly wrong" such as running out of memory. 2020-08-21T13:37:49Z phoe: hadling standard errors and exceptional situations in-the-language is interactive and happens without leaving the running Lisp 2020-08-21T13:37:54Z phoe: ;; I even wrote a book about it, lol 2020-08-21T13:38:00Z madnificent: phoe: although it's perfectly possible, we do tend to have sources and use that to load everything from scratch. in the years i've used lisp, i did not get round to being okay with the 'manipulate the system until it does what you want'-idea. 2020-08-21T13:38:10Z phoe: madnificent: neither do I :D 2020-08-21T13:38:19Z madnificent: phoe: which book did you write? 2020-08-21T13:38:47Z phoe: to be honest, I have source files for everything, it's just that these arrive synchronously with me evaluating stuff in the image form by form 2020-08-21T13:38:59Z goofist: phoe: gah I should pre-order. I've been chomping at the bit since you announced. (OT sorry) 2020-08-21T13:39:28Z phoe: madnificent: The Common Lisp Condition System - it should be ready for sale in about 1.5 months according to Apress folk 2020-08-21T13:39:34Z FreeBirdLjj quit (Ping timeout: 246 seconds) 2020-08-21T13:39:59Z madnificent: phoe: then i've ordered yours too. but that's going to be a new read for me. PCL was great and i always felt bad for not having bought it. 2020-08-21T13:43:11Z mike212: Another thing I'm confused about is regarding Emacs Lisp (elisp) itself. Is it really that different from clisp? Did it diverged too much? 2020-08-21T13:44:00Z Xach: it is so very different 2020-08-21T13:44:16Z phoe: they have common roots but have diverged a real lot; they're different Lisp dialects 2020-08-21T13:44:20Z gal joined #lisp 2020-08-21T13:44:50Z phoe: also, don't call Common Lisp CLISP; there's a Common Lisp implementation named CLISP because it's implemented in C 2020-08-21T13:45:05Z phoe: and, yes, it's a fairly unfortunate naming scheme 2020-08-21T13:45:10Z phoe: ;; pun intended 2020-08-21T13:45:53Z renzhi joined #lisp 2020-08-21T13:46:43Z smazga joined #lisp 2020-08-21T13:48:34Z mike212: Ahh I see I see. Admittedly, I just haven't seen a text editor written in say, Common Lisp in opposition to elisp to note the differences or so 2020-08-21T13:48:41Z madnificent: mike212: from a programmer's point of view, from a person that first learnt Common Lisp and is now doing the bulk of what he does in Emacs and thus using Emacs Lisp, learn Common Lisp. you will learn far more from Common Lisp than from just about anything else out there. 2020-08-21T13:49:27Z mfiano: Back in 2016 they had the same sale for Cyber monday (recent years was limited to ebooks only for some reason). I managed to get PCL and CLR for $25USD :) 2020-08-21T13:51:30Z mike212: madnificent: So you could say that Common Lisp may be a bit more complete or more educational than Emacs Lisp? Ok then 2020-08-21T13:52:32Z smazga quit (Ping timeout: 265 seconds) 2020-08-21T13:53:36Z madnificent quit (Read error: Connection reset by peer) 2020-08-21T13:54:24Z madnificent joined #lisp 2020-08-21T13:55:09Z Xach: emacs lisp is an extension language for a text editor. common lisp could be used to write emacs, or an operating system, or a flight simulator, or whatever. 2020-08-21T13:56:44Z gaqwas joined #lisp 2020-08-21T13:58:15Z phoe: mike212: that's because emacs is Good Enough™ for many purposes 2020-08-21T13:58:22Z phoe: editing Common Lisp is one of them 2020-08-21T13:58:42Z phoe: even though there's been efforts to create a CL editor in CL, one of them being climacs written in the CLIM toolkit 2020-08-21T14:00:49Z JohnMS_WORK quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2020-08-21T14:01:28Z EvW joined #lisp 2020-08-21T14:11:22Z mike212: What about GNU Guile? I've heard of that being a Scheme implementation albeit I've heard this Scheme thing also being way different from CL and a completely different entity too 2020-08-21T14:11:40Z gaqwas quit (Remote host closed the connection) 2020-08-21T14:12:29Z beach: mike212: GNU Guile does not have an independent standard the way Common Lisp does. 2020-08-21T14:13:26Z beach: mike212: One should always choose a programming language with an independent standard, at least for projects that matter, in terms of durability. 2020-08-21T14:14:26Z [rg] joined #lisp 2020-08-21T14:14:33Z smazga joined #lisp 2020-08-21T14:18:28Z iamFIREc1 joined #lisp 2020-08-21T14:20:23Z gal is now known as galex-713 2020-08-21T14:20:31Z iamFIREcracker quit (Ping timeout: 258 seconds) 2020-08-21T14:20:42Z Alloc quit (Ping timeout: 272 seconds) 2020-08-21T14:20:45Z smazga quit (Ping timeout: 240 seconds) 2020-08-21T14:20:55Z Alloc joined #lisp 2020-08-21T14:24:26Z renzhi quit (Ping timeout: 265 seconds) 2020-08-21T14:25:59Z as left #lisp 2020-08-21T14:30:11Z krid` joined #lisp 2020-08-21T14:30:29Z mike212: Anyway, thanks for all the suggestions and tips! I'll be heading over to read the book and such 2020-08-21T14:31:28Z dominic34 joined #lisp 2020-08-21T14:32:44Z sjl_ joined #lisp 2020-08-21T14:37:55Z kaun_ quit (Ping timeout: 240 seconds) 2020-08-21T14:40:52Z iamFIREc1 quit (Ping timeout: 265 seconds) 2020-08-21T14:41:03Z [rg] quit (Remote host closed the connection) 2020-08-21T14:41:31Z [rg] joined #lisp 2020-08-21T14:41:36Z cosimone quit (Quit: Terminated!) 2020-08-21T14:41:57Z gaqwas joined #lisp 2020-08-21T14:41:57Z gaqwas quit (Changing host) 2020-08-21T14:41:57Z gaqwas joined #lisp 2020-08-21T14:42:11Z malikith joined #lisp 2020-08-21T14:42:45Z iamFIREc1 joined #lisp 2020-08-21T14:45:05Z mike212 quit (Quit: Leaving) 2020-08-21T14:45:21Z smazga joined #lisp 2020-08-21T14:46:25Z CrazyEddy quit (Ping timeout: 240 seconds) 2020-08-21T14:53:40Z jackdaniel quit (Remote host closed the connection) 2020-08-21T14:54:08Z jackdaniel joined #lisp 2020-08-21T14:54:35Z goofist quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-08-21T14:54:55Z thecoffemaker quit (Quit: So long and thanks for all the fish!) 2020-08-21T15:05:06Z smazga quit (Quit: leaving) 2020-08-21T15:10:37Z nckx quit (Quit: Updating my Guix System — https://guix.gnu.org) 2020-08-21T15:11:03Z nckx joined #lisp 2020-08-21T15:11:59Z kaun_ joined #lisp 2020-08-21T15:13:55Z [rg] left #lisp 2020-08-21T15:15:30Z toorevitimirp quit (Quit: Konversation terminated!) 2020-08-21T15:15:47Z gaqwas quit (Remote host closed the connection) 2020-08-21T15:16:56Z bitmapper joined #lisp 2020-08-21T15:22:33Z EvW quit (Ping timeout: 260 seconds) 2020-08-21T15:29:44Z mujjingun quit (Ping timeout: 272 seconds) 2020-08-21T15:32:47Z galex-713 quit (Ping timeout: 244 seconds) 2020-08-21T15:35:04Z krid` quit (Ping timeout: 246 seconds) 2020-08-21T15:35:17Z mindCrime joined #lisp 2020-08-21T15:35:21Z krid` joined #lisp 2020-08-21T15:37:32Z iamFIREcracker joined #lisp 2020-08-21T15:38:05Z liberliver quit (Ping timeout: 240 seconds) 2020-08-21T15:39:55Z iamFIREc1 quit (Ping timeout: 240 seconds) 2020-08-21T15:41:30Z gal joined #lisp 2020-08-21T15:46:09Z mseddon joined #lisp 2020-08-21T15:52:36Z smazga joined #lisp 2020-08-21T15:53:19Z mujjingun joined #lisp 2020-08-21T16:02:17Z Necktwi quit (Read error: Connection reset by peer) 2020-08-21T16:05:33Z Alloc quit (Ping timeout: 258 seconds) 2020-08-21T16:07:29Z renzhi joined #lisp 2020-08-21T16:08:51Z gaqwas joined #lisp 2020-08-21T16:08:51Z gaqwas quit (Changing host) 2020-08-21T16:08:51Z gaqwas joined #lisp 2020-08-21T16:09:10Z swamps joined #lisp 2020-08-21T16:10:34Z nckx is now known as guix-vits 2020-08-21T16:10:42Z guix-vits is now known as nckx 2020-08-21T16:12:16Z swamps quit (Client Quit) 2020-08-21T16:12:42Z madnificent quit (Ping timeout: 260 seconds) 2020-08-21T16:16:34Z gko_ quit (Ping timeout: 265 seconds) 2020-08-21T16:16:41Z yitzi quit (Read error: Connection reset by peer) 2020-08-21T16:17:08Z rumbler31_ joined #lisp 2020-08-21T16:21:52Z xdecimal joined #lisp 2020-08-21T16:23:17Z EvW1 joined #lisp 2020-08-21T16:27:18Z xdecimal quit (Quit: AndroidIrc Disconnecting) 2020-08-21T16:28:54Z Lord_of_Life_ joined #lisp 2020-08-21T16:31:10Z Lord_of_Life quit (Ping timeout: 272 seconds) 2020-08-21T16:31:11Z Lord_of_Life_ is now known as Lord_of_Life 2020-08-21T16:35:06Z elosant joined #lisp 2020-08-21T16:44:16Z elosant quit (Quit: WeeChat 2.9) 2020-08-21T16:46:32Z nicktick quit (Ping timeout: 265 seconds) 2020-08-21T16:47:16Z bsd4me joined #lisp 2020-08-21T16:47:32Z bsd4me left #lisp 2020-08-21T16:51:19Z gal quit (Ping timeout: 244 seconds) 2020-08-21T16:51:32Z gal joined #lisp 2020-08-21T16:51:36Z gal quit (Client Quit) 2020-08-21T16:52:14Z gal joined #lisp 2020-08-21T16:54:25Z Cymew quit (Ping timeout: 240 seconds) 2020-08-21T16:56:50Z tutti joined #lisp 2020-08-21T17:01:43Z karlosz joined #lisp 2020-08-21T17:03:30Z random-nick: is there any standard or alexandria function which is like assoc but returns the cdr instead of the whole cons? 2020-08-21T17:03:54Z Bourne joined #lisp 2020-08-21T17:05:42Z zxcvz quit (Quit: Leaving) 2020-08-21T17:07:11Z scymtym: random-nick: ALEXANDRIA:ASSOC-VALUE 2020-08-21T17:12:14Z josemanuel joined #lisp 2020-08-21T17:15:28Z Jesin quit (Quit: Leaving) 2020-08-21T17:20:48Z yitzi joined #lisp 2020-08-21T17:27:31Z Jesin joined #lisp 2020-08-21T17:27:49Z nckx quit (Quit: Segmentation fault (core dumped)) 2020-08-21T17:28:10Z nckx joined #lisp 2020-08-21T17:29:19Z mathrick quit (Remote host closed the connection) 2020-08-21T17:29:59Z mathrick joined #lisp 2020-08-21T17:43:35Z phoe: it is also setfable! 2020-08-21T17:46:01Z rumbler31 quit (Remote host closed the connection) 2020-08-21T17:46:18Z rumbler31 joined #lisp 2020-08-21T17:51:26Z jgodbout joined #lisp 2020-08-21T17:57:32Z micro quit (Ping timeout: 256 seconds) 2020-08-21T17:59:56Z micro joined #lisp 2020-08-21T18:01:38Z akoana joined #lisp 2020-08-21T18:07:55Z bsd4me joined #lisp 2020-08-21T18:09:54Z jw4 quit (Read error: Connection reset by peer) 2020-08-21T18:10:58Z aaaaaa joined #lisp 2020-08-21T18:11:01Z jw4 joined #lisp 2020-08-21T18:12:04Z Kaisyu quit (Quit: Connection closed for inactivity) 2020-08-21T18:15:11Z _death: hmmm looks like someone got CL on a pine phone.. http://forum.pine64.org/showthread.php?tid=10106 but I wonder if mezzano could be made to run on it.. 2020-08-21T18:17:24Z yitzi quit (Read error: Connection reset by peer) 2020-08-21T18:20:22Z cosimone joined #lisp 2020-08-21T18:21:44Z cosimone quit (Client Quit) 2020-08-21T18:29:18Z kaun_ quit (Quit: bas) 2020-08-21T18:29:22Z jackdaniel: uh oh, mcclim :) 2020-08-21T18:29:42Z cosimone joined #lisp 2020-08-21T18:30:04Z gravicappa quit (Ping timeout: 258 seconds) 2020-08-21T18:32:53Z phoe: SBCL 2.0.4! 2020-08-21T18:38:26Z wsinatra: SBCL 2.0.7 is in the community Alpine repos 2020-08-21T18:39:16Z _death: I still need to get my hands on a pine phone first.. 2020-08-21T18:40:01Z wsinatra: it runs pretty well on the pine phone, I did a bunch of testing on a pine phone to move an internal project from x86 -> arm64 based on the performance 2020-08-21T18:40:21Z wsinatra: worth all of the effort getting sbcl running nice with musl libc 2020-08-21T18:40:53Z jackdaniel: I imagine that musl's internal package is called musli 2020-08-21T18:41:03Z phoe takes his hat and leaves 2020-08-21T18:41:45Z _death: wsinatra: what about mezzano? 2020-08-21T18:42:31Z thecoffemaker joined #lisp 2020-08-21T18:42:37Z wsinatra: now that's the dream for a phone, the only thing better than a linux phone is a lisp phone 2020-08-21T18:43:23Z _death: since the hardware is not so varied it may be feasible to write the needed drivers 2020-08-21T18:43:25Z mujjingun quit (Ping timeout: 240 seconds) 2020-08-21T18:43:29Z wsinatra: honestly I'll be happy when they release a keyboard for the pine phone, so I can have an upgrade for my n900 2020-08-21T18:43:58Z justache quit (Quit: The Lounge - https://thelounge.chat) 2020-08-21T18:44:42Z wsinatra: _death: honestly you're probably right. It wouldn't be too much work. And you're not far removed from getting it working on a rockpro board at that point, so the pinebook would be well within reach 2020-08-21T18:46:31Z justache joined #lisp 2020-08-21T18:53:51Z kaftejiman joined #lisp 2020-08-21T18:58:17Z vaporatorius__ joined #lisp 2020-08-21T18:59:49Z yitzi joined #lisp 2020-08-21T19:00:38Z vaporatorius quit (Ping timeout: 272 seconds) 2020-08-21T19:01:52Z orivej quit (Ping timeout: 265 seconds) 2020-08-21T19:07:19Z shka_ quit (Quit: Konversation terminated!) 2020-08-21T19:12:16Z ralt: wsinatra: there's a patch to run sbcl with musl already no? 2020-08-21T19:12:32Z ralt: It may have been merged recently too... 2020-08-21T19:13:04Z dra joined #lisp 2020-08-21T19:13:07Z dra: Hello! 2020-08-21T19:14:29Z bsd4me left #lisp 2020-08-21T19:14:52Z wsinatra: ralt: absolutely there is, it was merged a few months ago. I helped with the testing for it :) 2020-08-21T19:22:37Z space_otter joined #lisp 2020-08-21T19:25:43Z yitzi quit (Read error: Connection reset by peer) 2020-08-21T19:28:25Z dra_ joined #lisp 2020-08-21T19:28:33Z dra_ quit (Client Quit) 2020-08-21T19:28:43Z dilated_dinosaur quit (Ping timeout: 260 seconds) 2020-08-21T19:28:50Z mseddon_ joined #lisp 2020-08-21T19:29:01Z dra quit (Read error: Connection reset by peer) 2020-08-21T19:29:25Z jmercouris: can someone tell me a reason why one would use monads in CL? 2020-08-21T19:29:47Z Mawile joined #lisp 2020-08-21T19:29:56Z gendl quit (Ping timeout: 240 seconds) 2020-08-21T19:30:15Z smazga quit (Ping timeout: 258 seconds) 2020-08-21T19:30:23Z gendl joined #lisp 2020-08-21T19:30:48Z _death: for example, to implement delimited continuations without a code walker 2020-08-21T19:30:55Z random-nick quit (Ping timeout: 269 seconds) 2020-08-21T19:30:55Z dmr0x80 quit (Ping timeout: 269 seconds) 2020-08-21T19:31:05Z _death: https://8c6794b6.github.io/posts/Delimited-continuations-with-monadic-functions-in-Common-Lisp.html 2020-08-21T19:31:09Z jackdaniel: or because that's their preferred programming style 2020-08-21T19:31:18Z jackdaniel: Demosthenex: page not found 2020-08-21T19:31:42Z jackdaniel: _death: * ^ , but nvm, mistake of the irc program 2020-08-21T19:31:54Z dilated_dinosaur joined #lisp 2020-08-21T19:32:04Z mseddon quit (Ping timeout: 240 seconds) 2020-08-21T19:32:04Z pfr quit (Ping timeout: 240 seconds) 2020-08-21T19:32:04Z _whitelogger quit (Ping timeout: 240 seconds) 2020-08-21T19:32:25Z akoana quit (Ping timeout: 240 seconds) 2020-08-21T19:32:26Z Archenoth quit (Ping timeout: 240 seconds) 2020-08-21T19:32:55Z tfb quit (Ping timeout: 240 seconds) 2020-08-21T19:32:56Z bocaneri quit (Ping timeout: 240 seconds) 2020-08-21T19:33:48Z pfr joined #lisp 2020-08-21T19:33:57Z _whitelogger_ joined #lisp 2020-08-21T19:34:14Z akoana joined #lisp 2020-08-21T19:34:19Z tfb joined #lisp 2020-08-21T19:34:21Z _death: there's also pkhuong's Common Cold, which also uses such a monadic implementation and makes closures and continuations serializable.. and it still works on latest sbcl, though I think you can only get it via archive.org :x 2020-08-21T19:34:25Z cosimone quit (Ping timeout: 240 seconds) 2020-08-21T19:34:26Z EvW1 quit (Ping timeout: 240 seconds) 2020-08-21T19:34:38Z smazga joined #lisp 2020-08-21T19:34:46Z jmercouris: _death: very interesting link 2020-08-21T19:34:55Z jmercouris: I never thought of implementing CPS in this way 2020-08-21T19:35:26Z cosimone_ joined #lisp 2020-08-21T19:37:02Z jmercouris: you can tell they aren't a CL programmer 2020-08-21T19:37:36Z asedeno_ joined #lisp 2020-08-21T19:37:48Z v3ga_ joined #lisp 2020-08-21T19:38:01Z brass_ joined #lisp 2020-08-21T19:38:16Z brass_ quit (Remote host closed the connection) 2020-08-21T19:38:39Z brass_ joined #lisp 2020-08-21T19:38:44Z brass_ quit (Remote host closed the connection) 2020-08-21T19:41:30Z smazga quit (Ping timeout: 265 seconds) 2020-08-21T19:42:07Z brass_ joined #lisp 2020-08-21T19:42:09Z asedeno quit (Ping timeout: 240 seconds) 2020-08-21T19:42:10Z igemnace quit (Ping timeout: 240 seconds) 2020-08-21T19:42:10Z brass quit (Ping timeout: 240 seconds) 2020-08-21T19:42:10Z v3ga quit (Ping timeout: 240 seconds) 2020-08-21T19:42:10Z asedeno_ is now known as asedeno 2020-08-21T19:42:12Z brass_ quit (K-Lined) 2020-08-21T19:42:25Z josemanuel quit (*.net *.split) 2020-08-21T19:42:56Z random-nick joined #lisp 2020-08-21T19:44:37Z gal quit (Ping timeout: 272 seconds) 2020-08-21T19:44:58Z thecoffemaker quit (Ping timeout: 246 seconds) 2020-08-21T19:46:27Z EvW joined #lisp 2020-08-21T19:46:28Z bocaneri joined #lisp 2020-08-21T19:47:06Z thecoffemaker joined #lisp 2020-08-21T19:48:40Z josemanuel joined #lisp 2020-08-21T19:50:55Z pfr quit (Ping timeout: 246 seconds) 2020-08-21T19:54:03Z liberliver joined #lisp 2020-08-21T19:55:54Z terpri_ joined #lisp 2020-08-21T19:56:50Z gal joined #lisp 2020-08-21T19:57:34Z liberliver1 joined #lisp 2020-08-21T19:58:11Z liberliver quit (Ping timeout: 240 seconds) 2020-08-21T19:58:11Z liberliver1 is now known as liberliver 2020-08-21T19:59:02Z terpri quit (Ping timeout: 260 seconds) 2020-08-21T20:01:24Z ggole quit (Quit: Leaving) 2020-08-21T20:02:42Z phoe: aeth: boop 2020-08-21T20:04:53Z igemnace joined #lisp 2020-08-21T20:06:25Z jmercouris: beep boop 2020-08-21T20:09:55Z bsd4me joined #lisp 2020-08-21T20:11:08Z smazga joined #lisp 2020-08-21T20:17:47Z shka_ joined #lisp 2020-08-21T20:18:40Z wsinatra quit (Quit: WeeChat 2.9) 2020-08-21T20:22:18Z phoe: aeth: I will allow myself to extract the typechecked class from zr-utils and stuff it into my own library 2020-08-21T20:24:42Z smazga quit (Ping timeout: 256 seconds) 2020-08-21T20:31:35Z nckx quit (Quit: Updating my Guix System — https://guix.gnu.org) 2020-08-21T20:32:01Z nckx joined #lisp 2020-08-21T20:33:23Z tutti quit (Ping timeout: 272 seconds) 2020-08-21T20:34:03Z aeth: phoe: https://gitlab.com/zombie-raptor/zr-utils/-/issues/7 2020-08-21T20:34:27Z jgodbout quit (Quit: Connection closed) 2020-08-21T20:34:30Z aeth: I haven't gotten around to it yet because I have 32 open issues assigned to myself on Gitlab and another 30ish in a text file that should become issues, but if it's a priority, I can get to it 2020-08-21T20:35:38Z shka_ quit (Quit: Konversation terminated!) 2020-08-21T20:36:04Z smazga joined #lisp 2020-08-21T20:36:08Z phoe: OK 2020-08-21T20:37:24Z aeth: First thing I'd probably do is rename the metaclass itself checked-types to something else since other preconditions could be added later. I experimented with some but couldn't really find a way to make it work well since I wanted to avoid EVAL. 2020-08-21T20:37:45Z aeth: Then I'd need to name the library itself, and try to determine if it goes in my personal namespace or the ZR one. Probably the former, since it's so independent. 2020-08-21T20:39:36Z phoe: I actually wonder, why don't you reuse the :TYPE keyword? 2020-08-21T20:39:47Z phoe: I think you can reuse it just fine 2020-08-21T20:40:01Z aeth: I think someone said it's not portable to do things like that. 2020-08-21T20:40:08Z phoe: wait though, why? 2020-08-21T20:40:21Z phoe: all you do is introduce a typecheck based on that value before the slot is set 2020-08-21T20:40:38Z aeth: I wonder if it would check twice if the checks are done differently in an implementation. 2020-08-21T20:40:42Z phoe: on a custom slot definition class, so you do not override any system behavior 2020-08-21T20:40:48Z phoe: it would check twice, yes 2020-08-21T20:41:11Z phoe: if the implementation checks it itself 2020-08-21T20:41:35Z phoe: but then one could introduce some per-implementation customizations or something to tailor it for optimization 2020-08-21T20:42:05Z aeth: The problem is that checks aren't implementation-specific, they're implementation-and-optimization-level-specific, so #+ isn't going to help there. 2020-08-21T20:42:41Z bsd4me quit (Quit: Leaving) 2020-08-21T20:43:15Z mseddon_ quit (Quit: Leaving) 2020-08-21T20:43:28Z aeth: Except for SBCL (so there goes 90% of your users), most will check at default levels, but who knows what they do at (safety 0) for instance 2020-08-21T20:43:37Z mseddon joined #lisp 2020-08-21T20:44:45Z phoe: well then 2020-08-21T20:44:55Z aeth: phoe: All these issues is probably why I haven't released it yet, but if you really need it now for something not currently in Quicklisp, then I can think of a name and spin it off. It's just that the API might have to change a few times before "1.0" even for such a tiny thing. 2020-08-21T20:44:58Z phoe: I'll prefer typechecking one time too many than one time too few 2020-08-21T20:45:18Z phoe: aeth: I actually am thinking of mostly-integrating it with one other idea I have been thinking of recently 2020-08-21T20:45:27Z phoe: which is immutable classes with value semantics 2020-08-21T20:45:33Z phoe: those could go well with optional typechecks. 2020-08-21T20:45:59Z phoe: which is why I think I could pull your code and integrate it with mine, and then show you to see if I did an acceptable job 2020-08-21T20:47:18Z aeth: Can a metaclass inherit from a metaclass? I've never really gone that deep into the MOP 2020-08-21T20:47:58Z aeth: If it can work like, say, gray streams (which is just regular CLOS not the MOP itself), the way I'd do that is double inherit from immutability and checked-types 2020-08-21T20:48:07Z phoe: aeth: it can 2020-08-21T20:48:17Z phoe: (defclass foo-class (bar-class baz-class) ()) 2020-08-21T20:48:24Z phoe: that is what I want to do, yes 2020-08-21T20:48:42Z aeth: ah 2020-08-21T20:49:57Z phoe: then vs-class is going to have its SHARED-INITIALIZE :AFTER and typechecked-class is going to have its custom slots 2020-08-21T20:49:58Z aeth: Then maybe its name should stay as checked-types since other precondition/assertion behavior can also be a different class that's shared as a common parent class of some more complicated metaclass, unless the way methods are overriden makes that impossible. 2020-08-21T20:50:21Z aeth: although, yeah, maybe typechecked-class is a better name than checked-types 2020-08-21T20:50:40Z phoe: I also would suggest to reevaluate the idea with :TYPE 2020-08-21T20:50:52Z phoe: *especially* if then you can *not* pass :TYPE over to CALL-NEXT-METHOD 2020-08-21T20:51:09Z phoe: this way the implementation will not typecheck itself, and you will get a predictable single typecheck. 2020-08-21T20:51:32Z aeth: I think someone said something like this can't be done, using a built-in like :type. They might have been wrong. 2020-08-21T20:51:37Z aeth: beach would probably know the correct answer. 2020-08-21T20:51:56Z phoe: I mean, (defclass foo ((bar :type number)) (:metaclass typechecked-class)) 2020-08-21T20:52:51Z phoe: if TYPECHECKED-CLASS intercepts :TYPE and creates a typechecked slot definition and then calls the next method without passing the :TYPE argument, then the standard slot definitions will be created without :TYPE 2020-08-21T20:52:56Z phoe: so, they'll be of type T 2020-08-21T20:53:13Z phoe: and then your typechecked slot definition is going to perform its typechecks on setting the slot. 2020-08-21T20:53:21Z luckless quit (Remote host closed the connection) 2020-08-21T20:53:37Z phoe: I mean, this is how inheritance works, so I can bet at least $10 that this is going to be defined portable behavior 2020-08-21T20:53:50Z luckless joined #lisp 2020-08-21T20:54:25Z phoe: (and the bet is going to be amplified by the fact that I am broke at the moment and waiting for my next paycheck) 2020-08-21T20:55:56Z smazga quit (Ping timeout: 265 seconds) 2020-08-21T20:56:58Z phoe: I mean, this is because the standard slot that is going to be instantiated this way will not even notice that a :TYPE was passed, so it will have no chance of establishing any kind of typechecking 2020-08-21T20:57:22Z phoe: no typechecking, no UB; no UB, no problem 2020-08-21T21:00:52Z scymtym quit (Ping timeout: 244 seconds) 2020-08-21T21:01:31Z shifty joined #lisp 2020-08-21T21:01:54Z Yardanico is now known as Yardanico_ 2020-08-21T21:01:56Z Yardanico_ is now known as Yardanico 2020-08-21T21:05:42Z phoe: alexandria:remove-from-plist is going to work wonders this way 2020-08-21T21:07:24Z smazga joined #lisp 2020-08-21T21:08:35Z orivej joined #lisp 2020-08-21T21:21:10Z Inline joined #lisp 2020-08-21T21:25:28Z Inline quit (Remote host closed the connection) 2020-08-21T21:26:41Z scymtym joined #lisp 2020-08-21T21:33:46Z paul0 quit (Quit: Leaving) 2020-08-21T21:36:19Z elxbarbosa joined #lisp 2020-08-21T21:37:23Z liberliver quit (Ping timeout: 240 seconds) 2020-08-21T21:38:58Z Inline joined #lisp 2020-08-21T21:40:07Z sjl_ quit (Ping timeout: 246 seconds) 2020-08-21T21:45:02Z Oladon joined #lisp 2020-08-21T21:46:54Z ralt: is there a library that provides an LRU cache? 2020-08-21T21:47:45Z peterhil quit (Read error: Connection reset by peer) 2020-08-21T21:48:38Z peterhil joined #lisp 2020-08-21T21:50:46Z peterhil quit (Read error: Connection reset by peer) 2020-08-21T21:52:52Z peterhil joined #lisp 2020-08-21T21:55:27Z peterhil quit (Read error: Connection reset by peer) 2020-08-21T21:56:44Z peterhil joined #lisp 2020-08-21T21:57:29Z peterhil quit (Read error: Connection reset by peer) 2020-08-21T21:58:28Z peterhil joined #lisp 2020-08-21T21:59:24Z peterhil quit (Read error: Connection reset by peer) 2020-08-21T22:00:40Z peterhil joined #lisp 2020-08-21T22:04:22Z peterhil quit (Read error: Connection reset by peer) 2020-08-21T22:06:08Z dmiles quit 2020-08-21T22:06:11Z peterhil joined #lisp 2020-08-21T22:06:30Z peterhil quit (Read error: Connection reset by peer) 2020-08-21T22:07:24Z peterhil joined #lisp 2020-08-21T22:08:25Z renzhi quit (Ping timeout: 240 seconds) 2020-08-21T22:08:25Z peterhil quit (Read error: Connection reset by peer) 2020-08-21T22:08:37Z zigpaw1 quit (Ping timeout: 264 seconds) 2020-08-21T22:08:55Z vidak` quit (Remote host closed the connection) 2020-08-21T22:09:19Z peterhil joined #lisp 2020-08-21T22:11:31Z peterhil quit (Read error: Connection reset by peer) 2020-08-21T22:12:29Z borodust quit (Remote host closed the connection) 2020-08-21T22:12:41Z peterhil joined #lisp 2020-08-21T22:12:42Z zigpaw1 joined #lisp 2020-08-21T22:13:40Z peterhil quit (Read error: Connection reset by peer) 2020-08-21T22:14:35Z dmiles joined #lisp 2020-08-21T22:15:48Z paul0 joined #lisp 2020-08-21T22:16:52Z peterhil joined #lisp 2020-08-21T22:20:18Z peterhil quit (Read error: Connection reset by peer) 2020-08-21T22:21:18Z peterhil joined #lisp 2020-08-21T22:21:25Z peterhil quit (Read error: Connection reset by peer) 2020-08-21T22:22:20Z peterhil joined #lisp 2020-08-21T22:23:49Z peterhil quit (Read error: Connection reset by peer) 2020-08-21T22:26:11Z thecoffemaker quit (Ping timeout: 240 seconds) 2020-08-21T22:28:50Z thecoffemaker joined #lisp 2020-08-21T22:41:43Z pve quit (Quit: leaving) 2020-08-21T22:48:01Z kaftejiman quit (Remote host closed the connection) 2020-08-21T22:48:08Z akoana left #lisp 2020-08-21T22:54:36Z lucasb joined #lisp 2020-08-21T22:59:56Z bilegeek joined #lisp 2020-08-21T23:03:03Z shifty quit (Ping timeout: 265 seconds) 2020-08-21T23:04:32Z cosimone_ quit (Ping timeout: 260 seconds) 2020-08-21T23:12:44Z mfiano: There's a few options for that 2020-08-21T23:13:05Z mfiano: See cacle for example 2020-08-21T23:14:53Z elxbarbosa quit (Ping timeout: 272 seconds) 2020-08-21T23:19:52Z Inline quit (Ping timeout: 246 seconds) 2020-08-21T23:32:21Z terpri_ is now known as terpri 2020-08-21T23:34:40Z mseddon_ joined #lisp 2020-08-21T23:37:25Z mseddon quit (Ping timeout: 240 seconds) 2020-08-21T23:37:45Z mangoicedtea joined #lisp 2020-08-21T23:40:40Z bsd4me joined #lisp 2020-08-21T23:51:20Z krid` quit (Read error: Connection reset by peer) 2020-08-21T23:51:36Z krid` joined #lisp 2020-08-21T23:55:50Z gko_ joined #lisp 2020-08-21T23:56:38Z moon-child: how is (quote (quote a)) is 'a? 2020-08-21T23:56:48Z moon-child: s/is 'a/'a/ 2020-08-21T23:58:07Z moon-child: it looks like in scheme, the result is (quote a), which is what I would expect. Why isn't it that way in cl? 2020-08-21T23:58:48Z mfiano: I think maybe you are confused about the Lisp printer 2020-08-22T00:00:10Z moon-child: by (quote a) I mean a literal list of the symbol quote and the symbol a; not the evaluated form which is equivalent to 'a 2020-08-22T00:00:24Z mfiano: Try (quote a) and (quote (quote (quote a))) 2020-08-22T00:00:59Z moon-child: yes, I understand what the behaviour is, just not why it's that way 2020-08-22T00:08:03Z phoe: aeth: beep 2020-08-22T00:08:48Z phoe: https://plaster.tymoon.eu/view/2021#2021 2020-08-22T00:08:53Z phoe: loosely based on your implementation 2020-08-22T00:09:12Z phoe: I disliked how you used NIL for a lack of provided type and instead defaulted to a more sane T 2020-08-22T00:10:24Z phoe: future work: avoid passing :TYPE kwarg deeper for efficiency 2020-08-22T00:12:23Z mindCrime quit (Excess Flood) 2020-08-22T00:12:49Z mindCrime joined #lisp 2020-08-22T00:15:34Z phoe: for now that is 41 lines of code and I am somewhat satisfied since it should be portable and UB-free. 2020-08-22T00:15:42Z phoe: but we'll see how things go, perhaps bugs are in there 2020-08-22T00:15:45Z phoe crashes asleep 2020-08-22T00:18:08Z random-nick quit (Ping timeout: 258 seconds) 2020-08-22T00:19:55Z Alfr__: moon-child, are you wondering why you lose a quote? Try (read-from-string "(quote (quote a))"). 2020-08-22T00:21:19Z moon-child: Alfr__: no, I understand why I lose a quote. I'm wondering why quote seems to be a special form rather than a macro 2020-08-22T00:21:44Z phoe: if it was a macro, then how would you implement it? 2020-08-22T00:21:58Z moon-child: (defmacro quote (x) `',x) 2020-08-22T00:22:29Z phoe: so, basically, (quote x) would expand into (quote x) 2020-08-22T00:22:41Z phoe: which would then expand into (quote x) since QUOTE is a macro 2020-08-22T00:22:46Z phoe: which would then expand into (quote x) since QUOTE is a macro 2020-08-22T00:22:50Z phoe: which would then expand into (quote x) since QUOTE is a macro 2020-08-22T00:22:53Z phoe: which would then expand into (quote x) since QUOTE is a macro 2020-08-22T00:22:58Z phoe: and that is not what we want 2020-08-22T00:23:34Z ralt quit (Quit: Connection closed for inactivity) 2020-08-22T00:25:36Z phoe: because, to remove backquote, (defmacro quote (x) `',x) === (defmacro quote (x) (list (intern "QUOTE" (find-package "CL")) x)) 2020-08-22T00:25:47Z phoe: (and to remove the usage of #\' reader macro) 2020-08-22T00:27:59Z Bike: (defmacro quote (x) (typecase x (symbol `(intern ,(symbol-name x) ,(symbol-package x))) (cons `(cons ',(car x) ',(cdr x))) (t x)), but then the compiler can't really use constant-ness 2020-08-22T00:28:21Z Bike: probably some corner cases it doesn't deal with very well, too 2020-08-22T00:29:17Z aeth: phoe: NIL vs. T doesn't really matter because either way you don't want to check, unless you want to interpet NIL as the type NIL, i.e. "nothing can satisfy this" which sounds pointless... but I think I default to T in my later stuff, like DEFINE-FUNCTION 2020-08-22T00:29:17Z Bike: with some load-time-value this might not even be that inefficient 2020-08-22T00:29:44Z phoe: aeth: (CHECK-TYPE FOO T) compiles to a no-op on a sufficiently non-dumb compiler 2020-08-22T00:29:54Z aeth: eh 2020-08-22T00:29:55Z phoe: because I interpret NIL as the empty type 2020-08-22T00:30:17Z Bike: moon-child: also, (quote (quote a)) evaluates to 'a because 'a is (quote a). the 'evaluates to' is important 2020-08-22T00:30:26Z phoe: I mean, if someone goes (defclass foo ((bar :type nil))) then I assume they know what they're doing 2020-08-22T00:31:25Z Bike: moon-child: this is the same as scheme. i think quote is special in scheme also 2020-08-22T00:31:27Z aeth: I guess you could somewhat salvage NIL as a type there by saying something of type NIL should remain unbound, although there's not much of a point to that, either. 2020-08-22T00:31:59Z phoe: unless there's union types in play and the effective slot definition turns out to have a type of something like (AND NUMBER STRING) 2020-08-22T00:32:11Z Bike: yeah, in r5rs it looks like a special operator, though scheme doesn't have that concept technically 2020-08-22T00:32:11Z Guest_58 joined #lisp 2020-08-22T00:32:12Z phoe: which would be 1) a corner case and 2) a dumb thing to do 2020-08-22T00:32:28Z phoe: but nonetheless, possible and technically allowable by the standard, I guess 2020-08-22T00:33:44Z aeth: I think moon-child is saying that ' should be the special form and (quote foo) should turn into 'foo, essentially reversing the way I think it works. 2020-08-22T00:34:04Z Bike: ' is reader syntax. it doesn't exist in the lisp evaluation model because it's part of the reader. 2020-08-22T00:34:07Z aeth: right 2020-08-22T00:34:31Z Guest_58 quit (Remote host closed the connection) 2020-08-22T00:34:45Z aeth: afaik, you can just walk through source and step through each step and actually see (quote foo) or (function foo) etc. I know for sure #'foo is just (function foo) but I don't think I've tried the former. 2020-08-22T00:34:55Z Bike: and of course (length (quote (quote a))) => 2, (car (quote (quote A))) => QUOTE, etc 2020-08-22T00:34:56Z aeth: more useful than having ' as some special thing 2020-08-22T00:35:12Z Bike: lisp implementations just print (quote a) as 'a 2020-08-22T00:35:12Z phoe: '''a evaluates into ''a, ''a evaluates into 'a, 'a evaluates into a, a evaluates into ;; Error: # 2020-08-22T00:36:25Z Alfr__: Can happen (likely accidentally) when, say a subclass specifies Y and the parent said X for a certain slot, irrc standard says that that slot may only hold (and X Y)-type objects. 2020-08-22T00:36:59Z dominic34 quit (Remote host closed the connection) 2020-08-22T00:37:52Z Bike: the type of an inherited slot is the conjuction of everything it inherits from, yeah 2020-08-22T00:38:22Z maplambda joined #lisp 2020-08-22T00:38:32Z phoe: Alfr__: it shouldn't happen accidentally 2020-08-22T00:38:43Z EvW quit (Ping timeout: 244 seconds) 2020-08-22T00:38:47Z phoe: it must be an AND type because of Liskov substitution principle 2020-08-22T00:39:18Z phoe: so in a very pathological case it might be a slot of type NIL 2020-08-22T00:39:26Z phoe: which means that it can't hold anything at all 2020-08-22T00:39:41Z Alfr__: phoe, s/accidentally/programmer's mistake/ 2020-08-22T00:39:53Z Alfr__: phoe, if you're happier with that. 2020-08-22T00:40:11Z phoe: Alfr__: I'm kinda satisfied, but that's actually meant to be a feature rather than a bug 2020-08-22T00:40:21Z phoe: e.g. when the programmer wants to have an even narrower set of possible values 2020-08-22T00:40:43Z Bike: warning when the type ends up as nil due to inheritance seems pretty reasonable to do 2020-08-22T00:40:51Z phoe: agreed 2020-08-22T00:41:58Z Alfr__: I just wanted to describe a case when NIL types actually arise. 2020-08-22T00:44:28Z Alfr__: phoe, and I didn't intend to imply that you should change that, sorry for the confusion. 2020-08-22T00:47:23Z terpri_ joined #lisp 2020-08-22T00:50:27Z terpri quit (Ping timeout: 240 seconds) 2020-08-22T00:57:05Z shifty joined #lisp 2020-08-22T01:04:12Z yitzi joined #lisp 2020-08-22T01:04:26Z _jrjsmrtn joined #lisp 2020-08-22T01:05:34Z __jrjsmrtn__ quit (Ping timeout: 246 seconds) 2020-08-22T01:12:35Z orivej quit (Ping timeout: 265 seconds) 2020-08-22T01:12:35Z smazga quit (Ping timeout: 265 seconds) 2020-08-22T01:28:40Z anewuser joined #lisp 2020-08-22T01:31:25Z gaqwas quit (Ping timeout: 264 seconds) 2020-08-22T01:33:50Z mangoicedtea quit (Quit: Leaving) 2020-08-22T01:39:54Z orivej joined #lisp 2020-08-22T01:40:48Z brass joined #lisp 2020-08-22T01:45:49Z jxy quit (Ping timeout: 264 seconds) 2020-08-22T01:50:09Z smazga joined #lisp 2020-08-22T01:51:04Z jxy joined #lisp 2020-08-22T01:55:19Z anewuser quit (Disconnected by services) 2020-08-22T01:55:19Z anewuser_ joined #lisp 2020-08-22T01:56:24Z bsd4me left #lisp 2020-08-22T02:08:47Z gravicappa joined #lisp 2020-08-22T02:12:15Z hendursaga quit (Remote host closed the connection) 2020-08-22T02:12:22Z bsd4me joined #lisp 2020-08-22T02:13:09Z hendursaga joined #lisp 2020-08-22T02:13:46Z jxy quit (Ping timeout: 256 seconds) 2020-08-22T02:16:37Z jxy joined #lisp 2020-08-22T02:18:59Z drmeister quit (Ping timeout: 240 seconds) 2020-08-22T02:19:22Z CEnnis91 quit (Ping timeout: 260 seconds) 2020-08-22T02:20:26Z drmeister joined #lisp 2020-08-22T02:21:35Z bsd4me left #lisp 2020-08-22T02:22:53Z fowlduck quit (Ping timeout: 260 seconds) 2020-08-22T02:24:37Z physpi quit (Ping timeout: 260 seconds) 2020-08-22T02:25:05Z bytesighs quit (Ping timeout: 240 seconds) 2020-08-22T02:25:25Z peterhil joined #lisp 2020-08-22T02:25:42Z CEnnis91 joined #lisp 2020-08-22T02:26:45Z drmeister quit (Read error: Connection reset by peer) 2020-08-22T02:26:46Z Oladon quit (Quit: Leaving.) 2020-08-22T02:26:56Z fowlduck joined #lisp 2020-08-22T02:28:41Z bytesighs joined #lisp 2020-08-22T02:29:18Z uenotan joined #lisp 2020-08-22T02:29:41Z jlpeters quit (Read error: Connection reset by peer) 2020-08-22T02:30:05Z CEnnis91 quit (Ping timeout: 240 seconds) 2020-08-22T02:31:00Z drmeister joined #lisp 2020-08-22T02:31:20Z orivej quit (Ping timeout: 256 seconds) 2020-08-22T02:32:07Z Bike quit (Quit: leaving) 2020-08-22T02:33:31Z bytesighs quit (Read error: Connection reset by peer) 2020-08-22T02:34:27Z physpi joined #lisp 2020-08-22T02:35:41Z bytesighs joined #lisp 2020-08-22T02:39:23Z uenotan quit (Quit: WeeChat 2.3) 2020-08-22T02:40:59Z CEnnis91 joined #lisp 2020-08-22T02:43:00Z jlpeters joined #lisp 2020-08-22T02:43:47Z nicktick joined #lisp 2020-08-22T02:50:22Z peterhil quit (Read error: Connection reset by peer) 2020-08-22T02:52:47Z peterhil joined #lisp 2020-08-22T02:53:20Z peterhil quit (Read error: Connection reset by peer) 2020-08-22T02:54:16Z bsd4me joined #lisp 2020-08-22T02:56:07Z peterhil joined #lisp 2020-08-22T02:56:07Z peterhil quit (Read error: Connection reset by peer) 2020-08-22T02:58:55Z zaquest quit (Quit: Leaving) 2020-08-22T03:01:48Z Alfr_ joined #lisp 2020-08-22T03:02:03Z gal quit (Ping timeout: 246 seconds) 2020-08-22T03:02:38Z gal joined #lisp 2020-08-22T03:03:15Z zaquest joined #lisp 2020-08-22T03:04:09Z josemanuel quit (Quit: leaving) 2020-08-22T03:04:17Z Alfr__ quit (Ping timeout: 260 seconds) 2020-08-22T03:05:02Z asedeno quit (Ping timeout: 244 seconds) 2020-08-22T03:05:12Z jerme_ quit (Ping timeout: 265 seconds) 2020-08-22T03:05:59Z asedeno joined #lisp 2020-08-22T03:06:47Z peterhil joined #lisp 2020-08-22T03:06:59Z peterhil quit (Read error: Connection reset by peer) 2020-08-22T03:07:11Z banjiewen quit (Ping timeout: 244 seconds) 2020-08-22T03:07:17Z bsd4me quit (Read error: Connection reset by peer) 2020-08-22T03:07:23Z jerme_ joined #lisp 2020-08-22T03:07:37Z bsd4me joined #lisp 2020-08-22T03:07:43Z bsd4me quit (Remote host closed the connection) 2020-08-22T03:08:06Z jesse1010 quit (Ping timeout: 265 seconds) 2020-08-22T03:09:15Z banjiewen joined #lisp 2020-08-22T03:09:27Z peterhil joined #lisp 2020-08-22T03:10:06Z peterhil quit (Read error: Connection reset by peer) 2020-08-22T03:12:30Z bsd4me joined #lisp 2020-08-22T03:12:47Z peterhil joined #lisp 2020-08-22T03:12:54Z bsd4me left #lisp 2020-08-22T03:13:09Z peterhil quit (Read error: Connection reset by peer) 2020-08-22T03:15:46Z FreeBirdLjj joined #lisp 2020-08-22T03:17:10Z rumbler31_ quit (Ping timeout: 246 seconds) 2020-08-22T03:19:09Z peterhil joined #lisp 2020-08-22T03:19:17Z peterhil quit (Read error: Connection reset by peer) 2020-08-22T03:20:11Z FreeBirdLjj quit (Ping timeout: 265 seconds) 2020-08-22T03:21:17Z libertyprime joined #lisp 2020-08-22T03:21:30Z peterhil joined #lisp 2020-08-22T03:23:54Z wxie joined #lisp 2020-08-22T03:26:08Z peterhil quit (Read error: Connection reset by peer) 2020-08-22T03:27:12Z shangul joined #lisp 2020-08-22T03:27:58Z peterhil joined #lisp 2020-08-22T03:28:13Z peterhil quit (Read error: Connection reset by peer) 2020-08-22T03:31:14Z peterhil joined #lisp 2020-08-22T03:33:11Z peterhil quit (Read error: Connection reset by peer) 2020-08-22T03:35:30Z peterhil joined #lisp 2020-08-22T03:37:18Z beach: Good morning everyone! 2020-08-22T03:43:13Z peterhil quit (Read error: Connection reset by peer) 2020-08-22T03:43:31Z anewuser_ quit (Quit: Leaving) 2020-08-22T03:44:30Z peterhil joined #lisp 2020-08-22T03:44:58Z peterhil quit (Read error: Connection reset by peer) 2020-08-22T03:46:31Z peterhil joined #lisp 2020-08-22T03:50:09Z peterhil quit (Read error: Connection reset by peer) 2020-08-22T03:50:13Z mangul joined #lisp 2020-08-22T03:51:39Z peterhil joined #lisp 2020-08-22T03:51:49Z shangul quit (Ping timeout: 264 seconds) 2020-08-22T03:53:25Z wxie quit (Ping timeout: 240 seconds) 2020-08-22T03:54:03Z lucasb quit (Quit: Connection closed for inactivity) 2020-08-22T03:55:51Z ebzzry joined #lisp 2020-08-22T03:56:09Z peterhil quit (Read error: Connection reset by peer) 2020-08-22T03:56:36Z mangul: Any Common Lisp IDE for Android?I couldn't find a good one. I need at least indentation and REPL. 2020-08-22T03:56:51Z ebzzry: Is there a way to determine of a special variable has been defined with DEFPARAMETER or DEFVAR? 2020-08-22T03:58:10Z sm2n joined #lisp 2020-08-22T03:58:15Z ebzzry_ joined #lisp 2020-08-22T03:58:33Z peterhil joined #lisp 2020-08-22T03:59:40Z ebzzry__ joined #lisp 2020-08-22T04:00:12Z peterhil quit (Read error: Connection reset by peer) 2020-08-22T04:00:15Z beach: ebzzry: Not really. 2020-08-22T04:01:26Z ebzzry quit (Ping timeout: 256 seconds) 2020-08-22T04:01:59Z ebzzry joined #lisp 2020-08-22T04:02:15Z peterhil joined #lisp 2020-08-22T04:02:34Z ebzzry_ quit (Ping timeout: 256 seconds) 2020-08-22T04:02:59Z terpri__ joined #lisp 2020-08-22T04:03:58Z farooqkz__ joined #lisp 2020-08-22T04:03:58Z peterhil quit (Read error: Connection reset by peer) 2020-08-22T04:04:14Z farooqkz__ is now known as shangul 2020-08-22T04:04:24Z ebzzry_ joined #lisp 2020-08-22T04:04:25Z jibanes quit (Ping timeout: 264 seconds) 2020-08-22T04:04:45Z ebzzry__ quit (Ping timeout: 240 seconds) 2020-08-22T04:05:55Z terpri_ quit (Ping timeout: 240 seconds) 2020-08-22T04:06:11Z jibanes joined #lisp 2020-08-22T04:06:25Z mangul quit (Ping timeout: 240 seconds) 2020-08-22T04:06:54Z peterhil joined #lisp 2020-08-22T04:06:55Z ebzzry quit (Ping timeout: 240 seconds) 2020-08-22T04:07:19Z sm2n: Hello 2020-08-22T04:07:31Z beach: Hello sm2n. 2020-08-22T04:07:48Z sm2n: how are you doing, beach? 2020-08-22T04:07:57Z peterhil quit (Read error: Connection reset by peer) 2020-08-22T04:08:29Z beach: Making slow but steady progress with SICL. You? 2020-08-22T04:09:00Z smazga quit (Ping timeout: 265 seconds) 2020-08-22T04:09:23Z sm2n: that is good, I have just been cleaning up digital gunk 2020-08-22T04:09:40Z shangul quit (Ping timeout: 258 seconds) 2020-08-22T04:09:40Z sm2n: Installed arch and found out that ccl is not in the regular repos... 2020-08-22T04:10:12Z peterhil joined #lisp 2020-08-22T04:11:15Z peterhil quit (Read error: Connection reset by peer) 2020-08-22T04:12:14Z ajithmk joined #lisp 2020-08-22T04:12:18Z shangul joined #lisp 2020-08-22T04:12:47Z ebzzry_ quit (Quit: WeeChat 2.8) 2020-08-22T04:13:47Z alfonsox joined #lisp 2020-08-22T04:14:12Z peterhil joined #lisp 2020-08-22T04:14:51Z sm2n: out of curiosity, how complete is sicl wrt the ansi standard currently? 2020-08-22T04:15:08Z sm2n: is there a progress doc or something somewhere? 2020-08-22T04:15:08Z peterhil quit (Read error: Connection reset by peer) 2020-08-22T04:15:13Z beach: Very far from it. Furthermore, I still don't generate native code. 2020-08-22T04:16:00Z sm2n: I see 2020-08-22T04:16:10Z ajithmk: I have a function let's say (defun func (func1 func2) .....). On one occasion I have passed #'+ and #'- in place of func1 and func2. It worked. How can I pass a macro similarly? Like (func #'push #'pop). Sbcl is complaining that macro name push/pop are found as an argument to function. 2020-08-22T04:16:17Z beach: sm2n: I don't think there is any point in documenting the progress yet. 2020-08-22T04:16:34Z Jesin quit (Quit: Leaving) 2020-08-22T04:16:50Z beach: ajithmk: You can't. You can pass a macro function, but macros are not first-class objects. 2020-08-22T04:18:08Z beach: ajithmk: If it were possible, what would you do with it inside FUNC? 2020-08-22T04:18:51Z smazga joined #lisp 2020-08-22T04:19:24Z ajithmk: Oh. Ok. The behavior I am after is this. If it is a number use add and subtract the given value . If it's a list push and pop a given value. 2020-08-22T04:20:16Z sm2n: wouldn't it be simpler to dispatch on the type directly? 2020-08-22T04:20:23Z beach: ajithmk: Common Lisp was designed so that a compiler can generate fast code. Therefore, macros are mostly meant to be expanded at compile time. If what you want were possible, it would be impossible to generate fast code. That's how some languages designed by non-experts become intrinsically slow. 2020-08-22T04:20:37Z Jesin joined #lisp 2020-08-22T04:20:40Z maplambda: how do i exit debugger 2020-08-22T04:20:44Z maplambda: in sbcl 2020-08-22T04:20:56Z maplambda: return to interpreter without (quit) 2020-08-22T04:21:03Z beach: ajithmk: That's another problem. Lists are not abstract data types in Common Lisp, so that would fail anyway. 2020-08-22T04:21:20Z beach: maplambda: Probably invoke the ABORT restart. 2020-08-22T04:21:23Z madage quit (Ping timeout: 240 seconds) 2020-08-22T04:21:36Z maplambda: beach, I tried (abort) and :a:t: 2020-08-22T04:21:40Z maplambda: neither worked 2020-08-22T04:21:45Z krid` quit (Ping timeout: 240 seconds) 2020-08-22T04:22:13Z beach: maplambda: You would typically use SBCL through SLIME and then it would be obvious. 2020-08-22T04:22:41Z beach: maplambda: If you don't do that, you need to read the SBCL manual to figure out how to invoke the ABORT restart from the debugger. 2020-08-22T04:23:37Z smazga quit (Ping timeout: 264 seconds) 2020-08-22T04:23:38Z maplambda: ok cool thanks 2020-08-22T04:23:39Z kilimanjaro_ joined #lisp 2020-08-22T04:23:52Z maplambda: if I learn lisp will i be able to learn node/javascript easier? 2020-08-22T04:24:12Z beach: Like 5.7 says TOPLEVEL is a debugger command. 2020-08-22T04:24:30Z beach: "Throw to top level" 2020-08-22T04:24:57Z kilimanjaro quit (Ping timeout: 265 seconds) 2020-08-22T04:24:57Z kilimanjaro_ is now known as kilimanjaro 2020-08-22T04:25:01Z beach: maplambda: If you learn Common Lisp, it is unlikely that you would want to program in JavaScript later. 2020-08-22T04:25:36Z peterhil joined #lisp 2020-08-22T04:25:42Z madage joined #lisp 2020-08-22T04:25:47Z maplambda: yea but i like money 2020-08-22T04:26:14Z beach: maplambda: If you use SBCL (or any other Common Lisp implementation) without SLIME or something similar, you are likely going to hate it. 2020-08-22T04:26:55Z beach: maplambda: Oh, then you should avoid learning Common Lisp, because you will never again be happy in your work, using another language. 2020-08-22T04:27:03Z peterhil quit (Read error: Connection reset by peer) 2020-08-22T04:27:09Z yitzi quit (Quit: yitzi) 2020-08-22T04:27:25Z yitzi joined #lisp 2020-08-22T04:27:26Z ajithmk: lol 2020-08-22T04:28:03Z maplambda: i hope it lives up to all the hype 2020-08-22T04:28:14Z beach: maplambda: You will end up like drmeister who wrote a Common Lisp implementation in C++ to avoid programming in C++, or like alandipert, who wrote a Common Lisp implementation in JavaScript to avoid programming in JavaScript. 2020-08-22T04:28:15Z maplambda: will knowing lisp help me with understanding assembly and C and other languages ? 2020-08-22T04:28:43Z beach: Oh, definitely. It will help you understand lots of stuff about programming and programming languages. 2020-08-22T04:29:09Z maplambda: ok cool 2020-08-22T04:29:35Z Oladon joined #lisp 2020-08-22T04:29:57Z peterhil joined #lisp 2020-08-22T04:30:13Z peterhil quit (Read error: Connection reset by peer) 2020-08-22T04:30:25Z Lord_of_Life quit (Ping timeout: 240 seconds) 2020-08-22T04:31:17Z alfonsox quit (Remote host closed the connection) 2020-08-22T04:32:28Z Lord_of_Life joined #lisp 2020-08-22T04:32:45Z beach: maplambda: But, more importantly, you will learn about programming techniques that you then wish you had at your disposal when you use other languages, like macros, generic functions, reader macros, compiler available at run-time, etc., etc. 2020-08-22T04:33:25Z shangul quit (Ping timeout: 240 seconds) 2020-08-22T04:33:49Z maplambda: are algorithms easier to write in lisp 2020-08-22T04:33:51Z maplambda: like 2020-08-22T04:34:06Z maplambda: sort, binary search, graph transversal etc 2020-08-22T04:34:35Z peterhil joined #lisp 2020-08-22T04:34:40Z beach: Easier than what language? Clearly easier than in any language that uses manual memory management, sure. 2020-08-22T04:34:55Z maplambda: i guess i mean intuitive or elegant 2020-08-22T04:35:06Z peterhil quit (Read error: Connection reset by peer) 2020-08-22T04:35:11Z maplambda: i never liked the way imperative languages implemented data structures 2020-08-22T04:35:20Z maplambda: liked linked lists 2020-08-22T04:35:21Z maplambda: ugly 2020-08-22T04:35:31Z maplambda: pointers 2020-08-22T04:36:05Z maplambda: ill never be a linked list/pointer kind of girl 2020-08-22T04:36:35Z peterhil joined #lisp 2020-08-22T04:36:52Z sm2n: those things are unrelated, common lisp is written in an imperative style quite often and it doesn't involve pointers directly usually 2020-08-22T04:37:08Z peterhil quit (Read error: Connection reset by peer) 2020-08-22T04:37:13Z beach: maplambda: I am sorry to bring you the bad news then. Common Lisp is not a functional programming language. It is a multi-paradigm language. It does not have explicit pointers like C, but data structures look pretty much the same otherwise. 2020-08-22T04:37:51Z beach: maplambda: And one of the central data structures in Common Lisp is a linked list. 2020-08-22T04:38:08Z beach: LISP used to mean "LISt Programming" 2020-08-22T04:38:31Z beach: maplambda: But, like I said, automatic memory management changes everything. 2020-08-22T04:39:07Z maplambda: hm 2020-08-22T04:39:15Z beach: maplambda: It allows your language to use what I call "universal reference semantics" which is a much simpler way of thinking about the semantics of your programs. 2020-08-22T04:39:16Z maplambda: ok 1 last question what about speed 2020-08-22T04:39:21Z maplambda: compared to say a "compiled language" 2020-08-22T04:39:31Z sm2n: cl is a compiled language 2020-08-22T04:39:44Z maplambda: sm2n, why am i using an interpreter then 2020-08-22T04:39:47Z shangul joined #lisp 2020-08-22T04:39:58Z peterhil joined #lisp 2020-08-22T04:39:59Z peterhil quit (Read error: Connection reset by peer) 2020-08-22T04:40:03Z sm2n: good question, what are you using? 2020-08-22T04:40:04Z beach: maplambda: There is no such thing as a compiled or an interpreted language. It is a characteristic of the implementation. Most modern Common Lisp systems compile to native code. 2020-08-22T04:40:10Z maplambda: sm2n, sbcl 2020-08-22T04:40:17Z sm2n: sbcl generates native code 2020-08-22T04:40:21Z beach: maplambda: You are not using an interpreter. 2020-08-22T04:40:22Z sm2n: quite fast too 2020-08-22T04:40:37Z sm2n: you are confusing a repl with an interpreter 2020-08-22T04:41:06Z maplambda: so it compiles everything i type lol? 2020-08-22T04:41:10Z maplambda: in a repl 2020-08-22T04:41:11Z sm2n: they are mostly unrelated, people have managed to hack repls in places you would be surprised, like C 2020-08-22T04:41:15Z sm2n: yup 2020-08-22T04:41:16Z beach: maplambda: yes. 2020-08-22T04:42:34Z maplambda: actually that makes sense why would you want to compile the entire program at once given locality of reference 2020-08-22T04:42:40Z maplambda: never thought of that before 2020-08-22T04:43:04Z beach: maplambda: See, you already learned something by studying Common Lisp. 2020-08-22T04:43:25Z maplambda: yea im convinced 2020-08-22T04:43:32Z maplambda: damn 2020-08-22T04:44:20Z beach: Try (defun f (x) x) and then (disassemble #'f) 2020-08-22T04:45:17Z mangul joined #lisp 2020-08-22T04:45:25Z shangul quit (Ping timeout: 240 seconds) 2020-08-22T04:46:26Z maplambda: i also just realized 2020-08-22T04:46:40Z maplambda: "polymorphism" is just a side effect right? 2020-08-22T04:46:50Z maplambda: of math 2020-08-22T04:47:20Z beach: That doesn't ring true. What is it that you are trying to figure out? 2020-08-22T04:48:26Z maplambda: not sure yet 2020-08-22T04:48:34Z maplambda: are there no types? 2020-08-22T04:48:47Z beach: Sure, there are types. 2020-08-22T04:49:00Z beach: The Common Lisp type system is particularly sane and simple. 2020-08-22T04:49:14Z beach: A type is just a (possibly infinite) set of objects. 2020-08-22T04:49:48Z beach: By default, any Common Lisp variable can contain an object of any type. 2020-08-22T04:49:53Z beach: How is that for "poly"? 2020-08-22T04:50:03Z peterhil joined #lisp 2020-08-22T04:51:01Z maplambda: yea thats pretty sic 2020-08-22T04:51:02Z peterhil quit (Read error: Connection reset by peer) 2020-08-22T04:51:43Z beach: Oh, other things you will miss in other languages are exact rational arithmetic, and infinite precision integers. It means that you can be sure that (+ n 1) is bigger than n, unlike in C for instance. 2020-08-22T04:51:50Z mangul quit (Ping timeout: 258 seconds) 2020-08-22T04:51:54Z smazga joined #lisp 2020-08-22T04:52:25Z peterhil joined #lisp 2020-08-22T04:52:50Z peterhil quit (Read error: Connection reset by peer) 2020-08-22T04:53:05Z maplambda: can i do data intensive programming in lisp 2020-08-22T04:53:36Z maplambda: like is there a concept of data frame 2020-08-22T04:53:43Z maplambda: i can program easily 2020-08-22T04:54:10Z maplambda: i mostly do that for work 2020-08-22T04:54:29Z peterhil joined #lisp 2020-08-22T04:54:45Z maplambda: i guess a list of lists 2020-08-22T04:54:58Z beach: Common Lisp has multi-dimensional arrays. 2020-08-22T04:55:06Z shangul joined #lisp 2020-08-22T04:55:06Z peterhil quit (Read error: Connection reset by peer) 2020-08-22T04:56:19Z Alloc joined #lisp 2020-08-22T04:56:51Z smazga quit (Ping timeout: 265 seconds) 2020-08-22T04:57:49Z beach: maplambda: I suggest you try it out for a while. Install Emacs+SLIME, or go with Portacle (which is essentially Emacs+SLIME+SBCL), and get started. 2020-08-22T04:57:55Z shifty quit (Ping timeout: 240 seconds) 2020-08-22T04:58:08Z beach: If you have truly newbie questions, you can ask in #clschool. 2020-08-22T04:59:01Z maplambda: ok cool ty 2020-08-22T04:59:12Z beach: yaw 2020-08-22T05:00:33Z aeth: maplambda: there's no data frame that everyone uses as a de facto standard (or in the standard), but there's nothing that stops someone from writing a libarary. There's a cl-data-frame library according to https://www.quicklisp.org/beta/releases.html 2020-08-22T05:00:48Z aeth: There might be others, but not with it in the library name 2020-08-22T05:01:20Z aeth: archived, though, so... abandoned? idk. https://github.com/tpapp/cl-data-frame 2020-08-22T05:01:56Z maplambda: looking forward to learning this 2020-08-22T05:02:34Z aeth: it looks like that one uses 1D adjustable arrays with each column as its own thing, which might make more sense for DFs? Idk. 2020-08-22T05:07:37Z Jesin quit (Read error: Connection reset by peer) 2020-08-22T05:09:17Z Jesin joined #lisp 2020-08-22T05:19:42Z smazga joined #lisp 2020-08-22T05:25:22Z zigpaw1 quit (Ping timeout: 265 seconds) 2020-08-22T05:25:57Z smazga quit (Ping timeout: 258 seconds) 2020-08-22T05:31:52Z zigpaw1 joined #lisp 2020-08-22T05:32:11Z Alloc quit (Ping timeout: 240 seconds) 2020-08-22T05:33:17Z Alloc joined #lisp 2020-08-22T05:44:45Z libertyprime quit (Ping timeout: 240 seconds) 2020-08-22T05:45:11Z Alloc quit (Ping timeout: 265 seconds) 2020-08-22T05:45:38Z Alloc joined #lisp 2020-08-22T05:46:47Z libertyprime joined #lisp 2020-08-22T05:57:46Z Alloc quit (Ping timeout: 258 seconds) 2020-08-22T06:00:42Z smazga joined #lisp 2020-08-22T06:04:14Z Alloc joined #lisp 2020-08-22T06:05:58Z mrcom quit (Read error: Connection reset by peer) 2020-08-22T06:12:43Z smazga quit (Ping timeout: 258 seconds) 2020-08-22T06:17:58Z ggole joined #lisp 2020-08-22T06:19:52Z smazga joined #lisp 2020-08-22T06:24:36Z smazga quit (Ping timeout: 258 seconds) 2020-08-22T06:24:45Z Alloc quit (Ping timeout: 240 seconds) 2020-08-22T06:26:21Z Alloc joined #lisp 2020-08-22T06:30:02Z _whitelogger_ quit (Remote host closed the connection) 2020-08-22T06:30:25Z mindCrime quit (Ping timeout: 240 seconds) 2020-08-22T06:32:13Z _whitelogger joined #lisp 2020-08-22T06:33:02Z libertyprime quit (Ping timeout: 258 seconds) 2020-08-22T06:33:55Z smazga joined #lisp 2020-08-22T06:34:52Z libertyprime joined #lisp 2020-08-22T06:38:50Z smazga quit (Ping timeout: 265 seconds) 2020-08-22T06:41:33Z ldb joined #lisp 2020-08-22T06:41:40Z ldb: good afternoon 2020-08-22T06:42:21Z toorevitimirp joined #lisp 2020-08-22T06:42:24Z dmr0x80 joined #lisp 2020-08-22T06:47:26Z jonatack quit (Quit: jonatack) 2020-08-22T06:49:26Z shifty joined #lisp 2020-08-22T06:50:40Z libertyprime quit (Ping timeout: 258 seconds) 2020-08-22T06:51:03Z ldb: er, polymorphism really just means a function can take multiple kinds of data 2020-08-22T06:51:36Z ldb: and it is very common in latent typing languages like lisp 2020-08-22T06:52:35Z ldb: also in functional languages 2020-08-22T06:54:15Z beach: Hello ldb. 2020-08-22T06:54:24Z mindCrime joined #lisp 2020-08-22T06:55:55Z mrcom joined #lisp 2020-08-22T06:58:29Z ldb: hello beach 2020-08-22T06:58:45Z dmr0x80 quit (Quit: WeeChat 3.0-dev) 2020-08-22T07:01:50Z mrcom quit (Read error: Connection reset by peer) 2020-08-22T07:02:19Z libertyprime joined #lisp 2020-08-22T07:03:47Z Oladon quit (Quit: Leaving.) 2020-08-22T07:07:05Z toorevitimirp quit (Remote host closed the connection) 2020-08-22T07:07:37Z pve joined #lisp 2020-08-22T07:07:47Z smazga joined #lisp 2020-08-22T07:07:48Z toorevitimirp joined #lisp 2020-08-22T07:10:43Z toorevitimirp quit (Remote host closed the connection) 2020-08-22T07:11:36Z gaqwas joined #lisp 2020-08-22T07:11:36Z gaqwas quit (Changing host) 2020-08-22T07:11:37Z gaqwas joined #lisp 2020-08-22T07:12:31Z smazga quit (Ping timeout: 258 seconds) 2020-08-22T07:12:35Z toorevitimirp joined #lisp 2020-08-22T07:19:55Z gko_ quit (Ping timeout: 265 seconds) 2020-08-22T07:25:25Z ldb quit (Ping timeout: 240 seconds) 2020-08-22T07:25:29Z orivej joined #lisp 2020-08-22T07:29:08Z smazga joined #lisp 2020-08-22T07:30:01Z toorevitimirp quit (Remote host closed the connection) 2020-08-22T07:31:19Z ldb joined #lisp 2020-08-22T07:31:59Z toorevitimirp joined #lisp 2020-08-22T07:33:25Z smazga quit (Ping timeout: 240 seconds) 2020-08-22T07:34:44Z gaqwas quit (Remote host closed the connection) 2020-08-22T07:35:54Z ldb quit (Ping timeout: 258 seconds) 2020-08-22T07:37:09Z vaporatorius joined #lisp 2020-08-22T07:37:09Z vaporatorius quit (Changing host) 2020-08-22T07:37:09Z vaporatorius joined #lisp 2020-08-22T07:37:26Z orivej quit (Ping timeout: 258 seconds) 2020-08-22T07:39:47Z vaporatorius__ quit (Ping timeout: 240 seconds) 2020-08-22T07:41:26Z ldb joined #lisp 2020-08-22T07:41:58Z v3ga_ quit (Ping timeout: 244 seconds) 2020-08-22T07:42:44Z prite joined #lisp 2020-08-22T07:46:25Z ldb quit (Ping timeout: 240 seconds) 2020-08-22T07:47:16Z kaftejiman joined #lisp 2020-08-22T08:00:03Z ralt joined #lisp 2020-08-22T08:00:25Z gal quit (Ping timeout: 240 seconds) 2020-08-22T08:02:22Z mindCrime quit (Ping timeout: 260 seconds) 2020-08-22T08:08:17Z phoe: hellooo 2020-08-22T08:08:35Z phoe: beach: could you review https://plaster.tymoon.eu/view/2021#2021 - especially for any signs of UB? 2020-08-22T08:08:42Z tfb: Is the CLHS search thingy at xach.com officially broken, or is it just me (and is there another one I can bookmark?) 2020-08-22T08:08:52Z beach: phoe: Sure. 2020-08-22T08:09:49Z hendursa1 joined #lisp 2020-08-22T08:09:53Z gal joined #lisp 2020-08-22T08:11:23Z hendursaga quit (Ping timeout: 240 seconds) 2020-08-22T08:12:10Z beach: phoe: I don't see any problems with it. 2020-08-22T08:12:58Z phoe: beach: I am asking because aeth once mentioned that someone on #lisp said that re-using :TYPE like that might invoke some sort of undefined behavior 2020-08-22T08:13:20Z phoe: it sounded weird to me though, which is why I wrote the above code to directly reuse the :TYPE initarg 2020-08-22T08:13:25Z beach: What does "re-using :TYPE" mean? 2020-08-22T08:13:45Z beach: Oh, yes, I see. Hold on... 2020-08-22T08:14:30Z smazga joined #lisp 2020-08-22T08:15:50Z beach: In the method on direct-slot-definition-class, you mean? 2020-08-22T08:16:15Z phoe: yep 2020-08-22T08:16:36Z beach: mop direct-slot-definition-class 2020-08-22T08:16:36Z specbot: http://metamodular.com/CLOS-MOP/direct-slot-definition-class.html 2020-08-22T08:16:41Z shangul: How to get a clean REPL with SLIME other than slime-restart-inferior-lisp? 2020-08-22T08:17:01Z phoe: shangul: hit , in the REPL and then type restart-inferior-lisp 2020-08-22T08:17:15Z ralt: oh thank you 2020-08-22T08:17:35Z beach: phoe: Yes, that could be problematic if the base class defines :TYPE as an initarg. Let me study it again for a sec... 2020-08-22T08:17:38Z shangul: phoe, Thank you. any shortcut for this? so being shorter. 2020-08-22T08:17:40Z ralt: Do you get auto completion? 2020-08-22T08:17:49Z phoe: shangul: helm mode or any other autocompletion 2020-08-22T08:17:53Z phoe: I type ,rest 2020-08-22T08:18:05Z ralt: mfiano: thank you for the cacle suggestion, that looks great 2020-08-22T08:18:10Z phoe: beach: the base class *does* define :TYPE as an initarg, for sure 2020-08-22T08:18:16Z shangul: phoe, Thank you 2020-08-22T08:18:25Z phoe: the question is whether this causes any UB. 2020-08-22T08:18:32Z lottaquestions joined #lisp 2020-08-22T08:18:32Z lottaquestions quit (Client Quit) 2020-08-22T08:18:41Z kaftejiman quit (Remote host closed the connection) 2020-08-22T08:18:46Z beach: phoe: Give me a minute. 2020-08-22T08:18:53Z phoe: OK 2020-08-22T08:18:55Z lottaquestions joined #lisp 2020-08-22T08:19:20Z beach: Er, no, I still don't see a problem. 2020-08-22T08:19:39Z beach: What would be the reason for a problem? 2020-08-22T08:20:11Z beach: :INITARGs are processed by methods all the time. 2020-08-22T08:20:16Z lottaquestions_ quit (Ping timeout: 246 seconds) 2020-08-22T08:20:20Z smazga quit (Ping timeout: 265 seconds) 2020-08-22T08:22:27Z mangul joined #lisp 2020-08-22T08:22:27Z phoe: hmmmm 2020-08-22T08:22:33Z phoe: neither do I, truth be told 2020-08-22T08:22:42Z phoe: I just wanted to triple-check that 2020-08-22T08:22:44Z phoe: aeth: ^ 2020-08-22T08:22:54Z beach: I guess we would have to ask aeth what the problem seems to be. 2020-08-22T08:24:58Z shangul quit (Ping timeout: 258 seconds) 2020-08-22T08:28:04Z phoe: from what I understood, he doesn't remember either 2020-08-22T08:28:26Z beach: I think you are safe then. 2020-08-22T08:28:30Z phoe: that's why I wanted to triple-check instead of double-checking and why I didn't mention the particular problem up front and only asked for review first 2020-08-22T08:28:43Z beach: Got it. 2020-08-22T08:30:13Z toorevitimirp quit (Ping timeout: 264 seconds) 2020-08-22T08:36:45Z prite quit (Ping timeout: 240 seconds) 2020-08-22T08:37:34Z aaaaaa quit (Quit: leaving) 2020-08-22T08:41:24Z jonatack joined #lisp 2020-08-22T08:43:42Z liberliver joined #lisp 2020-08-22T08:45:49Z jonatack quit (Ping timeout: 264 seconds) 2020-08-22T08:46:39Z jonatack joined #lisp 2020-08-22T08:56:26Z farooqkz__ joined #lisp 2020-08-22T08:56:35Z peterhil joined #lisp 2020-08-22T08:58:46Z mangul quit (Ping timeout: 246 seconds) 2020-08-22T09:04:30Z smazga joined #lisp 2020-08-22T09:05:36Z farooqkz__ quit (Quit: Leaving) 2020-08-22T09:05:57Z MichaelRaskin joined #lisp 2020-08-22T09:06:24Z mrcom joined #lisp 2020-08-22T09:10:07Z smazga quit (Ping timeout: 265 seconds) 2020-08-22T09:17:36Z mseddon_ quit (Quit: Leaving) 2020-08-22T09:27:30Z gaqwas joined #lisp 2020-08-22T09:27:30Z gaqwas quit (Changing host) 2020-08-22T09:27:30Z gaqwas joined #lisp 2020-08-22T09:48:39Z smazga joined #lisp 2020-08-22T09:56:59Z smazga quit (Ping timeout: 240 seconds) 2020-08-22T10:05:05Z dddddd quit (Ping timeout: 240 seconds) 2020-08-22T10:07:18Z dddddd joined #lisp 2020-08-22T10:15:04Z Mawile quit (Read error: Connection reset by peer) 2020-08-22T10:19:05Z smazga joined #lisp 2020-08-22T10:19:22Z terpri joined #lisp 2020-08-22T10:20:37Z terpri__ quit (Ping timeout: 260 seconds) 2020-08-22T10:23:24Z terpri_ joined #lisp 2020-08-22T10:23:52Z smazga quit (Ping timeout: 256 seconds) 2020-08-22T10:23:55Z terpri quit (Ping timeout: 240 seconds) 2020-08-22T10:25:43Z hendursa1 quit (Ping timeout: 240 seconds) 2020-08-22T10:27:13Z dmr0x80 joined #lisp 2020-08-22T10:28:06Z hendursa1 joined #lisp 2020-08-22T10:28:33Z frgo joined #lisp 2020-08-22T10:29:48Z ralt quit (Quit: Connection closed for inactivity) 2020-08-22T10:31:53Z ajithmk quit (Quit: Connection closed for inactivity) 2020-08-22T10:45:04Z flazh quit (Ping timeout: 256 seconds) 2020-08-22T10:47:57Z kaftejiman joined #lisp 2020-08-22T10:48:07Z flazh joined #lisp 2020-08-22T10:58:43Z VincentVega joined #lisp 2020-08-22T10:58:45Z jonatack quit (Ping timeout: 240 seconds) 2020-08-22T10:59:07Z Inline joined #lisp 2020-08-22T11:01:07Z smazga joined #lisp 2020-08-22T11:05:03Z VincentVega: Hi all! Workflow question: so I like put some test code in the end of the file (not actual tests) and when I load a package, I don't want that code to execute. Neither do I want to wrap it in some macro. I thought, an ideal solution would be have a call which makes the loader (?) skip the rest of the file. Is there something like that? 2020-08-22T11:05:45Z Alloc quit (Ping timeout: 240 seconds) 2020-08-22T11:05:52Z smazga quit (Ping timeout: 256 seconds) 2020-08-22T11:08:09Z jackdaniel: VincentVega: comment out the code 2020-08-22T11:08:22Z jackdaniel: #+(or)(progn ,@your-code) 2020-08-22T11:10:24Z VincentVega: jackdaniel: well, if there's not something like that, commenting is my next best option, yeah 2020-08-22T11:10:33Z VincentVega: what does this line of code do? 2020-08-22T11:11:02Z jackdaniel: #+something is a reader condition, #+(or) means "don't read next form" 2020-08-22T11:11:22Z VincentVega: I see, OK 2020-08-22T11:11:29Z gaqwas quit (Remote host closed the connection) 2020-08-22T11:11:32Z jackdaniel: having some trick /to not load the rest of the file/ would be a confusing irregularity 2020-08-22T11:11:58Z jackdaniel: casual reader (including future you) could get lost when reading that file to understand what's going on 2020-08-22T11:12:20Z random-nick joined #lisp 2020-08-22T11:12:27Z VincentVega: That could be the case, surely. 2020-08-22T11:12:47Z Alloc joined #lisp 2020-08-22T11:13:43Z VincentVega: Yeah, I will just go with commenting, I guess am making a bigger deal out of it than nesessary. 2020-08-22T11:14:15Z kaftejiman_ joined #lisp 2020-08-22T11:14:22Z MichaelRaskin: Block comment till EOF doesn't even impede copy-pasting 2020-08-22T11:14:23Z jackdaniel endorses this decision 2020-08-22T11:14:45Z MichaelRaskin: (closed in the end, of course) 2020-08-22T11:15:44Z VincentVega: Wait, there are block comments in lisp? 2020-08-22T11:15:58Z VincentVega: * in common lisp? 2020-08-22T11:16:56Z jackdaniel: #| this is a block comment |# 2020-08-22T11:17:05Z jackdaniel: ;;; this is a line comment 2020-08-22T11:17:17Z jackdaniel: #+(or) 'this-is-the-next-form-comment 2020-08-22T11:17:29Z jackdaniel: #+nil this-is-NOT-a-comment 2020-08-22T11:17:45Z VincentVega: Cool, didn't know block comments were a thing. 2020-08-22T11:17:52Z VincentVega: Thanks for the explanation. 2020-08-22T11:18:01Z jackdaniel: be aware that slime sometimes gets confused by block comments 2020-08-22T11:18:12Z VincentVega: OK 2020-08-22T11:18:31Z jackdaniel: (probably because it tries to match regexps and does not actually read the code) 2020-08-22T11:18:55Z kaftejiman quit (Ping timeout: 240 seconds) 2020-08-22T11:19:03Z VincentVega: Yeah, I see. 2020-08-22T11:19:38Z MichaelRaskin: #+nil This-is-not-a-comment-but-no-popular-implementation-has-feature-nil-so-it-is-deceptively-similar-to-one 2020-08-22T11:19:55Z yitzi quit (Quit: yitzi) 2020-08-22T11:20:36Z anewuser joined #lisp 2020-08-22T11:20:46Z smazga joined #lisp 2020-08-22T11:21:05Z bsd4me joined #lisp 2020-08-22T11:21:34Z zmyrgel joined #lisp 2020-08-22T11:21:35Z bsd4me left #lisp 2020-08-22T11:21:50Z jackdaniel quit (Disconnected by services) 2020-08-22T11:22:06Z VincentVega: : ) 2020-08-22T11:22:19Z jackdaniel joined #lisp 2020-08-22T11:22:22Z jackdaniel left #lisp 2020-08-22T11:22:28Z jackdaniel joined #lisp 2020-08-22T11:22:30Z anewuser quit (Remote host closed the connection) 2020-08-22T11:23:27Z anewuser joined #lisp 2020-08-22T11:23:41Z jackdaniel: #+comment has the same dubious quality 2020-08-22T11:24:00Z anewuser quit (Remote host closed the connection) 2020-08-22T11:24:34Z jackdaniel: #feature-case ((:jd-hacks do-something) (otherwise do-something-else)) 2020-08-22T11:24:51Z jackdaniel: I saw such reader macro in some dwim utility 2020-08-22T11:25:25Z smazga quit (Ping timeout: 264 seconds) 2020-08-22T11:29:35Z Demosthenex: so, why isn't iolib including libfixposix in the quicklisp distribution? 2020-08-22T11:31:34Z smazga joined #lisp 2020-08-22T11:31:50Z phoe: that's... a good question I guess? 2020-08-22T11:32:10Z Demosthenex: yeah, this unlabeled error of "cannot find lfp.h" has haunted me for days 2020-08-22T11:32:32Z Demosthenex: upgraded sbcl, wiped and updated quicklisp, can't find it anywhere and with a tiny name it's poor search criteria 2020-08-22T11:32:51Z Demosthenex: finally got a hit and found it's an iolib dependency, that isn't in gentoo's package manager 2020-08-22T11:33:22Z Demosthenex: but... it's a tiny library, i would have thought it made more sense to just ship it 2020-08-22T11:35:55Z smazga quit (Ping timeout: 240 seconds) 2020-08-22T11:36:44Z smazga joined #lisp 2020-08-22T11:37:37Z bilegeek quit (Quit: Leaving) 2020-08-22T11:40:59Z smazga quit (Ping timeout: 240 seconds) 2020-08-22T11:46:26Z frgo_ joined #lisp 2020-08-22T11:48:55Z frgo quit (Ping timeout: 240 seconds) 2020-08-22T11:53:07Z zmyrgel quit (Ping timeout: 258 seconds) 2020-08-22T12:13:16Z gaqwas joined #lisp 2020-08-22T12:13:16Z gaqwas quit (Changing host) 2020-08-22T12:13:16Z gaqwas joined #lisp 2020-08-22T12:13:47Z dilated_dinosaur quit (Ping timeout: 260 seconds) 2020-08-22T12:15:57Z kaftejiman_ quit (Read error: Connection reset by peer) 2020-08-22T12:16:10Z kaftejiman joined #lisp 2020-08-22T12:16:20Z smazga joined #lisp 2020-08-22T12:21:02Z smazga quit (Ping timeout: 265 seconds) 2020-08-22T12:22:06Z dilated_dinosaur joined #lisp 2020-08-22T12:22:09Z VincentVega quit (Ping timeout: 245 seconds) 2020-08-22T12:22:48Z wxie joined #lisp 2020-08-22T12:23:22Z gaqwas quit (Remote host closed the connection) 2020-08-22T12:31:08Z dlowe: libfixposix 2020-08-22T12:31:24Z dlowe: oops, sorry 2020-08-22T12:31:52Z dlowe: That presumes a C compiler with which to build it. 2020-08-22T12:33:24Z dlowe: I'm surprised it's not in gentoo, though - it's in debian. 2020-08-22T12:33:25Z MichaelRaskin quit (Ping timeout: 240 seconds) 2020-08-22T12:33:36Z phoe: AFAIK debian ships some ancient version though 2020-08-22T12:33:58Z dlowe: it's the debian way :) 2020-08-22T12:35:52Z dlowe: one useful improvement to iolib would be to explicitly check for libfixposix when building and produce a nice error before it even gets started 2020-08-22T12:37:13Z hendursa1 quit (Quit: hendursa1) 2020-08-22T12:37:26Z MichaelRaskin joined #lisp 2020-08-22T12:37:33Z hendursaga joined #lisp 2020-08-22T12:40:17Z mangoicedtea joined #lisp 2020-08-22T12:43:40Z smazga joined #lisp 2020-08-22T12:48:05Z smazga quit (Ping timeout: 240 seconds) 2020-08-22T12:49:22Z shangul joined #lisp 2020-08-22T12:52:59Z gko_ joined #lisp 2020-08-22T12:54:55Z Alloc quit (Ping timeout: 240 seconds) 2020-08-22T12:55:40Z Alloc joined #lisp 2020-08-22T12:57:38Z igemnace quit (Quit: WeeChat 2.9) 2020-08-22T13:04:03Z shangul quit (Remote host closed the connection) 2020-08-22T13:05:03Z smazga joined #lisp 2020-08-22T13:07:53Z EvW joined #lisp 2020-08-22T13:09:24Z gaqwas joined #lisp 2020-08-22T13:09:24Z gaqwas quit (Changing host) 2020-08-22T13:09:24Z gaqwas joined #lisp 2020-08-22T13:10:46Z smazga quit (Ping timeout: 246 seconds) 2020-08-22T13:11:41Z shangul joined #lisp 2020-08-22T13:16:37Z jxy quit (Ping timeout: 265 seconds) 2020-08-22T13:16:37Z kaftejiman quit (Read error: Connection reset by peer) 2020-08-22T13:16:56Z kaftejiman joined #lisp 2020-08-22T13:19:24Z cosimone joined #lisp 2020-08-22T13:35:36Z smazga joined #lisp 2020-08-22T13:36:46Z jxy joined #lisp 2020-08-22T13:37:49Z goofist joined #lisp 2020-08-22T13:39:00Z mangul joined #lisp 2020-08-22T13:39:50Z shangul quit (Disconnected by services) 2020-08-22T13:39:54Z mangul is now known as shangul 2020-08-22T13:42:25Z wxie quit (Ping timeout: 240 seconds) 2020-08-22T13:42:50Z smazga quit (Ping timeout: 256 seconds) 2020-08-22T13:49:27Z Alloc quit (Ping timeout: 260 seconds) 2020-08-22T13:49:48Z Alloc joined #lisp 2020-08-22T13:50:39Z yitzi joined #lisp 2020-08-22T13:51:43Z kaftejiman quit (Ping timeout: 246 seconds) 2020-08-22T13:52:35Z kaftejiman joined #lisp 2020-08-22T13:55:09Z kaftejiman quit (Remote host closed the connection) 2020-08-22T13:56:49Z mangul joined #lisp 2020-08-22T13:57:52Z shangul quit (Disconnected by services) 2020-08-22T13:57:56Z mangul is now known as shangul 2020-08-22T13:58:28Z krid` joined #lisp 2020-08-22T14:03:24Z gigetoo quit (Ping timeout: 256 seconds) 2020-08-22T14:06:05Z yitzi quit (Read error: Connection reset by peer) 2020-08-22T14:09:01Z smazga joined #lisp 2020-08-22T14:09:12Z yitzi joined #lisp 2020-08-22T14:11:48Z jonatack_ joined #lisp 2020-08-22T14:15:05Z smazga quit (Ping timeout: 240 seconds) 2020-08-22T14:20:54Z shifty quit (Ping timeout: 265 seconds) 2020-08-22T14:21:05Z flazh quit (Ping timeout: 240 seconds) 2020-08-22T14:23:45Z mangoicedtea quit (Quit: Leaving) 2020-08-22T14:23:58Z smazga joined #lisp 2020-08-22T14:28:09Z flazh joined #lisp 2020-08-22T14:28:25Z smazga quit (Ping timeout: 240 seconds) 2020-08-22T14:30:13Z wxie joined #lisp 2020-08-22T14:30:20Z gigetoo joined #lisp 2020-08-22T14:34:28Z JohnMS joined #lisp 2020-08-22T14:36:07Z ralt joined #lisp 2020-08-22T14:39:15Z smazga joined #lisp 2020-08-22T14:39:40Z gko_ quit (Ping timeout: 256 seconds) 2020-08-22T14:42:36Z Demosthenex: i think that's the thing. i've dug for days trying to find why nyxt won't build. it threw a grovel error, and i ended up having to upgrade sbcl and other things only to return to the same error message 2020-08-22T14:42:53Z Demosthenex: lfp.h is such a small search term, it was hard to find :P 2020-08-22T14:43:23Z Demosthenex: now i'm trying to use a local install and hack quicklisp to honor and pass on my CFLAGs to allow the include 2020-08-22T14:43:38Z Demosthenex: alot of work when an error string would have really helped. ;] 2020-08-22T14:44:06Z smazga quit (Ping timeout: 265 seconds) 2020-08-22T14:45:05Z Alloc quit (Ping timeout: 240 seconds) 2020-08-22T14:45:22Z smazga joined #lisp 2020-08-22T14:45:22Z Alloc joined #lisp 2020-08-22T14:49:50Z yitzi quit (Read error: Connection reset by peer) 2020-08-22T14:50:53Z EvW quit (Ping timeout: 244 seconds) 2020-08-22T14:51:55Z cosimone quit (Ping timeout: 240 seconds) 2020-08-22T14:54:03Z sedx\_` joined #lisp 2020-08-22T14:54:58Z wxie quit (Ping timeout: 256 seconds) 2020-08-22T15:08:23Z lucasb joined #lisp 2020-08-22T15:11:18Z sedx\_` quit (Ping timeout: 258 seconds) 2020-08-22T15:13:43Z sedx\_` joined #lisp 2020-08-22T15:24:20Z goofist quit (Ping timeout: 258 seconds) 2020-08-22T15:28:34Z puchacz joined #lisp 2020-08-22T15:29:38Z puchacz: hi, any sly users here? there is no autocomplete in lisp source files by default, I added the same autocomplete that is used in mrepl buffers, but it does not work 100% well, it leaves greenish background in completions. 2020-08-22T15:38:52Z dmr0x80 quit (Quit: WeeChat 3.0-dev) 2020-08-22T15:39:06Z dmr0x80 joined #lisp 2020-08-22T15:39:48Z edgar-rft quit (Quit: Leaving) 2020-08-22T15:42:49Z nicktick quit (Ping timeout: 264 seconds) 2020-08-22T15:46:39Z bitmapper quit (Remote host closed the connection) 2020-08-22T15:46:43Z kingragworm joined #lisp 2020-08-22T15:48:52Z bitmapper joined #lisp 2020-08-22T15:50:20Z kingragworm quit (Remote host closed the connection) 2020-08-22T15:54:10Z kaftejiman joined #lisp 2020-08-22T15:54:29Z toorevitimirp joined #lisp 2020-08-22T15:58:17Z toorevitimirp quit (Client Quit) 2020-08-22T15:59:54Z toorevitimirp joined #lisp 2020-08-22T16:00:22Z Bourne quit (Ping timeout: 258 seconds) 2020-08-22T16:03:42Z Necktwi joined #lisp 2020-08-22T16:04:58Z jxy quit (Ping timeout: 258 seconds) 2020-08-22T16:05:49Z dra joined #lisp 2020-08-22T16:05:51Z dra: Hello! 2020-08-22T16:05:59Z phoe: heyyyy 2020-08-22T16:06:00Z beach: Hello dra. 2020-08-22T16:06:05Z toorevitimirp quit (Remote host closed the connection) 2020-08-22T16:06:17Z phoe: puchacz: the bugtracker for sly might be a good answer; the maintainer is very active there 2020-08-22T16:06:50Z puchacz: phoe, thanks, I will have a look 2020-08-22T16:10:09Z jxy joined #lisp 2020-08-22T16:20:08Z prite joined #lisp 2020-08-22T16:22:04Z vutral joined #lisp 2020-08-22T16:30:29Z XachX quit (Ping timeout: 180 seconds) 2020-08-22T16:32:23Z Lord_of_Life_ joined #lisp 2020-08-22T16:32:35Z Lord_of_Life quit (Ping timeout: 240 seconds) 2020-08-22T16:33:45Z Lord_of_Life_ is now known as Lord_of_Life 2020-08-22T16:34:56Z Bourne joined #lisp 2020-08-22T16:34:57Z heisig joined #lisp 2020-08-22T16:36:09Z JohnMS quit (Quit: Konversation terminated!) 2020-08-22T16:40:32Z Cthulhux joined #lisp 2020-08-22T16:53:25Z sedx\_` quit (Quit: Nor cheats (swindlers and thieves), nor greedy graspers, nor drunkards, nor foulmouthed revilers and slanderers, nor extortioners and robbers will inherit or have any share in the kingdom of God. https://bit.ly/33tb5lx) 2020-08-22T16:58:04Z XachX quit (Ping timeout: 180 seconds) 2020-08-22T17:02:53Z heisig quit (Quit: Leaving) 2020-08-22T17:03:50Z sonologico joined #lisp 2020-08-22T17:03:52Z AeroNotix joined #lisp 2020-08-22T17:06:18Z smazga quit (Ping timeout: 258 seconds) 2020-08-22T17:06:57Z AeroNotix: is there a good source online for original high quality reproductions of Lisp advertisements/manual covers? 2020-08-22T17:07:08Z AeroNotix: e.g. LMI/Symbolics etc 2020-08-22T17:11:07Z yitzi joined #lisp 2020-08-22T17:13:25Z terpri__ joined #lisp 2020-08-22T17:13:37Z jonatack_ quit (Quit: jonatack_) 2020-08-22T17:13:56Z phoe: beach: I remember you having a means of serializing Lisp objects to strings by means of printing them like [FOO:BAR :BAZ (1 2 3) :QUUX [FOO:FRED ...]] - is this code available anywhere? 2020-08-22T17:16:30Z terpri_ quit (Ping timeout: 244 seconds) 2020-08-22T17:16:55Z jonatack joined #lisp 2020-08-22T17:20:53Z pve: that looks pretty clever, are :baz and :quux initargs? 2020-08-22T17:21:38Z smazga joined #lisp 2020-08-22T17:28:39Z phoe: yes 2020-08-22T17:28:51Z phoe: [FOO ...] === (apply #'make-instance 'foo ...) 2020-08-22T17:31:24Z pve: nice, I'm somewhat interested in this also 2020-08-22T17:32:24Z cosimone joined #lisp 2020-08-22T17:32:25Z pve: make-instance gets clunky pretty fast if you have lots of classes 2020-08-22T17:32:58Z pve: oh wait, you didn't mean that that goes in the code, just when serializing? 2020-08-22T17:33:55Z smazga quit (Ping timeout: 240 seconds) 2020-08-22T17:37:41Z cosimone quit (Quit: Quit.) 2020-08-22T17:38:48Z yitzi quit (Quit: yitzi) 2020-08-22T17:39:45Z gal quit (Ping timeout: 244 seconds) 2020-08-22T17:39:50Z phoe: just when serializing, I guess 2020-08-22T17:40:09Z phoe: but I also guess that nothing prevents you from using this notation in code, since this is just reader syntax 2020-08-22T17:40:29Z akoana joined #lisp 2020-08-22T17:41:48Z smazga joined #lisp 2020-08-22T17:43:25Z pve: yep, that's intriguing to me.. although I'm quite used to seeing [ Foo new :baz .. ] in my code at this point, so that might have something to do with it :) 2020-08-22T17:46:23Z jgodbout joined #lisp 2020-08-22T17:47:44Z sonologico quit (Remote host closed the connection) 2020-08-22T17:48:45Z markasoftware: phoe: http://ix.io/2uUp ? 2020-08-22T17:50:25Z smazga quit (Ping timeout: 240 seconds) 2020-08-22T17:50:39Z puchacz quit (Remote host closed the connection) 2020-08-22T17:51:50Z AeroNotix quit (Quit: WeeChat 2.9) 2020-08-22T17:53:11Z markasoftware: actually that's broken a bit, i never actually used it yet 2020-08-22T17:57:25Z dmr0x80 quit (Ping timeout: 240 seconds) 2020-08-22T17:59:17Z phoe: markasoftware: oh, what's what? 2020-08-22T17:59:26Z dmr0x80 joined #lisp 2020-08-22T17:59:32Z phoe: it seems like a somewhat different thing 2020-08-22T17:59:54Z markasoftware: http://ix.io/2uUu should work a bit better 2020-08-22T18:00:29Z markasoftware: (consify (make-instance 'standard-object)) will return (:make-instance standard-object) for example, then (unconsify) the result will make it whole again 2020-08-22T18:00:40Z dmr0x80 quit (Client Quit) 2020-08-22T18:00:47Z phoe: oooh 2020-08-22T18:00:51Z markasoftware: so you can print and read it 2020-08-22T18:01:25Z phoe: yes, I see 2020-08-22T18:01:54Z markasoftware: and it looks at the slots and adds initargs as necessary, eg, (defclass blop () ((bleep :initarg :bleep)) (consify (make-instance 'blop :bleep 5)) ==> (:make-instance blop :bleep 5) 2020-08-22T18:01:59Z cgay joined #lisp 2020-08-22T18:07:20Z mseddon joined #lisp 2020-08-22T18:09:50Z jw4 quit (Read error: Connection reset by peer) 2020-08-22T18:11:28Z cgay quit (Remote host closed the connection) 2020-08-22T18:11:45Z jw4 joined #lisp 2020-08-22T18:12:46Z cgay joined #lisp 2020-08-22T18:16:04Z terpri__ is now known as terpri 2020-08-22T18:16:26Z konsentrate joined #lisp 2020-08-22T18:18:53Z terpri_ joined #lisp 2020-08-22T18:19:10Z terpri quit (Disconnected by services) 2020-08-22T18:19:14Z terpri_ is now known as terpri 2020-08-22T18:21:54Z smazga joined #lisp 2020-08-22T18:24:47Z konsentrate quit (Remote host closed the connection) 2020-08-22T18:26:06Z shangul quit (Ping timeout: 256 seconds) 2020-08-22T18:27:55Z smazga quit (Ping timeout: 240 seconds) 2020-08-22T18:28:27Z smazga joined #lisp 2020-08-22T18:31:16Z jxy quit (Ping timeout: 265 seconds) 2020-08-22T18:31:32Z vutral quit (Quit: Connection closed for inactivity) 2020-08-22T18:34:44Z cosimone joined #lisp 2020-08-22T18:35:01Z smazga quit (Ping timeout: 264 seconds) 2020-08-22T18:41:51Z orivej joined #lisp 2020-08-22T18:41:58Z jgodbout quit (Quit: Ping timeout (120 seconds)) 2020-08-22T18:42:25Z Inline quit (Ping timeout: 240 seconds) 2020-08-22T18:43:47Z Inline joined #lisp 2020-08-22T18:45:54Z ralt quit (Quit: Connection closed for inactivity) 2020-08-22T18:47:38Z jgodbout joined #lisp 2020-08-22T18:48:34Z mindCrime joined #lisp 2020-08-22T18:49:25Z orivej quit (Ping timeout: 240 seconds) 2020-08-22T18:50:01Z mindCrime quit (Read error: Connection reset by peer) 2020-08-22T18:51:09Z orivej joined #lisp 2020-08-22T18:51:58Z jxy joined #lisp 2020-08-22T18:53:48Z gioyik joined #lisp 2020-08-22T18:55:15Z maplambda: https://paste.ofcode.org/nXg9eYMhaDzUyg56jijzaE 2020-08-22T18:55:23Z maplambda: anyone know why this program is giving me unbound variable errors 2020-08-22T18:55:56Z maplambda: im writing it in protacle in a buffer and doing ctrl c ctrl c to send it to repl then it just enters debugger and says 'hello-you' is unbound 2020-08-22T18:58:08Z smazga joined #lisp 2020-08-22T18:58:30Z cgay: It says that when you hit C-c C-c on the defun? or ...? 2020-08-22T18:58:43Z phoe: do you have any text selected when you do C-c C-c? 2020-08-22T18:58:50Z maplambda: yea I select the entire program 2020-08-22T18:58:57Z maplambda: in the top buffer 2020-08-22T18:59:03Z phoe: what happens if you C-c C-k instead to compile-and-load the whole file? 2020-08-22T18:59:07Z jgodbout quit (Quit: Connection closed) 2020-08-22T18:59:19Z phoe: (save it somewhere first, for instance in /tmp/foo.lisp) 2020-08-22T18:59:41Z maplambda: hm it says "wrote /home/anon/Downloads/portacle/helloworld.fasl 2020-08-22T18:59:41Z maplambda: ; compilation finished in 0:00:00.006" 2020-08-22T18:59:46Z maplambda: but no output 2020-08-22T19:01:13Z maplambda: oh wait 2020-08-22T19:01:43Z maplambda: ok maybe im just noob that worked I just had to call my function lol 2020-08-22T19:02:24Z maplambda: why do I need to load the entire file too? as opposed to just compiling and sending to repl? 2020-08-22T19:02:25Z smazga quit (Ping timeout: 240 seconds) 2020-08-22T19:03:03Z phoe: oh, wait a second.. 2020-08-22T19:03:08Z phoe: how are you calling your function? 2020-08-22T19:03:39Z phoe: C-c C-c should also work just fine as long as your point is inside the form that you want to compile-and-load 2020-08-22T19:03:40Z maplambda: phoe, well I have a sbcl /slime buffer at the bottom. after I compile/load in the top buffer I write (hello-you "My name") 2020-08-22T19:04:33Z phoe: then that should work fine 2020-08-22T19:04:37Z phoe: no idea about the C-c C-c issue 2020-08-22T19:07:57Z smazga joined #lisp 2020-08-22T19:08:25Z dilated_dinosaur quit (Ping timeout: 240 seconds) 2020-08-22T19:12:17Z ralt joined #lisp 2020-08-22T19:12:49Z smazga quit (Ping timeout: 264 seconds) 2020-08-22T19:16:55Z gioyik quit (Ping timeout: 240 seconds) 2020-08-22T19:17:59Z mseddon: maplambda: did you forget maybe to invoke your function after loading it? 2020-08-22T19:18:21Z maplambda: i think it works now ... i dont know what I was doing before. im also getting used to emacs 2020-08-22T19:18:54Z mseddon: maplambda: ah, yes. emacs. it's a lot to take on at once, but hang in there. You'll figure it out quicker than you expect. 2020-08-22T19:19:06Z vutral joined #lisp 2020-08-22T19:22:09Z mseddon: maplambda: there is also an #emacs channel. 2020-08-22T19:22:31Z maplambda quit (Changing host) 2020-08-22T19:22:31Z maplambda joined #lisp 2020-08-22T19:23:16Z mindCrime joined #lisp 2020-08-22T19:26:41Z dilated_dinosaur joined #lisp 2020-08-22T19:32:38Z cgay: I'm trying to debug a rather complicated macro. I expanded it, copied the expansion to a new function and compiled it in SLIME with C-c C-c but got many warnings for gensym'd uninterned symbols being undefined... 2020-08-22T19:32:44Z cgay: "warning: undefined variable: #:BUFFER37043" 2020-08-22T19:33:24Z cgay: I don't quite understand what's going on. If the uninterned symbols work in normal macro expansion shouldn't they work when I copy the expansion elsewhere? 2020-08-22T19:33:31Z phoe: nope 2020-08-22T19:33:55Z phoe: this is because #: creates a new symbol on each read 2020-08-22T19:34:06Z cgay: d'oh. of course. thank you. 2020-08-22T19:34:07Z phoe: so (eq '#:foo '#:foo) ;=> NIL 2020-08-22T19:34:22Z phoe: bind *PRINT-GENSYM*, expand the macro, and copy that 2020-08-22T19:34:38Z phoe: the #: will disappear and the copypasted text should work. 2020-08-22T19:34:43Z mseddon: phoe: that is sneaky as hell. love it. 2020-08-22T19:34:57Z phoe: mseddon: what do you mean? 2020-08-22T19:35:18Z mseddon: it's actually a problem I've never had to solve, and that's extremely elegant. 2020-08-22T19:35:20Z gioyik joined #lisp 2020-08-22T19:35:23Z cgay: and it works during macro-expansion because no READ 2020-08-22T19:35:30Z mseddon: exactly. 2020-08-22T19:35:54Z phoe: oh 2020-08-22T19:35:55Z phoe: well 2020-08-22T19:36:13Z phoe: the mere existence of *PRINT-GENSYM* means that someone encountered it before 2020-08-22T19:36:39Z mseddon: yup. And what I love about lisp, despite how weird and crufty it appears on the outside, is when you get stuck, there's a way out. 2020-08-22T19:37:10Z ralt: omg 2020-08-22T19:37:20Z cgay: In this particular case we really don't need to gensym variables since there's no &body, so maybe this is my "opportunity" to fix that. 2020-08-22T19:37:27Z ralt: phoe: I think it's you who shared the comma tip in slime, thank you so much 2020-08-22T19:37:32Z ralt: it's amazing everything I'm finding in there 2020-08-22T19:38:47Z cgay: Was that an intentional analogy with comma in macros splicing something into a context? :) 2020-08-22T19:39:05Z ralt: nope, just a reference to something that happened earlier today in this channel 2020-08-22T19:39:12Z mseddon: cgay: It was probably more due to lack of interesting free keyboard symbols. 2020-08-22T19:39:16Z ralt: if you type , in slime, you get all sorts of options 2020-08-22T19:39:42Z cgay: ralt: right, I mean the choice of comma as the escape character 2020-08-22T19:43:04Z hiroaki quit (Remote host closed the connection) 2020-08-22T19:43:45Z hiroaki joined #lisp 2020-08-22T19:44:00Z phoe: more like the fact that a free comma is invalid Lisp anyway 2020-08-22T19:44:12Z phoe: especially when it begins a form 2020-08-22T19:44:21Z phoe: so it was repurposed for something that actually makes sense 2020-08-22T19:45:13Z zigpaw1 quit (Ping timeout: 246 seconds) 2020-08-22T19:49:25Z prite quit (Ping timeout: 246 seconds) 2020-08-22T19:49:38Z anewuser joined #lisp 2020-08-22T19:50:53Z smazga joined #lisp 2020-08-22T19:50:55Z Inline quit (Ping timeout: 240 seconds) 2020-08-22T19:51:14Z anewuser quit (Remote host closed the connection) 2020-08-22T19:53:05Z gravicappa quit (Ping timeout: 240 seconds) 2020-08-22T19:53:32Z anewuser joined #lisp 2020-08-22T19:53:44Z anewuser quit (Remote host closed the connection) 2020-08-22T19:55:55Z smazga quit (Ping timeout: 240 seconds) 2020-08-22T20:03:55Z zigpaw1 joined #lisp 2020-08-22T20:12:43Z smazga joined #lisp 2020-08-22T20:13:20Z CrazyEddy joined #lisp 2020-08-22T20:20:33Z cosimone quit (Quit: Quit.) 2020-08-22T20:22:19Z smazga quit (Ping timeout: 246 seconds) 2020-08-22T20:23:08Z smazga joined #lisp 2020-08-22T20:25:57Z vutral quit 2020-08-22T20:27:09Z mseddon quit (Quit: Leaving) 2020-08-22T20:32:35Z smazga quit (Ping timeout: 240 seconds) 2020-08-22T20:36:44Z EvW1 joined #lisp 2020-08-22T20:36:47Z smazga joined #lisp 2020-08-22T20:41:38Z ggole quit (Quit: Leaving) 2020-08-22T20:44:05Z jibanes quit (Ping timeout: 240 seconds) 2020-08-22T20:45:11Z smazga quit (Ping timeout: 258 seconds) 2020-08-22T20:46:08Z jibanes joined #lisp 2020-08-22T20:46:48Z smazga joined #lisp 2020-08-22T20:47:34Z markasoftware: huh, Serapeum has a utility for making all instances of a metaclass inherit from a certain class, which was discussed here a couple days ago. 2020-08-22T20:49:37Z housel quit (Read error: Connection reset by peer) 2020-08-22T20:49:52Z nullman quit (Quit: Lost terminal) 2020-08-22T20:50:13Z nullman joined #lisp 2020-08-22T20:50:19Z nullman quit (Client Quit) 2020-08-22T20:50:58Z nullman joined #lisp 2020-08-22T20:55:00Z space_otter quit (Remote host closed the connection) 2020-08-22T20:55:22Z smazga quit (Ping timeout: 260 seconds) 2020-08-22T20:55:32Z ft quit (Read error: Connection reset by peer) 2020-08-22T20:55:44Z phoe: oh? how is it named? 2020-08-22T20:57:04Z smazga joined #lisp 2020-08-22T20:58:17Z housel joined #lisp 2020-08-22T20:59:39Z krid` quit (Ping timeout: 265 seconds) 2020-08-22T21:00:54Z gal joined #lisp 2020-08-22T21:02:13Z smazga quit (Ping timeout: 246 seconds) 2020-08-22T21:05:44Z cosimone joined #lisp 2020-08-22T21:08:23Z markasoftware: it's described at the bottom of the github readme. It is used by making a metaclass that is a subclass of serapeum:topmost-object-class and passing the option (:topmost-class 'my-superclass) to defclass 2020-08-22T21:08:39Z Inline joined #lisp 2020-08-22T21:08:44Z markasoftware: (the defclass for your metaclass, that is) 2020-08-22T21:09:42Z borodust joined #lisp 2020-08-22T21:11:09Z phoe: oooh 2020-08-22T21:11:13Z phoe: nice! I can dig that 2020-08-22T21:11:44Z phoe: this solves a slightly different problem, however; it does not recursively modify other classes' CPLs to include that class 2020-08-22T21:12:08Z phoe: s/recursively/retroactively/ 2020-08-22T21:12:10Z phoe: it's more like a method to always include a certain class in the CPL of classes that are defined *afterwards* 2020-08-22T21:12:48Z ralt: TIL serapeum 2020-08-22T21:13:24Z ralt: I dig its ecase-of 2020-08-22T21:14:31Z markasoftware: phoe: when would it be necessary to modify existing classes? Changing the metaclass definition after classes with that metaclass already have been defined? 2020-08-22T21:23:22Z smazga joined #lisp 2020-08-22T21:30:05Z jurov_ joined #lisp 2020-08-22T21:30:21Z krid` joined #lisp 2020-08-22T21:30:50Z smazga quit (Ping timeout: 256 seconds) 2020-08-22T21:33:01Z jurov quit (Ping timeout: 246 seconds) 2020-08-22T21:35:11Z jurov_ quit (Remote host closed the connection) 2020-08-22T21:35:50Z jurov joined #lisp 2020-08-22T21:36:03Z phoe: yes 2020-08-22T21:36:16Z phoe: and this is basically a no-no if you don't own these classes. 2020-08-22T21:38:19Z libertyprime quit (Ping timeout: 265 seconds) 2020-08-22T21:49:56Z libertyprime joined #lisp 2020-08-22T21:50:08Z smazga joined #lisp 2020-08-22T21:54:25Z smazga quit (Ping timeout: 240 seconds) 2020-08-22T21:54:50Z Jesin quit (Quit: Leaving) 2020-08-22T21:55:55Z terpri quit (Ping timeout: 240 seconds) 2020-08-22T21:59:30Z terpri joined #lisp 2020-08-22T21:59:37Z SAL9000 quit (Ping timeout: 246 seconds) 2020-08-22T22:01:32Z SAL9000 joined #lisp 2020-08-22T22:01:44Z lisper29 joined #lisp 2020-08-22T22:10:33Z nicktick joined #lisp 2020-08-22T22:10:41Z pve quit (Quit: leaving) 2020-08-22T22:12:26Z mangoicedtea joined #lisp 2020-08-22T22:14:53Z nullheroes quit (Quit: WeeChat 2.9) 2020-08-22T22:16:17Z shifty joined #lisp 2020-08-22T22:20:23Z lisper29 left #lisp 2020-08-22T22:24:48Z Jabberwockey joined #lisp 2020-08-22T22:28:04Z terpri quit (Remote host closed the connection) 2020-08-22T22:28:23Z terpri joined #lisp 2020-08-22T22:28:41Z liberliver quit (Ping timeout: 258 seconds) 2020-08-22T22:34:05Z smazga joined #lisp 2020-08-22T22:34:48Z cgay quit (Remote host closed the connection) 2020-08-22T22:44:17Z cosimone quit (Quit: Quit.) 2020-08-22T22:47:55Z smazga quit (Ping timeout: 265 seconds) 2020-08-22T22:50:12Z Jabberwockey quit (Quit: Verlassend) 2020-08-22T22:57:02Z _whitelogger quit (Remote host closed the connection) 2020-08-22T22:57:49Z gaqwas quit (Ping timeout: 258 seconds) 2020-08-22T22:59:13Z _whitelogger joined #lisp 2020-08-22T23:02:54Z Inline quit (Ping timeout: 265 seconds) 2020-08-22T23:13:08Z smazga joined #lisp 2020-08-22T23:18:13Z smazga quit (Ping timeout: 264 seconds) 2020-08-22T23:31:33Z shifty quit (Ping timeout: 258 seconds) 2020-08-22T23:31:39Z mindCrime quit (Read error: Connection reset by peer) 2020-08-22T23:31:45Z smazga joined #lisp 2020-08-22T23:34:39Z markasoftware: (subtypep 'integer '(or (integer * 5) (integer 2))) ==> t 2020-08-22T23:34:48Z markasoftware: mind blown 2020-08-22T23:36:44Z smazga quit (Ping timeout: 265 seconds) 2020-08-22T23:36:54Z markasoftware: (found while investigating how serapeum implemented typecase-of and friends) 2020-08-22T23:45:57Z dominic34 joined #lisp 2020-08-22T23:48:23Z madage quit (Ping timeout: 240 seconds) 2020-08-22T23:57:49Z mangoicedtea quit (Quit: Leaving) 2020-08-22T23:59:05Z random-nick quit (Ping timeout: 240 seconds) 2020-08-22T23:59:12Z smazga joined #lisp 2020-08-23T00:01:49Z madage joined #lisp 2020-08-23T00:02:30Z karstensrage joined #lisp 2020-08-23T00:03:45Z smazga quit (Ping timeout: 258 seconds) 2020-08-23T00:05:35Z akoana left #lisp 2020-08-23T00:06:25Z CrazyEddy quit (Ping timeout: 240 seconds) 2020-08-23T00:19:26Z dra quit (Remote host closed the connection) 2020-08-23T00:25:42Z Misha_B joined #lisp 2020-08-23T00:26:48Z smazga joined #lisp 2020-08-23T00:30:03Z CrazyEddy joined #lisp 2020-08-23T00:36:46Z smazga quit (Ping timeout: 256 seconds) 2020-08-23T00:38:07Z FennecCode quit (Ping timeout: 240 seconds) 2020-08-23T00:38:48Z smazga joined #lisp 2020-08-23T00:46:43Z hendursaga quit (Ping timeout: 240 seconds) 2020-08-23T00:47:18Z smazga quit (Ping timeout: 260 seconds) 2020-08-23T00:47:57Z hendursaga joined #lisp 2020-08-23T00:51:57Z fwoaroof[m]: phoe: isn't there a library for that problem 2020-08-23T00:51:58Z fwoaroof[m]: ? 2020-08-23T01:00:09Z Jesin joined #lisp 2020-08-23T01:00:15Z Jesin quit (Remote host closed the connection) 2020-08-23T01:04:19Z FennecCode joined #lisp 2020-08-23T01:07:46Z Jesin joined #lisp 2020-08-23T01:07:46Z Jesin quit (Remote host closed the connection) 2020-08-23T01:08:55Z EvW1 quit (Ping timeout: 240 seconds) 2020-08-23T01:09:33Z Jesin joined #lisp 2020-08-23T01:10:53Z terpri_ joined #lisp 2020-08-23T01:12:19Z Jesin quit (Remote host closed the connection) 2020-08-23T01:13:55Z terpri quit (Ping timeout: 240 seconds) 2020-08-23T01:17:37Z Jesin joined #lisp 2020-08-23T01:19:10Z torbo joined #lisp 2020-08-23T01:19:37Z terpri_ is now known as terpri 2020-08-23T01:19:55Z smazga joined #lisp 2020-08-23T01:21:54Z Jesin quit (Remote host closed the connection) 2020-08-23T01:22:36Z kaftejiman quit (Remote host closed the connection) 2020-08-23T01:26:15Z edgar-rft joined #lisp 2020-08-23T01:26:37Z Jesin joined #lisp 2020-08-23T01:32:44Z sjl quit (Ping timeout: 265 seconds) 2020-08-23T01:33:08Z sjl joined #lisp 2020-08-23T01:39:30Z smazga quit (Ping timeout: 265 seconds) 2020-08-23T01:40:45Z libertyprime quit (Ping timeout: 240 seconds) 2020-08-23T01:47:30Z lucasb quit (Quit: Connection closed for inactivity) 2020-08-23T01:51:34Z smazga joined #lisp 2020-08-23T01:55:56Z nicktick quit (Ping timeout: 265 seconds) 2020-08-23T01:56:35Z smazga quit (Ping timeout: 240 seconds) 2020-08-23T01:57:18Z quazimodo quit (Ping timeout: 260 seconds) 2020-08-23T01:58:22Z ft joined #lisp 2020-08-23T01:58:58Z quazimodo joined #lisp 2020-08-23T02:00:55Z orivej quit (Ping timeout: 240 seconds) 2020-08-23T02:02:27Z libertyprime joined #lisp 2020-08-23T02:05:55Z quazimodo quit (Ping timeout: 240 seconds) 2020-08-23T02:08:10Z quazimodo joined #lisp 2020-08-23T02:11:27Z jason_m joined #lisp 2020-08-23T02:23:13Z gko_ joined #lisp 2020-08-23T02:23:24Z orivej joined #lisp 2020-08-23T02:23:35Z smazga joined #lisp 2020-08-23T02:24:03Z Lycurgus joined #lisp 2020-08-23T02:34:36Z smazga quit (Ping timeout: 265 seconds) 2020-08-23T02:36:32Z Lycurgus quit (Remote host closed the connection) 2020-08-23T02:51:23Z smazga joined #lisp 2020-08-23T02:52:05Z ralt quit (Quit: Connection closed for inactivity) 2020-08-23T02:55:06Z orivej quit (Ping timeout: 258 seconds) 2020-08-23T03:02:19Z Alfr__ joined #lisp 2020-08-23T03:04:25Z Alfr_ quit (Ping timeout: 240 seconds) 2020-08-23T03:05:55Z smazga quit (Ping timeout: 240 seconds) 2020-08-23T03:07:14Z Misha_B quit (Remote host closed the connection) 2020-08-23T03:08:35Z anewuser joined #lisp 2020-08-23T03:23:06Z toorevitimirp joined #lisp 2020-08-23T03:24:33Z bilegeek joined #lisp 2020-08-23T03:26:49Z smazga joined #lisp 2020-08-23T03:30:55Z smazga quit (Ping timeout: 240 seconds) 2020-08-23T03:43:18Z terpri quit (Quit: Leaving) 2020-08-23T03:43:40Z beach: Good morning everyone! 2020-08-23T03:44:29Z beach: phoe: Yes, in SICL/Code/Cleavir/Input-output 2020-08-23T03:51:38Z terpri joined #lisp 2020-08-23T03:59:07Z libertyprime quit (Ping timeout: 258 seconds) 2020-08-23T04:00:58Z libertyprime joined #lisp 2020-08-23T04:04:33Z gravicappa joined #lisp 2020-08-23T04:10:39Z nicktick joined #lisp 2020-08-23T04:11:12Z momozor joined #lisp 2020-08-23T04:11:29Z momozor quit (Client Quit) 2020-08-23T04:13:01Z space_otter joined #lisp 2020-08-23T04:13:08Z smazga joined #lisp 2020-08-23T04:16:53Z elxbarbosa joined #lisp 2020-08-23T04:17:25Z libertyprime quit (Ping timeout: 240 seconds) 2020-08-23T04:17:37Z shangul joined #lisp 2020-08-23T04:19:36Z libertyprime joined #lisp 2020-08-23T04:20:56Z _paul0 joined #lisp 2020-08-23T04:24:19Z paul0 quit (Ping timeout: 265 seconds) 2020-08-23T04:24:59Z mrcom quit (Read error: Connection reset by peer) 2020-08-23T04:32:22Z Lord_of_Life_ joined #lisp 2020-08-23T04:34:00Z Lord_of_Life quit (Ping timeout: 258 seconds) 2020-08-23T04:34:00Z Lord_of_Life_ is now known as Lord_of_Life 2020-08-23T04:36:01Z torbo quit (Remote host closed the connection) 2020-08-23T04:47:53Z mangul joined #lisp 2020-08-23T04:48:22Z smazga quit (Ping timeout: 256 seconds) 2020-08-23T04:48:55Z shangul quit (Ping timeout: 240 seconds) 2020-08-23T04:50:25Z krid` quit (Ping timeout: 240 seconds) 2020-08-23T04:54:40Z mrcom joined #lisp 2020-08-23T04:56:03Z mangul is now known as shangul 2020-08-23T04:59:54Z smazga joined #lisp 2020-08-23T05:04:11Z smazga quit (Ping timeout: 240 seconds) 2020-08-23T05:04:29Z anewuser quit (Quit: Leaving) 2020-08-23T05:08:25Z dominic34 quit (Ping timeout: 240 seconds) 2020-08-23T05:15:48Z terpri_ joined #lisp 2020-08-23T05:18:25Z terpri quit (Ping timeout: 240 seconds) 2020-08-23T05:21:39Z mindCrime joined #lisp 2020-08-23T05:24:18Z elxbarbosa quit (Remote host closed the connection) 2020-08-23T05:28:55Z mindCrime quit (Ping timeout: 240 seconds) 2020-08-23T05:29:34Z mindCrime joined #lisp 2020-08-23T05:33:48Z FreeBirdLjj joined #lisp 2020-08-23T05:34:18Z smazga joined #lisp 2020-08-23T05:39:02Z _whitelogger quit (Remote host closed the connection) 2020-08-23T05:41:13Z _whitelogger joined #lisp 2020-08-23T05:45:28Z smazga quit (Ping timeout: 246 seconds) 2020-08-23T05:45:44Z smazga joined #lisp 2020-08-23T05:50:05Z gravicappa quit (Ping timeout: 240 seconds) 2020-08-23T05:50:38Z smazga quit (Ping timeout: 260 seconds) 2020-08-23T05:52:48Z notzmv joined #lisp 2020-08-23T05:58:38Z maplambda quit (Read error: No route to host) 2020-08-23T06:00:00Z gaqwas joined #lisp 2020-08-23T06:00:00Z gaqwas quit (Changing host) 2020-08-23T06:00:00Z gaqwas joined #lisp 2020-08-23T06:16:22Z smazga joined #lisp 2020-08-23T06:20:50Z zmv joined #lisp 2020-08-23T06:20:57Z smazga quit (Ping timeout: 258 seconds) 2020-08-23T06:21:15Z zmv is now known as Guest38704 2020-08-23T06:22:16Z smazga joined #lisp 2020-08-23T06:24:08Z notzmv quit (Ping timeout: 256 seconds) 2020-08-23T06:25:52Z ggole joined #lisp 2020-08-23T06:26:25Z smazga quit (Ping timeout: 240 seconds) 2020-08-23T06:34:02Z johnjay quit (Ping timeout: 260 seconds) 2020-08-23T06:38:37Z notzmv joined #lisp 2020-08-23T06:39:01Z notzmv is now known as Guest59268 2020-08-23T06:41:16Z Guest38704 quit (Ping timeout: 258 seconds) 2020-08-23T06:42:59Z Guest59268 quit (Ping timeout: 240 seconds) 2020-08-23T06:50:45Z smazga joined #lisp 2020-08-23T06:52:52Z mfiano: Sly has an experimental new feature that makes me extremely happy. 2020-08-23T07:00:26Z smazga quit (Ping timeout: 265 seconds) 2020-08-23T07:01:07Z fe[nl]ix: mfiano: do tell more 2020-08-23T07:01:20Z smazga joined #lisp 2020-08-23T07:02:21Z ralt joined #lisp 2020-08-23T07:02:26Z mfiano: I have a game/simulation engine in CL I've been developing over the years. One feature this game engine has is the ability to ray cast to be able to select the CLOS object of the representative geometry of a 3-dimensional scene, using the mouse. Basically, cast a ray through the screen origined at the pixel of the mouse coordinates, find the closest geometry it intersects with, and do something with 2020-08-23T07:02:28Z mfiano: the CLOS object of that representative geometry. As of today, one of the things I can do, is send the CLOS instance value to the REPL (binding it to `*` as well, as if it were evaluated in the REPL). So, I can further manipulate it/inspect it from there. It sure beats digging through a deeply nested structure of objects in the inspector from the root of the game engine's state object. 2020-08-23T07:03:23Z mfiano: I'm sure this could be useful in other graphical contexts too. 2020-08-23T07:04:40Z zxcvz joined #lisp 2020-08-23T07:05:10Z mangul joined #lisp 2020-08-23T07:06:14Z smazga quit (Ping timeout: 265 seconds) 2020-08-23T07:07:43Z shangul quit (Ping timeout: 258 seconds) 2020-08-23T07:09:10Z smazga joined #lisp 2020-08-23T07:09:10Z tourjin joined #lisp 2020-08-23T07:13:21Z johnjay joined #lisp 2020-08-23T07:15:44Z mfiano: Heh, I've been developing this engine for about 10 years now, although in parallel with a complex game using it. One of my ultimate goals is to have a platform which I can use to demonstrate to others why Common Lisp is the ultimate language for writing interactive video games or simulations, through a tutorial video series or something. Game development is incredibly time consuming, and Common Lisp 2020-08-23T07:15:46Z mfiano: significantly reduces that time. 2020-08-23T07:16:54Z mfiano: Scratch that, looks like nearly 13 years. 2020-08-23T07:16:55Z toorevitimirp quit (Ping timeout: 258 seconds) 2020-08-23T07:20:25Z smazga quit (Ping timeout: 240 seconds) 2020-08-23T07:22:17Z gko_ quit (Ping timeout: 258 seconds) 2020-08-23T07:23:07Z troydm quit (Ping timeout: 246 seconds) 2020-08-23T07:28:34Z aeth: making things deep inside a complicated application bind to * would actually make * way more useful than it currently is 2020-08-23T07:32:54Z mfiano: Sly has always had the feature of being able to M-RET in the inspector/debugger to bring back any value to the REPL, binding it to `*` in the process. But, that was from the ELisp side. Now, you can do so from CL code. 2020-08-23T07:34:24Z pve joined #lisp 2020-08-23T07:35:24Z space_otter quit (Remote host closed the connection) 2020-08-23T07:35:48Z wxie joined #lisp 2020-08-23T07:37:33Z kaftejiman joined #lisp 2020-08-23T07:37:56Z toorevitimirp joined #lisp 2020-08-23T07:37:57Z smazga joined #lisp 2020-08-23T07:40:25Z jonatack quit (Ping timeout: 240 seconds) 2020-08-23T07:41:12Z libertyprime quit (Ping timeout: 256 seconds) 2020-08-23T07:41:46Z gaqwas quit (Remote host closed the connection) 2020-08-23T07:42:56Z mfiano: Of course, * is pretty useless when you have back references, another feature of Sly over SLIME. 2020-08-23T07:43:45Z smazga quit (Ping timeout: 258 seconds) 2020-08-23T07:44:18Z toorevitimirp quit (Remote host closed the connection) 2020-08-23T07:44:25Z mindCrime quit (Ping timeout: 240 seconds) 2020-08-23T07:48:45Z scymtym quit (Ping timeout: 240 seconds) 2020-08-23T07:52:06Z toorevitimirp joined #lisp 2020-08-23T07:53:26Z libertyprime joined #lisp 2020-08-23T07:54:25Z wxie quit (Ping timeout: 240 seconds) 2020-08-23T07:54:45Z bocaneri is now known as Sauvin 2020-08-23T07:57:40Z phoe: fwoaroof[m]: which problem do you mean? 2020-08-23T07:57:55Z phoe: beach: thanks. 2020-08-23T07:59:18Z phoe: Xach: could you help with https://github.com/dimitri/pgloader/issues/1101#issuecomment-678715894 ? This is Quicklisp client complaining about HTTP 206 2020-08-23T07:59:41Z Inline joined #lisp 2020-08-23T08:01:15Z johnjay quit (Remote host closed the connection) 2020-08-23T08:01:58Z johnjay joined #lisp 2020-08-23T08:03:40Z smazga joined #lisp 2020-08-23T08:04:02Z orivej joined #lisp 2020-08-23T08:07:36Z beach: phoe: It is only a few lines of code, in case you want to extract it to a library, or write your own version of it. 2020-08-23T08:08:20Z beach: And you can look in SICL/Cleavir2/Abstract-syntax-tree to see how it is used. 2020-08-23T08:09:13Z orivej quit (Ping timeout: 264 seconds) 2020-08-23T08:09:26Z stoneglass joined #lisp 2020-08-23T08:10:07Z phoe: thanks for the pointers 2020-08-23T08:10:09Z hendursa1 joined #lisp 2020-08-23T08:10:22Z beach: Pleasure. 2020-08-23T08:11:15Z scymtym joined #lisp 2020-08-23T08:12:23Z hendursaga quit (Ping timeout: 240 seconds) 2020-08-23T08:13:28Z orivej joined #lisp 2020-08-23T08:14:14Z bilegeek quit (Quit: Leaving) 2020-08-23T08:16:36Z jerme_ quit (Ping timeout: 246 seconds) 2020-08-23T08:17:08Z buoy49 quit (Ping timeout: 244 seconds) 2020-08-23T08:17:16Z tfb quit (Read error: Connection reset by peer) 2020-08-23T08:17:20Z asedeno quit (Read error: Connection reset by peer) 2020-08-23T08:17:35Z lispyone_ quit (Read error: Connection reset by peer) 2020-08-23T08:17:57Z kilimanjaro quit (Read error: Connection reset by peer) 2020-08-23T08:17:57Z banjiewen quit (Read error: Connection reset by peer) 2020-08-23T08:18:58Z asedeno joined #lisp 2020-08-23T08:19:19Z tfb joined #lisp 2020-08-23T08:20:00Z buoy49 joined #lisp 2020-08-23T08:20:05Z lispyone_ joined #lisp 2020-08-23T08:20:27Z jerme_ joined #lisp 2020-08-23T08:20:38Z liberliver joined #lisp 2020-08-23T08:22:14Z banjiewen joined #lisp 2020-08-23T08:22:26Z kilimanjaro joined #lisp 2020-08-23T08:23:26Z liberliver1 joined #lisp 2020-08-23T08:24:43Z rme quit (Ping timeout: 180 seconds) 2020-08-23T08:24:43Z liberliver quit (Ping timeout: 246 seconds) 2020-08-23T08:24:44Z liberliver1 is now known as liberliver 2020-08-23T08:25:27Z jmercouris quit (Ping timeout: 272 seconds) 2020-08-23T08:25:33Z gendl quit (Read error: Connection reset by peer) 2020-08-23T08:25:49Z selwyn quit (Read error: Connection reset by peer) 2020-08-23T08:25:51Z terrorjack quit (Read error: Connection reset by peer) 2020-08-23T08:25:58Z rme quit (Ping timeout: 260 seconds) 2020-08-23T08:27:26Z mpontillo quit (Ping timeout: 265 seconds) 2020-08-23T08:27:33Z jmercouris joined #lisp 2020-08-23T08:30:06Z rme joined #lisp 2020-08-23T08:30:48Z mpontillo joined #lisp 2020-08-23T08:30:59Z selwyn joined #lisp 2020-08-23T08:31:23Z gendl joined #lisp 2020-08-23T08:33:14Z terrorjack joined #lisp 2020-08-23T08:34:01Z gioyik quit (Quit: WeeChat 2.9) 2020-08-23T08:34:21Z orivej quit (Ping timeout: 258 seconds) 2020-08-23T08:35:28Z libertyprime quit (Remote host closed the connection) 2020-08-23T08:47:25Z johnjay quit (Ping timeout: 240 seconds) 2020-08-23T08:47:31Z stoneglass quit (Quit: stoneglass) 2020-08-23T08:54:42Z stoneglass joined #lisp 2020-08-23T09:00:13Z flazh quit (Ping timeout: 264 seconds) 2020-08-23T09:00:25Z LdBeth quit (Quit: Idle for 30+ days) 2020-08-23T09:02:49Z gal quit (Ping timeout: 272 seconds) 2020-08-23T09:03:36Z unl0ckd quit (Quit: Idle for 30+ days) 2020-08-23T09:07:41Z phoe: Let's assume I have a directed tree with vertices A -> B -> D and A -> C -> D 2020-08-23T09:07:41Z mangul is now known as shangul 2020-08-23T09:08:11Z phoe: Is it a tree, since there are multiple paths via which D can be reached from A? Is there a name for such a tree variant? 2020-08-23T09:08:45Z Inline: a diamond 2020-08-23T09:09:11Z Inline: you have a split from the root to the bottom 2020-08-23T09:09:32Z phoe: I mean, the tree can be more complicated than that - it's just that there is more than one path to reach some object inside it from the root 2020-08-23T09:10:25Z phoe: Or, in other words - is the superclass-subclass graph in Common Lisp a tree? 2020-08-23T09:10:38Z beach: phoe: It's a DAG. 2020-08-23T09:10:39Z Inline: split graph maybe 2020-08-23T09:10:45Z phoe: beach: thanks! 2020-08-23T09:10:56Z Inline: but afaik split graphs are undirected, maybe there are also directed versions.... 2020-08-23T09:11:12Z gal joined #lisp 2020-08-23T09:12:17Z flazh joined #lisp 2020-08-23T09:16:32Z johnjay joined #lisp 2020-08-23T09:17:29Z scymtym quit (Remote host closed the connection) 2020-08-23T09:21:11Z jonatack joined #lisp 2020-08-23T09:25:40Z Demosthenex quit (Ping timeout: 244 seconds) 2020-08-23T09:26:25Z shangul quit (Ping timeout: 240 seconds) 2020-08-23T09:27:31Z Demosthenex joined #lisp 2020-08-23T09:34:35Z scymtym joined #lisp 2020-08-23T09:38:36Z _death: phoe: in a tree, between every two vertices there must be a single path 2020-08-23T09:38:54Z beach: At most. 2020-08-23T09:39:10Z phoe: _death: yes, thanks, that is what I was thinking of 2020-08-23T09:39:21Z phoe: beach: strictly speaking, exactly one; if it's zero, then it's a forest 2020-08-23T09:39:47Z beach: Oh, so if you have B and C both being children of A, there is a path between B and C? 2020-08-23T09:39:52Z phoe: unless we are talking about directed trees, at which point---- 2020-08-23T09:39:59Z phoe: yes, that 2020-08-23T09:40:44Z phoe: when we convert the directed tree to an undirected one, then there is exactly one path 2020-08-23T09:40:53Z beach: Sure. 2020-08-23T09:42:31Z _death: beach: a directed tree is called a polytree, where there is a single path if we remove the directions 2020-08-23T09:47:16Z jonatack quit (Quit: jonatack) 2020-08-23T09:47:58Z _death: I guess usually when one talks about trees (if it's not bioinformatics ;) one means rooted trees 2020-08-23T09:49:46Z shangul joined #lisp 2020-08-23T09:52:42Z jonatack joined #lisp 2020-08-23T09:59:59Z random-nick joined #lisp 2020-08-23T10:00:18Z nicktick quit (Ping timeout: 260 seconds) 2020-08-23T10:08:32Z pfr joined #lisp 2020-08-23T10:14:15Z smazga quit (Ping timeout: 265 seconds) 2020-08-23T10:14:26Z wxie joined #lisp 2020-08-23T10:17:33Z smazga joined #lisp 2020-08-23T10:19:01Z gdsg joined #lisp 2020-08-23T10:22:55Z smazga quit (Ping timeout: 240 seconds) 2020-08-23T10:23:01Z Inline quit (Ping timeout: 264 seconds) 2020-08-23T10:37:05Z Inline joined #lisp 2020-08-23T10:38:01Z johnjay quit (Ping timeout: 264 seconds) 2020-08-23T10:53:37Z v3ga joined #lisp 2020-08-23T10:54:59Z wxie quit (Ping timeout: 240 seconds) 2020-08-23T11:04:03Z smazga joined #lisp 2020-08-23T11:09:23Z shangul quit (Ping timeout: 240 seconds) 2020-08-23T11:09:33Z shangul joined #lisp 2020-08-23T11:11:26Z shangul quit (Remote host closed the connection) 2020-08-23T11:11:46Z shangul joined #lisp 2020-08-23T11:12:09Z ralt quit (Quit: Connection closed for inactivity) 2020-08-23T11:12:38Z smazga quit (Ping timeout: 260 seconds) 2020-08-23T11:13:07Z smazga joined #lisp 2020-08-23T11:13:18Z shangul: where can I find about more options I can pass to uiop:read-file-lines? 2020-08-23T11:14:54Z phoe: (documentation 'uiop:read-file-lines 'function) 2020-08-23T11:15:15Z phoe: seems like KEYS are passed to CL:OPEN 2020-08-23T11:15:55Z ralt joined #lisp 2020-08-23T11:18:25Z smazga quit (Ping timeout: 258 seconds) 2020-08-23T11:37:43Z Xach: phoe: interesting. quicklisp http never requests ranges. i suspect a proxy intervening or something similar to that. 2020-08-23T11:39:25Z Demosthenex quit (Ping timeout: 240 seconds) 2020-08-23T11:41:15Z Demosthenex joined #lisp 2020-08-23T11:41:47Z mangul joined #lisp 2020-08-23T11:42:40Z phoe: Xach: will you respond there, or should I do that? 2020-08-23T11:42:47Z phoe: because I still don't know what to really respond with 2020-08-23T11:44:29Z shangul quit (Ping timeout: 258 seconds) 2020-08-23T11:44:54Z smazga joined #lisp 2020-08-23T11:48:01Z troydm joined #lisp 2020-08-23T11:49:05Z smazga quit (Ping timeout: 240 seconds) 2020-08-23T11:52:28Z tutti joined #lisp 2020-08-23T12:05:17Z Xach: i can respond there 2020-08-23T12:08:01Z pfr quit (Ping timeout: 264 seconds) 2020-08-23T12:08:37Z tourjin quit (Ping timeout: 264 seconds) 2020-08-23T12:12:51Z mangul quit (Remote host closed the connection) 2020-08-23T12:13:28Z shangul joined #lisp 2020-08-23T12:13:43Z phoe: thanks 2020-08-23T12:14:21Z shangul: phoe, thanks 2020-08-23T12:24:16Z mangoicedtea joined #lisp 2020-08-23T12:28:07Z johnjay joined #lisp 2020-08-23T12:33:04Z cosimone joined #lisp 2020-08-23T12:34:52Z orivej joined #lisp 2020-08-23T12:36:15Z tutti quit (Ping timeout: 272 seconds) 2020-08-23T12:36:47Z smazga joined #lisp 2020-08-23T12:43:57Z tourjin joined #lisp 2020-08-23T12:45:01Z gko_ joined #lisp 2020-08-23T12:57:43Z shifty joined #lisp 2020-08-23T12:59:53Z Lord_of_Life quit (Read error: Connection reset by peer) 2020-08-23T13:00:22Z Lord_of_Life joined #lisp 2020-08-23T13:05:04Z hendursa1 quit (Quit: hendursa1) 2020-08-23T13:05:24Z hendursaga joined #lisp 2020-08-23T13:06:13Z _jrjsmrtn quit (Ping timeout: 264 seconds) 2020-08-23T13:06:41Z __jrjsmrtn__ joined #lisp 2020-08-23T13:12:04Z smazga quit (Ping timeout: 256 seconds) 2020-08-23T13:13:51Z renzhi joined #lisp 2020-08-23T13:18:15Z yitzi joined #lisp 2020-08-23T13:18:53Z jibanes quit (Ping timeout: 265 seconds) 2020-08-23T13:20:18Z jibanes joined #lisp 2020-08-23T13:20:25Z dilated_dinosaur quit (Ping timeout: 240 seconds) 2020-08-23T13:22:09Z ralt quit (Quit: Connection closed for inactivity) 2020-08-23T13:34:48Z grewal quit (Quit: Lost terminal) 2020-08-23T13:51:03Z _whitelogger quit (Remote host closed the connection) 2020-08-23T13:53:13Z _whitelogger joined #lisp 2020-08-23T13:58:03Z ralt joined #lisp 2020-08-23T14:04:03Z mangoicedtea quit (Quit: Leaving) 2020-08-23T14:05:37Z orivej quit (Ping timeout: 264 seconds) 2020-08-23T14:08:01Z dilated_dinosaur joined #lisp 2020-08-23T14:08:53Z VincentVega joined #lisp 2020-08-23T14:11:42Z orivej joined #lisp 2020-08-23T14:12:37Z Inline quit (Ping timeout: 246 seconds) 2020-08-23T14:21:17Z smazga joined #lisp 2020-08-23T14:21:49Z terpri__ joined #lisp 2020-08-23T14:23:31Z jesse1010 joined #lisp 2020-08-23T14:24:25Z terpri_ quit (Ping timeout: 240 seconds) 2020-08-23T14:25:52Z smazga quit (Ping timeout: 258 seconds) 2020-08-23T14:26:55Z tourjin quit (Ping timeout: 240 seconds) 2020-08-23T14:38:09Z orivej quit (Ping timeout: 265 seconds) 2020-08-23T14:42:45Z renzhi quit (Ping timeout: 240 seconds) 2020-08-23T14:43:29Z VincentVega quit (Remote host closed the connection) 2020-08-23T14:45:21Z smazga joined #lisp 2020-08-23T14:46:02Z edgar-rft quit (Quit: Leaving) 2020-08-23T14:48:55Z shifty quit (Ping timeout: 240 seconds) 2020-08-23T14:49:01Z toorevitimirp quit (Remote host closed the connection) 2020-08-23T14:49:31Z terpri__ is now known as terpri 2020-08-23T14:50:47Z johnjay quit (Ping timeout: 258 seconds) 2020-08-23T14:51:17Z toorevitimirp joined #lisp 2020-08-23T14:58:25Z random-nick quit (Ping timeout: 240 seconds) 2020-08-23T15:02:28Z torbo joined #lisp 2020-08-23T15:04:40Z toorevitimirp quit (Remote host closed the connection) 2020-08-23T15:05:06Z toorevitimirp joined #lisp 2020-08-23T15:09:27Z johnjay joined #lisp 2020-08-23T15:12:31Z nicktick joined #lisp 2020-08-23T15:13:45Z gko_ quit (Ping timeout: 240 seconds) 2020-08-23T15:17:20Z orivej joined #lisp 2020-08-23T15:29:24Z random-nick joined #lisp 2020-08-23T15:33:11Z FreeBirdLjj quit (Read error: Connection reset by peer) 2020-08-23T15:36:01Z Inline joined #lisp 2020-08-23T15:45:44Z ym555 joined #lisp 2020-08-23T15:46:51Z Josh_2 joined #lisp 2020-08-23T15:47:55Z nicktick quit (Ping timeout: 240 seconds) 2020-08-23T15:48:09Z gal quit (Ping timeout: 272 seconds) 2020-08-23T15:52:23Z Josh_2: afternoon 2020-08-23T15:52:41Z beach: Hello Josh_2. 2020-08-23T15:53:06Z Josh_2: Hi beach, hows your work going? 2020-08-23T15:53:30Z beach: Great, thanks. How about you? 2020-08-23T15:53:50Z Josh_2: That's good to hear! 2020-08-23T15:54:08Z ym555 quit (Quit: leaving...) 2020-08-23T15:54:29Z ym555 joined #lisp 2020-08-23T15:55:59Z Josh_2: for me it is not work, just a hobby :P 2020-08-23T15:56:05Z beach: Heh, I see. 2020-08-23T15:58:20Z gravicappa joined #lisp 2020-08-23T15:58:39Z beach: So jackdaniel is working on Clostrum, which is the extraction of SICL first-class global environments to a separate repository. And once the main work is done, he is going to create an instance of it that contains enough ECL macros and functions to be used as the basis for a cross compiler for ECL. 2020-08-23T15:58:48Z beach: This is a demo to show how to build a cross compiler using Clostrum, Trucler, Eclector, CST, and Cleavir. 2020-08-23T15:58:49Z beach: For (EVAL-WHEN (:COMPILE-TOPLEVEL...) ...) we need an EVAL, and I am working on an "AST evaluator" that will turn the AST into very specialized host code so that forms can be evaluated in a Clostrum environment constellation. 2020-08-23T15:59:50Z Josh_2: sounds very complicated 2020-08-23T15:59:51Z ym555 quit (Quit: leaving...) 2020-08-23T16:00:18Z ym555 joined #lisp 2020-08-23T16:00:37Z beach: It's a bit involved, but it will be well documented so that someone who wants to create a cross compiler for his or her favorite Common Lisp implementation should be able to do so. 2020-08-23T16:03:24Z Josh_2: Well best of luck with it! I'm just messing with my own trivial HTTP server 2020-08-23T16:04:09Z duuqnd joined #lisp 2020-08-23T16:05:01Z beach: Thanks. Good luck with yours as well. 2020-08-23T16:05:41Z ym555 quit (Quit: leaving...) 2020-08-23T16:06:05Z ym555 joined #lisp 2020-08-23T16:06:42Z dredrim joined #lisp 2020-08-23T16:07:06Z CrazyEddy quit (Ping timeout: 260 seconds) 2020-08-23T16:10:02Z lucasb joined #lisp 2020-08-23T16:10:48Z terpri_ joined #lisp 2020-08-23T16:13:55Z terpri quit (Ping timeout: 240 seconds) 2020-08-23T16:15:30Z ym555 quit (Quit: leaving...) 2020-08-23T16:17:02Z Necktwi quit (Ping timeout: 258 seconds) 2020-08-23T16:18:28Z stoneglass quit (Quit: stoneglass) 2020-08-23T16:19:08Z dredrim quit (Ping timeout: 256 seconds) 2020-08-23T16:34:19Z Lord_of_Life_ joined #lisp 2020-08-23T16:35:25Z Lord_of_Life quit (Ping timeout: 240 seconds) 2020-08-23T16:35:43Z Lord_of_Life_ is now known as Lord_of_Life 2020-08-23T16:36:44Z alfonsox joined #lisp 2020-08-23T16:46:39Z shka_ joined #lisp 2020-08-23T16:47:45Z OptimusMKD joined #lisp 2020-08-23T16:51:57Z Oladon joined #lisp 2020-08-23T16:56:14Z elxbarbosa joined #lisp 2020-08-23T17:00:35Z frgo_ is now known as frgo 2020-08-23T17:00:49Z yitzi quit (Read error: Connection reset by peer) 2020-08-23T17:01:54Z terpri__ joined #lisp 2020-08-23T17:04:55Z terpri_ quit (Ping timeout: 240 seconds) 2020-08-23T17:05:45Z smazga quit (Ping timeout: 240 seconds) 2020-08-23T17:11:11Z prite joined #lisp 2020-08-23T17:13:34Z Necktwi joined #lisp 2020-08-23T17:16:30Z AeroNotix joined #lisp 2020-08-23T17:19:08Z zigpaw1 quit (Ping timeout: 258 seconds) 2020-08-23T17:20:04Z Necktwi quit (Ping timeout: 265 seconds) 2020-08-23T17:21:51Z zigpaw1 joined #lisp 2020-08-23T17:32:19Z smazga joined #lisp 2020-08-23T17:37:47Z smazga quit (Ping timeout: 240 seconds) 2020-08-23T17:39:04Z orivej quit (Ping timeout: 258 seconds) 2020-08-23T17:39:27Z smazga joined #lisp 2020-08-23T17:45:58Z smazga quit (Ping timeout: 258 seconds) 2020-08-23T17:47:01Z elflng quit (Read error: No route to host) 2020-08-23T17:49:13Z orivej joined #lisp 2020-08-23T17:52:23Z elflng joined #lisp 2020-08-23T17:56:49Z bitmapper quit (Read error: Connection reset by peer) 2020-08-23T17:57:02Z bitmapper joined #lisp 2020-08-23T17:59:38Z alfonsox quit (Remote host closed the connection) 2020-08-23T18:05:59Z Inline quit (Ping timeout: 265 seconds) 2020-08-23T18:09:57Z jw4 quit (Read error: Connection reset by peer) 2020-08-23T18:11:57Z jw4 joined #lisp 2020-08-23T18:12:58Z gaqwas joined #lisp 2020-08-23T18:14:55Z shangul quit (Ping timeout: 240 seconds) 2020-08-23T18:17:41Z lemoinem joined #lisp 2020-08-23T18:17:43Z smazga joined #lisp 2020-08-23T18:17:51Z ralt quit (Quit: Connection closed for inactivity) 2020-08-23T18:21:55Z smazga quit (Ping timeout: 240 seconds) 2020-08-23T18:25:31Z cosimone quit (Quit: Quit.) 2020-08-23T18:31:14Z theseb_ joined #lisp 2020-08-23T18:37:30Z smazga joined #lisp 2020-08-23T18:39:55Z space_otter joined #lisp 2020-08-23T18:42:45Z smazga quit (Ping timeout: 240 seconds) 2020-08-23T18:56:41Z Inline joined #lisp 2020-08-23T18:57:42Z konsentrate joined #lisp 2020-08-23T19:05:25Z dilated_dinosaur quit (Ping timeout: 240 seconds) 2020-08-23T19:07:44Z cosimone joined #lisp 2020-08-23T19:11:27Z Inline quit (Ping timeout: 258 seconds) 2020-08-23T19:12:13Z ralt joined #lisp 2020-08-23T19:15:47Z retropikzel joined #lisp 2020-08-23T19:21:51Z vutral joined #lisp 2020-08-23T19:30:22Z maplambda joined #lisp 2020-08-23T19:30:38Z Necktwi joined #lisp 2020-08-23T19:34:44Z theseb_ quit (Quit: Leaving) 2020-08-23T19:37:18Z Inline joined #lisp 2020-08-23T19:37:55Z liberliver quit (Quit: liberliver) 2020-08-23T19:39:55Z Alloc quit (Ping timeout: 240 seconds) 2020-08-23T19:40:02Z elxbarbo` joined #lisp 2020-08-23T19:42:15Z Alloc joined #lisp 2020-08-23T19:43:13Z phoe: ( 2020-08-23T19:44:04Z EvW joined #lisp 2020-08-23T19:44:22Z elxbarbosa quit (Ping timeout: 260 seconds) 2020-08-23T19:45:16Z dra joined #lisp 2020-08-23T19:46:48Z konsentrate quit (Ping timeout: 244 seconds) 2020-08-23T19:46:55Z Josh_2: ) 2020-08-23T19:47:24Z dra: Hello! 2020-08-23T19:47:39Z phoe: hey dra 2020-08-23T19:47:43Z Josh_2: hi 2020-08-23T19:53:42Z Inline: (!) 2020-08-23T20:01:05Z Bourne quit (Ping timeout: 240 seconds) 2020-08-23T20:01:39Z aaaaaa joined #lisp 2020-08-23T20:06:16Z shka_ quit (Ping timeout: 258 seconds) 2020-08-23T20:07:17Z duuqnd quit (Remote host closed the connection) 2020-08-23T20:10:25Z Demosthenex quit (Ping timeout: 264 seconds) 2020-08-23T20:12:11Z Demosthenex joined #lisp 2020-08-23T20:18:12Z akoana joined #lisp 2020-08-23T20:18:53Z terpri__ is now known as terpri 2020-08-23T20:22:27Z scymtym quit (Ping timeout: 244 seconds) 2020-08-23T20:22:57Z cosimone quit (Quit: Quit.) 2020-08-23T20:24:10Z maplambda quit (Changing host) 2020-08-23T20:24:10Z maplambda joined #lisp 2020-08-23T20:26:31Z krid` joined #lisp 2020-08-23T20:35:24Z epony quit (Ping timeout: 258 seconds) 2020-08-23T20:37:22Z krid` quit (Read error: Connection reset by peer) 2020-08-23T20:37:39Z krid` joined #lisp 2020-08-23T20:38:21Z Inline quit (Quit: Leaving) 2020-08-23T20:52:29Z karlosz quit (Quit: karlosz) 2020-08-23T20:58:26Z EvW quit (Ping timeout: 240 seconds) 2020-08-23T21:00:47Z pve quit (Quit: leaving) 2020-08-23T21:01:37Z smazga joined #lisp 2020-08-23T21:04:07Z ggole quit (Quit: Leaving) 2020-08-23T21:06:22Z smazga quit (Ping timeout: 256 seconds) 2020-08-23T21:14:01Z Josh_2 quit (Ping timeout: 264 seconds) 2020-08-23T21:15:37Z EvW joined #lisp 2020-08-23T21:15:40Z karlosz joined #lisp 2020-08-23T21:20:36Z OptimusMKD quit (Read error: Connection reset by peer) 2020-08-23T21:23:28Z akoana left #lisp 2020-08-23T21:24:26Z scymtym joined #lisp 2020-08-23T21:25:09Z Jesin quit (Quit: Leaving) 2020-08-23T21:36:11Z gravicappa quit (Ping timeout: 240 seconds) 2020-08-23T21:41:35Z rme quit (Ping timeout: 180 seconds) 2020-08-23T21:41:38Z terrorjack quit (Ping timeout: 260 seconds) 2020-08-23T21:41:43Z prite quit (Ping timeout: 258 seconds) 2020-08-23T21:42:01Z rme quit (Read error: Connection reset by peer) 2020-08-23T21:42:55Z lucasb quit (Ping timeout: 240 seconds) 2020-08-23T21:42:56Z jmercouris quit (Ping timeout: 240 seconds) 2020-08-23T21:44:03Z lucasb joined #lisp 2020-08-23T21:44:44Z vutral quit (Quit: Connection closed for inactivity) 2020-08-23T21:45:08Z gendl quit (Ping timeout: 260 seconds) 2020-08-23T21:45:09Z jmercouris joined #lisp 2020-08-23T21:45:28Z lucasb quit (Max SendQ exceeded) 2020-08-23T21:45:42Z EvW1 joined #lisp 2020-08-23T21:46:25Z krid` quit (Ping timeout: 240 seconds) 2020-08-23T21:47:33Z notzmv joined #lisp 2020-08-23T21:48:49Z EvW quit (Ping timeout: 244 seconds) 2020-08-23T21:48:49Z EvW1 is now known as EvW 2020-08-23T21:49:06Z krid` joined #lisp 2020-08-23T21:49:31Z gendl joined #lisp 2020-08-23T21:50:24Z lucasb joined #lisp 2020-08-23T21:51:36Z terrorjack joined #lisp 2020-08-23T21:51:54Z zmv joined #lisp 2020-08-23T21:52:06Z rme joined #lisp 2020-08-23T21:54:45Z notzmv quit (Ping timeout: 258 seconds) 2020-08-23T21:56:58Z CrazyEddy joined #lisp 2020-08-23T21:57:48Z kaftejiman quit (Remote host closed the connection) 2020-08-23T22:00:46Z Jesin joined #lisp 2020-08-23T22:03:12Z markasoftware: with &allow-other-keys, is there a way to get /only/ the other keys, excluding the keys that I explicitly list as arguments? 2020-08-23T22:04:17Z phoe: use &rest &key instead 2020-08-23T22:04:21Z MichaelRaskin quit (Quit: MichaelRaskin) 2020-08-23T22:05:05Z phoe: (defun foo (&rest args &key foo bar baz &allow-other-keys) (let ((other-keys (alexandria-:remove-from-plist args :foo :bar :baz))) ...)) 2020-08-23T22:05:14Z phoe: s/alexandria-/alexandria/ 2020-08-23T22:05:37Z markasoftware: ok, so there's no way to do it using only the lambda list, i need to remove from plist. Thanks! 2020-08-23T22:05:43Z epony joined #lisp 2020-08-23T22:06:52Z phoe: also remember that :allow-other-keys t can be passed from the caller side, too, but you likely don't need to prepare for such a scenario 2020-08-23T22:10:11Z mangoicedtea joined #lisp 2020-08-23T22:21:06Z ebrasca joined #lisp 2020-08-23T22:21:18Z rumbler31 quit (Remote host closed the connection) 2020-08-23T22:27:10Z elxbarbo` quit (Remote host closed the connection) 2020-08-23T22:27:33Z rumbler31 joined #lisp 2020-08-23T22:30:45Z dilated_dinosaur joined #lisp 2020-08-23T22:39:59Z EvW1 joined #lisp 2020-08-23T22:42:55Z EvW quit (Ping timeout: 240 seconds) 2020-08-23T22:43:10Z EvW joined #lisp 2020-08-23T22:44:25Z EvW1 quit (Ping timeout: 240 seconds) 2020-08-23T22:47:02Z EvW1 joined #lisp 2020-08-23T22:49:43Z yitzi joined #lisp 2020-08-23T22:49:55Z EvW quit (Ping timeout: 240 seconds) 2020-08-23T22:49:55Z EvW1 is now known as EvW 2020-08-23T22:54:48Z remexre quit (Quit: WeeChat 2.8) 2020-08-23T22:58:46Z toorevitimirp quit (Ping timeout: 258 seconds) 2020-08-23T23:03:57Z lisper29 joined #lisp 2020-08-23T23:07:45Z yitzi quit (Read error: Connection reset by peer) 2020-08-23T23:08:25Z zmv is now known as notzmv 2020-08-23T23:10:51Z Misha_B joined #lisp 2020-08-23T23:12:15Z karlosz quit (Quit: karlosz) 2020-08-23T23:13:28Z FennecCode quit (Ping timeout: 244 seconds) 2020-08-23T23:13:33Z dra_ joined #lisp 2020-08-23T23:13:34Z karlosz joined #lisp 2020-08-23T23:16:42Z zmv joined #lisp 2020-08-23T23:16:45Z dra quit (Ping timeout: 240 seconds) 2020-08-23T23:19:47Z notzmv quit (Ping timeout: 240 seconds) 2020-08-23T23:21:06Z notzmv joined #lisp 2020-08-23T23:21:23Z zmv quit (Ping timeout: 258 seconds) 2020-08-23T23:22:00Z ralt quit (Quit: Connection closed for inactivity) 2020-08-23T23:27:14Z lisper29 left #lisp 2020-08-23T23:31:03Z vutral joined #lisp 2020-08-23T23:31:12Z zmv joined #lisp 2020-08-23T23:34:25Z notzmv quit (Ping timeout: 258 seconds) 2020-08-23T23:34:27Z mangoicedtea quit (Quit: Leaving) 2020-08-23T23:34:51Z notzmv joined #lisp 2020-08-23T23:35:24Z random-nick quit (Ping timeout: 256 seconds) 2020-08-23T23:35:57Z zmv quit (Ping timeout: 258 seconds) 2020-08-23T23:40:56Z v3ga quit (Ping timeout: 244 seconds) 2020-08-23T23:41:22Z v3ga joined #lisp 2020-08-23T23:41:28Z karlosz quit (Quit: karlosz) 2020-08-23T23:41:35Z nicktick joined #lisp 2020-08-23T23:41:40Z gdsg quit (Quit: Leaving) 2020-08-23T23:42:49Z zmv joined #lisp 2020-08-23T23:45:06Z aaaaaa quit (Quit: leaving) 2020-08-23T23:45:37Z EvW1 joined #lisp 2020-08-23T23:45:55Z notzmv quit (Ping timeout: 258 seconds) 2020-08-23T23:46:13Z notzmv joined #lisp 2020-08-23T23:46:55Z EvW quit (Ping timeout: 240 seconds) 2020-08-23T23:46:56Z EvW1 is now known as EvW 2020-08-23T23:47:23Z zmv quit (Ping timeout: 240 seconds) 2020-08-23T23:48:59Z zmv joined #lisp 2020-08-23T23:50:12Z borodust quit (Remote host closed the connection) 2020-08-23T23:50:35Z notzmv quit (Ping timeout: 240 seconds) 2020-08-23T23:51:17Z notzmv joined #lisp 2020-08-23T23:53:23Z zmv quit (Ping timeout: 240 seconds) 2020-08-23T23:53:39Z zmv joined #lisp 2020-08-23T23:55:11Z cjb joined #lisp 2020-08-23T23:55:47Z notzmv quit (Ping timeout: 240 seconds) 2020-08-23T23:56:59Z FennecCode joined #lisp 2020-08-23T23:57:25Z shifty joined #lisp 2020-08-23T23:57:47Z zmv quit (Ping timeout: 240 seconds) 2020-08-24T00:01:31Z bilegeek joined #lisp 2020-08-24T00:11:44Z karlosz joined #lisp 2020-08-24T00:14:57Z d_r3x_ joined #lisp 2020-08-24T00:26:46Z Misha_B quit (Read error: Connection reset by peer) 2020-08-24T00:29:18Z Misha_B joined #lisp 2020-08-24T00:29:53Z cjb quit (Ping timeout: 272 seconds) 2020-08-24T00:32:57Z cjb joined #lisp 2020-08-24T00:39:42Z aindilis joined #lisp 2020-08-24T00:42:51Z yamazaki joined #lisp 2020-08-24T00:48:01Z karlosz quit (Quit: karlosz) 2020-08-24T00:53:04Z karlosz joined #lisp 2020-08-24T00:58:45Z karlosz quit (Quit: karlosz) 2020-08-24T01:00:04Z karlosz joined #lisp 2020-08-24T01:01:40Z dra_ quit (Remote host closed the connection) 2020-08-24T01:04:22Z smazga joined #lisp 2020-08-24T01:07:19Z karlosz quit (Quit: karlosz) 2020-08-24T01:08:43Z smazga quit (Ping timeout: 258 seconds) 2020-08-24T01:11:29Z edgar-rft joined #lisp 2020-08-24T01:20:15Z yamazaki quit (Quit: WeeChat 2.3) 2020-08-24T01:25:20Z bsd4me joined #lisp 2020-08-24T01:27:36Z karlosz joined #lisp 2020-08-24T01:34:25Z EvW quit (Ping timeout: 240 seconds) 2020-08-24T01:34:52Z lalilulelo joined #lisp 2020-08-24T01:40:17Z bsd4me left #lisp 2020-08-24T01:41:48Z Kaisyu joined #lisp 2020-08-24T01:41:51Z karlosz quit (Quit: karlosz) 2020-08-24T01:44:01Z asarch joined #lisp 2020-08-24T01:44:38Z asarch: Using datafly, how would count all the records in a table? 2020-08-24T01:45:49Z AeroNotix quit (Quit: WeeChat 2.9) 2020-08-24T01:54:44Z vutral quit (Quit: Connection closed for inactivity) 2020-08-24T02:04:06Z notzmv joined #lisp 2020-08-24T02:04:57Z buffergn0me joined #lisp 2020-08-24T02:09:47Z lucasb quit (Quit: Connection closed for inactivity) 2020-08-24T02:21:11Z Oladon quit (Quit: Leaving.) 2020-08-24T02:24:25Z orivej quit (Ping timeout: 240 seconds) 2020-08-24T02:29:05Z gaqwas quit (Ping timeout: 240 seconds) 2020-08-24T02:29:28Z gaqwas joined #lisp 2020-08-24T02:30:48Z Misha_B` joined #lisp 2020-08-24T02:30:49Z Misha_B quit (Ping timeout: 264 seconds) 2020-08-24T02:30:56Z Misha_B` is now known as Misha_B 2020-08-24T02:31:23Z mrcom quit (Read error: Connection reset by peer) 2020-08-24T02:34:58Z d_r3x_ quit (Quit: Leaving) 2020-08-24T02:35:31Z philweb joined #lisp 2020-08-24T02:36:33Z buffergn0me quit (Remote host closed the connection) 2020-08-24T02:37:09Z buffergn0me joined #lisp 2020-08-24T02:38:13Z karlosz joined #lisp 2020-08-24T02:39:48Z chiota joined #lisp 2020-08-24T02:44:14Z Oladon joined #lisp 2020-08-24T02:48:25Z ebrasca quit (Remote host closed the connection) 2020-08-24T02:51:51Z flazh quit (Ping timeout: 265 seconds) 2020-08-24T02:58:37Z nicktick quit (Ping timeout: 265 seconds) 2020-08-24T03:02:18Z Alfr_ joined #lisp 2020-08-24T03:04:25Z Alfr__ quit (Ping timeout: 240 seconds) 2020-08-24T03:05:01Z akoana joined #lisp 2020-08-24T03:05:06Z nicktick joined #lisp 2020-08-24T03:07:36Z chiota quit (Quit: quit) 2020-08-24T03:18:28Z flazh joined #lisp 2020-08-24T03:19:36Z beach: Good morning everyone! 2020-08-24T03:22:28Z akoana quit (Quit: leaving) 2020-08-24T03:33:16Z buffergn0me quit (Remote host closed the connection) 2020-08-24T03:33:25Z buffergn0me joined #lisp 2020-08-24T03:33:51Z buffergn0me quit (Client Quit) 2020-08-24T03:33:54Z jesse1010 quit (Ping timeout: 265 seconds) 2020-08-24T03:34:04Z philweb: does anyone have any tips for troubleshooting a CFFI:LOAD-FOREIGN-LIBRARY-ERROR (apparently unable to find the shared library on Linux)? 2020-08-24T03:34:29Z philweb: I've verified the location and tried: (pushnew #P"/usr/lib/x86_64-linux-gnu/" cffi:*foreign-library-directories* :test #'equal) 2020-08-24T03:38:58Z philweb: doh... just figured it out: Debian library naming conventions different than what's baked into harmony 2020-08-24T03:42:03Z shifty quit (Ping timeout: 258 seconds) 2020-08-24T03:44:22Z terpri_ joined #lisp 2020-08-24T03:46:55Z shangul joined #lisp 2020-08-24T03:47:12Z terpri quit (Ping timeout: 244 seconds) 2020-08-24T03:49:25Z Oladon quit (Quit: Leaving.) 2020-08-24T03:55:07Z torbo quit (Remote host closed the connection) 2020-08-24T04:02:05Z mathrick: hmm, so are there any easy ways these days to step through code in SLIME/SLY, preferably with a preview of what values things have without me needing to eval-in-frame all the time? 2020-08-24T04:02:59Z mathrick: I know about STEP and the step restarts that at least SBCL supports, but those are slightly crummy to use. I'd love to see something slightly more integrated with the window I'm looking at the code in 2020-08-24T04:07:50Z beach: I am afraid our free tools are not that good in this respect. 2020-08-24T04:08:04Z minion quit (Ping timeout: 246 seconds) 2020-08-24T04:08:25Z specbot quit (Ping timeout: 240 seconds) 2020-08-24T04:10:34Z beach: mathrick: You can read about the current state here: http://metamodular.com/SICL/sicl-debugging.pdf 2020-08-24T04:10:56Z mrcom joined #lisp 2020-08-24T04:11:37Z zigpaw1 quit (Ping timeout: 264 seconds) 2020-08-24T04:12:57Z zigpaw1 joined #lisp 2020-08-24T04:13:11Z mathrick: beach: thanks. You're keeping busy as usual I see :) 2020-08-24T04:13:48Z beach: Definitely. 2020-08-24T04:18:04Z Oladon joined #lisp 2020-08-24T04:27:56Z gravicappa joined #lisp 2020-08-24T04:30:32Z dominic34 joined #lisp 2020-08-24T04:30:32Z dominic34 quit (Excess Flood) 2020-08-24T04:30:42Z dominic34 joined #lisp 2020-08-24T04:34:55Z Lord_of_Life quit (Ping timeout: 240 seconds) 2020-08-24T04:34:56Z Lord_of_Life_ joined #lisp 2020-08-24T04:36:15Z Lord_of_Life_ is now known as Lord_of_Life 2020-08-24T04:37:39Z shka_ joined #lisp 2020-08-24T04:37:40Z asarch quit (Quit: Leaving) 2020-08-24T04:42:09Z duuqnd joined #lisp 2020-08-24T04:53:50Z dominic34 quit (Ping timeout: 260 seconds) 2020-08-24T04:54:59Z mfiano: mathrick, beach: Sounds like a use for Sly stickers. 2020-08-24T04:58:36Z Archenoth joined #lisp 2020-08-24T04:59:54Z zmyrgel joined #lisp 2020-08-24T05:05:30Z smazga joined #lisp 2020-08-24T05:08:01Z zmyrgel quit (Remote host closed the connection) 2020-08-24T05:09:47Z smazga quit (Ping timeout: 240 seconds) 2020-08-24T05:18:30Z beach: mfiano: I don't know about Sly stickers. But I don't see how you can do something in the user interface that the underlying implementation does not allow. Can you explain what you mean? 2020-08-24T05:19:05Z mfiano: It's a means to annotate forms with a key bindings, which colors them a shade of grey. Can also annotate subforms which shades them a slightly different color. Each time one of them is hit in code, they turn a shade of blue, and you can bring up an interactive Stickers window to cycle through the history of the values each one recorded. You can also have it break into the debugger when one is 2020-08-24T05:19:07Z mfiano: triggers if you prefer that. Basically it's a way to step through and debug parts of a program without editing your files. 2020-08-24T05:22:26Z beach: Oh, I see what you mean. 2020-08-24T05:22:57Z beach: My plan is to use McCLIM for all this stuff though. 2020-08-24T05:23:00Z mfiano: It's a better/interactive alternative to print debugging or using manual breakpoints 2020-08-24T05:24:31Z beach: And, as the paper explains, I want debugging to be omnipresent. One should not have to annotate forms just to set a breakpoint. 2020-08-24T05:24:57Z mfiano: What do you mean by annotate here? 2020-08-24T05:26:25Z beach: You used the word annotate. Maybe I misunderstood. Perhaps you can explain how Sly can set a breakpoint in my code using an implementation that does not have breakpoints, or how it can step through the code in an implementation that does not have a stepping faclity? 2020-08-24T05:26:28Z beach: facility. 2020-08-24T05:32:09Z bg__ joined #lisp 2020-08-24T05:32:56Z jw4 quit (Quit: tot siens) 2020-08-24T05:33:23Z jw4 joined #lisp 2020-08-24T05:34:04Z beach: mfiano: Re-reading what you wrote, it looks like you are talking about the presentation part only. 2020-08-24T05:34:33Z beach: Again, I plan to do this stuff with CLIM presentations. 2020-08-24T05:34:43Z bilegeek quit (Ping timeout: 260 seconds) 2020-08-24T05:35:24Z mfiano: I am not quite sure how it is implemented apart from sending instrumented code to Lisp 2020-08-24T05:36:20Z mfiano: Sadly, I still cannot use McCLIM. 2020-08-24T05:36:32Z beach: Yeah, well, I am not interested in this separation between the process running the user interface and the process running the Common Lisp system. 2020-08-24T05:36:51Z beach: mfiano: What prevents you? 2020-08-24T05:37:21Z mfiano: We talked about this before. In short, at least the CLX backend does not handle high DPI displays correctly. 2020-08-24T05:37:32Z mfiano: Making things like text absolutely unreadable 2020-08-24T05:37:52Z beach: I vaguely remember this discussion now. 2020-08-24T05:38:04Z beach: That doesn't sounds like an unfixable problem. 2020-08-24T05:38:17Z beach: Just use a bigger font. No? 2020-08-24T05:39:47Z mfiano: THat is controlled by the Xresource database, which CLX does not honor like other X applications. This is more than just fonts too. I can't even position my mouse cursor over a scrollbar/other widget without lots of trial and error. 2020-08-24T05:40:34Z beach: I see. Well, you would do a favor to everyone if you helped fix that. 2020-08-24T05:40:46Z mfiano: Nothing is unsolvable. It takes developer for a small community that has other priorities though. I brought this up countless times in the last couple years anyway 2020-08-24T05:40:57Z mfiano: Sorry, but I am not familiar with X protocols 2020-08-24T05:41:13Z beach: Bah, you can read up. That's what everyone does. 2020-08-24T05:42:08Z beach: Or you can work on the framebuffer backend instead, avoiding X entirely. 2020-08-24T05:46:07Z mfiano: I could, but my I don't have any desire to use McCLIM, or any other graphical application for that matter. It was just a first impression when I tried it. 2020-08-24T05:46:47Z mfiano: My priority list has a lot of things weighted towards the top that I haven't been able to get to in years, and this would be much lower than that. 2020-08-24T05:46:49Z beach: That's different. If you don't have any desire to use such stuff, then the problem is solved as far as you are concerned. 2020-08-24T05:50:28Z Alloc quit (Ping timeout: 258 seconds) 2020-08-24T05:50:55Z krid` quit (Ping timeout: 240 seconds) 2020-08-24T05:51:27Z Alloc joined #lisp 2020-08-24T05:57:46Z narimiran joined #lisp 2020-08-24T05:58:26Z jprajzne joined #lisp 2020-08-24T06:11:22Z prite joined #lisp 2020-08-24T06:12:38Z jeosol joined #lisp 2020-08-24T06:16:55Z physpi quit (Ping timeout: 240 seconds) 2020-08-24T06:19:02Z avicenna quit (Ping timeout: 260 seconds) 2020-08-24T06:20:02Z physpi joined #lisp 2020-08-24T06:20:55Z minion joined #lisp 2020-08-24T06:20:56Z specbot joined #lisp 2020-08-24T06:23:43Z avicenna joined #lisp 2020-08-24T06:24:40Z karlosz quit (Quit: karlosz) 2020-08-24T06:25:15Z karlosz joined #lisp 2020-08-24T06:25:18Z karlosz quit (Remote host closed the connection) 2020-08-24T06:26:25Z jonatack quit (Ping timeout: 240 seconds) 2020-08-24T06:27:55Z Alloc quit (Ping timeout: 240 seconds) 2020-08-24T06:29:11Z toorevitimirp joined #lisp 2020-08-24T06:29:47Z Alloc joined #lisp 2020-08-24T06:30:46Z Oladon quit (Quit: Leaving.) 2020-08-24T06:31:39Z cjb quit (Quit: end of day :)) 2020-08-24T06:35:56Z Cymew joined #lisp 2020-08-24T06:37:38Z mangul joined #lisp 2020-08-24T06:40:28Z shangul quit (Ping timeout: 265 seconds) 2020-08-24T06:52:34Z philweb quit (Ping timeout: 245 seconds) 2020-08-24T06:53:00Z schweers joined #lisp 2020-08-24T06:53:19Z schweers quit (Client Quit) 2020-08-24T06:53:36Z schweers joined #lisp 2020-08-24T06:58:10Z shifty joined #lisp 2020-08-24T07:00:22Z C-16 quit (Quit: leaving) 2020-08-24T07:01:49Z terpri__ joined #lisp 2020-08-24T07:03:26Z jonatack joined #lisp 2020-08-24T07:04:45Z terpri_ quit (Ping timeout: 244 seconds) 2020-08-24T07:05:23Z iamFIREc1 joined #lisp 2020-08-24T07:06:51Z mathrick: mfiano: it still doesn't do much to show the state of the code being stepped through, even though they're nicer than adding FORMATs by hand 2020-08-24T07:07:54Z iamFIREcracker quit (Ping timeout: 258 seconds) 2020-08-24T07:09:37Z mathrick: I want sly to show me the locals and my current place in the source frame as I step through it, and also to be able to set breakpoints as I please, though that's somewhat different of an issue 2020-08-24T07:10:57Z rogersm joined #lisp 2020-08-24T07:15:08Z bg__ quit (Quit: Leaving) 2020-08-24T07:24:49Z msk joined #lisp 2020-08-24T07:24:53Z beach: mathrick: If you wait I while, it will happen, but not with Sly. 2020-08-24T07:25:09Z msk quit (Max SendQ exceeded) 2020-08-24T07:25:36Z msk joined #lisp 2020-08-24T07:26:08Z msk quit (Max SendQ exceeded) 2020-08-24T07:26:32Z msk joined #lisp 2020-08-24T07:27:18Z beach: see http://metamodular.com/clordane.pdf and http://metamodular.com/clordane.mp4 2020-08-24T07:29:06Z Bourne joined #lisp 2020-08-24T07:29:07Z mathrick: neat 2020-08-24T07:29:29Z toorevitimirp quit (Remote host closed the connection) 2020-08-24T07:31:49Z beach: Thanks. 2020-08-24T07:32:24Z toorevitimirp joined #lisp 2020-08-24T07:34:07Z jonatack quit (Ping timeout: 265 seconds) 2020-08-24T07:35:22Z mangul is now known as shangul 2020-08-24T07:37:16Z pve joined #lisp 2020-08-24T07:41:51Z terpri_ joined #lisp 2020-08-24T07:44:25Z terpri__ quit (Ping timeout: 240 seconds) 2020-08-24T07:45:41Z jonatack joined #lisp 2020-08-24T07:53:41Z space_otter quit (Remote host closed the connection) 2020-08-24T07:57:25Z gravicappa quit (Ping timeout: 240 seconds) 2020-08-24T08:01:54Z luna_is_here_ quit (Ping timeout: 260 seconds) 2020-08-24T08:02:13Z luna_is_here joined #lisp 2020-08-24T08:03:41Z ralt joined #lisp 2020-08-24T08:09:25Z aeth quit (Read error: Connection reset by peer) 2020-08-24T08:09:25Z nicktick quit (Ping timeout: 240 seconds) 2020-08-24T08:10:45Z aeth joined #lisp 2020-08-24T08:10:47Z hendursa1 joined #lisp 2020-08-24T08:12:16Z HDurer quit (Remote host closed the connection) 2020-08-24T08:12:23Z hendursaga quit (Ping timeout: 240 seconds) 2020-08-24T08:12:47Z jw4 quit (Ping timeout: 265 seconds) 2020-08-24T08:17:33Z jw4 joined #lisp 2020-08-24T08:30:01Z HDurer joined #lisp 2020-08-24T08:32:57Z toorevitimirp quit (Remote host closed the connection) 2020-08-24T08:33:27Z toorevitimirp joined #lisp 2020-08-24T08:48:20Z jonatack quit (Ping timeout: 258 seconds) 2020-08-24T08:50:29Z cosimone joined #lisp 2020-08-24T08:51:01Z ljavorsk joined #lisp 2020-08-24T08:55:12Z jonatack joined #lisp 2020-08-24T09:16:45Z rogersm quit (Quit: Leaving...) 2020-08-24T09:31:18Z jesse1010 joined #lisp 2020-08-24T09:53:33Z liberliver joined #lisp 2020-08-24T09:54:25Z jonatack quit (Ping timeout: 240 seconds) 2020-08-24T09:56:19Z terpri__ joined #lisp 2020-08-24T09:57:43Z johnjay quit (Ping timeout: 258 seconds) 2020-08-24T09:59:32Z terpri_ quit (Ping timeout: 260 seconds) 2020-08-24T10:01:25Z heisig joined #lisp 2020-08-24T10:05:09Z mangul joined #lisp 2020-08-24T10:07:25Z shangul quit (Ping timeout: 240 seconds) 2020-08-24T10:08:24Z johnjay joined #lisp 2020-08-24T10:17:51Z EvW joined #lisp 2020-08-24T10:27:34Z gravicappa joined #lisp 2020-08-24T10:34:03Z rogersm joined #lisp 2020-08-24T10:34:25Z random-nick joined #lisp 2020-08-24T10:53:42Z sm2n: has anyone tried porting racket's syntax-parse to cl? 2020-08-24T10:54:29Z lalilulelo quit (Ping timeout: 272 seconds) 2020-08-24T10:54:49Z orivej joined #lisp 2020-08-24T11:00:02Z phoe: optima and trivia exist as pattern matching systems in CL 2020-08-24T11:00:10Z phoe: I don't know if a direct port of racket's syntax-parse exists. 2020-08-24T11:03:31Z rogersm quit (Quit: Leaving...) 2020-08-24T11:04:30Z jonatack joined #lisp 2020-08-24T11:05:18Z bitmapper quit (Ping timeout: 260 seconds) 2020-08-24T11:05:45Z sm2n: hmm, I'm mainly interested because syntax-parse has some interesting facilities for giving more informative error messages 2020-08-24T11:06:37Z sm2n: I'll have to learn more about it I guess, I don't know how far trivia+defmacro gets in comparison 2020-08-24T11:11:36Z _paul0 quit (Read error: Connection reset by peer) 2020-08-24T11:11:36Z phoe: defmacro? 2020-08-24T11:12:43Z phoe: if I understand this correctly then syntax-parse is essentially a pattern matching operator 2020-08-24T11:13:32Z phoe: oh, wait, no, it's different 2020-08-24T11:13:37Z terpri__ is now known as terpri 2020-08-24T11:14:30Z ebrasca joined #lisp 2020-08-24T11:15:38Z sm2n: I was just reading this: https://docs.racket-lang.org/syntax/stxparse-intro.html 2020-08-24T11:15:51Z sm2n: I still don't understand racket's macro system 2020-08-24T11:16:07Z Xach: sm2n: this channel is for common lisp only, sorry 2020-08-24T11:16:27Z sm2n: yeah, I know, sorry 2020-08-24T11:16:55Z Alloc quit (Ping timeout: 240 seconds) 2020-08-24T11:16:56Z liberliver quit (Ping timeout: 265 seconds) 2020-08-24T11:16:56Z sm2n: I was just providing context for my original question, which in my defense, was CL related 2020-08-24T11:17:16Z Alloc joined #lisp 2020-08-24T11:20:20Z rippa joined #lisp 2020-08-24T11:20:29Z Xach is coming late to the party 2020-08-24T11:24:25Z kaftejiman joined #lisp 2020-08-24T11:24:44Z orivej quit (Ping timeout: 258 seconds) 2020-08-24T11:25:53Z zigpaw1 quit (Ping timeout: 258 seconds) 2020-08-24T11:27:45Z liberliver joined #lisp 2020-08-24T11:30:58Z Alloc quit (Ping timeout: 260 seconds) 2020-08-24T11:32:46Z borodust joined #lisp 2020-08-24T11:34:55Z EvW quit (Ping timeout: 240 seconds) 2020-08-24T11:35:49Z zigpaw1 joined #lisp 2020-08-24T11:38:27Z Alloc joined #lisp 2020-08-24T11:42:35Z orivej joined #lisp 2020-08-24T11:43:19Z terpri_ joined #lisp 2020-08-24T11:45:56Z Xach: 2020-08-24T11:46:25Z terpri quit (Ping timeout: 240 seconds) 2020-08-24T11:47:38Z phoe: :O 2020-08-24T11:48:25Z Alloc quit (Ping timeout: 240 seconds) 2020-08-24T11:49:05Z EvW1 joined #lisp 2020-08-24T11:54:15Z heisig quit (Ping timeout: 258 seconds) 2020-08-24T11:57:31Z v0|d joined #lisp 2020-08-24T11:59:20Z Alloc joined #lisp 2020-08-24T12:00:25Z prite quit (Ping timeout: 240 seconds) 2020-08-24T12:13:42Z EvW1 quit (Ping timeout: 260 seconds) 2020-08-24T12:25:29Z eta quit (Quit: we're here, we're queer, connection reset by peer) 2020-08-24T12:26:53Z yonkunas joined #lisp 2020-08-24T12:27:17Z shka_ quit (Quit: Konversation terminated!) 2020-08-24T12:31:25Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2020-08-24T12:34:16Z shka_ joined #lisp 2020-08-24T12:38:12Z jonatack quit (Ping timeout: 260 seconds) 2020-08-24T12:38:47Z prite joined #lisp 2020-08-24T12:43:19Z hendursa1 quit (Quit: hendursa1) 2020-08-24T12:43:24Z wxie joined #lisp 2020-08-24T12:43:34Z hendursaga joined #lisp 2020-08-24T12:47:58Z ibinderwolf joined #lisp 2020-08-24T12:51:07Z wsinatra joined #lisp 2020-08-24T12:52:36Z Bike joined #lisp 2020-08-24T12:53:36Z eta joined #lisp 2020-08-24T12:58:29Z toorevitimirp quit (Read error: Connection reset by peer) 2020-08-24T12:59:07Z jonatack joined #lisp 2020-08-24T12:59:13Z toorevitimirp joined #lisp 2020-08-24T13:12:53Z choegusung joined #lisp 2020-08-24T13:17:52Z dra joined #lisp 2020-08-24T13:23:42Z eta quit (Read error: Connection reset by peer) 2020-08-24T13:25:23Z yitzi joined #lisp 2020-08-24T13:26:05Z Lycurgus joined #lisp 2020-08-24T13:26:05Z kaftejiman_ joined #lisp 2020-08-24T13:27:32Z Josh_2 joined #lisp 2020-08-24T13:27:40Z liberliver quit (Read error: Connection reset by peer) 2020-08-24T13:27:49Z liberliver joined #lisp 2020-08-24T13:28:33Z kaftejiman quit (Ping timeout: 258 seconds) 2020-08-24T13:30:11Z Josh_2: Afternoon 2020-08-24T13:32:23Z Alloc quit (Ping timeout: 258 seconds) 2020-08-24T13:33:48Z kaftejiman_ quit (Remote host closed the connection) 2020-08-24T13:34:00Z Alloc joined #lisp 2020-08-24T13:44:08Z schweers quit (Ping timeout: 260 seconds) 2020-08-24T13:50:35Z phoe: hello 2020-08-24T13:50:49Z wxie quit (Ping timeout: 246 seconds) 2020-08-24T13:51:03Z eta joined #lisp 2020-08-24T14:01:23Z dominic34 joined #lisp 2020-08-24T14:12:59Z shifty quit (Ping timeout: 240 seconds) 2020-08-24T14:17:09Z dra quit (Quit: Leaving) 2020-08-24T14:17:22Z ahungry joined #lisp 2020-08-24T14:18:42Z bitmapper joined #lisp 2020-08-24T14:19:52Z froggey quit (Ping timeout: 246 seconds) 2020-08-24T14:27:22Z narimiran quit (Ping timeout: 265 seconds) 2020-08-24T14:27:35Z bsd4me joined #lisp 2020-08-24T14:28:06Z bsd4me left #lisp 2020-08-24T14:35:01Z jprajzne quit (Ping timeout: 264 seconds) 2020-08-24T14:35:36Z FreeBirdLjj joined #lisp 2020-08-24T14:36:24Z Cymew quit (Ping timeout: 258 seconds) 2020-08-24T14:43:44Z sjl_ joined #lisp 2020-08-24T14:44:25Z ljavorsk quit (Ping timeout: 240 seconds) 2020-08-24T14:47:24Z gko_ joined #lisp 2020-08-24T14:51:55Z toorevitimirp quit (Remote host closed the connection) 2020-08-24T14:52:28Z toorevitimirp joined #lisp 2020-08-24T14:57:48Z rumbler3_ joined #lisp 2020-08-24T14:58:19Z iamFIREcracker joined #lisp 2020-08-24T14:59:07Z asedeno_ joined #lisp 2020-08-24T14:59:28Z toorevitimirp quit (Remote host closed the connection) 2020-08-24T14:59:38Z farooqkz__ joined #lisp 2020-08-24T14:59:57Z toorevitimirp joined #lisp 2020-08-24T15:00:09Z HDurer_ joined #lisp 2020-08-24T15:00:45Z flazh1 joined #lisp 2020-08-24T15:00:58Z msk__ joined #lisp 2020-08-24T15:01:34Z nicktick joined #lisp 2020-08-24T15:01:58Z aeth_ joined #lisp 2020-08-24T15:02:31Z lottaquestions_ joined #lisp 2020-08-24T15:02:40Z cosimone_ joined #lisp 2020-08-24T15:02:51Z terpri__ joined #lisp 2020-08-24T15:03:15Z asedeno quit (Ping timeout: 240 seconds) 2020-08-24T15:03:16Z HDurer quit (Ping timeout: 240 seconds) 2020-08-24T15:03:16Z aeth quit (Ping timeout: 240 seconds) 2020-08-24T15:03:16Z rumbler31 quit (Ping timeout: 240 seconds) 2020-08-24T15:03:16Z iamFIREc1 quit (Ping timeout: 240 seconds) 2020-08-24T15:03:16Z flazh quit (Ping timeout: 240 seconds) 2020-08-24T15:03:16Z msk quit (Read error: Connection reset by peer) 2020-08-24T15:03:16Z jmercouris quit (Ping timeout: 240 seconds) 2020-08-24T15:03:16Z dddddd quit (Ping timeout: 240 seconds) 2020-08-24T15:03:16Z mangul quit (Ping timeout: 240 seconds) 2020-08-24T15:03:17Z lottaquestions quit (Read error: Connection reset by peer) 2020-08-24T15:03:17Z cosimone quit (Ping timeout: 240 seconds) 2020-08-24T15:03:17Z Bourne quit (Ping timeout: 240 seconds) 2020-08-24T15:03:17Z asedeno_ is now known as asedeno 2020-08-24T15:03:17Z jmercouris_ joined #lisp 2020-08-24T15:03:21Z jmercouris_ is now known as jmercouris 2020-08-24T15:03:25Z CrazyEddy quit (Ping timeout: 240 seconds) 2020-08-24T15:04:26Z drmeister quit (Ping timeout: 240 seconds) 2020-08-24T15:04:56Z lispyone_ quit (Ping timeout: 240 seconds) 2020-08-24T15:05:20Z smazga joined #lisp 2020-08-24T15:05:38Z terpri_ quit (Ping timeout: 240 seconds) 2020-08-24T15:05:38Z luna_is_here quit (Ping timeout: 240 seconds) 2020-08-24T15:05:38Z buoy49 quit (Ping timeout: 240 seconds) 2020-08-24T15:05:46Z luna_is_here_ joined #lisp 2020-08-24T15:06:04Z thecoffemaker quit (Ping timeout: 246 seconds) 2020-08-24T15:06:25Z Demosthenex quit (Ping timeout: 240 seconds) 2020-08-24T15:06:55Z Alfr_ quit (Remote host closed the connection) 2020-08-24T15:07:01Z lispyone__ joined #lisp 2020-08-24T15:07:06Z buoy49 joined #lisp 2020-08-24T15:07:49Z choegusung quit (Quit: leaving) 2020-08-24T15:07:53Z drmeister joined #lisp 2020-08-24T15:08:23Z Demosthenex joined #lisp 2020-08-24T15:08:57Z Alfr_ joined #lisp 2020-08-24T15:09:36Z ralt_ joined #lisp 2020-08-24T15:09:53Z elflng_ joined #lisp 2020-08-24T15:09:59Z kilimanjaro quit (Ping timeout: 240 seconds) 2020-08-24T15:09:59Z ralt quit (Ping timeout: 240 seconds) 2020-08-24T15:09:59Z elflng quit (Ping timeout: 240 seconds) 2020-08-24T15:09:59Z ralt_ is now known as ralt 2020-08-24T15:10:53Z thecoffemaker joined #lisp 2020-08-24T15:11:54Z kilimanjaro joined #lisp 2020-08-24T15:11:57Z ssake quit (Remote host closed the connection) 2020-08-24T15:11:58Z nullman quit (Ping timeout: 240 seconds) 2020-08-24T15:12:29Z jackdaniel quit (Ping timeout: 240 seconds) 2020-08-24T15:14:17Z dddddd joined #lisp 2020-08-24T15:17:11Z nullman joined #lisp 2020-08-24T15:17:33Z jackdaniel joined #lisp 2020-08-24T15:21:12Z sjl_ quit (Ping timeout: 240 seconds) 2020-08-24T15:21:24Z sjl_ joined #lisp 2020-08-24T15:22:26Z _whitelogger quit (*.net *.split) 2020-08-24T15:22:40Z FreeBirdLjj quit (*.net *.split) 2020-08-24T15:22:41Z avicenna quit (*.net *.split) 2020-08-24T15:22:41Z Balooga quit (*.net *.split) 2020-08-24T15:22:42Z MrtnDk[m] quit (*.net *.split) 2020-08-24T15:22:43Z Grauwolf quit (*.net *.split) 2020-08-24T15:22:43Z Mandus quit (*.net *.split) 2020-08-24T15:22:43Z gko` quit (*.net *.split) 2020-08-24T15:22:43Z GreaseMonkey quit (*.net *.split) 2020-08-24T15:22:43Z antoszka quit (*.net *.split) 2020-08-24T15:22:43Z saturn2 quit (*.net *.split) 2020-08-24T15:22:43Z johs quit (*.net *.split) 2020-08-24T15:22:43Z billstclair quit (*.net *.split) 2020-08-24T15:22:43Z chewbranca quit (*.net *.split) 2020-08-24T15:22:43Z grfn quit (*.net *.split) 2020-08-24T15:22:43Z ski quit (*.net *.split) 2020-08-24T15:22:44Z shymega quit (*.net *.split) 2020-08-24T15:22:44Z FennecCode quit (*.net *.split) 2020-08-24T15:22:44Z mjl quit (*.net *.split) 2020-08-24T15:22:45Z sammich quit (*.net *.split) 2020-08-24T15:22:46Z Gnuxie[m] quit (*.net *.split) 2020-08-24T15:22:46Z dnm quit (*.net *.split) 2020-08-24T15:22:46Z lukego quit (*.net *.split) 2020-08-24T15:22:46Z dxtr quit (*.net *.split) 2020-08-24T15:22:46Z entel quit (*.net *.split) 2020-08-24T15:22:46Z jsatk quit (*.net *.split) 2020-08-24T15:22:46Z stylewarning quit (*.net *.split) 2020-08-24T15:22:46Z conjunctive quit (*.net *.split) 2020-08-24T15:22:46Z pent quit (*.net *.split) 2020-08-24T15:22:47Z hydan quit (*.net *.split) 2020-08-24T15:22:47Z abbe quit (*.net *.split) 2020-08-24T15:25:28Z johs joined #lisp 2020-08-24T15:26:35Z entel joined #lisp 2020-08-24T15:32:31Z iamFIREc1 joined #lisp 2020-08-24T15:33:55Z avicenna joined #lisp 2020-08-24T15:33:55Z Balooga joined #lisp 2020-08-24T15:33:55Z MrtnDk[m] joined #lisp 2020-08-24T15:33:55Z Grauwolf joined #lisp 2020-08-24T15:33:55Z Mandus joined #lisp 2020-08-24T15:33:55Z gko` joined #lisp 2020-08-24T15:33:55Z GreaseMonkey joined #lisp 2020-08-24T15:33:55Z antoszka joined #lisp 2020-08-24T15:33:55Z grfn joined #lisp 2020-08-24T15:33:55Z saturn2 joined #lisp 2020-08-24T15:33:55Z billstclair joined #lisp 2020-08-24T15:33:55Z chewbranca joined #lisp 2020-08-24T15:33:55Z ski joined #lisp 2020-08-24T15:33:55Z shymega joined #lisp 2020-08-24T15:34:09Z FennecCode joined #lisp 2020-08-24T15:34:09Z mjl joined #lisp 2020-08-24T15:34:09Z sammich joined #lisp 2020-08-24T15:34:09Z Gnuxie[m] joined #lisp 2020-08-24T15:34:09Z dnm joined #lisp 2020-08-24T15:34:09Z lukego joined #lisp 2020-08-24T15:34:09Z dxtr joined #lisp 2020-08-24T15:34:09Z jsatk joined #lisp 2020-08-24T15:34:09Z stylewarning joined #lisp 2020-08-24T15:34:09Z conjunctive joined #lisp 2020-08-24T15:34:09Z pent joined #lisp 2020-08-24T15:34:09Z hydan joined #lisp 2020-08-24T15:34:09Z abbe joined #lisp 2020-08-24T15:34:50Z iamFIREcracker quit (Ping timeout: 256 seconds) 2020-08-24T15:34:54Z elflng_ is now known as elflng 2020-08-24T15:35:13Z _whitelogger joined #lisp 2020-08-24T15:41:48Z orivej quit (Ping timeout: 265 seconds) 2020-08-24T15:42:21Z froggey joined #lisp 2020-08-24T15:43:07Z liberliver quit (Quit: liberliver) 2020-08-24T15:44:03Z EvW joined #lisp 2020-08-24T15:47:45Z yitzi quit (Remote host closed the connection) 2020-08-24T15:48:02Z yitzi joined #lisp 2020-08-24T15:50:43Z jibanes quit (Ping timeout: 240 seconds) 2020-08-24T15:51:26Z jibanes joined #lisp 2020-08-24T15:53:46Z edgar-rft quit (Quit: Leaving) 2020-08-24T15:58:03Z farooqkz__ quit (Ping timeout: 258 seconds) 2020-08-24T15:59:11Z rumbler31_ joined #lisp 2020-08-24T16:12:01Z dominic35 joined #lisp 2020-08-24T16:12:45Z dominic34 quit (Ping timeout: 240 seconds) 2020-08-24T16:12:45Z dominic35 is now known as dominic34 2020-08-24T16:18:26Z gko_ quit (Ping timeout: 260 seconds) 2020-08-24T16:21:35Z terpri__ is now known as terpri 2020-08-24T16:23:35Z msk__ quit (Quit: Leaving) 2020-08-24T16:25:25Z jprajzne joined #lisp 2020-08-24T16:28:43Z rumbler3_ quit (Remote host closed the connection) 2020-08-24T16:30:00Z orivej joined #lisp 2020-08-24T16:35:16Z VincentVega joined #lisp 2020-08-24T16:35:25Z EvW quit (Ping timeout: 240 seconds) 2020-08-24T16:36:46Z Lord_of_Life_ joined #lisp 2020-08-24T16:37:45Z Lord_of_Life quit (Ping timeout: 240 seconds) 2020-08-24T16:38:05Z VincentVega: Hi all! Guys, how do I create a shortcut for a type? Instead of writing (simple-array double-float) I just want to say float-array. Will (defvar float-array '(simple-array double-float)) work fine? 2020-08-24T16:38:59Z jackdaniel: VincentVega: (deftype float-array `(simple-array double-float)) 2020-08-24T16:39:12Z VincentVega: jackdaniel: nice, thanks! 2020-08-24T16:39:40Z Lord_of_Life_ is now known as Lord_of_Life 2020-08-24T16:39:45Z rogersm joined #lisp 2020-08-24T16:43:48Z phoe: Is an implementation allowed to extend a function with optional arguments if a function only accept mandatory arguments? 2020-08-24T16:44:17Z phoe: e.g. is CONS allowed to have a lambda list like (x y &optional read-only-p) or (x y &key read-only-p)? 2020-08-24T16:45:16Z phoe: s/accept/accepts/ 2020-08-24T16:47:07Z nicktick quit (Ping timeout: 258 seconds) 2020-08-24T16:47:37Z shangul joined #lisp 2020-08-24T16:56:11Z VincentVega: Hmm, why does (make-array 3 :element-type 'boolean) return #(0 0 0) and not #(nil nil nil)? 2020-08-24T16:56:46Z Bike: reading an array element before writing to it is undefined behavior 2020-08-24T16:56:59Z Bike: if you want it to be full of nils, throw in :initial-element nil 2020-08-24T16:57:13Z jackdaniel: (n.b arrays don't have a specialized representation for booleans) 2020-08-24T16:57:29Z Bike: that too 2020-08-24T16:57:42Z VincentVega: Bike: jackdaniel: Oh, I see. Thanks for the explanation. 2020-08-24T16:57:44Z jackdaniel: *probably* don't have 2020-08-24T16:57:53Z Bike: i don't think any implementation does 2020-08-24T16:57:57Z jackdaniel: I think that there is nothing in the spec what would forbid you from that 2020-08-24T16:58:01Z jackdaniel: right 2020-08-24T17:01:48Z chiota joined #lisp 2020-08-24T17:04:08Z gioyik joined #lisp 2020-08-24T17:09:22Z theseb joined #lisp 2020-08-24T17:09:39Z markasoftware: What about type bit? Will implementations optimize that? 2020-08-24T17:11:45Z sjl quit (Ping timeout: 240 seconds) 2020-08-24T17:11:55Z mseddon joined #lisp 2020-08-24T17:12:48Z Bike: almost certainly 2020-08-24T17:12:51Z theseb left #lisp 2020-08-24T17:14:55Z phoe: VincentVega: if you want to be confused further, try (make-array 3 :element-type 'boolean) on ECL 2020-08-24T17:15:15Z phoe: markasoftware: yes, bit arrays are usually optimized 2020-08-24T17:15:49Z jprajzne quit (Quit: jprajzne) 2020-08-24T17:16:24Z jprajzne joined #lisp 2020-08-24T17:16:54Z phoe: clhs 1.6 2020-08-24T17:16:54Z specbot: Language Extensions: http://www.lispworks.com/reference/HyperSpec/Body/01_f.htm 2020-08-24T17:17:05Z phoe: this says nothing about extra function arguments 2020-08-24T17:17:21Z phoe: and I assume that adding optional/keyword arguments to functions that don't accept those doesn't violate conforming code in any way 2020-08-24T17:17:22Z Bike: yeah, i don't know the answer to your question phoe 2020-08-24T17:17:31Z Bike: certainly several implementations add keyword arguments, e.g. to make-hash-table 2020-08-24T17:17:36Z Bike: optional, i don't know 2020-08-24T17:17:39Z phoe: yes, but there's already &key in there 2020-08-24T17:17:42Z Bike: optional arguments kind of suck anyway 2020-08-24T17:17:58Z phoe: other than the fact that (cons 1 2 T) may or may not signal a program-error 2020-08-24T17:18:06Z phoe: depending on our extension 2020-08-24T17:18:10Z phoe: and I don't know if this is specified anywhere 2020-08-24T17:18:36Z phoe: for instance, https://gitlab.common-lisp.net/ansi-test/ansi-test/-/blob/master/cons/cons.lsp#L51-53 2020-08-24T17:19:00Z phoe: this tells me that adding optional arguments is *not* allowed 2020-08-24T17:19:43Z mangul joined #lisp 2020-08-24T17:19:52Z Bike: ansi tests are weird sometimes 2020-08-24T17:20:07Z phoe: I know, but there needs to be rationale for that 2020-08-24T17:20:35Z Bike: a common sense rationale, maybe. i don't think the ansi tests perfectly embody the standard 2020-08-24T17:20:49Z shangul quit (Disconnected by services) 2020-08-24T17:20:51Z mangul is now known as shangul 2020-08-24T17:21:18Z phoe: clhs 3.5.1.3 2020-08-24T17:21:18Z specbot: Too Many Arguments: http://www.lispworks.com/reference/HyperSpec/Body/03_eac.htm 2020-08-24T17:21:29Z Bike: one i'm running into with clasp at the moment is that ansi tests seem to assume that when you compare a float to a rational, the float is rationalized and then those rationals are compared 2020-08-24T17:21:40Z phoe: "If this situation occurs in a safe call, an error of type program-error must be signaled" 2020-08-24T17:21:47Z Bike: which is fine, but all the standard says is that < and so on "perform necessary type conversions" 2020-08-24T17:21:58Z phoe: this, to me, means that (cons 1 2 3) *MUST* signal a program-error because of how CONS is defined 2020-08-24T17:22:13Z phoe: (in safe code, that is) 2020-08-24T17:22:21Z Bike: that doesn't really describe whether cons is in fact defined to take at most two arguments 2020-08-24T17:22:40Z phoe: http://www.lispworks.com/documentation/HyperSpec/Body/f_cons.htm 2020-08-24T17:22:48Z phoe: "Syntax: cons object-1 object-2 => cons" 2020-08-24T17:22:54Z Bike: sure 2020-08-24T17:22:55Z phoe: it is defined to take exactly two arguments 2020-08-24T17:23:06Z Bike: and make-hash-table has a syntax not including :synchronized or :weakness 2020-08-24T17:23:45Z phoe: hmmmmmm 2020-08-24T17:23:58Z Bike: i don't think the standard defines this exactly. 2020-08-24T17:24:08Z jackdaniel: is there any reason why do you ask explicitly about &optional? 2020-08-24T17:24:11Z Bike: it's not formalized. there are going to be holes. 2020-08-24T17:24:20Z phoe: jackdaniel: could be &key or &rest 2020-08-24T17:24:27Z Bike: i mean, not formalized in a computer verification sense 2020-08-24T17:24:54Z phoe: I am asking explicitly in case of functions that accept only required arguments. 2020-08-24T17:25:06Z jackdaniel: make-hash-table extensions and cons extensions have certainly a semantic flaw, where non-conforming programs run 2020-08-24T17:25:28Z phoe: so e.g. CONS or FIND-PACKAGE or EQL or what else 2020-08-24T17:25:31Z jprajzne quit (Quit: jprajzne) 2020-08-24T17:25:35Z phoe: but not LIST or AREF 2020-08-24T17:25:39Z phoe: or MAKE-HASH-TABLE 2020-08-24T17:25:50Z Lycurgus quit (Quit: Exeunt) 2020-08-24T17:25:53Z jprajzne joined #lisp 2020-08-24T17:26:19Z sjl joined #lisp 2020-08-24T17:26:35Z Bike: keyword arguments are nicer because you can always just pass :allow-other-keys t and presto, other implementations just ignore :weakness or whatever 2020-08-24T17:27:21Z jackdaniel: but my question is more revolving around: do you have a reason to wonder about that, or it is just a curiosity 2020-08-24T17:27:33Z phoe: I have a good reason to wonder about that 2020-08-24T17:29:09Z rogersm quit (Quit: Leaving...) 2020-08-24T17:29:16Z rumbler31 joined #lisp 2020-08-24T17:32:46Z cosimone_ quit (Quit: Quit.) 2020-08-24T17:33:06Z VincentVega: Is there a way to assert that two types are the same? e.g. with (deftype bools () '(simple-array boolean)), I want to see if type bools and (simple-array boolean) are the same. 2020-08-24T17:33:29Z Bike: you can do subtypep in both directions. but in that case they are the same by definition. 2020-08-24T17:33:32Z phoe: VincentVega: a pair of subtypes 2020-08-24T17:33:32Z rumbler31 quit (Ping timeout: 244 seconds) 2020-08-24T17:33:36Z phoe: agh I am late 2020-08-24T17:33:40Z Bike: what are you worried about, exactly? 2020-08-24T17:34:04Z cosimone joined #lisp 2020-08-24T17:34:43Z VincentVega: Nice. I am just doing some mop stuff and I only allow certain types supplied by the user. 2020-08-24T17:35:31Z phoe: then remember that subtypep is allowed to return (VALUES NIL NIL) 2020-08-24T17:35:49Z VincentVega: Alright! 2020-08-24T17:40:58Z EvW joined #lisp 2020-08-24T17:42:10Z cosimone quit (Quit: Quit.) 2020-08-24T17:44:38Z phoe: jackdaniel: I am thinking about the issue of package versioning in a way which makes it mostly backwards-conformant 2020-08-24T17:44:52Z Alfr_: phoe, for a quite strict interpretation, take: the defined syntax for cons, consider 1st sentence of 3.5.1.3 as a language feature, then have a look at 1.5.1.1 . 2020-08-24T17:45:01Z phoe: clhs 3.5.1.3 2020-08-24T17:45:01Z specbot: Too Many Arguments: http://www.lispworks.com/reference/HyperSpec/Body/03_eac.htm 2020-08-24T17:45:03Z phoe: clhs 1.5.1.1 2020-08-24T17:45:04Z specbot: Required Language Features: http://www.lispworks.com/reference/HyperSpec/Body/01_eaa.htm 2020-08-24T17:45:41Z phoe: Alfr_: yes, I can understand that 2020-08-24T17:47:17Z jw4 quit (Quit: tot siens) 2020-08-24T17:47:29Z cosimone joined #lisp 2020-08-24T17:47:35Z Alfr_: phoe, this argument also doesn't apply to adding keyword arguments to make-hash-table, because 3.5.1.3 also states: "[...] however, if the function uses &rest or &key, it is not possible for it to receive too many arguments." 2020-08-24T17:47:47Z jw4 joined #lisp 2020-08-24T17:49:10Z gravicappa quit (Ping timeout: 246 seconds) 2020-08-24T17:52:45Z jello_pudding quit (Ping timeout: 240 seconds) 2020-08-24T17:53:01Z gravicappa joined #lisp 2020-08-24T17:55:32Z jasom quit (Ping timeout: 260 seconds) 2020-08-24T17:55:48Z jprajzne quit (Quit: jprajzne) 2020-08-24T17:56:24Z jprajzne joined #lisp 2020-08-24T17:58:07Z karlosz joined #lisp 2020-08-24T17:58:52Z narimiran joined #lisp 2020-08-24T17:59:50Z dmr0x80 joined #lisp 2020-08-24T18:00:07Z phoe: I am thinking of a package versioning extension like in https://plaster.tymoon.eu/view/2026#2026 2020-08-24T18:00:20Z jprajzne quit (Client Quit) 2020-08-24T18:00:38Z jello_pudding joined #lisp 2020-08-24T18:00:45Z jprajzne joined #lisp 2020-08-24T18:00:47Z phoe: let's consider an extended package designator that is allowed to be a list whose first element is a standard package designator and the second, optional element, is a version string 2020-08-24T18:01:28Z phoe: an extended package designator is allowed to go mostly everywhere that a standard package designator may go, maybe with the exception of a package-local nickname 2020-08-24T18:02:48Z phoe: one issue with this approach is that now all IN-PACKAGE forms have to list the package version in addition to the package name, since now a package is essentially identified with a pair of strings: package name + version. 2020-08-24T18:04:27Z phoe: and, since this is essentially a pair of strings, technically it doesn't really differ much from the approach where we simply have different package names for different versions of each package - which, for obvious reasons, doesn't happen in practice 2020-08-24T18:05:10Z phoe: but I guess that adding a second field there, which is the package version, might make this approach a little bit more feasible since the package name itself stays constant. 2020-08-24T18:05:44Z phoe: backwards compatibility: none, this code won't compile on implementations that do not support it. just like package-local nicknames won't. 2020-08-24T18:10:01Z jw4 quit (Read error: Connection reset by peer) 2020-08-24T18:10:09Z jackdaniel: it would be equally useful but less portable than just slapping version at the end of a package name 2020-08-24T18:10:42Z dmr0x80 quit (Quit: WeeChat 3.0-dev) 2020-08-24T18:10:44Z phoe: correct, except as I've noted four posts above, we don't do that for whatever reason 2020-08-24T18:10:46Z jprajzne quit (Quit: jprajzne) 2020-08-24T18:10:49Z jackdaniel: both require manual curation and only one requires abracadabra with the standard 2020-08-24T18:11:09Z jprajzne joined #lisp 2020-08-24T18:11:18Z jackdaniel: adding non conformance wont fix the problem of lack of dilligence 2020-08-24T18:11:27Z phoe: correct 2020-08-24T18:11:39Z Alfr_: phoe, as to whether it's allowed, maybe take 1.6 paragraph 3 as the guideline? 2020-08-24T18:11:44Z jw4 joined #lisp 2020-08-24T18:11:55Z jello_pudding quit (Ping timeout: 240 seconds) 2020-08-24T18:15:20Z jprajzne quit (Client Quit) 2020-08-24T18:15:43Z jprajzne joined #lisp 2020-08-24T18:16:57Z jello_pudding joined #lisp 2020-08-24T18:17:51Z mseddon quit (Read error: Connection reset by peer) 2020-08-24T18:19:46Z Josh_2: How can I print my object without the #< .. > ? 2020-08-24T18:19:55Z phoe: Josh_2: define a print-object method for it 2020-08-24T18:20:05Z Josh_2: I have done that 2020-08-24T18:20:16Z phoe: what does your method do? 2020-08-24T18:20:17Z Josh_2: print-unreadable-object wraps it with #< .. > 2020-08-24T18:20:24Z phoe: then don't use print-unreadable-object 2020-08-24T18:20:43Z phoe: this is literally what it does - it prints some stuff inside #<...> 2020-08-24T18:20:57Z Bike: keep in mind that unless your object is, in fact, readable, there should be #< in there probably. 2020-08-24T18:21:01Z phoe: (if *print-readably* (print-it-readably) (print-unreadable-object ...)) 2020-08-24T18:21:03Z Josh_2: oof 2020-08-24T18:21:10Z phoe: that's the general method 2020-08-24T18:21:17Z Josh_2: I didn't know that 2020-08-24T18:21:30Z phoe: whereas PRINT-IT-READABLY is allowed to do anything, including signaling an error if the object is not readable. 2020-08-24T18:21:39Z phoe: s/readable/printable readably/ 2020-08-24T18:23:02Z Bike: what are you trying to do? 2020-08-24T18:24:31Z phoe: if you know what you are doing, https://github.com/phoe/phoe-toolbox/blob/master/phoe-toolbox.lisp#L434-L471 2020-08-24T18:24:53Z phoe: but there is no good general solution because printing an object is poorly defined in general. 2020-08-24T18:25:05Z Josh_2: well the solution I have now works 2020-08-24T18:25:17Z Josh_2: I just used the (if *print-readably* ..) 2020-08-24T18:25:20Z Josh_2: works fine 2020-08-24T18:25:48Z Josh_2: just want to use print-object to write my object to a stream 2020-08-24T18:26:14Z Josh_2: that way when looking at the instance in the repl it looks exactly how it will be sent 2020-08-24T18:26:14Z jello_pudding quit (Ping timeout: 244 seconds) 2020-08-24T18:28:33Z Sauvin quit (Read error: Connection reset by peer) 2020-08-24T18:30:59Z prite quit (Ping timeout: 240 seconds) 2020-08-24T18:32:11Z pfr joined #lisp 2020-08-24T18:34:01Z kaftejiman joined #lisp 2020-08-24T18:38:40Z Alloc quit (Ping timeout: 258 seconds) 2020-08-24T18:39:30Z yitzi quit (Quit: yitzi) 2020-08-24T18:40:38Z gioyik quit (Ping timeout: 265 seconds) 2020-08-24T18:42:35Z voidlily quit (Ping timeout: 244 seconds) 2020-08-24T18:55:57Z voidlily joined #lisp 2020-08-24T18:57:31Z karlosz quit (Quit: karlosz) 2020-08-24T18:58:46Z shangul quit (Quit: Leaving) 2020-08-24T19:00:15Z Lycurgus joined #lisp 2020-08-24T19:00:45Z jprajzne quit (Quit: jprajzne) 2020-08-24T19:00:47Z Bourne joined #lisp 2020-08-24T19:00:51Z gioyik joined #lisp 2020-08-24T19:01:11Z jprajzne joined #lisp 2020-08-24T19:02:39Z jprajzne quit (Client Quit) 2020-08-24T19:07:32Z retropikzel quit (Quit: Leaving) 2020-08-24T19:15:29Z cosimone quit (Remote host closed the connection) 2020-08-24T19:15:54Z cosimone joined #lisp 2020-08-24T19:17:54Z EvW quit (Ping timeout: 244 seconds) 2020-08-24T19:19:28Z prite joined #lisp 2020-08-24T19:30:03Z jw4 quit (Quit: tot siens) 2020-08-24T19:30:24Z jw4 joined #lisp 2020-08-24T19:37:24Z EvW joined #lisp 2020-08-24T19:39:46Z shka_ quit (Ping timeout: 246 seconds) 2020-08-24T19:40:59Z cosimone quit (Remote host closed the connection) 2020-08-24T19:41:24Z cosimone joined #lisp 2020-08-24T19:41:36Z Alloc joined #lisp 2020-08-24T19:48:17Z bilegeek joined #lisp 2020-08-24T19:49:34Z wsinatra quit (Quit: WeeChat 2.9) 2020-08-24T20:02:35Z lalilulelo joined #lisp 2020-08-24T20:06:26Z ck_ quit (Ping timeout: 256 seconds) 2020-08-24T20:06:44Z luckless_ joined #lisp 2020-08-24T20:08:50Z jello_pudding joined #lisp 2020-08-24T20:09:43Z luckless quit (Ping timeout: 240 seconds) 2020-08-24T20:16:38Z aeth_ is now known as aeth 2020-08-24T20:17:22Z rumbler31 joined #lisp 2020-08-24T20:20:36Z aeth: heh, erroring while printing sounds like a horrible idea 2020-08-24T20:21:14Z aeth: slime/sly and/or the interactive debuggers probably assume this won't happen and you'll probably wind up with lots of issues 2020-08-24T20:21:41Z aeth: It's probably just like messing up when writing a :report in a define-condition (which I do all of the time, which is why I test them!), where you get an error about the error rather than the error you want. 2020-08-24T20:22:48Z rumbler31 quit (Remote host closed the connection) 2020-08-24T20:26:25Z narimiran quit (Ping timeout: 240 seconds) 2020-08-24T20:26:53Z scymtym: disregarding the color scheme, do you think the syntax highlighting, links and mouse-hover behavior in https://techfak.de/~jmoringe/eclector.html#Recoverable-errors is ok or too much? 2020-08-24T20:31:58Z aeth: I really don't like that mouse hover where it expands the text in the current line. My expectation if there's that much text would be that it would open another box on top, like a tooltip. I'm not sure how hard that is to do in browsers, though. I know Wikipedia does that now with page previews, though. 2020-08-24T20:32:55Z aeth: it also sort of messes up when you mouse over the 2 error because the error message starts with 2, with no space, thus making it into "22" 2020-08-24T20:34:00Z aeth: A box with generous padding would also help because then it wouldn't go away so suddenly if you move the mouse because there'd be more space where you could move the mouse while still hovering over part of the error message box. Currently, any up/down mouse movement will close the error. 2020-08-24T20:36:43Z scymtym: i agree. i don't know a lot about css tricks and would like to avoid javascript 2020-08-24T20:36:49Z aeth: As for the links in the source like nil or defun, I don't think that they have to be bold because when there's so much magic going on, I think the user will expect them to be links. At least, as long as they remain blue. Imo (and I'm just one person) you only need one hint that it's a link: underline, blue, or bold 2020-08-24T20:37:48Z scymtym: this is more like an eclector tech demo since all the things are automatically added to the HTML as a "post processing" step 2020-08-24T20:38:34Z aeth: I would be shocked if you couldn't do a tooltip-style effect in CSS with no JS (even though most probably use unnecessary JS) because it's just such a common thing in UI that it must've been inserted to CSS sometime in the past 12 years. But I don't know how to do it, either. 2020-08-24T20:39:20Z scymtym: yeah, i would have made the links in the code not blue and not bold. must be inherited from the surrounding texinfo css 2020-08-24T20:39:45Z aeth: first result of "css tooltip"... https://www.w3schools.com/css/css_tooltip.asp 2020-08-24T20:39:55Z aeth: But that's just an actual UI tooltip, not a box, so it might not allow it to be formatted 2020-08-24T20:40:00Z aeth: I'd still prefer it over expanding text, though. 2020-08-24T20:41:14Z aeth: oh, no, it's just doing a good job faking a UI-style tooltip by default. It's quite flexible. 2020-08-24T20:41:19Z aeth: https://www.w3schools.com/css/tryit.asp?filename=trycss_tooltip 2020-08-24T20:41:25Z aeth: e.g. you can change background-color to red 2020-08-24T20:41:37Z cosimone quit (Ping timeout: 264 seconds) 2020-08-24T20:41:52Z aeth: I might have to add this sort of functionality to https://gitlab.com/mbabich/cl-documents when I get around to automatically generating HTML documentation 2020-08-24T20:43:34Z aeth: scymtym: For error tooltips I'd do something like red text on a tan background (but CSS "red" on CSS "tan" doesn't work, the tan is too dark and the red is too light)... with a ton of padding. 2020-08-24T20:44:10Z aeth: (e.g. 10 px padding) 2020-08-24T20:44:30Z ebrasca quit (Remote host closed the connection) 2020-08-24T20:44:51Z scymtym: aeth: good suggestions, thanks 2020-08-24T20:45:17Z aeth: you're welcome 2020-08-24T20:46:02Z aeth: sometimes 90% of the work is guessing the exact magic phrase the feature is using :-) 2020-08-24T20:46:34Z scymtym: this is without the inherited style: https://techfak.de/~jmoringe/test.html 2020-08-24T20:46:52Z CrazyEddy joined #lisp 2020-08-24T20:48:31Z aeth: scymtym: interesting 2020-08-24T20:50:49Z aeth: Personally, I'm so used to reading source in a dark theme, that I like to embed the source code itself in a dark theme even if the page is light, although maybe a lot of people don't like the mix of styles. http://quickdocs.org/ works like this, but it doesn't do syntax highlighting so the source looks very plain. 2020-08-24T20:54:13Z scymtym: custom themes should be very easy to do 2020-08-24T20:55:10Z scymtym: in case anybody wants to mess around with the stylesheet: https://jsfiddle.net/jvbfLe82/ 2020-08-24T20:55:15Z phoe: scymtym: ',(cdr when) 2020-08-24T20:55:27Z phoe: WHEN is linked as a macro even though it is used as a variable 2020-08-24T20:56:12Z phoe: same thing with FUNCTION and SYMBOL 2020-08-24T20:56:28Z phoe: this kind of hyperlinking might use one more fix 2020-08-24T20:56:37Z phoe: but, other than that nitpick, this is amazing stuff :O 2020-08-24T20:56:40Z scymtym: phoe: links are generated for all CL symbols. there is no code walking 2020-08-24T20:56:50Z phoe: yes, I see 2020-08-24T20:57:41Z scymtym: i agree that this is an unfortunate shortcoming 2020-08-24T21:07:01Z scymtym: aeth: https://jsfiddle.net/jvbfLe82/1/ has the css tooltip after the header comment 2020-08-24T21:08:04Z Inline joined #lisp 2020-08-24T21:08:45Z aeth: scymtym: nice 2020-08-24T21:09:05Z aeth: you might want a bit more padding on the left/right, it looks like there's none, other than that it's great. 2020-08-24T21:09:25Z EvW quit (Ping timeout: 240 seconds) 2020-08-24T21:09:56Z aeth: And in general, more padding means the more someone can move their mouse over the text in the tooltip without risking closing the tooltip itself 2020-08-24T21:10:30Z Inline: how can i define a print-object method for a standard-method object with a name ? 2020-08-24T21:10:42Z Inline: as an eql specializer ? 2020-08-24T21:10:45Z phoe: Inline: name? 2020-08-24T21:10:48Z phoe: what do you mean? 2020-08-24T21:11:08Z phoe: methods do not have names, GFs have names 2020-08-24T21:11:12Z Inline: i have a defgeneric test-method 2020-08-24T21:11:20Z Inline: with method bodies attached to it 2020-08-24T21:11:34Z Inline: so all the methods are named that way 2020-08-24T21:11:50Z Inline: whichever types they specialize 2020-08-24T21:12:15Z phoe: either define a custom subclass of standard-method and specialize on that and add these methods manually to the GF 2020-08-24T21:12:19Z phoe: or use EQL specializers 2020-08-24T21:12:26Z Inline: hmmm 2020-08-24T21:13:40Z Inline: problem is i'm trying to use (compute-applicable-methods #'test-method '(1 2)) 2020-08-24T21:13:56Z karlosz joined #lisp 2020-08-24T21:14:37Z random-nick quit (Ping timeout: 246 seconds) 2020-08-24T21:14:43Z Inline: and using that in the listener works, but when i try to return that as a value from a let body with *standard-output* rebound (via make-synonym-stream) i get problems 2020-08-24T21:14:59Z Bourne quit (Ping timeout: 240 seconds) 2020-08-24T21:15:30Z duuqnd quit (Remote host closed the connection) 2020-08-24T21:15:33Z Inline: so having that in a file, i can only print and write to the *standard-output* when loading that file, but not return there 2020-08-24T21:16:14Z phoe: wait a second 2020-08-24T21:16:22Z Inline: not sure if the above step, should solve my problem 2020-08-24T21:16:26Z phoe: I don't understand what you are trying to do with c-a-m 2020-08-24T21:16:32Z phoe: c-a-m should return a list of methods all right 2020-08-24T21:16:46Z Inline: yes, but it's unreadable object 2020-08-24T21:16:53Z phoe: yes, and it is going to be an unreadable object 2020-08-24T21:16:58Z phoe: why is that a problem? 2020-08-24T21:17:07Z phoe: methods are not readable in general 2020-08-24T21:17:42Z Inline: no idea, i can't use c-a-m from a file, in the listener i get a genuine return value 2020-08-24T21:18:02Z phoe: ...I don't understand what you are trying to do 2020-08-24T21:18:16Z phoe: methods are unreadable objects, yes, why is it a problem? are you trying to read them back? 2020-08-24T21:18:28Z Inline: when loading the file, even tho i rebound *so*, the form with c-a-m won't return 2020-08-24T21:18:40Z Inline: i want the return value 2020-08-24T21:19:00Z Inline: or read it back in as you said 2020-08-24T21:19:02Z phoe: you want the return value of c-a-m where exactly? 2020-08-24T21:19:09Z Inline: into the listener 2020-08-24T21:19:33Z Inline: return value of c-a-m into the listener upon loading that file 2020-08-24T21:19:37Z phoe: so you load some file and you want loading this file to return some value? 2020-08-24T21:19:42Z Inline: yes 2020-08-24T21:19:47Z phoe: clhs load 2020-08-24T21:19:48Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_load.htm 2020-08-24T21:20:06Z phoe: CL:LOAD is not useful in that case because its return value is not what we want 2020-08-24T21:20:21Z EvW1 joined #lisp 2020-08-24T21:20:29Z phoe: can't you bind that thing to some DEFPARAMETER-defined variable inside that file? 2020-08-24T21:20:40Z phoe: then you can query mypkg:*foo* for the object that you want 2020-08-24T21:20:58Z phoe: if you (defparameter mypkg:*foo* (compute-applicable-methods #'foo '(1 2))) 2020-08-24T21:21:44Z Inline: hmmm 2020-08-24T21:21:50Z Inline: will try thank you 2020-08-24T21:22:04Z fixing_auth_hold joined #lisp 2020-08-24T21:22:25Z gravicappa quit (Ping timeout: 240 seconds) 2020-08-24T21:22:43Z Inline: (let ((mystream (make-synonym-stream '*standard-output*)) (result (compute-applicable-methods #'test-method '(1 2)))) (format mystream "applicable methods: ~a~&" result)) 2020-08-24T21:22:53Z Inline: that works ofc 2020-08-24T21:23:27Z phoe: that is not readable either, but I still have no idea why method readability has any problems 2020-08-24T21:23:36Z Inline: (let ((mystream (make-synonym-stream '*standard-output*)) (result (compute-applicable-methods #'test-method '(1 2)))) result) does not work 2020-08-24T21:23:37Z phoe: s/has/creates 2020-08-24T21:23:59Z phoe: what do you mean, does not work? you do not print to the stream anywhere 2020-08-24T21:24:08Z phoe: so nothing is printed 2020-08-24T21:24:14Z phoe: that's a feature, not a bug 2020-08-24T21:25:07Z lalilulelo quit (Ping timeout: 240 seconds) 2020-08-24T21:28:21Z random-nick joined #lisp 2020-08-24T21:28:56Z sjl_ quit (Ping timeout: 256 seconds) 2020-08-24T21:30:19Z terpri_ joined #lisp 2020-08-24T21:30:54Z sjl_ joined #lisp 2020-08-24T21:31:10Z Inline quit (Quit: Leaving) 2020-08-24T21:33:42Z terpri quit (Ping timeout: 260 seconds) 2020-08-24T21:35:40Z Bourne joined #lisp 2020-08-24T21:53:42Z theseb joined #lisp 2020-08-24T21:59:00Z VincentVega quit (Remote host closed the connection) 2020-08-24T22:00:41Z kaftejiman_ joined #lisp 2020-08-24T22:00:56Z kaftejiman quit (Ping timeout: 240 seconds) 2020-08-24T22:02:12Z orivej quit (Ping timeout: 244 seconds) 2020-08-24T22:03:10Z orivej joined #lisp 2020-08-24T22:06:00Z ahungry quit (Remote host closed the connection) 2020-08-24T22:18:48Z dominic34 quit (Remote host closed the connection) 2020-08-24T22:19:05Z sjl_ quit (Ping timeout: 258 seconds) 2020-08-24T22:23:26Z rumbler31 joined #lisp 2020-08-24T22:23:45Z quazimodo quit (Ping timeout: 240 seconds) 2020-08-24T22:24:01Z quazimodo joined #lisp 2020-08-24T22:27:25Z rumbler31 quit (Ping timeout: 240 seconds) 2020-08-24T22:30:59Z quazimodo quit (Ping timeout: 240 seconds) 2020-08-24T22:33:06Z quazimodo joined #lisp 2020-08-24T22:34:45Z gaqwas quit (Ping timeout: 240 seconds) 2020-08-24T22:41:56Z nicktick joined #lisp 2020-08-24T22:56:38Z torbo joined #lisp 2020-08-24T23:12:44Z kopiyka quit (Remote host closed the connection) 2020-08-24T23:13:06Z kopiyka joined #lisp 2020-08-24T23:30:28Z chiota quit (Quit: leaving) 2020-08-24T23:34:58Z froggey quit (Ping timeout: 256 seconds) 2020-08-24T23:38:19Z mangoicedtea joined #lisp 2020-08-24T23:39:18Z kaftejiman_ quit (Remote host closed the connection) 2020-08-24T23:44:30Z EvW1 quit (Ping timeout: 244 seconds) 2020-08-24T23:46:17Z igemnace joined #lisp 2020-08-24T23:46:43Z uedasan joined #lisp 2020-08-24T23:49:11Z pve quit (Quit: leaving) 2020-08-24T23:49:50Z theseb quit (Quit: Leaving) 2020-08-24T23:51:56Z froggey joined #lisp 2020-08-24T23:53:46Z random-nick quit (Ping timeout: 258 seconds) 2020-08-24T23:53:46Z dilated_dinosaur quit (Ping timeout: 258 seconds) 2020-08-24T23:53:48Z Alloc quit (Ping timeout: 244 seconds) 2020-08-24T23:53:53Z sveit: hello. i would like to implement an optimization of the type (F (G X)) = (G (H X)) for several F's but only one particular G. i was wondering if this can be done in practice with compiler macros, or if I really need codewalking. 2020-08-24T23:54:08Z sveit: where for each F there is a corresponding H? 2020-08-24T23:55:08Z Alloc joined #lisp 2020-08-24T23:59:10Z stepnem quit (Read error: Connection reset by peer) 2020-08-25T00:03:30Z stepnem joined #lisp 2020-08-25T00:06:18Z Bike: you could do that with compiler macros, but it wouldn't cover things like (let ((z (g x))) (f z)) 2020-08-25T00:06:27Z shifty joined #lisp 2020-08-25T00:10:31Z fixing_auth_hold is now known as lalilulelo 2020-08-25T00:11:47Z Josh_2 quit (Ping timeout: 240 seconds) 2020-08-25T00:11:53Z EvW joined #lisp 2020-08-25T00:22:05Z paul0 joined #lisp 2020-08-25T00:29:45Z chosenone quit (Quit: Ping timeout (120 seconds)) 2020-08-25T00:30:31Z chosenone joined #lisp 2020-08-25T00:31:55Z igemnace quit (Ping timeout: 240 seconds) 2020-08-25T00:33:52Z igemnace joined #lisp 2020-08-25T00:40:55Z froggey quit (Ping timeout: 240 seconds) 2020-08-25T00:50:55Z EvW quit (Ping timeout: 240 seconds) 2020-08-25T00:53:27Z froggey joined #lisp 2020-08-25T00:55:55Z midre joined #lisp 2020-08-25T00:56:43Z Aurora_v_kosmose quit (Ping timeout: 240 seconds) 2020-08-25T00:58:16Z froggey quit (Ping timeout: 246 seconds) 2020-08-25T01:03:32Z Aurora_v_kosmose joined #lisp 2020-08-25T01:06:57Z _jrjsmrtn joined #lisp 2020-08-25T01:07:25Z __jrjsmrtn__ quit (Ping timeout: 264 seconds) 2020-08-25T01:08:15Z sveit: Bike: yes, i understand. actually in my case that's exactly what I want :) 2020-08-25T01:09:28Z sveit: actually, 2 more questions on that: 1) can i guarantee that it will NOT fire in that case? and 2) will any inlinable functions be inlined at compiler macro expansion time? 2020-08-25T01:09:58Z jbgg quit (Ping timeout: 260 seconds) 2020-08-25T01:10:00Z lonjil quit (Ping timeout: 256 seconds) 2020-08-25T01:10:05Z froggey joined #lisp 2020-08-25T01:13:24Z abhixec joined #lisp 2020-08-25T01:17:01Z uedasan quit (Quit: WeeChat 2.3) 2020-08-25T01:17:43Z epony quit (Ping timeout: 258 seconds) 2020-08-25T01:19:38Z froggey quit (Ping timeout: 258 seconds) 2020-08-25T01:21:13Z ldb joined #lisp 2020-08-25T01:21:36Z ldb: goog morning 2020-08-25T01:22:57Z ldb: sveit: for case 1: it cannot ensure if functions get redefined 2020-08-25T01:24:08Z ldb: and for 2: I don't think inline is usually done at compiler macro exp time 2020-08-25T01:26:48Z froggey joined #lisp 2020-08-25T01:28:50Z Bike: well, the compiler macro function gets a form as input. so it'll get, like, the list (F Z). 2020-08-25T01:29:07Z Bike: your code will prsumably see the Z and go "well, this isn't in the form of (G something)" and give up. 2020-08-25T01:29:29Z Bike: i don't understand why you wouldn't want it to fire in that case, though. semantically it's identical 2020-08-25T01:30:28Z White_Flame: (assuming Z doesn't get overwritten inbetween, of course) 2020-08-25T01:33:24Z froggey quit (Ping timeout: 256 seconds) 2020-08-25T01:36:45Z smazga quit (Ping timeout: 240 seconds) 2020-08-25T01:38:03Z mangoicedtea quit (Quit: Leaving) 2020-08-25T01:41:25Z Bike: i don't think any actual implementation would rewrite (let ((z (g x))) (f z)) to (f (g x)) in such a way that a compiler macro would notice, but i'm not sure that it's explicitly forbidden either 2020-08-25T01:41:38Z jbgg joined #lisp 2020-08-25T01:50:22Z sveit: Bike: the reason is that, in my case, (G (H X)) is preferrable to (F (G X)), but if there is reuse of G, it is better to compute it once: (let ((g (G X))) (F g) (F2 g)) is preferable to (progn (G (H X)) (G (H2 X))) 2020-08-25T01:54:08Z smazga joined #lisp 2020-08-25T01:54:10Z edgar-rft joined #lisp 2020-08-25T01:54:59Z gioyik quit (Ping timeout: 240 seconds) 2020-08-25T01:55:30Z epony joined #lisp 2020-08-25T01:55:55Z froggey joined #lisp 2020-08-25T01:58:02Z space_otter joined #lisp 2020-08-25T01:58:28Z smazga quit (Ping timeout: 246 seconds) 2020-08-25T01:59:25Z jw4 quit (Quit: tot siens) 2020-08-25T02:01:27Z jw4 joined #lisp 2020-08-25T02:06:03Z anewuser joined #lisp 2020-08-25T02:06:10Z jesse1010 quit (Ping timeout: 246 seconds) 2020-08-25T02:12:11Z Alloc quit (Ping timeout: 240 seconds) 2020-08-25T02:15:57Z Alloc joined #lisp 2020-08-25T02:16:30Z epony quit (Remote host closed the connection) 2020-08-25T02:17:20Z epony joined #lisp 2020-08-25T02:20:12Z toorevitimirp quit (Ping timeout: 258 seconds) 2020-08-25T02:22:03Z ldb quit (Quit: Connection closed) 2020-08-25T02:30:48Z smazga joined #lisp 2020-08-25T02:35:13Z smazga quit (Ping timeout: 246 seconds) 2020-08-25T02:39:45Z Bike: oh, well, that's different, the compiler is definitely not going to do that since the function could have side effects 2020-08-25T02:40:27Z Bike: and to answer your other question, as far as i know all implementations inline after expanding compiler macros. 2020-08-25T02:40:42Z Bike: (provided they do either at all, of course) 2020-08-25T02:44:05Z Alloc quit (Ping timeout: 240 seconds) 2020-08-25T02:44:18Z Alloc joined #lisp 2020-08-25T02:46:22Z smazga joined #lisp 2020-08-25T02:48:36Z Alloc quit (Ping timeout: 256 seconds) 2020-08-25T02:49:06Z Alloc joined #lisp 2020-08-25T02:50:52Z smazga quit (Ping timeout: 258 seconds) 2020-08-25T02:55:09Z gioyik joined #lisp 2020-08-25T02:56:01Z shangul joined #lisp 2020-08-25T03:01:51Z Alfr__ joined #lisp 2020-08-25T03:03:54Z M4NN1M4CR0 joined #lisp 2020-08-25T03:04:16Z Alfr_ quit (Ping timeout: 244 seconds) 2020-08-25T03:06:46Z smazga joined #lisp 2020-08-25T03:11:26Z smazga quit (Ping timeout: 256 seconds) 2020-08-25T03:11:40Z Bike quit (Quit: Lost terminal) 2020-08-25T03:19:14Z beach: Good morning everyone! 2020-08-25T03:19:35Z Oladon joined #lisp 2020-08-25T03:24:09Z rumbler31 joined #lisp 2020-08-25T03:25:54Z smazga joined #lisp 2020-08-25T03:25:56Z Necktwi quit (Ping timeout: 256 seconds) 2020-08-25T03:29:01Z rumbler31 quit (Ping timeout: 264 seconds) 2020-08-25T03:29:56Z jasom joined #lisp 2020-08-25T03:33:55Z smazga quit (Ping timeout: 240 seconds) 2020-08-25T03:40:42Z Lycurgus quit (Ping timeout: 258 seconds) 2020-08-25T03:43:51Z dominic34 joined #lisp 2020-08-25T03:50:00Z terpri_ is now known as terpri 2020-08-25T03:51:39Z ldb joined #lisp 2020-08-25T03:55:30Z orivej quit (Ping timeout: 265 seconds) 2020-08-25T03:57:33Z Necktwi joined #lisp 2020-08-25T04:05:31Z orivej joined #lisp 2020-08-25T04:14:57Z anewuser quit (Quit: Leaving) 2020-08-25T04:16:21Z abhixec quit (Quit: zzzZZZ) 2020-08-25T04:18:39Z dominic34 quit (Ping timeout: 258 seconds) 2020-08-25T04:18:51Z gravicappa joined #lisp 2020-08-25T04:21:02Z _paul0 joined #lisp 2020-08-25T04:22:25Z rumbler31_ quit (Ping timeout: 240 seconds) 2020-08-25T04:23:45Z paul0 quit (Ping timeout: 240 seconds) 2020-08-25T04:36:01Z smazga joined #lisp 2020-08-25T04:36:24Z Lord_of_Life_ joined #lisp 2020-08-25T04:37:27Z Lord_of_Life quit (Ping timeout: 244 seconds) 2020-08-25T04:37:44Z Lord_of_Life_ is now known as Lord_of_Life 2020-08-25T04:42:05Z smazga quit (Ping timeout: 240 seconds) 2020-08-25T04:42:40Z toorevitimirp joined #lisp 2020-08-25T04:43:16Z smazga joined #lisp 2020-08-25T04:45:25Z karlosz quit (Quit: karlosz) 2020-08-25T04:46:13Z karlosz joined #lisp 2020-08-25T04:47:14Z torbo quit (Remote host closed the connection) 2020-08-25T04:47:25Z smazga quit (Ping timeout: 240 seconds) 2020-08-25T04:50:23Z terpri_ joined #lisp 2020-08-25T04:51:51Z kami joined #lisp 2020-08-25T04:52:00Z kami: Good morning 2020-08-25T04:52:08Z beach: Hello kami. 2020-08-25T04:52:55Z terpri quit (Ping timeout: 240 seconds) 2020-08-25T04:54:44Z kami: Does anybody know how to reach Kevin Rosenberg? I have a question regarding cl-base64. 2020-08-25T04:57:12Z zaquest quit (Quit: Leaving) 2020-08-25T05:00:45Z dominic34 joined #lisp 2020-08-25T05:00:48Z Oladon quit (Quit: Leaving.) 2020-08-25T05:05:22Z smazga joined #lisp 2020-08-25T05:06:28Z zaquest joined #lisp 2020-08-25T05:07:25Z dominic34 quit (Ping timeout: 240 seconds) 2020-08-25T05:09:08Z duuqnd joined #lisp 2020-08-25T05:10:25Z smazga quit (Ping timeout: 264 seconds) 2020-08-25T05:12:43Z prite quit (Ping timeout: 246 seconds) 2020-08-25T05:21:36Z pfr quit (Quit: WeeChat 2.8) 2020-08-25T05:27:27Z bocaneri joined #lisp 2020-08-25T05:30:53Z smazga joined #lisp 2020-08-25T05:32:10Z karlosz quit (Quit: karlosz) 2020-08-25T05:35:55Z smazga quit (Ping timeout: 240 seconds) 2020-08-25T05:36:06Z narimiran joined #lisp 2020-08-25T05:36:07Z jonatack quit (Ping timeout: 272 seconds) 2020-08-25T05:38:32Z gaqwas joined #lisp 2020-08-25T05:38:32Z gaqwas quit (Changing host) 2020-08-25T05:38:32Z gaqwas joined #lisp 2020-08-25T05:42:41Z Cymew joined #lisp 2020-08-25T05:50:55Z smazga joined #lisp 2020-08-25T05:51:31Z edgar-rft: kami: there is an email address in the .asd file, but no idea if still valid 2020-08-25T05:53:55Z nicktick quit (Ping timeout: 240 seconds) 2020-08-25T05:54:49Z kami: edgar-rft: thank you. I think I'll give it a try :) 2020-08-25T05:55:05Z smazga quit (Ping timeout: 240 seconds) 2020-08-25T05:55:33Z jprajzne joined #lisp 2020-08-25T06:02:31Z smazga joined #lisp 2020-08-25T06:07:27Z hiroaki quit (Ping timeout: 265 seconds) 2020-08-25T06:15:13Z edgar-rft: I was born in 1965, not 64, so I rather might be base65 instead. 2020-08-25T06:17:35Z aeth: just change the year system so year 0000 starts later. 2020-08-25T06:17:56Z HiRE: quick and probably dumb question... I would like to load a configuration file. Ideally this file would itself be a bunch of sexps kind of how emacs does it. What would I have to do to eval/load the definitions in this file into the current file? 2020-08-25T06:18:05Z smazga quit (Ping timeout: 265 seconds) 2020-08-25T06:18:40Z HiRE: im trying to be as lispy as possible.don't want to do something non canonical in the process 2020-08-25T06:19:12Z HiRE: for example defining a class and shoving everything in there like you would in java/c++/whatever 2020-08-25T06:20:19Z aeth: HiRE: at the moment I do this: https://gitlab.com/zombie-raptor/zombie-raptor/-/blob/43f4e2a4a72bc7df3c25924fcb54ef6cd2d0f869/data/game-data.lisp#L22 2020-08-25T06:20:53Z edgar-rft: (load "/path/to/directory/config.lisp") 2020-08-25T06:21:31Z aeth: HiRE: the key parts are (1) turn off *read-eval* so things like #.(+ 1 1) don't work. (2) create a concatenated stream that wraps the file in ( at the start and ) at the end, and (3) if you don't reach EOF at the end then your parens are imbalanced. 2020-08-25T06:21:37Z jonatack joined #lisp 2020-08-25T06:21:44Z aeth: Not as robust as defining your own .sxp format, but it reuses the CL reader so it's very trivial 2020-08-25T06:22:15Z Necktwi quit (Quit: leaving) 2020-08-25T06:22:26Z HiRE: clever. I had thought you could just eval it maybe but you are correct and if I understand this you are preventing RCE by doing it this way. 2020-08-25T06:22:32Z Necktwi joined #lisp 2020-08-25T06:22:50Z Necktwi quit (Client Quit) 2020-08-25T06:22:53Z bilegeek quit (Quit: Leaving) 2020-08-25T06:23:00Z aeth: HiRE: oh and for data, use plists (or plist tails)... they're the simplest to deal with because you can treat them as &key in a destructuring-bind, or use a plist iteration like alexandria:doplist 2020-08-25T06:23:24Z aeth: You'll have to write your own (de)serialization, but you'll know it's safe, unlike using something that saves/loads arbitrary objects 2020-08-25T06:24:16Z mangul joined #lisp 2020-08-25T06:24:19Z HiRE: good point. I appreciate your help. This will be a good start for me. 2020-08-25T06:24:36Z aeth: And in case you're wondering, #3 works because you just wrapped the stream in () so it should just be one form. Iirc. It has been years. 2020-08-25T06:25:47Z aeth: (You could also read/collect in a loop, but it's not as elegant. It might be faster. Depends on how concatenated-streams work.) 2020-08-25T06:26:07Z shka_ joined #lisp 2020-08-25T06:26:35Z lonjil joined #lisp 2020-08-25T06:26:41Z shangul quit (Ping timeout: 258 seconds) 2020-08-25T06:33:02Z aeth: Hm, right, it's just one READ, so if you don't reach EOF on the next READ then you might have something like an extra ) at the end of the file or, worse, ) (hello world) (see? 2020-08-25T06:33:54Z aeth: the ( added to the start and the ) added to the end would make that valid syntax, but it would take more than one READ to read it, so checking for eof will catch it. 2020-08-25T06:34:35Z aeth: (the second one would be valid syntax, I mean) 2020-08-25T06:35:09Z HiRE: interesting. I hadn't expected it to be so involved because of ~lisp magic~ but this is certainly a smarter way to approach it 2020-08-25T06:35:52Z aeth: Technically, I think you should (gensym "EOF") instead of using :eof for the EOF value like I did there. That way, it can't be read, while in my case, I think that the user could end their file with ) :eof 2020-08-25T06:36:05Z aeth: This is one of the rare cases of using a gensym outside of a macro! 2020-08-25T06:36:57Z Necktwi joined #lisp 2020-08-25T06:37:40Z aeth: hah, I was right, I have to fix my function now 2020-08-25T06:38:25Z White_Flame: if I need a unique token, I (cons nil nil) and EQ test 2020-08-25T06:39:21Z aeth: I think I could (defconstant +eof+ (gensym "EOF")) to avoid creating a new gensym each time the function runs 2020-08-25T06:39:25Z pve joined #lisp 2020-08-25T06:40:24Z aeth: oh, hmm, no, the SBCL compiler runs it (at least twice) and that gets a redefinition error 2020-08-25T06:44:50Z Necktwi quit (Quit: leaving) 2020-08-25T06:47:28Z smazga joined #lisp 2020-08-25T06:48:13Z orivej quit (Ping timeout: 264 seconds) 2020-08-25T06:51:18Z toorevitimirp quit (Remote host closed the connection) 2020-08-25T06:52:50Z toorevitimirp joined #lisp 2020-08-25T06:52:53Z scymtym quit (Ping timeout: 265 seconds) 2020-08-25T06:53:04Z phoe: aeth: alexandria:define-constant with a custom test 2020-08-25T06:53:55Z smazga quit (Ping timeout: 240 seconds) 2020-08-25T06:57:17Z schweers joined #lisp 2020-08-25T06:58:30Z aeth: phoe: ah, a custom test, that's what I was missing 2020-08-25T06:58:58Z aeth: I think the simple solution is fine, though because a tiny bit of consing in a function that extremely conses probably isn't a big deal. 2020-08-25T06:59:19Z aeth: https://gitlab.com/zombie-raptor/zombie-raptor/-/commit/0ff20fd37a4ac97fbea97d6360dfe867d5effd36 2020-08-25T06:59:48Z aeth: And, yeah, I created a fairly elaborate issue for a 3 line bugfix. It helps my metrics. :-) 2020-08-25T07:00:48Z aeth: 1 contribution? No! 3 contributions! Issue open, push, and issue closed! 2020-08-25T07:08:55Z jonatack quit (Ping timeout: 240 seconds) 2020-08-25T07:12:21Z rogersm joined #lisp 2020-08-25T07:15:37Z scymtym joined #lisp 2020-08-25T07:17:06Z phoe: a convention is to use the stream itself as the eof value and eq-check that 2020-08-25T07:17:24Z phoe: but then again anything can really go there 2020-08-25T07:17:30Z aeth: ah, interesting 2020-08-25T07:17:51Z phoe: I mean, reading Lisp data will never return the stream object unless read-eval trickery happens 2020-08-25T07:18:02Z phoe: but with read-eval disabled you can't get the stream you are reading from. 2020-08-25T07:18:50Z ljavorsk joined #lisp 2020-08-25T07:20:17Z aeth: I was thinking GENSYM because in R7RS, Scheme has an (eof-object) which might not be unique, but which must pass eof-object? and I'm considering using a GENSYM (in alexandria:define-constant, I guess) to do that. Although I guess a complicating factor is that something cannot be both a symbol? and an eof-object? 2020-08-25T07:22:08Z fixing_auth_hold joined #lisp 2020-08-25T07:22:20Z iamFIREcracker joined #lisp 2020-08-25T07:23:12Z jonatack joined #lisp 2020-08-25T07:23:42Z jonatack quit (Client Quit) 2020-08-25T07:23:59Z jonatack joined #lisp 2020-08-25T07:24:43Z rumbler31 joined #lisp 2020-08-25T07:25:01Z iamFIREc1 quit (Ping timeout: 246 seconds) 2020-08-25T07:25:53Z lalilulelo quit (Ping timeout: 244 seconds) 2020-08-25T07:28:32Z jonatack quit (Ping timeout: 256 seconds) 2020-08-25T07:28:47Z kami quit (Ping timeout: 258 seconds) 2020-08-25T07:28:55Z rumbler31 quit (Ping timeout: 240 seconds) 2020-08-25T07:31:09Z phoe: no need to do that in CL since READ will return whatever you give it as eof-value in case of EOF 2020-08-25T07:31:49Z phoe: so (let ((thing (read stream nil stream))) (case thing (stream ...) ...)) 2020-08-25T07:44:53Z lemoinem quit (Ping timeout: 258 seconds) 2020-08-25T07:44:58Z liberliver joined #lisp 2020-08-25T07:45:55Z fixing_auth_hold quit (Ping timeout: 240 seconds) 2020-08-25T07:52:01Z Lycurgus joined #lisp 2020-08-25T08:03:34Z kopiyka quit (Remote host closed the connection) 2020-08-25T08:03:43Z smazga joined #lisp 2020-08-25T08:03:56Z kopiyka joined #lisp 2020-08-25T08:04:57Z gmeister joined #lisp 2020-08-25T08:08:39Z gioyik quit (Quit: WeeChat 2.9) 2020-08-25T08:09:41Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-08-25T08:09:48Z scymtym quit (Ping timeout: 244 seconds) 2020-08-25T08:10:17Z Aurora_v_kosmose joined #lisp 2020-08-25T08:10:53Z hendursa1 joined #lisp 2020-08-25T08:12:03Z hendursaga quit (Ping timeout: 240 seconds) 2020-08-25T08:12:22Z terpri__ joined #lisp 2020-08-25T08:15:29Z terpri_ quit (Ping timeout: 244 seconds) 2020-08-25T08:17:06Z dilated_dinosaur joined #lisp 2020-08-25T08:17:18Z M4NN1M4CR0 quit (Remote host closed the connection) 2020-08-25T08:33:47Z pve quit (Ping timeout: 240 seconds) 2020-08-25T08:36:51Z davepdotorg joined #lisp 2020-08-25T08:38:48Z smazga quit (Ping timeout: 256 seconds) 2020-08-25T08:44:17Z Misha_B quit (Remote host closed the connection) 2020-08-25T08:47:24Z gal joined #lisp 2020-08-25T09:00:22Z davepdotorg quit (Remote host closed the connection) 2020-08-25T09:06:10Z smazga joined #lisp 2020-08-25T09:08:55Z ldb quit (Quit: Connection closed) 2020-08-25T09:10:25Z smazga quit (Ping timeout: 240 seconds) 2020-08-25T09:11:43Z mangul is now known as shangul 2020-08-25T09:16:55Z Alloc quit (Ping timeout: 265 seconds) 2020-08-25T09:17:22Z Alloc joined #lisp 2020-08-25T09:25:30Z davepdotorg joined #lisp 2020-08-25T09:27:35Z toorevitimirp quit (Read error: Connection reset by peer) 2020-08-25T09:28:13Z toorevitimirp joined #lisp 2020-08-25T09:29:30Z jesse1010 joined #lisp 2020-08-25T09:34:19Z EvW1 joined #lisp 2020-08-25T09:36:37Z davepdotorg quit (Remote host closed the connection) 2020-08-25T09:37:06Z davepdotorg joined #lisp 2020-08-25T09:43:09Z smazga joined #lisp 2020-08-25T09:48:04Z Lycurgus quit (Quit: Exeunt) 2020-08-25T09:51:50Z EvW1 quit (Quit: EvW1) 2020-08-25T09:52:13Z EvW1 joined #lisp 2020-08-25T09:53:12Z vutral joined #lisp 2020-08-25T09:56:37Z space_otter quit (Remote host closed the connection) 2020-08-25T09:57:11Z Misha_B joined #lisp 2020-08-25T09:58:34Z edgar-rft quit (Quit: Leaving) 2020-08-25T10:05:44Z jonatack joined #lisp 2020-08-25T10:14:13Z RagnarDanneskjol quit (Read error: Connection reset by peer) 2020-08-25T10:14:25Z splittist quit (Read error: Connection reset by peer) 2020-08-25T10:14:39Z ffwacom quit (Read error: Connection reset by peer) 2020-08-25T10:14:45Z smazga quit (Ping timeout: 240 seconds) 2020-08-25T10:15:10Z mgsk quit (Read error: Connection reset by peer) 2020-08-25T10:15:12Z mjl quit (Read error: Connection reset by peer) 2020-08-25T10:15:20Z l1x quit (Read error: Connection reset by peer) 2020-08-25T10:15:35Z mgsk joined #lisp 2020-08-25T10:15:35Z mjl joined #lisp 2020-08-25T10:15:41Z RagnarDanneskjol joined #lisp 2020-08-25T10:15:46Z l1x joined #lisp 2020-08-25T10:15:48Z splittist joined #lisp 2020-08-25T10:16:13Z ffwacom joined #lisp 2020-08-25T10:16:41Z yonkunas quit (Ping timeout: 272 seconds) 2020-08-25T10:17:34Z yonkunas joined #lisp 2020-08-25T10:29:47Z stoneglass joined #lisp 2020-08-25T10:33:48Z terpri_ joined #lisp 2020-08-25T10:36:27Z terpri__ quit (Ping timeout: 240 seconds) 2020-08-25T10:37:25Z EvW1 quit (Ping timeout: 240 seconds) 2020-08-25T10:38:48Z rogersm quit (Quit: Leaving...) 2020-08-25T10:39:07Z iissaacc joined #lisp 2020-08-25T10:42:23Z iissaacc quit (Client Quit) 2020-08-25T10:45:10Z iissaacc joined #lisp 2020-08-25T10:45:57Z stoneglass quit (Quit: stoneglass) 2020-08-25T10:48:31Z smazga joined #lisp 2020-08-25T10:48:56Z rme quit (Ping timeout: 180 seconds) 2020-08-25T10:48:58Z rme quit (Read error: Connection reset by peer) 2020-08-25T10:49:13Z iissaacc quit (Client Quit) 2020-08-25T10:49:23Z gendl quit (Ping timeout: 260 seconds) 2020-08-25T10:49:23Z mpontillo quit (Ping timeout: 260 seconds) 2020-08-25T10:49:46Z selwyn quit (Ping timeout: 246 seconds) 2020-08-25T10:50:15Z jmercouris quit (Ping timeout: 272 seconds) 2020-08-25T10:51:31Z terrorjack quit (Ping timeout: 272 seconds) 2020-08-25T10:52:45Z smazga quit (Ping timeout: 240 seconds) 2020-08-25T10:56:52Z random-nick joined #lisp 2020-08-25T11:00:01Z gendl joined #lisp 2020-08-25T11:00:31Z rme joined #lisp 2020-08-25T11:01:19Z mpontillo joined #lisp 2020-08-25T11:01:19Z jmercouris joined #lisp 2020-08-25T11:03:59Z selwyn joined #lisp 2020-08-25T11:04:59Z gendl quit (Ping timeout: 258 seconds) 2020-08-25T11:05:09Z davepdotorg quit (Remote host closed the connection) 2020-08-25T11:12:00Z terrorjack joined #lisp 2020-08-25T11:15:04Z scymtym joined #lisp 2020-08-25T11:16:55Z gendl joined #lisp 2020-08-25T11:19:21Z gal left #lisp 2020-08-25T11:22:55Z Alloc quit (Ping timeout: 240 seconds) 2020-08-25T11:26:41Z lemoinem joined #lisp 2020-08-25T11:33:25Z shifty quit (Ping timeout: 240 seconds) 2020-08-25T11:33:47Z frgo quit (Remote host closed the connection) 2020-08-25T11:38:27Z Alloc joined #lisp 2020-08-25T11:44:45Z davepdotorg joined #lisp 2020-08-25T11:49:22Z davepdotorg quit (Ping timeout: 256 seconds) 2020-08-25T11:53:25Z Alloc quit (Ping timeout: 240 seconds) 2020-08-25T11:54:24Z kaftejiman joined #lisp 2020-08-25T11:55:43Z Alloc joined #lisp 2020-08-25T11:57:31Z davepdotorg joined #lisp 2020-08-25T11:57:44Z davepdotorg quit (Remote host closed the connection) 2020-08-25T11:58:10Z davepdotorg joined #lisp 2020-08-25T12:00:23Z wxie joined #lisp 2020-08-25T12:00:42Z FreeBirdLjj joined #lisp 2020-08-25T12:02:46Z vutral quit (Quit: Connection closed for inactivity) 2020-08-25T12:05:12Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2020-08-25T12:06:23Z kaftejiman quit (Remote host closed the connection) 2020-08-25T12:08:35Z ljavorsk quit (Ping timeout: 240 seconds) 2020-08-25T12:08:59Z bitmapper quit (Ping timeout: 240 seconds) 2020-08-25T12:09:32Z Alloc quit (Ping timeout: 256 seconds) 2020-08-25T12:12:29Z save-lisp-or-die joined #lisp 2020-08-25T12:16:22Z pve joined #lisp 2020-08-25T12:16:25Z wxie quit (Ping timeout: 240 seconds) 2020-08-25T12:17:14Z gko_ joined #lisp 2020-08-25T12:23:42Z toorevitimirp quit (Ping timeout: 256 seconds) 2020-08-25T12:24:18Z toorevitimirp joined #lisp 2020-08-25T12:26:06Z frgo joined #lisp 2020-08-25T12:26:29Z wxie joined #lisp 2020-08-25T12:27:16Z Bike joined #lisp 2020-08-25T12:28:13Z ggole joined #lisp 2020-08-25T12:30:43Z orivej joined #lisp 2020-08-25T12:33:36Z smazga joined #lisp 2020-08-25T12:37:38Z gmeister quit (Quit: WeeChat 2.8) 2020-08-25T12:37:52Z wsinatra joined #lisp 2020-08-25T12:40:53Z dominic34 joined #lisp 2020-08-25T12:41:22Z smazga quit (Ping timeout: 265 seconds) 2020-08-25T12:43:11Z edgar-rft joined #lisp 2020-08-25T12:46:49Z aap quit (Read error: Connection reset by peer) 2020-08-25T12:46:56Z aap joined #lisp 2020-08-25T12:47:47Z heredoc quit (Ping timeout: 240 seconds) 2020-08-25T12:49:52Z heredoc joined #lisp 2020-08-25T12:49:59Z rixard_ joined #lisp 2020-08-25T12:50:20Z hendursa1 quit (Quit: hendursa1) 2020-08-25T12:50:36Z hendursaga joined #lisp 2020-08-25T12:53:37Z rixard quit (Ping timeout: 264 seconds) 2020-08-25T12:56:41Z nicktick joined #lisp 2020-08-25T13:00:35Z stepnem quit (Ping timeout: 240 seconds) 2020-08-25T13:02:07Z rme quit (Ping timeout: 180 seconds) 2020-08-25T13:02:18Z stepnem joined #lisp 2020-08-25T13:03:49Z natter quit (Remote host closed the connection) 2020-08-25T13:05:54Z natter joined #lisp 2020-08-25T13:06:47Z Josh_2 joined #lisp 2020-08-25T13:10:03Z Necktwi joined #lisp 2020-08-25T13:13:46Z toorevitimirp quit (Ping timeout: 260 seconds) 2020-08-25T13:20:37Z Josh_2: afternoon 2020-08-25T13:21:21Z EvW joined #lisp 2020-08-25T13:22:13Z mseddon joined #lisp 2020-08-25T13:34:25Z iamFIREcracker quit (Ping timeout: 240 seconds) 2020-08-25T13:34:32Z iamFIREcracker joined #lisp 2020-08-25T13:43:48Z smazga joined #lisp 2020-08-25T13:45:10Z CrazyEddy quit (Ping timeout: 265 seconds) 2020-08-25T13:48:25Z smazga quit (Ping timeout: 240 seconds) 2020-08-25T13:54:18Z EvW quit (Ping timeout: 260 seconds) 2020-08-25T13:55:01Z sjl_ joined #lisp 2020-08-25T13:57:51Z prite joined #lisp 2020-08-25T13:58:25Z wxie quit (Ping timeout: 240 seconds) 2020-08-25T13:58:30Z davepdot_ joined #lisp 2020-08-25T14:01:11Z tourjin joined #lisp 2020-08-25T14:01:18Z smazga joined #lisp 2020-08-25T14:01:25Z davepdotorg quit (Ping timeout: 240 seconds) 2020-08-25T14:03:49Z davepdot_ quit (Remote host closed the connection) 2020-08-25T14:04:17Z davepdotorg joined #lisp 2020-08-25T14:04:33Z EvW1 joined #lisp 2020-08-25T14:05:31Z davepdot_ joined #lisp 2020-08-25T14:07:50Z smazga quit (Ping timeout: 258 seconds) 2020-08-25T14:08:34Z rumbler31_ joined #lisp 2020-08-25T14:09:18Z davepdotorg quit (Ping timeout: 260 seconds) 2020-08-25T14:17:25Z Bourne quit (Ping timeout: 258 seconds) 2020-08-25T14:22:27Z bsd4me joined #lisp 2020-08-25T14:22:52Z schweers quit (Ping timeout: 260 seconds) 2020-08-25T14:23:17Z dominic34 quit (Quit: dominic34) 2020-08-25T14:25:12Z narimiran quit (Ping timeout: 256 seconds) 2020-08-25T14:28:06Z elxbarbosa joined #lisp 2020-08-25T14:28:44Z jgodbout joined #lisp 2020-08-25T14:31:55Z EvW1 quit (Ping timeout: 240 seconds) 2020-08-25T14:37:49Z bsd4me left #lisp 2020-08-25T14:37:52Z smazga joined #lisp 2020-08-25T14:39:25Z elxbarbosa quit (Ping timeout: 240 seconds) 2020-08-25T14:42:20Z smazga quit (Ping timeout: 258 seconds) 2020-08-25T14:45:06Z random-nick quit (Remote host closed the connection) 2020-08-25T14:46:30Z random-nick joined #lisp 2020-08-25T14:53:21Z chiota joined #lisp 2020-08-25T14:53:35Z davepdot_ quit (Remote host closed the connection) 2020-08-25T14:54:01Z davepdotorg joined #lisp 2020-08-25T14:58:11Z frgo quit (Remote host closed the connection) 2020-08-25T15:02:52Z smazga joined #lisp 2020-08-25T15:03:08Z ebrasca joined #lisp 2020-08-25T15:06:19Z terpri__ joined #lisp 2020-08-25T15:07:21Z Alloc joined #lisp 2020-08-25T15:08:55Z terpri_ quit (Ping timeout: 240 seconds) 2020-08-25T15:12:57Z bitmapper joined #lisp 2020-08-25T15:31:58Z edgar-rft quit (Quit: Leaving) 2020-08-25T15:32:03Z Aurora_v_kosmose quit (Ping timeout: 240 seconds) 2020-08-25T15:32:50Z dominic34 joined #lisp 2020-08-25T15:35:56Z Aurora_v_kosmose joined #lisp 2020-08-25T15:40:59Z tourjin quit (Ping timeout: 258 seconds) 2020-08-25T15:41:35Z davepdot_ joined #lisp 2020-08-25T15:42:18Z frgo joined #lisp 2020-08-25T15:42:58Z tourjin joined #lisp 2020-08-25T15:43:27Z mseddon quit (Quit: Leaving) 2020-08-25T15:43:49Z terpri__ is now known as terpri 2020-08-25T15:44:25Z davepdotorg quit (Ping timeout: 240 seconds) 2020-08-25T15:46:25Z frgo quit (Ping timeout: 240 seconds) 2020-08-25T15:48:55Z gko_ quit (Ping timeout: 240 seconds) 2020-08-25T15:50:31Z phoe: luis: is CFFI::RETRY supposed to be exported? 2020-08-25T15:50:47Z phoe: I just found someone who attempts to use the CFFI::RETRY restart when loading a foreign library, but the restart name is not exported 2020-08-25T15:51:14Z phoe: is the restart in question supposed to be internal for whatever reason? 2020-08-25T15:51:52Z luis: phoe: someone opened a launchpad bug about that today. I think I only expected that restart to be invoked interactively 2020-08-25T15:52:06Z dddddd quit (Remote host closed the connection) 2020-08-25T15:52:44Z luis: phoe: do you have a pointer to that use case? I'm intrigued. 2020-08-25T15:52:49Z phoe: oh, must be the same use case 2020-08-25T15:53:00Z phoe: "i filed a cffi bug. What I'm doing is reloading the cffi libs after an image restore but some .so files aren't in the same location, so I handle the load-foreign-library-error and ask cffi to load the .so from another directory" 2020-08-25T15:53:04Z phoe: "After redefining the cffi:define-foreign-library to include a special dir, I'd like to (invoke-restart 'retry) 2020-08-25T15:53:07Z phoe: [17:37] 2020-08-25T15:53:26Z phoe: https://plaster.tymoon.eu/view/2028#2028 2020-08-25T15:53:30Z phoe: copying this over from discord 2020-08-25T15:53:42Z luis: ew. 2020-08-25T15:53:46Z dddddd joined #lisp 2020-08-25T15:54:02Z luis: Maybe use the USE-VALUE restart instead. 2020-08-25T15:55:12Z shimizutan joined #lisp 2020-08-25T15:55:27Z dominic35 joined #lisp 2020-08-25T15:55:56Z dominic34 quit (Ping timeout: 258 seconds) 2020-08-25T15:55:56Z dominic35 is now known as dominic34 2020-08-25T15:58:11Z luis: But I think the underlying problem is problem is probably having dumped a Lisp image with hardcoded foreign libs. If that's the case, that's the root problem that needs fixing. 2020-08-25T16:01:25Z davepdot_ quit (Remote host closed the connection) 2020-08-25T16:01:51Z davepdotorg joined #lisp 2020-08-25T16:03:29Z phoe: "Unfortunately, via that condition seems the only way for me to pull the original .so filenames from the origina define-foreign-library in another system 2020-08-25T16:03:32Z phoe: [18:01] 2020-08-25T16:03:48Z phoe: I am suggesting that they use CFFI:LIST-FOREIGN-LIBRARIES and inspect the libs there 2020-08-25T16:04:34Z luis: phoe: best bet is to close the libraries before dumping the image. Or ensuring they're loaded without hardcoded paths. 2020-08-25T16:05:39Z davepdot_ joined #lisp 2020-08-25T16:06:02Z nadare joined #lisp 2020-08-25T16:07:19Z nadare quit (Client Quit) 2020-08-25T16:08:37Z zulu-inuoe joined #lisp 2020-08-25T16:09:13Z davepdotorg quit (Ping timeout: 264 seconds) 2020-08-25T16:15:48Z shimizutan quit (Quit: WeeChat 2.3) 2020-08-25T16:20:18Z frgo joined #lisp 2020-08-25T16:21:37Z frgo_ joined #lisp 2020-08-25T16:21:44Z save-lisp-or-die quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-08-25T16:22:45Z frgo__ joined #lisp 2020-08-25T16:23:28Z orivej quit (Ping timeout: 256 seconds) 2020-08-25T16:24:25Z frgo quit (Ping timeout: 240 seconds) 2020-08-25T16:26:25Z frgo_ quit (Ping timeout: 240 seconds) 2020-08-25T16:29:37Z orivej joined #lisp 2020-08-25T16:29:48Z Josh_2: I'd like to print the stacktrace to *error-output* just like Hunchentoot does 2020-08-25T16:29:51Z Josh_2: is there a library for this? 2020-08-25T16:30:46Z mfiano: Try dissect. Also, the verbose library uses dissect to do this, by being able to log condition objects to a faucet 2020-08-25T16:31:03Z rme quit (Ping timeout: 180 seconds) 2020-08-25T16:33:52Z Blukunfando joined #lisp 2020-08-25T16:36:09Z Josh_2: that works thanks mfiano 2020-08-25T16:36:21Z Bike: there's also trivial-backtrace 2020-08-25T16:36:57Z lnostdal joined #lisp 2020-08-25T16:36:59Z orivej quit (Ping timeout: 240 seconds) 2020-08-25T16:37:02Z fixing_auth_hold joined #lisp 2020-08-25T16:38:52Z Lord_of_Life quit (Ping timeout: 258 seconds) 2020-08-25T16:39:45Z Lord_of_Life joined #lisp 2020-08-25T16:43:57Z yitzi joined #lisp 2020-08-25T16:48:57Z Josh_2: trivial-backtrace also works 2020-08-25T16:50:42Z yitzi_ joined #lisp 2020-08-25T16:52:13Z yitzi quit (Ping timeout: 265 seconds) 2020-08-25T16:52:13Z yitzi_ is now known as yitzi 2020-08-25T16:52:22Z frgo__ is now known as frgo 2020-08-25T16:58:10Z jeosol quit (Remote host closed the connection) 2020-08-25T17:06:25Z tourjin quit (Ping timeout: 240 seconds) 2020-08-25T17:08:25Z pve quit (Ping timeout: 240 seconds) 2020-08-25T17:10:35Z pve joined #lisp 2020-08-25T17:13:10Z karlosz joined #lisp 2020-08-25T17:16:04Z cosimone joined #lisp 2020-08-25T17:17:25Z gravicappa quit (Read error: Connection reset by peer) 2020-08-25T17:23:25Z lalilulelo joined #lisp 2020-08-25T17:25:38Z rippa joined #lisp 2020-08-25T17:25:44Z fixing_auth_hold quit (Ping timeout: 244 seconds) 2020-08-25T17:26:11Z gravicappa joined #lisp 2020-08-25T17:42:40Z yamashitasama joined #lisp 2020-08-25T17:43:41Z karlosz quit (Quit: karlosz) 2020-08-25T17:43:47Z secretmyth joined #lisp 2020-08-25T17:44:11Z karlosz joined #lisp 2020-08-25T17:44:27Z yamashitasama quit (Client Quit) 2020-08-25T17:44:55Z saitousan joined #lisp 2020-08-25T17:46:51Z secretmyth is now known as dpd88 2020-08-25T17:48:00Z lalilulelo quit (Read error: Connection reset by peer) 2020-08-25T17:48:01Z Zianic joined #lisp 2020-08-25T17:48:30Z lalilulelo joined #lisp 2020-08-25T17:54:57Z narimiran joined #lisp 2020-08-25T17:59:15Z orivej joined #lisp 2020-08-25T17:59:39Z karlosz quit (Quit: karlosz) 2020-08-25T18:00:11Z karlosz joined #lisp 2020-08-25T18:07:35Z hiroaki joined #lisp 2020-08-25T18:10:08Z jw4 quit (Read error: Connection reset by peer) 2020-08-25T18:11:54Z jw4 joined #lisp 2020-08-25T18:14:46Z karlosz quit (Quit: karlosz) 2020-08-25T18:15:20Z karlosz joined #lisp 2020-08-25T18:18:29Z edgar-rft joined #lisp 2020-08-25T18:23:26Z bocaneri quit (Remote host closed the connection) 2020-08-25T18:30:49Z yitzi quit (Quit: yitzi) 2020-08-25T18:31:12Z jcowan joined #lisp 2020-08-25T18:31:16Z minion quit (Remote host closed the connection) 2020-08-25T18:31:16Z specbot quit (Remote host closed the connection) 2020-08-25T18:31:34Z minion joined #lisp 2020-08-25T18:31:59Z specbot joined #lisp 2020-08-25T18:32:16Z yitzi joined #lisp 2020-08-25T18:33:17Z ibinderwolf quit (Quit: No Ping reply in 180 seconds.) 2020-08-25T18:33:29Z ibinderwolf joined #lisp 2020-08-25T18:33:34Z jcowan: On Sept 8 at 2200 UTC, Andrew Sengul will be giving a 2-hour presentation about April, his APL compiler targeting Common Lisp. It's virtual, so anyone can go if they're awake. Sign up at https://www.meetup.com/LispNYC/events/vqhmbpybcmblb/ 2020-08-25T18:33:42Z prefixt joined #lisp 2020-08-25T18:34:05Z prefixt: Hello! I'm looking for an interactive lisp tutorial, preferably in emacs. Do you fine folks recommend any in particular? 2020-08-25T18:36:00Z brj joined #lisp 2020-08-25T18:36:59Z saitousan quit (Quit: WeeChat 2.3) 2020-08-25T18:38:01Z jcowan: prefixt: Answers may be slow in coming here. 2020-08-25T18:38:21Z kaftejiman joined #lisp 2020-08-25T18:38:43Z jcowan: I recommend joining #clschool, which is specifically for newbies 2020-08-25T18:41:17Z prefixt: Thank you jcowan 2020-08-25T18:42:05Z brettgilio quit (Ping timeout: 240 seconds) 2020-08-25T18:42:17Z ck_ joined #lisp 2020-08-25T18:43:43Z Jesin quit (Quit: Leaving) 2020-08-25T18:45:50Z cosimone quit (Remote host closed the connection) 2020-08-25T18:47:24Z jesseoff joined #lisp 2020-08-25T18:48:24Z rme quit (Ping timeout: 244 seconds) 2020-08-25T18:50:24Z pve: prefixt: how about the lisp koans? 2020-08-25T18:50:25Z Inline joined #lisp 2020-08-25T18:51:10Z Jesin joined #lisp 2020-08-25T18:51:35Z ggole quit (Quit: Leaving) 2020-08-25T18:51:38Z jgodbout: https://github.com/google/lisp-koans 2020-08-25T18:51:45Z pve: i think they were recently updated by someone (phoe?) 2020-08-25T18:53:29Z rme joined #lisp 2020-08-25T18:53:55Z jmercouris quit (Ping timeout: 240 seconds) 2020-08-25T18:54:46Z jgodbout: indeed 2020-08-25T18:54:58Z jmercouris joined #lisp 2020-08-25T18:54:59Z jgodbout: Phoe did a rather large rewrite 2020-08-25T18:58:35Z random-nick quit (Ping timeout: 240 seconds) 2020-08-25T18:59:13Z prefixt: pve, jgodbout, my week has been made. Thank you! <3 2020-08-25T19:02:17Z pve: prefixt: have fun 2020-08-25T19:04:24Z shangul quit (Ping timeout: 256 seconds) 2020-08-25T19:05:20Z random-nick joined #lisp 2020-08-25T19:08:16Z prefixt disappears 2020-08-25T19:08:24Z prefixt quit (Quit: Leaving) 2020-08-25T19:11:17Z EvW joined #lisp 2020-08-25T19:20:24Z cosimone joined #lisp 2020-08-25T19:25:19Z jasom: haha, I have abcl in doppio working well enough to get this error: Failed to require ASDF because 'Congratulations for trying ASDF on an operating system that is neither Unix, nor Windows, nor Genera, nor even old MacOS. Now you port it.' 2020-08-25T19:25:20Z yitzi quit (Read error: Connection reset by peer) 2020-08-25T19:29:25Z EvW quit (Ping timeout: 240 seconds) 2020-08-25T19:29:38Z jasom: told it it was unix and got further, but $HOME isn't writable. Well other things to do now; I'll publish what I have so far tonight 2020-08-25T19:29:47Z bilegeek joined #lisp 2020-08-25T19:30:01Z dra_ joined #lisp 2020-08-25T19:30:15Z dra_ is now known as dra 2020-08-25T19:30:17Z hiroaki quit (Ping timeout: 260 seconds) 2020-08-25T19:42:12Z EvW joined #lisp 2020-08-25T19:51:26Z shka_ quit (Ping timeout: 256 seconds) 2020-08-25T19:54:01Z mmohammadi9812 joined #lisp 2020-08-25T20:00:47Z wsinatra quit (Quit: WeeChat 2.9) 2020-08-25T20:05:59Z Inline quit (Quit: Leaving) 2020-08-25T20:07:00Z gravicappa quit (Ping timeout: 265 seconds) 2020-08-25T20:11:05Z Zianic quit (Quit: leaving) 2020-08-25T20:14:46Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-08-25T20:14:48Z duuqnd quit (Remote host closed the connection) 2020-08-25T20:15:05Z lnostdal quit (Ping timeout: 240 seconds) 2020-08-25T20:15:22Z Aurora_v_kosmose joined #lisp 2020-08-25T20:16:44Z sonologico joined #lisp 2020-08-25T20:17:19Z vutral joined #lisp 2020-08-25T20:21:04Z phoe: gasp 2020-08-25T20:21:12Z phoe: yes, it was me 2020-08-25T20:22:30Z narimiran quit (Quit: leaving) 2020-08-25T20:23:55Z nicktick quit (Ping timeout: 240 seconds) 2020-08-25T20:27:43Z orivej quit (Ping timeout: 258 seconds) 2020-08-25T20:28:36Z lnostdal joined #lisp 2020-08-25T20:28:46Z brj quit (Ping timeout: 256 seconds) 2020-08-25T20:34:55Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2020-08-25T20:35:43Z brj joined #lisp 2020-08-25T20:38:56Z phoe: sjl: that Twitter post is amazing 2020-08-25T20:39:00Z phoe: what are the bugs? 2020-08-25T20:40:06Z phoe: jcowan: will Andrew mind if I repost this over to the Online Lisp Meetings mailing list? 2020-08-25T20:42:10Z cosimone quit (Quit: Quit.) 2020-08-25T20:44:28Z mmohammadi9812 quit (Remote host closed the connection) 2020-08-25T20:50:22Z Posterdati quit (Ping timeout: 246 seconds) 2020-08-25T20:53:57Z rogersm joined #lisp 2020-08-25T20:58:54Z sjl_: phoe: 1. https://gitlab.com/embeddable-common-lisp/ecl/-/issues/605 in ECL. 2020-08-25T20:59:05Z sjl_: 2. same issue in ABCL. I don't think they have an issue tracker 2020-08-25T20:59:13Z sjl_: 3. (loop :repeat 1000000000 :do (assert (< (random 57.0) 57.0))) in CCL 2020-08-25T20:59:54Z sjl_: 4. Managed to somehow fuzz my way into a broken EQUAL hash table in ABCL such that it has an entry for "" in inspect, but (gethash "" ht) returned nil nil 2020-08-25T21:00:07Z sjl_: I haven't managed to narrow down 4 to a small test case yet, unfortunately. 2020-08-25T21:01:50Z phoe: sjl_: 2. https://github.com/armedbear/abcl/ 2020-08-25T21:02:11Z specbot quit (Remote host closed the connection) 2020-08-25T21:02:11Z dra_ joined #lisp 2020-08-25T21:02:16Z sjl_: Oh, interesting 2020-08-25T21:02:27Z specbot joined #lisp 2020-08-25T21:02:52Z sjl_: https://abcl.org/bugreporting.shtml says to use a mailing list, which is why I thought they didn't have one 2020-08-25T21:03:28Z phoe: this is an ancient page 2020-08-25T21:03:32Z phoe: easye: boop 2020-08-25T21:03:35Z Posterdati joined #lisp 2020-08-25T21:04:55Z aap quit (Read error: Connection reset by peer) 2020-08-25T21:04:55Z minion quit (Remote host closed the connection) 2020-08-25T21:04:55Z aap joined #lisp 2020-08-25T21:04:55Z dra quit (Read error: Connection reset by peer) 2020-08-25T21:05:01Z minion joined #lisp 2020-08-25T21:05:05Z phoe: 2. is kinda awful 2020-08-25T21:06:16Z rogersm quit (Remote host closed the connection) 2020-08-25T21:06:47Z phoe: did you make a ccl bugticket for that? 2020-08-25T21:07:21Z abhixec joined #lisp 2020-08-25T21:07:25Z mrcom quit (Ping timeout: 265 seconds) 2020-08-25T21:09:27Z sjl_: Not yet. Discovered it at midnight last night and took it as a sign from the universe to close the laptop. I was gonna report it after work today. 2020-08-25T21:12:03Z phoe: I am trying to trace the issue now 2020-08-25T21:13:24Z smazga quit (Quit: leaving) 2020-08-25T21:13:55Z dra_ is now known as dra 2020-08-25T21:15:46Z sjl_: In my case I can trivially work around it by changing a < to a <= in one function, but yeah. The spec says random returns a number "less than limit" so I think it's a bug. 2020-08-25T21:16:28Z secbird joined #lisp 2020-08-25T21:18:46Z phoe: yes 2020-08-25T21:19:00Z phoe: I have found the root cause in source code - if you post the bugticket, I can add the analysis 2020-08-25T21:19:17Z sjl_: I'll make a ticket in an hour or so (in a meeting atm) 2020-08-25T21:19:22Z phoe: Ok 2020-08-25T21:23:15Z jcowan: phoe: I'm sure he won't 2020-08-25T21:23:51Z Jesin quit (Quit: Leaving) 2020-08-25T21:25:28Z EvW quit (Ping timeout: 244 seconds) 2020-08-25T21:26:05Z Jesin joined #lisp 2020-08-25T21:26:34Z phoe: jcowan: thanks, I'll do that. Will the recording be available anywhere? 2020-08-25T21:26:36Z phoe: sjl_: https://plaster.tymoon.eu/view/2030#2030 2020-08-25T21:26:50Z jcowan: eventually yes 2020-08-25T21:26:57Z phoe: OK 2020-08-25T21:39:09Z phoe: anyway, this is because (* 1152921472459506616/1152921504606846975 57.0) ;=> 57.0 2020-08-25T21:39:20Z phoe: what is the general solution for this sort of issue? 2020-08-25T21:40:52Z EvW joined #lisp 2020-08-25T21:41:29Z phoe: SBCL does bit banging to achieve this, https://github.com/sbcl/sbcl/blob/7492ec61bd7db6da9f9cbb56cebf7f80a198c883/src/code/target-random.lisp#L317-L337 2020-08-25T21:59:21Z sjl_: phoe: dive into the rabbit hole https://experilous.com/1/blog/post/perfect-fast-random-floating-point-numbers 2020-08-25T22:00:45Z phoe: oh no 2020-08-25T22:00:49Z phoe dives 2020-08-25T22:01:50Z phoe: I do not know the low-level bit banging operators of CCL and it does not seem to expose anything similar to sbcl's MAKE-SINGLE-FLOAT 2020-08-25T22:01:55Z phoe: or maybe I don't know where to look 2020-08-25T22:02:23Z phoe: .....oh wait, ccl::make-float-from-fixnums 2020-08-25T22:04:02Z sjl_: phoe: https://github.com/Clozure/ccl/issues/342 2020-08-25T22:04:20Z phoe: sjl_: thanks 2020-08-25T22:06:12Z pve quit (Quit: leaving) 2020-08-25T22:10:23Z shifty joined #lisp 2020-08-25T22:15:05Z sjl_ quit (Ping timeout: 240 seconds) 2020-08-25T22:30:13Z liberliver1 joined #lisp 2020-08-25T22:32:37Z liberliver quit (Ping timeout: 272 seconds) 2020-08-25T22:32:37Z liberliver1 is now known as liberliver 2020-08-25T22:37:20Z chiota quit (Quit: leaving) 2020-08-25T22:38:03Z dra quit (Quit: Leaving) 2020-08-25T22:46:52Z Oddity quit (Remote host closed the connection) 2020-08-25T22:46:59Z random-nick quit (Ping timeout: 265 seconds) 2020-08-25T22:47:34Z Oddity joined #lisp 2020-08-25T22:51:08Z elflng quit (Read error: No route to host) 2020-08-25T22:51:43Z elflng joined #lisp 2020-08-25T22:53:41Z nicktick joined #lisp 2020-08-25T22:55:23Z frgo quit (Remote host closed the connection) 2020-08-25T22:55:42Z frgo joined #lisp 2020-08-25T23:08:47Z Misha_B quit (Quit: memory leak) 2020-08-25T23:09:42Z jasom: phoe: A general solution is to discard any problematic values and try again. That can never introduce bias, so as long as all non-problematic values are unbiased it's a general solution. 2020-08-25T23:09:54Z Misha_B joined #lisp 2020-08-25T23:10:33Z jasom: that being said, there are known ways to generate a uniform floatingpoint value in the range [0,1.0) and then you can just multiply by the limit to get the right answer 2020-08-25T23:11:48Z jasom: though I imagine it might not work for corner cases like where the limit is a denormal value. 2020-08-25T23:19:35Z jasom: And indeed, sbcl doesn't handle denormals: (loop with limit = 5.605194e-45 repeat 10000 do (assert (< (float limit) limit))) 2020-08-25T23:20:46Z jasom: To show I'm not cheating: (> 5.605194e-45 0) => t 2020-08-25T23:22:00Z aeth: This is why expressing your assumption in types is often useful for floating point, and numbers in general. 2020-08-25T23:22:37Z jasom: Forget everything I said, I had a typo in my test-case 2020-08-25T23:26:45Z mangoicedtea joined #lisp 2020-08-25T23:26:57Z jasom: But it does work with a sligtly smaller value 2020-08-25T23:27:03Z orivej joined #lisp 2020-08-25T23:27:09Z dominic34 quit (Read error: Connection reset by peer) 2020-08-25T23:32:34Z jasom: Here we go: (loop with limit = (loop for x = (random 1.4012985e-45) unless (zerop x) return x) do (assert (< (random limit) limit))) 2020-08-25T23:33:25Z yitzi joined #lisp 2020-08-25T23:34:19Z jasom: Due to weirdness of denormals (random 1.4012985e-45) sometimes returns a value that prints identically, and (decode-float) is identical, but is treated as smaller by #'< 2020-08-25T23:35:13Z jasom: I don't know how to get at the bit-representation of floats in SBCL, but that woudl be a more efficient way of doing it. This has the nice effect of being portable, and never terminating if (random X) always returns a value that is CL:< X 2020-08-25T23:40:44Z jasom: well, reported it in #sbcl. I personally don't think it's worth fixing, but at least they now know about it. 2020-08-25T23:42:48Z sjl: phoe: I reported the abcl destructuring one https://github.com/armedbear/abcl/issues/274 2020-08-26T00:05:55Z dilated_dinosaur quit (Ping timeout: 240 seconds) 2020-08-26T00:17:09Z tychoish quit (Quit: ish) 2020-08-26T00:18:12Z tychoish joined #lisp 2020-08-26T00:18:35Z torbo joined #lisp 2020-08-26T00:20:00Z kaftejiman quit (Remote host closed the connection) 2020-08-26T00:29:14Z akoana joined #lisp 2020-08-26T00:32:05Z lnostdal quit (Ping timeout: 240 seconds) 2020-08-26T00:33:55Z EvW quit (Ping timeout: 240 seconds) 2020-08-26T00:40:08Z schmr joined #lisp 2020-08-26T00:40:39Z schmr left #lisp 2020-08-26T00:43:53Z ralt quit (Quit: Connection closed for inactivity) 2020-08-26T00:44:52Z lnostdal joined #lisp 2020-08-26T00:49:13Z FennecCode quit (Quit: IRCNow and Forever!) 2020-08-26T00:50:59Z Josh_2 quit (Remote host closed the connection) 2020-08-26T00:56:49Z iAmDecim joined #lisp 2020-08-26T01:03:02Z maplambda quit (Ping timeout: 256 seconds) 2020-08-26T01:14:28Z vutral quit (Quit: Connection closed for inactivity) 2020-08-26T01:15:47Z stepnem_ joined #lisp 2020-08-26T01:16:30Z stepnem quit (Read error: Connection reset by peer) 2020-08-26T01:23:08Z sjl: phoe: also trying to narrow down that hash table bug. Am I just losing my mind? This has to be a bug, right? https://paste.stevelosh.com/4f295a1ca1dc8cae4cdff172fd198fc2724f046d 2020-08-26T01:29:29Z space_otter joined #lisp 2020-08-26T01:34:06Z sjl: Aha, I figured it out. One of the ""'s is an array with a fill pointer. 2020-08-26T01:34:52Z sjl: minimal test case https://paste.stevelosh.com/f2617e1cab82f545ffa5b81669f7aa1816c1a6cd 2020-08-26T01:49:29Z mangoicedtea quit (Quit: Leaving) 2020-08-26T01:59:25Z nicktick quit (Ping timeout: 240 seconds) 2020-08-26T02:01:25Z Blukunfando quit (Ping timeout: 240 seconds) 2020-08-26T02:04:08Z nicktick joined #lisp 2020-08-26T02:08:32Z jesse1010 quit (Ping timeout: 265 seconds) 2020-08-26T02:15:40Z takadasan joined #lisp 2020-08-26T02:19:10Z shifty quit (Ping timeout: 260 seconds) 2020-08-26T02:20:21Z Bourne joined #lisp 2020-08-26T02:27:08Z gaqwas quit (Ping timeout: 256 seconds) 2020-08-26T02:28:11Z gaqwas joined #lisp 2020-08-26T02:28:11Z gaqwas quit (Changing host) 2020-08-26T02:28:11Z gaqwas joined #lisp 2020-08-26T02:28:40Z dxtr quit (Ping timeout: 244 seconds) 2020-08-26T02:32:36Z Oladon joined #lisp 2020-08-26T02:34:43Z dxtr joined #lisp 2020-08-26T02:38:05Z ebrasca quit (Remote host closed the connection) 2020-08-26T02:42:11Z iAmDecim quit (Ping timeout: 240 seconds) 2020-08-26T02:50:00Z libertyprime joined #lisp 2020-08-26T02:50:02Z libertyprime quit (Client Quit) 2020-08-26T02:50:25Z libertyprime joined #lisp 2020-08-26T02:56:00Z Blukunfando joined #lisp 2020-08-26T03:01:51Z Alfr_ joined #lisp 2020-08-26T03:04:24Z Alfr__ quit (Ping timeout: 244 seconds) 2020-08-26T03:05:14Z zooey quit (Remote host closed the connection) 2020-08-26T03:05:41Z zooey joined #lisp 2020-08-26T03:08:05Z abhixec quit (Ping timeout: 240 seconds) 2020-08-26T03:09:21Z iAmDecim joined #lisp 2020-08-26T03:12:54Z Bike quit (Quit: Lost terminal) 2020-08-26T03:13:55Z iAmDecim quit (Ping timeout: 240 seconds) 2020-08-26T03:16:40Z beach: Good morning everyone! 2020-08-26T03:17:50Z dpd88 quit (Ping timeout: 244 seconds) 2020-08-26T03:21:26Z markasoftware: hi! 2020-08-26T03:24:25Z brj quit (Ping timeout: 240 seconds) 2020-08-26T03:26:39Z brj joined #lisp 2020-08-26T03:28:43Z zooey quit (Ping timeout: 240 seconds) 2020-08-26T03:28:59Z zooey joined #lisp 2020-08-26T03:33:09Z IPmonger joined #lisp 2020-08-26T03:34:16Z Bourne quit (Ping timeout: 246 seconds) 2020-08-26T03:36:17Z Blukunfando quit (Ping timeout: 258 seconds) 2020-08-26T03:37:38Z IPmonger quit (Remote host closed the connection) 2020-08-26T03:39:20Z FennecCode joined #lisp 2020-08-26T03:42:25Z IPmonger joined #lisp 2020-08-26T03:43:23Z IPmonger quit (Remote host closed the connection) 2020-08-26T03:45:55Z IPmonger joined #lisp 2020-08-26T03:48:23Z IPmonger quit (Remote host closed the connection) 2020-08-26T03:53:32Z Blukunfando joined #lisp 2020-08-26T03:54:38Z shangul joined #lisp 2020-08-26T03:56:20Z Oladon quit (Quit: Leaving.) 2020-08-26T03:59:55Z Necktwi quit (Ping timeout: 240 seconds) 2020-08-26T04:02:26Z iAmDecim joined #lisp 2020-08-26T04:05:06Z Oladon joined #lisp 2020-08-26T04:06:55Z iAmDecim quit (Ping timeout: 240 seconds) 2020-08-26T04:10:22Z rumbler31 joined #lisp 2020-08-26T04:14:37Z rumbler31 quit (Ping timeout: 258 seconds) 2020-08-26T04:15:39Z akoana left #lisp 2020-08-26T04:22:04Z Necktwi joined #lisp 2020-08-26T04:22:37Z gravicappa joined #lisp 2020-08-26T04:30:20Z Blukunfando quit (Ping timeout: 258 seconds) 2020-08-26T04:35:42Z narimiran joined #lisp 2020-08-26T04:37:35Z lottaquestions_ quit (Quit: Konversation terminated!) 2020-08-26T04:38:49Z Lord_of_Life_ joined #lisp 2020-08-26T04:39:01Z Lord_of_Life quit (Ping timeout: 256 seconds) 2020-08-26T04:40:10Z Lord_of_Life_ is now known as Lord_of_Life 2020-08-26T04:48:47Z takadasan quit (Quit: WeeChat 2.3) 2020-08-26T04:52:40Z torbo quit (Remote host closed the connection) 2020-08-26T04:54:11Z shangul quit (Ping timeout: 240 seconds) 2020-08-26T04:59:41Z shifty joined #lisp 2020-08-26T05:07:04Z duuqnd joined #lisp 2020-08-26T05:20:11Z prite quit (Ping timeout: 240 seconds) 2020-08-26T05:23:04Z prite joined #lisp 2020-08-26T05:24:54Z rumbler31_ quit (Ping timeout: 256 seconds) 2020-08-26T05:24:56Z tamurasan joined #lisp 2020-08-26T05:28:39Z karlosz quit (Quit: karlosz) 2020-08-26T05:30:22Z secbird quit (Quit: leaving) 2020-08-26T05:40:53Z terpri_ joined #lisp 2020-08-26T05:41:43Z bocaneri joined #lisp 2020-08-26T05:43:55Z terpri quit (Ping timeout: 240 seconds) 2020-08-26T05:46:19Z Blukunfando joined #lisp 2020-08-26T05:51:28Z sonologico quit (Remote host closed the connection) 2020-08-26T05:56:01Z prite quit (Ping timeout: 264 seconds) 2020-08-26T05:57:19Z space_otter quit (Remote host closed the connection) 2020-08-26T05:58:39Z space_otter joined #lisp 2020-08-26T06:11:47Z Oladon quit (Quit: Leaving.) 2020-08-26T06:12:48Z Blukunfando quit 2020-08-26T06:15:44Z madage quit (Remote host closed the connection) 2020-08-26T06:16:01Z madage joined #lisp 2020-08-26T06:18:41Z Blukunfando joined #lisp 2020-08-26T06:22:16Z lnostdal quit (Ping timeout: 258 seconds) 2020-08-26T06:23:56Z shka_ joined #lisp 2020-08-26T06:24:27Z Blukunfando quit (Read error: Connection reset by peer) 2020-08-26T06:28:23Z Blukunfando joined #lisp 2020-08-26T06:30:25Z Alloc quit (Ping timeout: 240 seconds) 2020-08-26T06:40:45Z Archenoth quit (Read error: Connection reset by peer) 2020-08-26T06:40:45Z Alloc joined #lisp 2020-08-26T06:41:34Z Archenoth joined #lisp 2020-08-26T06:42:22Z Blukunfando quit 2020-08-26T06:44:24Z ggole joined #lisp 2020-08-26T06:45:54Z edgar-rft quit (Quit: Leaving) 2020-08-26T06:46:06Z Christ0p1er joined #lisp 2020-08-26T06:47:12Z Blukunfando joined #lisp 2020-08-26T06:47:58Z Christ0pher quit (Ping timeout: 260 seconds) 2020-08-26T06:54:11Z pve joined #lisp 2020-08-26T07:02:31Z Alloc quit (Ping timeout: 258 seconds) 2020-08-26T07:02:50Z Alloc joined #lisp 2020-08-26T07:07:09Z rogersm joined #lisp 2020-08-26T07:08:40Z lnostdal joined #lisp 2020-08-26T07:16:44Z Mawile joined #lisp 2020-08-26T07:20:17Z Archenoth quit (Ping timeout: 265 seconds) 2020-08-26T07:22:08Z rogersm quit (Quit: Leaving...) 2020-08-26T07:23:25Z igemnace quit (Remote host closed the connection) 2020-08-26T07:26:40Z Alloc quit (Ping timeout: 258 seconds) 2020-08-26T07:26:42Z orivej quit (Ping timeout: 260 seconds) 2020-08-26T07:29:02Z shifty quit (Ping timeout: 260 seconds) 2020-08-26T07:30:20Z Alloc joined #lisp 2020-08-26T07:32:13Z Bourne joined #lisp 2020-08-26T07:32:53Z schweers joined #lisp 2020-08-26T07:33:30Z ralt joined #lisp 2020-08-26T07:42:25Z Necktwi quit (Ping timeout: 240 seconds) 2020-08-26T07:43:30Z jprajzne quit (Quit: jprajzne) 2020-08-26T07:44:04Z jprajzne joined #lisp 2020-08-26T07:45:32Z liberliver quit (Quit: liberliver) 2020-08-26T07:46:02Z liberliver joined #lisp 2020-08-26T07:46:29Z terpri joined #lisp 2020-08-26T07:46:33Z iamFIREc1 joined #lisp 2020-08-26T07:48:00Z jprajzne quit (Client Quit) 2020-08-26T07:48:24Z jprajzne joined #lisp 2020-08-26T07:48:47Z terpri_ quit (Ping timeout: 260 seconds) 2020-08-26T07:48:55Z iamFIREcracker quit (Ping timeout: 240 seconds) 2020-08-26T07:53:01Z edgar-rft joined #lisp 2020-08-26T07:54:12Z space_otter quit (Remote host closed the connection) 2020-08-26T08:04:37Z jonatack quit (Quit: jonatack) 2020-08-26T08:05:21Z bilegeek quit (Quit: Leaving) 2020-08-26T08:11:31Z hendursa1 joined #lisp 2020-08-26T08:13:23Z hendursaga quit (Ping timeout: 240 seconds) 2020-08-26T08:17:57Z iAmDecim joined #lisp 2020-08-26T08:19:01Z dilated_dinosaur joined #lisp 2020-08-26T08:22:50Z davepdot_ quit (Remote host closed the connection) 2020-08-26T08:23:17Z davepdotorg joined #lisp 2020-08-26T08:23:24Z iAmDecim quit (Ping timeout: 258 seconds) 2020-08-26T08:24:50Z shangul joined #lisp 2020-08-26T08:27:20Z phoe: oh goodness, OLM on Hacker News 2020-08-26T08:27:53Z phoe: https://news.ycombinator.com/item?id=24276881 2020-08-26T08:28:02Z edgar-rft quit (Quit: Leaving) 2020-08-26T08:31:39Z Blukunfando quit (Read error: Connection reset by peer) 2020-08-26T08:32:43Z banjiewen quit (Read error: Connection reset by peer) 2020-08-26T08:32:57Z asedeno quit (Read error: Connection reset by peer) 2020-08-26T08:33:14Z tfb quit (Read error: Connection reset by peer) 2020-08-26T08:33:34Z frgo_ joined #lisp 2020-08-26T08:33:51Z kilimanjaro quit (Ping timeout: 244 seconds) 2020-08-26T08:34:06Z lispyone__ quit (Ping timeout: 256 seconds) 2020-08-26T08:34:48Z mangul joined #lisp 2020-08-26T08:36:06Z frgo quit (Ping timeout: 244 seconds) 2020-08-26T08:36:26Z asedeno joined #lisp 2020-08-26T08:36:33Z banjiewen joined #lisp 2020-08-26T08:37:38Z shangul quit (Ping timeout: 260 seconds) 2020-08-26T08:38:50Z lispyone__ joined #lisp 2020-08-26T08:40:01Z kilimanjaro joined #lisp 2020-08-26T08:40:31Z jerme_ quit (Ping timeout: 265 seconds) 2020-08-26T08:41:40Z jerme_ joined #lisp 2020-08-26T08:42:05Z mangul is now known as shangul 2020-08-26T08:42:17Z tfb joined #lisp 2020-08-26T08:42:34Z Alloc quit (Ping timeout: 258 seconds) 2020-08-26T08:50:23Z luckless_ quit (Ping timeout: 240 seconds) 2020-08-26T08:53:20Z iamFIREc1 quit (Quit: WeeChat 2.9) 2020-08-26T08:53:28Z ljavorsk joined #lisp 2020-08-26T08:54:41Z iamFIREcracker joined #lisp 2020-08-26T08:55:18Z Blukunfando joined #lisp 2020-08-26T09:01:54Z gaqwas[m] quit (Quit: Idle for 30+ days) 2020-08-26T09:03:46Z jonatack joined #lisp 2020-08-26T09:04:08Z liamz[m] quit (Quit: Idle for 30+ days) 2020-08-26T09:09:36Z Alloc joined #lisp 2020-08-26T09:14:50Z edgar-rft joined #lisp 2020-08-26T09:16:21Z dra joined #lisp 2020-08-26T09:28:29Z cosimone joined #lisp 2020-08-26T09:29:46Z orivej joined #lisp 2020-08-26T09:32:45Z jesse1010 joined #lisp 2020-08-26T09:34:25Z Necktwi joined #lisp 2020-08-26T09:36:05Z libertyprime quit (Remote host closed the connection) 2020-08-26T09:38:47Z VincentVega joined #lisp 2020-08-26T09:41:29Z VincentVega: mfiano: "But, that was from the ELisp side. Now, you can do so from CL code." That's cool, how do I do that? 2020-08-26T09:42:55Z mfiano: VincentVega: It's not in master yet. You'll have to checkout the scratch/345-copy-to-repl-in-emacs branch, and check the documentation commit: https://github.com/joaotavora/sly/commit/a2db6d85c30d86a3c5968f723e61a86d2d6838c1 2020-08-26T09:44:41Z VincentVega: mfiano: nice, will definetely check this out when it hits melpa 2020-08-26T09:45:46Z tumdum joined #lisp 2020-08-26T09:56:47Z davepdot_ joined #lisp 2020-08-26T10:00:25Z davepdotorg quit (Ping timeout: 240 seconds) 2020-08-26T10:08:58Z frgo joined #lisp 2020-08-26T10:09:27Z brj quit (Ping timeout: 265 seconds) 2020-08-26T10:09:56Z patlv joined #lisp 2020-08-26T10:11:22Z brj joined #lisp 2020-08-26T10:11:55Z frgo_ quit (Ping timeout: 240 seconds) 2020-08-26T10:12:29Z patlv_ joined #lisp 2020-08-26T10:16:22Z patlv quit (Ping timeout: 260 seconds) 2020-08-26T10:17:38Z orivej quit (Ping timeout: 258 seconds) 2020-08-26T10:22:05Z jonatack quit (Read error: Connection reset by peer) 2020-08-26T10:34:32Z random-nick joined #lisp 2020-08-26T10:39:04Z patlv_ quit (Quit: Leaving) 2020-08-26T10:39:34Z VincentVega quit (Remote host closed the connection) 2020-08-26T10:39:51Z retropikzel joined #lisp 2020-08-26T10:45:06Z akoana joined #lisp 2020-08-26T10:45:32Z nostoi joined #lisp 2020-08-26T10:45:46Z phoe: Online Lisp Meeting #7 starting in 15 minutes. https://www.twitch.tv/TwitchPlaysCommonLisp 2020-08-26T10:47:06Z treflip joined #lisp 2020-08-26T10:48:25Z luis: Is it possible to look up a (setf foo) function given a non-constant symbol foo? 2020-08-26T10:49:50Z phoe: luis: (fdefinition (list 'setf foo)) 2020-08-26T10:50:17Z phoe: FUNCTION and SYMBOL-FUNCTION are gonna fail you because one is a specop and the other does not work on extended function designators 2020-08-26T10:50:25Z phoe: I got bitten by it a few times 2020-08-26T10:50:26Z luis: phoe: yep. thanks! 2020-08-26T10:50:37Z ghard joined #lisp 2020-08-26T10:51:35Z jackdaniel: if foo is known at read time, you may do something goofy like (function #.`(setf ,foo)) ; but yeah, fdefinition is the right thing to do here 2020-08-26T10:52:16Z EvW joined #lisp 2020-08-26T10:52:19Z jackdaniel: or, to increase the fun: #'#.`(setf ,foo) ;-) however the reader may not accept that 2020-08-26T10:53:04Z phoe: jackdaniel: (funcall (compile nil `(lambda () #'(setf ,foo))) 2020-08-26T10:53:33Z jackdaniel: that's nice too 2020-08-26T10:54:44Z phoe: FUNCALL COMPILE is the only portable way to have a functional CALL-WITH-HANDLER or CALL-WITH-RESTART :( 2020-08-26T11:00:18Z yitzi quit (Quit: yitzi) 2020-08-26T11:03:22Z orivej joined #lisp 2020-08-26T11:04:43Z gxt quit (Ping timeout: 240 seconds) 2020-08-26T11:15:43Z gxt joined #lisp 2020-08-26T11:16:47Z treflip quit (Quit: WeeChat 2.6) 2020-08-26T11:19:16Z grewal joined #lisp 2020-08-26T11:23:09Z nostoi quit (Quit: Verlassend) 2020-08-26T11:32:55Z bitmapper quit (Ping timeout: 240 seconds) 2020-08-26T11:36:59Z stepnem_ quit (Ping timeout: 240 seconds) 2020-08-26T11:37:11Z IPmonger joined #lisp 2020-08-26T11:38:02Z IPmonger quit (Remote host closed the connection) 2020-08-26T11:41:04Z wxie joined #lisp 2020-08-26T11:44:37Z stepnem joined #lisp 2020-08-26T11:57:21Z epony quit (Quit: reconfigure brief) 2020-08-26T11:58:06Z epony joined #lisp 2020-08-26T12:02:04Z iamFIREcracker quit (Read error: Connection reset by peer) 2020-08-26T12:10:41Z davepdot_ quit (Remote host closed the connection) 2020-08-26T12:11:07Z ldb joined #lisp 2020-08-26T12:11:09Z davepdotorg joined #lisp 2020-08-26T12:11:13Z ldb: good evening 2020-08-26T12:12:32Z beach: Hello ldb. 2020-08-26T12:14:32Z Blukunfando quit (Ping timeout: 256 seconds) 2020-08-26T12:14:33Z ldb` joined #lisp 2020-08-26T12:14:52Z ldb quit (Read error: Connection reset by peer) 2020-08-26T12:14:54Z IPmonger joined #lisp 2020-08-26T12:15:13Z tourjin joined #lisp 2020-08-26T12:15:22Z coltkirk joined #lisp 2020-08-26T12:15:43Z IPmonger quit (Remote host closed the connection) 2020-08-26T12:15:46Z ldb`` joined #lisp 2020-08-26T12:15:50Z ldb``: p 2020-08-26T12:16:48Z ldb`` guess I should continute to use irc client in a terminal 2020-08-26T12:19:09Z ldb` quit (Ping timeout: 258 seconds) 2020-08-26T12:19:23Z yitzi joined #lisp 2020-08-26T12:20:53Z prite joined #lisp 2020-08-26T12:31:32Z ljavorsk quit (Ping timeout: 256 seconds) 2020-08-26T12:31:48Z ldb`` quit (Ping timeout: 258 seconds) 2020-08-26T12:32:11Z ldb`` joined #lisp 2020-08-26T12:32:47Z iamFIREcracker joined #lisp 2020-08-26T12:33:21Z ldb`` quit (Client Quit) 2020-08-26T12:34:33Z gko_ joined #lisp 2020-08-26T12:37:03Z wxie quit (Remote host closed the connection) 2020-08-26T12:37:16Z wxie joined #lisp 2020-08-26T12:46:17Z wsinatra joined #lisp 2020-08-26T12:47:13Z tourjin: why do I have a warning in (setq a 1)? * (print a) 2020-08-26T12:47:14Z tourjin: 1 2020-08-26T12:47:14Z tourjin: 1 2020-08-26T12:47:14Z tourjin: * (setq a 1) 2020-08-26T12:47:14Z tourjin: ; in: SETQ A 2020-08-26T12:47:14Z tourjin: ; (SETQ A 1) 2020-08-26T12:47:16Z tourjin: ; 2020-08-26T12:47:20Z tourjin: ; caught WARNING: 2020-08-26T12:47:22Z tourjin: ; undefined variable: COMMON-LISP-USER::A 2020-08-26T12:47:24Z tourjin: ; 2020-08-26T12:47:26Z tourjin: ; compilation unit finished 2020-08-26T12:47:28Z tourjin: ; Undefined variable: 2020-08-26T12:47:30Z tourjin: ; A 2020-08-26T12:47:32Z tourjin: ; caught 1 WARNING condition 2020-08-26T12:47:34Z tourjin: 1 2020-08-26T12:47:36Z tourjin: * 2020-08-26T12:47:38Z jackdaniel: please don't paste on the channel, use external services 2020-08-26T12:47:41Z phoe: tourjin: ^ 2020-08-26T12:47:54Z jackdaniel: setq assigns a variable, defvar defines it 2020-08-26T12:48:00Z tourjin: ok. i forgot the address. 2020-08-26T12:48:04Z jackdaniel: (as defparameter does) 2020-08-26T12:48:05Z phoe: toplevel SETQ is undefined behavior, use DEFVAR or DEFPARAMETER to define variables. 2020-08-26T12:48:12Z phoe: tourjin: https://plaster.tymoon.eu/ is one 2020-08-26T12:48:23Z tourjin: thank you. 2020-08-26T12:51:54Z hendursa1 quit (Quit: hendursa1) 2020-08-26T12:51:56Z rixard joined #lisp 2020-08-26T12:52:36Z hendursaga joined #lisp 2020-08-26T12:53:02Z Kabriel quit (Read error: Connection reset by peer) 2020-08-26T12:53:41Z jprajzne quit (Remote host closed the connection) 2020-08-26T12:54:03Z jprajzne joined #lisp 2020-08-26T12:54:55Z rixard_ quit (Ping timeout: 240 seconds) 2020-08-26T12:55:04Z Kabriel joined #lisp 2020-08-26T12:58:16Z jfb4 quit (Quit: ZNC 1.7.2+deb3 - https://znc.in) 2020-08-26T12:58:52Z davepdot_ joined #lisp 2020-08-26T12:59:29Z jfb4 joined #lisp 2020-08-26T12:59:47Z Lord_of_Life quit (Read error: Connection reset by peer) 2020-08-26T13:00:11Z Lord_of_Life joined #lisp 2020-08-26T13:01:03Z phoe: Techniques and Utilities for Farming Objects On The Net - https://www.youtube.com/watch?v=iXov5ukVVWI 2020-08-26T13:02:25Z davepdotorg quit (Ping timeout: 240 seconds) 2020-08-26T13:06:28Z __jrjsmrtn__ joined #lisp 2020-08-26T13:07:48Z _jrjsmrtn quit (Ping timeout: 265 seconds) 2020-08-26T13:11:54Z dim: hi! did someone by any chance have already written an SQL parser, ideally using esrap? 2020-08-26T13:12:55Z wxie quit (Ping timeout: 240 seconds) 2020-08-26T13:13:32Z dim: I find myself needed to pseudo-parse SQL in different contexts, from parsing PL/SQL; so sometimes it's just a query, sometimes it's a query in parentheses, and sometimes it finishes with a semicolon, but other times not, and deciding when to stop consuming what looks like part of the SQL query seems impossible without actually parsing SQL queries 2020-08-26T13:13:39Z shifty joined #lisp 2020-08-26T13:13:51Z jackdaniel: someone other than you had asked me about that, I'd say "maybe dim knows something" :-) 2020-08-26T13:14:08Z dim: current problem is that I'm consuming a closing paren that is part of the surrounding context rather than the query 2020-08-26T13:14:12Z dim: jackdaniel: ahah 2020-08-26T13:14:45Z dra quit (Quit: Leaving) 2020-08-26T13:14:59Z jackdaniel: you need to introduce different terms for each context, otherwise it will get messy I think 2020-08-26T13:15:11Z jackdaniel: (and I think that esrap is a good tool to write that) 2020-08-26T13:15:25Z dim: I believe parsing balanced parens is only possible if you know when to parse a literal or identifier expression that contains a paren (select 'foo' as "("; is valid SQL) ; but for that you need to know where to expect identifiers and literals, and then how to do that without writing the full blown SQL parser?! 2020-08-26T13:16:09Z dim: jackdaniel: I'm back to playing with https://github.com/dimitri/plconvert ; being given a nice example of an Oracle package to parse 2020-08-26T13:16:32Z dim: and the current parsing fails in many ways (mainly because the parser had only seen a limited amount of Oracle PL/SQL code before) 2020-08-26T13:17:05Z dim: I know that at some point I will have to parse Oracle SQL statements in full and a compiler that rewrites them in SQL for Postgres, I didn't want *now* to be that time 2020-08-26T13:17:07Z phoe: dim: there's also $$ to take into account 2020-08-26T13:17:43Z dim: oh yeah, I know about that, it's worse than just $$, it's $x$ ... $x$ and you can name them the way you want and nest them, pgloader knows how to do that for SQL files parsing 2020-08-26T13:17:53Z dim: lucky me, that's only in Postgres, and I'm parsing Oracle SQL now ;-) 2020-08-26T13:17:59Z phoe: oh! 2020-08-26T13:18:46Z phoe: I remember a postmodern bug related to that, https://github.com/marijnh/Postmodern/issues/222 2020-08-26T13:18:57Z phoe: this involves a SQL parser from pgloader 2020-08-26T13:19:01Z phoe: are you thinking of a different one? 2020-08-26T13:19:09Z dim: I'm trying to think of a trick that allows me to parse SQL and stop before consuming that closing paren at the end of it, without having to recognise SQL in full... 2020-08-26T13:19:33Z dim: phoe: yeah see https://github.com/dimitri/plconvert : compiler from Oracle PL/SQL to Postgres PL/pgSQL 2020-08-26T13:20:05Z dim: at work I have colleagues who have to assist Oracle migrations to Postgres and handling huge PL code bases is part of the job 2020-08-26T13:20:16Z jackdaniel: dim: is there somewhere a description of Oracle PL/SQL grammar? 2020-08-26T13:20:31Z dim: I have this idea of writing a compiler for it, had it from a long time, so I have a good opportunity to make some progress now 2020-08-26T13:21:01Z dim: jackdaniel: they have online documentation but well, I don't like using it, it's too big for its own good, I didn't find a comprehensive grammar 2020-08-26T13:21:26Z jackdaniel: I can only say that after getting used to it working with esrap is pleasure 2020-08-26T13:22:33Z jackdaniel: here is an example of c18 syntax reader: https://gitlab.common-lisp.net/ecl/ecrepl/-/blob/master/c18-syntax-reader.lisp scymtym improved it and wrote a preprocessor; so you probably should look in his repositories for more elaborate inspiration 2020-08-26T13:22:35Z dim: maybe I need to write a SQL “skeleton” parser now, that recognize the structure (select from where group by order by etc etc 2020-08-26T13:22:45Z bsd4me joined #lisp 2020-08-26T13:23:19Z dim: I might not have to dive into each level deep, but without that how can I decide that the last closing paren is part of the SQL or part of the surrounding FOR ... IN () LOOP ... END LOOP; statement? 2020-08-26T13:23:32Z fixing_auth_hold joined #lisp 2020-08-26T13:23:58Z jackdaniel: count parenthesis, I've been told that lispers are good at doing that :-) 2020-08-26T13:24:05Z dim: jackdaniel: if you would click on the plconvert link you will see a quite advanced PL/SQL parser written in esrap already 2020-08-26T13:24:23Z jackdaniel: ah, indeed, sorry 2020-08-26T13:24:27Z dim: jackdaniel: parens may be used inside literals or identifiers, and then you want to skip them 2020-08-26T13:24:36Z jackdaniel: right 2020-08-26T13:24:57Z dim: so can I implement parens counting in a simple way without writing a full parser that knows where to expect literals and identifiers? ;-) 2020-08-26T13:25:25Z tourjin quit (Ping timeout: 246 seconds) 2020-08-26T13:26:32Z lalilulelo quit (Ping timeout: 260 seconds) 2020-08-26T13:27:07Z dim: (my esrap fu isn't great by the way, so the existing PL/SQL parser isn't as good as it could be, but well, I spend like 3 days on it IIRC) 2020-08-26T13:27:29Z terpri_ joined #lisp 2020-08-26T13:28:32Z terpri quit (Ping timeout: 244 seconds) 2020-08-26T13:29:44Z dim: https://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_10002.htm 2020-08-26T13:30:01Z dim: someday I will have to implement the whole syntax described there I guess 2020-08-26T13:31:32Z dim: didn't want today to be that day, but well, as much as I'm trying to avoid it, it seems I don't have that much of a choice 2020-08-26T13:32:02Z dim: who would fancy writing that and putting the code in https://github.com/dimitri/plconvert/blob/master/src/parser/query.lisp ? 2020-08-26T13:32:25Z luna_is_here_ quit (Ping timeout: 246 seconds) 2020-08-26T13:32:45Z dim: the next very fun step in plconvert is to use our awesome Common Lisp pretty printing technology to output PLpgSQL code from the output of the parser/compiler, and that's easy, it's just a tree of structure instances ;-) 2020-08-26T13:32:58Z luna_is_here joined #lisp 2020-08-26T13:34:05Z sjl_ joined #lisp 2020-08-26T13:36:24Z jonatack joined #lisp 2020-08-26T13:37:06Z terpri joined #lisp 2020-08-26T13:38:53Z terpri_ quit (Ping timeout: 258 seconds) 2020-08-26T13:38:54Z wsinatra_ joined #lisp 2020-08-26T13:40:32Z EvW quit (Ping timeout: 260 seconds) 2020-08-26T13:40:42Z iAmDecim joined #lisp 2020-08-26T13:48:24Z iAmDecim quit (Ping timeout: 265 seconds) 2020-08-26T14:04:57Z Alloc quit (Ping timeout: 258 seconds) 2020-08-26T14:06:32Z Alloc joined #lisp 2020-08-26T14:08:26Z Oladon joined #lisp 2020-08-26T14:09:30Z davepdot_ quit (Remote host closed the connection) 2020-08-26T14:09:44Z davepdotorg joined #lisp 2020-08-26T14:17:54Z Bike joined #lisp 2020-08-26T14:23:48Z ralt: I just came across this wasm sample https://github.com/mdn/webassembly-examples/blob/master/js-api-examples/memory.wat 2020-08-26T14:23:56Z ralt: that looks... super simple 2020-08-26T14:27:19Z jonjitsu joined #lisp 2020-08-26T14:32:04Z jackdaniel: it is a form of assembly after all 2020-08-26T14:32:55Z jackdaniel: if you are into wasm, this description seems nice https://evilmartians.com/chronicles/hands-on-webassembly-try-the-basics 2020-08-26T14:39:31Z theseb joined #lisp 2020-08-26T14:50:18Z theseb left #lisp 2020-08-26T14:59:29Z bsd4me left #lisp 2020-08-26T15:03:06Z jon_ joined #lisp 2020-08-26T15:05:25Z jonjitsu quit (Ping timeout: 240 seconds) 2020-08-26T15:08:50Z Robdgreat joined #lisp 2020-08-26T15:10:47Z Robdgreat quit (Read error: Connection reset by peer) 2020-08-26T15:15:24Z rogersm joined #lisp 2020-08-26T15:17:08Z Oladon quit (Quit: Leaving.) 2020-08-26T15:17:38Z asarch joined #lisp 2020-08-26T15:18:20Z asarch: How do you create an anonymous scope? (a la C' { ... })? 2020-08-26T15:18:43Z Bike: let 2020-08-26T15:18:49Z phoe: progn 2020-08-26T15:18:59Z phoe: oh, wait, you mean for variable binding? 2020-08-26T15:19:01Z phoe: or for what else? 2020-08-26T15:20:25Z mfiano: (block nil ...) :) 2020-08-26T15:26:49Z dead10cc joined #lisp 2020-08-26T15:31:25Z shifty quit (Ping timeout: 264 seconds) 2020-08-26T15:31:58Z coltkirk quit (Ping timeout: 258 seconds) 2020-08-26T15:32:51Z bitmapper joined #lisp 2020-08-26T15:33:38Z Robdgreat joined #lisp 2020-08-26T15:40:05Z phoe: (prog nil nil ...) 2020-08-26T15:41:25Z Bike: seriously though it's let. 2020-08-26T15:42:24Z davepdot_ joined #lisp 2020-08-26T15:42:33Z Bike: in C, "scope" means name binding. 2020-08-26T15:45:46Z davepdotorg quit (Ping timeout: 246 seconds) 2020-08-26T15:48:35Z jackdaniel: ((lambda (…) ) …), so, basically, let :) 2020-08-26T15:49:23Z TMA quit (Ping timeout: 240 seconds) 2020-08-26T15:51:12Z schweers quit (Ping timeout: 260 seconds) 2020-08-26T16:00:04Z Alloc quit (Ping timeout: 256 seconds) 2020-08-26T16:07:17Z rumbler31_ joined #lisp 2020-08-26T16:08:25Z narimiran quit (Ping timeout: 240 seconds) 2020-08-26T16:08:59Z dpd88 joined #lisp 2020-08-26T16:14:13Z rogersm quit (Quit: Leaving...) 2020-08-26T16:15:26Z dead10cc quit (Quit: Konversation terminated!) 2020-08-26T16:17:39Z save-lisp-or-die joined #lisp 2020-08-26T16:18:43Z zigpaw1 quit (Ping timeout: 265 seconds) 2020-08-26T16:19:47Z zigpaw1 joined #lisp 2020-08-26T16:25:13Z retropikzel quit (Quit: Leaving) 2020-08-26T16:29:48Z tamurasan quit (Quit: WeeChat 2.3) 2020-08-26T16:32:35Z retropikzel joined #lisp 2020-08-26T16:34:06Z save-lisp-or-die quit (Ping timeout: 260 seconds) 2020-08-26T16:36:33Z jasom: dim: I'm booked for the next week, but it should be pretty straightforward if I get some free time in September. IIRC Oracle has very nice state-machine diagrams in their documentatin that translate straight to code 2020-08-26T16:37:30Z jasom: esrap is nice, as long as you only ever need to parse strings. I've been known to just write recursive-descent parsers when I need to parse other things 2020-08-26T16:38:19Z Lord_of_Life_ joined #lisp 2020-08-26T16:40:20Z jasom: I'm also curious if asarch was actually referencing https://sourceforge.net/projects/cprime/ or if the "'" was a typo 2020-08-26T16:40:21Z Blukunfando joined #lisp 2020-08-26T16:41:34Z Lord_of_Life quit (Ping timeout: 260 seconds) 2020-08-26T16:41:36Z Lord_of_Life_ is now known as Lord_of_Life 2020-08-26T16:50:18Z phoe: I read C' as C's 2020-08-26T16:50:37Z gko_ quit (Ping timeout: 265 seconds) 2020-08-26T16:51:10Z asarch: Yeah, sorry, my mistake. It should be: C's 2020-08-26T16:51:23Z asarch whispers "damn HP keyboards..." 2020-08-26T17:00:33Z TMA joined #lisp 2020-08-26T17:05:12Z Alloc joined #lisp 2020-08-26T17:05:44Z Bike: i don't think that changes the answer? 2020-08-26T17:06:11Z phoe: nah, it doesn't 2020-08-26T17:06:39Z Cymew quit (Ping timeout: 258 seconds) 2020-08-26T17:10:45Z nicktick quit (Ping timeout: 240 seconds) 2020-08-26T17:14:55Z ggole quit (Quit: Leaving) 2020-08-26T17:23:04Z Josh_2 joined #lisp 2020-08-26T17:25:47Z mike212 joined #lisp 2020-08-26T17:26:12Z lnostdal quit (Ping timeout: 258 seconds) 2020-08-26T17:27:39Z karlosz joined #lisp 2020-08-26T17:28:19Z Bourne quit (Ping timeout: 246 seconds) 2020-08-26T17:28:54Z frgo quit (Remote host closed the connection) 2020-08-26T17:29:26Z Inline joined #lisp 2020-08-26T17:29:32Z frgo joined #lisp 2020-08-26T17:35:09Z liberliver quit (Ping timeout: 272 seconds) 2020-08-26T17:35:27Z liberliver joined #lisp 2020-08-26T17:36:40Z jesseoff quit (Read error: Connection reset by peer) 2020-08-26T17:39:41Z Josh_2: Evening 2020-08-26T17:40:13Z liberliver quit (Ping timeout: 272 seconds) 2020-08-26T17:40:25Z shangul quit (Ping timeout: 240 seconds) 2020-08-26T17:42:29Z Inline: evening 2020-08-26T17:44:14Z rippa joined #lisp 2020-08-26T17:48:18Z liberliver joined #lisp 2020-08-26T17:55:08Z liberliver quit (Ping timeout: 244 seconds) 2020-08-26T17:59:06Z liberliver joined #lisp 2020-08-26T17:59:32Z Jesin quit (Quit: Leaving) 2020-08-26T18:00:05Z stepnem quit (Ping timeout: 240 seconds) 2020-08-26T18:01:20Z stepnem joined #lisp 2020-08-26T18:05:57Z liberliver quit (Ping timeout: 260 seconds) 2020-08-26T18:07:55Z luckless joined #lisp 2020-08-26T18:09:16Z brj quit (Ping timeout: 246 seconds) 2020-08-26T18:09:48Z VincentVega joined #lisp 2020-08-26T18:10:10Z jw4 quit (Read error: Connection reset by peer) 2020-08-26T18:11:42Z brj joined #lisp 2020-08-26T18:12:08Z jw4 joined #lisp 2020-08-26T18:13:55Z asarch quit (Quit: Leaving) 2020-08-26T18:13:58Z liberliver joined #lisp 2020-08-26T18:13:58Z Jesin joined #lisp 2020-08-26T18:24:41Z Jesin quit (Quit: Leaving) 2020-08-26T18:26:02Z yitzi quit (Quit: yitzi) 2020-08-26T18:27:14Z VincentVega: Is there a function which returns true on a proper list but not on a quoted thing (e.g. ''sym)? Instead of (and (consp x) (not (equal 'quote (car x)))) 2020-08-26T18:27:43Z mseddon joined #lisp 2020-08-26T18:27:48Z White_Flame: so, true on (foo bar) and not on (quote bar)? 2020-08-26T18:28:00Z White_Flame: they are both materially lists, and it is the car that distinguishes 2020-08-26T18:28:16Z VincentVega: Oh, ok then 2020-08-26T18:28:24Z White_Flame: there isn't a builtin for that test, at the very least 2020-08-26T18:28:48Z VincentVega: I see. Thanks for the explanation! 2020-08-26T18:28:53Z White_Flame: np 2020-08-26T18:30:11Z copec: Out of curiosity, What are you looking at and/or thinking about VincentVega? 2020-08-26T18:30:27Z Jesin joined #lisp 2020-08-26T18:30:58Z rogersm joined #lisp 2020-08-26T18:31:41Z fixing_auth_hold is now known as lalilulelo 2020-08-26T18:31:46Z EvW1 joined #lisp 2020-08-26T18:32:48Z bocaneri quit (Read error: Connection reset by peer) 2020-08-26T18:32:55Z VincentVega: copec: actually, I was wring a macro for a cond which prepends a function call on each condition (unless t or otherwise) and, if the car of the clause is a list, prepends a call to each of the element in the list. 2020-08-26T18:33:23Z VincentVega: *prepends and or's all the calls 2020-08-26T18:34:35Z seok joined #lisp 2020-08-26T18:34:38Z copec: Ah, I was wondering why you would need that function you asked about, that makes sense 2020-08-26T18:34:45Z seok: hello! 2020-08-26T18:35:46Z copec: Hi! (although I'm the random fellow nobody knows that says hi from the back) 2020-08-26T18:36:14Z cosimone quit (Quit: Quit.) 2020-08-26T18:36:42Z mike212 left #lisp 2020-08-26T18:36:42Z VincentVega: Something like (cond-fn fn ('(x y) z)) -> (cond (((or (fn x) (fn y)) z) which makes me think why don't I just generate mapcar into the resulting expansion instead of doing it beforhand 2020-08-26T18:36:43Z seok: hi! 2020-08-26T18:36:51Z phoe: heyyy 2020-08-26T18:37:20Z phoe: uhhhh one second 2020-08-26T18:37:27Z rogersm quit (Quit: Leaving...) 2020-08-26T18:37:36Z phoe: why do you quote X Y? are they some sort of global arguments? 2020-08-26T18:37:56Z phoe: also, isn't this just (some #'fn (list x y))? 2020-08-26T18:38:07Z VincentVega: phoe: hi! 2020-08-26T18:38:25Z VincentVega: phoe: well, I was thinking kind of like what case does 2020-08-26T18:38:26Z White_Flame: I would use a keyword (cond-fn fn ((:special x y) x) ((normal-func param1 param2) ...)) 2020-08-26T18:38:30Z VincentVega: maybe I shouldn't do that 2020-08-26T18:38:49Z White_Flame: intentionality is a good thing 2020-08-26T18:38:50Z phoe: case? 2020-08-26T18:38:57Z phoe: look at alexandria:switch 2020-08-26T18:39:04Z phoe: it's cl:case but with specifiable test function. 2020-08-26T18:39:24Z VincentVega: oh, cool 2020-08-26T18:39:36Z VincentVega: lemme see what it does 2020-08-26T18:40:02Z VincentVega: White_Flame: interesting 2020-08-26T18:40:47Z phoe: (alexandria:switch ("foo" :test #'string= :key #'string-upcase) ("FOO" :good) (t :bad)) 2020-08-26T18:41:51Z VincentVega: phoe: yeah, switch looks like a thing to use here, thanks for this reference! 2020-08-26T18:42:12Z phoe: '(x y) looks like something really weird 2020-08-26T18:42:18Z phoe: ESPECIALLY if X and Y are some sorta local variables 2020-08-26T18:42:35Z VincentVega: Nah, just symbols 2020-08-26T18:43:13Z phoe: oh, huh 2020-08-26T18:47:22Z jasom: VincentVega: ''foo is a proper list 2020-08-26T18:48:08Z jprajzne quit (Quit: jprajzne) 2020-08-26T18:48:43Z VincentVega: jasom: I was surprised to find that out, but now I know! 2020-08-26T18:55:19Z simendsjo joined #lisp 2020-08-26T18:58:24Z seok quit (Ping timeout: 245 seconds) 2020-08-26T18:58:38Z Necktwi quit (Ping timeout: 256 seconds) 2020-08-26T19:00:52Z choegusung joined #lisp 2020-08-26T19:03:55Z EvW1 quit (Ping timeout: 240 seconds) 2020-08-26T19:04:27Z Necktwi joined #lisp 2020-08-26T19:08:59Z izh_ joined #lisp 2020-08-26T19:13:46Z seok joined #lisp 2020-08-26T19:14:09Z seok: so how many people actually use iterate or https://github.com/Shinmera/for/ instead of loop? 2020-08-26T19:14:26Z stepnem quit (Ping timeout: 256 seconds) 2020-08-26T19:14:35Z simendsjo quit (Ping timeout: 240 seconds) 2020-08-26T19:14:50Z stepnem joined #lisp 2020-08-26T19:15:10Z cosimone joined #lisp 2020-08-26T19:15:30Z mseddon quit (Quit: Leaving) 2020-08-26T19:18:09Z wsinatra: just good old fashioned loop here, for does look interesting though, a little easier to remember at a glance 2020-08-26T19:19:10Z White_Flame: I've built up some individual tools for iterating over structures in various ways, but I use loop or recursion otherwise 2020-08-26T19:20:15Z sjl_: I use loop in my libraries to minimize dependencies, iterate in my personal projects where I don't care as much 2020-08-26T19:20:42Z seok: I feel loop is a bit too verbose for hash-tables 2020-08-26T19:20:51Z seok: do you just write a helper macro for hashes? 2020-08-26T19:21:08Z White_Flame: yeah, that's why I made a (defmacro do-hash ((k v table) &body body) ...) 2020-08-26T19:21:43Z seok: I see 2020-08-26T19:21:44Z White_Flame: I like the syntactic structure of dolist 2020-08-26T19:22:03Z seok: I was happy with iterate until it conflicts with parenscript 2020-08-26T19:22:15Z White_Flame: and extended that to other stuff, including mapcar's consing 2020-08-26T19:22:28Z dim: jasom: thanks for your message! I'm getting started on transforming that state machine into an esrap rule set, but I will only get an hour here and there, so you might still be able to help when you get around to it ;-) also I'm only going for a partial parser at the moment, just to play with some files I've been given 2020-08-26T19:22:37Z gum joined #lisp 2020-08-26T19:22:54Z seok: sjl_ yeah that sounds sensible. don't you get confused using both though? 2020-08-26T19:24:51Z EvW joined #lisp 2020-08-26T19:37:22Z shka_ quit (Ping timeout: 265 seconds) 2020-08-26T19:39:29Z jasom: dim: I enjoy writing parsers; it's mechanical enough that I find it meditative. 2020-08-26T19:39:47Z dim: when you have a clean grammar, that might be so 2020-08-26T19:39:48Z jasom: but it is time consuming and time is limited 2020-08-26T19:39:58Z dim: in that case it seems okay though 2020-08-26T19:40:10Z dim: what I'm most interested in is PL/SQL, SQL is just getting in the way 2020-08-26T19:40:21Z duuqnd quit (Read error: Connection reset by peer) 2020-08-26T19:40:30Z dim: the SQL compiler is going to be most interesting that said! do you like working on compilers? 2020-08-26T19:40:46Z duuqnd joined #lisp 2020-08-26T19:41:11Z jasom: I do, but need permission from work before working on compilers just because my work makes compilers. For something like SQL, it will probably be zero issue to get a sign-off. 2020-08-26T19:41:20Z seok quit (Remote host closed the connection) 2020-08-26T19:44:42Z VincentVega: seok: I switched to iterate when I had to run through a queue. loop was ok, but (generating node next (or (cl-heap:dequeue q) (terminate))) (while (next node)) was better. Custom clauses, too. I am digging it so far. 2020-08-26T19:46:49Z sjl_: seok: not really. I've used both enough that I'm used to both at this point. 2020-08-26T19:47:30Z dim: jasom: it's a compiler from Oracle PL/SQL to Postgres PL/pgSQL, and if we're feeling very brave including Oracle SQL into Postgres SQL 2020-08-26T19:48:14Z dim: and then if people/contributor have a passion for the result we can envision a rewriting proxy for migration environments 2020-08-26T19:49:39Z jasom: That would actually be useful at work; we have an oracle DB we are hoping to transition to pg. I still need to learn some more pg DBA stuff though like how backups and point-in-time restoration work. 2020-08-26T19:51:31Z narimiran joined #lisp 2020-08-26T19:53:48Z fe[nl]ix: jasom: what compiler do you work on ? 2020-08-26T19:54:00Z izh_ quit (Quit: Leaving) 2020-08-26T19:55:54Z duuqnd quit (Remote host closed the connection) 2020-08-26T19:57:39Z abhixec joined #lisp 2020-08-26T19:58:55Z orivej quit (Ping timeout: 240 seconds) 2020-08-26T19:58:58Z yitzi joined #lisp 2020-08-26T20:06:58Z wsinatra quit (Quit: WeeChat 2.9) 2020-08-26T20:10:10Z narimiran quit (Remote host closed the connection) 2020-08-26T20:11:34Z jasom: fe[nl]ix: I don't, but others at my company do 2020-08-26T20:12:34Z wsinatra_ quit (Ping timeout: 258 seconds) 2020-08-26T20:15:34Z VincentVega: Guys, given a type specifier (retrieved from a slot definition in my case), how would I say if its a (simple-array string) or a (simple-array bool)? The closest thing I found was array-element-type, but I have a specifier, not an object. 2020-08-26T20:16:01Z Bike: (and (subtypep ts '(simple-array string)) (subtypep '(simple-array string) ts)) 2020-08-26T20:16:17Z Bike: STRING almost certainly upgrades to T, by the way 2020-08-26T20:16:27Z Bike: actually so does bool 2020-08-26T20:16:40Z Bike: assuming you mean boolean 2020-08-26T20:16:56Z VincentVega: Bike: that's the thing, subtypep isn't working here 2020-08-26T20:16:58Z scymtym: ALEXANDRIA:TYPE= is almost a shorthand for what Bike said 2020-08-26T20:16:58Z Bike: which is to say, (simple-array string) and (simple-array boolean) are the same type 2020-08-26T20:17:00Z VincentVega: yeah, I mean boolean 2020-08-26T20:17:05Z Bike: how is it not working 2020-08-26T20:17:10Z VincentVega: one sec 2020-08-26T20:18:11Z VincentVega: Bike: (and (subtypep '(simple-array boolean) '(simple-array string)) (subtypep '(simple-array string) '(simple-array boolean)))returns T, T 2020-08-26T20:18:22Z Bike: yeah, they're the same type, like i said. 2020-08-26T20:18:30Z choegusung quit (Quit: leaving) 2020-08-26T20:18:44Z Bike: (upgraded-array-element-type 'string) => T on your implementation (and any real implementation), and ditto with boolean 2020-08-26T20:19:11Z Bike: array element types are about the storage format. they're not a declaration of the kinds of values it ends up holding. at least in most contexts. 2020-08-26T20:19:17Z VincentVega: Oh. Is there no way to get the exact specializer then, the one with which it was initially declared? 2020-08-26T20:19:35Z CrazyEddy joined #lisp 2020-08-26T20:19:35Z Bike: not if you're treating them as types, because they are the same type. 2020-08-26T20:19:46Z Bike: if your type specifier is a list (SIMPLE-ARRAY something) you can just do (second ts), of course. 2020-08-26T20:20:05Z VincentVega: Well, it could be deftyped, so not always a list. 2020-08-26T20:20:33Z VincentVega: But, yeah, I see. Thanks for the clarification on this. 2020-08-26T20:20:39Z White_Flame: if you used bitvectors instead of arrays of bools, you'll both save space and be more type distinguished 2020-08-26T20:20:42Z Bike: it's something that trips people up a lot. 2020-08-26T20:20:55Z abhixec quit (Ping timeout: 240 seconds) 2020-08-26T20:22:30Z VincentVega: I don't necessarily need bitvectors, I just wanted to do different things based on different type spec in the slot. It's not a big problem though. 2020-08-26T20:23:01Z VincentVega: Thanks for the pointer though, might come in handy in the future 2020-08-26T20:23:07Z Bike: in general, since lisp is gradually and dynamically typed, having different behaviors based on declared types doesn't usually work 2020-08-26T20:23:29Z VincentVega: Makes sense, yeah. 2020-08-26T20:23:59Z VincentVega: Now that you said it, that is : ) 2020-08-26T20:24:46Z sonologico joined #lisp 2020-08-26T20:29:22Z jasom: I'm always late to the party, but etypecase is usually good for dispatching on type as well VincentVega 2020-08-26T20:30:04Z jasom: oh, nevermind it's just a literal type specifier 2020-08-26T20:30:09Z VincentVega: Bike: And what if I needed this facility only at compile time, would it make any difference? Sorry, just have to make sure : ) 2020-08-26T20:30:52Z Bike: subtypep is always going to give the same results for those inputs, if that's what you mean 2020-08-26T20:31:31Z jasom: VincentVega: I don't think there's a good way other than just destructuring the type specifier yourself 2020-08-26T20:31:55Z VincentVega: Bike: Ok. 2020-08-26T20:32:29Z VincentVega: jasom: how can I do destructuring? 2020-08-26T20:32:57Z Alloc quit (Ping timeout: 260 seconds) 2020-08-26T20:33:00Z VincentVega: jasom: I mean, given there are deftypes and all 2020-08-26T20:33:17Z Alloc joined #lisp 2020-08-26T20:34:15Z jasom: I don't think there's a portable way to expand deftypes 2020-08-26T20:35:29Z wsinatra_ joined #lisp 2020-08-26T20:36:00Z VincentVega: jasom: Oh well, can't have it all : ) Anyway, it's not such a big problem, rather just a temporary nuisance. Thanks, people! 2020-08-26T20:36:35Z shifty joined #lisp 2020-08-26T20:37:19Z jasom: there are definitely non-portable ways though, and someone may have made a portability shim for it. 2020-08-26T20:37:36Z phoe: one sec 2020-08-26T20:37:39Z phoe: there is a portalib for TYPEXPAND 2020-08-26T20:37:40Z phoe: let me find it 2020-08-26T20:37:58Z jasom: thanks phoe! 2020-08-26T20:38:18Z phoe: yes, Bike's introspect-environment:typexpand 2020-08-26T20:38:40Z VincentVega: phoe: is it part of some package? 2020-08-26T20:38:41Z phoe: otherwise, https://github.com/cosmos72/cl-parametric-types/blob/master/lang/typexpand.lisp#L24-L38 2020-08-26T20:38:53Z phoe: Bike: you might actually steal this code for i-i since it seems more complete 2020-08-26T20:38:59Z bilegeek joined #lisp 2020-08-26T20:39:01Z phoe: VincentVega: yes, (ql:quickload :introspect-environment) 2020-08-26T20:39:30Z VincentVega: phoe: awesome, thanks! 2020-08-26T20:46:15Z kaftejiman joined #lisp 2020-08-26T20:51:16Z IPmonger joined #lisp 2020-08-26T20:52:13Z cosimone quit (Quit: Quit.) 2020-08-26T20:52:18Z Necktwi quit (Remote host closed the connection) 2020-08-26T20:52:26Z cosimone joined #lisp 2020-08-26T20:52:51Z kilimanjaro: what are the common alternatives to SXHASH? i would like SOME-FN which roughly satisfies (= (some-fn x) (some-fn y)) == (equalp x y) 2020-08-26T20:52:52Z IPmonger quit (Remote host closed the connection) 2020-08-26T20:54:40Z kilimanjaro: on SBCL at least, SXHASH seems to be optimized for performance and so will cause collisions for objects which a hash can't be computed quickly (e.g. vectors all seem to hash to the same value) 2020-08-26T20:56:33Z sm2n quit (Quit: Leaving) 2020-08-26T20:56:33Z Xach: Hmm, are you able to (ql:quickload "cl-mixed" :verbose t)? 2020-08-26T20:57:29Z Necktwi joined #lisp 2020-08-26T20:57:49Z kilimanjaro: Xach: yes 2020-08-26T20:58:03Z Xach: Thanks. When I try, I get a CFFI library error. I'm not sure why. 2020-08-26T20:58:22Z hiroaki joined #lisp 2020-08-26T20:58:51Z Xach: kilimanjaro: are you using the latest quicklisp dist update? 2020-08-26T20:59:05Z White_Flame: kilimanjaro: you could test for types that you want to be more specific on, and fall back to sxhash for the rest 2020-08-26T21:00:01Z kilimanjaro: Xach: oh, sorry, I was not 2020-08-26T21:00:41Z kilimanjaro: I just ran `(ql:update-dist "quicklisp")` 2020-08-26T21:00:48Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2020-08-26T21:01:00Z kilimanjaro: After that, I tried again, and it still worked 2020-08-26T21:01:18Z phoe: Xach: what sorta error? 2020-08-26T21:01:43Z kilimanjaro: White_Flame: sure 2020-08-26T21:02:12Z Xach: phoe: Unable to load any of the alternatives: ("libmixed.dylib" "libmixed.so" "mac64-libmixed.dylib") 2020-08-26T21:03:22Z Xach: the final dylib comes with the project, in static/ 2020-08-26T21:03:30Z Xach: kilimanjaro: what CL and version are you using? 2020-08-26T21:03:31Z phoe: oh! maybe it is a mac-only thing 2020-08-26T21:03:43Z Xach: phoe: no - i have this problem on my linux system also 2020-08-26T21:03:55Z Xach: phoe: but i'm not sure why. i thought maybe the working mac version would add some insight. 2020-08-26T21:03:58Z phoe: oh! I see 2020-08-26T21:04:00Z kilimanjaro: SBCL 2.0.2 2020-08-26T21:04:23Z Xach: kilimanjaro: thanks. 2020-08-26T21:05:20Z phoe: works on sbcl 2.0.6 https://plaster.tymoon.eu/view/2031#2031 2020-08-26T21:06:05Z chiota joined #lisp 2020-08-26T21:06:36Z chiota quit (Client Quit) 2020-08-26T21:08:21Z Xach: the static/ path is my cffi:*foreign-library-directories* too. 2020-08-26T21:08:30Z Xach: why on earth does it not get found? 2020-08-26T21:08:30Z chiota joined #lisp 2020-08-26T21:08:56Z chiota quit (Client Quit) 2020-08-26T21:10:03Z VincentVega quit (Remote host closed the connection) 2020-08-26T21:10:28Z phoe: maybe it gets found but fails for whatever reason 2020-08-26T21:11:14Z VincentVega joined #lisp 2020-08-26T21:13:11Z kilimanjaro: White_Flame: i guess for a slow but reasonably general solution, I could serialize the object to a stream using cl-store or similar, and then compute a digest (e.g. md5) using ironclad 2020-08-26T21:15:18Z White_Flame: so I presume you're doing tons of comparisons, where the hash cost is amortized well? 2020-08-26T21:15:31Z Xach: ha! on the mac it fails because I was in a directory that had been deleted from under me, so the underlying error was with getcwd. 2020-08-26T21:15:40Z Xach: i'm guessing the linux failure is due to something else. digging. 2020-08-26T21:19:14Z dim: jasom: re your migration at work, have a look at pgbackrest for PITR and recovery 2020-08-26T21:19:55Z kilimanjaro: White_Flame: yes 2020-08-26T21:20:30Z White_Flame: another goofy idea, especially for the vectors, is to hash the first N bytes of the datastructure memory being referenced 2020-08-26T21:21:11Z White_Flame: although for cons lists, that would be limited to just the car & cdr words 2020-08-26T21:21:23Z White_Flame: but structs & vectors would benefit from that 2020-08-26T21:21:45Z gravicappa quit (Ping timeout: 240 seconds) 2020-08-26T21:21:55Z jibanes quit (Ping timeout: 240 seconds) 2020-08-26T21:23:37Z Necktwi quit (Ping timeout: 264 seconds) 2020-08-26T21:23:45Z jibanes joined #lisp 2020-08-26T21:28:55Z Necktwi joined #lisp 2020-08-26T21:30:06Z abhixec joined #lisp 2020-08-26T21:40:21Z Josh_2: added dedicated threads for accepting and processing connections on my HTTP server and It's just slowed it down 2020-08-26T21:40:23Z Josh_2: sad face 2020-08-26T21:40:42Z Josh_2: trying to go from HTTP1.0 to 1.1 with persistent connections 2020-08-26T21:41:34Z Xach: AHA 2020-08-26T21:41:46Z phoe: Xach: !!!!!!! 2020-08-26T21:42:00Z Xach: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found 2020-08-26T21:42:07Z Xach: as required by the static libmixed.so 2020-08-26T21:42:09Z phoe: oh goodness 2020-08-26T21:42:19Z Xach: not literally static, the one in static/ 2020-08-26T21:42:33Z Alfr_: kilimanjaro, probably won't work: (equalp 1d0 1) but the hashes for these numbers printed most likely will differ, similar problem (equalp #\a #\A) is true. 2020-08-26T21:42:41Z Xach: i wish cffi bubbled that up somehow 2020-08-26T21:42:46Z Xach: there's a comment in the source to that effect 2020-08-26T21:42:55Z ralt quit (Quit: Connection closed for inactivity) 2020-08-26T21:43:31Z gaqwas quit (Ping timeout: 265 seconds) 2020-08-26T21:44:55Z phoe: can it bubble it up? 2020-08-26T21:45:03Z cosimone quit (Quit: Quit.) 2020-08-26T21:45:34Z phoe: I mean, does the dlopen syscall provide any information about what exactly blew up, or does it just set errno/retval to EIMDED and the programmer gotta figure out what went wrong? 2020-08-26T21:46:22Z Xach: phoe: I'm not fully certain. 2020-08-26T21:47:41Z Xach: i would bet on "yes" 2020-08-26T21:48:44Z mfiano wonders which end of the question that bet is on 2020-08-26T21:49:00Z fe[nl]ix: Shinmera probably compiled that on a very recent distribution, and Xach is running an old(er) one 2020-08-26T21:49:32Z fe[nl]ix: for the same reason the officially distributed SBCL x86-64 binaries don't run on older distros 2020-08-26T21:50:59Z fe[nl]ix: one lesson here could be that if you want to distribute binaries, better compile on a distro from 2-3 years ago like Ubuntu LTS or Debian stable/oldstable 2020-08-26T21:52:32Z mfiano: Xach: It loads for me on SBCL 2.0.7, both dist version and HEAD, though has some warnings, and not just STYLE-WARNING, so probably needs to be fixed before inclusion anyway 2020-08-26T21:54:11Z jon_ quit (Read error: Connection reset by peer) 2020-08-26T21:54:30Z jonjitsu joined #lisp 2020-08-26T21:56:57Z Alloc quit (Ping timeout: 260 seconds) 2020-08-26T21:57:43Z Alloc joined #lisp 2020-08-26T22:01:29Z specbot quit (Remote host closed the connection) 2020-08-26T22:01:48Z specbot joined #lisp 2020-08-26T22:02:12Z Alloc quit (Ping timeout: 260 seconds) 2020-08-26T22:02:22Z specbot quit (Remote host closed the connection) 2020-08-26T22:02:38Z minion quit (Disconnected by services) 2020-08-26T22:02:40Z minion joined #lisp 2020-08-26T22:03:18Z Alloc joined #lisp 2020-08-26T22:04:23Z sjl_ quit (Ping timeout: 258 seconds) 2020-08-26T22:07:06Z jasom_test joined #lisp 2020-08-26T22:10:28Z pve quit (Quit: leaving) 2020-08-26T22:13:19Z jasom_test quit (Quit: jasom_test) 2020-08-26T22:14:43Z torbo joined #lisp 2020-08-26T22:14:54Z minion quit (Remote host closed the connection) 2020-08-26T22:15:11Z minion joined #lisp 2020-08-26T22:17:25Z specbot joined #lisp 2020-08-26T22:18:07Z VincentVega quit (Remote host closed the connection) 2020-08-26T22:19:08Z jasom: kilimanjaro: the only good way I can think is to come up with a canonical serialization and hash that serialization. equalp has so many special-cases 2020-08-26T22:20:38Z jasom: kilimanjaro: also note that equalp is potentially non-portabe with non-simple characters; I don't know what actual implementations do, but the spec leaves it up to the implementation 2020-08-26T22:21:30Z jasom: I can think of reasonable implementations of equalp that would have differing behavior based upon the current locale, for example. 2020-08-26T22:36:53Z sonologico quit (Remote host closed the connection) 2020-08-26T22:37:25Z random-nick quit (Ping timeout: 240 seconds) 2020-08-26T22:41:37Z hiroaki quit (Ping timeout: 264 seconds) 2020-08-26T22:44:35Z orivej joined #lisp 2020-08-26T22:55:14Z bilegeek quit (Quit: Leaving) 2020-08-26T22:56:57Z bitmapper quit (Remote host closed the connection) 2020-08-26T22:57:13Z bitmapper joined #lisp 2020-08-26T22:58:10Z White_Flame: what is the rationale behind equalp ignoring string case? 2020-08-26T22:59:41Z aeth: White_Flame: probably because the most generic thing is case insensitive equality, given that there are case-insensitive predicates in the language. 2020-08-26T23:00:07Z aeth: the real problem is that there's not an equality one step less general than EQUALP 2020-08-26T23:00:23Z White_Flame: but to have that wrapped into the only facility which steps structure slots & makes it much less useful 2020-08-26T23:00:26Z White_Flame: right 2020-08-26T23:00:30Z aeth: By naming conventions of case-sensitivity vs. case-insensitivity, the case-sensitive version of EQUALP would be called EQUAL= 2020-08-26T23:00:46Z White_Flame: or that string sensitivity in comparisons isn't a dynamic binding 2020-08-26T23:01:01Z aeth: And I wouldn't be too shocked if the name EQUAL= is why we don't have EQUAL= :-p 2020-08-26T23:01:15Z aeth: Humans are biased by aesthetics. 2020-08-26T23:01:32Z White_Flame: well, "=" is used for pseudo-numeric equivalence 2020-08-26T23:01:58Z White_Flame: string= using the same stuff as char= which is the numeric equality of char codes 2020-08-26T23:02:18Z Necktwi quit (Ping timeout: 265 seconds) 2020-08-26T23:02:27Z White_Flame: (which is roughly used because of incomplete coverage blah blah) 2020-08-26T23:02:54Z aeth: Yes, it wouldn't necessarily be EQUAL=, but there still would be an issue with naming it. I could definitely imagine postponing thinking about it for the next edition of the standard... which obviously never happened. 2020-08-26T23:03:30Z aeth: This is, of course, about why it's logical, not about what actually happened. You'd have to ask someone who was involved, if there's no written record of it. 2020-08-26T23:03:35Z White_Flame: but still, case-insensitive string comparison is not a deeper structural equality test; it's orthogonal 2020-08-26T23:03:49Z White_Flame: yeah, that's why I ask here ;) 2020-08-26T23:08:00Z Necktwi joined #lisp 2020-08-26T23:10:20Z elxbarbosa joined #lisp 2020-08-26T23:14:13Z shifty quit (Ping timeout: 256 seconds) 2020-08-26T23:14:28Z jasom: http://clhs.lisp.se/Issues/iss143_w.htm 2020-08-26T23:17:26Z jasom: Reading CLtL2 it notes that Lisp Machien Lisp, equal is case-insensitive 2020-08-26T23:25:26Z IPmonger joined #lisp 2020-08-26T23:26:39Z IPmonger quit (Remote host closed the connection) 2020-08-26T23:28:30Z zigpaw1 quit (Ping timeout: 260 seconds) 2020-08-26T23:33:14Z mangoicedtea joined #lisp 2020-08-26T23:35:06Z elxbarbosa quit (Ping timeout: 244 seconds) 2020-08-26T23:35:07Z nicktick joined #lisp 2020-08-26T23:37:57Z iAmDecim joined #lisp 2020-08-26T23:38:11Z jurov_ joined #lisp 2020-08-26T23:40:24Z zigpaw1 joined #lisp 2020-08-26T23:40:55Z Josh_2 quit (Ping timeout: 240 seconds) 2020-08-26T23:41:20Z jurov quit (Ping timeout: 256 seconds) 2020-08-26T23:42:54Z bilegeek joined #lisp 2020-08-26T23:43:33Z stepnem quit (Read error: Connection reset by peer) 2020-08-26T23:44:54Z jcowan left #lisp 2020-08-26T23:46:18Z Xach: mfiano: thanks. https://github.com/Shirakumo/cl-mixed/issues/4 has the evolution and near-resolution of the issue 2020-08-26T23:46:30Z stepnem joined #lisp 2020-08-26T23:49:13Z orivej_ joined #lisp 2020-08-26T23:50:10Z Jesin quit (Quit: Leaving) 2020-08-26T23:50:10Z orivej quit (Quit: No Ping reply in 180 seconds.) 2020-08-26T23:50:10Z aap quit (Ping timeout: 258 seconds) 2020-08-26T23:51:26Z notzmv quit (Remote host closed the connection) 2020-08-26T23:53:38Z aap joined #lisp 2020-08-26T23:57:20Z jeosol joined #lisp 2020-08-27T00:01:43Z fixing_auth_hold joined #lisp 2020-08-27T00:01:44Z abhixec quit (Remote host closed the connection) 2020-08-27T00:04:06Z Inline quit (Ping timeout: 258 seconds) 2020-08-27T00:04:25Z lalilulelo quit (Ping timeout: 240 seconds) 2020-08-27T00:06:58Z Jesin joined #lisp 2020-08-27T00:08:26Z akoana quit (Quit: leaving) 2020-08-27T00:13:36Z shifty joined #lisp 2020-08-27T00:19:01Z wsinatra_ quit (Quit: WeeChat 2.9) 2020-08-27T00:19:36Z wsinatra joined #lisp 2020-08-27T00:22:59Z iAmDecim quit (Ping timeout: 240 seconds) 2020-08-27T00:24:32Z dpd88 quit (Remote host closed the connection) 2020-08-27T00:24:57Z dpd88 joined #lisp 2020-08-27T00:28:20Z iAmDecim joined #lisp 2020-08-27T00:42:29Z lalilulelo joined #lisp 2020-08-27T00:44:21Z fixing_auth_hold quit (Ping timeout: 258 seconds) 2020-08-27T00:49:02Z EvW quit (Ping timeout: 260 seconds) 2020-08-27T00:49:24Z kaftejiman quit (Remote host closed the connection) 2020-08-27T00:55:23Z madage quit (Ping timeout: 240 seconds) 2020-08-27T00:55:24Z yitzi quit (Read error: Connection reset by peer) 2020-08-27T00:55:40Z madage joined #lisp 2020-08-27T00:55:55Z dilated_dinosaur quit (Ping timeout: 240 seconds) 2020-08-27T00:57:39Z miura joined #lisp 2020-08-27T01:03:25Z dpd88 quit (Ping timeout: 240 seconds) 2020-08-27T01:11:47Z karlosz quit (Quit: karlosz) 2020-08-27T01:15:27Z miura quit (Quit: WeeChat 2.3) 2020-08-27T01:16:28Z elxbarbosa joined #lisp 2020-08-27T01:30:35Z karlosz joined #lisp 2020-08-27T01:34:34Z iAmDecim quit (Ping timeout: 258 seconds) 2020-08-27T01:48:25Z nicktick quit (Ping timeout: 240 seconds) 2020-08-27T01:50:41Z karlosz quit (Quit: karlosz) 2020-08-27T01:53:47Z Bourne joined #lisp 2020-08-27T01:55:28Z nicktick joined #lisp 2020-08-27T01:55:54Z mangoicedtea quit (Quit: Leaving) 2020-08-27T02:04:37Z lalilulelo quit (Quit: Leaving) 2020-08-27T02:05:16Z space_otter joined #lisp 2020-08-27T02:06:50Z dominic34 joined #lisp 2020-08-27T02:06:50Z dominic34 quit (Excess Flood) 2020-08-27T02:07:00Z dominic34 joined #lisp 2020-08-27T02:07:19Z Bike quit (Quit: Lost terminal) 2020-08-27T02:09:23Z brj quit (Ping timeout: 240 seconds) 2020-08-27T02:11:44Z brj joined #lisp 2020-08-27T02:11:46Z dominic34 quit (Ping timeout: 265 seconds) 2020-08-27T02:13:48Z iAmDecim joined #lisp 2020-08-27T02:14:07Z Oladon joined #lisp 2020-08-27T02:18:50Z iAmDecim quit (Ping timeout: 260 seconds) 2020-08-27T02:19:52Z aaaaaa joined #lisp 2020-08-27T02:21:42Z jgodbout quit (Ping timeout: 256 seconds) 2020-08-27T02:22:29Z jesse1010 quit (Ping timeout: 258 seconds) 2020-08-27T02:24:03Z zulu-inuoe_ joined #lisp 2020-08-27T02:24:17Z paul0 joined #lisp 2020-08-27T02:24:19Z terpri_ joined #lisp 2020-08-27T02:24:42Z _paul0 quit (Read error: Connection reset by peer) 2020-08-27T02:25:25Z Jesin quit (Ping timeout: 240 seconds) 2020-08-27T02:25:26Z Alloc quit (Ping timeout: 240 seconds) 2020-08-27T02:26:25Z terpri quit (Ping timeout: 240 seconds) 2020-08-27T02:26:26Z zulu-inuoe quit (Ping timeout: 240 seconds) 2020-08-27T02:27:22Z aap_ joined #lisp 2020-08-27T02:27:26Z lemoinem quit (Ping timeout: 240 seconds) 2020-08-27T02:27:55Z aap quit (Ping timeout: 240 seconds) 2020-08-27T02:28:45Z johnweldon joined #lisp 2020-08-27T02:29:17Z lemoinem joined #lisp 2020-08-27T02:29:25Z jw4 quit (Ping timeout: 240 seconds) 2020-08-27T02:29:25Z ck_ quit (Ping timeout: 240 seconds) 2020-08-27T02:29:40Z ck_ joined #lisp 2020-08-27T02:32:13Z Necktwi quit (Ping timeout: 246 seconds) 2020-08-27T02:32:58Z Necktwi joined #lisp 2020-08-27T02:43:19Z iAmDecim joined #lisp 2020-08-27T02:49:12Z Alloc joined #lisp 2020-08-27T02:58:00Z beach: Good morning everyone! 2020-08-27T03:01:46Z iAmDecim quit (Ping timeout: 260 seconds) 2020-08-27T03:01:50Z Alfr__ joined #lisp 2020-08-27T03:03:08Z fe[nl]ix: good morning beach 2020-08-27T03:04:22Z Alfr_ quit (Ping timeout: 260 seconds) 2020-08-27T03:10:39Z glamas quit (Quit: ZNC 1.7.4 - https://znc.in) 2020-08-27T03:12:14Z glamas joined #lisp 2020-08-27T03:12:17Z PuercoPop joined #lisp 2020-08-27T03:14:28Z PuercoPop: Was there ever a proposal for packages to use symbols? 2020-08-27T03:14:48Z beach: For what? 2020-08-27T03:15:04Z dominic34 joined #lisp 2020-08-27T03:15:58Z PuercoPop: As their mainly, although it doesn't make sense, to what package would the symbol belong to if the package doesn't exist when the form is being read 2020-08-27T03:16:33Z beach: As the name, you mean? Yes, that would be complicated indeed. 2020-08-27T03:17:34Z PuercoPop: yeah as their name (there was supposed to be name between their and mainly :v) 2020-08-27T03:20:11Z beach: One could possibly imagine a single pre-existing package that would then be the home package for all package names. 2020-08-27T03:23:27Z PuercoPop: The keyword package could do 2020-08-27T03:23:53Z beach: Maybe so, yes. 2020-08-27T03:27:06Z karlosz joined #lisp 2020-08-27T03:46:23Z shangul joined #lisp 2020-08-27T03:46:37Z iAmDecim joined #lisp 2020-08-27T03:51:25Z iAmDecim quit (Ping timeout: 240 seconds) 2020-08-27T03:56:15Z elxbarbosa quit (Remote host closed the connection) 2020-08-27T04:20:48Z notzmv joined #lisp 2020-08-27T04:21:04Z notzmv quit (Changing host) 2020-08-27T04:21:05Z notzmv joined #lisp 2020-08-27T04:21:12Z _paul0 joined #lisp 2020-08-27T04:22:02Z iAmDecim joined #lisp 2020-08-27T04:24:08Z gravicappa joined #lisp 2020-08-27T04:24:45Z Jesin joined #lisp 2020-08-27T04:24:49Z paul0 quit (Ping timeout: 264 seconds) 2020-08-27T04:30:31Z Necktwi quit (Ping timeout: 258 seconds) 2020-08-27T04:36:17Z Necktwi joined #lisp 2020-08-27T04:36:28Z dominic35 joined #lisp 2020-08-27T04:37:48Z dominic34 quit (Ping timeout: 258 seconds) 2020-08-27T04:37:48Z dominic35 is now known as dominic34 2020-08-27T04:37:55Z narimiran joined #lisp 2020-08-27T04:39:53Z Lord_of_Life_ joined #lisp 2020-08-27T04:41:44Z Lord_of_Life quit (Ping timeout: 256 seconds) 2020-08-27T04:41:45Z Lord_of_Life_ is now known as Lord_of_Life 2020-08-27T04:43:25Z iAmDecim quit (Ping timeout: 240 seconds) 2020-08-27T04:47:13Z duuqnd joined #lisp 2020-08-27T04:47:31Z dominic34 quit (Quit: dominic34) 2020-08-27T04:47:44Z dominic34 joined #lisp 2020-08-27T04:47:50Z terpri__ joined #lisp 2020-08-27T04:49:55Z terpri_ quit (Ping timeout: 240 seconds) 2020-08-27T04:50:56Z aaaaaa quit (Quit: leaving) 2020-08-27T04:55:54Z zulu-inuoe_ quit (Read error: Connection reset by peer) 2020-08-27T04:57:36Z Alloc quit (Ping timeout: 256 seconds) 2020-08-27T04:58:13Z Alloc joined #lisp 2020-08-27T05:00:25Z Bourne quit (Ping timeout: 240 seconds) 2020-08-27T05:01:14Z orivej_ quit (Ping timeout: 260 seconds) 2020-08-27T05:01:55Z shangul quit (Ping timeout: 240 seconds) 2020-08-27T05:02:45Z elxbarbosa joined #lisp 2020-08-27T05:06:17Z Bourne joined #lisp 2020-08-27T05:10:34Z shangul joined #lisp 2020-08-27T05:12:08Z torbo quit (Remote host closed the connection) 2020-08-27T05:13:54Z kopiyka quit (Remote host closed the connection) 2020-08-27T05:14:17Z kopiyka joined #lisp 2020-08-27T05:22:32Z shangul quit (Ping timeout: 256 seconds) 2020-08-27T05:25:12Z shangul joined #lisp 2020-08-27T05:26:10Z prite quit (Ping timeout: 246 seconds) 2020-08-27T05:27:20Z PuercoPop quit (Quit: WeeChat 1.9.1) 2020-08-27T05:28:32Z charles63 joined #lisp 2020-08-27T05:39:25Z Necktwi quit (Ping timeout: 240 seconds) 2020-08-27T05:42:50Z gaqwas joined #lisp 2020-08-27T05:42:50Z gaqwas quit (Changing host) 2020-08-27T05:42:50Z gaqwas joined #lisp 2020-08-27T05:44:59Z bilegeek quit (Quit: Leaving) 2020-08-27T05:45:04Z iAmDecim joined #lisp 2020-08-27T05:45:39Z rumbler31_ quit (Ping timeout: 258 seconds) 2020-08-27T05:49:47Z iAmDecim quit (Ping timeout: 240 seconds) 2020-08-27T05:49:55Z ibinderwolf quit (Read error: Connection reset by peer) 2020-08-27T05:50:40Z ibinderwolf joined #lisp 2020-08-27T05:51:34Z ajithmk joined #lisp 2020-08-27T05:51:35Z iAmDecim joined #lisp 2020-08-27T05:53:20Z zaquest quit (Quit: Leaving) 2020-08-27T05:54:16Z charles63 quit (Remote host closed the connection) 2020-08-27T05:55:54Z nicktick quit (Ping timeout: 256 seconds) 2020-08-27T05:57:55Z ebzzry joined #lisp 2020-08-27T06:02:22Z dominic34 quit (Ping timeout: 256 seconds) 2020-08-27T06:04:11Z toorevitimirp joined #lisp 2020-08-27T06:04:55Z ebzzry quit (Quit: WeeChat 2.8) 2020-08-27T06:12:54Z iAmDecim quit (Ping timeout: 256 seconds) 2020-08-27T06:18:22Z Oladon quit (Quit: Leaving.) 2020-08-27T06:26:50Z bocaneri joined #lisp 2020-08-27T06:43:20Z zaquest joined #lisp 2020-08-27T06:45:15Z space_otter quit (Remote host closed the connection) 2020-08-27T06:45:55Z iAmDecim joined #lisp 2020-08-27T06:46:20Z jeosol quit (Remote host closed the connection) 2020-08-27T06:46:39Z VincentVega joined #lisp 2020-08-27T06:47:09Z ggole joined #lisp 2020-08-27T06:50:49Z iAmDecim quit (Ping timeout: 258 seconds) 2020-08-27T06:54:10Z Cymew joined #lisp 2020-08-27T06:55:44Z mangul joined #lisp 2020-08-27T06:56:27Z shangul quit (Ping timeout: 265 seconds) 2020-08-27T06:59:17Z jprajzne joined #lisp 2020-08-27T06:59:55Z mangul quit (Ping timeout: 240 seconds) 2020-08-27T07:05:04Z spal quit (Quit: ZNC 1.7.2+deb3 - https://znc.in) 2020-08-27T07:05:17Z spal joined #lisp 2020-08-27T07:07:05Z elxbarbosa quit (Ping timeout: 272 seconds) 2020-08-27T07:12:53Z pve joined #lisp 2020-08-27T07:16:25Z jonatack quit (Ping timeout: 240 seconds) 2020-08-27T07:23:59Z dominic34 joined #lisp 2020-08-27T07:25:27Z ljavorsk joined #lisp 2020-08-27T07:39:23Z shangul joined #lisp 2020-08-27T07:46:03Z schweers joined #lisp 2020-08-27T07:47:22Z jonatack joined #lisp 2020-08-27T07:47:22Z dilated_dinosaur joined #lisp 2020-08-27T07:49:05Z Alloc quit (Ping timeout: 258 seconds) 2020-08-27T07:49:14Z jonatack quit (Remote host closed the connection) 2020-08-27T07:50:59Z VincentVega quit (Remote host closed the connection) 2020-08-27T07:52:05Z Bourne quit (Read error: Connection reset by peer) 2020-08-27T07:53:17Z jonatack joined #lisp 2020-08-27T07:58:11Z VincentVega joined #lisp 2020-08-27T07:58:45Z aap_ is now known as aap 2020-08-27T08:03:42Z kar7hik joined #lisp 2020-08-27T08:04:04Z toorevitimirp quit (Remote host closed the connection) 2020-08-27T08:04:32Z toorevitimirp joined #lisp 2020-08-27T08:05:11Z kar7hik quit (Remote host closed the connection) 2020-08-27T08:12:23Z hendursaga quit (Ping timeout: 240 seconds) 2020-08-27T08:14:46Z Oddity_ joined #lisp 2020-08-27T08:15:25Z dominic34 quit (Ping timeout: 240 seconds) 2020-08-27T08:17:52Z Bourne joined #lisp 2020-08-27T08:17:58Z Oddity quit (Ping timeout: 244 seconds) 2020-08-27T08:38:12Z shka_ joined #lisp 2020-08-27T08:47:23Z scymtym quit (Ping timeout: 240 seconds) 2020-08-27T08:50:22Z shifty quit (Ping timeout: 260 seconds) 2020-08-27T08:59:42Z mangul joined #lisp 2020-08-27T09:00:55Z shangul quit (Ping timeout: 240 seconds) 2020-08-27T09:05:24Z mangul quit (Ping timeout: 256 seconds) 2020-08-27T09:10:26Z schweers quit (Remote host closed the connection) 2020-08-27T09:12:59Z EvW joined #lisp 2020-08-27T09:17:33Z aeth quit (Quit: ...) 2020-08-27T09:18:12Z aeth joined #lisp 2020-08-27T09:19:55Z cosimone joined #lisp 2020-08-27T09:24:50Z scymtym joined #lisp 2020-08-27T09:25:15Z liberliver1 joined #lisp 2020-08-27T09:25:28Z liberliver quit (Read error: Connection reset by peer) 2020-08-27T09:26:34Z jesse1010 joined #lisp 2020-08-27T09:27:50Z liberliver joined #lisp 2020-08-27T09:28:19Z wxie joined #lisp 2020-08-27T09:29:40Z liberliver1 quit (Ping timeout: 265 seconds) 2020-08-27T09:36:17Z tutti joined #lisp 2020-08-27T09:36:42Z prite joined #lisp 2020-08-27T09:38:54Z aaaaaa joined #lisp 2020-08-27T09:39:55Z wxie quit (Ping timeout: 240 seconds) 2020-08-27T09:43:19Z jonatack quit (Read error: Connection reset by peer) 2020-08-27T09:45:21Z Necktwi joined #lisp 2020-08-27T09:47:03Z heisig joined #lisp 2020-08-27T09:47:04Z zooey quit (Remote host closed the connection) 2020-08-27T09:47:32Z zooey joined #lisp 2020-08-27T09:54:13Z tourjin joined #lisp 2020-08-27T09:56:21Z gravicappa quit (Ping timeout: 258 seconds) 2020-08-27T10:03:44Z shangul joined #lisp 2020-08-27T10:04:25Z gravicappa joined #lisp 2020-08-27T10:06:09Z iamFIREc1 joined #lisp 2020-08-27T10:08:37Z iamFIREcracker quit (Ping timeout: 258 seconds) 2020-08-27T10:09:13Z shangul quit (Ping timeout: 264 seconds) 2020-08-27T10:09:47Z brj quit (Ping timeout: 265 seconds) 2020-08-27T10:11:25Z EvW quit (Ping timeout: 240 seconds) 2020-08-27T10:11:43Z brj joined #lisp 2020-08-27T10:12:11Z iAmDecim joined #lisp 2020-08-27T10:13:51Z random-nick joined #lisp 2020-08-27T10:14:47Z shangul joined #lisp 2020-08-27T10:15:55Z mangul joined #lisp 2020-08-27T10:17:02Z iAmDecim quit (Ping timeout: 265 seconds) 2020-08-27T10:19:21Z shangul quit (Ping timeout: 258 seconds) 2020-08-27T10:20:12Z cosimone quit (Quit: Quit.) 2020-08-27T10:21:45Z cosimone joined #lisp 2020-08-27T10:23:52Z nicktick joined #lisp 2020-08-27T10:24:42Z mangul is now known as shangul 2020-08-27T10:28:23Z phoe: but if they're going to be from a single package, what's the real point, then? 2020-08-27T10:28:47Z phoe: then (find-package string) becomes just (find-package (find-symbol string :keyword)) 2020-08-27T10:32:01Z shangul quit (Ping timeout: 265 seconds) 2020-08-27T10:33:44Z shangul joined #lisp 2020-08-27T10:35:00Z Josh_2 joined #lisp 2020-08-27T10:35:30Z Josh_2: Morning 2020-08-27T10:36:20Z Josh_2: with the MOP can I create a metaclass that will add slots to my class based on the slot-value of another slot? 2020-08-27T10:39:23Z shangul quit (Ping timeout: 240 seconds) 2020-08-27T10:40:06Z cosimone quit (Read error: Connection reset by peer) 2020-08-27T10:40:25Z tutti quit (Ping timeout: 240 seconds) 2020-08-27T10:41:38Z jonatack joined #lisp 2020-08-27T10:41:40Z cosimone joined #lisp 2020-08-27T10:41:54Z rogersm joined #lisp 2020-08-27T10:44:39Z Alloc joined #lisp 2020-08-27T10:44:43Z gxt quit (Ping timeout: 240 seconds) 2020-08-27T10:45:29Z mseddon joined #lisp 2020-08-27T10:46:41Z schweers joined #lisp 2020-08-27T10:47:23Z phoe: I guess so, sure 2020-08-27T10:47:41Z Inline joined #lisp 2020-08-27T10:51:02Z Josh_2: basically I would like to have a slot within a class with a set name like 'symbol-slots' then when I (make-instance 'special-class :symbol-slots '(a b c d e)) then I will get an instance with the slots symbol-slots a b c d and e. 2020-08-27T10:51:34Z rogersm quit (Quit: Leaving...) 2020-08-27T10:51:47Z VincentVega quit (Remote host closed the connection) 2020-08-27T10:51:52Z Josh_2: so the initarg :symbol-slots would be converted to effective slots and appended to my instance 2020-08-27T10:55:27Z VincentVega joined #lisp 2020-08-27T10:57:14Z phoe: this sounds like a method on INITIALIZE-INSTANCE that accepts :SYMBOL-SLOTS and goes CALL-NEXT-METHOD with an appropriately frobbed :DIRECT-SLOTS argument 2020-08-27T10:57:55Z phoe: like, (defmethod initialize-instance ((class special-class) &rest args &key direct-slots &a-o-k) (call-next-method ...)) 2020-08-27T10:58:16Z phoe: uh I mean &key symbol-slots 2020-08-27T10:58:33Z phoe: where in ... you remove SYMBOL-SLOTS from the ARGS plist and also pass a modified DIRECT-SLOTS argument 2020-08-27T11:00:36Z Josh_2: hmm alright I'll look into that 2020-08-27T11:00:48Z Josh_2: I thought I would have to mess with make-instance 2020-08-27T11:00:54Z phoe: you can 2020-08-27T11:00:56Z phoe: but why 2020-08-27T11:01:14Z phoe: you don't want to mess with ALLOCATE-INSTANCE by messing with MAKE-INSTANCE 2020-08-27T11:01:56Z phoe: all you want to do is to modify the way in which the instance is initialized, by means of stuffing more direct slot definitions in there 2020-08-27T11:02:02Z phoe: (if I understand all this correctly) 2020-08-27T11:02:08Z Bourne quit (Ping timeout: 256 seconds) 2020-08-27T11:02:25Z Josh_2: yes 2020-08-27T11:02:35Z igemnace joined #lisp 2020-08-27T11:02:37Z Josh_2: thats what I want to do 2020-08-27T11:03:23Z igemnace quit (Client Quit) 2020-08-27T11:04:02Z jackdaniel quit (Disconnected by services) 2020-08-27T11:04:25Z jackdaniel joined #lisp 2020-08-27T11:06:13Z Bourne joined #lisp 2020-08-27T11:07:21Z EvW joined #lisp 2020-08-27T11:08:30Z cosimone quit (Quit: Quit.) 2020-08-27T11:08:59Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-08-27T11:09:40Z Aurora_v_kosmose joined #lisp 2020-08-27T11:11:14Z ajithmk quit (Quit: Connection closed for inactivity) 2020-08-27T11:12:47Z wxie joined #lisp 2020-08-27T11:17:57Z schweers quit (Remote host closed the connection) 2020-08-27T11:19:50Z EvW quit (Ping timeout: 244 seconds) 2020-08-27T11:30:54Z bitmapper quit (Ping timeout: 260 seconds) 2020-08-27T11:33:36Z save-lisp-or-die joined #lisp 2020-08-27T11:35:09Z treflip joined #lisp 2020-08-27T11:38:25Z Necktwi quit (Ping timeout: 240 seconds) 2020-08-27T11:41:57Z malikith quit (Read error: Connection reset by peer) 2020-08-27T11:43:56Z Josh_2: okay so I have made my new effective slots that I want to append, I just don't know how to append them in make-instance 2020-08-27T11:49:12Z Necktwi joined #lisp 2020-08-27T11:49:36Z phoe: show me your code 2020-08-27T11:51:56Z Josh_2: https://plaster.tymoon.eu/view/2032#2032 2020-08-27T11:53:55Z igemnace joined #lisp 2020-08-27T11:54:40Z davepdot_ quit (Remote host closed the connection) 2020-08-27T11:55:04Z davepdotorg joined #lisp 2020-08-27T12:06:31Z EvW joined #lisp 2020-08-27T12:09:28Z Josh_2: maybe I can use update-instance-for-redefined-class 2020-08-27T12:14:55Z EvW quit (Ping timeout: 240 seconds) 2020-08-27T12:14:58Z hendursaga joined #lisp 2020-08-27T12:15:17Z iAmDecim joined #lisp 2020-08-27T12:15:20Z Josh_2: eh says on clhs that this is not intended to be used by programmers 2020-08-27T12:15:36Z jmercouris: then who is it for? 2020-08-27T12:15:52Z aaaaaa quit (Quit: leaving) 2020-08-27T12:16:01Z jmercouris: then you shall make a method 2020-08-27T12:18:54Z Josh_2: "The generic function update-instance-for-redefined-class is not intended to be called by programmers." 2020-08-27T12:18:56Z _death: it's not intendede to be _called_ by users 2020-08-27T12:20:51Z jmercouris: it is it the responsibility of the implementation? 2020-08-27T12:21:10Z jmercouris: who is supposed to call it? 2020-08-27T12:21:45Z _death: when you evaluate a defclass it may get called, to update instances for redefined class 2020-08-27T12:21:52Z Josh_2: It's called when classes are redefined 2020-08-27T12:21:54Z jmercouris: so the implementation will do it 2020-08-27T12:22:54Z Josh_2: but I'm trying to add new slots to an instance of a class 2020-08-27T12:22:59Z Josh_2: bit stuck 2020-08-27T12:23:11Z jmercouris: Josh_2: we do exactly this in Nyxt 2020-08-27T12:23:31Z jmercouris: we ended up using another class implementation 2020-08-27T12:23:38Z jmercouris: in this case hu.dwim.xyz I can't remember what comes after dwim 2020-08-27T12:23:57Z jmercouris: https://github.com/atlas-engineer/nyxt/pull/889 2020-08-27T12:24:30Z jmercouris: https://quickref.common-lisp.net/hu.dwim.defclass-star.html 2020-08-27T12:26:55Z Bike joined #lisp 2020-08-27T12:27:33Z Josh_2: hmm 2020-08-27T12:27:52Z jmercouris throws spaghetti at Josh_2 2020-08-27T12:27:59Z jmercouris: :-) 2020-08-27T12:30:00Z Josh_2: So It's a no go with standard defclass? 2020-08-27T12:30:02Z Josh_2: and MOP 2020-08-27T12:30:10Z jmercouris: it is not a NOGO 2020-08-27T12:30:27Z jmercouris: it is possible, I'm just suggesting that you may wish to go another route if you will find yourself doing things like this 2020-08-27T12:31:15Z Josh_2: Well the link to their site is dead and those docs aren't exactly accessible 2020-08-27T12:31:28Z jmercouris: Understood 2020-08-27T12:32:24Z Josh_2: I was basically just messing around and seeing if I *could* do it because I thought it would be a nice way for users to interact with request objects 2020-08-27T12:32:47Z jmercouris: it is possible 2020-08-27T12:33:06Z Josh_2: instead of having to look through a list they could just set/get from a slot, a slot that is dynamically added depending on some data that is passed 2020-08-27T12:33:21Z jmercouris: hm 2020-08-27T12:33:40Z jmercouris: a slot that is dynamically added... 2020-08-27T12:33:43Z Josh_2: it was a "hmm It's 3am and I'm laying in bed thinking about this" moment 2020-08-27T12:34:04Z jmercouris: well, it is possible to update the instances 2020-08-27T12:34:12Z jmercouris: you could also copy the values to a new instance 2020-08-27T12:34:22Z wsinatra quit (Ping timeout: 260 seconds) 2020-08-27T12:34:35Z _death: sounds like work for change-class to me 2020-08-27T12:35:00Z jmercouris: I agree with _death 2020-08-27T12:35:01Z Josh_2: well the slots would have to be appended based on the value of an initarg when calling make-instance 2020-08-27T12:35:05Z Josh_2: hmm 2020-08-27T12:35:50Z _death: assuming it's something along the lines of "state pattern" 2020-08-27T12:36:04Z jmercouris: what is 'state pattern'? 2020-08-27T12:36:18Z jmercouris: Josh_2: why use slots when you may use another data structure? 2020-08-27T12:36:26Z jmercouris: why not a linked list of properties 2020-08-27T12:36:33Z Josh_2: Yes thats what I'm doing right now 2020-08-27T12:36:34Z phoe: or a hashtable 2020-08-27T12:36:35Z jmercouris: UNLESS you will specialize upon these slots 2020-08-27T12:36:42Z iAmDecim quit (Ping timeout: 260 seconds) 2020-08-27T12:36:43Z ljavorsk quit (Ping timeout: 265 seconds) 2020-08-27T12:36:46Z Josh_2: to learn more about MOP really 2020-08-27T12:36:50Z jmercouris: I see 2020-08-27T12:36:51Z _death: https://en.wikipedia.org/wiki/State_pattern 2020-08-27T12:37:03Z jmercouris: ah, I know it 2020-08-27T12:37:06Z jmercouris: thanks for link 2020-08-27T12:37:25Z tourjin quit (Ping timeout: 240 seconds) 2020-08-27T12:38:06Z Josh_2: using change-class would require creating a class based on what I have parsed 2020-08-27T12:38:22Z jmercouris: Yes 2020-08-27T12:38:30Z jmercouris: then you will want to redefine the old class 2020-08-27T12:38:36Z jmercouris: that's exactly what I linked to you in my pull request 2020-08-27T12:38:41Z jmercouris: you see, we can have (foo) extend (foo) 2020-08-27T12:39:02Z jmercouris: we replace a class in-place and change its slots etc 2020-08-27T12:39:02Z _death: if the set of properties is not fixed, then just keep a plist 2020-08-27T12:40:45Z v0|d quit (Remote host closed the connection) 2020-08-27T12:41:29Z Josh_2: I'm currently just using an alist 2020-08-27T12:41:35Z jmercouris: A L I S T 2020-08-27T12:41:47Z Josh_2: works just fine, but now my curiosity has peaked :P 2020-08-27T12:41:52Z jmercouris: piqued* 2020-08-27T12:42:03Z jmercouris: reminds me of sneak mountain 2020-08-27T12:42:23Z jmercouris: s/sneak mountain/stealth mountain 2020-08-27T12:42:33Z Josh_2: yes 2020-08-27T12:42:36Z Josh_2: piqued :P 2020-08-27T12:42:38Z jmercouris: "Stealth Mountain (@StealthMountain) is a Twitter bot with a single, simple purpose: It searches for tweets in which a person has typed the words “sneak peak” when they meant to type “sneak peek,” then publishes a reply informing the author of his error. " 2020-08-27T12:43:31Z _death: if the objective is to learn about the MOP, then I remember AMOP had an example concerning dynamic slot storage 2020-08-27T12:43:43Z gko_ joined #lisp 2020-08-27T12:44:54Z Josh_2: Yes I have read that example 2020-08-27T12:45:41Z FreeBirdLjj joined #lisp 2020-08-27T12:45:46Z Josh_2: but they have all their slots predefined but wish to only allocate slots when needed 2020-08-27T12:47:16Z _death: I see.. well, the last time I did something with the MOP was years ago, so someone else may be of help ;) 2020-08-27T12:50:02Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2020-08-27T12:52:06Z iAmDecim joined #lisp 2020-08-27T12:57:03Z wsinatra joined #lisp 2020-08-27T12:57:13Z iAmDecim quit (Ping timeout: 264 seconds) 2020-08-27T12:58:37Z bsd4me joined #lisp 2020-08-27T12:59:42Z IPmonger joined #lisp 2020-08-27T13:00:02Z IPmonger quit (Remote host closed the connection) 2020-08-27T13:01:39Z wsinatra_ joined #lisp 2020-08-27T13:06:26Z treflip quit (Quit: WeeChat 2.6) 2020-08-27T13:11:31Z orivej joined #lisp 2020-08-27T13:13:33Z jmercouris: I'm having some trouble with a macro of indeterminate length 2020-08-27T13:13:44Z phoe: hm? 2020-08-27T13:13:47Z phoe: what do you mean? 2020-08-27T13:13:57Z jmercouris: so I am trying to define a defmacro that operates on a list 2020-08-27T13:14:03Z jmercouris: let me give an example 2020-08-27T13:14:04Z jmercouris: one second 2020-08-27T13:14:40Z jmercouris: http://dpaste.com/2SWN6VEXF 2020-08-27T13:14:59Z jmercouris: ignore "CARP" and "SALMON" 2020-08-27T13:15:08Z jmercouris: I can't get it to splice how I want 2020-08-27T13:15:18Z phoe: wait a second though, CL:LIST is predefined 2020-08-27T13:15:39Z jmercouris: well, in this case, yes 2020-08-27T13:15:46Z jmercouris: but pretend it is a list of arbitrary length 2020-08-27T13:15:57Z jmercouris: because that is in fact what it is 2020-08-27T13:16:00Z phoe: what is the call to your macro supposed to look like pre-expansion? 2020-08-27T13:16:08Z jmercouris: that is "Source" 2020-08-27T13:16:08Z tourjin joined #lisp 2020-08-27T13:16:15Z jmercouris: so you will say something like (macroxyz source) 2020-08-27T13:16:20Z jmercouris: and it will produce the expansion 2020-08-27T13:16:35Z Alloc quit (Ping timeout: 240 seconds) 2020-08-27T13:16:47Z phoe: (macroxyz (list (a nil nil) (b nil nil)))? 2020-08-27T13:16:54Z jmercouris: for example, yes 2020-08-27T13:17:14Z phoe: if this is a nested list, then this requires either code walking or evaluation 2020-08-27T13:17:24Z Alloc joined #lisp 2020-08-27T13:17:28Z phoe: I still don't understand what you are trying to do 2020-08-27T13:17:31Z jmercouris: it is not a nested list 2020-08-27T13:17:35Z jmercouris: I'm sorry let me make a practical example 2020-08-27T13:17:39Z phoe: yes, please do 2020-08-27T13:17:41Z jmercouris: give me one more moment 2020-08-27T13:17:43Z phoe: the CL:LIST call confuses me 2020-08-27T13:17:46Z jmercouris: 1 2020-08-27T13:18:13Z jackdaniel: you 1) did not paste the macro itself; 2) you did not state the problem correctly 2020-08-27T13:18:22Z jmercouris: OH! is that so? 2020-08-27T13:18:23Z jackdaniel: what is it you want to splice? how does it splice? 2020-08-27T13:18:30Z phoe: hey cmon guys 2020-08-27T13:18:34Z phoe: no fighting here now 2020-08-27T13:18:35Z jackdaniel: how do you want it to be spliced 2020-08-27T13:18:51Z phoe: let's get the communication done first and then let's discuss things 2020-08-27T13:18:51Z jackdaniel points out that there was no answerable question stated 2020-08-27T13:20:03Z jackdaniel: and it is quite surprising given that a considerable wall of text has been written ,) 2020-08-27T13:20:16Z jmercouris: you know what is surprising to me? 2020-08-27T13:20:22Z jmercouris: how socially insensitive you are 2020-08-27T13:20:34Z phoe: heyyyyyyy jmercouris jackdaniel 2020-08-27T13:20:37Z jackdaniel: please do not attack me presonally, it is a last warning 2020-08-27T13:21:10Z phoe: calm down both of you, will you? 2020-08-27T13:21:27Z phoe: stirring this further will bring no good to either of you or to #lisp, and right now it's both of you stirring this up 2020-08-27T13:22:33Z jackdaniel: phoe: hm, I consider myself perfectly calm, what i'm saying is that he should state a question which could be reasoned about (i.e correctly state the problem), not really sure how is this stirring things 2020-08-27T13:23:05Z jackdaniel: as of personal attacks, I'm sure it is a reasonable thing to ask to not to that 2020-08-27T13:23:46Z jmercouris: phoe: http://dpaste.com/GWRE38XLJ 2020-08-27T13:23:53Z jmercouris: I hope that explains my context a little bit better 2020-08-27T13:24:04Z davepdot_ joined #lisp 2020-08-27T13:24:13Z vutral joined #lisp 2020-08-27T13:24:28Z jmercouris: actually I do not need the gensym... 2020-08-27T13:24:48Z jmercouris: I've rewritten and destroyed the macro several times, still not able to achieve what I am trying to... 2020-08-27T13:25:32Z phoe: okay, so the macro itself is QRT 2020-08-27T13:25:36Z jmercouris: correct 2020-08-27T13:25:43Z terpri__ is now known as terrpi 2020-08-27T13:25:59Z jmercouris: and in execute-extended-command it would be applying like this: (qrt optional-arguments) 2020-08-27T13:26:03Z phoe: is it called like (qrt a b c)? 2020-08-27T13:26:09Z phoe: wait 2020-08-27T13:26:11Z phoe: (qrt (a b c)) 2020-08-27T13:26:24Z jmercouris: yes 2020-08-27T13:27:08Z phoe: if these come from the DEFINE-COMMAND lambda list, you might want to use ALEXANDRIA:PARSE-ORDINARY-LAMBDA-LIST to get the required/optional/keyword/whatever arguments and such 2020-08-27T13:27:08Z jmercouris: the ,@operator is really messing with me 2020-08-27T13:27:14Z phoe: but anyway 2020-08-27T13:27:19Z jmercouris: phoe: I am using that 2020-08-27T13:27:23Z phoe: perfect 2020-08-27T13:27:32Z jmercouris: I have just nicknamed it to alex 2020-08-27T13:27:35Z phoe: let's consider QRT to be a function for a while 2020-08-27T13:27:45Z jmercouris: OK 2020-08-27T13:27:57Z davepdotorg quit (Ping timeout: 258 seconds) 2020-08-27T13:28:28Z iAmDecim joined #lisp 2020-08-27T13:28:33Z jackdaniel: `(with-result* ,(mapcar (lambda (arg) `(,arg (read-from-minibuffer))) symbols)) 2020-08-27T13:28:46Z jmercouris: I was afraid of the double backquote 2020-08-27T13:29:01Z jmercouris: that is another thing I do not understand 2020-08-27T13:29:04Z terpri joined #lisp 2020-08-27T13:29:13Z jackdaniel: (let ((clauses (mapcar …))) `(with-result* ,clauses)) 2020-08-27T13:30:38Z phoe: https://plaster.tymoon.eu/view/2033#2033 2020-08-27T13:30:51Z phoe: I absolutely despise double backquote and avoid it wherever I can 2020-08-27T13:31:10Z terrpi quit (Ping timeout: 256 seconds) 2020-08-27T13:31:33Z jmercouris: let me try to understand this one second 2020-08-27T13:32:05Z jmercouris: OK so you've made two functions here in an flet 2020-08-27T13:32:11Z jmercouris: and these functions return some code 2020-08-27T13:32:26Z jmercouris: the first one returns a minibuffer creation and binding 2020-08-27T13:32:40Z phoe: refresh the page 2020-08-27T13:32:43Z jmercouris: the second one returns a form that prints 2020-08-27T13:32:46Z phoe: I've added the macroexpansion 2020-08-27T13:32:54Z jmercouris: I see 2020-08-27T13:32:55Z jmercouris: nice 2020-08-27T13:32:56Z phoe: yes - there are two parts that need to be generated based on the arglist 2020-08-27T13:33:00Z phoe: the first - the binding forms 2020-08-27T13:33:03Z phoe: the second - the body forms 2020-08-27T13:33:20Z phoe: these do not depend on each other so we can generate those separately via mapcar, just like jackdaniel mentioned earlier 2020-08-27T13:33:38Z jmercouris: OK and then finally you have the actual function %qrt which basically wraps everything in with-result 2020-08-27T13:33:39Z phoe: my code is just somewhat more verbose to avoid double backquote and make explicit separation of concerns 2020-08-27T13:33:49Z jmercouris: I see 2020-08-27T13:33:52Z jmercouris: I actually understand this 2020-08-27T13:33:57Z jmercouris: I wonder if I can use this pattern elsewhere 2020-08-27T13:34:05Z phoe: yes, the actual body of %qrt generates the full form and splices in the results of subfunctions 2020-08-27T13:34:06Z jmercouris: alright, so I described a very abstract problem, not my actual problem 2020-08-27T13:34:11Z phoe: likely you can use this pattern elsewhere 2020-08-27T13:34:12Z jmercouris: let me see if I can apply your methods 2020-08-27T13:34:16Z jmercouris: to my actual problem 2020-08-27T13:34:17Z phoe: I use it all the time :D 2020-08-27T13:34:22Z jmercouris: that will be the real test of if I understand 2020-08-27T13:34:29Z phoe: the macros inside portable-condition-system are all done in this way 2020-08-27T13:34:45Z jmercouris: thanks for the example 2020-08-27T13:34:52Z phoe: (mostly in hope that this technique is somewhat easy to grok and understand and then repeat and reuse) 2020-08-27T13:35:07Z jmercouris: I like the idea of seperate functions to emit snippets 2020-08-27T13:35:09Z phoe: (so, in a way, you're my experimental animal) 2020-08-27T13:35:15Z jmercouris: oh boy :-D 2020-08-27T13:35:36Z phoe: I mean, you could probably read the PCS source if you want more examples of this macro style 2020-08-27T13:36:06Z jmercouris: so what is the purpose of using a separate defun and defmacro? 2020-08-27T13:36:08Z phoe: except there I use global functions instead of local ones for even more verbosity and ease of REPL-based testing and twiddling 2020-08-27T13:36:18Z phoe: nothing, really 2020-08-27T13:36:19Z jmercouris: just to prove that a defmacro body is not special? 2020-08-27T13:36:20Z jmercouris: OK 2020-08-27T13:36:30Z phoe: except for the ability to call (%qrt 'a 'b 'c) 2020-08-27T13:36:39Z phoe: instead of (macroexpand-1 '(qrt a b c)) 2020-08-27T13:36:43Z jmercouris: yes 2020-08-27T13:37:13Z phoe: you can get rid of the intermediate function and stuff its body inside the macro, and things will work. 2020-08-27T13:37:20Z jmercouris: 1 2020-08-27T13:38:11Z phoe: and inside https://github.com/phoe/portable-condition-system/tree/master/src the files of interest are assertions.lisp, handlers.lisp, restarts.lisp 2020-08-27T13:38:16Z phoe: these are the macro-heaviest 2020-08-27T13:38:35Z phoe: oh, and define-condition inside conditions.lisp 2020-08-27T13:38:54Z phoe: even though that one is really boring except for report methods, because it expands into DEFCLASS :D 2020-08-27T13:39:26Z jmercouris: starred, thank you 2020-08-27T13:40:36Z wxie quit (Ping timeout: 258 seconds) 2020-08-27T13:42:38Z jmercouris: also, above you meant (macroexpand-1 '(qrt (a b c))) 2020-08-27T13:42:48Z phoe: uhhhh, actually, no 2020-08-27T13:42:54Z phoe: because I was sneaky and modified the macro lambda list 2020-08-27T13:43:00Z jmercouris: oh :-) 2020-08-27T13:43:03Z phoe: but I didn't tell you about that fact 2020-08-27T13:43:04Z phoe: sorry 2020-08-27T13:44:38Z Oddity__ joined #lisp 2020-08-27T13:45:49Z ghard quit (Remote host closed the connection) 2020-08-27T13:46:10Z jmercouris: Oh, that's fine 2020-08-27T13:48:22Z Oddity_ quit (Ping timeout: 260 seconds) 2020-08-27T13:48:41Z davepdot_ quit (Remote host closed the connection) 2020-08-27T13:49:07Z davepdotorg joined #lisp 2020-08-27T13:50:18Z patlv joined #lisp 2020-08-27T13:51:30Z phoe: anyway, I think this is how such situations should be handled - in case of not enough information or a poorly specified problem, 1) please ask for more details instead of stating the obvious, 2) please provide more details even if the obvious was stated 2020-08-27T13:51:52Z jmercouris: 1 2020-08-27T13:51:59Z jmercouris: it was a poorly defined problem, because I didn't understand it 2020-08-27T13:53:03Z phoe: truth be told, this might have ended with a firestorm, some banhammering, and overall bad smell on #lisp if I weren't here to calm things down a bit 2020-08-27T13:53:11Z phoe: and I absolutely *DON'T* want to need to say such things 2020-08-27T13:53:22Z phoe: cmon, let's just be excellent to one another. 2020-08-27T13:53:28Z jmercouris: I will do my best 2020-08-27T13:53:30Z phoe afk for real life things 2020-08-27T13:53:33Z phoe: <3 2020-08-27T13:56:13Z pfdietz joined #lisp 2020-08-27T13:59:46Z tourjin quit (Ping timeout: 260 seconds) 2020-08-27T14:02:59Z zigpaw1 quit (Ping timeout: 240 seconds) 2020-08-27T14:04:26Z save-lisp-or-die quit (Ping timeout: 260 seconds) 2020-08-27T14:04:34Z sjl_ joined #lisp 2020-08-27T14:08:37Z zigpaw1 joined #lisp 2020-08-27T14:08:57Z shangul joined #lisp 2020-08-27T14:12:02Z toorevitimirp quit (Ping timeout: 258 seconds) 2020-08-27T14:14:48Z xlei quit (Ping timeout: 256 seconds) 2020-08-27T14:17:27Z pfdietz quit (Remote host closed the connection) 2020-08-27T14:20:29Z jmercouris: phoe: http://dpaste.com/9ZHJYMK43 2020-08-27T14:20:42Z jmercouris: just thought you may be interested later when you have time 2020-08-27T14:21:52Z bitmapper joined #lisp 2020-08-27T14:24:27Z patlv quit (Quit: patlv) 2020-08-27T14:24:44Z yitzi joined #lisp 2020-08-27T14:28:00Z gendl: Hi, is there a supported way to compile slime's .el files to .elc? 2020-08-27T14:28:34Z xlei joined #lisp 2020-08-27T14:28:39Z jmercouris: this is the wrong channel 2020-08-27T14:28:42Z gendl: emacs 27.1 warns that package cl is deprecated if we are requiring it at load time. If we can load .elc files, apparently this warning will not happen. 2020-08-27T14:29:07Z jmercouris: I would try #emacs 2020-08-27T14:29:10Z gendl: jmercouris: this isn't the right channel for slime questions? Is there a #slime channel? 2020-08-27T14:29:21Z mfiano: File a bug ticket with whoever wrote code using the very old cl library. They should be using cl-lib now. 2020-08-27T14:29:25Z mfiano: But yes, wrong channel 2020-08-27T14:29:43Z jmercouris: there is a #slime channel 2020-08-27T14:30:31Z gendl: just found the #slime channel, thanks. btw it looks like slime depends on 'cl just for two symbols. 2020-08-27T14:31:22Z phoe: the patch should be trivial then 2020-08-27T14:31:25Z shangul quit (Ping timeout: 240 seconds) 2020-08-27T14:31:28Z phoe: (hopefully!) 2020-08-27T14:33:50Z iAmDecim quit (Ping timeout: 256 seconds) 2020-08-27T14:33:59Z mfiano: (or was it lib-cl?...I forget) 2020-08-27T14:38:25Z stepnem quit (Ping timeout: 240 seconds) 2020-08-27T14:39:55Z stepnem joined #lisp 2020-08-27T14:48:17Z shangul joined #lisp 2020-08-27T14:57:49Z theseb joined #lisp 2020-08-27T15:08:17Z dpd88 joined #lisp 2020-08-27T15:10:13Z terpri: cl-lib, yes 2020-08-27T15:11:37Z mangul joined #lisp 2020-08-27T15:12:16Z mfiano: I see. I didn't have enough interest in the real inferior-lisp to go refresh my memory. 2020-08-27T15:13:25Z shangul quit (Ping timeout: 240 seconds) 2020-08-27T15:13:30Z rippa joined #lisp 2020-08-27T15:14:26Z Alloc quit (Ping timeout: 260 seconds) 2020-08-27T15:16:03Z Alloc joined #lisp 2020-08-27T15:16:11Z shangul joined #lisp 2020-08-27T15:17:35Z mangul quit (Ping timeout: 258 seconds) 2020-08-27T15:19:25Z phadthai quit (Remote host closed the connection) 2020-08-27T15:22:23Z cosimone joined #lisp 2020-08-27T15:22:53Z cosimone quit (Client Quit) 2020-08-27T15:23:58Z cosimone joined #lisp 2020-08-27T15:25:23Z jmercouris: ha! :-D 2020-08-27T15:27:28Z vutral quit (Quit: Connection closed for inactivity) 2020-08-27T15:29:52Z jgodbout joined #lisp 2020-08-27T15:30:47Z chiota joined #lisp 2020-08-27T15:31:23Z cosimone quit (Quit: Quit.) 2020-08-27T15:31:57Z cosimone joined #lisp 2020-08-27T15:35:00Z elxbarbosa joined #lisp 2020-08-27T15:35:06Z shangul quit (Ping timeout: 256 seconds) 2020-08-27T15:37:52Z narimiran quit (Ping timeout: 256 seconds) 2020-08-27T15:38:35Z jgodbout quit (Quit: Leaving) 2020-08-27T15:46:52Z dominic34 joined #lisp 2020-08-27T15:47:20Z phadthai joined #lisp 2020-08-27T15:48:16Z jgodbout joined #lisp 2020-08-27T15:49:27Z dominic34 quit (Remote host closed the connection) 2020-08-27T15:50:03Z iamFIREc1 quit (Ping timeout: 265 seconds) 2020-08-27T15:57:30Z heisig quit (Quit: Leaving) 2020-08-27T16:02:48Z davepdotorg quit (Quit: Leaving...) 2020-08-27T16:03:13Z Cymew quit (Ping timeout: 264 seconds) 2020-08-27T16:03:58Z gko_ quit (Ping timeout: 258 seconds) 2020-08-27T16:08:34Z jibanes quit (Ping timeout: 258 seconds) 2020-08-27T16:09:00Z lottaquestions joined #lisp 2020-08-27T16:10:10Z davepdotorg joined #lisp 2020-08-27T16:10:27Z jibanes joined #lisp 2020-08-27T16:11:14Z ggole quit (Quit: Leaving) 2020-08-27T16:18:53Z jasom_ joined #lisp 2020-08-27T16:25:55Z VincentVega quit (Ping timeout: 245 seconds) 2020-08-27T16:28:01Z jack joined #lisp 2020-08-27T16:28:25Z jack is now known as Guest41072 2020-08-27T16:28:43Z jackdaniel quit (Disconnected by services) 2020-08-27T16:28:53Z Guest41072 is now known as jackdaniel 2020-08-27T16:30:04Z trn quit (Remote host closed the connection) 2020-08-27T16:31:11Z prite quit (Ping timeout: 258 seconds) 2020-08-27T16:33:16Z Misha_B quit (Remote host closed the connection) 2020-08-27T16:33:38Z davepdotorg quit (Remote host closed the connection) 2020-08-27T16:42:25Z Lord_of_Life quit (Ping timeout: 240 seconds) 2020-08-27T16:42:31Z Lord_of_Life_ joined #lisp 2020-08-27T16:43:46Z trn joined #lisp 2020-08-27T16:43:50Z Lord_of_Life_ is now known as Lord_of_Life 2020-08-27T16:47:35Z lispyone__ quit 2020-08-27T16:48:06Z lispyone__ joined #lisp 2020-08-27T16:48:43Z lispyone__ quit (Client Quit) 2020-08-27T16:49:17Z vutral joined #lisp 2020-08-27T16:49:46Z jackdaniel1 joined #lisp 2020-08-27T16:51:00Z jackdaniel quit (Disconnected by services) 2020-08-27T16:51:05Z jackdaniel1 is now known as jackdaniel 2020-08-27T16:52:35Z bsd4me left #lisp 2020-08-27T16:53:12Z prite joined #lisp 2020-08-27T16:56:57Z dominic34 joined #lisp 2020-08-27T17:02:36Z Kaisyu quit (Quit: Connection closed for inactivity) 2020-08-27T17:09:30Z yitzi_ joined #lisp 2020-08-27T17:13:51Z Josh_2: I found a better way to do what I wanted 2020-08-27T17:14:12Z rumbler31_ joined #lisp 2020-08-27T17:15:04Z Josh_2: I am already storing an association between strings and symbols, I can just create slots from the symbols and use those within compute-slots 2020-08-27T17:15:47Z liberliver quit (Ping timeout: 240 seconds) 2020-08-27T17:16:36Z elioat quit (Quit: The Lounge - https://thelounge.chat) 2020-08-27T17:17:21Z liberliver joined #lisp 2020-08-27T17:22:03Z liberliver quit (Ping timeout: 272 seconds) 2020-08-27T17:28:44Z elioat joined #lisp 2020-08-27T17:30:29Z iAmDecim joined #lisp 2020-08-27T17:36:26Z shangul joined #lisp 2020-08-27T17:37:12Z bitmapper quit (Read error: Connection reset by peer) 2020-08-27T17:45:26Z jasom_ quit (Ping timeout: 256 seconds) 2020-08-27T17:49:49Z lisbeths joined #lisp 2020-08-27T17:50:30Z liberliver joined #lisp 2020-08-27T17:52:49Z Necktwi quit (Ping timeout: 265 seconds) 2020-08-27T17:54:32Z akoana joined #lisp 2020-08-27T17:54:55Z liberliver quit (Ping timeout: 240 seconds) 2020-08-27T17:58:18Z Necktwi joined #lisp 2020-08-27T17:58:23Z liberliver joined #lisp 2020-08-27T18:00:16Z patlv joined #lisp 2020-08-27T18:04:53Z yitzi_ quit (Read error: Connection reset by peer) 2020-08-27T18:05:28Z Josh_2: how do I add readers/writers to a direct/effective slot definition? 2020-08-27T18:07:02Z Bike: the :readers and :writers initargs when you're making the slotd, isn't it? 2020-08-27T18:09:37Z Josh_2: hmm 2020-08-27T18:09:44Z Josh_2: I did that, I must be missing something 2020-08-27T18:10:20Z johnweldon quit (Read error: Connection reset by peer) 2020-08-27T18:10:28Z brj quit (Ping timeout: 258 seconds) 2020-08-27T18:10:35Z jasom_ joined #lisp 2020-08-27T18:12:24Z bitmapper joined #lisp 2020-08-27T18:12:27Z jw4 joined #lisp 2020-08-27T18:12:37Z brj joined #lisp 2020-08-27T18:13:38Z Josh_2: hmm 2020-08-27T18:14:30Z simendsjo joined #lisp 2020-08-27T18:14:43Z frgo_ joined #lisp 2020-08-27T18:17:36Z Josh_2: I added :readers to :initargs but my instance that uses these new slots doesn't have any associated readers 2020-08-27T18:17:50Z frgo quit (Ping timeout: 260 seconds) 2020-08-27T18:18:25Z nicktick quit (Ping timeout: 240 seconds) 2020-08-27T18:18:34Z EvW joined #lisp 2020-08-27T18:22:23Z Oddity joined #lisp 2020-08-27T18:22:40Z Lycurgus joined #lisp 2020-08-27T18:22:42Z sonologico joined #lisp 2020-08-27T18:24:51Z gxt joined #lisp 2020-08-27T18:24:56Z bocaneri quit (Remote host closed the connection) 2020-08-27T18:25:05Z patlv quit (Quit: patlv) 2020-08-27T18:26:37Z Oddity__ quit (Ping timeout: 260 seconds) 2020-08-27T18:27:13Z yitzi_ joined #lisp 2020-08-27T18:28:53Z grobe0ba quit (Quit: ZNC 1.7.4 - https://znc.in) 2020-08-27T18:32:19Z Alloc quit (Ping timeout: 258 seconds) 2020-08-27T18:33:25Z iAmDecim quit (Ping timeout: 240 seconds) 2020-08-27T18:33:34Z Alloc joined #lisp 2020-08-27T18:33:48Z grobe0ba joined #lisp 2020-08-27T18:35:46Z Bike: the initargs of the direct slot definitions, right? 2020-08-27T18:36:16Z elxbarbo` joined #lisp 2020-08-27T18:37:11Z Josh_2: https://plaster.tymoon.eu/view/2034#2034 2020-08-27T18:37:55Z elxbarbosa quit (Ping timeout: 240 seconds) 2020-08-27T18:38:00Z Bike: not sure i understand. you have a keyword argument called "initargs"? what's special-slot look like? 2020-08-27T18:38:39Z Bike: also, the direct slots need to actually be in the direct slots of the class. they're not, here 2020-08-27T18:38:53Z Josh_2: hmmm 2020-08-27T18:39:05Z Bike: you can't just add effective slots that don't correspond to any direct slots, as far as i know 2020-08-27T18:39:15Z Josh_2: hmmmmmmmmmmm 2020-08-27T18:39:18Z Bike: effective slots don't have readers or writers, so the information would be discarded, anyway 2020-08-27T18:40:04Z Josh_2: special-slot is a standard-slot-definition 2020-08-27T18:40:12Z Bike: if you want instances of your metaclass to have extra slots the easiest thing to do is just to define a superclass for all the instances, and put those slots in the superclass 2020-08-27T18:40:18Z Bike: what is special-slot a subclass of? 2020-08-27T18:40:25Z Josh_2: standard-slot-definition 2020-08-27T18:40:36Z Bike: so it's not direct OR effective? 2020-08-27T18:40:49Z Bike: i don't know if that's allowed, and if it is, the rest of the system is going to ignore it unless you put in special processing 2020-08-27T18:41:08Z Josh_2: oof 2020-08-27T18:41:18Z Josh_2: I did try direct earlier 2020-08-27T18:41:20Z Josh_2: I will try that again 2020-08-27T18:41:23Z Bike: okay, just 2020-08-27T18:41:26Z Bike: what are you trying to do overall? 2020-08-27T18:41:55Z Josh_2: add slots based on a list that gets updated 2020-08-27T18:42:06Z Bike: add slots to what? a class? 2020-08-27T18:42:14Z Josh_2: an instance 2020-08-27T18:42:32Z Josh_2: so how do I associate an effective slot with a direct slot ? 2020-08-27T18:42:49Z Bike: compute-slots does that. but i think you're maybe in the wrong area here. 2020-08-27T18:43:04Z Bike: slot definitions are properties of classes. classes have slot definitions. instances do not have slot definitions, they have slots. 2020-08-27T18:43:25Z Bike: In this scenario, do you have different instances of the same class that have different accessible slots? 2020-08-27T18:43:33Z Josh_2: yes but when you compute-slots you can add slots 2020-08-27T18:43:49Z Josh_2: hmmm I doubt it but I suppose It's possible 2020-08-27T18:43:50Z Bike: compute-slots is called when you define a class. it's not called for every instance, or anything like that. 2020-08-27T18:43:57Z Josh_2: oof I forgot about that 2020-08-27T18:44:01Z Josh_2: thats the second time today 2020-08-27T18:44:18Z Josh_2: well scrap that idea 2020-08-27T18:44:29Z Bike: You need to decide what exactly you want. A class that can have slots added and removed is a lot different from flexible instances. 2020-08-27T18:45:07Z Josh_2: I tried the class slots added/removed earlier 2020-08-27T18:45:11Z Josh_2: gave up on that idea 2020-08-27T18:45:32Z Bike: Forget questions of w hat you can do. What do you WANT to do? 2020-08-27T18:45:38Z Bike: Precisely? 2020-08-27T18:46:35Z simendsjo quit (Ping timeout: 240 seconds) 2020-08-27T18:48:12Z Josh_2: update a class' slots when I parse a new header 2020-08-27T18:48:33Z Josh_2: so basically redefine a class with a new slot each time I find a new header, and then create an instance of that 2020-08-27T18:48:58Z Bike: Could you just redefine the class? You might not even to do anything fancy with mop. 2020-08-27T18:49:12Z Josh_2: yes 2020-08-27T18:49:28Z Josh_2: Can't do it manually be recompiling the defclass macro 2020-08-27T18:49:46Z Bike: What? 2020-08-27T18:50:14Z Josh_2: well I want to add the slots automatically 2020-08-27T18:50:26Z Josh_2: so the next time an instance is created it has the new slots 2020-08-27T18:50:46Z Bike: If you redefine a class, all the instances will be updated to match it. 2020-08-27T18:50:48Z phoe: automatically when *what* happens 2020-08-27T18:51:01Z Bike: If you just evaluate a new DEFCLASS form with the extra slot. 2020-08-27T18:51:35Z Bike: and of course any instances made in the future will also match the class. 2020-08-27T18:51:36Z Josh_2: well It's okay if the others are updated 2020-08-27T18:52:01Z phoe: Josh_2: can you give us some sort of example syntax/code that you want to have? 2020-08-27T18:52:22Z phoe: maybe we can match this better to what is actually possible with the standard classes 2020-08-27T18:52:52Z Josh_2: I basically did. In the plaster code there is a list called *slots-needed* now imagine that every once in a while a new symbol is added automatically and the class 'request' would need to update itself with the new slot 2020-08-27T18:53:08Z Josh_2: and I guess all current instances, although I'd prefer if I could stop that 2020-08-27T18:53:20Z phoe: you can't stop that 2020-08-27T18:53:29Z Bike: Why would you want instances of the same class to have different slots? That's confusing. 2020-08-27T18:53:30Z phoe: if you redefine a class, then all instances of it must get updated. 2020-08-27T18:53:43Z Bike: Are you sure you don't just want a new class? 2020-08-27T18:53:49Z phoe: if anything, you--- yes, this 2020-08-27T18:54:03Z Josh_2: well in this case they won't be used for long so would get garbage collected 2020-08-27T18:54:15Z Josh_2: It's okay if they get updated, thats fine 2020-08-27T18:54:50Z theseb quit (Quit: Leaving) 2020-08-27T18:54:54Z Bike: okay. so just do (eval `(defclass classname (supers...) ,@*slots-needed*)) when you change *slots-needed*. 2020-08-27T18:55:13Z Bike: and if that's what you want you can do that a little better with ensure-class instead, but it's still like a line of code. 2020-08-27T18:55:16Z phoe: or use the functional equivalent of C2MOP:ENSURE-CLASS 2020-08-27T18:55:18Z phoe: oh yes 2020-08-27T18:55:55Z Josh_2: Yes 2020-08-27T18:56:10Z Josh_2: ensure-class is what I was thinking 2020-08-27T18:56:47Z Josh_2: I was also thinking of making the slots dynamic like in the AMOP example 2020-08-27T18:56:52Z vutral quit (Quit: Connection closed for inactivity) 2020-08-27T18:56:52Z Josh_2: as I assume many of the slots won't be used 2020-08-27T18:57:22Z Bike: I really don't understand your architecture here. How many instances of this class are relevant at any given time? 2020-08-27T18:57:34Z Bike: It sounds like just one instance? 2020-08-27T18:58:12Z toorevitimirp joined #lisp 2020-08-27T18:58:52Z simendsjo joined #lisp 2020-08-27T18:59:17Z Josh_2: Don't take it seriously I'm basically just messing about 2020-08-27T18:59:26Z Josh_2: just experimenting ¯\_(ツ)_/¯ 2020-08-27T18:59:44Z Josh_2: it will be just one if It's working on a single thread 2020-08-27T19:01:03Z hendursaga quit (Quit: hendursaga) 2020-08-27T19:01:44Z hendursaga joined #lisp 2020-08-27T19:06:45Z hiroaki joined #lisp 2020-08-27T19:08:37Z Alloc quit (Ping timeout: 260 seconds) 2020-08-27T19:10:18Z toorevitimirp quit (Remote host closed the connection) 2020-08-27T19:12:02Z toorevitimirp joined #lisp 2020-08-27T19:12:03Z Alloc joined #lisp 2020-08-27T19:13:30Z simendsjo left #lisp 2020-08-27T19:15:26Z mmmattyx joined #lisp 2020-08-27T19:16:58Z toorevitimirp quit (Remote host closed the connection) 2020-08-27T19:18:20Z liberliver quit (Remote host closed the connection) 2020-08-27T19:18:32Z hiroaki quit (Ping timeout: 260 seconds) 2020-08-27T19:18:47Z liberliver joined #lisp 2020-08-27T19:19:05Z toorevitimirp joined #lisp 2020-08-27T19:20:25Z shangul quit (Ping timeout: 240 seconds) 2020-08-27T19:22:26Z duuqnd quit (Remote host closed the connection) 2020-08-27T19:22:55Z liberliver quit (Ping timeout: 240 seconds) 2020-08-27T19:24:08Z ggoes quit (Quit: WeeChat 2.3) 2020-08-27T19:24:37Z ggoes joined #lisp 2020-08-27T19:24:48Z ggoes quit (Client Quit) 2020-08-27T19:25:09Z ggoes joined #lisp 2020-08-27T19:28:03Z hiroaki joined #lisp 2020-08-27T19:31:16Z toorevitimirp quit (Remote host closed the connection) 2020-08-27T19:40:46Z rogersm joined #lisp 2020-08-27T19:42:46Z narimiran joined #lisp 2020-08-27T19:46:08Z mseddon quit (Quit: Leaving) 2020-08-27T19:47:15Z dominic35 joined #lisp 2020-08-27T19:48:14Z dominic34 quit (Ping timeout: 246 seconds) 2020-08-27T19:48:14Z dominic35 is now known as dominic34 2020-08-27T19:49:46Z sympt_ joined #lisp 2020-08-27T19:52:04Z Necktwi quit (Ping timeout: 246 seconds) 2020-08-27T19:52:18Z sympt quit (Ping timeout: 256 seconds) 2020-08-27T19:53:57Z iAmDecim joined #lisp 2020-08-27T19:55:33Z rogersm quit 2020-08-27T19:58:02Z Necktwi joined #lisp 2020-08-27T20:01:50Z pfdietz joined #lisp 2020-08-27T20:04:13Z save-lisp-or-die joined #lisp 2020-08-27T20:05:48Z scymtym quit (Ping timeout: 244 seconds) 2020-08-27T20:09:58Z _death: I guess what Josh_2 is trying to do is usually a basic feature of frame based systems.. 2020-08-27T20:11:41Z yitzi_ quit (Read error: Connection reset by peer) 2020-08-27T20:12:57Z _death: for example, Parmenides (which can be made to run on today's CL implementations with a few easy tweaks) has add-slot &key cache 2020-08-27T20:13:31Z phoe: _death: Parmenides? 2020-08-27T20:13:54Z _death: https://github.com/lispm/Parmenides 2020-08-27T20:14:48Z bilegeek joined #lisp 2020-08-27T20:15:16Z _death: check parmenides.doc file for introduction 2020-08-27T20:16:35Z Necktwi quit (Ping timeout: 258 seconds) 2020-08-27T20:17:47Z Lycurgus: wow jaime carbonnell 2020-08-27T20:17:58Z Lycurgus: (he died in feb) 2020-08-27T20:18:59Z wsinatra_ quit (Quit: WeeChat 2.9) 2020-08-27T20:21:09Z frgo_ is now known as frgo 2020-08-27T20:22:14Z Necktwi joined #lisp 2020-08-27T20:25:21Z dpd88 quit (Remote host closed the connection) 2020-08-27T20:26:02Z wsinatra quit (Ping timeout: 265 seconds) 2020-08-27T20:28:12Z _death: there was a good survey of frame representation systems.. http://www.ai.sri.com/pub_list/236 2020-08-27T20:28:51Z narimiran quit (Ping timeout: 258 seconds) 2020-08-27T20:29:35Z Lycurgus: i knew of it (parmenides) but now it occurs in the context of relief from encumbered frame systems 2020-08-27T20:30:40Z _death: what do you mean? (I played with it some years ago, but otherwise don't have much experience with those) 2020-08-27T20:30:54Z Lycurgus: what do I mean by what? 2020-08-27T20:31:06Z _death: relief from encumbered frame systems 2020-08-27T20:31:10Z Lycurgus: ah 2020-08-27T20:31:32Z Lycurgus: various frame systems that are embedded in sundry cog arches 2020-08-27T20:32:00Z Lycurgus: so that you have to buy the whole arch to use the frame sys 2020-08-27T20:32:15Z _death: I see 2020-08-27T20:34:40Z Lycurgus: and sometimes literally buy 2020-08-27T20:37:01Z _death: another one is KR, which comes with garnet (recently mentioned on r/Common_Lisp) 2020-08-27T20:37:40Z Lycurgus: yeah that's what i don't want - "comes with" 2020-08-27T20:38:25Z Lycurgus: has that been brought up in current mcclim oder btw? 2020-08-27T20:38:45Z Lycurgus: (garnet) 2020-08-27T20:39:37Z _death: well, garnet depends on KR, not the other way around 2020-08-27T20:39:40Z shka_ quit (Ping timeout: 246 seconds) 2020-08-27T20:43:48Z cosimone quit (Remote host closed the connection) 2020-08-27T20:44:53Z gravicappa quit (Ping timeout: 265 seconds) 2020-08-27T20:48:25Z _death: there must be some frame representation systems based on CLOS 2020-08-27T20:48:44Z wsinatra joined #lisp 2020-08-27T20:49:29Z pfdietz quit (Remote host closed the connection) 2020-08-27T20:49:30Z edgar-rft quit (Quit: Leaving) 2020-08-27T20:52:03Z Lycurgus quit (Quit: Exeunt) 2020-08-27T20:52:05Z iAmDecim quit (Ping timeout: 240 seconds) 2020-08-27T20:54:07Z IPmonger joined #lisp 2020-08-27T20:54:56Z _death: I guess gbbopen could be said to have one 2020-08-27T20:55:22Z IPmonger quit (Remote host closed the connection) 2020-08-27T20:55:49Z jeosol joined #lisp 2020-08-27T20:56:12Z rumbler31 joined #lisp 2020-08-27T20:58:25Z hiroaki quit (Ping timeout: 240 seconds) 2020-08-27T21:09:03Z scymtym joined #lisp 2020-08-27T21:12:39Z namosca joined #lisp 2020-08-27T21:16:25Z save-lisp-or-die quit (Remote host closed the connection) 2020-08-27T21:28:02Z EvW quit (Ping timeout: 260 seconds) 2020-08-27T21:36:44Z jeosol quit (Remote host closed the connection) 2020-08-27T21:42:25Z jeosol joined #lisp 2020-08-27T21:50:35Z jasom_ quit (Ping timeout: 240 seconds) 2020-08-27T21:53:55Z sjl_ quit (Ping timeout: 240 seconds) 2020-08-27T21:55:03Z elxbarbo` quit (Remote host closed the connection) 2020-08-27T21:56:16Z namosca quit (Quit: leaving) 2020-08-27T21:57:21Z jcowan joined #lisp 2020-08-27T21:57:22Z Necktwi quit (Ping timeout: 246 seconds) 2020-08-27T21:58:03Z jcowan: What's the general view in the CL community about error conditions? Is it usual to just use condition type ERROR or to create your own subtype? 2020-08-27T21:59:16Z retropikzel quit (Remote host closed the connection) 2020-08-27T22:00:32Z Xach: jcowan: it is pretty common to create your own conditions of the approprite type, which is often (but not always) a subtype of error. 2020-08-27T22:00:37Z Xach: appropriate, rather. 2020-08-27T22:01:07Z rumbler31 quit (Remote host closed the connection) 2020-08-27T22:01:11Z Xach: the condition is super useful for gathering relevant info about the problem 2020-08-27T22:01:26Z Xach: and the custom condition helps distinguish your condition from others that aren't of interest 2020-08-27T22:01:46Z Xach: sjl: did i miss a pr for your mercurial repos? 2020-08-27T22:02:14Z phoe: jcowan: (error "foo ~A" bar) is common, but custom condition types are so much better 2020-08-27T22:02:23Z sjl: Xach: https://github.com/quicklisp/quicklisp-projects/pull/1876 2020-08-27T22:02:44Z phoe: I try to make custom condition types wherever and however I can 2020-08-27T22:02:47Z Xach: thanks 2020-08-27T22:03:16Z Necktwi joined #lisp 2020-08-27T22:03:27Z jcowan: phoe: Well, yes, but then you are Lord High Conditioner 2020-08-27T22:03:28Z Xach: I usually think of (error "foo ~A" bar) as the quick and dirty first version and refine as time allows and need dictates 2020-08-27T22:03:48Z phoe: sure, feel free to disregard my opinion as appropriate :D 2020-08-27T22:05:42Z jcowan: The debate I'm having with a colleague is this. Given a document that is MIME-labeled with an unknown encoding name, what to do? We agree that returning NIL is a bad idea; I think the situation is rare enough that returning a generic condition type is enough, whereas my cow orker is strongly in favor of a unique type. Disregard for the moment the question of relevant information; the datum argument is enough. 2020-08-27T22:07:30Z Xach: I would make a unique type, and if the data isn't important, it would be as simple as (define-condition unknown-encoding-error (error) ()) 2020-08-27T22:07:34Z phoe: (handler-bind ((unknown-mime-label ...)) (process-stuff)) 2020-08-27T22:07:50Z phoe: the above becomes impossible with a cl:error. 2020-08-27T22:08:06Z Xach: There are so many other errors that might happen and being able to distinguish is very helpful later, as phoe suggests. 2020-08-27T22:08:11Z phoe: which means that the programmer cannot customize program behavior in case an unknown MIME label is encountered 2020-08-27T22:08:20Z phoe: and either you need to use a catch-all ERROR handler or drop into the debugger. 2020-08-27T22:08:22Z Xach: phoe: LIES. 2020-08-27T22:08:34Z phoe: Xach: hey wait how 2020-08-27T22:08:52Z Xach: phoe: you make a satisfies type that searches for strings in the error report text 2020-08-27T22:08:55Z phoe: other than via parsing the simple-error 2020-08-27T22:08:57Z phoe: eugh 2020-08-27T22:08:59Z phoe pukes 2020-08-27T22:09:09Z Xach: don't puke, it's actually pretty handy for errors you don't control 2020-08-27T22:09:18Z torbo joined #lisp 2020-08-27T22:09:19Z Xach: and you don't have to change (much) if the stuff is fixed later 2020-08-27T22:09:28Z phoe: yes, and it's ugly as holy hell because of sloppy condition programming 2020-08-27T22:09:40Z Xach: Ugly Yet Handy is the CL motto 2020-08-27T22:09:51Z phoe: we're suddenly back to using grep inside Lisp code 2020-08-27T22:10:00Z iAmDecim joined #lisp 2020-08-27T22:10:07Z Xach: but it's an abstraction layer away 2020-08-27T22:10:15Z Xach: so the handling code is not ugly 2020-08-27T22:10:19Z phoe: s/grep/cl:search 2020-08-27T22:10:40Z dominic34 quit (Remote host closed the connection) 2020-08-27T22:10:50Z phoe: well, correct, it's the SATISFIES type that is ugly. 2020-08-27T22:10:53Z phoe: the handler itself is okay. 2020-08-27T22:10:58Z Xach: yes 2020-08-27T22:11:03Z Xach: and the need to do it is ugly 2020-08-27T22:11:43Z jcowan: Well. The answer to that would have been to use predicates rather than types in handler-bind. But nooooo. 2020-08-27T22:12:09Z Xach: "i'm not wrong, the spec/compiler/world is wrong" 2020-08-27T22:12:29Z Xach: phoe: but, at least you can do it once, and use it N times 2020-08-27T22:12:35Z phoe: yes 2020-08-27T22:12:38Z phoe: and contain the ugliness 2020-08-27T22:12:54Z Xach: maybe satisfies types are actually beautiful 2020-08-27T22:12:58Z phoe: still, using a a SATISFIES type plus a named function that searches for substrings in condition reports is more ugly than using a proper condition type. 2020-08-27T22:13:07Z phoe: well they say beauty is in the eye of the beholder 2020-08-27T22:13:18Z phoe: do they satisfy you? 2020-08-27T22:13:21Z Xach: yes 2020-08-27T22:13:28Z phoe: well then 2020-08-27T22:13:29Z Xach: phoe: oh 2020-08-27T22:13:32Z phoe: jcowan: listen to Xach 2020-08-27T22:13:45Z jdz quit (Ping timeout: 240 seconds) 2020-08-27T22:13:59Z jcowan: Well, it seems you agree at least on the first-order advice: use a unique type. 2020-08-27T22:14:04Z Xach: i think i've also seen wrappers that promote vague errors to more specific things 2020-08-27T22:14:19Z fwoaroof[m]: I also like the ability to do (or parse-error type-error) 2020-08-27T22:14:26Z jdz joined #lisp 2020-08-27T22:14:30Z jcowan: My colleague is often very very very annoying. He makes up for this by sometimes (often?) being very very right. 2020-08-27T22:14:39Z Inline quit (Ping timeout: 258 seconds) 2020-08-27T22:14:43Z phoe: Xach: so, basically, they fix things for the original programmers 2020-08-27T22:14:58Z jcowan: fwoaroof[m]: Well, a macro would handle that for you. 2020-08-27T22:15:00Z fwoaroof[m]: Xach: that's my preference, for simple conditions: do the ugly string thing, but do it in a wrapper that signals a unique condition type 2020-08-27T22:15:25Z fwoaroof[m]: jcowan: why write a macro when I can just use a type? 2020-08-27T22:15:46Z phoe: jcowan: (handler-bind (((or foo bar baz) #'handle-condition)) ...) 2020-08-27T22:15:50Z phoe: that's a valid type 2020-08-27T22:15:53Z fwoaroof[m]: Also (and base-condition-1 base-condition-2) for the common subclasses of two conditions might occasionally be useful 2020-08-27T22:15:54Z jcowan: I mean, write a macro that can do OR-types and AND-types for you and use it instead of handler-bind 2020-08-27T22:16:05Z phoe: oh 2020-08-27T22:16:19Z fwoaroof[m]: Again, I think types in handler-bind was the right decision 2020-08-27T22:16:37Z fwoaroof[m]: Sure, you can do predicates or whatever, but I actually like the type system in CL :) 2020-08-27T22:16:41Z jcowan: It's certainly a reasonable choice, but if you have predicates you can easily get types; vice versa, not so much. 2020-08-27T22:16:54Z fwoaroof[m]: SATISFIES is a type :) 2020-08-27T22:17:03Z jcowan handwaves 2020-08-27T22:17:06Z fwoaroof[m]: So, they're isomorphic 2020-08-27T22:18:52Z cgay joined #lisp 2020-08-27T22:22:11Z iAmDecim quit (Ping timeout: 240 seconds) 2020-08-27T22:25:10Z mmmattyx quit (Quit: Connection closed for inactivity) 2020-08-27T22:25:12Z EvW joined #lisp 2020-08-27T22:31:59Z iAmDecim joined #lisp 2020-08-27T22:37:05Z stepnem quit (Ping timeout: 240 seconds) 2020-08-27T22:38:54Z Josh_2: How do I translate this? (eval-when (load eval compile) .. ) to It's CL equiv? 2020-08-27T22:39:15Z stepnem joined #lisp 2020-08-27T22:39:49Z iAmDecim quit (Ping timeout: 264 seconds) 2020-08-27T22:40:05Z phoe: (eval-when (:compile-toplevel :load-toplevel :execute) ...) 2020-08-27T22:40:11Z Josh_2: sweet thanks 2020-08-27T22:40:14Z phoe: also, the above is valid, but deprecated, CL 2020-08-27T22:40:18Z Josh_2: Yes 2020-08-27T22:40:25Z phoe: I mean, (eval-when (load eval compile) ...) 2020-08-27T22:40:31Z phoe: e.g. SBCL will warn when using this syntax 2020-08-27T22:43:05Z Josh_2: (eval-when (load eval) becomes (eval-when (:load-toplevel :execute ) ..? 2020-08-27T22:44:37Z random-nick quit (Ping timeout: 246 seconds) 2020-08-27T22:45:03Z save-lisp-or-die joined #lisp 2020-08-27T22:51:09Z frgo quit (Remote host closed the connection) 2020-08-27T22:51:28Z jcowan: At one time I tried to convince eval-when on SBLC that I wanted a function needed only to expand a macro to be present at compile time but not runtime, but I was never able to get it to work with both compile-file and load. 2020-08-27T22:51:44Z frgo joined #lisp 2020-08-27T23:01:25Z Necktwi quit (Ping timeout: 264 seconds) 2020-08-27T23:03:19Z fwoaroof[m]: "deprecated" 2020-08-27T23:06:54Z chiota quit (Quit: Lost terminal) 2020-08-27T23:08:38Z iAmDecim joined #lisp 2020-08-27T23:09:25Z CrazyEddy quit (Ping timeout: 240 seconds) 2020-08-27T23:09:34Z rumbler31_ quit (Ping timeout: 256 seconds) 2020-08-27T23:12:21Z save-lisp-or-die quit (Remote host closed the connection) 2020-08-27T23:21:00Z iAmDecim quit (Ping timeout: 265 seconds) 2020-08-27T23:23:15Z iAmDecim joined #lisp 2020-08-27T23:26:32Z Bike quit (Quit: Lost terminal) 2020-08-27T23:29:34Z Bourne quit (Ping timeout: 260 seconds) 2020-08-27T23:30:30Z spacebat2 quit (Ping timeout: 260 seconds) 2020-08-27T23:30:48Z spacebat2 joined #lisp 2020-08-27T23:38:25Z bilegeek quit (Quit: Leaving) 2020-08-27T23:39:01Z sveit: hello; this is similar to a question i have asked before, but is it known/specified if inlining of function calls happens before or after compiler macros are run? 2020-08-27T23:40:54Z pve quit (Quit: leaving) 2020-08-27T23:43:35Z iAmDecim quit (Ping timeout: 258 seconds) 2020-08-27T23:46:02Z jeosol quit (Remote host closed the connection) 2020-08-27T23:46:56Z phoe: AFAIK compiler macros are allowed to be used instead of inlined function bodies 2020-08-27T23:47:07Z phoe: so compiler macros are earlier I guess 2020-08-27T23:48:17Z jasom_ joined #lisp 2020-08-27T23:49:12Z mangoicedtea joined #lisp 2020-08-27T23:50:41Z sveit: phoe: thanks. to confirm, i mean if G would have been inlined and F has a compiler macro definition, the F compiler has a chance to see G in (F (G x))? 2020-08-27T23:50:51Z sveit: the F compiler macro has a chance to see* 2020-08-27T23:51:55Z Oddity_ joined #lisp 2020-08-27T23:53:12Z drl joined #lisp 2020-08-27T23:55:37Z Oddity quit (Ping timeout: 260 seconds) 2020-08-28T00:02:12Z Josh_2: _death: I tried to get Parmenides to run on CL, seems that *most* of the tests pass 2020-08-28T00:02:32Z Josh_2: still doesn't compile without supervision though 2020-08-28T00:04:56Z nicktick joined #lisp 2020-08-28T00:07:54Z _death: Josh_2: here's my patch from back then https://gist.github.com/death/3a9d34fcb092ad7d78ac65e62135be0f 2020-08-28T00:09:47Z lisbeths left #lisp 2020-08-28T00:11:25Z dilated_dinosaur quit (Ping timeout: 240 seconds) 2020-08-28T00:14:15Z _death: it seems all tests in prtest.lisp pass here 2020-08-28T00:14:22Z Josh_2: hmmm 2020-08-28T00:16:14Z Josh_2: they don't for me 2020-08-28T00:17:02Z Josh_2: I've already made all of the changes you have in that gist but it still struggles to compile, I also had a problem where some function that expected a symbol was getting a list containing a keyword 2020-08-28T00:17:23Z Josh_2: Well it compiles if I manually compile one function before the others 2020-08-28T00:17:26Z Josh_2: but the tests fail 2020-08-28T00:18:05Z shifty joined #lisp 2020-08-28T00:18:32Z mrcom joined #lisp 2020-08-28T00:18:40Z Josh_2: theres name conflicts as well 2020-08-28T00:19:12Z _death: ah, yes.. I loaded it without compiling 2020-08-28T00:20:03Z Josh_2: I converted it into an asdf system etc 2020-08-28T00:20:39Z Josh_2: I can put on github if you want to look? 2020-08-28T00:21:17Z _death: sure.. maybe tomorrow (it's time to sleep now) 2020-08-28T00:24:59Z thijso quit (Ping timeout: 240 seconds) 2020-08-28T00:32:01Z Necktwi joined #lisp 2020-08-28T00:32:17Z thijso joined #lisp 2020-08-28T00:33:34Z Josh_2: _death: https://github.com/K1D77A/Parmenides I added the problems I have with compiling as issues 2020-08-28T00:34:58Z _death: hmm, maybe better to fork the lispm repo which has the original code and then add your patch 2020-08-28T00:35:13Z Josh_2: I can do that 2020-08-28T00:35:35Z _death: I'll try to look at it tomorrow and maybe have some patches as well 2020-08-28T00:37:47Z iAmDecim joined #lisp 2020-08-28T00:43:23Z Josh_2: _death: https://github.com/K1D77A/Parmenides this is a fork, I don't know how to add issues though 2020-08-28T00:44:45Z orivej quit (Read error: Connection reset by peer) 2020-08-28T00:44:54Z orivej_ joined #lisp 2020-08-28T00:51:55Z iAmDecim quit (Ping timeout: 240 seconds) 2020-08-28T00:54:24Z zigpaw1 quit (Ping timeout: 256 seconds) 2020-08-28T00:55:05Z matsudachan joined #lisp 2020-08-28T00:56:42Z zigpaw1 joined #lisp 2020-08-28T00:58:09Z Josh_2 quit (Ping timeout: 265 seconds) 2020-08-28T01:00:14Z space_otter joined #lisp 2020-08-28T01:05:24Z Necktwi quit (Ping timeout: 265 seconds) 2020-08-28T01:06:46Z _jrjsmrtn joined #lisp 2020-08-28T01:07:34Z __jrjsmrtn__ quit (Ping timeout: 260 seconds) 2020-08-28T01:07:39Z Oladon joined #lisp 2020-08-28T01:11:55Z EvW quit (Ping timeout: 240 seconds) 2020-08-28T01:20:52Z Necktwi joined #lisp 2020-08-28T01:25:27Z phoe: enable this in the repo settings 2020-08-28T01:27:03Z Bourne joined #lisp 2020-08-28T01:42:11Z matsudachan quit (Quit: WeeChat 2.3) 2020-08-28T01:45:00Z nicktick quit (Ping timeout: 256 seconds) 2020-08-28T02:04:05Z yamamotosama joined #lisp 2020-08-28T02:05:49Z orivej_ quit (Ping timeout: 265 seconds) 2020-08-28T02:06:49Z ravndal quit (Ping timeout: 264 seconds) 2020-08-28T02:08:24Z rumbler31 joined #lisp 2020-08-28T02:10:39Z brj quit (Ping timeout: 265 seconds) 2020-08-28T02:10:42Z mangoicedtea quit (Quit: Leaving) 2020-08-28T02:11:12Z dominic34 joined #lisp 2020-08-28T02:11:12Z dominic34 quit (Excess Flood) 2020-08-28T02:11:28Z dominic34 joined #lisp 2020-08-28T02:12:38Z Bourne` joined #lisp 2020-08-28T02:12:39Z brj joined #lisp 2020-08-28T02:13:54Z Bourne quit (Ping timeout: 256 seconds) 2020-08-28T02:15:34Z ravndal joined #lisp 2020-08-28T02:17:03Z jesse1010 quit (Read error: Connection reset by peer) 2020-08-28T02:17:20Z jesse1010 joined #lisp 2020-08-28T02:17:42Z jesse1010 quit (Remote host closed the connection) 2020-08-28T02:21:21Z john__ joined #lisp 2020-08-28T02:24:58Z gaqwas quit (Ping timeout: 258 seconds) 2020-08-28T02:30:34Z Lycurgus joined #lisp 2020-08-28T02:31:25Z bsd4me joined #lisp 2020-08-28T02:34:17Z Lycurgus quit (Remote host closed the connection) 2020-08-28T02:35:10Z kilimanjaro: Are there any obvious ways to speed this up (e.g. on SBCL), without using multiple cores? https://gist.github.com/kilimanjaro/72eef27b8bd435b82461bfa2124e12ec 2020-08-28T02:35:29Z kilimanjaro: Specifically, the part within the `time` form 2020-08-28T02:37:14Z kilimanjaro: I am just curious -- the C version seems to be ~4x faster, but I don't really have any sense of why 2020-08-28T02:38:12Z Necktwi quit (Ping timeout: 265 seconds) 2020-08-28T02:39:21Z kilimanjaro: (clang with -O3) 2020-08-28T02:49:17Z Necktwi joined #lisp 2020-08-28T02:50:54Z aeth: kilimanjaro: Is the C version identical to what you just wrote? Because that currently returns nothing, and so can be optimized to do nothihng, but won't in SBCL. 2020-08-28T02:51:05Z aeth: *to do nothing 2020-08-28T02:51:59Z kilimanjaro: let's suppose then that I am returning the array C 2020-08-28T02:52:36Z kilimanjaro: the C version is doing that 2020-08-28T02:53:00Z kilimanjaro: (rather, it's just given pointers to A,B,C) 2020-08-28T02:56:08Z aeth: Well, you can do this: (deftype matrix () `(simple-array double-float (,+size+ ,+size+))) ; except in CCL, if you do this portably and want it to run in CCL you'll have to wrap the defconstant in an eval-when 2020-08-28T02:57:14Z aeth: Then you can spin off the relevant part (and return c in the outer DOTIMES), e.g. (defun matmul-optimized (a b c) (declare (type matrix a b c) (optimize (speed 3) (debug 0))) (dotimes (i +size+ c) (dotimes (k +size+) (dotimes (j +size+) (incf (aref C i j) (* (aref A i k) (aref B k j))))))) 2020-08-28T02:57:36Z aeth: And then you can look at the asm in the now smaller function. (disassemble #'matmul-optimized) 2020-08-28T02:59:25Z Necktwi quit (Ping timeout: 240 seconds) 2020-08-28T02:59:47Z ldb joined #lisp 2020-08-28T02:59:52Z aeth_ joined #lisp 2020-08-28T03:00:40Z aeth_: If you insist on having (safety 0) then you'll probably want to see the full asm in SBCL, i.e. (sb-disassem:disassemble-code-component #'matmul-optimized) 2020-08-28T03:01:00Z brj quit (Ping timeout: 258 seconds) 2020-08-28T03:01:33Z aeth quit (Disconnected by services) 2020-08-28T03:01:38Z aeth_ is now known as aeth 2020-08-28T03:01:46Z prite quit (Ping timeout: 258 seconds) 2020-08-28T03:02:11Z aeth: kilimanjaro: as for the C side, there's a website that does compiler asm output for such things because it's not built into C. You can then see how it differs. I forget the name of the site. 2020-08-28T03:03:05Z brj joined #lisp 2020-08-28T03:03:27Z aeth: heh, I think DuckDuckGo was filtering out "C" because it was too short so I searched for C++ instead. It's this. https://godbolt.org/ 2020-08-28T03:05:27Z Necktwi joined #lisp 2020-08-28T03:06:06Z aeth: So if the shortened version that I wrote has subsantially different generated assembly to what godbolt says for C/C++, that's the performance difference and #sbcl might be interested. 2020-08-28T03:06:18Z kilimanjaro: Thanks 2020-08-28T03:06:55Z aeth: And if you (setf *print-case* :downcase) before you diassemble, you get the asm in lower case, which might help with the readability. 2020-08-28T03:07:55Z Bourne` quit (Remote host closed the connection) 2020-08-28T03:08:20Z Bourne joined #lisp 2020-08-28T03:10:16Z brj quit (Ping timeout: 246 seconds) 2020-08-28T03:11:55Z prite joined #lisp 2020-08-28T03:12:10Z beach: Good morning everyone! 2020-08-28T03:12:24Z brj joined #lisp 2020-08-28T03:12:35Z aeth: and this keyboard apparently needs cleaning because some keys are no longer pressing all of the way and I dropped some random letters in there 2020-08-28T03:13:15Z kilimanjaro: aeth: I think I see part of what is going on 2020-08-28T03:13:59Z kilimanjaro: SBCL is able to use XMM registers but the generated code is doing 64 bit moves 2020-08-28T03:14:11Z bilegeek joined #lisp 2020-08-28T03:14:23Z kilimanjaro: clang has somehow unpacked things into 128 bit moves 2020-08-28T03:14:39Z kilimanjaro: so basically, it rewrote the inner loop 2020-08-28T03:14:45Z kilimanjaro: to work on pairs 2020-08-28T03:15:46Z ldb: good morning 2020-08-28T03:15:50Z kilimanjaro: e.g. the MOVUPD instructions in https://godbolt.org/z/srGsj1 2020-08-28T03:15:59Z rumbler31 quit (Remote host closed the connection) 2020-08-28T03:16:26Z beach: Hello ldb. 2020-08-28T03:17:55Z kilimanjaro: in this gist (updated), the SBCL disassembly is shown and all of the moves into XMM registers are 64 bit https://gist.github.com/kilimanjaro/72eef27b8bd435b82461bfa2124e12ec 2020-08-28T03:18:59Z Christ0p1er quit (Ping timeout: 240 seconds) 2020-08-28T03:19:48Z kilimanjaro: aeth: thanks, this is a clear enough explanation 2020-08-28T03:20:36Z Christ0pher joined #lisp 2020-08-28T03:23:40Z kilimanjaro: so at the very least, if I want to write SBCL-specific code I can use https://pvk.ca/Blog/2013/06/05/fresh-in-sbcl-1-dot-1-8-sse-intrinsics/ etc 2020-08-28T03:34:25Z prite quit (Ping timeout: 240 seconds) 2020-08-28T03:36:20Z Alloc quit (Ping timeout: 244 seconds) 2020-08-28T03:36:37Z Alloc joined #lisp 2020-08-28T03:39:13Z drl quit (Read error: Connection reset by peer) 2020-08-28T03:46:18Z yamamotosama quit (Quit: WeeChat 2.3) 2020-08-28T03:47:35Z ggole joined #lisp 2020-08-28T03:47:46Z yamamotosama joined #lisp 2020-08-28T03:52:21Z bsd4me left #lisp 2020-08-28T04:04:08Z gravicappa joined #lisp 2020-08-28T04:06:26Z ldb quit (Quit: Connection closed) 2020-08-28T04:07:14Z ldb joined #lisp 2020-08-28T04:08:38Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2020-08-28T04:12:33Z iAmDecim joined #lisp 2020-08-28T04:14:53Z narimiran joined #lisp 2020-08-28T04:22:04Z edgar-rft joined #lisp 2020-08-28T04:30:52Z yamamotosama quit (Quit: WeeChat 2.3) 2020-08-28T04:33:05Z zigpaw1 quit (Ping timeout: 240 seconds) 2020-08-28T04:33:10Z shangul joined #lisp 2020-08-28T04:33:55Z lisbeths joined #lisp 2020-08-28T04:34:02Z lisbeths: The topic of this channel is not lisp, it is CLHS 2020-08-28T04:34:07Z lisbeths: demonstrate that I am incorrect 2020-08-28T04:35:25Z iAmDecim quit (Ping timeout: 240 seconds) 2020-08-28T04:36:07Z beach: The topic of this channel is Common Lisp. The language itself, implementations of it, libraries and applications written in it, etc. 2020-08-28T04:36:45Z lisbeths: Thats incorrect. The topic of this channel is the common lisp hyperspec. 2020-08-28T04:36:52Z lisbeths: The logs will prove that my last statement is correct. 2020-08-28T04:36:59Z beach: OK, good luck with that. 2020-08-28T04:37:01Z lisbeths: #lisp is a supercategory of clhs 2020-08-28T04:37:18Z lisbeths: there is more to what is expressed by the english word lisp than what is expressed in CLHS 2020-08-28T04:37:51Z lisbeths: even if you would like to relegate it to just commmon lisp, there is more that is expressed within the context of the phrase "common lisp" than what is expressed in clhs 2020-08-28T04:37:59Z lisbeths: you, beach, have held back the progress of lisp by 20 years 2020-08-28T04:38:11Z beach: Yeah, sorry about that. 2020-08-28T04:38:20Z lisbeths: newcomers hate this channel because this channel should be named #clhs based on the rules here 2020-08-28T04:38:38Z lisbeths: you have probably turned countless people away by rudely expecting them to be able to read a document only accessable by software engineers 2020-08-28T04:38:49Z ldb: so what's good about lisp that people all wants that 2020-08-28T04:39:32Z lisbeths: You should create a channel named #CLHS or something like that, and transfer the rules of this channel to that one 2020-08-28T04:39:47Z lisbeths: you sohuld not censor people woh want to talk about extending commmon lisp beyond the hyperspec 2020-08-28T04:39:47Z zigpaw1 joined #lisp 2020-08-28T04:39:55Z lisbeths: people may discuss #lisp but people may not discuss #programming-lisp 2020-08-28T04:39:59Z lisbeths: that is basically a crime against humanity 2020-08-28T04:40:03Z lisbeths: and its disgusting 2020-08-28T04:40:03Z beach: lisbeths: I think we get the point. Thank you. 2020-08-28T04:40:25Z dominic34 quit (Ping timeout: 240 seconds) 2020-08-28T04:40:34Z lisbeths: Can you express to me in your own words what my point is do demonstrate that you understand what I've said 2020-08-28T04:41:03Z lisbeths: I am calling you, beach, the bane of lisp in the 2000s and 2010s 2020-08-28T04:41:10Z lisbeths: a person who has held the progress of lisp advocacy back 2020-08-28T04:41:57Z lisbeths: The only reason I dare say this is I am not afraid of being banned anymore 2020-08-28T04:42:00Z lisbeths: honestly you have done bad 2020-08-28T04:42:05Z Lord_of_Life quit (Ping timeout: 240 seconds) 2020-08-28T04:42:19Z lisbeths: you have done wrong to lisp programmers, but you have done it "perfectly", without error 2020-08-28T04:42:46Z wsinatra quit (Ping timeout: 256 seconds) 2020-08-28T04:42:50Z lisbeths: I half believe you are just an artificial intelligence behind that screen. A perfect machine made by the military or something. 2020-08-28T04:43:29Z lisbeths: Whenever I come here you are always awake. An organic can't do that. 2020-08-28T04:43:42Z lisbeths: You respond intantly. You have infinite free time. The logs might show this. 2020-08-28T04:43:44Z Alloc quit (Ping timeout: 258 seconds) 2020-08-28T04:43:50Z Necktwi quit (Ping timeout: 256 seconds) 2020-08-28T04:43:51Z ldb: i'm just a bot cant pass turing test, sad 2020-08-28T04:45:09Z toorevitimirp joined #lisp 2020-08-28T04:45:09Z toorevitimirp quit (Remote host closed the connection) 2020-08-28T04:45:18Z Lord_of_Life joined #lisp 2020-08-28T04:45:33Z aeth: the reason there isn't a new spec is because we don't have a budget for one 2020-08-28T04:45:35Z toorevitimirp joined #lisp 2020-08-28T04:46:13Z lisbeths: This has nothing to do with making a new spec. The spec is sufficient. 2020-08-28T04:46:16Z beach: aeth: Please don't encourage this. 2020-08-28T04:46:23Z lisbeths: You are a machine. 2020-08-28T04:46:34Z lisbeths: I do not think you are human I think you are a program. 2020-08-28T04:46:58Z Alloc joined #lisp 2020-08-28T04:47:07Z aeth: beach: OK, I won't try to argue or address the claims. 2020-08-28T04:47:35Z lisbeths: I predict he has little rebuttle. 2020-08-28T04:47:44Z lisbeths: My claims are valid and probably true. 2020-08-28T04:47:48Z aeth: the best thing to do is probably to change the subject to be on topic again 2020-08-28T04:48:01Z lisbeths: I shall not. 2020-08-28T04:48:06Z lisbeths: The topic of this channel is #clhs 2020-08-28T04:48:24Z lisbeths: I will protest htat you should leave to #clhs and do not come back or I will petition in #freenode to have you removed. 2020-08-28T04:48:35Z lisbeths: You do not allow discussion. 2020-08-28T04:48:49Z beach makes use of /ignore 2020-08-28T04:49:06Z aeth: It's Friday in most of the world. Has anyone started/continued any interesting projects this week? 2020-08-28T04:49:06Z lisbeths: When you censor your reality your reality censors you. 2020-08-28T04:49:08Z shangul quit (Remote host closed the connection) 2020-08-28T04:49:09Z jasom_: 4 hours ago people were discussing how to get sbcl to generate more optimal machine code, all things clearly mentioned in the clhs 2020-08-28T04:49:35Z shangul joined #lisp 2020-08-28T04:49:56Z Necktwi joined #lisp 2020-08-28T04:50:07Z ldb: aeth:not necessarily lisp related, but I heard someone made progress define formal semantics for python 2020-08-28T04:50:20Z ldb: using machine learning 2020-08-28T04:51:50Z lisbeths: If I shall not be banned then I declare a mutiny and the discussion topic is no longer #clhs but #common-lisp 2020-08-28T04:51:58Z lisbeths: and I shall discuss #common-lisp as I pleaes and if you do not like it then ban me. 2020-08-28T04:52:34Z ldb shall partake 2020-08-28T04:53:11Z lisbeths: It is clear to me that #common-lisp is the most superior programming language on the earth, because it is a supercategory of ada because it has syntactic macros. 2020-08-28T04:53:38Z lisbeths: In the 1980s the department of defence made note of ada and common lisp as very nice programming languages which were suitable for its needs. 2020-08-28T04:53:52Z lisbeths: Common lisp is the current best and fastest programming language for a quantum computer, which is the fastest computer on the public record. 2020-08-28T04:54:03Z aeth: ldb: Do you think that would work with CL? I think there's a Well-Specified Common Lisp project. It could be a good starting point. 2020-08-28T04:56:07Z lisbeths: There is more than one project pertaining to common lisp. 2020-08-28T04:56:27Z lisbeths: For example, common lisp emacs is a project pertaining to common lisp. 2020-08-28T04:56:42Z lisbeths: There are many libraries for common lisp which aim to take an implementation of common lisp and apply it to make gtk applications. 2020-08-28T04:56:54Z lisbeths: it is a false statmenet to say that there is *only* one common lisp project, or that there could only be one 2020-08-28T04:57:02Z ldb: aeth: be precisely it is small step operational semantics, so I'd say maybe a particular implementation should be picked 2020-08-28T04:58:09Z aeth: ldb: CL-the-actual-language is just the intersection of how all of the major implementations behave, unless this behavior contradicts the spec 2020-08-28T04:58:27Z aeth: it would be interesting to see some de facto standards 2020-08-28T04:58:39Z aeth: CCL tends to break a lot of assumptions, though. 2020-08-28T04:59:44Z ldb: https://cs.brown.edu/~sk/Publications/Papers/Published/kle-next-700-semantics//paper.pdf 2020-08-28T05:00:31Z ldb: clarification: I've not read it thoroughly, just heard some comments from others 2020-08-28T05:09:26Z lisbeths: It seems to me that common lisp is the most superior programming language on the planet. 2020-08-28T05:11:14Z lisbeths: It seems to me that if my previous claim is true that it makes sence for the common lisp community to better advocate for lisp. 2020-08-28T05:11:30Z lisbeths: If it were in fact the most superior or best current available language then advocating for it would help humanity. 2020-08-28T05:11:42Z lisbeths: If it were not the best or most superior then advocating for it would reveal that it is not the best or most superior. 2020-08-28T05:12:37Z karlosz quit (Quit: karlosz) 2020-08-28T05:13:23Z lisbeths: It seems to me that if my belief that common-lisp is the most superior langauge is true, then if the industry used common-lisp as a whole then they would not be able to then kick the habit of it, because each time they did so they would benefit negatively. 2020-08-28T05:14:10Z lisbeths: Thus, I predict that if the industry at large were comitted to lisp it would be so comitted indefinitely. 2020-08-28T05:14:30Z lisbeths: Therefore, I consider a good way to advocate for common-lisp should be to convince the industry to use it at large. 2020-08-28T05:15:21Z Oladon quit (Quit: Leaving.) 2020-08-28T05:15:47Z lisbeths: It seems to me that a good way to convince the industry to try using common lisp at large is a giant marketing campaign. 2020-08-28T05:15:53Z lisbeths: It seems to me that marketing can be done without any funding. 2020-08-28T05:16:11Z grewal quit (Ping timeout: 240 seconds) 2020-08-28T05:16:34Z rumbler31 joined #lisp 2020-08-28T05:17:03Z Lord_Nightmare2 joined #lisp 2020-08-28T05:17:13Z Lord_Nightmare quit (Ping timeout: 265 seconds) 2020-08-28T05:17:26Z grewal joined #lisp 2020-08-28T05:17:35Z lisbeths: It seems to way that one of the best way to market for free is with memes. 2020-08-28T05:17:52Z lisbeths: Facebook has a bot that generates memes. 2020-08-28T05:18:09Z lisbeths: We can have a bot written in portable common lisp which accepts data as input, expects that data to be an image macro, and which produces memes. 2020-08-28T05:18:11Z Lord_Nightmare2 is now known as Lord_Nightmare 2020-08-28T05:18:25Z bilegeek quit (Quit: Leaving) 2020-08-28T05:18:35Z lisbeths: this bot can be rewarded or punished based on how good the user thinks it's memes are 2020-08-28T05:18:48Z lisbeths: This bot can also be reward or punshed based on the number of google searches for lisp and common lisp 2020-08-28T05:19:10Z ldb uses ignore 2020-08-28T05:21:06Z lisbeths: in addition to bot created memes, humans can create and share memes 2020-08-28T05:21:13Z rumbler31 quit (Ping timeout: 264 seconds) 2020-08-28T05:21:27Z lisbeths: common-lisp programmers can additionally make an effort to promote lisp verbally and on thier online blogging platforms 2020-08-28T05:21:48Z lisbeths: Since common-lisp is a prefix language, I declare january to be lisp history month. 2020-08-28T05:21:50Z nicktick joined #lisp 2020-08-28T05:22:41Z no-defun-allowed joined #lisp 2020-08-28T05:22:50Z lisbeths: The first day of january is lisp week and the first day of that week, whenever january first is, is lisp day. 2020-08-28T05:23:01Z lisbeths: And the first hour is lisp hour and the first minute is lisp minute and the first second is lisp second and so on and so forth. 2020-08-28T05:24:22Z lisbeths: Lisp history will be for: enjoying common-lisp and lisp history, shaing lisp songs, sharing lisp image macros, lisp poems, and of course, writing and sharing and peer reviewing lisp code. 2020-08-28T05:24:36Z lisbeths: During lisp month it is traditional to read other peoples lisp code and rate it on github and comment on it. 2020-08-28T05:25:55Z bocaneri joined #lisp 2020-08-28T05:26:45Z lisbeths: Another ritual during lisp month is to completely re-read Practical Common Lisp or Gentle introduction to Symbolic computation (which is a beginner's lisp book) 2020-08-28T05:27:20Z Oladon joined #lisp 2020-08-28T05:29:01Z Oladon quit (Client Quit) 2020-08-28T05:32:55Z Necktwi quit (Ping timeout: 240 seconds) 2020-08-28T05:38:14Z torbo quit (Remote host closed the connection) 2020-08-28T05:38:39Z Necktwi joined #lisp 2020-08-28T05:51:46Z fe[nl]ix has set mode +b *!~user@2601:601:8300:81a0:20b2:1f6:f8c:3568 2020-08-28T05:51:46Z lisbeths [~quassel@pdpc/supporter/professional/fenlix] has been kicked from #lisp by fe[nl]ix (lisbeths) 2020-08-28T06:00:53Z justache quit (Remote host closed the connection) 2020-08-28T06:01:46Z ldb quit (Ping timeout: 246 seconds) 2020-08-28T06:02:24Z justache joined #lisp 2020-08-28T06:04:47Z aeth: to get things back on topic again, for anyone who hadn't ignored lisbeths, I'll repeat what I said earlier. 2020-08-28T06:04:50Z aeth: It's Friday in most of the world. Has anyone started/continued any interesting projects this week? 2020-08-28T06:04:55Z ldb joined #lisp 2020-08-28T06:07:24Z beach: Sure... 2020-08-28T06:07:34Z snowyfox joined #lisp 2020-08-28T06:07:50Z beach: I collaborated with jackdaniel on Clostrum, which is an extraction of SICL first-class global environments to a separate repository. 2020-08-28T06:08:15Z aeth: portable to different implementations? 2020-08-28T06:08:21Z beach: And I am working on an "AST evaluator" that will be the basis of a general-purpose cross compiler. 2020-08-28T06:08:33Z beach: Yes, implementation independent. 2020-08-28T06:08:37Z aeth: interesting 2020-08-28T06:08:40Z akoana quit (Quit: leaving) 2020-08-28T06:09:29Z beach: And jackdaniel will create a bunch of macros that are adapted to use Clostrum for ECL. 2020-08-28T06:09:53Z aeth: Will we see it in all of the major implementations, like with package-local-nicknames last year, or are there significant barriers to implementing it? 2020-08-28T06:09:59Z snowyfox quit 2020-08-28T06:10:03Z beach: Then, Clostrum plus those macros, plus Eclector, Cleavir, Trucler, can be used to cross compile ECL code. 2020-08-28T06:10:59Z beach: The main barrier is that macros with compile-time side effects, like DEFUN, DEFGENERIC, DEFVAR, etc. must be adapted to use Clostrum. 2020-08-28T06:11:38Z beach: On the other hand, while I said it can be used as a cross compiler, nothing prevents its use as a native compiler. 2020-08-28T06:11:40Z aeth: ah 2020-08-28T06:12:08Z beach: And then, it would be normal for an implementation to replace its existing macros with Clostrum versions. 2020-08-28T06:12:51Z beach: I myself am doing the same work as jackdaniel, but for SICL, since SICL did not use Clostrum in the past. 2020-08-28T06:14:55Z beach: Is that interesting enough for you? 2020-08-28T06:14:56Z beach: :) 2020-08-28T06:15:39Z aeth: yes 2020-08-28T06:15:42Z aeth: is there a writeup anywhere? 2020-08-28T06:16:03Z beach: There is a Clostrum specification. But nothing for the AST evaluator (yet). 2020-08-28T06:16:57Z snowyfox joined #lisp 2020-08-28T06:17:21Z beach: https://github.com/s-expressionists/Clostrum 2020-08-28T06:18:57Z beach: And the interesting part about the AST evaluator (if it works, which seems to be the case) is that it translates Cleavir ASTs to host Common Lisp code in a way that the resulting code accesses the Clostrum environment. 2020-08-28T06:18:58Z beach: That way, the host global environment is not involved, but the code can still be compiled by the host compiler, so execution should be fast in most host Common Lisp implementations. 2020-08-28T06:19:38Z aeth: beach: ah, that's why I couldn't find it, thanks 2020-08-28T06:20:05Z john__ is now known as gaqwas 2020-08-28T06:20:08Z ldb: beach: what is the interface of the AST translator? 2020-08-28T06:20:15Z gaqwas quit (Changing host) 2020-08-28T06:20:15Z gaqwas joined #lisp 2020-08-28T06:20:47Z beach: ldb: A single generic function TRANSLATE-AST with a method for each type of AST class. 2020-08-28T06:21:09Z ldb: i see 2020-08-28T06:21:09Z aeth: beach: so if SBCL were to adapt to support it, then it would compile code as fast as "normal" SBCL? 2020-08-28T06:21:11Z beach: ldb: You can look in the SICL repository in Code/AST-evaluator/... 2020-08-28T06:21:55Z beach: aeth: A bit slower because it needs to go though generic functions to access the global environment. 2020-08-28T06:22:14Z iamFIREc1 joined #lisp 2020-08-28T06:22:24Z aeth: beach: ah, so the dynamic variables would be a bit slower, but the lexical ones (and functions) wouldn't? 2020-08-28T06:22:29Z snowyfox quit 2020-08-28T06:22:32Z beach: Right. 2020-08-28T06:22:43Z beach: Like FDEFINITION and SYMBOL-VALUE will be a bit slower. 2020-08-28T06:23:15Z aeth: sounds like a reasonable sacrifice to me... the only place where there are tons of dynamic variables is the IO streams 2020-08-28T06:23:21Z aeth: at least, afaik. 2020-08-28T06:24:04Z aeth: (dynamic as in dynamically scope... technically "special variables" in CLHS terminology iirc, in case anyone was confused) 2020-08-28T06:24:08Z beach: Maybe so, yes. But the main interesting aspect of this thing is that it could be used for bootstrapping a Common Lisp implementation like ECL. 2020-08-28T06:24:43Z beach: You could potentially compile system code on the cross compiler, say to C, and then build the system that way. 2020-08-28T06:25:01Z beach: Now jackdaniel has told me that he doesn't want that. But it would be a possibility. 2020-08-28T06:25:33Z aeth: beach: Could it be used to provide a global lexical environment for languages that compile to CL that have lexical globals? (Even though CL itself doesn't.) 2020-08-28T06:26:58Z beach: Well, every aspect of every ingredient (Clostrum, Cleavir, Trucler, Eclector, AST evaluator) can be customized, so there is great flexibility for these things. 2020-08-28T06:27:09Z beach: Client code can define new AST classes, and method to handle them. 2020-08-28T06:27:21Z beach: So I don't see any limitations in this respect. 2020-08-28T06:28:02Z ldb: the only limitation is having a CL compiler in prior :) 2020-08-28T06:28:36Z beach: But we do have several of those. 2020-08-28T06:28:44Z beach: Good ones too. 2020-08-28T06:28:59Z aeth: hmm, so if this handles the environment, would it also handle DECLARE? 2020-08-28T06:29:29Z beach: Yes, declarations are part of the environment. 2020-08-28T06:29:46Z beach: What the compiler does with them can be customized. 2020-08-28T06:30:06Z snowyfox joined #lisp 2020-08-28T06:30:37Z aeth: hmm, so if this was standard "middleware" of sorts, we could "fix" the underspecified nature of DECLARE, at least to some extent 2020-08-28T06:32:18Z aeth: At the very least, there could be more control. e.g. maybe the user could choose to ignore the (safety 0) ignore of type checking in e.g. SBCL 2020-08-28T06:32:43Z aeth: while on the other hand, implementations that just ignore DECLARE altogether could have this middle layer insert type checks 2020-08-28T06:33:13Z Necktwi quit (Ping timeout: 264 seconds) 2020-08-28T06:33:48Z aeth: and in particular OPTIMIZE is allowed to have extra optimize qualities, so this could insert new ones, perhaps even programmatically by a library! 2020-08-28T06:34:27Z beach: Absolutely. 2020-08-28T06:34:58Z aeth: One thing that's currently lacking is the ability to mandate tail recursion in a DECLARE OPTIMIZE when required for the correctness of the function even when normally disabled e.g. (debug 3) 2020-08-28T06:35:25Z aeth: That small change would allow so many Schemier styles. 2020-08-28T06:35:37Z loke: aeth: But you can't ignore DECLARE. 2020-08-28T06:35:42Z ldb: recently I read the documents of CamlP5 (formally known as CamlP4) and hopes to have such kinds of interface in CL, rather that the ad-hoc treatment of reader-macro 2020-08-28T06:35:45Z loke: (that in itself is a problem with the spec, IMHO) 2020-08-28T06:36:06Z loke: By the way, is SPECIAL the only declaration that can't be ignored? 2020-08-28T06:36:19Z beach: NOTINLINE as well. 2020-08-28T06:36:41Z beach: Well, I guess it could be ignored by an implementation that never inlines. 2020-08-28T06:36:46Z loke: Right. 2020-08-28T06:36:57Z jonatack quit (Ping timeout: 260 seconds) 2020-08-28T06:36:59Z aeth: s/ignore DECLARE altogether/ignore DECLARE altogether with the exception of SPECIAL/ 2020-08-28T06:38:32Z shangul quit (Ping timeout: 256 seconds) 2020-08-28T06:38:47Z Necktwi joined #lisp 2020-08-28T06:38:54Z nicktick quit (Ping timeout: 265 seconds) 2020-08-28T06:39:13Z beach: Now, all this stuff requires a lot of work. It would be good if we could get some help with projects using this suite of libraries (Eclector, Cleavir, CST, Trucler, Clostrum, AST evaluator), at least once it is a bit more mature. 2020-08-28T06:40:03Z beach: We could also use help improving documentation and test suites for those libraries. 2020-08-28T06:40:27Z aeth: I, for one, would be willing to sacrifice a bit of special variable performance in order to "fix" (more like harmonize) the semantics of DECLARE. The only thing that would be a bigger deal afaik would be getting the implementations to agree on the names of conditions returned by certain errors (especially in destructuring-bind) so portable code could handle these. 2020-08-28T06:41:39Z aeth: Those are probably the two main places where implementation differences show up a lot. 2020-08-28T06:41:45Z gravicappa quit (Ping timeout: 240 seconds) 2020-08-28T06:42:38Z aeth: That and maybe Unicode, but that's a much larger mess. 2020-08-28T06:43:31Z loke: aeth: I think the world has pretty much settled on CHARACTER being a Unicode codepoint at this time. Only CLISP is the odd one out, but with it not having had an update in 10 years, I think we can ignore that one. 2020-08-28T06:44:01Z loke: That said, something analogous to SB-UNICODE should be standardised at least in a library. CL-UNICODE is kinda crap. 2020-08-28T06:46:06Z aeth: loke: yeah, sb-unicode needs to be turned into a portable thing that's exposed from implementations through a portable library. Perhaps also including string-to-octets and octet-to-strings (in sb-ext, but also in babel, but really it should be built in, at least for utf8) 2020-08-28T06:47:26Z loke: I think SB-UNICODE is mostly portable CL anyway. It was integrated in SBCL thanks to a Google of code things. 2020-08-28T06:47:34Z loke: I mean google summer of code. 2020-08-28T06:48:46Z aeth: interesting 2020-08-28T06:50:50Z shifty quit (Ping timeout: 256 seconds) 2020-08-28T06:57:47Z beach: loke: In what way is CL-UNICODE "crap"? I am not disputing it. But I would like to know. Since I know very little about the subject, I ignorantly decided to use it in SICL, but it sounds like I should use something else instead. If so, what would that be? 2020-08-28T06:59:27Z aeth: beach: e.g. in sb-unicode, to see if something is in a unicode general category I do (eql (sb-unicode:general-category character) category) 2020-08-28T06:59:39Z loke: beach: It's not maintained, for one. So it doespn't support newer Unicode versions (the readme says it's from january 2018) 2020-08-28T06:59:47Z aeth: beach: and in cl-unicode I think the closest equivalent is (eql (nth-value 1 (cl-unicode:general-category character)) (intern (symbol-name category) :cl-unicode-names)) 2020-08-28T07:00:04Z loke: Also, it lacks a bunch of things, such as implementation of the the BIDI algorithm, and the word break stuff. 2020-08-28T07:00:07Z jonatack joined #lisp 2020-08-28T07:00:09Z aeth: (although I might've just missed an easier way) 2020-08-28T07:00:42Z beach: I think I understand. 2020-08-28T07:00:55Z beach: So there is no alternative out there, other than implementation-specific stuff? 2020-08-28T07:01:26Z Alloc quit (Ping timeout: 240 seconds) 2020-08-28T07:02:06Z Alloc joined #lisp 2020-08-28T07:02:22Z toorevitimirp quit (Quit: Konversation terminated!) 2020-08-28T07:02:31Z loke: That's not to say that SB-UNICODE is perfect. For example, SB-UNICODE:GRAPHEMES returns a list of the graphemes. It would be better to have some kind of iterator, or at least return a vector since it causes a lot of consing when working large strings. 2020-08-28T07:02:56Z beach: I see, yes. 2020-08-28T07:02:57Z beach: Correct me if I'm wrong, but this sounds like an excellent candidate for an implementation-independent library. 2020-08-28T07:03:12Z loke: In particular, when using it to do word-wrapping, you usually only want all the graphiemes leading up to the first newline, while the SB-UNICODE implementation will create a list out of all of them before you have a chance to search for a newline. 2020-08-28T07:03:18Z loke: Yeah. 2020-08-28T07:03:27Z loke: I mean, CL-UNICODE is probably a good starting point. 2020-08-28T07:03:38Z loke: Or, the SB-UNCIODE would _also_ be a good starting point :-) 2020-08-28T07:03:48Z beach: Got it. 2020-08-28T07:04:28Z ldb: it could be done with additional interface to string 2020-08-28T07:04:29Z loke: also, s/word-wrapping/character-wrapping/ above. 2020-08-28T07:04:45Z aeth: loke: oh, I see one of the core problems with sb-unicode:graphemes. It doesn't have a start/end, like most sequence/string-processing functions. If it did, you could (position #\Newline string) to get what you wanted. 2020-08-28T07:05:05Z aeth: Perhaps the author assumed you'd SUBSEQ, but that's just now how CL idiomatically does such things 2020-08-28T07:05:24Z toorevitimirp joined #lisp 2020-08-28T07:05:29Z beach: So how big would such an implementation-independent project be? 2020-08-28T07:05:34Z beach: In terms of effort, I mean. 2020-08-28T07:05:55Z zaquest quit (Quit: Leaving) 2020-08-28T07:06:14Z loke: For word-wrapping you need a different algorithm, which SB-UNICODE implements in SB-UNICODE:LINES. This is also something missing from CL-UNICODE. 2020-08-28T07:06:22Z ldb: also a string pattern match library could be attractive to users 2020-08-28T07:07:11Z beach: loke: It's too bad you have a day job. :) 2020-08-28T07:07:43Z loke: But... To dig even deeper. SB-UNICODE:LINES is, again, limited to fixed-width grapheme clusters. For variable width, youy need to be able to provide a custom line width computation which I don't believe is implemented. 2020-08-28T07:07:57Z loke: beach: It's not overly complicated I think. 2020-08-28T07:08:08Z aeth: loke: Personally I'd start with sb-unicode, but I'm not sure which would be better: a portable library or porting sb-unicode to all of the implementations, to then expose in a library. I guess it depends on how sb-unicode works and how large its database is. 2020-08-28T07:08:40Z toorevitimirp quit (Remote host closed the connection) 2020-08-28T07:08:47Z pve joined #lisp 2020-08-28T07:08:54Z loke: aeth: I don't think SB-UNICODE has much paltform-specific stuff at all. I think it's mostly the assumptions of the behaviour of the CHARACTER datatype. 2020-08-28T07:09:05Z beach: loke: Good. I'll thing about ways that this could be done. Not by me, but by someone else. 2020-08-28T07:09:22Z loke: But if your CL implementation doesn't impleemnt CHARACTER as a single Unicode codepoint, a lot of CL libraries is going to fail on you anyway. 2020-08-28T07:09:37Z loke: So I agree, SB-UNICODE is probably th ebest starting point. 2020-08-28T07:10:08Z loke: Also, SBCL has a very lax license, yes? 2020-08-28T07:10:12Z beach needs to vanish for around 2 hours or so, and will read the logs upon returning. 2020-08-28T07:10:12Z toorevitimirp joined #lisp 2020-08-28T07:10:15Z aeth: loke: public domain 2020-08-28T07:10:20Z loke: Isn't is as close to public domain as possible? 2020-08-28T07:10:36Z aeth: SBCL is essentially the universal donor to any other implementation, assuming that it's portable enough 2020-08-28T07:10:50Z ldb: with certain components having export restriction 2020-08-28T07:11:20Z ldb: the PCL part from XEROX 2020-08-28T07:11:54Z loke: Perhaps a good experiment would be to try to get SB-UNICODE to work on Clasp? 2020-08-28T07:12:13Z loke: I need ot have a late lunch. Back later. 2020-08-28T07:12:22Z ldb: see ya 2020-08-28T07:12:42Z aeth: fwiw, I've very recently started doing #+sb-unicode instead of #+sbcl for unicode stuff (with an often-subpar fallback, of course) 2020-08-28T07:13:19Z aeth: code written in this way (instead of #+sbcl) should essentially have all of the sb-unicode extras "for free" for a portable sb-unicode 2020-08-28T07:14:13Z scymtym quit (Ping timeout: 246 seconds) 2020-08-28T07:18:28Z zaquest joined #lisp 2020-08-28T07:19:12Z toorevitimirp quit (Remote host closed the connection) 2020-08-28T07:20:10Z toorevitimirp joined #lisp 2020-08-28T07:21:10Z snowyfox quit 2020-08-28T07:23:21Z mseddon joined #lisp 2020-08-28T07:31:33Z ljavorsk joined #lisp 2020-08-28T07:36:47Z scymtym joined #lisp 2020-08-28T07:39:10Z scymtym quit (Remote host closed the connection) 2020-08-28T07:45:04Z scymtym joined #lisp 2020-08-28T07:45:38Z toorevitimirp quit (Remote host closed the connection) 2020-08-28T07:46:41Z jprajzne quit (Quit: jprajzne) 2020-08-28T07:46:57Z toorevitimirp joined #lisp 2020-08-28T07:52:53Z toorevitimirp quit (Remote host closed the connection) 2020-08-28T07:52:57Z liberliver joined #lisp 2020-08-28T07:53:29Z dominic34 joined #lisp 2020-08-28T07:53:34Z shangul joined #lisp 2020-08-28T07:54:25Z space_otter quit (Remote host closed the connection) 2020-08-28T07:55:22Z toorevitimirp joined #lisp 2020-08-28T07:59:22Z toorevitimirp quit (Remote host closed the connection) 2020-08-28T08:01:52Z toorevitimirp joined #lisp 2020-08-28T08:04:25Z minion quit (Ping timeout: 240 seconds) 2020-08-28T08:04:26Z specbot quit (Ping timeout: 256 seconds) 2020-08-28T08:04:32Z cosimone joined #lisp 2020-08-28T08:05:28Z toorevitimirp quit (Remote host closed the connection) 2020-08-28T08:06:49Z toorevitimirp joined #lisp 2020-08-28T08:08:06Z toorevitimirp quit (Remote host closed the connection) 2020-08-28T08:08:49Z Alloc quit (Ping timeout: 258 seconds) 2020-08-28T08:10:13Z hendursa1 joined #lisp 2020-08-28T08:10:15Z loke: aeth: Except that I'm not sure it would be called SB-UNICODE, would it? 2020-08-28T08:10:47Z toorevitimirp joined #lisp 2020-08-28T08:11:43Z hendursaga quit (Ping timeout: 240 seconds) 2020-08-28T08:15:32Z rogersm joined #lisp 2020-08-28T08:19:40Z Cymew joined #lisp 2020-08-28T08:36:31Z Christ0p1er joined #lisp 2020-08-28T08:37:14Z shka_ joined #lisp 2020-08-28T08:37:27Z gabiruh quit (Quit: ZNC 1.7.5 - https://znc.in) 2020-08-28T08:38:01Z Christ0pher quit (Ping timeout: 264 seconds) 2020-08-28T08:38:49Z gabiruh joined #lisp 2020-08-28T08:42:38Z mrcom quit (Ping timeout: 265 seconds) 2020-08-28T08:43:46Z mrcom joined #lisp 2020-08-28T08:44:49Z wxie joined #lisp 2020-08-28T08:51:31Z Alloc joined #lisp 2020-08-28T08:51:49Z midre quit (Ping timeout: 264 seconds) 2020-08-28T08:52:16Z EvW joined #lisp 2020-08-28T08:52:40Z EvW quit (Client Quit) 2020-08-28T08:53:10Z midre joined #lisp 2020-08-28T08:56:01Z Alloc quit (Ping timeout: 264 seconds) 2020-08-28T08:59:03Z ldb quit (Quit: Connection closed) 2020-08-28T09:02:22Z shangul quit (Ping timeout: 246 seconds) 2020-08-28T09:05:42Z dominic34 quit (Ping timeout: 256 seconds) 2020-08-28T09:07:17Z jonatack quit (Read error: Connection reset by peer) 2020-08-28T09:09:15Z rogersm quit (Quit: Leaving...) 2020-08-28T09:09:42Z orivej joined #lisp 2020-08-28T09:10:37Z ByFate\` joined #lisp 2020-08-28T09:12:59Z minion joined #lisp 2020-08-28T09:13:00Z specbot joined #lisp 2020-08-28T09:16:04Z ByFate\` quit (Quit: pls buy at my indecent blog https://bit.ly/385Z1qS) 2020-08-28T09:19:56Z shangul joined #lisp 2020-08-28T09:22:20Z EvW joined #lisp 2020-08-28T09:39:23Z jonatack joined #lisp 2020-08-28T09:52:27Z ralt joined #lisp 2020-08-28T09:54:17Z mseddon_ joined #lisp 2020-08-28T09:54:31Z specbot quit (Ping timeout: 246 seconds) 2020-08-28T09:55:08Z minion quit (Ping timeout: 265 seconds) 2020-08-28T09:57:13Z mseddon quit (Ping timeout: 264 seconds) 2020-08-28T09:59:02Z Alloc joined #lisp 2020-08-28T10:03:27Z Alloc quit (Ping timeout: 260 seconds) 2020-08-28T10:04:09Z Alloc joined #lisp 2020-08-28T10:04:27Z toorevitimirp quit (Quit: Konversation terminated!) 2020-08-28T10:09:32Z toorevitimirp joined #lisp 2020-08-28T10:10:12Z random-nick joined #lisp 2020-08-28T10:10:28Z notzmv quit (Quit: Leaving) 2020-08-28T10:14:59Z Necktwi quit (Ping timeout: 240 seconds) 2020-08-28T10:20:49Z Necktwi joined #lisp 2020-08-28T10:21:25Z stepnem quit (Ping timeout: 240 seconds) 2020-08-28T10:29:59Z shangul quit (Quit: Leaving) 2020-08-28T10:35:24Z wxie quit (Ping timeout: 256 seconds) 2020-08-28T10:37:34Z sympt_ quit (Ping timeout: 246 seconds) 2020-08-28T10:39:25Z sympt joined #lisp 2020-08-28T10:39:31Z dilated_dinosaur joined #lisp 2020-08-28T10:43:18Z brj quit (Ping timeout: 258 seconds) 2020-08-28T10:45:30Z brj joined #lisp 2020-08-28T10:50:03Z frgo quit (Remote host closed the connection) 2020-08-28T10:50:32Z cosimone quit (Quit: Quit.) 2020-08-28T10:50:39Z frgo joined #lisp 2020-08-28T10:50:55Z EvW quit (Ping timeout: 240 seconds) 2020-08-28T10:52:00Z cosimone joined #lisp 2020-08-28T10:55:25Z brj quit (Ping timeout: 264 seconds) 2020-08-28T10:57:22Z brj joined #lisp 2020-08-28T11:10:17Z shifty joined #lisp 2020-08-28T11:16:47Z jello_pudding quit (Ping timeout: 240 seconds) 2020-08-28T11:31:22Z mn3m joined #lisp 2020-08-28T11:35:40Z jello_pudding joined #lisp 2020-08-28T11:35:55Z dilated_dinosaur quit (Ping timeout: 240 seconds) 2020-08-28T11:38:33Z gravicappa joined #lisp 2020-08-28T11:47:05Z niceplaces joined #lisp 2020-08-28T11:48:16Z niceplace quit (Ping timeout: 246 seconds) 2020-08-28T11:53:41Z EvW joined #lisp 2020-08-28T11:57:37Z mseddon_ is now known as mseddon 2020-08-28T11:57:52Z mseddon quit (Quit: Leaving) 2020-08-28T11:57:52Z dilated_dinosaur joined #lisp 2020-08-28T11:58:41Z shangul joined #lisp 2020-08-28T12:02:14Z ralt quit (Quit: Connection closed for inactivity) 2020-08-28T12:08:14Z kaftejiman joined #lisp 2020-08-28T12:08:50Z minion joined #lisp 2020-08-28T12:08:50Z specbot joined #lisp 2020-08-28T12:10:40Z Gerula joined #lisp 2020-08-28T12:11:26Z Bike joined #lisp 2020-08-28T12:11:37Z shifty quit (Ping timeout: 264 seconds) 2020-08-28T12:13:25Z bitmapper quit (Ping timeout: 240 seconds) 2020-08-28T12:14:31Z iamFIREc1 quit (Ping timeout: 246 seconds) 2020-08-28T12:15:08Z gxt quit (Remote host closed the connection) 2020-08-28T12:17:33Z gxt joined #lisp 2020-08-28T12:25:05Z wxie joined #lisp 2020-08-28T12:36:00Z Gerula_ joined #lisp 2020-08-28T12:36:05Z Gerula quit (Ping timeout: 265 seconds) 2020-08-28T12:36:31Z Gerula_ is now known as Gerula 2020-08-28T12:36:40Z kaftejiman quit (Remote host closed the connection) 2020-08-28T12:38:23Z hendursa1 quit (Ping timeout: 240 seconds) 2020-08-28T12:41:07Z heisig joined #lisp 2020-08-28T12:41:48Z hendursa1 joined #lisp 2020-08-28T12:46:38Z aaaaaa joined #lisp 2020-08-28T12:47:37Z dddddd quit (Ping timeout: 264 seconds) 2020-08-28T12:48:21Z wsinatra joined #lisp 2020-08-28T12:53:00Z ljavorsk quit (Ping timeout: 265 seconds) 2020-08-28T12:54:23Z hendursa1 quit (Ping timeout: 240 seconds) 2020-08-28T13:00:32Z hendursa1 joined #lisp 2020-08-28T13:01:58Z gko_ joined #lisp 2020-08-28T13:09:10Z dddddd joined #lisp 2020-08-28T13:09:23Z gxt quit (Ping timeout: 240 seconds) 2020-08-28T13:12:08Z Necktwi quit (Ping timeout: 256 seconds) 2020-08-28T13:13:38Z Necktwi joined #lisp 2020-08-28T13:14:26Z iamFIREc1 joined #lisp 2020-08-28T13:15:37Z FreeBirdLjj joined #lisp 2020-08-28T13:18:04Z hendursa1 quit (Quit: hendursa1) 2020-08-28T13:18:29Z hendursaga joined #lisp 2020-08-28T13:20:02Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2020-08-28T13:27:24Z EvW quit (Ping timeout: 244 seconds) 2020-08-28T13:34:25Z andinus joined #lisp 2020-08-28T13:39:02Z rippa joined #lisp 2020-08-28T13:39:15Z Necktwi quit (Ping timeout: 258 seconds) 2020-08-28T13:41:05Z Necktwi joined #lisp 2020-08-28T13:43:25Z wxie quit (Ping timeout: 246 seconds) 2020-08-28T13:44:48Z renzhi joined #lisp 2020-08-28T13:50:59Z dim: ah nice it looks like I have managed to create an infinite loop in my esrap grammar for Oracle PL/SQL (including SQL and some of its crazyness) 2020-08-28T13:53:51Z dim: removed a large block of rules and now it's just very slow 2020-08-28T13:54:01Z vutral joined #lisp 2020-08-28T13:54:16Z EvW joined #lisp 2020-08-28T13:58:11Z shangul quit (Ping timeout: 240 seconds) 2020-08-28T14:03:03Z shangul joined #lisp 2020-08-28T14:04:07Z rogersm joined #lisp 2020-08-28T14:07:00Z edgar-rft quit (Quit: Leaving) 2020-08-28T14:10:45Z shangul quit (Ping timeout: 240 seconds) 2020-08-28T14:12:00Z shangul joined #lisp 2020-08-28T14:17:49Z rumbler31 joined #lisp 2020-08-28T14:20:38Z uplime joined #lisp 2020-08-28T14:21:45Z ibinderwolf quit (Remote host closed the connection) 2020-08-28T14:22:25Z rumbler31 quit (Ping timeout: 265 seconds) 2020-08-28T14:24:50Z shangul quit (Ping timeout: 265 seconds) 2020-08-28T14:25:18Z renzhi quit (Ping timeout: 256 seconds) 2020-08-28T14:26:09Z simendsjo joined #lisp 2020-08-28T14:37:57Z chiota joined #lisp 2020-08-28T14:42:11Z heisig quit (Quit: Leaving) 2020-08-28T14:46:55Z Alloc quit (Ping timeout: 240 seconds) 2020-08-28T14:47:15Z Alloc joined #lisp 2020-08-28T14:55:26Z mseddon joined #lisp 2020-08-28T14:57:14Z kingragworm joined #lisp 2020-08-28T14:58:13Z Cymew quit (Ping timeout: 258 seconds) 2020-08-28T14:59:36Z duuqnd joined #lisp 2020-08-28T15:01:25Z kingragworm quit (Ping timeout: 240 seconds) 2020-08-28T15:02:48Z sjl_ joined #lisp 2020-08-28T15:03:03Z duuqnd quit (Remote host closed the connection) 2020-08-28T15:04:00Z Alloc quit (Ping timeout: 256 seconds) 2020-08-28T15:04:58Z Alloc joined #lisp 2020-08-28T15:09:50Z treflip joined #lisp 2020-08-28T15:11:37Z narimiran quit (Ping timeout: 246 seconds) 2020-08-28T15:11:42Z prite joined #lisp 2020-08-28T15:17:15Z dim: mmm, someone good with esrap? how do I express I may have a column-alias that can't be the reserved word "from"? (? column-alias) and then (defrule column-alias (... namestring (not kw-from)) and I don't know how to express that 2020-08-28T15:18:20Z phoe: isn't the literal "from" going to suffice? 2020-08-28T15:18:39Z scymtym: (and (esrap:! kw-from) column-alias) 2020-08-28T15:19:47Z phoe: also, what's the case sensitivity in your use case? 2020-08-28T15:19:57Z scymtym: or more completely (defrule column-alias (and (esrap:! kw-from) proper-column-alias) (:function second)) 2020-08-28T15:19:57Z dim: scymtym: yeah that works thanks, seems I missed the esrap ! facility, thanks! 2020-08-28T15:20:38Z simendsjo quit (Remote host closed the connection) 2020-08-28T15:23:09Z simendsjo joined #lisp 2020-08-28T15:24:11Z bitmapper joined #lisp 2020-08-28T15:27:16Z rogersm quit (Quit: Leaving...) 2020-08-28T15:35:57Z simendsjo quit (Remote host closed the connection) 2020-08-28T15:40:52Z simendsjo joined #lisp 2020-08-28T15:41:38Z yitzi quit (Remote host closed the connection) 2020-08-28T15:47:37Z scymtym quit (Ping timeout: 260 seconds) 2020-08-28T15:52:55Z EvW quit (Ping timeout: 240 seconds) 2020-08-28T15:53:49Z dominic34 joined #lisp 2020-08-28T15:53:49Z dominic34 quit (Excess Flood) 2020-08-28T15:53:49Z bsd4me joined #lisp 2020-08-28T15:54:05Z dominic34 joined #lisp 2020-08-28T15:58:10Z gabiruh quit (Quit: ZNC 1.7.5 - https://znc.in) 2020-08-28T15:58:30Z gabiruh joined #lisp 2020-08-28T16:09:20Z iamFIREcracker joined #lisp 2020-08-28T16:10:35Z iamFIREc1 quit (Ping timeout: 240 seconds) 2020-08-28T16:12:22Z dominic35 joined #lisp 2020-08-28T16:12:25Z dominic34 quit (Ping timeout: 240 seconds) 2020-08-28T16:12:25Z dominic35 is now known as dominic34 2020-08-28T16:12:48Z scymtym joined #lisp 2020-08-28T16:14:04Z mn3m quit (Quit: mn3m) 2020-08-28T16:17:54Z kaftejiman joined #lisp 2020-08-28T16:20:11Z kaftejiman quit (Read error: Connection reset by peer) 2020-08-28T16:20:28Z alandipert quit (Quit: The Lounge - https://thelounge.chat) 2020-08-28T16:20:29Z kaftejiman joined #lisp 2020-08-28T16:21:20Z alandipert joined #lisp 2020-08-28T16:24:14Z DGASAU quit (Read error: Connection reset by peer) 2020-08-28T16:24:49Z DGASAU joined #lisp 2020-08-28T16:29:16Z kimurasama joined #lisp 2020-08-28T16:30:36Z nicktick joined #lisp 2020-08-28T16:36:46Z scymtym quit (Read error: Connection reset by peer) 2020-08-28T16:37:33Z scymtym joined #lisp 2020-08-28T16:41:24Z Inline joined #lisp 2020-08-28T16:43:48Z thetabit joined #lisp 2020-08-28T16:44:10Z Lord_of_Life_ joined #lisp 2020-08-28T16:45:04Z Lord_of_Life quit (Ping timeout: 246 seconds) 2020-08-28T16:45:31Z Lord_of_Life_ is now known as Lord_of_Life 2020-08-28T16:45:46Z thetabit: Hello all, quick question (maybe not, ha). How do I undefine a function name that is loaded up in a lisp instance. In otherwords, I would like to completely wipe out a reference to a function in the image instead of closing emacs and slime down 2020-08-28T16:45:56Z phoe: fmakunbound 2020-08-28T16:46:43Z Inline: what about (setf (symbol-function ? 2020-08-28T16:47:14Z beach: That won't undefine it. 2020-08-28T16:47:18Z Inline: oh 2020-08-28T16:47:18Z thetabit: hm, fmakunbound worked 2020-08-28T16:47:24Z thetabit: Thanks! 2020-08-28T16:47:33Z beach: And it doesn't work for functions named (setf ) 2020-08-28T16:47:40Z Inline: ok 2020-08-28T16:48:15Z scymtym quit (Remote host closed the connection) 2020-08-28T16:48:59Z phoe: wait a second then 2020-08-28T16:49:09Z phoe: how can one unbind a SETF function then? 2020-08-28T16:49:21Z phoe: oh, via fmakunbound too 2020-08-28T16:49:27Z beach: I was referring to (setf (symbol-function...) 2020-08-28T16:49:35Z phoe: oh! yes, I see 2020-08-28T16:49:54Z Josh_2 joined #lisp 2020-08-28T16:49:54Z beach: SYMBOL-FUNCTION is basically obsolete. 2020-08-28T16:49:55Z phoe: also, (setf (symbol-function 'foo) nil) doesn't work 2020-08-28T16:50:01Z beach: Indeed. 2020-08-28T16:50:03Z simendsj` joined #lisp 2020-08-28T16:50:06Z phoe: neither does SETF FDEFNIITION 2020-08-28T16:50:13Z beach: Right again. 2020-08-28T16:50:35Z shka_: there is also function inside slime for that 2020-08-28T16:51:09Z thetabit: that's good to know! lol I have been using on lisp for a lot of my studies, and symbol-function is used throughout the book 2020-08-28T16:51:13Z simendsj` left #lisp 2020-08-28T16:51:25Z phoe: it will work, just, not everywhere 2020-08-28T16:51:30Z simendsjo quit (Ping timeout: 256 seconds) 2020-08-28T16:51:36Z phoe: SETF functions are its sore spot 2020-08-28T16:51:40Z beach: It is best to always use FDEFINITION. 2020-08-28T16:52:40Z beach: Also the name SYMBOL-FUNCTION gives the impression that there is actually a function slot in the symbol. 2020-08-28T16:52:42Z Josh_2: afternoon 2020-08-28T16:52:47Z beach: Hello Josh_2. 2020-08-28T16:53:04Z shka_: slime-undefine-function to be precise 2020-08-28T16:53:46Z mseddon quit (Quit: Leaving) 2020-08-28T16:54:19Z snowyfox joined #lisp 2020-08-28T16:54:46Z Josh_2: _death: hows your fork of Parmenides going? 2020-08-28T16:54:54Z phoe: beach: the same way PACKAGE-NAME gives the impression that there is actually a name slot in the package 2020-08-28T16:55:16Z beach: phoe: Indeed. 2020-08-28T16:55:16Z phoe: the storage of both are implementation details. 2020-08-28T16:55:21Z beach: Yep. 2020-08-28T16:55:31Z beach vanishes to have dinner. 2020-08-28T16:55:44Z phoe: I read PACKAGE-NAME as a mapping from a package object to a string of some sort, not as some sort of "this has a slot" 2020-08-28T16:55:48Z phoe: bon appetit 2020-08-28T16:55:51Z mseddon joined #lisp 2020-08-28T16:56:11Z Bike: symbol-function is bad because it implies the function is a property of the symbol and not e.g. an environment 2020-08-28T16:56:20Z Bike: but mostly because fdefinition is beter. 2020-08-28T16:56:35Z shka_: heh, Bike hangs around beach a lot :P 2020-08-28T16:56:57Z _death: Josh_2: I submitted a pull request to your repo.. we can play programmer ping-pong improving it 2020-08-28T16:57:24Z _death: Josh_2: so after you improve it a little, send a pull request back 2020-08-28T16:58:19Z phoe: Bike: what name would be better? FIND-FUNCTION? 2020-08-28T16:58:21Z _death: Josh_2: the point is to have fun, so no pressure 2020-08-28T16:58:33Z Bike: "fdefinition" 2020-08-28T16:59:04Z phoe: I mean, we have FDEFINITION but FIND-CLASS and they have somewhat distinct semantics when unbinding stuff 2020-08-28T16:59:11Z phoe: I guess it's time to change the standard™ 2020-08-28T16:59:29Z Josh_2: okay cool! 2020-08-28T16:59:51Z Josh_2: i'll probs do a little later tonight 2020-08-28T17:00:04Z shka_: phoe: we can push this into the limbo of "we are not talking about that part of the standard" where it can hang out with symbol-plists and progv 2020-08-28T17:00:29Z phoe: hey uh wait progv is actually pretty cool 2020-08-28T17:00:38Z Bike: two hardest things in computer science, etc 2020-08-28T17:00:53Z kimurasama quit (Quit: WeeChat 2.3) 2020-08-28T17:01:12Z phoe: progv is the only real way you can bind arbitrary dynavars at runtime without using the compiler or evaluator 2020-08-28T17:01:17Z phoe: which *sometimes* is useful 2020-08-28T17:01:25Z shka_: yes, it is 2020-08-28T17:01:25Z phoe: (with a stress on "sometimes") 2020-08-28T17:01:46Z shka_: almost never 2020-08-28T17:01:50Z phoe: correct 2020-08-28T17:01:52Z White_Flame has used symbol-plists as well 2020-08-28T17:02:00Z phoe: but the possibility is there 2020-08-28T17:02:03Z _death: Josh_2: cool.. also feel free to discuss things in issues/todo file/pull request comments.. I guess irc too, though that has less value for archival purposes (and we may be busy at times) 2020-08-28T17:02:22Z whiteline_ joined #lisp 2020-08-28T17:03:06Z Josh_2` joined #lisp 2020-08-28T17:03:12Z Josh_2 quit (Remote host closed the connection) 2020-08-28T17:03:27Z whiteline quit (Read error: Connection reset by peer) 2020-08-28T17:03:53Z HiRE_ joined #lisp 2020-08-28T17:05:44Z thonkpod quit (Remote host closed the connection) 2020-08-28T17:05:45Z Josh_2` quit (Client Quit) 2020-08-28T17:05:47Z HiRE quit (Read error: Connection reset by peer) 2020-08-28T17:05:58Z mseddon quit (Quit: Leaving) 2020-08-28T17:06:08Z thonkpod joined #lisp 2020-08-28T17:06:10Z Josh_2 joined #lisp 2020-08-28T17:15:52Z gko_ quit (Ping timeout: 256 seconds) 2020-08-28T17:18:25Z gxt joined #lisp 2020-08-28T17:22:25Z midre quit (Ping timeout: 264 seconds) 2020-08-28T17:22:46Z karlosz joined #lisp 2020-08-28T17:29:51Z hiroaki joined #lisp 2020-08-28T17:31:39Z midre joined #lisp 2020-08-28T17:36:26Z treflip quit (Quit: WeeChat 2.6) 2020-08-28T17:38:02Z patlv joined #lisp 2020-08-28T17:38:02Z DGASAU quit (Read error: Connection reset by peer) 2020-08-28T17:38:57Z DGASAU joined #lisp 2020-08-28T17:39:37Z retropikzel joined #lisp 2020-08-28T17:42:35Z toorevitimirp quit (Quit: Konversation terminated!) 2020-08-28T17:46:06Z yitzi joined #lisp 2020-08-28T17:48:45Z scymtym joined #lisp 2020-08-28T17:57:01Z mrcom quit (Ping timeout: 265 seconds) 2020-08-28T18:08:28Z rumbler31_ joined #lisp 2020-08-28T18:10:26Z jw4 quit (Read error: Connection reset by peer) 2020-08-28T18:12:08Z andinus quit (Quit: reconnecting) 2020-08-28T18:12:14Z jw4 joined #lisp 2020-08-28T18:12:58Z aaaaaa quit (Quit: leaving) 2020-08-28T18:13:15Z andinus joined #lisp 2020-08-28T18:13:59Z MichaelRaskin joined #lisp 2020-08-28T18:14:56Z mseddon joined #lisp 2020-08-28T18:16:30Z retropikzel quit (Quit: Leaving) 2020-08-28T18:17:02Z mrcom joined #lisp 2020-08-28T18:19:00Z save-lisp-or-die joined #lisp 2020-08-28T18:19:57Z notzmv joined #lisp 2020-08-28T18:22:35Z snowyfox quit (Read error: Connection reset by peer) 2020-08-28T18:22:48Z snowyfox joined #lisp 2020-08-28T18:23:08Z Alfr__ quit (Quit: Leaving) 2020-08-28T18:23:47Z bocaneri quit (Remote host closed the connection) 2020-08-28T18:26:01Z yitzi quit (Read error: Connection reset by peer) 2020-08-28T18:27:25Z snowyfox quit (Ping timeout: 240 seconds) 2020-08-28T18:34:01Z matijja quit (Quit: bye) 2020-08-28T18:35:00Z hasegawasan joined #lisp 2020-08-28T18:37:22Z matijja joined #lisp 2020-08-28T18:38:30Z mseddon: I wonder, is there a nice way in CL and emacs to do something equivalent to elisp's (declare (indent indent-spec))? 2020-08-28T18:39:25Z mseddon: https://www.gnu.org/software/emacs/manual/html_node/elisp/Indenting-Macros.html#Indenting-Macros 2020-08-28T18:40:03Z jackdaniel: you may hint slime about indentation from swank package (I don't remember the interface) 2020-08-28T18:40:17Z jackdaniel: trivial-indent is defined to make that easy I think 2020-08-28T18:40:22Z jackdaniel: (library trivial-indent that is) 2020-08-28T18:40:28Z mseddon: jackdaniel, aha thanks, I shall consult the relevant docs. 2020-08-28T18:41:49Z bendersteed joined #lisp 2020-08-28T18:44:35Z FennecCode quit (Ping timeout: 272 seconds) 2020-08-28T18:50:01Z save-lisp-or-die quit (Quit: The Lounge - https://thelounge.chat) 2020-08-28T18:50:57Z save-lisp-or-die joined #lisp 2020-08-28T18:51:37Z andinus quit (Quit: reconnecting) 2020-08-28T18:51:52Z patlv quit (Ping timeout: 244 seconds) 2020-08-28T18:54:44Z brj quit (Ping timeout: 258 seconds) 2020-08-28T18:56:46Z brj joined #lisp 2020-08-28T18:57:22Z andinus joined #lisp 2020-08-28T18:58:55Z andinus quit (Client Quit) 2020-08-28T19:00:32Z Alfr joined #lisp 2020-08-28T19:02:49Z EvW joined #lisp 2020-08-28T19:04:54Z mseddon_ joined #lisp 2020-08-28T19:05:18Z dominic34 quit (Ping timeout: 244 seconds) 2020-08-28T19:05:21Z dominic35 joined #lisp 2020-08-28T19:05:56Z mseddon_ quit (Client Quit) 2020-08-28T19:08:09Z mseddon quit (Ping timeout: 258 seconds) 2020-08-28T19:08:37Z bendersteed quit (Ping timeout: 264 seconds) 2020-08-28T19:08:53Z mseddon joined #lisp 2020-08-28T19:09:25Z dominic35 quit (Ping timeout: 240 seconds) 2020-08-28T19:10:04Z yitzi joined #lisp 2020-08-28T19:10:50Z narimiran joined #lisp 2020-08-28T19:11:31Z andinus joined #lisp 2020-08-28T19:12:00Z bendersteed joined #lisp 2020-08-28T19:17:10Z nydel quit (Changing host) 2020-08-28T19:17:10Z nydel joined #lisp 2020-08-28T19:18:51Z bsd4me quit (Quit: Depression is merely anger without enthusiasm) 2020-08-28T19:20:17Z notandinus joined #lisp 2020-08-28T19:21:32Z notandinus quit (Client Quit) 2020-08-28T19:29:35Z EvW quit (Ping timeout: 244 seconds) 2020-08-28T19:30:18Z EvW joined #lisp 2020-08-28T19:30:36Z yitzi quit (Read error: Connection reset by peer) 2020-08-28T19:31:47Z shifty joined #lisp 2020-08-28T19:32:31Z dominic34 joined #lisp 2020-08-28T19:33:07Z vaporatorius__ joined #lisp 2020-08-28T19:35:01Z vaporatorius quit (Ping timeout: 264 seconds) 2020-08-28T19:35:31Z andinus quit (Quit: final reconect for sure) 2020-08-28T19:36:55Z dominic34 quit (Ping timeout: 240 seconds) 2020-08-28T19:39:12Z hiroaki quit (Ping timeout: 260 seconds) 2020-08-28T19:42:51Z hasegawasan quit (Quit: WeeChat 2.3) 2020-08-28T19:44:16Z liberliver1 joined #lisp 2020-08-28T19:46:12Z liberliver quit (Ping timeout: 260 seconds) 2020-08-28T19:46:13Z liberliver1 is now known as liberliver 2020-08-28T19:53:55Z EvW quit (Ping timeout: 240 seconds) 2020-08-28T19:54:07Z yitzi joined #lisp 2020-08-28T19:59:05Z snowyfox joined #lisp 2020-08-28T20:03:41Z jasom quit (Ping timeout: 244 seconds) 2020-08-28T20:03:42Z jasom_8 joined #lisp 2020-08-28T20:04:17Z jasom_ quit (Ping timeout: 260 seconds) 2020-08-28T20:04:18Z jasom_8 is now known as jasom_ 2020-08-28T20:05:16Z jasom joined #lisp 2020-08-28T20:07:38Z andinus joined #lisp 2020-08-28T20:09:06Z patlv joined #lisp 2020-08-28T20:09:12Z patlv quit (Remote host closed the connection) 2020-08-28T20:20:55Z wsinatra quit (Quit: WeeChat 2.9) 2020-08-28T20:24:43Z mseddon quit (Read error: Connection reset by peer) 2020-08-28T20:25:52Z snowyfox quit (Ping timeout: 256 seconds) 2020-08-28T20:29:04Z snowyfox joined #lisp 2020-08-28T20:32:30Z jgodbout quit (Quit: Connection closed) 2020-08-28T20:33:52Z jgodbout joined #lisp 2020-08-28T20:34:01Z shka_ quit (Ping timeout: 258 seconds) 2020-08-28T20:42:05Z prite quit (Ping timeout: 240 seconds) 2020-08-28T20:43:25Z ggole quit (Quit: Leaving) 2020-08-28T20:43:25Z akoana joined #lisp 2020-08-28T20:45:43Z cosimone quit (Remote host closed the connection) 2020-08-28T20:46:12Z cosimone joined #lisp 2020-08-28T20:46:55Z narimiran quit (Ping timeout: 240 seconds) 2020-08-28T20:52:25Z nicktick quit (Ping timeout: 258 seconds) 2020-08-28T20:58:05Z gravicappa quit (Ping timeout: 240 seconds) 2020-08-28T20:58:55Z bendersteed quit (Quit: bye folks) 2020-08-28T21:00:37Z hdasch quit (Quit: ZNC 1.7.2+deb3~bpo9+1 - https://znc.in) 2020-08-28T21:01:13Z FennecCode joined #lisp 2020-08-28T21:09:20Z EvW joined #lisp 2020-08-28T21:16:25Z rumbler31_ quit (Ping timeout: 240 seconds) 2020-08-28T21:18:57Z Adamclisi joined #lisp 2020-08-28T21:24:34Z prite joined #lisp 2020-08-28T21:28:47Z prite quit (Read error: Connection reset by peer) 2020-08-28T21:30:35Z prite joined #lisp 2020-08-28T21:33:14Z rumbler31 joined #lisp 2020-08-28T21:35:04Z bjorkintosh quit (Remote host closed the connection) 2020-08-28T21:45:49Z Inline quit (Ping timeout: 264 seconds) 2020-08-28T21:53:23Z Necktwi quit (Ping timeout: 240 seconds) 2020-08-28T21:59:17Z Necktwi joined #lisp 2020-08-28T21:59:47Z Josh_2 quit (Ping timeout: 240 seconds) 2020-08-28T22:04:29Z torbo joined #lisp 2020-08-28T22:08:49Z gaqwas quit (Ping timeout: 246 seconds) 2020-08-28T22:10:37Z shifty quit (Ping timeout: 258 seconds) 2020-08-28T22:12:50Z wsinatra joined #lisp 2020-08-28T22:13:38Z anewuser joined #lisp 2020-08-28T22:20:29Z chiota quit (Quit: leaving) 2020-08-28T22:20:37Z pve quit (Ping timeout: 264 seconds) 2020-08-28T22:21:49Z chiota joined #lisp 2020-08-28T22:23:07Z hdasch joined #lisp 2020-08-28T22:23:18Z jw4 quit (Read error: Connection reset by peer) 2020-08-28T22:23:22Z space_otter joined #lisp 2020-08-28T22:24:24Z pve joined #lisp 2020-08-28T22:24:39Z jw4 joined #lisp 2020-08-28T22:28:40Z snowyfox quit (Ping timeout: 256 seconds) 2020-08-28T22:29:14Z Necktwi quit (Ping timeout: 256 seconds) 2020-08-28T22:33:45Z sjl_ quit (Ping timeout: 240 seconds) 2020-08-28T22:34:28Z Necktwi joined #lisp 2020-08-28T22:37:25Z anewuser quit (Read error: Connection reset by peer) 2020-08-28T22:38:23Z anewuser joined #lisp 2020-08-28T22:39:08Z anewuser quit (Read error: Connection reset by peer) 2020-08-28T22:41:52Z jw4 quit (Read error: Connection reset by peer) 2020-08-28T22:45:10Z jw4 joined #lisp 2020-08-28T22:49:05Z frgo quit (Read error: Connection reset by peer) 2020-08-28T22:49:42Z frgo joined #lisp 2020-08-28T22:50:39Z pve quit (Quit: leaving) 2020-08-28T22:52:20Z chiota quit (Quit: leaving) 2020-08-28T22:52:35Z chiota joined #lisp 2020-08-28T22:54:33Z jw4 quit (Read error: Connection reset by peer) 2020-08-28T22:55:08Z jw4 joined #lisp 2020-08-28T22:57:10Z wsinatra quit (Ping timeout: 256 seconds) 2020-08-28T23:00:34Z wsinatra joined #lisp 2020-08-28T23:04:25Z cosimone quit (Ping timeout: 240 seconds) 2020-08-28T23:14:51Z shifty joined #lisp 2020-08-28T23:15:05Z snowyfox joined #lisp 2020-08-28T23:21:30Z Oladon joined #lisp 2020-08-28T23:34:51Z mangoicedtea joined #lisp 2020-08-28T23:36:52Z Necktwi quit (Ping timeout: 258 seconds) 2020-08-28T23:37:47Z Necktwi joined #lisp 2020-08-28T23:38:19Z renzhi joined #lisp 2020-08-28T23:41:28Z tobias_ joined #lisp 2020-08-28T23:41:41Z zxcvz quit (Remote host closed the connection) 2020-08-28T23:44:48Z choegusung joined #lisp 2020-08-28T23:45:31Z bilegeek joined #lisp 2020-08-28T23:49:29Z bilegeek quit (Client Quit) 2020-08-28T23:53:04Z bilegeek joined #lisp 2020-08-28T23:57:29Z elxbarbosa joined #lisp 2020-08-29T00:01:55Z thecoffemaker quit (Quit: So long and thanks for all the fish!) 2020-08-29T00:05:14Z choegusung quit (Ping timeout: 258 seconds) 2020-08-29T00:10:02Z torbo quit (Remote host closed the connection) 2020-08-29T00:11:01Z kaftejiman quit (Remote host closed the connection) 2020-08-29T00:16:52Z EvW quit (Ping timeout: 260 seconds) 2020-08-29T00:18:05Z random-nick quit (Ping timeout: 240 seconds) 2020-08-29T00:18:08Z bsd4me joined #lisp 2020-08-29T00:19:52Z nicktick joined #lisp 2020-08-29T00:24:42Z bsd4me left #lisp 2020-08-29T00:27:04Z dilated_dinosaur quit (Ping timeout: 246 seconds) 2020-08-29T00:30:57Z EvW joined #lisp 2020-08-29T00:33:45Z prite quit (Ping timeout: 240 seconds) 2020-08-29T00:34:22Z orivej quit (Ping timeout: 258 seconds) 2020-08-29T00:39:48Z Bike quit (Quit: Lost terminal) 2020-08-29T00:45:51Z chiota quit (Quit: leaving) 2020-08-29T00:48:20Z Oladon quit (Quit: Leaving.) 2020-08-29T00:48:32Z edgar-rft joined #lisp 2020-08-29T00:48:52Z chiota joined #lisp 2020-08-29T00:52:02Z Oladon joined #lisp 2020-08-29T00:52:30Z choegusung joined #lisp 2020-08-29T01:00:47Z choegusung quit (Quit: leaving) 2020-08-29T01:11:03Z Necktwi quit (Ping timeout: 265 seconds) 2020-08-29T01:19:01Z gko_ joined #lisp 2020-08-29T01:20:25Z jonatack quit (Ping timeout: 240 seconds) 2020-08-29T01:20:53Z jonatack joined #lisp 2020-08-29T01:21:29Z Necktwi joined #lisp 2020-08-29T01:26:25Z snowyfox quit (Ping timeout: 240 seconds) 2020-08-29T01:37:15Z wsinatra_ joined #lisp 2020-08-29T01:41:33Z bg__ joined #lisp 2020-08-29T01:44:22Z bilegeek quit (Ping timeout: 260 seconds) 2020-08-29T01:45:30Z Jesin quit (Quit: Leaving) 2020-08-29T01:49:55Z EvW quit (Ping timeout: 240 seconds) 2020-08-29T01:51:27Z Jesin joined #lisp 2020-08-29T01:56:07Z georgiePorgie joined #lisp 2020-08-29T01:56:17Z georgiePorgie quit (Client Quit) 2020-08-29T01:59:59Z mangoicedtea quit (Quit: Leaving) 2020-08-29T02:11:23Z rumbler31 quit (Remote host closed the connection) 2020-08-29T02:11:44Z elxbarbosa quit (Remote host closed the connection) 2020-08-29T02:25:01Z dyelar quit (Quit: Leaving.) 2020-08-29T02:41:55Z terpri quit (Ping timeout: 240 seconds) 2020-08-29T02:42:24Z mrcom quit (Ping timeout: 265 seconds) 2020-08-29T02:42:55Z renzhi quit (Ping timeout: 240 seconds) 2020-08-29T02:48:01Z wsinatra_ quit (Quit: WeeChat 2.9) 2020-08-29T02:48:28Z mrcom joined #lisp 2020-08-29T02:51:31Z terpri joined #lisp 2020-08-29T02:55:05Z brj quit (Ping timeout: 240 seconds) 2020-08-29T02:58:43Z brj joined #lisp 2020-08-29T03:02:13Z Alfr_ joined #lisp 2020-08-29T03:04:52Z Alfr quit (Ping timeout: 260 seconds) 2020-08-29T03:11:58Z rumbler31 joined #lisp 2020-08-29T03:18:35Z Jeanne-Kamikaze joined #lisp 2020-08-29T03:22:56Z beach: Good morning everyone! 2020-08-29T03:27:42Z elxbarbosa joined #lisp 2020-08-29T03:30:45Z markasoftware: hi 2020-08-29T03:52:05Z Necktwi quit (Ping timeout: 240 seconds) 2020-08-29T04:03:16Z Necktwi joined #lisp 2020-08-29T04:16:02Z Alloc quit (Ping timeout: 260 seconds) 2020-08-29T04:16:21Z Alloc joined #lisp 2020-08-29T04:17:42Z u0_a199 joined #lisp 2020-08-29T04:21:00Z paul0 joined #lisp 2020-08-29T04:22:52Z gravicappa joined #lisp 2020-08-29T04:24:23Z _paul0 quit (Ping timeout: 265 seconds) 2020-08-29T04:25:56Z Jeanne-Kamikaze quit (Quit: Leaving) 2020-08-29T04:31:08Z u0_a199 quit (Quit: WeeChat 2.9) 2020-08-29T04:34:53Z akoana quit (Quit: leaving) 2020-08-29T04:44:46Z Lord_of_Life_ joined #lisp 2020-08-29T04:46:08Z Lord_of_Life quit (Ping timeout: 265 seconds) 2020-08-29T04:46:08Z Lord_of_Life_ is now known as Lord_of_Life 2020-08-29T04:47:52Z _oldtopman quit (Ping timeout: 272 seconds) 2020-08-29T04:49:16Z ggole joined #lisp 2020-08-29T04:50:53Z shangul joined #lisp 2020-08-29T04:57:57Z terrorjack quit (Ping timeout: 240 seconds) 2020-08-29T04:58:12Z beach: Today, for my daily exercise, I watched the first half of a presentation by Brandon Rhodes, entitles "Python as C++'s limiting case", given at code::dive 2018. It reminded me of something I frequently repeat, namely "People spend a lot of time and energy to avoid learning Common Lisp." 2020-08-29T04:58:59Z beach: This presentation also reminded me of the sorry state of the fields of computing, programming, and software engineering. 2020-08-29T05:00:30Z terrorjack joined #lisp 2020-08-29T05:00:37Z cgay_ joined #lisp 2020-08-29T05:01:07Z splittist_ joined #lisp 2020-08-29T05:01:17Z mpontillo_ joined #lisp 2020-08-29T05:01:24Z thonkpod_ joined #lisp 2020-08-29T05:01:34Z mgsk quit (Ping timeout: 240 seconds) 2020-08-29T05:01:34Z mpontillo quit (Ping timeout: 240 seconds) 2020-08-29T05:01:34Z FennecCode quit (Ping timeout: 240 seconds) 2020-08-29T05:01:34Z voidlily quit (Ping timeout: 240 seconds) 2020-08-29T05:01:34Z bg__ quit (Ping timeout: 240 seconds) 2020-08-29T05:01:35Z cgay quit (Ping timeout: 240 seconds) 2020-08-29T05:01:35Z gravicappa quit (Ping timeout: 240 seconds) 2020-08-29T05:01:35Z thonkpod quit (Ping timeout: 240 seconds) 2020-08-29T05:01:35Z splittist quit (Ping timeout: 240 seconds) 2020-08-29T05:01:35Z splittist_ is now known as splittist 2020-08-29T05:01:35Z cgay_ is now known as cgay 2020-08-29T05:01:35Z gravicappa joined #lisp 2020-08-29T05:01:35Z mpontillo_ is now known as mpontillo 2020-08-29T05:01:40Z aeth: The most disappointing part of modern software seems to be design. Every time there's a new update that changes the design, usability and feature discoverability go way down. Most recently, with Firefox for Android. 2020-08-29T05:01:57Z kopiyka quit (Ping timeout: 240 seconds) 2020-08-29T05:01:57Z RagnarDanneskjol quit (Ping timeout: 240 seconds) 2020-08-29T05:02:00Z voidlily joined #lisp 2020-08-29T05:02:02Z mgsk joined #lisp 2020-08-29T05:02:05Z RagnarDanneskjol joined #lisp 2020-08-29T05:02:09Z aeth: Minimalism has gone too far, for at least 5 years now. 2020-08-29T05:02:28Z Oddity_ quit (Ping timeout: 240 seconds) 2020-08-29T05:02:28Z ggoes quit (Ping timeout: 240 seconds) 2020-08-29T05:02:32Z aeth: And any feature that telemetry shows is uncommonly used will eventually get removed, no matter how useful it is 2020-08-29T05:03:01Z save-lisp-or-die quit (Read error: Connection reset by peer) 2020-08-29T05:03:01Z Alloc quit (Ping timeout: 240 seconds) 2020-08-29T05:03:25Z jello_pudding quit (Ping timeout: 240 seconds) 2020-08-29T05:03:25Z tfb quit (Ping timeout: 240 seconds) 2020-08-29T05:03:56Z lonjil quit (Ping timeout: 240 seconds) 2020-08-29T05:04:16Z beach: Well, I was mostly referring to the time and energy spent by the developers, project leaders, etc. But maybe this minimalism trend is due tot he fact that their tools are so complex that they can't do otherwise. 2020-08-29T05:04:49Z ggoes joined #lisp 2020-08-29T05:04:55Z ggole- joined #lisp 2020-08-29T05:05:25Z vutral quit (Ping timeout: 240 seconds) 2020-08-29T05:05:25Z yonkunas quit (Ping timeout: 240 seconds) 2020-08-29T05:05:36Z yonkunas joined #lisp 2020-08-29T05:06:11Z jgodbout quit (Ping timeout: 240 seconds) 2020-08-29T05:06:11Z elflng quit (Ping timeout: 240 seconds) 2020-08-29T05:06:25Z tfb joined #lisp 2020-08-29T05:06:25Z alandipert quit (Ping timeout: 240 seconds) 2020-08-29T05:06:44Z lonjil joined #lisp 2020-08-29T05:06:46Z jgodbout joined #lisp 2020-08-29T05:06:56Z midre quit (Ping timeout: 240 seconds) 2020-08-29T05:07:17Z vutral joined #lisp 2020-08-29T05:07:25Z ggole quit (Ping timeout: 240 seconds) 2020-08-29T05:08:50Z gko_ quit (Ping timeout: 258 seconds) 2020-08-29T05:08:56Z alandipert joined #lisp 2020-08-29T05:09:29Z FennecCode joined #lisp 2020-08-29T05:10:27Z lottaquestions_ joined #lisp 2020-08-29T05:10:44Z midre joined #lisp 2020-08-29T05:11:05Z jbgg_ joined #lisp 2020-08-29T05:11:17Z elflng joined #lisp 2020-08-29T05:11:44Z _Posterdati_ joined #lisp 2020-08-29T05:11:46Z jibanes quit (Ping timeout: 240 seconds) 2020-08-29T05:11:47Z Posterdati quit (Ping timeout: 240 seconds) 2020-08-29T05:11:47Z lottaquestions quit (Remote host closed the connection) 2020-08-29T05:11:47Z jbgg quit (Ping timeout: 240 seconds) 2020-08-29T05:12:22Z bilegeek joined #lisp 2020-08-29T05:12:33Z jello_pudding joined #lisp 2020-08-29T05:12:42Z elxbarbosa quit (Quit: ERC (IRC client for Emacs 27.1)) 2020-08-29T05:13:43Z jibanes joined #lisp 2020-08-29T05:16:55Z aeth: beach: Well, cutting features seems to be incredibly common these days, so perhaps the issue is maintaining software. 2020-08-29T05:19:46Z space_otter quit (Remote host closed the connection) 2020-08-29T05:21:02Z Alloc joined #lisp 2020-08-29T05:32:54Z beach: That's part of what I was referring to. The hypothesis was that, in order to simplify their work (design, first-time development, maintenance), since their main tool (i.e., the programming language) makes their task so hard, they need to cut down on the features. 2020-08-29T05:33:25Z ecbrown joined #lisp 2020-08-29T05:41:03Z beach: What was so "interesting" about this presentation was that the speaker took features of C, C++, Perl, Awk, JavaScript, etc. and for each one stated why it was problematic. Then he pretended to design a new and improved scripting language that fixed the problem. It so happened that the fix was exactly what Python does. 2020-08-29T05:41:05Z beach: However, what he failed to mention was that Lisp had fixed these problems ages ago, and in a better way than Python does. Too bad that his fixes are going to result in a scripting language rather than a general-purpose programming language like Common Lisp. 2020-08-29T05:43:52Z beach: I mean, I think he failed to mention that, not as a deliberate omission, but by simple ignorance. Hence my analysis about the sorry state of the fields of computing. 2020-08-29T05:44:22Z bocaneri joined #lisp 2020-08-29T05:44:46Z aeth: Doesn't Python have odd scoping rules? 2020-08-29T05:45:00Z ggole-: It has function scope. 2020-08-29T05:47:05Z aeth: Scope was solved by Scheme in 1975. 2020-08-29T05:47:19Z Alloc quit (Ping timeout: 246 seconds) 2020-08-29T05:47:36Z aeth: So only C has an excuse there 2020-08-29T05:48:01Z beach: I thought scope was solved by Algol60. 2020-08-29T05:48:04Z ggole-: Arguably earlier in Algol, which had entirely sane lexical scoping rules 2020-08-29T05:48:14Z beach: Exactly. 2020-08-29T05:48:16Z aeth: hah 2020-08-29T05:48:29Z aeth: Well, I guess the concept was at least "popularized by" Scheme 2020-08-29T05:48:35Z Alloc joined #lisp 2020-08-29T05:48:45Z ggole-: Actually C's scoping rules (for variables) are also fine, that's not really the part of C that is bad 2020-08-29T05:50:08Z aeth: C/C++ let you do a { /* foo */ } i.e. brackets with no preceding keyword, and it behaves not too unlike a LET 2020-08-29T05:50:22Z aeth: Of course, I would've never even bothered to try before I learned Lisp 2020-08-29T05:50:41Z beach: aeth: That's still local scope. 2020-08-29T05:50:54Z beach: aeth: Keyword or {, same thing. 2020-08-29T05:55:03Z mrcom quit (Read error: Connection reset by peer) 2020-08-29T05:55:26Z beach: aeth: I would not attribute popularizing scoping rules to Scheme. Pretty much every language invented in the spirit of Algo60 got it right. Like Simula, Pascal, etc. 2020-08-29T05:57:17Z narimiran joined #lisp 2020-08-29T06:02:28Z beach: aeth: And, when I programmed in C, I considered local scope to be an important tool for limiting the portion of the code where variables are in scope. It is (or should be) an important tool for every developer in every language. But, again, ignorance strikes in the field of computing. 2020-08-29T06:02:29Z ecbrown quit (Remote host closed the connection) 2020-08-29T06:04:17Z shka_ joined #lisp 2020-08-29T06:05:55Z beach: I vividly recall teaching this tool to students in 1988, and I had to justify it by telling them about compiler design, because they were convinced that, if a variable were introduced inside a loop, then it somehow needed to be "created" for each iteration, thereby slowing down the code. 2020-08-29T06:07:33Z beach: And this necessity is part of the reason why I think every serious developer must know about compiler technology, computer architecture, and programming-language design. 2020-08-29T06:09:32Z beach: If they don't know about those things, they are going to make incorrect guesses, and the code is going to reflect those guesses in so many negative ways. 2020-08-29T06:10:57Z no-defun-allowed: My C++ lecturer told us that not having to zero initialise variables makes C++ programs faster than other languages. I suppose data flow analysis wasn't invented that long ago... 2020-08-29T06:11:53Z beach: ... which only goes to show that ignorance is not limited to students and developers. 2020-08-29T06:14:03Z beach: Kildall's PhD dissertation on the subject dates from 1972. 2020-08-29T06:17:01Z aeth: DISASSEMBLE does a good job attacking false assumptions of "if I put this variable here it'll slow down my code" since often you'll see absolutely no difference. 2020-08-29T06:17:12Z no-defun-allowed: That's probably about the time the people who wrote the programming curriculum for high schools here are stuck in. 2020-08-29T06:17:22Z wsinatra quit (Quit: WeeChat 2.9) 2020-08-29T06:17:39Z beach: no-defun-allowed: Heh! 2020-08-29T06:17:58Z no-defun-allowed: aeth: I demonstrated that to be false by writing two programs, one with `int foo = 0; foo = 3;` and one with `int foo = 3;` You only needed to use -O1 to convince GCC to remove the redundant initialization. 2020-08-29T06:18:18Z ggole-: There's a bit of truth in that allowing uninitialised parts of arrays can avoid work 2020-08-29T06:18:37Z aeth: no-defun-allowed: GCC and variables, yes... arrays in $random_language, maybe not 2020-08-29T06:18:41Z ggole-: The 'variables' makes me suspect that the person didn't actually understand that 2020-08-29T06:19:35Z no-defun-allowed: Yeah, arrays and objects are where that is less obviously true, but from memory, allocating arrays of objects on the stack would still call the default constructor in C++. 2020-08-29T06:19:58Z MichaelRaskin: Then in many cases asking for an array of size where this matters might include getting more pages from OS, which come pre-zeroed for security reasons 2020-08-29T06:20:23Z beach: Oh, Frances E. Allen has a paper from 1969. 2020-08-29T06:20:23Z ggole-: There's a bunch of hard-to-remember rules about initialisation, since it's C++ 2020-08-29T06:20:25Z aeth: MichaelRaskin: then clearly, use a less secure OS, for performance reasons 2020-08-29T06:21:01Z aeth: what we need is DOS, but for x86-64 2020-08-29T06:21:10Z toorevitimirp joined #lisp 2020-08-29T06:21:35Z aeth: (we don't) 2020-08-29T06:21:51Z no-defun-allowed: I hear the curriculum plan that started this year is less FUBAR, fortunately. 2020-08-29T06:23:12Z MichaelRaskin: «Compilers lie. CPUs lie even more. GPUs reject the notion of truth.»? 2020-08-29T06:23:46Z no-defun-allowed: Or was that the textbook? I remember the teacher and I looked at the draft of something to do with this year's curriculum and we were both very relieved to read it. 2020-08-29T06:25:05Z brj quit (Ping timeout: 240 seconds) 2020-08-29T06:25:47Z no-defun-allowed: (Either way, that's not my problem now, but 1972 is about where it is. You can stick data together with records and one-dimensional arrays, and if you go to a good school, you even get some objects.) 2020-08-29T06:28:22Z aeth: technically, everything's an object 2020-08-29T06:28:59Z no-defun-allowed: Anyways, what's the most straightforward way to define a method that has a specializer that's only available when the defining form is evaluated? Something like (let ((value ...)) (defmethod foo ((bar )) ...)) 2020-08-29T06:29:41Z mrcom joined #lisp 2020-08-29T06:29:46Z no-defun-allowed: ENSURE-METHOD doesn't know anything about the lexical environment, which is less than ideal. Do I go about reimplementing that? 2020-08-29T06:33:56Z beach: aeth: What makes you think that everything is an object? 2020-08-29T06:34:44Z no-defun-allowed: Er, but then you can't compile the lambda form in the appropriate lexical environment. /me sighs and sticks to EVAL. 2020-08-29T06:35:09Z beach: no-defun-allowed: What implementation? 2020-08-29T06:35:43Z no-defun-allowed: Just using closer-mop on SBCL now. 2020-08-29T06:35:45Z beach: no-defun-allowed: Normally, the method function should be evaluated in the scope of the DEFMETHOD form. 2020-08-29T06:36:33Z beach: Oh, but that's not the method function is it. 2020-08-29T06:36:38Z beach: It's the specializer. 2020-08-29T06:37:36Z no-defun-allowed: Oh wait. 2020-08-29T06:37:53Z aeth: beach: not everything is an object? 2020-08-29T06:38:25Z aeth: because that's the terminology I learned... 2020-08-29T06:38:29Z no-defun-allowed: I've never really messed with specializers, but can I do (let ((x ...)) (defmethod foo ((bar (eql x))) ...))? CLHS on DEFMETHOD suggests I can. 2020-08-29T06:38:38Z beach: aeth: That's right, and I often repeat that fact. Affirmations like that, when examined, really turn out to mean only "every object is an object". 2020-08-29T06:39:19Z aeth: beach: what isn't an object? 2020-08-29T06:39:36Z beach: Define the context, and I'll tell you. Common Lisp? 2020-08-29T06:39:45Z aeth: special forms, maybe? 2020-08-29T06:39:54Z no-defun-allowed: aeth: Are you an object? 2020-08-29T06:39:55Z aeth: yes, in CL 2020-08-29T06:39:55Z beach: Then a comment is not an object. A place is not an object. 2020-08-29T06:40:06Z gaqwas joined #lisp 2020-08-29T06:40:06Z gaqwas quit (Changing host) 2020-08-29T06:40:06Z gaqwas joined #lisp 2020-08-29T06:40:20Z beach: Those are just two examples. I think I can find several others. 2020-08-29T06:40:56Z beach: A type is not an object. 2020-08-29T06:41:01Z aeth: I can't deny that a comment is not an object. Does this mean that "everything is an object", which is very frequently published, is false? 2020-08-29T06:41:16Z beach: Yes, it is false. Always has been. 2020-08-29T06:41:24Z beach: And I repeat that frequently. 2020-08-29T06:41:50Z MichaelRaskin: A comment doesn't even exist from code point of view, though. In the AST where comment is representable, the comment is typically represented by an object 2020-08-29T06:41:54Z aeth: What makes a type not an object? 2020-08-29T06:43:05Z beach: aeth: It is described by a type specifier, but that type specifier is not the type. But it doesn't matter. I have already found two counterexamples. 2020-08-29T06:43:23Z beach: An "exceptional situation" is not an object. 2020-08-29T06:43:41Z beach: I could go though the glossary if you like. 2020-08-29T06:43:56Z aeth: my worldview has already been shattered today 2020-08-29T06:45:05Z MichaelRaskin: It's arguable how different is from saying a physical neutron is not a Common Lisp object 2020-08-29T06:45:58Z beach: MichaelRaskin: "neutron" is not mentioned in the Common Lisp standard, or at least not in the normative part. 2020-08-29T06:46:31Z beach: "comment" and "place" both are, though. 2020-08-29T06:46:46Z aeth: MichaelRaskin: good idea, we need a "neutron" UI framework to compete with Electron 2020-08-29T06:46:58Z mrcom quit (Ping timeout: 265 seconds) 2020-08-29T06:47:23Z no-defun-allowed: "Electron should have been called the top quark based on its size" 2020-08-29T06:47:33Z brj joined #lisp 2020-08-29T06:47:51Z MichaelRaskin: I am pretty sure «everything is an object» is limited to «everything fully representable» 2020-08-29T06:47:56Z holycow joined #lisp 2020-08-29T06:47:58Z holycow: join #python 2020-08-29T06:48:26Z no-defun-allowed: Think I'll pass. (did you miss the /?) 2020-08-29T06:48:41Z aeth: everything "first class", perhaps, but there might be some things that aren't "first class" that are objects 2020-08-29T06:49:11Z beach: aeth: Thank you. Now you are only epsilon away from "every object is an object" 2020-08-29T06:49:12Z holycow: lol, yes sorry 2020-08-29T06:49:34Z beach: Here are some more: "exit point", "block", "character case", "compiler", 2020-08-29T06:50:05Z mrcom joined #lisp 2020-08-29T06:50:05Z aeth: well, a compiler is a collection of objects 2020-08-29T06:50:41Z no-defun-allowed: What do you think of the return value of BYTE? That's an object, but one of implementation-dependent representation, which frequently borrows some other type. 2020-08-29T06:50:47Z MichaelRaskin: Compiler is a meta notion anyway 2020-08-29T06:51:12Z beach: MichaelRaskin: Which means that it is not an object, which is what I said. 2020-08-29T06:51:36Z aeth: MichaelRaskin: I mean, a compiler isn't an object just like you're not an atom 2020-08-29T06:51:52Z MichaelRaskin: Which means its status is closer to «computer» than to «integer» 2020-08-29T06:52:27Z no-defun-allowed: I guess I just stated that it's an object. Oh well. Would be nice if it wasn't frequently a cons or an integer or something that didn't really tell you if it is in fact a byte specifier. 2020-08-29T06:54:03Z White_Flame: a bit in a bitvector is not an object 2020-08-29T06:54:06Z ldbeth joined #lisp 2020-08-29T06:54:36Z ldbeth: good afternoon 2020-08-29T06:54:38Z White_Flame: a type is not an object 2020-08-29T06:54:46Z no-defun-allowed: Hello ldbeth. 2020-08-29T06:54:51Z beach: I already mentioned "type". 2020-08-29T06:54:55Z White_Flame: ah, k 2020-08-29T06:55:29Z beach: But the point is that it is not the case that "everything is an object". 2020-08-29T06:55:40Z CrazyEddy joined #lisp 2020-08-29T06:55:44Z White_Flame: right, it's just interesting to try to enumerate the non-object ones 2020-08-29T06:56:06Z beach: Oh, you have a lot of work in front of you. :) 2020-08-29T06:56:20Z beach: Just go through the glossary and look at all the nouns. 2020-08-29T06:56:40Z beach: "file system" 2020-08-29T06:56:48Z ldbeth: you can try to describe everything as an abstract object specified by their behavior though 2020-08-29T06:57:26Z markasoftware: if i want to support declarations in the `body` of my macro, is there a better alternative to wrapping it in an unnecessary `(let () ,@body)` ? 2020-08-29T06:57:45Z markasoftware: if the immediately surrounding form otherwise is not one that supports declarations (in this case, progn) 2020-08-29T06:57:46Z beach: clhs locally 2020-08-29T06:57:46Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/s_locall.htm 2020-08-29T06:58:15Z markasoftware: awesome, exactly what I wanted 2020-08-29T07:01:46Z beach: "reference", "implementation", "extent", "scope". 2020-08-29T07:02:48Z MichaelRaskin: Actually, you now convince me that everything is an object 2020-08-29T07:03:00Z aeth: comments? 2020-08-29T07:03:13Z beach: aeth: "comment" was the first thing I mentioned. 2020-08-29T07:03:16Z MichaelRaskin: Everything assignable to a variable, sure, but _that_ clarification is _really_ not news to me 2020-08-29T07:03:27Z aeth: beach: yes, I was reminding MichaelRaskin 2020-08-29T07:03:37Z MichaelRaskin: I did not forget 2020-08-29T07:03:47Z beach: MichaelRaskin: Like I said, it boils down to "every object is an object". 2020-08-29T07:04:16Z White_Flame: I think that places & types are probably the most interesting, directly representable, non-objects 2020-08-29T07:04:18Z MichaelRaskin: Assignable to a variable being the same as an object is an informative claim 2020-08-29T07:04:27Z White_Flame: many of these other things are notions about the code 2020-08-29T07:04:33Z MichaelRaskin: They are describable, not representable 2020-08-29T07:05:16Z MichaelRaskin: In-model and external-view notions being different is a distinction too trivial to discuss 2020-08-29T07:05:20Z White_Flame: right, there's a direct source code representation which implies the thing, but is not the thing 2020-08-29T07:05:33Z MichaelRaskin: Not representable, because, say, equality is undecidable 2020-08-29T07:11:24Z ldbeth quit (Quit: rcirc on GNU Emacs 26.3) 2020-08-29T07:12:06Z ldbeth joined #lisp 2020-08-29T07:12:43Z karlosz quit (Quit: karlosz) 2020-08-29T07:13:18Z karlosz joined #lisp 2020-08-29T07:14:15Z beach: aeth: Perhaps what you mean was "Every Common Lisp datum is an object"? 2020-08-29T07:15:31Z orivej joined #lisp 2020-08-29T07:16:10Z beach: meant 2020-08-29T07:17:08Z jonatack quit (Quit: jonatack) 2020-08-29T07:18:55Z pve joined #lisp 2020-08-29T07:21:08Z aeth: beach: should that be the concise response next time someone says "everything is an object"? 2020-08-29T07:22:00Z beach: I basically already responded that. From the vocabulary: "object n. 1. any Lisp datum.", so we have now reached "every object is an object". 2020-08-29T07:22:09Z beach: TADA! 2020-08-29T07:22:38Z tumdum quit (Remote host closed the connection) 2020-08-29T07:23:34Z tumdum joined #lisp 2020-08-29T07:24:14Z MichaelRaskin: Note that «everything one can assign to a variable is an object in Common Lisp OOP system» is the same claim and holds even without lisp isolationism 2020-08-29T07:26:16Z tobias_ quit (Quit: Leaving) 2020-08-29T07:26:29Z zxcvz joined #lisp 2020-08-29T07:45:22Z ldbeth quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-08-29T07:59:14Z _Posterdati_ is now known as Posterdati 2020-08-29T08:10:05Z notzmv quit (Ping timeout: 240 seconds) 2020-08-29T08:10:28Z hendursa1 joined #lisp 2020-08-29T08:12:05Z rumbler31 quit (Ping timeout: 240 seconds) 2020-08-29T08:12:23Z hendursaga quit (Ping timeout: 240 seconds) 2020-08-29T08:12:45Z Inline joined #lisp 2020-08-29T08:13:17Z Oladon quit (Quit: Leaving.) 2020-08-29T08:14:46Z tuz_ joined #lisp 2020-08-29T08:16:31Z jonatack joined #lisp 2020-08-29T08:18:55Z jackdaniel: I would be more concerned if some objects were not objects 2020-08-29T08:20:53Z aeth: I'd file a bug if that was the case in ECL 2020-08-29T08:21:32Z aeth: It would be fun to have an OBJECTP that always returns T 2020-08-29T08:22:02Z jonatack quit (Ping timeout: 258 seconds) 2020-08-29T08:22:21Z jackdaniel: I mean that it is problematic from the classical logic perspective 2020-08-29T08:22:35Z no-defun-allowed: What if you manage to weasel out whatever the unbound representation is? 2020-08-29T08:22:36Z jonatack joined #lisp 2020-08-29T08:22:53Z no-defun-allowed: Today I was greeted by "The value # is not of type FIXNUM" in my test suite. 2020-08-29T08:23:11Z jackdaniel: the only way out is to say, that objects do not exist :) 2020-08-29T08:23:42Z MichaelRaskin: jackdaniel: that would _also_ contradict «some objects are not objects» 2020-08-29T08:24:22Z ralt joined #lisp 2020-08-29T08:24:32Z jackdaniel: true 2020-08-29T08:24:40Z jackdaniel: exists and not exists 2020-08-29T08:24:50Z zaquest quit (Quit: Leaving) 2020-08-29T08:24:59Z jackdaniel: so there is no way out I suppose 2020-08-29T08:25:47Z phoe: no-defun-allowed: is that ABCL? 2020-08-29T08:27:16Z no-defun-allowed: phoe: SBCL; it does have an "unbound" value. 2020-08-29T08:27:41Z no-defun-allowed: #.sb-pcl:+slot-unbound+ 2020-08-29T08:29:35Z phoe: ah yes, the value of (sb-kernel:make-unbound-marker) 2020-08-29T08:31:08Z tuz_ quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) 2020-08-29T08:32:46Z narimiran quit (Ping timeout: 258 seconds) 2020-08-29T08:33:55Z orivej quit (Ping timeout: 240 seconds) 2020-08-29T09:06:02Z edgar-rft: Re: CLHS Glossary "object n. 1. any Lisp datum." - The Oxford Dictionary defines "datum" as "fact or piece of information" what means that Lisp objects are not restricted to Lisp data types. 2020-08-29T09:07:52Z retropikzel joined #lisp 2020-08-29T09:08:25Z iAmDecim joined #lisp 2020-08-29T09:13:35Z no-defun-allowed: Is the Oxford Dictionary prescriptive of American English? 2020-08-29T09:13:40Z igemnace quit (Quit: WeeChat 2.9) 2020-08-29T09:15:23Z iAmDecim quit (Ping timeout: 240 seconds) 2020-08-29T09:15:39Z beach: It is Oxford, Alabama. 2020-08-29T09:16:56Z no-defun-allowed: So it is. 2020-08-29T09:22:24Z edgar-rft: Okay, I agree that for USAian education standards Wikipedia would be more appropriate. 2020-08-29T09:24:15Z zaquest joined #lisp 2020-08-29T09:30:41Z X-Scale joined #lisp 2020-08-29T09:39:59Z theothornhill joined #lisp 2020-08-29T09:47:22Z mangul joined #lisp 2020-08-29T09:48:05Z cosimone joined #lisp 2020-08-29T09:48:32Z theothornhill: What is a good way to use own tools in common lisp? Right now I just use save-lisp-and-die, then alias that executable. 2020-08-29T09:49:32Z theothornhill: or do people live in the repl, loading systems etc as they go? 2020-08-29T09:49:45Z shangul quit (Ping timeout: 240 seconds) 2020-08-29T09:52:00Z no-defun-allowed: I would say living in the REPL is more common. 2020-08-29T09:53:46Z theothornhill: Seems a little slow to run small utilities that just produce some info, say like some weather info from an api etc 2020-08-29T09:53:59Z no-defun-allowed: What do you mean by tools though? Would you have any reasonable interface that isn't the shell? 2020-08-29T09:54:15Z no-defun-allowed: In that case, then that probably would be a good choice. 2020-08-29T09:57:12Z theothornhill: By tools I mean the unixy I/O style small apps. The ones where you don't need a living image, when it is "done" 2020-08-29T09:58:37Z gargaml joined #lisp 2020-08-29T10:03:58Z mrcom_ joined #lisp 2020-08-29T10:05:08Z mrcom quit (Ping timeout: 265 seconds) 2020-08-29T10:07:45Z toorevitimirp quit (Ping timeout: 240 seconds) 2020-08-29T10:13:32Z random-nick joined #lisp 2020-08-29T10:22:58Z edgar-rft: theothornhill: I usually use Emacs Lisp for small-n-dirty shell programming gimmicks, Common Lisp always inculudes the entire compiler and lots of other stuff in its executables. 2020-08-29T10:26:32Z hendursa1 quit (Remote host closed the connection) 2020-08-29T10:26:54Z no-defun-allowed: The one command line program I have written uses the compiler. 2020-08-29T10:26:56Z jackdaniel: not /always/, i.e in ecl libcmp.fas is loaded only after the compiler is invoked for the first time 2020-08-29T10:27:01Z hendursaga joined #lisp 2020-08-29T10:27:29Z jackdaniel: (you may build everything into ecl so it is always loaded as an option) 2020-08-29T10:29:07Z edgar-rft: thanks for the info, and please built lots of money into ecl to that I can load it as an option :-) 2020-08-29T10:29:59Z jackdaniel: I don't think that anyone would tell you *not* to use ecl for small-n-dirty shell programming gimmics, but I don't know what is a nature of your job 2020-08-29T10:31:36Z edgar-rft: I first wanted to suggest using C instead of Lisp but I hadn't thought aboout the option that ecl uses C under the hood 2020-08-29T10:32:59Z edgar-rft: what is just one more reason to use ecl more often :-) 2020-08-29T10:34:07Z ralt quit (Quit: Connection closed for inactivity) 2020-08-29T10:39:32Z theothornhill: Yeah, I've used elisp and c for that previously (and still do). Perhaps its not the best fit for cl anyways 2020-08-29T10:42:32Z dilated_dinosaur joined #lisp 2020-08-29T10:43:01Z bilegeek quit (Quit: Leaving) 2020-08-29T10:46:25Z cosimone quit (Quit: Quit.) 2020-08-29T10:48:06Z frgo quit (Remote host closed the connection) 2020-08-29T10:48:42Z frgo joined #lisp 2020-08-29T10:49:11Z edgar-rft: theothornhill: One of the reasons why Unix and its "small and simple" philosophy was created was to overcome the "monolithity" of programming environments like Lisp (at that time). So it's not really a surprise that Common Lisp and the Unix shell are not best friends. But ecl shows that there *are* people who care about the interoperability between C (Unix) and Lisp. 2020-08-29T10:52:05Z nicktick quit (Ping timeout: 240 seconds) 2020-08-29T10:54:48Z no-defun-allowed: I thought it was to kludge around having small address spaces. 2020-08-29T10:55:16Z toorevitimirp joined #lisp 2020-08-29T10:55:43Z no-defun-allowed: But I guess that's a similar concern. 2020-08-29T10:57:32Z edgar-rft: According to Dennis Ritchie C is the most inappropriate language to write big programs in :-) 2020-08-29T10:58:38Z edgar-rft: ...but this is #lisp not #c... 2020-08-29T11:00:36Z theothornhill: Yeah, makes sense 2020-08-29T11:14:56Z narimiran joined #lisp 2020-08-29T11:20:55Z save-lisp-or-die joined #lisp 2020-08-29T11:24:25Z jonatack quit (Ping timeout: 240 seconds) 2020-08-29T11:32:36Z frgo_ joined #lisp 2020-08-29T11:32:52Z nicktick joined #lisp 2020-08-29T11:34:43Z frgo quit (Ping timeout: 244 seconds) 2020-08-29T11:35:37Z bitmapper quit (Ping timeout: 264 seconds) 2020-08-29T11:44:13Z Necktwi quit (Ping timeout: 265 seconds) 2020-08-29T11:45:49Z nicktick quit (Ping timeout: 264 seconds) 2020-08-29T11:49:34Z Necktwi joined #lisp 2020-08-29T11:54:42Z mangul is now known as shangul 2020-08-29T11:56:14Z EvW1 joined #lisp 2020-08-29T11:57:23Z seok joined #lisp 2020-08-29T11:57:49Z theothornhill quit (Ping timeout: 264 seconds) 2020-08-29T12:00:20Z jonatack joined #lisp 2020-08-29T12:06:22Z Alloc quit (Ping timeout: 256 seconds) 2020-08-29T12:09:41Z hendursaga quit (Quit: hendursaga) 2020-08-29T12:09:57Z hendursaga joined #lisp 2020-08-29T12:09:57Z adip_ joined #lisp 2020-08-29T12:11:26Z Alloc joined #lisp 2020-08-29T12:12:01Z alfonsox joined #lisp 2020-08-29T12:19:56Z ralt joined #lisp 2020-08-29T12:25:24Z renzhi joined #lisp 2020-08-29T12:29:51Z holycow quit (Quit: Lost terminal) 2020-08-29T12:31:53Z EvW1 quit (Ping timeout: 244 seconds) 2020-08-29T12:35:48Z notzmv joined #lisp 2020-08-29T12:41:44Z alfonsox quit (Ping timeout: 245 seconds) 2020-08-29T12:48:01Z adip_ quit (Quit: Lost terminal) 2020-08-29T12:49:23Z retropikzel quit (Ping timeout: 240 seconds) 2020-08-29T12:59:40Z Lord_of_Life quit (Read error: Connection reset by peer) 2020-08-29T13:00:09Z Lord_of_Life joined #lisp 2020-08-29T13:03:47Z grewal: fwiw, for small tools like that I've had luck using a long running lisp image in the background and writing a tiny script that passes command line args through a pipe 2020-08-29T13:04:08Z mangoicedtea joined #lisp 2020-08-29T13:05:05Z grewal: If you have enough tools, you can turn it into a busybox-like sort of thing where the image contains all the tools and it dispatches based on the name used to invoke it 2020-08-29T13:07:50Z _jrjsmrtn quit (Ping timeout: 265 seconds) 2020-08-29T13:08:03Z __jrjsmrtn__ joined #lisp 2020-08-29T13:15:45Z alfonsox joined #lisp 2020-08-29T13:16:25Z Inline quit (Ping timeout: 240 seconds) 2020-08-29T13:20:55Z gargaml quit (Ping timeout: 240 seconds) 2020-08-29T13:21:17Z gargaml joined #lisp 2020-08-29T13:24:52Z Alloc quit (Ping timeout: 258 seconds) 2020-08-29T13:25:12Z Alloc joined #lisp 2020-08-29T13:27:12Z seok quit (Remote host closed the connection) 2020-08-29T13:29:40Z orivej joined #lisp 2020-08-29T13:29:58Z MichaelRaskin: Me, I just have a prebuilt image with the tools I want to invoke, and pass it '--eval'. Start-up overhead is quite low 2020-08-29T13:36:40Z ldbeth joined #lisp 2020-08-29T13:41:18Z ldbeth left #lisp 2020-08-29T13:45:11Z nicktick joined #lisp 2020-08-29T13:55:17Z Alloc quit (Ping timeout: 260 seconds) 2020-08-29T13:58:29Z Alloc joined #lisp 2020-08-29T13:59:37Z retropikzel joined #lisp 2020-08-29T14:02:23Z ym joined #lisp 2020-08-29T14:03:15Z retropikzel quit (Client Quit) 2020-08-29T14:10:36Z wsinatra joined #lisp 2020-08-29T14:10:52Z kingragworm joined #lisp 2020-08-29T14:11:10Z kingragworm quit (Remote host closed the connection) 2020-08-29T14:12:52Z krid joined #lisp 2020-08-29T14:19:32Z krid quit (Ping timeout: 256 seconds) 2020-08-29T14:21:12Z mangul joined #lisp 2020-08-29T14:23:37Z shangul quit (Ping timeout: 264 seconds) 2020-08-29T14:27:35Z shifty quit (Ping timeout: 265 seconds) 2020-08-29T14:32:37Z liberliver quit (Ping timeout: 260 seconds) 2020-08-29T14:35:15Z cosimone joined #lisp 2020-08-29T14:41:55Z brj quit (Ping timeout: 240 seconds) 2020-08-29T14:43:57Z brj joined #lisp 2020-08-29T14:44:08Z gko_ joined #lisp 2020-08-29T14:50:29Z liberliver joined #lisp 2020-08-29T14:55:30Z bsd4me joined #lisp 2020-08-29T14:55:59Z mseddon joined #lisp 2020-08-29T14:56:58Z bsd4me left #lisp 2020-08-29T15:02:11Z bitmapper joined #lisp 2020-08-29T15:02:52Z CrazyEddy quit (Ping timeout: 265 seconds) 2020-08-29T15:03:20Z theseb joined #lisp 2020-08-29T15:04:55Z orivej quit (Ping timeout: 240 seconds) 2020-08-29T15:05:21Z orivej joined #lisp 2020-08-29T15:08:37Z paines joined #lisp 2020-08-29T15:09:03Z paines: hi 2020-08-29T15:11:02Z beach: Hello paines. 2020-08-29T15:11:45Z beach: paines: Are you new here? I don't recognize your nick. 2020-08-29T15:12:38Z paines: beach, well, I use irc every now and then. haven't been here in ages 2020-08-29T15:12:48Z beach: I see. 2020-08-29T15:13:19Z beach: What made you come back? 2020-08-29T15:14:16Z paines: probles :-p 2020-08-29T15:14:31Z liberliver quit (Ping timeout: 272 seconds) 2020-08-29T15:14:49Z beach: "problems"? Ouch! 2020-08-29T15:15:10Z paines: I am fiddeling around with a smaller project which uses SDL2 and now I am wondering why I cannot call a function which seem to be there, sdl-set-hint\ 2020-08-29T15:18:02Z mangoicedtea quit (Quit: Leaving) 2020-08-29T15:18:09Z beach: I am afraid that's not my cup of tea. I am guessing that it also involves FFI, yes? 2020-08-29T15:19:08Z paines: yes 2020-08-29T15:19:14Z beach: Definitely not my cup of tea then. 2020-08-29T15:19:16Z beach: Sorry. 2020-08-29T15:22:17Z paines: beach, no worries. thanks anyway 2020-08-29T15:24:46Z paines: I figured it out ;) Looks like it's important to be in the right environment :D 2020-08-29T15:26:48Z frgo_ is now known as frgo 2020-08-29T15:29:44Z ralt quit (Quit: Connection closed for inactivity) 2020-08-29T15:31:21Z theseb left #lisp 2020-08-29T15:34:49Z renzhi quit (Ping timeout: 258 seconds) 2020-08-29T15:35:12Z Necktwi quit (Ping timeout: 258 seconds) 2020-08-29T15:45:52Z Necktwi joined #lisp 2020-08-29T15:49:23Z Bourne quit (Ping timeout: 258 seconds) 2020-08-29T15:49:54Z iAmDecim joined #lisp 2020-08-29T15:53:58Z cpc26 joined #lisp 2020-08-29T15:55:03Z Aurora_v_kosmose quit (Ping timeout: 240 seconds) 2020-08-29T15:55:07Z wsinatra: quit 2020-08-29T15:55:11Z wsinatra quit (Quit: WeeChat 2.9) 2020-08-29T15:56:33Z cpc26 quit (Remote host closed the connection) 2020-08-29T15:56:56Z wsinatra joined #lisp 2020-08-29T16:02:01Z Aurora_v_kosmose joined #lisp 2020-08-29T16:12:57Z Necktwi quit (Ping timeout: 265 seconds) 2020-08-29T16:15:25Z paines quit (Ping timeout: 240 seconds) 2020-08-29T16:23:30Z toorevitimirp quit (Ping timeout: 258 seconds) 2020-08-29T16:38:14Z Oladon joined #lisp 2020-08-29T16:38:19Z Necktwi joined #lisp 2020-08-29T16:38:56Z alfonsox quit (Remote host closed the connection) 2020-08-29T16:45:20Z iAmDecim quit (Ping timeout: 265 seconds) 2020-08-29T16:46:33Z Lord_of_Life_ joined #lisp 2020-08-29T16:47:39Z Lord_of_Life quit (Ping timeout: 258 seconds) 2020-08-29T16:48:41Z edgar-rft quit (Quit: Leaving) 2020-08-29T16:49:23Z Lord_of_Life_ is now known as Lord_of_Life 2020-08-29T16:50:44Z jcowan: beach: I don't think it's correct to say Python is not a general-purpose programming language. "Scripting language" is basically a way of saying "language I don't like" 2020-08-29T16:50:59Z jcowan: If gcc had a compile-and-go option, C would be a scripting language. 2020-08-29T16:52:19Z jcowan: Indeed, that is not strong enough: there are, it seems, many C interpreters, so C is indeed a scripting language. 2020-08-29T16:52:34Z jeosol joined #lisp 2020-08-29T16:56:42Z scymtym: maybe saying /cpython/ is a scripting /environment/ would be more accurate since it ticks several of the boxes: cannot make (afaik) standalone binaries, does not compile to native code, is effectively single-threaded and arguably executes slower than "non-scripting languages". but i agree that "scripting language" is not a very useful way to categorize languages or even implementations 2020-08-29T16:58:59Z jcowan: There's a number of tools that let you create Python standalone files. The CPython interpreter is bundled in with necessary .pyc and .so/.dll files, and everything just gets set up. 2020-08-29T17:00:06Z jcowan: Fortran has parallelism but not concurrency 2020-08-29T17:01:41Z jcowan: Compiling into native code has the problem that it is neither portable nor stable. Larceny Scheme compiles into 32-bit x86, for which you have to load special libraries on Linux, and I expect support for them to rot over time (already WSL1 does not have it). Fortunately it also compiles to C in a version known as Petit Larceny. 2020-08-29T17:02:47Z Oddity_ joined #lisp 2020-08-29T17:14:54Z p_l: jcowan: it's possible to make a stable binary on linux - it's the Glibc that doesn't want to cooperate 2020-08-29T17:15:29Z p_l: (Go for example makes binaries that depend only on kernel being above certain version when you use certain command line flags) 2020-08-29T17:18:18Z Oddity__ joined #lisp 2020-08-29T17:19:17Z yitzi quit (Read error: Connection reset by peer) 2020-08-29T17:19:37Z jeosol quit (Remote host closed the connection) 2020-08-29T17:20:08Z mrcom_ quit (Ping timeout: 265 seconds) 2020-08-29T17:20:32Z mrcom_ joined #lisp 2020-08-29T17:22:22Z Oddity_ quit (Ping timeout: 260 seconds) 2020-08-29T17:22:57Z liberliver joined #lisp 2020-08-29T17:27:07Z Bourne joined #lisp 2020-08-29T17:29:09Z jeosol joined #lisp 2020-08-29T17:34:27Z White_Flame: "scripting" tends to indicate that its primary behavior is to invoke behavior of other things outside the script 2020-08-29T17:34:51Z White_Flame: while "programming" tends to indicate defining the primary behavior in the code itself 2020-08-29T17:35:29Z White_Flame: while those definitions still exist on a gradient, I think that's likely the common intention of those terms 2020-08-29T17:36:28Z p_l: Then Python is heavily biased towards scripting 2020-08-29T17:36:42Z White_Flame: if what you're doing is managing calls to external C libraries, then probably yeah 2020-08-29T17:37:31Z White_Flame: while Lisp is kinda weak at scripting, because of its strong focus on its own image 2020-08-29T17:37:43Z p_l: Well, anything else can quickly hit performance limits that result in red-eyed sysadmin going all BOFH on you 2020-08-29T17:37:44Z White_Flame: (although obviously you can do programming in python and scripting in CL) 2020-08-29T17:37:53Z p_l was the sysadmin in one case 2020-08-29T17:42:41Z jcowan: The last few jobs have involved programming in Python and occasionally scripting in bash. 2020-08-29T17:42:43Z jcowan: s/The/My 2020-08-29T17:47:55Z Necktwi quit (Ping timeout: 240 seconds) 2020-08-29T17:48:32Z Necktwi joined #lisp 2020-08-29T17:50:15Z cosimone quit (Quit: Quit.) 2020-08-29T17:58:27Z beach: jcowan: I was just quoting the presentation I saw. 2020-08-29T17:59:52Z mangul is now known as shangul 2020-08-29T17:59:57Z abhixec joined #lisp 2020-08-29T18:00:26Z beach: I was under the impression that the term was used by the creator of a language to mean "I hav no intention, or not enough knowledge, to make it fast enough for general use." 2020-08-29T18:01:03Z Aurora_v_kosmose quit (Ping timeout: 240 seconds) 2020-08-29T18:01:30Z beach vanishes until tomorrow morning. 2020-08-29T18:02:30Z cosimone joined #lisp 2020-08-29T18:10:45Z yitzi joined #lisp 2020-08-29T18:14:21Z mseddon quit (Read error: Connection reset by peer) 2020-08-29T18:15:05Z space_otter joined #lisp 2020-08-29T18:18:11Z Necktwi quit (Ping timeout: 240 seconds) 2020-08-29T18:18:57Z Aurora_v_kosmose joined #lisp 2020-08-29T18:20:10Z mokulus joined #lisp 2020-08-29T18:20:45Z EvW joined #lisp 2020-08-29T18:22:24Z Oladon quit (Quit: Leaving.) 2020-08-29T18:24:04Z Necktwi joined #lisp 2020-08-29T18:29:37Z shangul quit (Ping timeout: 258 seconds) 2020-08-29T18:32:01Z gko_ quit (Ping timeout: 264 seconds) 2020-08-29T18:33:15Z jasom: I agree that scripting is primarily about automating external tools. The bourne shell is the clasic example of a scripting language. This actually gells with beach's definition because if you spend 90+% of your time in external tools then there really isn't a point in making the language fast enough for general use. 2020-08-29T18:34:19Z p_l: jasom: that's core proposal of Python, pretty much 2020-08-29T18:34:27Z p_l: any time you have more pure-python work, it's PITA 2020-08-29T18:34:58Z p_l: on a completely unrelated note, python exception handling is hilariously bad 2020-08-29T18:43:34Z ym quit (Quit: Leaving) 2020-08-29T18:56:56Z yitzi quit (Read error: Connection reset by peer) 2020-08-29T19:01:01Z ecraven quit (Quit: bye) 2020-08-29T19:01:24Z ecraven joined #lisp 2020-08-29T19:03:04Z kikuchi joined #lisp 2020-08-29T19:06:47Z liberliver quit (Ping timeout: 260 seconds) 2020-08-29T19:12:22Z Lycurgus joined #lisp 2020-08-29T19:17:04Z mrcom__ joined #lisp 2020-08-29T19:17:06Z mrcom_ quit (Ping timeout: 265 seconds) 2020-08-29T19:19:57Z twocats joined #lisp 2020-08-29T19:21:32Z theothornhill joined #lisp 2020-08-29T19:26:13Z Oladon joined #lisp 2020-08-29T19:37:15Z jurov joined #lisp 2020-08-29T19:40:18Z jurov_ quit (Ping timeout: 265 seconds) 2020-08-29T19:40:58Z jeosol quit (Remote host closed the connection) 2020-08-29T19:41:55Z abhixec quit (Ping timeout: 240 seconds) 2020-08-29T19:43:07Z shka_ quit (Ping timeout: 246 seconds) 2020-08-29T19:57:48Z jcowan: p_l: What's bad about Python exception handling other than only having termination semantics? 2020-08-29T19:58:43Z p_l: jcowan: I don't know if it's just the library I'm using, or the exception system itself, but nested exceptions, or specifically, when you catch an exception inside exception handlers, lead to very hairy failures 2020-08-29T19:58:56Z p_l: which, in my case, lead to "robot not moving, production stopped" 2020-08-29T19:59:11Z jcowan: Oof 2020-08-29T19:59:17Z jcowan: I don't know about that case 2020-08-29T20:02:03Z gargaml quit (Quit: WeeChat 2.9) 2020-08-29T20:02:32Z jcowan: https://stackoverflow.com/questions/3208566/nested-exceptions shows how a handler within a handler works; it's what you expect from dynamic scope (which in this case happens to be static scope as well). 2020-08-29T20:03:03Z jcowan: But if the inner exception is coming from C or something, then who knows. 2020-08-29T20:03:30Z p_l: jcowan: it's all Python code, and to be honest, pretty ugly :/ 2020-08-29T20:04:02Z jcowan: "This building is pretty ugly and a little big for its site." 2020-08-29T20:05:55Z mrcom__ quit (Ping timeout: 265 seconds) 2020-08-29T20:07:06Z mrcom__ joined #lisp 2020-08-29T20:07:22Z theothornhill quit (Ping timeout: 258 seconds) 2020-08-29T20:07:26Z p_l: jcowan: I might have been tempted, at times, to reimplement it in CL 2020-08-29T20:07:31Z kikuchi quit (Quit: WeeChat 2.3) 2020-08-29T20:07:50Z p_l: but there wasn't even time to study the spec 2020-08-29T20:08:51Z p_l: and the server side implementation (which I don't control) appears to be flaky 2020-08-29T20:10:18Z shifty joined #lisp 2020-08-29T20:16:01Z paines joined #lisp 2020-08-29T20:16:49Z narimiran quit (Quit: leaving) 2020-08-29T20:17:49Z Alloc quit (Read error: Connection reset by peer) 2020-08-29T20:20:21Z Alloc joined #lisp 2020-08-29T20:25:29Z grewal: The more I use python at work, the more tempted I am to write an implementation of python in cl 2020-08-29T20:27:49Z p_l: I nearly rewrote a noticeable chunk of a product in DAYJOB[-5] in *anything compiled*... but I was too sleepy from fighting python over night to do so 2020-08-29T20:27:58Z p_l: when I got back to wakefulness I removed the alert 2020-08-29T20:29:14Z grewal wonders if he loads the python source code in ecl, would it just work? 2020-08-29T20:30:30Z p_l: no...? 2020-08-29T20:33:50Z aeth: grewal: don't start on it yet 2020-08-29T20:34:52Z aeth: grewal: there are a bunch of these projects going on right now (not Python, though, but I think there's at least one ancient Python in CL, probably Python 2) so it's probably best to wait until some common code gets moved into libraries 2020-08-29T20:35:21Z p_l: there's at least three projects that do "access python libs from CL" 2020-08-29T20:37:28Z aeth: Yes, with different approaches. (1) cl-python https://github.com/metawilm/cl-python (implements Python in CL); (2) burgled-batteries https://github.com/pinterface/burgled-batteries (bridges into Python via CFFI); (3) py4cl https://github.com/bendudson/py4cl (uses textual streams to bridge with Python) 2020-08-29T20:38:31Z aeth: However, cl-python is the one that uses the approach that grewal would want and that's essentially abandoned, is only Python 2 (afaik), and uses the LLGPL (NEVER license your code under a license that isn't FSF and OSI approved! NEVER!) 2020-08-29T20:39:08Z aeth: It looks like it's more on life support than abandoned, getting patches when it actually breaks, but nothing more. https://github.com/metawilm/cl-python/commits/master 2020-08-29T20:40:25Z space_otter quit (Remote host closed the connection) 2020-08-29T20:40:49Z aeth: library #2, burgled-batteries, also looks inactive, but since it's not a complete reimplementation of a living and actively-developed language that would have needed quite a bit of work to keep up, it could just be stable. 2020-08-29T20:45:55Z nicktick quit (Ping timeout: 240 seconds) 2020-08-29T20:49:12Z aeth: For those unfamiliar with Python, a Python 2 in 2020 (cl-python gives no indication which Python it is even though it should have; its tests use Python 2 syntax, though) basically means it will run no current Python code, but it could be useful to help rewrite a ton of "legacy" Python into CL. 2020-08-29T20:50:38Z akoana joined #lisp 2020-08-29T20:51:21Z mrcom__ quit (Ping timeout: 265 seconds) 2020-08-29T20:52:55Z gravicappa quit (Ping timeout: 240 seconds) 2020-08-29T20:53:09Z ggole- quit (Quit: Leaving) 2020-08-29T20:53:34Z grewal: aeth: the documentation for cl-python says it was targetting 2.7.1 2020-08-29T20:54:34Z aeth: ah, this... I didn't find that page on my initial look at it. https://common-lisp.net/project/clpython/manual.html 2020-08-29T20:55:19Z aeth: This is... quite possibly the most important piece of information and should have been in the readme instead of a string in a manual you can only find if you search for it. 2020-08-29T20:55:30Z Inline joined #lisp 2020-08-29T20:58:25Z gaqwas quit (Ping timeout: 264 seconds) 2020-08-29T20:58:50Z mrcom joined #lisp 2020-08-29T21:03:00Z drmeister: There is also cl4py: https://github.com/marcoheisig/cl4py 2020-08-29T21:03:39Z grewal: I like that's it's pronounced clappy 2020-08-29T21:03:52Z drmeister: It's being actively developed and it's a way to run Common Lisp code from python 2020-08-29T21:08:16Z mrcom quit (Ping timeout: 265 seconds) 2020-08-29T21:09:05Z Inline quit (Ping timeout: 258 seconds) 2020-08-29T21:09:38Z Inline joined #lisp 2020-08-29T21:17:55Z EvW quit (Ping timeout: 240 seconds) 2020-08-29T21:32:53Z rumbler31 joined #lisp 2020-08-29T21:41:15Z EvW joined #lisp 2020-08-29T21:43:14Z FreeBirdLjj joined #lisp 2020-08-29T21:47:25Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2020-08-29T21:48:02Z anewuser joined #lisp 2020-08-29T21:48:55Z phoe: beach: I got a YouTube comment on Creating a Common Lisp implementation (Part 2) saying "Thanks for this series! The not covered topics are really interesting. Consider touching them in the future. 2020-08-29T21:49:06Z phoe: so I guess that is one voice that wants more 2020-08-29T21:50:46Z aeth: For those not following #sbcl apparently a lot of code uses NIL for an invalid default value, which SBCL has (afaik) started complaining about. The type-correct alternative is ERROR, but this is often not done because ERROR will quickly pollute your swank/slime API with useless information if you e.g. have 8 mandatory &key arguments with a declared type that doesn't permit NIL. 2020-08-29T21:50:51Z aeth: If I'm understanding the problem correctly. 2020-08-29T21:51:14Z phoe: aeth: care for an example? 2020-08-29T21:51:20Z phoe: you mean in struct definitions, or...? 2020-08-29T21:51:39Z aeth: I think it's in everything except struct definitions at the moment? But SBCL intends to check everything for that now. 2020-08-29T21:52:15Z aeth: I think the resolution should be to modify swank to hide the contents of (error ...) defaults by default, to prevent a ton of useless noise in the function API. sort of like *arglist-show-packages* except more like *arglist-show-full-errors* or something. https://github.com/slime/slime/blob/fac8069fc13eb62742c31967b314bddb6da6b6c7/contrib/swank-arglists.lisp 2020-08-29T21:53:06Z phoe: yes, that sounds sound to me 2020-08-29T21:53:07Z aeth: so instead of seeing &key (foo (error 'your-full-package-name/conditions:whatever :details "foo bar baz" :variable 'your-full-package-name/foobar::quux)) ... 2020-08-29T21:53:12Z aeth: you'd just see &key (foo (error)) 2020-08-29T21:53:21Z aeth: Unless you set *arglist-show-full-errors* to T, which shouldn't be the default 2020-08-29T21:53:26Z phoe: aeth: I'd prefer &key (foo (error ...)) 2020-08-29T21:53:37Z phoe: but (error) is also good 2020-08-29T21:54:20Z aeth: oh, that could work, too 2020-08-29T21:54:47Z phoe: I mean, (error) signals an error, but it's a PROGRAM-ERROR because the required arg is not provided 2020-08-29T21:54:51Z aeth: Is anyone familiar enough with swank to be able to modify this? Or would I have to dig into it to try? This is going to affect quite a few packages that will now have to change invalid NILs to ERRORs 2020-08-29T21:55:10Z phoe: but I'd rather have (error ...) to signal that there's actual args in there that have been elided for readability 2020-08-29T21:55:20Z aeth: And I don't think my example of the problem, which currently is just &key (foo nil), is an exaggeration 2020-08-29T21:55:33Z aeth: currently just &key foo actually 2020-08-29T21:55:36Z wxie joined #lisp 2020-08-29T21:58:25Z Gnuxie[m]: what do you mean by uses nil for an invalid default value? default value for what? why's it wrong? 2020-08-29T21:58:55Z wxie quit (Client Quit) 2020-08-29T21:59:01Z mokulus quit (Ping timeout: 264 seconds) 2020-08-29T22:02:19Z aeth: Gnuxie[m]: the shortest thing I can think of is (defun foo (&key foobar) (declare (type integer foobar)) (1+ foobar)) which should (but is not guaranteed to!) error if called as (foo) instead of (foo :foobar 1) 2020-08-29T22:02:45Z aeth: Gnuxie[m]: But it's one of those things that, when seen in a short example, you'd wonder why anyone would do that, but it could easily happen if someone designed a function API with, say, 10 arguments, some mandatory. 2020-08-29T22:03:22Z wsinatra quit (Ping timeout: 265 seconds) 2020-08-29T22:03:32Z Gnuxie[m]: oh ok, so this is specific to people declaring things as not null without realising? 2020-08-29T22:03:35Z aeth: Gnuxie[m]: the right thing to do is something more like this: (defun foo (&key (foobar (error "FOOBAR is a required argument"))) (declare (type integer foobar)) (1+ foobar)) 2020-08-29T22:03:55Z aeth: Gnuxie[m]: But a lot of people will explicitly rely on things being NIL as an invalid type because they don't want to take, like, 4 lines or something in SLIME 2020-08-29T22:04:11Z Gnuxie[m]: ohhhh 2020-08-29T22:04:22Z aeth: Emacs will expand the minibuffer, but it still is pretty annoying, and the only time that ever really happens is with a lot of ERRORs in keys 2020-08-29T22:04:36Z aeth: When you as the user probably only care that it will error by default, i.e. required argument 2020-08-29T22:05:36Z aeth: Gnuxie[m]: But SBCL is starting to detect this sort of UB... Idk if it has gotten to this one in particular, but it might have. 2020-08-29T22:05:41Z Gnuxie[m]: I see, thanks for explaining that 2020-08-29T22:06:46Z mrcom joined #lisp 2020-08-29T22:07:40Z aeth: So this is a case of SBCL finally doing the right thing (warning on UB), but the tools encouraging the wrong thing (it really doesn't take many keys for those ERRORs to be really, really annoying in SLIME). 2020-08-29T22:07:48Z wsinatra joined #lisp 2020-08-29T22:08:27Z mangoicedtea joined #lisp 2020-08-29T22:09:47Z aeth: And on top of that, I think that SLIME translates DEFCLASS :initarg/:initform pairs into keys like this. At least in SBCL, it looks like it does, which is pretty smart of it, because it's working off of (make-instance 'foo ) instead of just a function API. 2020-08-29T22:10:04Z aeth: Gnuxie[m]: e.g. (defclass foo () ((foobar :initarg :foobar :initform (error "This is a mandatory slot.")))) 2020-08-29T22:10:13Z aeth: Gnuxie[m]: and then type (make-instance 'foo ) and see the error show up 2020-08-29T22:10:26Z aeth: But, again, the error could be incredibly verbose, but the user probably only cares that it is an error. 2020-08-29T22:11:01Z Gnuxie[m]: hmm, yeah 2020-08-29T22:14:46Z aeth: And with respect to what I have just written in the last 30 minutes of lines here, I waive all copyright and related rights to the extent permitted by law, and otherwise place the text under the CC0 license described here https://creativecommons.org/publicdomain/zero/1.0/ and with the full text here https://creativecommons.org/publicdomain/zero/1.0/legalcode 2020-08-29T22:15:39Z phoe: aeth: wait, what 2020-08-29T22:15:59Z aeth: phoe: If anyone wants to justify hiding (error ...) like that in SLIME/swank, feel free to copy and paste and plagiarise. 2020-08-29T22:16:08Z phoe: oooh, like that - I see now 2020-08-29T22:18:53Z aeth: of course your lines and Gnuxie[m]'s lines are still under copyright. 2020-08-29T22:20:57Z phoe: uh, so, whatever aeth said about cc0 I also say 2020-08-29T22:23:26Z Gnuxie[m]: yeah that, i didn't know it was possible to uhh copyright your irc talkings though and stop people opening issues just because you said it 2020-08-29T22:24:01Z aeth: Gnuxie[m]: probably allowed under fair use, but there was quite a bit of text here so I was just being safe. 2020-08-29T22:24:59Z Gnuxie[m]: alright 2020-08-29T22:25:20Z aeth: I'm not a lawyer, but afaik everything you write is automatically copyrighted by you without you having to claim it with e.g. © or (C). 2020-08-29T22:26:20Z aeth: That's why code without a license is treated as all rights reserved instead of public domain. 2020-08-29T22:27:27Z save-lisp-or-die left #lisp 2020-08-29T22:29:48Z White_Flame: huh, I remember getting errors/warnings of this sort of thing a while ago already 2020-08-29T22:30:11Z Mawile quit (Read error: Connection reset by peer) 2020-08-29T22:30:15Z White_Flame: (re the NIL thing) 2020-08-29T22:30:46Z White_Flame: as in a few years ago. It must have only been supported in a few places and is spreading now. IIRC, it was struct slots that bit me 2020-08-29T22:33:31Z aeth: Well, it was first noted about 4 hours ago in #sbcl in the lines starting with: 2020-08-29T22:33:33Z aeth: < Xach> hmm, failures with latest (ish) sbcl from git - another increase in type derivation strictness i think? http://report.quicklisp.org/2020-08-29/failure-report/claw.html#claw is one example, many seem to be due to slots with a declared type but a NIL initform. 2020-08-29T22:33:50Z aeth: So, I guess it was? 2020-08-29T22:37:09Z Lycurgus quit (Quit: Exeunt) 2020-08-29T22:37:34Z jcowan left #lisp 2020-08-29T22:38:30Z aeth: (If that's just the SBCL from git, it might not be in a release yet) 2020-08-29T22:38:43Z phoe: just from git I guess 2020-08-29T22:39:16Z aeth: So then a patch to swank to hide ERROR verbosity and an update of all library code with invalid default NILs will happen before anyone really notices it. 2020-08-29T22:40:00Z ralt joined #lisp 2020-08-29T22:40:31Z aeth: I guess I'm going to have to compile the latest SBCL and see which parts of my code break (probably more than I expect) 2020-08-29T22:41:16Z brj quit (Ping timeout: 246 seconds) 2020-08-29T22:43:03Z tsrt^ joined #lisp 2020-08-29T22:43:33Z brj joined #lisp 2020-08-29T22:46:16Z bilegeek joined #lisp 2020-08-29T22:52:58Z shifty quit (Ping timeout: 258 seconds) 2020-08-29T22:54:32Z jw4 quit (Read error: Connection reset by peer) 2020-08-29T22:56:18Z jw4 joined #lisp 2020-08-29T23:03:10Z Jesin quit (Quit: Leaving) 2020-08-29T23:04:25Z cosimone quit (Ping timeout: 240 seconds) 2020-08-29T23:04:37Z rumbler31: reason why I'm procrastinating my python homework, I'm busy trying to import functools and read the docs on the reduce because I miss lisp and want to run a higher order function on an array 2020-08-29T23:04:48Z rumbler31: instead of just iterate the damn thing 2020-08-29T23:04:59Z paines quit (Ping timeout: 240 seconds) 2020-08-29T23:05:32Z ralt: python is not really a language for higher order functions. 2020-08-29T23:05:37Z ralt: you could use recursion though. 2020-08-29T23:07:46Z Jesin joined #lisp 2020-08-29T23:08:25Z luna_is_here quit (Ping timeout: 240 seconds) 2020-08-29T23:09:07Z lisper29 joined #lisp 2020-08-29T23:09:48Z Alfr_ quit (Remote host closed the connection) 2020-08-29T23:12:08Z rumbler31 quit (Remote host closed the connection) 2020-08-29T23:12:53Z rumbler31 joined #lisp 2020-08-29T23:14:59Z random-nick quit (Ping timeout: 240 seconds) 2020-08-29T23:17:05Z rumbler31 quit (Ping timeout: 240 seconds) 2020-08-29T23:17:48Z mathrick quit (Ping timeout: 256 seconds) 2020-08-29T23:18:26Z wsinatra quit (Ping timeout: 256 seconds) 2020-08-29T23:18:39Z luna_is_here joined #lisp 2020-08-29T23:20:51Z mathrick joined #lisp 2020-08-29T23:24:03Z _whitelogger quit (Remote host closed the connection) 2020-08-29T23:24:04Z twocats quit (Remote host closed the connection) 2020-08-29T23:26:10Z pve quit (Quit: leaving) 2020-08-29T23:26:13Z _whitelogger joined #lisp 2020-08-29T23:31:34Z aeth: Wow, I was getting really excited by the changes in the latest SBCL, but, no, unfortunately it still does not check :type in default optimization levels in DEFCLASS, e.g. (defclass foo () ((%foobar :initarg :foobar :initform nil :accessor foobar :type fixnum))) 2020-08-29T23:31:58Z aeth: It will now warn that NIL isn't a fixnum, but it won't actually stop you from doing (make-instance 'foo :foobar "hello") thus keeping :type absolutely useless on the implementation that 90% of people use 2020-08-29T23:32:42Z aeth: (it will also not give any indication that the type is incorrect if you setf foobar) 2020-08-29T23:32:53Z no-defun-allowed: I think that the latest SBCL broke decentralise2 dispatch maybe (but it's fair because I mixed compilation/evaluation environments). That was fun. 2020-08-29T23:33:34Z aeth: well, it broke cl-autowrap, which was fun, because I had to override it with the git version so I could even test to see if anything new showed up in my game engine when I loaded with :verbose t (nothing did) 2020-08-29T23:33:55Z no-defun-allowed: No, I don't think SBCL changed anything for that to happen, but it did happen, and I can't complain really. 2020-08-29T23:34:33Z Misha_B joined #lisp 2020-08-29T23:41:45Z wsinatra joined #lisp 2020-08-29T23:57:26Z lisper29 left #lisp 2020-08-30T00:06:03Z _whitelogger quit (Remote host closed the connection) 2020-08-30T00:07:05Z wsinatra quit (Ping timeout: 240 seconds) 2020-08-30T00:07:20Z Necktwi quit (Ping timeout: 258 seconds) 2020-08-30T00:08:13Z _whitelogger joined #lisp 2020-08-30T00:13:03Z Necktwi joined #lisp 2020-08-30T00:15:17Z bilegeek quit (Quit: Leaving) 2020-08-30T00:19:55Z mangoicedtea quit (Quit: Leaving) 2020-08-30T00:31:10Z Bourne quit (Ping timeout: 246 seconds) 2020-08-30T00:32:17Z EvW quit (Ping timeout: 260 seconds) 2020-08-30T01:03:15Z nicktick joined #lisp 2020-08-30T01:09:30Z CrazyEddy joined #lisp 2020-08-30T01:32:48Z ralt quit (Quit: Connection closed for inactivity) 2020-08-30T01:36:43Z karlosz quit (Quit: karlosz) 2020-08-30T01:44:55Z anewuser quit (Ping timeout: 240 seconds) 2020-08-30T01:53:01Z rumbler31 joined #lisp 2020-08-30T02:01:25Z Inline quit (Ping timeout: 240 seconds) 2020-08-30T02:05:41Z ichikawa joined #lisp 2020-08-30T02:13:25Z orivej quit (Ping timeout: 240 seconds) 2020-08-30T02:26:47Z gko_ joined #lisp 2020-08-30T02:28:07Z orivej joined #lisp 2020-08-30T02:38:25Z torbo joined #lisp 2020-08-30T02:40:03Z iAmDecim joined #lisp 2020-08-30T02:56:08Z Oladon quit (Quit: Leaving.) 2020-08-30T03:01:46Z mokulus joined #lisp 2020-08-30T03:02:53Z Oladon joined #lisp 2020-08-30T03:06:19Z akoana left #lisp 2020-08-30T03:07:19Z Oddity__ quit (Remote host closed the connection) 2020-08-30T03:07:46Z Oddity__ joined #lisp 2020-08-30T03:24:10Z jonatack quit (Ping timeout: 244 seconds) 2020-08-30T03:24:38Z jonatack joined #lisp 2020-08-30T03:28:10Z beach: Good morning everyone! 2020-08-30T03:28:51Z beach: phoe: Thanks! I'll think about presentations on other topics as well. 2020-08-30T03:29:27Z beach: phoe: By the way, I can prepare a presentation for a week from tomorrow (or later) in case you have no other candidates. 2020-08-30T03:52:05Z karlosz joined #lisp 2020-08-30T03:53:56Z ichikawa quit (Quit: WeeChat 2.3) 2020-08-30T03:58:41Z shangul joined #lisp 2020-08-30T04:00:28Z Alfr joined #lisp 2020-08-30T04:16:16Z gravicappa joined #lisp 2020-08-30T04:36:16Z Posterdati quit (Ping timeout: 256 seconds) 2020-08-30T04:37:59Z abhixec joined #lisp 2020-08-30T04:39:11Z Posterdati joined #lisp 2020-08-30T04:46:01Z Lord_of_Life quit (Ping timeout: 258 seconds) 2020-08-30T04:46:49Z Lord_of_Life joined #lisp 2020-08-30T04:50:14Z gaqwas joined #lisp 2020-08-30T05:06:19Z theseb joined #lisp 2020-08-30T05:10:38Z orivej quit (Ping timeout: 265 seconds) 2020-08-30T05:49:03Z edgar-rft joined #lisp 2020-08-30T05:53:01Z narimiran joined #lisp 2020-08-30T05:53:13Z torbo quit (Remote host closed the connection) 2020-08-30T06:06:14Z bilegeek joined #lisp 2020-08-30T06:09:13Z Necktwi quit (Ping timeout: 264 seconds) 2020-08-30T06:09:25Z iAmDecim quit (Ping timeout: 240 seconds) 2020-08-30T06:12:01Z shka_ joined #lisp 2020-08-30T06:12:09Z akoana joined #lisp 2020-08-30T06:16:03Z gxt quit (Ping timeout: 240 seconds) 2020-08-30T06:19:52Z Necktwi joined #lisp 2020-08-30T06:22:45Z Alloc quit (Ping timeout: 240 seconds) 2020-08-30T06:24:49Z beach quit (Remote host closed the connection) 2020-08-30T06:28:49Z beach joined #lisp 2020-08-30T06:28:54Z Alloc joined #lisp 2020-08-30T06:32:07Z coltkirk joined #lisp 2020-08-30T06:33:02Z coltkirk left #lisp 2020-08-30T06:33:25Z Alloc quit (Ping timeout: 240 seconds) 2020-08-30T06:35:45Z Alloc joined #lisp 2020-08-30T06:41:01Z mrcom quit (Quit: This computer has gone to sleep) 2020-08-30T06:41:55Z brj quit (Ping timeout: 240 seconds) 2020-08-30T06:43:59Z brj joined #lisp 2020-08-30T06:56:35Z Necktwi quit (Ping timeout: 240 seconds) 2020-08-30T07:00:41Z ggole joined #lisp 2020-08-30T07:00:55Z gko_ quit (Ping timeout: 240 seconds) 2020-08-30T07:02:43Z mrcom joined #lisp 2020-08-30T07:03:25Z Alloc quit (Ping timeout: 240 seconds) 2020-08-30T07:10:09Z nicktick quit (Ping timeout: 258 seconds) 2020-08-30T07:10:40Z zxcvz quit (Read error: Connection reset by peer) 2020-08-30T07:14:29Z Alfr quit (Remote host closed the connection) 2020-08-30T07:15:24Z pve joined #lisp 2020-08-30T07:15:35Z Alfr joined #lisp 2020-08-30T07:15:45Z Bourne joined #lisp 2020-08-30T07:17:50Z Oddity_ joined #lisp 2020-08-30T07:18:47Z Alloc joined #lisp 2020-08-30T07:20:25Z Oddity__ quit (Ping timeout: 240 seconds) 2020-08-30T07:24:10Z shangul quit (Quit: Leaving) 2020-08-30T07:27:25Z Alloc quit (Ping timeout: 240 seconds) 2020-08-30T07:28:16Z Necktwi joined #lisp 2020-08-30T07:29:16Z Alfr quit (Remote host closed the connection) 2020-08-30T07:33:33Z jeosol joined #lisp 2020-08-30T07:34:32Z Alfr joined #lisp 2020-08-30T07:35:42Z paines joined #lisp 2020-08-30T07:38:36Z shangul joined #lisp 2020-08-30T07:41:28Z shangul quit (Remote host closed the connection) 2020-08-30T07:51:03Z gxt joined #lisp 2020-08-30T07:59:28Z Adamclisi quit (Quit: leaving) 2020-08-30T08:09:51Z bg__ joined #lisp 2020-08-30T08:09:57Z bilegeek quit (Read error: Connection reset by peer) 2020-08-30T08:10:14Z hendursa1 joined #lisp 2020-08-30T08:11:36Z ralt joined #lisp 2020-08-30T08:12:23Z hendursaga quit (Ping timeout: 240 seconds) 2020-08-30T08:19:56Z karlosz quit (Ping timeout: 240 seconds) 2020-08-30T08:23:55Z Oladon quit (Ping timeout: 240 seconds) 2020-08-30T08:23:58Z nicktick joined #lisp 2020-08-30T08:24:33Z Oladon joined #lisp 2020-08-30T08:25:32Z cosimone joined #lisp 2020-08-30T08:29:22Z Alloc joined #lisp 2020-08-30T08:30:11Z liberliver joined #lisp 2020-08-30T08:31:51Z bg__ quit (Quit: Leaving) 2020-08-30T08:39:59Z pve: Good morning! I wonder if someone could explain to me why I'm seeing this behaviour: 2020-08-30T08:40:02Z pve: https://plaster.tymoon.eu/view/2039 2020-08-30T08:40:50Z pve: I understand that it works if I do (shadow "ARRAY") or (shadow 'cl:array) 2020-08-30T08:43:16Z pve: but it's not clear to me why (shadow 'array) leads to that weird behaviour, because reading the hyperspec entry for shadow, I get the impression that it should work 2020-08-30T08:43:59Z Alloc quit (Ping timeout: 244 seconds) 2020-08-30T08:45:18Z cosimone quit (Quit: Quit.) 2020-08-30T08:45:40Z cosimone joined #lisp 2020-08-30T08:47:03Z pve: are all the references to the symbol "ARRAY" stored "in one place" in the fasl, so that when the fasl is loaded, LOAD sees 'array (i.e. CL:ARRAY, before shadowing) and then assumes all ARRAY symbols in the fasl are the same? 2020-08-30T08:47:41Z pve: so the shadowing has no effect in that for that fasl 2020-08-30T08:48:31Z random-nick joined #lisp 2020-08-30T08:49:42Z beach: The symbol ARRAY already exists in the cl-user package, so it is going to use the pre-existing symbol. 2020-08-30T08:49:47Z beach: clhs shadow. 2020-08-30T08:49:47Z specbot: Couldn't find anything for shadow.. 2020-08-30T08:49:50Z beach: clhs shadow 2020-08-30T08:49:50Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_shadow.htm 2020-08-30T08:50:26Z Alloc joined #lisp 2020-08-30T08:50:27Z beach: Since the symbol already exists, no new symbol is created. 2020-08-30T08:51:42Z beach: It should be the same if you use "ARRAY" or 'cl:array. 2020-08-30T08:52:13Z beach: The name is a designator for a string, so only the name of the symbol matters if you give it a symbol. 2020-08-30T08:55:38Z pve: right, so shadow doesn't throw out CL:ARRAY 2020-08-30T08:55:44Z pve: i mean unintern 2020-08-30T08:55:51Z beach: Right. 2020-08-30T08:55:51Z pve: i forgot about that 2020-08-30T08:57:04Z Adamclisi joined #lisp 2020-08-30T08:57:04Z Oladon quit (Quit: Leaving.) 2020-08-30T08:57:08Z pve: beach: thanks 2020-08-30T08:57:17Z beach: Sure. 2020-08-30T08:57:56Z pve: but why then, does it print COMMON-LISP-USER::ARRAY if I load-compile from slime (C-c C-k)? 2020-08-30T08:58:27Z beach: Good question. I have no explanation for that. Sorry. 2020-08-30T08:59:02Z pve: could it be a "feature" of sbcl? 2020-08-30T08:59:41Z pve: (I have no other implementation currenty to test on) 2020-08-30T09:04:47Z phoe: beach: sure, I'll grab a video from you 2020-08-30T09:05:01Z phoe: also, good morning everyone 2020-08-30T09:07:02Z beach: phoe: Great! 2020-08-30T09:11:20Z shangul joined #lisp 2020-08-30T09:12:06Z _Posterdati_ joined #lisp 2020-08-30T09:12:11Z Bourne quit (Ping timeout: 240 seconds) 2020-08-30T09:14:15Z msk joined #lisp 2020-08-30T09:15:49Z Posterdati quit (Ping timeout: 264 seconds) 2020-08-30T09:17:36Z pve: beach: ok, so the discrepancy must have been caused by something I was loading into my slime session (need to investigate that), because if I compile and load my example from the shell without loading any init files or libraries it prints COMMON-LISP-USER::ARRAY in both cases 2020-08-30T09:17:50Z pve: but that doesn't seem right either 2020-08-30T09:18:01Z phoe: pve: what is your Lisp implementation? 2020-08-30T09:18:04Z pve: I would expect COMMON-LISP::ARRAY 2020-08-30T09:18:06Z pve: phoe: sbcl 2020-08-30T09:18:08Z phoe: is this consistent with (describe 'array)? 2020-08-30T09:18:11Z beach: pve: I tend to agree. 2020-08-30T09:18:39Z phoe: I mean, PACKAGE-NAME SYMBOL-PACKAGE should *not* return CL-USER in this case because ARRAY is imported from CL 2020-08-30T09:18:56Z pve: phoe: it is consistent with describe 2020-08-30T09:19:11Z phoe: does DESCRIBE also give you CL-USER instead of CL? 2020-08-30T09:19:18Z pve: phoe: yes 2020-08-30T09:19:36Z phoe: ......I can reproduce this 2020-08-30T09:19:37Z phoe: what 2020-08-30T09:19:39Z phoe: how 2020-08-30T09:20:22Z phoe: oh, wait 2020-08-30T09:20:27Z phoe: you are shadowing 'array in line 4 2020-08-30T09:20:34Z phoe: like, explicitly shadowing it 2020-08-30T09:20:36Z phoe: that's why it happens 2020-08-30T09:20:53Z phoe: one second...\ 2020-08-30T09:21:11Z no-defun-allowed: The two (or three?) means of compiling and/or loading that code appear to do different things though. 2020-08-30T09:21:39Z phoe: beach: no, wait 2020-08-30T09:21:51Z phoe: SHADOW removes CL:ARRAY from CL-USER and creates CL-USER::ARRAY 2020-08-30T09:22:05Z phoe: "For each such name, if a corresponding symbol is not present in package (directly, not by inheritance), then a corresponding symbol is created with that name, and inserted into package as an internal symbol." 2020-08-30T09:22:19Z phoe: also, arguments for SHADOW are a list of string designators 2020-08-30T09:22:23Z pve: oh, directly 2020-08-30T09:22:28Z phoe: so the symbol CL:ARRAY is turned into "ARRAY" 2020-08-30T09:22:32Z phoe: and then this gets shadowed. 2020-08-30T09:22:51Z phoe: so if we pass CL:ARRAY, or :ARRAY, or "ARRAY", the behavior is the same 2020-08-30T09:23:08Z pve: yeah that part was my mistake 2020-08-30T09:23:38Z pve: but the "(directly, not by inheritance)" completely explains everything 2020-08-30T09:24:25Z White_Flame: the package of 'array is found by the reader 2020-08-30T09:25:06Z phoe: but 'array then gets coerced into "ARRAY" which drops package information 2020-08-30T09:25:17Z White_Flame: I mean in the parameter to FORMAT 2020-08-30T09:25:27Z White_Flame: not to shadow 2020-08-30T09:25:31Z beach: Oh, sorry. I didn't see the "not by inheritance". 2020-08-30T09:25:46Z pve: phew, I thought I was losing my mind here 2020-08-30T09:25:46Z phoe: oh! yes 2020-08-30T09:26:32Z Grauwolf quit (Quit: WeeChat 2.7.1) 2020-08-30T09:27:02Z Necktwi quit (Ping timeout: 256 seconds) 2020-08-30T09:27:06Z White_Flame: hmm, nevermind, I think that the eval-when should guarantee the shadowing before the format expression is read 2020-08-30T09:27:32Z White_Flame: although #. would force the issue :-P 2020-08-30T09:28:22Z White_Flame: this is why it's important to have a separate package.lisp to set everything up in a separate file 2020-08-30T09:28:23Z zaquest quit (Quit: Leaving) 2020-08-30T09:28:35Z Grauwolf joined #lisp 2020-08-30T09:28:36Z Grauwolf quit (Changing host) 2020-08-30T09:28:36Z Grauwolf joined #lisp 2020-08-30T09:28:45Z phoe: no, why? DEFPACKAGE + IN-PACKAGE at the top of a file solves that issue just as well 2020-08-30T09:28:59Z phoe: exactly because of EVAL-WHEN that both of them use internally 2020-08-30T09:29:22Z phoe: the SHADOW call should be a part of DEFPACKAGE, that's my only real gripe with this code 2020-08-30T09:29:31Z phoe: ...but you can't DEFPACKAGE CL-USER, obviously 2020-08-30T09:30:09Z X-Scale` joined #lisp 2020-08-30T09:31:08Z pve: my original problem was probably caused by some package-fu I'm doing in the project I'm working on 2020-08-30T09:31:18Z pve: But thank you guys for the help! 2020-08-30T09:32:18Z zaquest joined #lisp 2020-08-30T09:32:25Z X-Scale quit (Ping timeout: 240 seconds) 2020-08-30T09:32:25Z X-Scale` is now known as X-Scale 2020-08-30T09:32:41Z Necktwi joined #lisp 2020-08-30T09:39:22Z ukari joined #lisp 2020-08-30T09:43:22Z rumbler3_ joined #lisp 2020-08-30T09:43:46Z ukari quit (Remote host closed the connection) 2020-08-30T09:43:55Z rumbler31 quit (Ping timeout: 240 seconds) 2020-08-30T09:53:19Z josemanuel joined #lisp 2020-08-30T10:03:59Z bitmapper quit (Read error: Connection reset by peer) 2020-08-30T10:04:09Z simendsjo joined #lisp 2020-08-30T10:04:37Z bitmapper joined #lisp 2020-08-30T10:04:58Z dmiles quit (Read error: Connection reset by peer) 2020-08-30T10:05:07Z shangul quit (Read error: Connection reset by peer) 2020-08-30T10:05:20Z jason_m quit (Ping timeout: 258 seconds) 2020-08-30T10:05:25Z josemanuel quit (Ping timeout: 240 seconds) 2020-08-30T10:06:00Z matijja quit (Quit: bye) 2020-08-30T10:06:00Z jw4 quit (Quit: tot siens) 2020-08-30T10:06:02Z logicmoo joined #lisp 2020-08-30T10:07:06Z shangul joined #lisp 2020-08-30T10:07:15Z josemanuel joined #lisp 2020-08-30T10:07:25Z fouric quit (Ping timeout: 240 seconds) 2020-08-30T10:08:25Z jw4 joined #lisp 2020-08-30T10:08:44Z jfb4 quit (Remote host closed the connection) 2020-08-30T10:08:44Z matijja joined #lisp 2020-08-30T10:09:01Z isaac joined #lisp 2020-08-30T10:09:01Z kilimanjaro quit (Ping timeout: 246 seconds) 2020-08-30T10:09:02Z beach: Am I reading the dictionary entry for DEFCONSTANT right in that the constant is not defined at compile time? 2020-08-30T10:09:09Z beach: clhs defconstant 2020-08-30T10:09:09Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/m_defcon.htm 2020-08-30T10:09:12Z isaac is now known as Guest71821 2020-08-30T10:09:23Z Guest71821 is now known as iissaacc 2020-08-30T10:09:42Z natj212 quit (Ping timeout: 256 seconds) 2020-08-30T10:09:45Z srji quit (Ping timeout: 240 seconds) 2020-08-30T10:09:46Z beach: It says that the compiler must recognize that the name names a constant variable, but not that the value is available at compile time. 2020-08-30T10:10:09Z jw4 quit (Read error: Connection reset by peer) 2020-08-30T10:10:25Z akoana quit (Ping timeout: 240 seconds) 2020-08-30T10:10:34Z d4ryus quit (Ping timeout: 260 seconds) 2020-08-30T10:11:01Z tessier quit (Ping timeout: 264 seconds) 2020-08-30T10:11:02Z lowryder quit (Ping timeout: 260 seconds) 2020-08-30T10:11:03Z srji joined #lisp 2020-08-30T10:11:05Z mangul joined #lisp 2020-08-30T10:11:08Z shangul quit (Remote host closed the connection) 2020-08-30T10:11:14Z phoe: "An implementation may choose to evaluate the value-form at compile time, load time, or both." 2020-08-30T10:11:19Z jeosol quit (Ping timeout: 245 seconds) 2020-08-30T10:11:20Z phoe: seems pretty clear to me 2020-08-30T10:11:23Z jw4 joined #lisp 2020-08-30T10:11:32Z beach: OK, let me ask the question differently then. 2020-08-30T10:11:43Z phoe: if the value is allowed to be available only at load time, then it may *not* be available at compile time 2020-08-30T10:11:49Z yang quit (Ping timeout: 244 seconds) 2020-08-30T10:11:53Z phoe: where "available" means "after being evaluated" 2020-08-30T10:12:00Z jgodbout quit (Ping timeout: 244 seconds) 2020-08-30T10:12:00Z splittist quit (Ping timeout: 244 seconds) 2020-08-30T10:12:00Z cgay quit (Ping timeout: 244 seconds) 2020-08-30T10:12:00Z jmercouris quit (Ping timeout: 244 seconds) 2020-08-30T10:12:00Z rme quit (Ping timeout: 244 seconds) 2020-08-30T10:12:00Z gendl quit (Ping timeout: 244 seconds) 2020-08-30T10:12:00Z selwyn quit (Ping timeout: 244 seconds) 2020-08-30T10:12:01Z l1x quit (Ping timeout: 244 seconds) 2020-08-30T10:12:01Z avicenna quit (Ping timeout: 244 seconds) 2020-08-30T10:12:01Z Balooga quit (Ping timeout: 244 seconds) 2020-08-30T10:12:01Z billstclair quit (Ping timeout: 244 seconds) 2020-08-30T10:12:01Z grfn quit (Ping timeout: 244 seconds) 2020-08-30T10:12:02Z beach: Yeah, that's what I see as well. 2020-08-30T10:12:11Z v3ga quit (Ping timeout: 240 seconds) 2020-08-30T10:12:18Z midre quit (Ping timeout: 256 seconds) 2020-08-30T10:12:24Z phoe: it is allowed not to be available at compile-time, BUT it also says that this behavior is implementation-dependent 2020-08-30T10:12:25Z ralt quit (Ping timeout: 240 seconds) 2020-08-30T10:12:47Z phoe: so as an implementer you can do e.g. what SBCL does which is to EVAL-ALWAYS %DEFCONSTANT 2020-08-30T10:12:52Z hydan quit (Read error: Connection reset by peer) 2020-08-30T10:12:53Z dnm quit (Read error: Connection reset by peer) 2020-08-30T10:12:55Z conjunctive quit (Read error: Connection reset by peer) 2020-08-30T10:12:55Z lukego quit (Write error: Connection reset by peer) 2020-08-30T10:12:57Z jsatk quit (Read error: Connection reset by peer) 2020-08-30T10:12:57Z stylewarning quit (Write error: Connection reset by peer) 2020-08-30T10:12:57Z pent quit (Read error: Connection reset by peer) 2020-08-30T10:12:57Z chewbranca quit (Read error: Connection reset by peer) 2020-08-30T10:13:00Z Christ0p1er quit (Ping timeout: 258 seconds) 2020-08-30T10:13:09Z avicenna joined #lisp 2020-08-30T10:13:14Z yang joined #lisp 2020-08-30T10:13:15Z phoe: but it seems that as a user you cannot really depend on the constant being available at compile time. 2020-08-30T10:13:15Z billstclair joined #lisp 2020-08-30T10:13:19Z beach: Right, so a file containing (defconstant bla ...) (defun foo (..) bla) may or may not work. 2020-08-30T10:13:20Z v3ga joined #lisp 2020-08-30T10:13:22Z chewbranca joined #lisp 2020-08-30T10:13:28Z jsatk joined #lisp 2020-08-30T10:13:33Z phoe: no no, actually 2020-08-30T10:13:36Z phoe: it might work 2020-08-30T10:13:38Z rme joined #lisp 2020-08-30T10:13:38Z lukego joined #lisp 2020-08-30T10:13:39Z selwyn joined #lisp 2020-08-30T10:13:41Z ravndal quit (Ping timeout: 265 seconds) 2020-08-30T10:13:44Z stylewarning joined #lisp 2020-08-30T10:13:47Z beach: That's what I said. 2020-08-30T10:13:49Z phoe: imagine a simple implementation that implements DEFCONSTANT via DEFPARAMETER 2020-08-30T10:13:50Z beach: It may or may not work. 2020-08-30T10:13:51Z cgay joined #lisp 2020-08-30T10:13:53Z dnm joined #lisp 2020-08-30T10:13:53Z Balooga joined #lisp 2020-08-30T10:13:53Z hydan joined #lisp 2020-08-30T10:14:04Z grfn joined #lisp 2020-08-30T10:14:10Z conjunctive joined #lisp 2020-08-30T10:14:18Z phoe: it *must* work 2020-08-30T10:14:21Z phoe: "If a defconstant form appears as a top level form, the compiler must recognize that name names a constant variable." 2020-08-30T10:14:31Z beach: Yes, but not the value. 2020-08-30T10:14:37Z phoe: yes, that's correct 2020-08-30T10:14:43Z phoe: but we don't need the value 2020-08-30T10:14:44Z Christ0pher joined #lisp 2020-08-30T10:14:51Z phoe: just to recognize that BLA is a defined name 2020-08-30T10:14:51Z beach: And when foo is compiled, the value must be known. 2020-08-30T10:14:58Z phoe: no, wait, why 2020-08-30T10:15:10Z beach: How else would you compile foo? 2020-08-30T10:15:22Z phoe: (defvar bla ...) (defun foo (...) bla) 2020-08-30T10:15:36Z phoe: or rather 2020-08-30T10:15:40Z phoe: (defparameter bla ...) (defun foo (...) bla) 2020-08-30T10:15:41Z beach: I am saying, what does the compiler do when it sees bla? 2020-08-30T10:15:49Z phoe: depends on the implementation! 2020-08-30T10:15:55Z beach: Oh, I see what you are saying. 2020-08-30T10:16:03Z beach: It silently doesn't use the constant. 2020-08-30T10:16:05Z ravndal joined #lisp 2020-08-30T10:16:06Z phoe: yes 2020-08-30T10:16:07Z beach: That's vicous. 2020-08-30T10:16:10Z beach: vicious 2020-08-30T10:16:14Z phoe: but allowed for very simple implementations, I guess 2020-08-30T10:16:21Z phoe: it's impossible to do any optimizations that way 2020-08-30T10:16:39Z phoe: but this way is trivial to implement and preserves language semantics, since constant redefinition is undefined 2020-08-30T10:16:50Z phoe: so you effectively get a single-assignment global variable. 2020-08-30T10:16:55Z gendl joined #lisp 2020-08-30T10:17:10Z phoe: so a really dumb implementation can go this way and still conform. 2020-08-30T10:17:31Z beach: I would tend to signal an error, or at least a warning, but I can't see whether it would be allowed to do that. 2020-08-30T10:17:47Z beach: I guess a warning and then compile it as you said. 2020-08-30T10:18:05Z srji quit (Ping timeout: 240 seconds) 2020-08-30T10:18:18Z jmercouris joined #lisp 2020-08-30T10:18:34Z midre joined #lisp 2020-08-30T10:18:45Z jgodbout joined #lisp 2020-08-30T10:18:57Z srji joined #lisp 2020-08-30T10:19:02Z jfb4 joined #lisp 2020-08-30T10:19:24Z phoe: a warning for what exactly? 2020-08-30T10:19:36Z tessier joined #lisp 2020-08-30T10:19:36Z tessier quit (Changing host) 2020-08-30T10:19:36Z tessier joined #lisp 2020-08-30T10:20:01Z beach: That the compiler did not have access to the value so it had to compile it as an access to a variable defined at run time. 2020-08-30T10:20:41Z phoe: did not have access, you mean, it encountered an unknown variable? 2020-08-30T10:20:47Z natj212 joined #lisp 2020-08-30T10:21:25Z akoana joined #lisp 2020-08-30T10:21:51Z beach: That the compiler did not have access to the VALUE at compile time, so it could not compile the code as if BLA were the constant that it is defined to be. And instead it had to compile it as an access to a variable at run time, thereby degrading performance. 2020-08-30T10:21:52Z lowryder joined #lisp 2020-08-30T10:23:03Z phoe: I think I partially understand... why would it not have access to VALUE at compile-time? an implementation is allowed to evaluate the DEFCONSTANT value at compile-time, so signaling a warning in that case sounds like a making bugticket for your own self 2020-08-30T10:23:16Z phoe: I mean, your compiler is allowed to just grab the value at compile-time and use it 2020-08-30T10:23:38Z phoe: and if user code is built in a way that doesn't make it possible, *then* it's a bug on the user side 2020-08-30T10:23:43Z beach: Because the implementation chose not to evaluate the initialization at compile time, or at least chose to not store that value for compile-time availability. 2020-08-30T10:23:51Z phoe: oh, sure 2020-08-30T10:24:12Z phoe: but then it's allowed to do that, so I guess that the only warning it can signal would be a STYLE-WARNING 2020-08-30T10:24:22Z phoe: or rather a compiler note 2020-08-30T10:24:23Z beach: Yes, and a bug on the user side could be indicated by a warning. 2020-08-30T10:24:33Z phoe: yep 2020-08-30T10:24:43Z beach: Thanks. 2020-08-30T10:24:54Z d4ryus joined #lisp 2020-08-30T10:25:09Z Inline joined #lisp 2020-08-30T10:25:32Z Inline quit (Remote host closed the connection) 2020-08-30T10:25:39Z tsrt^ quit (Ping timeout: 258 seconds) 2020-08-30T10:25:44Z kilimanjaro joined #lisp 2020-08-30T10:25:54Z natj212 quit (Ping timeout: 256 seconds) 2020-08-30T10:26:01Z tsrt^ joined #lisp 2020-08-30T10:26:08Z vhost- quit (Ping timeout: 256 seconds) 2020-08-30T10:27:34Z jw4 quit (Ping timeout: 258 seconds) 2020-08-30T10:27:34Z mathrick quit (Ping timeout: 258 seconds) 2020-08-30T10:28:05Z iissaacc: i redefined a method from a library in some code, and I don't get any warnings and the redefinition works as expected in a REPL session. But when I tested it in a fresh REPL session the old behaviour associated with that method happens, i.e the redefinition doesnt seem to have taken effect. Does anyone know why this could be? 2020-08-30T10:28:25Z jgodbout quit (Ping timeout: 240 seconds) 2020-08-30T10:28:33Z phoe: are you sure you got the packages right? 2020-08-30T10:28:52Z phoe: this bit me a few times when doing method redefinitions 2020-08-30T10:29:09Z phoe: like, (DEFMETHOD QUUX ...) is allowed to define a method on FOO:QUUX 2020-08-30T10:29:25Z phoe: but it is also allowed to *silently* create a brand new generic function BAR:QUUX and then define a method on this 2020-08-30T10:29:31Z iissaacc: ahhhhh 2020-08-30T10:29:39Z phoe: and then calling FOO:QUUX, understandably, gives the old effects 2020-08-30T10:30:09Z iissaacc: right, so my redefinition is actually creating a new generic function in my package 2020-08-30T10:30:35Z iissaacc: instead of redefining the generic function from the package 2020-08-30T10:30:49Z phoe: that's why I wish there was a toggle to cause DEFMETHOD to error if the respective generic function is not found. 2020-08-30T10:30:58Z phoe: at least for *some* code 2020-08-30T10:31:14Z phoe: I've wasted lots of time on debugging this stuff. 2020-08-30T10:32:13Z iissaacc: so if i include the package prefix it should work as expected 2020-08-30T10:32:25Z natj212 joined #lisp 2020-08-30T10:32:36Z phoe: yes, it should work if you pass the proper GF name to DEFMETHOD. 2020-08-30T10:32:53Z akoana left #lisp 2020-08-30T10:33:00Z mbrumlow quit (Ping timeout: 244 seconds) 2020-08-30T10:33:04Z iissaacc: thanks man that was making me scratch my head a bit 2020-08-30T10:33:25Z phoe: this behavior annoys me so much that this was the first thing I actually thought of 2020-08-30T10:33:58Z phoe: one of the few cases where Lisp is allowed to completely silently do The Wrong Thing™ and the blame is fully on the programmer for not checking their symbols. 2020-08-30T10:34:21Z phoe: (where "The Wrong Thing™" is my subjective opinion) 2020-08-30T10:35:11Z iissaacc: what would be cool would be being able to inspect function definitions, but afaik this isnt possible because things get compiled straight away 2020-08-30T10:35:23Z phoe: inspect function definitions, what do you mean? 2020-08-30T10:35:34Z phoe: slime's M-. usually can get you to source locations of everything 2020-08-30T10:35:39Z jgodbout joined #lisp 2020-08-30T10:36:09Z phoe: and then there is also FUNCTION-LAMBDA-EXPRESSION that works in some cases 2020-08-30T10:36:16Z iissaacc: ah cool 2020-08-30T10:36:32Z fouric joined #lisp 2020-08-30T10:36:46Z pent joined #lisp 2020-08-30T10:36:53Z narimiran quit (Ping timeout: 265 seconds) 2020-08-30T10:37:58Z simendsjo quit (Remote host closed the connection) 2020-08-30T10:38:11Z Inline joined #lisp 2020-08-30T10:38:39Z mbrumlow joined #lisp 2020-08-30T10:43:25Z Gerula quit (Ping timeout: 264 seconds) 2020-08-30T10:44:21Z mathrick joined #lisp 2020-08-30T10:44:31Z ayuce joined #lisp 2020-08-30T10:44:31Z splittist joined #lisp 2020-08-30T10:45:07Z luckless_ joined #lisp 2020-08-30T10:45:42Z Inline quit (Read error: Connection reset by peer) 2020-08-30T10:45:44Z l1x joined #lisp 2020-08-30T10:46:44Z notzmv quit (Ping timeout: 258 seconds) 2020-08-30T10:46:44Z tumdum quit (Remote host closed the connection) 2020-08-30T10:46:53Z jw4 joined #lisp 2020-08-30T10:47:05Z tumdum joined #lisp 2020-08-30T10:48:03Z luckless quit (Ping timeout: 240 seconds) 2020-08-30T10:50:00Z jw4 quit (Remote host closed the connection) 2020-08-30T11:01:33Z jw4 joined #lisp 2020-08-30T11:02:56Z hendursa1 quit (Remote host closed the connection) 2020-08-30T11:03:51Z hendursa1 joined #lisp 2020-08-30T11:08:32Z alfonsox joined #lisp 2020-08-30T11:10:30Z cosimone_ joined #lisp 2020-08-30T11:11:25Z cosimone quit (Ping timeout: 240 seconds) 2020-08-30T11:15:04Z paines quit (Ping timeout: 265 seconds) 2020-08-30T11:26:50Z cosimone_ quit (Quit: Quit.) 2020-08-30T11:27:06Z Bourne joined #lisp 2020-08-30T11:29:14Z mangul is now known as shangul 2020-08-30T11:40:07Z jasom_ quit (Read error: Connection reset by peer) 2020-08-30T11:40:21Z jasom_ joined #lisp 2020-08-30T11:40:25Z nmg quit (Ping timeout: 240 seconds) 2020-08-30T11:40:56Z pent quit (Ping timeout: 240 seconds) 2020-08-30T11:41:23Z mbrumlow quit (Ping timeout: 244 seconds) 2020-08-30T11:41:24Z nmg joined #lisp 2020-08-30T11:41:29Z l1x quit (Read error: Connection reset by peer) 2020-08-30T11:41:33Z splittist quit (Read error: Connection reset by peer) 2020-08-30T11:41:45Z brass quit (Ping timeout: 240 seconds) 2020-08-30T11:43:11Z mbrumlow joined #lisp 2020-08-30T11:43:51Z l1x joined #lisp 2020-08-30T11:43:52Z splittist joined #lisp 2020-08-30T11:43:58Z jgodbout quit (Ping timeout: 244 seconds) 2020-08-30T11:44:25Z jw4 quit (Ping timeout: 240 seconds) 2020-08-30T11:45:05Z liberliver quit (Ping timeout: 272 seconds) 2020-08-30T11:45:09Z pent joined #lisp 2020-08-30T11:46:09Z jgodbout joined #lisp 2020-08-30T11:51:02Z liberliver joined #lisp 2020-08-30T11:52:22Z jw4 joined #lisp 2020-08-30T11:52:58Z brass joined #lisp 2020-08-30T11:53:10Z sveit quit (Ping timeout: 256 seconds) 2020-08-30T11:53:44Z femi quit (Ping timeout: 256 seconds) 2020-08-30T11:54:05Z wxie joined #lisp 2020-08-30T11:54:26Z gko`` joined #lisp 2020-08-30T11:54:53Z nullman quit (Ping timeout: 256 seconds) 2020-08-30T11:54:53Z gko quit (Ping timeout: 256 seconds) 2020-08-30T11:55:26Z jw4 quit (Remote host closed the connection) 2020-08-30T11:55:29Z femi joined #lisp 2020-08-30T11:55:45Z bitmapper quit (Ping timeout: 240 seconds) 2020-08-30T11:55:49Z jw4 joined #lisp 2020-08-30T11:56:32Z nullman joined #lisp 2020-08-30T12:00:05Z sveit joined #lisp 2020-08-30T12:01:55Z jw4 quit (Ping timeout: 240 seconds) 2020-08-30T12:02:25Z mseddon joined #lisp 2020-08-30T12:03:27Z gendl quit (Read error: Connection reset by peer) 2020-08-30T12:03:55Z gendl joined #lisp 2020-08-30T12:06:59Z simendsjo joined #lisp 2020-08-30T12:08:00Z Inline joined #lisp 2020-08-30T12:12:19Z ayuce quit (Remote host closed the connection) 2020-08-30T12:13:38Z Alloc quit (Ping timeout: 256 seconds) 2020-08-30T12:13:50Z jw4 joined #lisp 2020-08-30T12:15:28Z l1x quit (Read error: Connection reset by peer) 2020-08-30T12:15:30Z Alloc joined #lisp 2020-08-30T12:15:32Z pent quit (Read error: Connection reset by peer) 2020-08-30T12:15:48Z pent joined #lisp 2020-08-30T12:15:49Z l1x joined #lisp 2020-08-30T12:16:54Z jw4 quit (Remote host closed the connection) 2020-08-30T12:17:36Z entel quit (Quit: Connection closed for inactivity) 2020-08-30T12:18:15Z cosimone joined #lisp 2020-08-30T12:18:29Z paines joined #lisp 2020-08-30T12:19:28Z hendursa1 quit (Quit: hendursa1) 2020-08-30T12:19:45Z hendursaga joined #lisp 2020-08-30T12:20:54Z mangoicedtea joined #lisp 2020-08-30T12:21:31Z notzmv joined #lisp 2020-08-30T12:21:41Z Alloc quit (Ping timeout: 244 seconds) 2020-08-30T12:22:59Z jw4 joined #lisp 2020-08-30T12:25:31Z alfonsox quit (Remote host closed the connection) 2020-08-30T12:26:19Z jonatack quit (Quit: jonatack) 2020-08-30T12:28:48Z jw4 quit (Quit: tot siens) 2020-08-30T12:28:56Z yonkunas quit (Quit: Connection closed for inactivity) 2020-08-30T12:29:56Z gko joined #lisp 2020-08-30T12:34:16Z todun joined #lisp 2020-08-30T12:34:31Z todun left #lisp 2020-08-30T12:34:48Z todun joined #lisp 2020-08-30T12:35:25Z todun left #lisp 2020-08-30T12:35:25Z wxie quit (Ping timeout: 240 seconds) 2020-08-30T12:35:53Z todun joined #lisp 2020-08-30T12:36:56Z jonatack joined #lisp 2020-08-30T12:37:23Z jw4 joined #lisp 2020-08-30T12:37:55Z gendl quit (Ping timeout: 240 seconds) 2020-08-30T12:38:25Z Bourne quit (Ping timeout: 240 seconds) 2020-08-30T12:38:27Z splittist quit (Read error: Connection reset by peer) 2020-08-30T12:38:28Z jgodbout quit (Read error: Connection reset by peer) 2020-08-30T12:38:30Z pent quit (Read error: Connection reset by peer) 2020-08-30T12:38:55Z mbrumlow quit (Ping timeout: 240 seconds) 2020-08-30T12:40:37Z splittist joined #lisp 2020-08-30T12:40:42Z jgodbout joined #lisp 2020-08-30T12:40:43Z mbrumlow joined #lisp 2020-08-30T12:40:46Z pent joined #lisp 2020-08-30T12:40:54Z gendl joined #lisp 2020-08-30T12:41:58Z jw4 quit (Ping timeout: 246 seconds) 2020-08-30T12:47:06Z simendsjo quit (Ping timeout: 258 seconds) 2020-08-30T12:47:43Z iissaacc quit (Remote host closed the connection) 2020-08-30T12:48:01Z iissaacc joined #lisp 2020-08-30T12:48:06Z Alloc joined #lisp 2020-08-30T12:51:39Z simendsjo joined #lisp 2020-08-30T12:51:42Z jw4 joined #lisp 2020-08-30T12:52:25Z Alloc quit (Ping timeout: 240 seconds) 2020-08-30T12:54:18Z rats joined #lisp 2020-08-30T12:55:56Z rats quit (Client Quit) 2020-08-30T12:56:18Z jw4 quit (Ping timeout: 258 seconds) 2020-08-30T12:56:48Z rats joined #lisp 2020-08-30T13:01:09Z jw4 joined #lisp 2020-08-30T13:01:52Z rats quit (Quit: Connection closed) 2020-08-30T13:02:09Z luckless_ quit (Quit: WeeChat 2.8) 2020-08-30T13:03:14Z ft quit (Ping timeout: 260 seconds) 2020-08-30T13:03:45Z ft joined #lisp 2020-08-30T13:04:33Z tuz joined #lisp 2020-08-30T13:12:22Z Inline quit (Ping timeout: 260 seconds) 2020-08-30T13:15:39Z larme quit (Ping timeout: 272 seconds) 2020-08-30T13:17:06Z tuz quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) 2020-08-30T13:17:33Z tuz joined #lisp 2020-08-30T13:17:43Z tuz left #lisp 2020-08-30T13:17:50Z __jrjsmrtn__ quit (Ping timeout: 265 seconds) 2020-08-30T13:18:29Z __jrjsmrtn__ joined #lisp 2020-08-30T13:18:30Z liberliver quit (Remote host closed the connection) 2020-08-30T13:18:40Z liberliver joined #lisp 2020-08-30T13:20:55Z iissaacc quit (Ping timeout: 240 seconds) 2020-08-30T13:21:30Z p_l|shitmbp joined #lisp 2020-08-30T13:25:16Z p_l|shitmbp quit (Client Quit) 2020-08-30T13:25:19Z orivej joined #lisp 2020-08-30T13:25:30Z p_l|shitmbp joined #lisp 2020-08-30T13:27:05Z larme joined #lisp 2020-08-30T13:38:23Z hendursaga quit (Ping timeout: 240 seconds) 2020-08-30T13:38:23Z wigust quit (Remote host closed the connection) 2020-08-30T13:38:44Z wigust joined #lisp 2020-08-30T13:38:55Z Inline joined #lisp 2020-08-30T13:40:22Z hendursaga joined #lisp 2020-08-30T13:40:25Z mbrumlow quit (Ping timeout: 240 seconds) 2020-08-30T13:40:44Z C-16 joined #lisp 2020-08-30T13:44:01Z FreeBirdLjj joined #lisp 2020-08-30T13:44:06Z mbrumlow joined #lisp 2020-08-30T13:44:29Z terpri quit (Remote host closed the connection) 2020-08-30T13:44:52Z terpri joined #lisp 2020-08-30T13:55:08Z gxt quit (Remote host closed the connection) 2020-08-30T14:05:55Z mathrick quit (Ping timeout: 240 seconds) 2020-08-30T14:07:56Z jgodbout quit (Ping timeout: 240 seconds) 2020-08-30T14:09:08Z jgodbout joined #lisp 2020-08-30T14:14:25Z jibanes quit (Ping timeout: 240 seconds) 2020-08-30T14:15:36Z mangoicedtea quit (Remote host closed the connection) 2020-08-30T14:18:19Z Alloc joined #lisp 2020-08-30T14:21:29Z jibanes joined #lisp 2020-08-30T14:23:30Z vhost- joined #lisp 2020-08-30T14:24:39Z Alloc quit (Ping timeout: 244 seconds) 2020-08-30T14:27:18Z iAmDecim joined #lisp 2020-08-30T14:29:30Z Alloc joined #lisp 2020-08-30T14:38:09Z dra joined #lisp 2020-08-30T14:41:25Z brj quit (Ping timeout: 240 seconds) 2020-08-30T14:43:34Z brj joined #lisp 2020-08-30T14:44:08Z davepdotorg joined #lisp 2020-08-30T14:51:50Z peterhil quit (Read error: Connection reset by peer) 2020-08-30T14:52:51Z peterhil joined #lisp 2020-08-30T14:54:45Z simendsjo quit (Ping timeout: 240 seconds) 2020-08-30T14:55:31Z p_l|shitmbp quit (Ping timeout: 258 seconds) 2020-08-30T14:55:32Z mseddon: has any lisp implementation used the recursive-p argument for read-char? What is it supposed to do there? It only makes sense for me within read 2020-08-30T14:56:20Z mseddon: sbcl ignores it, for e.g. 2020-08-30T14:56:57Z johnweldon joined #lisp 2020-08-30T14:57:05Z jw4 quit (Ping timeout: 240 seconds) 2020-08-30T14:58:48Z tsrt^ quit (Read error: Connection reset by peer) 2020-08-30T14:59:33Z davepdotorg quit (Remote host closed the connection) 2020-08-30T14:59:44Z tumdum quit (Remote host closed the connection) 2020-08-30T15:00:25Z jibanes quit (Ping timeout: 240 seconds) 2020-08-30T15:00:39Z beach: Yes, it is meant for use when READ calls READ recursively. You can use it when you call READ from one of your reader macros, for instance. 2020-08-30T15:00:50Z _death: "It is also necessary to distinguish betwene top-level and internal calls to READ-CHAR and READ-LINE and others for the purposes of EOF handling." 2020-08-30T15:02:19Z beach: Where is that quotation from? 2020-08-30T15:02:27Z _death: https://www.saildart.org/COMMON.3[COM,LSP] 2020-08-30T15:02:30Z p_l|shitmbp joined #lisp 2020-08-30T15:05:07Z _death: there is also further discussion there 2020-08-30T15:05:34Z mseddon: aha, thanks! 2020-08-30T15:05:50Z mseddon: _death, that url seems dead? 2020-08-30T15:05:52Z beach: mseddon: One example is the handling of #= and ##. When RECURSIVE-P is false, a new dictionary for those is created. But you don't want to create a new dictionary for a recursive call. 2020-08-30T15:07:01Z mokulus quit (Quit: WeeChat 2.9) 2020-08-30T15:07:21Z mseddon: beach, yes, but since read-char is not reentrant, and just returns a character, eof-error or signals an error, I don't see what read-char needs recursive-p for, since I figure the recursive-p would be handled by the macro character #= 2020-08-30T15:07:38Z jibanes joined #lisp 2020-08-30T15:07:41Z beach: Oh, sorry, read-char. Misread. 2020-08-30T15:08:04Z mseddon: ah yeah, that's the odd one. read-char, peek-char and unread-char all take recursive-p who's purpose is a mystery 2020-08-30T15:08:04Z beach must be tired after a long day of intense work. 2020-08-30T15:08:29Z mseddon: but the bootstrap is getting there :) 2020-08-30T15:08:30Z _death: mseddon: make sure you include the [...] part.. I also put up a gnus friendly version in a single file (cl-su-ai) at https://github.com/death/gnus-friendly-archives 2020-08-30T15:08:48Z mseddon: _death: aha, yes, my bad, thanks 2020-08-30T15:12:25Z iAmDecim quit (Ping timeout: 240 seconds) 2020-08-30T15:12:31Z mseddon: _death, nice idea for the gnus compatible repo, thanks for putting that up! 2020-08-30T15:12:40Z edgar-rft: cltl2 has some lengthy explanations about recursive-p under https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node195.html 2020-08-30T15:14:59Z edgar-rft: in particular 1) #n= and #n# syntax 2) whitespace presevation and 3) end-of-file handling 2020-08-30T15:14:59Z simendsjo joined #lisp 2020-08-30T15:16:50Z liberliver quit (Ping timeout: 244 seconds) 2020-08-30T15:18:01Z flip214: is there a way to make QL fetch a tarball of FASLs instead of source files? I'm thinking about pre-compiling all (or at least most) required libraries for a container setup. 2020-08-30T15:18:52Z flip214: QL because then the dev and release code would be the same, only the config (which base URL to fetch from) would be different 2020-08-30T15:20:16Z Inline quit (Ping timeout: 244 seconds) 2020-08-30T15:21:54Z gpiero joined #lisp 2020-08-30T15:23:31Z jason_m joined #lisp 2020-08-30T15:28:45Z mseddon: edgar-rft, thanks! 2020-08-30T15:33:48Z cosimone quit (Remote host closed the connection) 2020-08-30T15:34:13Z cosimone joined #lisp 2020-08-30T15:35:17Z simendsjo quit (Read error: Connection reset by peer) 2020-08-30T15:39:44Z ebrasca joined #lisp 2020-08-30T15:40:11Z liberliver joined #lisp 2020-08-30T15:41:06Z jeosol joined #lisp 2020-08-30T15:42:33Z iAmDecim joined #lisp 2020-08-30T15:47:07Z iAmDecim quit (Ping timeout: 246 seconds) 2020-08-30T15:50:43Z EvW joined #lisp 2020-08-30T15:51:49Z Inline joined #lisp 2020-08-30T15:52:12Z kopiyka joined #lisp 2020-08-30T15:53:00Z simendsjo joined #lisp 2020-08-30T15:54:00Z shka_: hello 2020-08-30T15:54:02Z phoe: random rant: :BEFORE and :AFTER methods should be capable of returning the list of arguments that is then passed into/out of the primary method 2020-08-30T15:54:35Z phoe: I need to do literally everything in :AROUND if I want to validate arguments while providing valid STORE-VALUE restarts that will mutate the *proper* place 2020-08-30T15:54:37Z shka_: phoe: returning… where? 2020-08-30T15:54:57Z phoe: shka_: actually, well, just :BEFORE 2020-08-30T15:55:03Z phoe: :AFTER has nowhere to return it to 2020-08-30T15:55:26Z shka_: well, ok 2020-08-30T15:56:31Z shka_: if only before bothers you, it can be solved by adding separate generic function before-foo which will call the foo in :AFTER 2020-08-30T15:57:33Z phoe: no, what bothers me is this 2020-08-30T15:57:34Z phoe: (defgeneric frob (thing)) (defmethod frob :before (thing) (check-type thing integer)) (defmethod frob (thing) thing) (handler-bind ((type-error (lambda (c) (declare (ignore c)) (invoke-restart 'store-value 42)))) (frob :forty-two)) 2020-08-30T15:58:05Z phoe: STORE-VALUE stores in the wrong place 2020-08-30T16:01:36Z shka_: phoe: well, sure :-) 2020-08-30T16:02:00Z shka_: however, you still can solve this by having two functions 2020-08-30T16:02:22Z shka_: or tree 2020-08-30T16:02:34Z phoe: yes, it can be solved 2020-08-30T16:02:39Z shka_: defun foo, defgeneric validate-foo defgeneric do-foo 2020-08-30T16:03:00Z phoe: I'm just annoyed that :BEFORE is the wrong tool for this job, it would have been much cleaner in my eyes 2020-08-30T16:03:12Z shka_: where foo goes like (apply #'do-foo (validate-foo arg1 arg2)) 2020-08-30T16:03:34Z shka_: well, it is what it is 2020-08-30T16:03:48Z shka_: hmmm 2020-08-30T16:03:54Z shka_: phoe: i have an idea 2020-08-30T16:05:34Z shka_: phoe: instead of doing that, you can simply mutate list stored in special variable 2020-08-30T16:05:54Z shka_: and then, apply said list 2020-08-30T16:06:35Z shka_: a little bit annoying to write it by hand, but easy to generate with macro 2020-08-30T16:07:19Z p_l: among today's internet woes, I'd like to give a honorable and channel-related mention that AS 5 is apparently still alive and took part in the brouhaha (AS 5 = Symbolics :D) 2020-08-30T16:07:30Z phoe: this is going to fail in case of the effective method being precomputed and then applied 2020-08-30T16:07:48Z phoe: oh wait, no 2020-08-30T16:07:56Z phoe: we're talking about keyword arguments now... 2020-08-30T16:08:25Z phoe: this is a dangerous idea, still, mutating the arglist is kinda like pulling the rug that my GF is standing on 2020-08-30T16:13:49Z iAmDecim joined #lisp 2020-08-30T16:14:57Z Jeanne-Kamikaze joined #lisp 2020-08-30T16:15:18Z shka_: phoe: eh, keyword arguments are annoying :/ 2020-08-30T16:15:30Z shka_: useful, but hard to handle 2020-08-30T16:16:25Z liberliver quit (Ping timeout: 240 seconds) 2020-08-30T16:16:40Z shka_: phoe: i don't have any other ideas 2020-08-30T16:18:25Z iAmDecim quit (Ping timeout: 240 seconds) 2020-08-30T16:20:10Z jurov quit (Remote host closed the connection) 2020-08-30T16:22:27Z jurov joined #lisp 2020-08-30T16:23:39Z narimiran joined #lisp 2020-08-30T16:27:07Z Krystof: phoe: you could do your type checking in the method combination 2020-08-30T16:27:19Z Krystof: I think 2020-08-30T16:29:08Z phoe: Krystof: that's one idea, I'd need to pass types/validation into the method combination though, somehow 2020-08-30T16:29:26Z Krystof: yeah, and it doesn't work, I think, sadly: 2020-08-30T16:29:32Z Krystof: "the consequences of using such a form as the place in a setf form are undefined." 2020-08-30T16:30:40Z phoe: yes 2020-08-30T16:38:13Z luckless joined #lisp 2020-08-30T16:41:52Z hiroaki joined #lisp 2020-08-30T16:46:30Z Lord_of_Life_ joined #lisp 2020-08-30T16:48:25Z Lord_of_Life quit (Ping timeout: 240 seconds) 2020-08-30T16:49:21Z Lord_of_Life_ is now known as Lord_of_Life 2020-08-30T16:52:56Z gko quit (Ping timeout: 256 seconds) 2020-08-30T16:54:24Z alfonsox joined #lisp 2020-08-30T16:54:45Z orivej quit (Ping timeout: 240 seconds) 2020-08-30T16:54:56Z hendursaga: Can anyone recommend a good library for manipulating XML? Not just parsing or processing, but manipulating and then outputting back to XML. Preferably with XPath or DOM/CSS selector support. 2020-08-30T16:55:28Z bitmapper joined #lisp 2020-08-30T16:55:51Z Inline quit (Ping timeout: 244 seconds) 2020-08-30T16:57:51Z hendursaga: So far it seems lquery is my best bet, but I'm not sure how to replace XML with something like S-XML which would then be serialized back to XML. 2020-08-30T16:58:33Z orivej joined #lisp 2020-08-30T17:04:14Z thecoffemaker joined #lisp 2020-08-30T17:08:15Z hendursaga: I could use xmls' toxml for that, though? 2020-08-30T17:11:41Z FreeBirdLjj quit (Remote host closed the connection) 2020-08-30T17:11:48Z gxt joined #lisp 2020-08-30T17:15:04Z shka_: hendursaga: for parsing: https://github.com/Shinmera/plump 2020-08-30T17:15:38Z shka_: there is also serialize function, i never used it though 2020-08-30T17:15:51Z shka_: but parsing and querying works perfectly fine 2020-08-30T17:17:05Z abhixec quit (Ping timeout: 265 seconds) 2020-08-30T17:19:40Z hendursaga: shka_: lquery uses plump, actually 2020-08-30T17:20:01Z shka_: well, yes 2020-08-30T17:20:16Z shka_: and there is stuff like remove-child and stuff 2020-08-30T17:20:26Z shka_: so i think it matches your needs, right? 2020-08-30T17:20:40Z hendursaga: Yes, I finally figured it out. Wish it didn't take as long as it did, though :/ 2020-08-30T17:21:36Z shka_: don't be angry, it happens 2020-08-30T17:23:20Z hendursaga: There's just so many different libraries out there, so many Lisps, so little documentation. 2020-08-30T17:24:01Z harasan joined #lisp 2020-08-30T17:24:14Z VincentVega joined #lisp 2020-08-30T17:32:14Z jeosol quit (Remote host closed the connection) 2020-08-30T17:35:55Z orivej quit (Ping timeout: 240 seconds) 2020-08-30T17:36:44Z orivej joined #lisp 2020-08-30T17:46:55Z EvW quit (Ping timeout: 240 seconds) 2020-08-30T17:51:55Z dra quit (Ping timeout: 240 seconds) 2020-08-30T17:53:00Z orivej quit (Ping timeout: 258 seconds) 2020-08-30T17:53:55Z nicktick quit (Ping timeout: 240 seconds) 2020-08-30T17:57:15Z karlosz joined #lisp 2020-08-30T17:58:04Z orivej joined #lisp 2020-08-30T17:59:26Z alfonsox quit (Remote host closed the connection) 2020-08-30T17:59:56Z VincentVega: Hi guys. I have stumbled upon this weird compilation vs evaluation deal, not sure what I am doing wrong: https://pastebin.com/J0A2sWYB 2020-08-30T18:00:02Z VincentVega: Would be glad if someone could take a look. 2020-08-30T18:05:04Z phoe: why is this a macro? 2020-08-30T18:05:28Z VincentVega: I have simplified a larger piece of code I was working with. 2020-08-30T18:05:53Z EvW joined #lisp 2020-08-30T18:06:41Z phoe: DEFCLASS or ENSURE-FINALIZED is not evaluated in such case because the error happens when macroexpanding the form 2020-08-30T18:07:02Z phoe: that's my first understanding 2020-08-30T18:10:45Z VincentVega: That seems to be true, indeed. 2020-08-30T18:11:03Z VincentVega: So, if the form errors out, the changes don't take effect? 2020-08-30T18:12:40Z VincentVega: It also seems to be the case when quickloading a project. If the file has an error, it's as if no definition before the error ever got evaluated so I have to eval manually till the error. It's a bit annoying. tbh. 2020-08-30T18:12:40Z phoe: they should not 2020-08-30T18:13:21Z phoe: wait a second, doesn't slime tell you where the error is? 2020-08-30T18:13:41Z phoe: you should be able to click on the line in *slime-compilation-errors* and jump to the file position 2020-08-30T18:13:56Z phoe: then you can fix it and C-c C-k the whole file and/or retry loading the system 2020-08-30T18:14:30Z VincentVega: Well, when it errors out, yeah it tells me there's an error. 2020-08-30T18:14:33Z VincentVega: I see, OK. 2020-08-30T18:17:10Z VincentVega: Well, it's still weird, because if no changes should take effect, then the second compilation of the progn should yield the same result, shouldn't it? 2020-08-30T18:18:22Z phoe: yes 2020-08-30T18:19:11Z phoe: I get consistent results though 2020-08-30T18:19:32Z VincentVega: sbcl version? 2020-08-30T18:19:33Z phoe: the no-class-found error I get is consistent if I answer N to loading the created/broken fasl file 2020-08-30T18:19:43Z phoe: SBCL 2.0.6 2020-08-30T18:20:57Z VincentVega: Oh. I don't reload the whole file though, I just compile the forms one by one. 2020-08-30T18:21:25Z ralt joined #lisp 2020-08-30T18:25:18Z shangul quit (Ping timeout: 256 seconds) 2020-08-30T18:27:51Z phoe: ooooh 2020-08-30T18:27:55Z phoe: yes, I can reproduce that 2020-08-30T18:28:34Z izh_ joined #lisp 2020-08-30T18:28:44Z phoe: I wonder why that works 2020-08-30T18:29:09Z VincentVega: Yeah, me too 2020-08-30T18:29:16Z phoe: likely some compile-time side effects that are kicking 2020-08-30T18:29:27Z phoe: maybe Bike will know 2020-08-30T18:29:31Z phoe: he's not here at the moment thogh 2020-08-30T18:29:46Z VincentVega: I can certainly wait 2020-08-30T18:30:25Z jibanes quit (Ping timeout: 240 seconds) 2020-08-30T18:32:22Z jibanes joined #lisp 2020-08-30T18:34:06Z hendursaga: How might I use lquery to, say, append a string to the text of every

node? replace-with looks like it might work but I'm new to CL 2020-08-30T18:36:29Z hendursaga: I've been looking through sample code on Github but I can't see anything that might fit. 2020-08-30T18:38:37Z shka_ quit (Ping timeout: 264 seconds) 2020-08-30T18:41:09Z hendursaga: Basically, how do I refer to the current set of elements being acted upon inside replace-with? 2020-08-30T18:41:18Z flazh1 quit (Ping timeout: 258 seconds) 2020-08-30T18:42:45Z mseddon_ joined #lisp 2020-08-30T18:43:56Z mseddon_ quit (Client Quit) 2020-08-30T18:45:08Z mseddon quit (Ping timeout: 258 seconds) 2020-08-30T19:02:17Z entel joined #lisp 2020-08-30T19:08:07Z flazh1 joined #lisp 2020-08-30T19:09:31Z rumbler3_ quit (Remote host closed the connection) 2020-08-30T19:09:49Z rumbler31 joined #lisp 2020-08-30T19:14:37Z peterhil quit (Ping timeout: 264 seconds) 2020-08-30T19:15:30Z Jesin quit (Quit: Leaving) 2020-08-30T19:17:45Z simendsjo quit (Ping timeout: 240 seconds) 2020-08-30T19:24:21Z peterhil joined #lisp 2020-08-30T19:25:12Z Jesin joined #lisp 2020-08-30T19:26:06Z luckless quit (Quit: WeeChat 2.8) 2020-08-30T19:26:56Z luckless joined #lisp 2020-08-30T19:28:42Z yitzi joined #lisp 2020-08-30T19:34:52Z oldtopman joined #lisp 2020-08-30T19:39:45Z shka_ joined #lisp 2020-08-30T19:43:41Z hendursaga: Perhaps an example of how to use lquery's each with replace? 2020-08-30T19:47:04Z phoe: hendursaga: #shirakumo might help 2020-08-30T19:48:31Z edgar-rft quit (Quit: Leaving) 2020-08-30T19:48:44Z hendursaga quit (Quit: hendursaga) 2020-08-30T19:49:09Z hendursaga joined #lisp 2020-08-30T19:57:54Z Oladon joined #lisp 2020-08-30T19:58:48Z shka_ quit (Ping timeout: 256 seconds) 2020-08-30T20:05:46Z narimiran quit (Ping timeout: 265 seconds) 2020-08-30T20:13:13Z Aruseus joined #lisp 2020-08-30T20:15:20Z Aruseus quit (Client Quit) 2020-08-30T20:31:11Z ralt quit (Quit: Connection closed for inactivity) 2020-08-30T20:35:25Z cosimone quit (Ping timeout: 240 seconds) 2020-08-30T20:35:44Z gravicappa quit (Ping timeout: 265 seconds) 2020-08-30T20:36:09Z dra joined #lisp 2020-08-30T20:37:22Z cosimone joined #lisp 2020-08-30T20:37:42Z iissaacc joined #lisp 2020-08-30T20:40:46Z cosimone_ joined #lisp 2020-08-30T20:41:49Z rumbler31 quit (Remote host closed the connection) 2020-08-30T20:41:55Z cosimone quit (Ping timeout: 240 seconds) 2020-08-30T20:42:02Z harasan quit (Quit: WeeChat 2.3) 2020-08-30T20:47:06Z macoy joined #lisp 2020-08-30T20:50:12Z macoy: Hi, I'm writing a Lisp-like language and was wondering if you guys could help me with a detail: In macro expansion time, does the interpreter basically traverse the entire AST recursively, and evaluate anything which happens to have a macro name by an open paren, regardless of any context? e.g. if I make up a DSL, but it wants to use a name which a macro also has, there's nothing to stop that macro from being expanded? 2020-08-30T20:51:24Z macoy: (because macro expansion time has no idea we're supposed to be interpreting it as a DSL marker) 2020-08-30T20:52:16Z Inline joined #lisp 2020-08-30T20:53:10Z phoe: macoy: stop that macro from being expanded... do you mean the quote operator? 2020-08-30T20:54:03Z phoe: "regardless of any context" is not really true, e.g. (case 42 (defun foo () ...) ...) will not macroexpand DEFUN 2020-08-30T20:54:14Z phoe: this is because CASE itself is a macro and includes its own syntax 2020-08-30T20:55:05Z phoe: if your DSL performs some sort of code walking, then it can introduce its own macro system when it compiles your DSL down to your Lisp 2020-08-30T20:58:16Z macoy: phoe: Ah, I think I see what I was misunderstanding: I was imagining macro expansion would happen like function argument evaluation, where if you invoke a macro within another macro's arguments, the invoked macro (deepest) will be expanded first. 2020-08-30T20:58:16Z macoy: With the case example, it makes sense that macros actually need to be generated immediately once encountered, then that generated code is evaluated for further macro expansion. 2020-08-30T20:58:17Z macoy: So my DSL won't have problems with macro name collisions because I convert all the DSL symbols into something else (otherwise it wouldn't be a DSL, it'd just be Lisp) 2020-08-30T20:59:16Z izh_ quit (Quit: Leaving) 2020-08-30T21:01:41Z phoe: macoy: no no no, macros are expanded from outside in 2020-08-30T21:01:59Z phoe: if you have (FOO (BAR (BAZ ...))) then if FOO is a macro then it is expanded first 2020-08-30T21:02:12Z phoe: and the macroexpansion may not even contain the form (BAR (BAZ ...)) or any form like it 2020-08-30T21:04:53Z macoy: phoe: That makes much, much more sense than what I was thinking. Thanks a lot, you've saved me a lot of heartache had I tried the other approach first! :) 2020-08-30T21:05:15Z phoe: <3 2020-08-30T21:05:29Z phoe: macoy: figure out how other Lisp dialects do it before implementing your own 2020-08-30T21:05:46Z phoe: like, you've wandered into #lisp, which is a place full of Common Lisp programmers 2020-08-30T21:10:40Z aeth: see also: ##lisp (Lisp family) and #scheme (Scheme subfamily) 2020-08-30T21:11:17Z aeth: but a lot of Schemes don't even have unhygienic macros anymore 2020-08-30T21:12:43Z macoy: phoe: That's fair enough. I suppose I didn't do too deep of research (besides using Elisp and SBCL a bit, and generally knowing about tokenizers and parsers). I'm not trying to make a classical Lisp, it's more a Lisp-ish thing that I don't really know how to define. It uses generated C code to do all the actual work, and the only thing I define is macros and generators (generators do nothing but receive tokens and output C/C++ code; 2020-08-30T21:12:44Z macoy: generators themselves can be written with other generators etc.) 2020-08-30T21:12:51Z aeth: They're more problematic in Lisp-1s because name conflicts are easier. That and Scheme doesn't namespace symbols like CL does, so name conflicts are easier. (You can actually still get name conflicts in CL, with FLET, since functions/macros aren't usually gensymmed.) 2020-08-30T21:13:03Z aeth: So Schemes focus on hygienic macro systems which are very different. 2020-08-30T21:13:19Z phoe: macoy: so basically some sorta Lisplike macro system that spits out C code? 2020-08-30T21:13:23Z macoy: aeth: Thanks for the other room recommendations! 2020-08-30T21:13:51Z phoe: if yes, have you seen https://github.com/kiselgra/c-mera ? 2020-08-30T21:14:55Z aeth: Lisp-1 means functions and variable share a namespace, if you're wondering. So (let ((list (list 1 2 3))) ...) can really easily mess with macros in the ... that call list. In CL, you generally only gensym the variable namespace, since the function/macro namespace has other protections (and the CL package, containing CL:LISP can be protected from redefine in a DEFUN or FLET) 2020-08-30T21:15:15Z phoe: CL:LISP? 2020-08-30T21:15:18Z phoe: oh, you meant CL:LIST 2020-08-30T21:15:20Z aeth: CL:LIST heh 2020-08-30T21:16:50Z bitmapper: hmm. 2020-08-30T21:16:57Z phoe: hmmmmmm 2020-08-30T21:17:07Z bitmapper: what to do about this code that expects in-package to make a package if it doesn't exist 2020-08-30T21:17:17Z bitmapper: note: other than that, this code is rather nice unlike last time 2020-08-30T21:17:23Z phoe: write your own IN-PACKAGE and use that instead 2020-08-30T21:17:43Z bitmapper: im pleased to say that there is docstrings everywhere 2020-08-30T21:17:47Z bitmapper: and no weird hacks 2020-08-30T21:17:54Z aeth: My point is, Lisp-2's like CL don't really worry about non-variable gensyms in macros because (0) you have to modify the function, not variable, namespace (probably locallly with FLET/LABELS), (1) you're probably not USE'ing a package (and it might not be exported; so it's other-package::foo, not foo), (2) if you are using a package and it's CL it's protected from redefinition 2020-08-30T21:18:15Z aeth: While Lisp-1 macro design in Scheme worries about this sort of thing more and focuses on hygiene. 2020-08-30T21:19:30Z aeth: but how the language choices affect the preferred macros is more of a topic for ##lisp 2020-08-30T21:21:08Z macoy: phoe: Yes, C-mera looks exactly like what I'm doing. Too bad I didn't discover it sooner! I want to continue working on my version, but C-mera looks interesting for sure 2020-08-30T21:22:33Z sympt quit (Read error: Connection reset by peer) 2020-08-30T21:22:44Z sympt joined #lisp 2020-08-30T21:24:10Z ggole quit (Quit: Leaving) 2020-08-30T21:30:15Z MichaelRaskin quit (Quit: MichaelRaskin) 2020-08-30T21:33:10Z pve quit (Quit: leaving) 2020-08-30T21:44:16Z random-nick quit (Ping timeout: 256 seconds) 2020-08-30T22:01:29Z dra: macoy: Here's a small snippet from an interpreter I wrote some time ago in C++: http://pastie.org/p/3LGO6xC0aQ6wIIBQQ0lUAB 2020-08-30T22:03:39Z macoy: dra: that's very clearly written, thanks for the snippet! 2020-08-30T22:03:41Z bilegeek joined #lisp 2020-08-30T22:03:50Z dra: My pleasure. :) 2020-08-30T22:04:43Z elosant joined #lisp 2020-08-30T22:10:02Z mangoicedtea joined #lisp 2020-08-30T22:12:55Z hiroaki quit (Ping timeout: 240 seconds) 2020-08-30T22:22:19Z ebrasca left #lisp 2020-08-30T22:27:42Z Inline quit (Ping timeout: 260 seconds) 2020-08-30T22:31:46Z sonologico quit (Remote host closed the connection) 2020-08-30T22:32:36Z todun quit (Quit: todun) 2020-08-30T22:33:33Z cosimone_ quit (Quit: Quit.) 2020-08-30T22:35:11Z VincentVega quit (Remote host closed the connection) 2020-08-30T22:39:04Z aindilis quit (Ping timeout: 246 seconds) 2020-08-30T22:41:55Z brj quit (Ping timeout: 240 seconds) 2020-08-30T22:44:18Z brj joined #lisp 2020-08-30T22:48:18Z iissaacc quit (Ping timeout: 256 seconds) 2020-08-30T22:53:20Z paines quit (Ping timeout: 256 seconds) 2020-08-30T22:57:09Z iissaacc joined #lisp 2020-08-30T22:57:56Z Papa joined #lisp 2020-08-30T23:00:39Z dra quit (Remote host closed the connection) 2020-08-30T23:13:27Z Bourne joined #lisp 2020-08-30T23:20:37Z peterhil quit (Ping timeout: 264 seconds) 2020-08-30T23:22:28Z aindilis joined #lisp 2020-08-30T23:27:07Z elosant quit (Quit: WeeChat 2.9) 2020-08-30T23:39:47Z luckless quit (Quit: WeeChat 2.8) 2020-08-30T23:52:19Z bg__ joined #lisp 2020-08-30T23:54:16Z Oddity__ joined #lisp 2020-08-30T23:54:25Z orivej quit (Ping timeout: 240 seconds) 2020-08-30T23:55:01Z orivej joined #lisp 2020-08-30T23:55:13Z bilegeek quit (Ping timeout: 260 seconds) 2020-08-30T23:58:07Z Oddity_ quit (Ping timeout: 260 seconds) 2020-08-30T23:59:07Z bilegeek joined #lisp 2020-08-31T00:00:44Z bg__ quit (Ping timeout: 244 seconds) 2020-08-31T00:08:29Z EvW quit (Ping timeout: 244 seconds) 2020-08-31T00:16:25Z Jeanne-Kamikaze quit (Ping timeout: 240 seconds) 2020-08-31T00:23:45Z Alloc quit (Ping timeout: 240 seconds) 2020-08-31T00:24:06Z Alloc joined #lisp 2020-08-31T00:33:07Z Alloc quit (Ping timeout: 260 seconds) 2020-08-31T00:33:43Z Alloc joined #lisp 2020-08-31T00:40:23Z wxie joined #lisp 2020-08-31T00:40:37Z wxie quit (Remote host closed the connection) 2020-08-31T00:45:29Z Volt_ joined #lisp 2020-08-31T00:49:07Z voidlily quit (Remote host closed the connection) 2020-08-31T00:51:32Z voidlily joined #lisp 2020-08-31T00:51:39Z mangoicedtea quit (Quit: Leaving) 2020-08-31T00:52:19Z torbo joined #lisp 2020-08-31T00:54:25Z Necktwi quit (Ping timeout: 240 seconds) 2020-08-31T00:55:45Z Alloc quit (Ping timeout: 240 seconds) 2020-08-31T00:56:21Z Jeanne-Kamikaze joined #lisp 2020-08-31T00:56:40Z iAmDecim joined #lisp 2020-08-31T00:58:07Z karlosz quit (Quit: karlosz) 2020-08-31T01:00:31Z Necktwi joined #lisp 2020-08-31T01:02:55Z iAmDecim quit (Ping timeout: 240 seconds) 2020-08-31T01:03:59Z rumbler31 joined #lisp 2020-08-31T01:05:36Z Alloc joined #lisp 2020-08-31T01:08:43Z _jrjsmrtn joined #lisp 2020-08-31T01:08:46Z __jrjsmrtn__ quit (Ping timeout: 256 seconds) 2020-08-31T01:13:46Z Necktwi quit (Ping timeout: 246 seconds) 2020-08-31T01:21:38Z jeosol joined #lisp 2020-08-31T01:26:05Z iissaacc quit (Ping timeout: 240 seconds) 2020-08-31T01:29:12Z bsd4me joined #lisp 2020-08-31T01:29:41Z Necktwi joined #lisp 2020-08-31T01:34:48Z luckless joined #lisp 2020-08-31T01:35:55Z orivej quit (Ping timeout: 240 seconds) 2020-08-31T01:38:05Z orivej joined #lisp 2020-08-31T01:40:56Z Necktwi quit (Remote host closed the connection) 2020-08-31T01:44:38Z akoana_ joined #lisp 2020-08-31T01:45:18Z akoana_ quit (Client Quit) 2020-08-31T01:48:21Z iissaacc joined #lisp 2020-08-31T01:49:41Z akoana joined #lisp 2020-08-31T01:51:06Z Necktwi joined #lisp 2020-08-31T01:57:03Z PuercoPop joined #lisp 2020-08-31T01:58:43Z luckless quit (Ping timeout: 240 seconds) 2020-08-31T02:00:53Z luckless joined #lisp 2020-08-31T02:02:02Z wxie joined #lisp 2020-08-31T02:07:55Z iissaacc quit (Ping timeout: 240 seconds) 2020-08-31T02:15:05Z akoana: I'm trying to run an external program on linux in sbcl with (uiop:run-program (list "/usr/bin/mpv" "http://stream.srg-ssr.ch/m/rsj/mp3_128") :output :interactive :input *standard-input*) 2020-08-31T02:16:03Z akoana: the mpv program accepts 'q' to terminate it, but I can't make that work if I start it in sbcl 2020-08-31T02:17:34Z john__ joined #lisp 2020-08-31T02:17:42Z akoana: I had that working in clisp with run-program, but sadly - on a raspberry pi clisp crashes with errno = 12 (:ENOMEM): Cannot allocate memory. :( 2020-08-31T02:18:22Z PuercoPop quit (Quit: WeeChat 1.9.1) 2020-08-31T02:18:43Z akoana: any ideas? 2020-08-31T02:19:10Z no-defun-allowed: Maybe try :input :interactive? 2020-08-31T02:20:41Z no-defun-allowed: Somehow I wonder if SBCL is doing something with the input stream, but it shouldn't be. 2020-08-31T02:20:46Z akoana: yeah, I tried that already, no chance sadly, even tried with "bash -c mpv url", the mpv program starts, but does not accept a keypress 2020-08-31T02:20:55Z gaqwas quit (Ping timeout: 240 seconds) 2020-08-31T02:21:40Z akoana: I can only use CTRL-C but that starts the debugger and leaves mpv running 2020-08-31T02:21:45Z no-defun-allowed: Also, I would not expect only the character q to close it, unless mpv has still set terminal(?) settings to not buffer input. 2020-08-31T02:22:25Z no-defun-allowed: (And if you use SLIME, :interactive input is the stream connected to *inferior-lisp*) 2020-08-31T02:23:08Z no-defun-allowed: Hey, (uiop:run-program "mpv foo.mp3" :input :interactive :output :interactive) closes with just q. 2020-08-31T02:23:36Z akoana: hah, let me try... 2020-08-31T02:25:04Z akoana: no-defun-allowed: yay - thanks a lot - that works - you saved my day :) 2020-08-31T02:26:28Z akoana: I have been struggling with this for hours - now it works with 1.4.16.debian on my raspi 2020-08-31T02:26:51Z akoana: no-defun-allowed: thank you very much again!!! 2020-08-31T02:27:33Z akoana: (*sbcl 1.4.16) 2020-08-31T02:33:59Z no-defun-allowed: Sure. 2020-08-31T02:35:31Z no-defun-allowed: It also works with the "proper" way to specify the command to run, i.e. '("/usr/bin/mpv" "foo.mp3") 2020-08-31T02:36:07Z akoana: yes, I have it like that 2020-08-31T02:36:22Z jeosol quit (Remote host closed the connection) 2020-08-31T02:37:45Z akoana: on my workstation it runs like a charm, but on the raspi I guess I've to install quicklisp ("Package UIOP does not exist".) 2020-08-31T02:38:07Z Oladon quit (Quit: Leaving.) 2020-08-31T02:38:35Z no-defun-allowed: I think UIOP comes with ASDF, but you can indeed get both quickly using Quicklisp. 2020-08-31T02:39:25Z akoana: although i installed the cl-asdf package, but maybe thats for clisp only, hmm, Raspian (Debian10) 2020-08-31T02:40:39Z no-defun-allowed: Right, I've never used Debian's CL packages, so I can't comment. (But it should be accessible by any implementation?) 2020-08-31T02:42:02Z akoana: yes, I thoght so, but usually I compile clisp and sbcl myself and don't use the distro packages (only clisp for the initial installation of sbcl) 2020-08-31T02:42:27Z akoana: thought* 2020-08-31T02:42:35Z no-defun-allowed: What model of Pi are you on? 2020-08-31T02:42:53Z akoana: Model: Pi 2 Model B v1.1 - lol 2020-08-31T02:43:06Z akoana: 1GB ram 2020-08-31T02:43:23Z zooey quit (Ping timeout: 240 seconds) 2020-08-31T02:43:37Z zooey_ joined #lisp 2020-08-31T02:43:47Z Oladon joined #lisp 2020-08-31T02:43:54Z no-defun-allowed: I would recommend Clozure on the 32-bit Pis (a superset of Pi 2), as it has mostly working threads. 2020-08-31T02:44:12Z akoana: the mpv thing is part of a small internet radio streaming program, with a small database of station 2020-08-31T02:45:27Z akoana: I have once compiled ccl on a Pi, and it did work well, but the build process on the Pi takes a long time :) 2020-08-31T02:46:02Z no-defun-allowed: Yeah, I think I just downloaded a bootstrap image and lived with that out of laziness. 2020-08-31T02:46:31Z karlosz joined #lisp 2020-08-31T02:46:45Z akoana: and also, I'm rather a noob with Common Lisp - but I like it very much 2020-08-31T02:47:11Z akoana: in fact I love it 2020-08-31T02:53:29Z akoana: I've replaced some of my old python and shell scripts with lisp programs, and I'm going to continue that :) 2020-08-31T02:54:36Z aeth_ joined #lisp 2020-08-31T02:56:02Z sveit quit (Ping timeout: 260 seconds) 2020-08-31T02:56:45Z aeth quit (Ping timeout: 240 seconds) 2020-08-31T02:56:56Z aeth_ is now known as aeth 2020-08-31T02:57:20Z akoana: no-defun-allowed: installed quicklisp on the Pi - now I can listen to the music - wonderful! 2020-08-31T02:57:30Z no-defun-allowed: Great! 2020-08-31T02:57:36Z iAmDecim joined #lisp 2020-08-31T02:58:05Z simplegauss quit (Ping timeout: 240 seconds) 2020-08-31T03:00:21Z sveit joined #lisp 2020-08-31T03:00:51Z simplegauss joined #lisp 2020-08-31T03:00:59Z akoana: It's a small program with a database of internet radio stations, it lets you select a station or add one on the command line or just lists all available stations (without an argument) 2020-08-31T03:01:39Z Alfr_ joined #lisp 2020-08-31T03:01:59Z endousan joined #lisp 2020-08-31T03:03:02Z akoana: well database is a bit exaggerated, it's just a list of lists stored in a file :) 2020-08-31T03:03:47Z Alfr quit (Ping timeout: 240 seconds) 2020-08-31T03:05:05Z orivej quit (Ping timeout: 240 seconds) 2020-08-31T03:05:45Z orivej joined #lisp 2020-08-31T03:05:55Z iAmDecim quit (Ping timeout: 240 seconds) 2020-08-31T03:23:04Z Jeanne-Kamikaze quit (Quit: Leaving) 2020-08-31T03:23:25Z orivej quit (Ping timeout: 240 seconds) 2020-08-31T03:24:39Z endousan quit (Quit: WeeChat 2.3) 2020-08-31T03:24:58Z iissaacc joined #lisp 2020-08-31T03:25:35Z bsd4me left #lisp 2020-08-31T03:26:14Z orivej joined #lisp 2020-08-31T03:32:17Z beach: Good morning everyone! 2020-08-31T03:35:32Z rumbler31 quit (Ping timeout: 256 seconds) 2020-08-31T03:38:02Z torbo quit (Remote host closed the connection) 2020-08-31T03:38:55Z shangul joined #lisp 2020-08-31T03:39:51Z akoana: good morning beach! 2020-08-31T03:41:44Z ueta joined #lisp 2020-08-31T03:50:58Z mathrick joined #lisp 2020-08-31T03:52:32Z macoy quit (Read error: Connection reset by peer) 2020-08-31T04:00:45Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2020-08-31T04:06:48Z FreeBirdLjj joined #lisp 2020-08-31T04:07:04Z FreeBirdLjj quit (Client Quit) 2020-08-31T04:10:10Z gravicappa joined #lisp 2020-08-31T04:14:54Z thecoffemaker quit (Ping timeout: 265 seconds) 2020-08-31T04:17:25Z wxie quit (Ping timeout: 240 seconds) 2020-08-31T04:19:52Z orivej quit (Remote host closed the connection) 2020-08-31T04:21:03Z orivej joined #lisp 2020-08-31T04:21:13Z _paul0 joined #lisp 2020-08-31T04:24:10Z paul0 quit (Ping timeout: 246 seconds) 2020-08-31T04:27:25Z brj quit (Ping timeout: 240 seconds) 2020-08-31T04:27:54Z samebchase- joined #lisp 2020-08-31T04:33:43Z Balooga: Hiya beach. 2020-08-31T04:39:37Z rtoy joined #lisp 2020-08-31T04:44:40Z thecoffemaker joined #lisp 2020-08-31T04:46:50Z Lord_of_Life_ joined #lisp 2020-08-31T04:47:46Z shangul quit (Ping timeout: 265 seconds) 2020-08-31T04:48:08Z Lord_of_Life quit (Ping timeout: 256 seconds) 2020-08-31T04:48:11Z Lord_of_Life_ is now known as Lord_of_Life 2020-08-31T04:53:53Z peterhil joined #lisp 2020-08-31T04:57:10Z wxie joined #lisp 2020-08-31T05:02:11Z bilegeek quit (Quit: Leaving) 2020-08-31T05:03:44Z aeth: beach: you aren't in #lispcafe so you didn't see the conversation, but can you elaborate on this? https://irclog.tymoon.eu/freenode/%23lisp?around=1598677456#1598677456 2020-08-31T05:04:15Z aeth: In particular "But maybe this minimalism trend is due tot he fact that their tools are so complex that they can't do otherwise. ... The hypothesis was that, in order to simplify their work (design, first-time development, maintenance), since their main tool (i.e., the programming language) makes their task so hard, they need to cut down on the features. ... 2020-08-31T05:04:20Z aeth: "Lisp had fixed these problems ages ago, and in a better way than Python does." 2020-08-31T05:08:52Z shangul joined #lisp 2020-08-31T05:15:16Z grewal quit (Ping timeout: 246 seconds) 2020-08-31T05:17:28Z wxie1 joined #lisp 2020-08-31T05:17:45Z wxie quit (Ping timeout: 240 seconds) 2020-08-31T05:17:55Z wxie1 is now known as wxie 2020-08-31T05:20:43Z beach: aeth: Today is Monday morning, and Monday mornings are chaotic around here. It may take some time. 2020-08-31T05:22:26Z beach: aeth: For the minimalist trend, I was just guessing. I don't know what is really going on. 2020-08-31T05:23:39Z beach: As for the last quote, The guy was just enumerating things that were surprising to him. He didn't have the words to express them necessarily, but one was what I call "uniform reference semantics". To him, it seemed like Python invented that idea, but Lisp had it in 1960. 2020-08-31T05:25:07Z beach: As for the "better" part, it is just about things that I repeat fairly frequently, namely that Common Lisp was designed by people who know about language design and compiler technology. Some quotations I have seen from the creator of Python seems to suggest that such knowledge is quite limited there. 2020-08-31T05:25:57Z beach: aeth: What was the discussion in #lispcafe about? 2020-08-31T05:27:38Z aeth: beach: I guess it was almost more of a request for comment than a real conversation because we don't know what features you think Common Lisp has that other languages lack. 2020-08-31T05:29:48Z iAmDecim joined #lisp 2020-08-31T05:29:58Z beach: Again, the guy was lamenting the complexity of C and C++ because they distinguish what he calls "values" from what he calls "pointers", and he seemed to think that Python invented what I call "uniform reference semantics". 2020-08-31T05:30:43Z beach: He was also talking about things like operator priority in C and C++, and claimed that Python has a much better solution. I claim that Lisp has had the best solution for 60 years. 2020-08-31T05:31:34Z shka_ joined #lisp 2020-08-31T05:32:07Z beach: I wasn't so much comparing Common Lisp to other languages as I was comparing this person's idea about what Python supposedly invented, to what Lisp has had for a long time. 2020-08-31T05:33:43Z beach: Also, this guy seemed convinced that there must be a distinction between a general-purpose language and a scripting language. Again, he seemed totally ignorant of the fact that you can have the features of something like Python with the power of something like Common Lisp and the speed of a good Common Lisp implementation. 2020-08-31T05:34:37Z aeth: Yes, that seems like a common opinion. 2020-08-31T05:34:47Z beach: I personally find it unacceptable to have people like that invited to a conference, or to have their papers accepted at one, if they are unaware of Common Lisp. 2020-08-31T05:36:32Z beach: I also don't see much mention of the main problem with this distinction between general-purpose and scripting, namely that it can be a nightmare to debug and maintain, especially if the semantics are different, and also the problem that users start writing complex code in the scripting language, thereby making the combination slower than if the entire applicatio had been written in Common Lisp. 2020-08-31T05:36:35Z iAmDecim quit (Ping timeout: 265 seconds) 2020-08-31T05:37:33Z aeth: beach: What do you think Common Lisp offers to make maintaining code easier? 2020-08-31T05:38:14Z beach: I am reminded of how a colleague of mine cleaned up the ICMC, the International Computer Music Conference, by taking on the chairmanship and rejecting all papers that didn't make a scientific argument. Maybe a Lisper should take on the chairmanship of a Python conference and do the same. 2020-08-31T05:39:23Z beach: I am saying that it is easier to maintain an application written in one language with sane and consistent semantics, than to maintain a mixture between a traditional static general-purpose language and a dynamic scripting language. 2020-08-31T05:40:07Z aeth: ah 2020-08-31T05:41:06Z beach: But the guy was right that the semantics of C and C++, with the distinction between "values" and "pointers" is a horrible idea. And, as I often point out (and as Paul Wilson says), liveness is a global property, so if you don't have automatic memory management, you already either have a maintenance nightmare, or you have a slow application. 2020-08-31T05:43:18Z beach: I have explained the reason why several times. But basically, either you break the modularity so that you know what the module does with your objects (and you have a maintenance nightmare), or you copy objects, use smart pointers, or use reference counting (and you have a slow application). 2020-08-31T05:46:29Z beach: So, instead of taking a general-purpose dynamic language with sane semantics and good implementations, like Common Lisp, they combine a static language with horrible semantics that can't be made both fast and modular with a dynamic language with a slow implementation and totally different semantics. And they are proud of themselves, to the degree that they get to speak at conferences. 2020-08-31T05:49:34Z josemanuel quit (Ping timeout: 246 seconds) 2020-08-31T05:51:02Z josemanuel joined #lisp 2020-08-31T05:51:45Z Volt_ quit (Quit: ) 2020-08-31T05:53:27Z aeth: beach: thank you for your in-depth response 2020-08-31T05:53:50Z beach: Sure. I hope it helped clarify things. 2020-08-31T06:05:14Z narimiran joined #lisp 2020-08-31T06:07:16Z john__ is now known as gaqwas 2020-08-31T06:07:20Z gaqwas quit (Changing host) 2020-08-31T06:07:20Z gaqwas joined #lisp 2020-08-31T06:08:09Z toorevitimirp joined #lisp 2020-08-31T06:12:21Z _Posterdati_ is now known as Posterdati 2020-08-31T06:13:19Z alfonsox joined #lisp 2020-08-31T06:14:29Z Oladon quit (Quit: Leaving.) 2020-08-31T06:15:03Z Volt_ joined #lisp 2020-08-31T06:19:05Z Jesin quit (Ping timeout: 240 seconds) 2020-08-31T06:23:54Z wxie quit (Ping timeout: 256 seconds) 2020-08-31T06:24:41Z wxie joined #lisp 2020-08-31T06:30:16Z edgar-rft joined #lisp 2020-08-31T06:31:05Z wxie quit (Ping timeout: 240 seconds) 2020-08-31T06:47:38Z toorevitimirp quit (Ping timeout: 256 seconds) 2020-08-31T06:52:45Z frgo quit (Ping timeout: 240 seconds) 2020-08-31T06:53:13Z frgo joined #lisp 2020-08-31T06:53:59Z wxie joined #lisp 2020-08-31T06:58:25Z peterhil quit (Quit: Must not waste too much time here...) 2020-08-31T06:58:27Z wxie quit (Ping timeout: 258 seconds) 2020-08-31T07:06:22Z ralt joined #lisp 2020-08-31T07:08:04Z Volt_ quit (Quit: ) 2020-08-31T07:12:24Z jprajzne joined #lisp 2020-08-31T07:12:34Z narimiran quit (Ping timeout: 256 seconds) 2020-08-31T07:18:37Z ljavorsk joined #lisp 2020-08-31T07:19:10Z holycow joined #lisp 2020-08-31T07:22:40Z mangul joined #lisp 2020-08-31T07:24:45Z shangul quit (Ping timeout: 240 seconds) 2020-08-31T07:30:22Z scymtym quit (Ping timeout: 256 seconds) 2020-08-31T07:32:13Z jonatack quit (Ping timeout: 244 seconds) 2020-08-31T07:34:12Z treflip joined #lisp 2020-08-31T07:39:10Z akoana left #lisp 2020-08-31T07:42:55Z iissaacc quit (Ping timeout: 258 seconds) 2020-08-31T07:45:01Z pve joined #lisp 2020-08-31T07:46:01Z liberliver joined #lisp 2020-08-31T07:46:57Z scymtym joined #lisp 2020-08-31T07:52:57Z grobe0ba_ joined #lisp 2020-08-31T07:55:12Z random-nick joined #lisp 2020-08-31T07:55:37Z davepdot_ joined #lisp 2020-08-31T08:00:13Z treflip quit (*.net *.split) 2020-08-31T08:00:14Z _paul0 quit (*.net *.split) 2020-08-31T08:00:14Z ueta quit (*.net *.split) 2020-08-31T08:00:14Z aeth quit (*.net *.split) 2020-08-31T08:00:14Z gaqwas quit (*.net *.split) 2020-08-31T08:00:14Z Alloc quit (*.net *.split) 2020-08-31T08:00:14Z jurov quit (*.net *.split) 2020-08-31T08:00:14Z logicmoo quit (*.net *.split) 2020-08-31T08:00:14Z Misha_B quit (*.net *.split) 2020-08-31T08:00:14Z luna_is_here quit (*.net *.split) 2020-08-31T08:00:14Z CrazyEddy quit (*.net *.split) 2020-08-31T08:00:14Z bocaneri quit (*.net *.split) 2020-08-31T08:00:14Z andinus quit (*.net *.split) 2020-08-31T08:00:14Z vaporatorius__ quit (*.net *.split) 2020-08-31T08:00:14Z grobe0ba quit (*.net *.split) 2020-08-31T08:00:15Z quazimodo quit (*.net *.split) 2020-08-31T08:00:15Z johnjay quit (*.net *.split) 2020-08-31T08:00:15Z hjudt quit (*.net *.split) 2020-08-31T08:00:15Z stux|RC-only quit (*.net *.split) 2020-08-31T08:00:15Z grobe0ba_ is now known as grobe0ba 2020-08-31T08:04:39Z alfonsox quit (Ping timeout: 245 seconds) 2020-08-31T08:05:25Z treflip joined #lisp 2020-08-31T08:05:25Z _paul0 joined #lisp 2020-08-31T08:05:25Z ueta joined #lisp 2020-08-31T08:05:25Z aeth joined #lisp 2020-08-31T08:05:25Z gaqwas joined #lisp 2020-08-31T08:05:25Z Alloc joined #lisp 2020-08-31T08:05:25Z jurov joined #lisp 2020-08-31T08:05:25Z logicmoo joined #lisp 2020-08-31T08:05:25Z CrazyEddy joined #lisp 2020-08-31T08:05:25Z Misha_B joined #lisp 2020-08-31T08:05:25Z luna_is_here joined #lisp 2020-08-31T08:05:25Z bocaneri joined #lisp 2020-08-31T08:05:25Z andinus joined #lisp 2020-08-31T08:05:25Z vaporatorius__ joined #lisp 2020-08-31T08:05:25Z quazimodo joined #lisp 2020-08-31T08:05:25Z johnjay joined #lisp 2020-08-31T08:05:25Z stux|RC-only joined #lisp 2020-08-31T08:06:22Z scymtym_ joined #lisp 2020-08-31T08:06:49Z logicmoo quit (Max SendQ exceeded) 2020-08-31T08:06:49Z bocaneri quit (Max SendQ exceeded) 2020-08-31T08:07:12Z bocaneri joined #lisp 2020-08-31T08:08:23Z scymtym quit (Ping timeout: 244 seconds) 2020-08-31T08:08:45Z CrazyEddy quit (Ping timeout: 255 seconds) 2020-08-31T08:09:13Z wxie joined #lisp 2020-08-31T08:09:48Z dmiles joined #lisp 2020-08-31T08:10:15Z hendursa1 joined #lisp 2020-08-31T08:10:43Z hjudt joined #lisp 2020-08-31T08:10:57Z wxie quit (Client Quit) 2020-08-31T08:12:03Z hendursaga quit (Ping timeout: 240 seconds) 2020-08-31T08:12:27Z nicktick joined #lisp 2020-08-31T08:14:09Z tumdum joined #lisp 2020-08-31T08:14:09Z tumdum quit (Changing host) 2020-08-31T08:14:09Z tumdum joined #lisp 2020-08-31T08:16:41Z Jesin joined #lisp 2020-08-31T08:19:12Z brj joined #lisp 2020-08-31T08:27:46Z rogersm joined #lisp 2020-08-31T08:39:31Z Hineios joined #lisp 2020-08-31T08:41:14Z VincentVega joined #lisp 2020-08-31T08:46:58Z jonatack joined #lisp 2020-08-31T09:06:50Z jibanes quit (Ping timeout: 265 seconds) 2020-08-31T09:07:06Z heisig joined #lisp 2020-08-31T09:07:08Z paines joined #lisp 2020-08-31T09:07:08Z paines quit (Client Quit) 2020-08-31T09:07:34Z paines_ joined #lisp 2020-08-31T09:07:43Z paines_ is now known as paines 2020-08-31T09:13:17Z jibanes joined #lisp 2020-08-31T09:30:46Z ggole joined #lisp 2020-08-31T09:31:53Z iissaacc joined #lisp 2020-08-31T09:32:19Z cosimone joined #lisp 2020-08-31T09:33:14Z davepdot_ quit (Remote host closed the connection) 2020-08-31T09:37:02Z p_l|shit1bp joined #lisp 2020-08-31T09:39:27Z p_l|shitmbp quit (Ping timeout: 258 seconds) 2020-08-31T09:44:20Z Kaisyu joined #lisp 2020-08-31T09:44:40Z davepdotorg joined #lisp 2020-08-31T09:51:14Z nicktick quit (Ping timeout: 256 seconds) 2020-08-31T10:00:05Z cosimone quit (Remote host closed the connection) 2020-08-31T10:03:05Z dmiles quit 2020-08-31T10:08:26Z yitzi quit (Read error: Connection reset by peer) 2020-08-31T10:10:11Z johnweldon quit (Read error: Connection reset by peer) 2020-08-31T10:10:30Z orivej quit (Ping timeout: 258 seconds) 2020-08-31T10:11:59Z jw4 joined #lisp 2020-08-31T10:15:54Z Hineios quit (Ping timeout: 245 seconds) 2020-08-31T10:20:24Z yitzi joined #lisp 2020-08-31T10:25:30Z mseddon joined #lisp 2020-08-31T10:27:55Z cosimone joined #lisp 2020-08-31T10:28:39Z gko`` left #lisp 2020-08-31T10:30:09Z gko` quit (Quit: ERC (IRC client for Emacs 27.1)) 2020-08-31T10:30:38Z gko joined #lisp 2020-08-31T10:31:07Z gko quit (Client Quit) 2020-08-31T10:31:14Z pve: Hello! If I try to do (defclass let () ()) then SBCL signals a package lock error. 2020-08-31T10:31:19Z phoe: yes 2020-08-31T10:31:25Z pve: But it will happily let me get away with (closer-mop::ensure-class 'let) 2020-08-31T10:31:34Z pve: is this expected behaviour? 2020-08-31T10:31:49Z phoe: both are UB 2020-08-31T10:31:53Z pve: oh 2020-08-31T10:32:07Z phoe: defining classes with names in CL package is UB 2020-08-31T10:33:03Z pve: so basically, anytime I use ensure-class I'm going to have to check that the symbol is not in CL? 2020-08-31T10:33:25Z phoe: 1) yes 2020-08-31T10:33:29Z phoe: 2) even better: file a SBCL bug 2020-08-31T10:33:43Z phoe: this should be a package lock violation. 2020-08-31T10:34:44Z pve: alright, thanks phoe 2020-08-31T10:34:57Z phoe: in particular, (sb-mop:ensure-class 'let) should signal the same error that (defclass let () ()) does 2020-08-31T10:35:04Z pve: yep 2020-08-31T10:36:22Z orivej joined #lisp 2020-08-31T10:37:45Z mseddon quit (Ping timeout: 240 seconds) 2020-08-31T10:40:37Z gko joined #lisp 2020-08-31T10:42:19Z holycow quit (Quit: Lost terminal) 2020-08-31T10:44:29Z Cymew joined #lisp 2020-08-31T10:45:06Z q-u-a-n2 quit (Read error: Connection reset by peer) 2020-08-31T10:45:24Z q-u-a-n2 joined #lisp 2020-08-31T10:47:07Z cosimone quit (Quit: Quit.) 2020-08-31T10:51:03Z yitzi quit (Quit: yitzi) 2020-08-31T10:53:13Z cosimone joined #lisp 2020-08-31T10:54:55Z orivej quit (Ping timeout: 240 seconds) 2020-08-31T10:56:40Z mangul quit (Quit: Leaving) 2020-08-31T10:59:25Z davepdotorg quit (Remote host closed the connection) 2020-08-31T10:59:45Z wxie joined #lisp 2020-08-31T11:00:54Z VincentVega quit (Remote host closed the connection) 2020-08-31T11:06:56Z orivej joined #lisp 2020-08-31T11:11:12Z dmiles joined #lisp 2020-08-31T11:14:01Z bitmapper quit (Ping timeout: 264 seconds) 2020-08-31T11:19:06Z shangul joined #lisp 2020-08-31T11:20:05Z jonatack quit (Ping timeout: 240 seconds) 2020-08-31T11:23:43Z shangul quit (Ping timeout: 258 seconds) 2020-08-31T11:24:07Z EvW joined #lisp 2020-08-31T11:24:25Z wxie quit (Ping timeout: 240 seconds) 2020-08-31T11:24:49Z libertyprime joined #lisp 2020-08-31T11:28:37Z scymtym_ quit (Remote host closed the connection) 2020-08-31T11:29:16Z iissaacc quit (Ping timeout: 256 seconds) 2020-08-31T11:30:59Z treflip quit (Quit: WeeChat 2.6) 2020-08-31T11:32:25Z scymtym joined #lisp 2020-08-31T11:32:26Z cosimone quit (Quit: Quit.) 2020-08-31T11:32:39Z paines quit (Remote host closed the connection) 2020-08-31T11:33:58Z davepdot_ joined #lisp 2020-08-31T11:36:41Z liberliver quit (Ping timeout: 244 seconds) 2020-08-31T11:45:14Z liberliver joined #lisp 2020-08-31T11:48:16Z p_l|shit1bp quit (Ping timeout: 265 seconds) 2020-08-31T11:53:05Z Alloc quit (Ping timeout: 240 seconds) 2020-08-31T11:53:59Z Alloc joined #lisp 2020-08-31T11:57:40Z davepdot_ quit (Remote host closed the connection) 2020-08-31T11:57:58Z davepdotorg joined #lisp 2020-08-31T11:58:44Z Alloc quit (Ping timeout: 256 seconds) 2020-08-31T12:02:37Z dddddd quit (Ping timeout: 264 seconds) 2020-08-31T12:04:04Z Archenoth joined #lisp 2020-08-31T12:07:25Z Necktwi quit (Ping timeout: 264 seconds) 2020-08-31T12:09:43Z wxie joined #lisp 2020-08-31T12:11:15Z cosimone joined #lisp 2020-08-31T12:13:12Z Necktwi joined #lisp 2020-08-31T12:13:54Z jonatack joined #lisp 2020-08-31T12:14:27Z davepdotorg quit (Remote host closed the connection) 2020-08-31T12:14:58Z davepdotorg joined #lisp 2020-08-31T12:18:48Z IPmonger joined #lisp 2020-08-31T12:19:01Z IPmonger quit (Remote host closed the connection) 2020-08-31T12:19:20Z Alloc joined #lisp 2020-08-31T12:22:35Z brj quit (Ping timeout: 265 seconds) 2020-08-31T12:23:22Z brj joined #lisp 2020-08-31T12:24:30Z p_l|shitmbp joined #lisp 2020-08-31T12:25:42Z gko_ joined #lisp 2020-08-31T12:27:00Z mseddon joined #lisp 2020-08-31T12:27:13Z dddddd joined #lisp 2020-08-31T12:27:50Z cosimone quit (Quit: Quit.) 2020-08-31T12:28:52Z cosimone joined #lisp 2020-08-31T12:29:12Z terpri quit (Ping timeout: 244 seconds) 2020-08-31T12:29:37Z davepdot_ joined #lisp 2020-08-31T12:31:05Z davepdotorg quit (Ping timeout: 240 seconds) 2020-08-31T12:36:16Z davepdot_ quit (Remote host closed the connection) 2020-08-31T12:36:28Z terpri joined #lisp 2020-08-31T12:37:29Z terpri quit (Remote host closed the connection) 2020-08-31T12:38:00Z terpri joined #lisp 2020-08-31T12:39:51Z davepdotorg joined #lisp 2020-08-31T12:40:24Z cosimone quit (Quit: Quit.) 2020-08-31T12:41:53Z Bike joined #lisp 2020-08-31T12:46:54Z wsinatra joined #lisp 2020-08-31T12:47:55Z hendursa1 quit (Quit: hendursa1) 2020-08-31T12:48:12Z hendursaga joined #lisp 2020-08-31T12:49:57Z narimiran joined #lisp 2020-08-31T12:54:55Z terpri quit (Ping timeout: 240 seconds) 2020-08-31T13:00:32Z aaaaaa joined #lisp 2020-08-31T13:01:27Z rat joined #lisp 2020-08-31T13:03:05Z cosimone joined #lisp 2020-08-31T13:17:27Z rat quit (Remote host closed the connection) 2020-08-31T13:19:16Z X-Scale` joined #lisp 2020-08-31T13:19:47Z X-Scale quit (Ping timeout: 240 seconds) 2020-08-31T13:19:50Z X-Scale` is now known as X-Scale 2020-08-31T13:24:22Z phoe: pve: have you created the ticket? 2020-08-31T13:25:46Z cosimone quit (Quit: Quit.) 2020-08-31T13:27:51Z cosimone joined #lisp 2020-08-31T13:28:12Z pve: phoe: no, I haven't 2020-08-31T13:29:14Z phoe: OK; just asking in case it gets forgotten or something 2020-08-31T13:31:10Z Alloc quit (Ping timeout: 256 seconds) 2020-08-31T13:31:13Z brj quit (Ping timeout: 265 seconds) 2020-08-31T13:32:51Z brj joined #lisp 2020-08-31T13:32:56Z pve: I wrote it down, hopefully I won't forget.. I don't think I've ever reported something to SBCL, so I need to familiarize myself with their process 2020-08-31T13:33:38Z rat joined #lisp 2020-08-31T13:33:40Z beach: I think that shows how screwy the concept of "package locks" is. 2020-08-31T13:33:57Z yitzi joined #lisp 2020-08-31T13:35:24Z phoe: beach: obviously it is, but that's the best we have at the moment 2020-08-31T13:35:41Z phoe: pve: I can report it if that's a hassle for you, and credit you there 2020-08-31T13:37:27Z pve: phoe: It's a minor hassle, but I guess I should learn anyway 2020-08-31T13:40:11Z brj quit (Ping timeout: 258 seconds) 2020-08-31T13:42:21Z brj joined #lisp 2020-08-31T13:42:25Z luna_is_here quit (Ping timeout: 240 seconds) 2020-08-31T13:43:19Z luna_is_here joined #lisp 2020-08-31T13:48:10Z rat quit (Remote host closed the connection) 2020-08-31T13:53:59Z orivej quit (Ping timeout: 258 seconds) 2020-08-31T13:58:16Z nicktick joined #lisp 2020-08-31T14:01:05Z wxie quit (Ping timeout: 240 seconds) 2020-08-31T14:01:42Z ljavorsk quit (Ping timeout: 256 seconds) 2020-08-31T14:03:09Z theseb quit (Quit: Leaving) 2020-08-31T14:04:28Z rumbler31_ joined #lisp 2020-08-31T14:04:55Z EvW quit (Ping timeout: 240 seconds) 2020-08-31T14:06:39Z sjl_ joined #lisp 2020-08-31T14:09:18Z ggoes quit (Ping timeout: 256 seconds) 2020-08-31T14:10:16Z Necktwi quit (Ping timeout: 256 seconds) 2020-08-31T14:12:45Z Cymew quit (Ping timeout: 240 seconds) 2020-08-31T14:14:10Z natter quit (Disconnected by services) 2020-08-31T14:14:18Z natter joined #lisp 2020-08-31T14:21:00Z Necktwi joined #lisp 2020-08-31T14:31:35Z Krystof: pve: either create a launchpad account and open a ticket there, or send mail to sbcl-bugs@lists.sourceforge.net (the list is moderated, so it might take a while for your mail to show up) 2020-08-31T14:31:55Z Krystof: (I'm not sure how an implementation defect shows that the concept of package locks is screwy) 2020-08-31T14:33:35Z beach: In my opinion, since it is not about locking a package, but about locking certain aspects of the environment, then if it were implemented like that, any attempt to define a class with that name would fail, no matter which other module made that attempt. 2020-08-31T14:34:50Z beach: (defmethod (setf clostrum:find-package) :before (client environment name) (when (error ...))) 2020-08-31T14:34:55Z beach: Something like that. 2020-08-31T14:36:59Z Krystof: hm 2020-08-31T14:37:31Z r3x5 quit (*.net *.split) 2020-08-31T14:37:31Z samebchase- quit (*.net *.split) 2020-08-31T14:37:31Z cdegroot quit (*.net *.split) 2020-08-31T14:37:31Z kingcons quit (*.net *.split) 2020-08-31T14:37:31Z mood quit (*.net *.split) 2020-08-31T14:37:33Z _death: but where do you test that it's a class that's being associated with the symbol? 2020-08-31T14:37:41Z mood joined #lisp 2020-08-31T14:37:42Z Krystof: I think that the desire to keep packages safe from accidental name collision is more general, although I grant that modern style is to :use CL and nothing else 2020-08-31T14:37:50Z kingcons joined #lisp 2020-08-31T14:37:51Z r3x5 joined #lisp 2020-08-31T14:37:53Z beach: Oops, i meant FIND-CLASS. 2020-08-31T14:37:58Z beach: Not FIND-PACKAGE. 2020-08-31T14:38:00Z beach: *sigh* 2020-08-31T14:38:53Z beach: (defmethod (setf clostrum:find-class) :before (client environment name) (when (error ...))) 2020-08-31T14:38:59Z Krystof: for me the use of package locks is to say that just because we are using CL, which has the symbol CAR in it, doesn't mean that we should be able to accidentally make a CL:CAR class that all other users of the CL package would be able to see 2020-08-31T14:39:17Z Krystof: and this generalizes to "just because we are using VEHICLES, which has the symbol BUS in it..." 2020-08-31T14:40:08Z Krystof: so it is in my mind about keeping the set of definitions accessible through collection-of-symbols (package) static 2020-08-31T14:40:15Z cdegroot joined #lisp 2020-08-31T14:40:34Z Krystof: the fact that this allows enforcement of CLHS 11.1.2.1.2 is a bonus 2020-08-31T14:40:48Z beach: I think that is what my attempted method was meant to do. 2020-08-31T14:40:55Z samebchase-4 joined #lisp 2020-08-31T14:40:57Z frgo quit (Read error: Connection reset by peer) 2020-08-31T14:41:00Z beach: Oh, I see what you are saying. 2020-08-31T14:41:10Z samebchase-4 is now known as samebchase- 2020-08-31T14:41:11Z frgo joined #lisp 2020-08-31T14:41:39Z beach: I view it more as a restriction on an environment. 2020-08-31T14:41:56Z _death: that prevents them from making a cl:car class using CLOS, but not from making a cl:car class using MYOS ;) 2020-08-31T14:42:28Z Krystof: it's true that we don't have a good story for allowing new namespaces to be protected in the same way 2020-08-31T14:42:31Z phoe: time to add first-class namespaces to the next version of the Common Lisp standard 2020-08-31T14:43:33Z Krystof: we do export PACKAGE-LOCKED-P so users can if they choose implement lock semantics for their defining / binding forms 2020-08-31T14:43:39Z beach: No need. It can be done transparently. 2020-08-31T14:43:41Z Krystof: I suspect it's not trivial 2020-08-31T14:43:53Z beach: phoe: No need. It can be done transparently. 2020-08-31T14:44:12Z phoe: beach: I know, I was kidding 2020-08-31T14:44:14Z phoe: https://github.com/guicho271828/lisp-namespace does so 2020-08-31T14:45:10Z Bourne quit (Ping timeout: 265 seconds) 2020-08-31T14:45:10Z ebrasca joined #lisp 2020-08-31T14:45:12Z yonkunas joined #lisp 2020-08-31T14:45:30Z beach: Krystof: If it is a package lock as you describe it, how come it is allowed to define lexical variables with the same names as in the package, but not lexical functions? Would that be the same for the vehicle/bus example? 2020-08-31T14:45:42Z beach: And if so, what is the justification for that? 2020-08-31T14:46:12Z Xach: surely you have memorized 11.1.2.1.2 already 2020-08-31T14:46:16Z Krystof: a lexical variable with the same name as a function in the package is allowed, because its effect is completely local 2020-08-31T14:46:28Z Krystof: it cannot influence or be influenced by the outside 2020-08-31T14:46:49Z _death: Krystof: maybe it could have a purpose argument (and symbol-locked-p or even name-locked-p for more granular control) 2020-08-31T14:46:53Z Krystof: a lexical function with the same name as a function in the package is not allowed, because it might interfere in surprising ways with macros expanding to calls to that function 2020-08-31T14:47:20Z Krystof: Xach: I didn't have to look up the section number :-0 2020-08-31T14:47:21Z _death: but that's likely overkill 2020-08-31T14:47:54Z Krystof: similarly, a lexical function with the same name as a constant in the package is allowed, because it can't interfere in surprising ways 2020-08-31T14:48:04Z beach: Krystof: I know that to be the case for the Common Lisp package, but is it really that general a rule that it must apply to user-defined packages as well? 2020-08-31T14:48:21Z rat joined #lisp 2020-08-31T14:48:43Z Krystof: I think it's true in general, for anything that might be :USEd 2020-08-31T14:49:11Z jackdaniel: consistency with the cl package lock would be also less surprising 2020-08-31T14:49:19Z beach: That's an interesting point of view, since I am of the opinion that only the CL package should ever be :USEd. 2020-08-31T14:49:21Z Krystof: if you make sure that you don't break the rules, you can combine :USEd code arbitrarily 2020-08-31T14:49:50Z Krystof: right, we implemented package locks a while ago (2004? 2005?) when the style was to :USE more stuff than just CL 2020-08-31T14:50:06Z beach: Interesting. 2020-08-31T14:50:20Z _death: I would say :use is ok for CL + packages you control 2020-08-31T14:50:24Z phoe: beach: unless you're writing code that, for whatever reason, provides its own package to be used over the CL package 2020-08-31T14:50:50Z phoe: for instance, Qtools does that to introduce its own SETF stuff that integrates with dynamically created Qt functions. 2020-08-31T14:51:22Z phoe: but that's an edge case of a framework that bends standard CL to some of its portable limits 2020-08-31T14:52:01Z jackdaniel: there is a question of a good style and a question of what the language allows; the language "doesn't care" what the programmer assumes to be a good style 2020-08-31T14:52:25Z vaporatorius__ quit (Ping timeout: 240 seconds) 2020-08-31T14:52:26Z jackdaniel: except for maybe style warnings :-) 2020-08-31T14:54:29Z Alloc joined #lisp 2020-08-31T14:55:59Z _death: I guess in some settings it's possible to lose control of a package at some point, or lose track of the :use-ing package.. then the more conservative CL-only rule would make sense.. 2020-08-31T14:57:42Z bsd4me joined #lisp 2020-08-31T14:57:56Z bsd4me left #lisp 2020-08-31T14:57:58Z jackdaniel: I like the rule and use it myself (especially that we have package-local nicknames); the point being made is that imo language extensions (like package locks) should not have opinions about the style 2020-08-31T14:59:05Z _death: jackdaniel: but style is relevant to how useful package locks is 2020-08-31T14:59:37Z rat left #lisp 2020-08-31T15:00:29Z jackdaniel: sure; both statements does not contradict each other 2020-08-31T15:00:31Z phoe: package locks are completely style-agnostic though, all they do is protect symbols inside a pacakge from having their definitions changed 2020-08-31T15:00:36Z _death: if I qualify all non-CL symbols or make myself well aware that I import them, then package locks become less useful 2020-08-31T15:00:53Z jackdaniel: there was an interesting piece comparing clojure and cl about that "cl is an unopinionated language", but I don't remember where I've read it 2020-08-31T15:01:13Z phoe: it's purely accidental that :USEing packages makes it easier for people to accidentally define stuff on top of symbols that they don't really want to define them on. 2020-08-31T15:01:18Z scymtym: even when only CL is :USEd, bad things can happen easily in some cases. a problem i have seen in practice is multiple libraries defining (esrap:defrule string …) 2020-08-31T15:01:41Z jackdaniel: makes sense, string is a string ;_) 2020-08-31T15:01:47Z _death: scymtym: yes, I did not mean to say that it becomes useless :) 2020-08-31T15:02:20Z _death: scymtym: only, that in the general case (think vehicles/bus) it becomes less useful 2020-08-31T15:02:51Z scymtym: _death: sure, i'm just mentioning this case as an example of the extensibility requirement Krystof mentioned earlier 2020-08-31T15:03:44Z scymtym: maybe not "just", but "also" 2020-08-31T15:04:06Z phoe: and the point that beach made earlier, that such a thing can be done on top of CL, is defeated easily by just one library deciding to *not* use package locks inside its DEFINE-FOO macros 2020-08-31T15:04:56Z phoe: and esrap adding package locks atop CL symbols would now likely break tons of code, too 2020-08-31T15:05:04Z _death: scymtym: maybe defrule could warn on CL symbols 2020-08-31T15:05:24Z phoe: _death: ASDF promotes warnings to errors, so breakage will happen nonetheless 2020-08-31T15:06:02Z _death: phoe: I don't consider asdf to have a say on how I write my programs :) 2020-08-31T15:06:14Z phoe: neither do I, but e.g. Xach does 2020-08-31T15:06:21Z scymtym: _death: i have thought about that as well 2020-08-31T15:06:47Z Xach: i won't say anything 2020-08-31T15:06:49Z jackdaniel: warning: symbol's home package is not eq to *package* 2020-08-31T15:07:52Z phoe: jackdaniel: that would work in most cases, unless someone explicitly decides to go (esrap:defrule my-system.esrap-rules:foo ...) for whatever reason 2020-08-31T15:08:09Z phoe: all in all, that would be a mostly okay heuristic though 2020-08-31T15:09:00Z _death: phoe: does asdf promotes all warnings to errors? 2020-08-31T15:09:13Z _death: phoe: that would surprise me 2020-08-31T15:09:29Z phoe: _death: AFAIK all compile-time warnings other than style-warnings 2020-08-31T15:09:36Z phoe: but let me verify 2020-08-31T15:09:44Z Bike: that's how compile-file is defined, tho 2020-08-31T15:09:45Z heisig quit (Quit: Leaving) 2020-08-31T15:10:11Z jackdaniel: asdf has a flag for that 2020-08-31T15:10:50Z _death: phoe: it could make sense to have (defrule string ...) be a style warning.. 2020-08-31T15:11:40Z jesse1010 joined #lisp 2020-08-31T15:12:11Z phoe: jackdaniel: oh! thanks 2020-08-31T15:12:43Z phoe: stuffing (eval-when (:compile-toplevel :load-toplevel :execute) (warn "haha")) into phoe-toolbox.lisp and then (asdf:load-system :phoe-toolbox :force t) causes an error, but quickloading phoe-toolbox doesn't 2020-08-31T15:13:33Z _death: quickload muffles warnings.. well known issue 2020-08-31T15:18:55Z liberliver quit (Ping timeout: 240 seconds) 2020-08-31T15:19:20Z treflip joined #lisp 2020-08-31T15:21:27Z mokulus joined #lisp 2020-08-31T15:21:50Z Necktwi quit (Ping timeout: 256 seconds) 2020-08-31T15:27:29Z orivej joined #lisp 2020-08-31T15:28:22Z pve: Krystof: thanks for the info, I'll check it out 2020-08-31T15:28:26Z terpri joined #lisp 2020-08-31T15:29:10Z josemanuel quit (Ping timeout: 246 seconds) 2020-08-31T15:31:01Z josemanuel joined #lisp 2020-08-31T15:35:04Z kapilp quit (Quit: ZNC 1.7.5 - https://znc.in) 2020-08-31T15:35:33Z kapil_ joined #lisp 2020-08-31T15:38:58Z gko_ quit (Ping timeout: 246 seconds) 2020-08-31T15:40:56Z simendsjo joined #lisp 2020-08-31T15:52:17Z Necktwi joined #lisp 2020-08-31T15:53:27Z cg505 quit (Quit: ZNC 1.7.2+deb3 - https://znc.in) 2020-08-31T15:54:37Z dominic34 joined #lisp 2020-08-31T15:55:22Z cg505 joined #lisp 2020-08-31T15:57:23Z dominic35 joined #lisp 2020-08-31T15:58:32Z davepdot_ joined #lisp 2020-08-31T15:58:53Z dominic34 quit (Ping timeout: 260 seconds) 2020-08-31T15:58:54Z dominic35 is now known as dominic34 2020-08-31T15:59:13Z rippa joined #lisp 2020-08-31T16:01:45Z davepdotorg quit (Ping timeout: 240 seconds) 2020-08-31T16:05:07Z davepdot_ quit (Remote host closed the connection) 2020-08-31T16:11:12Z liberliver joined #lisp 2020-08-31T16:19:39Z yitzi quit (Quit: yitzi) 2020-08-31T16:20:16Z yitzi joined #lisp 2020-08-31T16:23:37Z orivej quit (Quit: orivej) 2020-08-31T16:25:01Z orivej joined #lisp 2020-08-31T16:29:48Z orivej quit (Ping timeout: 260 seconds) 2020-08-31T16:33:10Z mseddon_ joined #lisp 2020-08-31T16:35:30Z mseddon quit (Ping timeout: 256 seconds) 2020-08-31T16:38:17Z Bourne joined #lisp 2020-08-31T16:41:47Z Josh_2 joined #lisp 2020-08-31T16:42:16Z Josh_2: Afternoon 2020-08-31T16:44:19Z davepdotorg joined #lisp 2020-08-31T16:45:31Z bitmapper joined #lisp 2020-08-31T16:47:03Z Lord_of_Life_ joined #lisp 2020-08-31T16:49:25Z davepdotorg quit (Ping timeout: 240 seconds) 2020-08-31T16:49:26Z Lord_of_Life quit (Ping timeout: 240 seconds) 2020-08-31T16:49:53Z Lord_of_Life_ is now known as Lord_of_Life 2020-08-31T16:53:26Z mseddon_ is now known as mseddon 2020-08-31T16:53:31Z mseddon quit (Quit: Leaving) 2020-08-31T16:53:49Z mseddon joined #lisp 2020-08-31T16:59:34Z thawes joined #lisp 2020-08-31T16:59:45Z thawes quit (Client Quit) 2020-08-31T17:09:16Z treflip: Hello! Could you recommend me a library for POS-tagging or English sentences that don't requires a lot of configuration? 2020-08-31T17:14:15Z _death: ouch.. screamer's defun may redefine callers, but does not declaim the function notinline, so sbcl warns about redefinition in the same file when loading screamer-plus (3.2.2.3) 2020-08-31T17:16:57Z davepdotorg joined #lisp 2020-08-31T17:18:02Z orivej joined #lisp 2020-08-31T17:18:12Z liberliver quit (Ping timeout: 260 seconds) 2020-08-31T17:20:10Z frgo quit 2020-08-31T17:21:18Z davepdotorg quit (Ping timeout: 244 seconds) 2020-08-31T17:23:23Z _death: and notinline does not seem to have an effect.. 2020-08-31T17:24:01Z _death: "A call within a file to a named function that is defined in the same file refers to that function, unless that function has been declared notinline. The consequences are unspecified if functions are redefined individually at run time or multiply defined in the same file." 2020-08-31T17:25:08Z Bourne quit (Ping timeout: 256 seconds) 2020-08-31T17:25:36Z rogersm quit (Quit: Leaving...) 2020-08-31T17:25:40Z jw4 quit (Quit: tot siens) 2020-08-31T17:26:03Z frgo joined #lisp 2020-08-31T17:27:42Z jw4 joined #lisp 2020-08-31T17:28:02Z rumbler31_ quit (Ping timeout: 256 seconds) 2020-08-31T17:32:04Z ueta quit (Quit: WeeChat 2.3) 2020-08-31T17:33:33Z rogersm joined #lisp 2020-08-31T17:33:47Z rumbler31 joined #lisp 2020-08-31T17:34:00Z mseddon: treflip I couldn't actually recommend a POS tagger for lisp, but if I could, I'd need more information on what you would consider an acceptable POS tagger. 2020-08-31T17:34:15Z _death: so I guess screamer should (i) declaim notinline (ii) muffle redefinition warnings.. though the bulletpoint doesn't say what to do in the case of notinline, and it seems to me that users and implementors conspire to make things "work" beyond the standard here 2020-08-31T17:34:48Z mseddon: treflip, a POS tagger is not a black box. Or at least, ought not to be. 2020-08-31T17:36:17Z mseddon: treflip, if you accept verbatim the most probably tag, you are automatically looking at a very high failure rate on most sentences. POS tagging accuracy looks great at the word level, it utterly sucks at the sentence level, since a single failure will derail the parse permanently unless you receive multiple possibilities, and are willing to backtrack. 2020-08-31T17:36:25Z mseddon: probable* 2020-08-31T17:38:35Z mseddon: (obviously you can not backtrack and enjoy the luxury of a chart parsing (lazy) approach, but yes.) 2020-08-31T17:39:10Z mseddon: treflip, what is your use case, in particular? 2020-08-31T17:39:16Z treflip: mseddon: Thanks. I know very little about NLP, so I wasn't aware of these issues. I guess, I need to formulate my task more preсisely. 2020-08-31T17:40:01Z mseddon: treflip, sure, it is no problem. I cannot speak for CL in this particular area, but I suggest looking at Java/CL interop, and looking at e.g. bridging to Stanford Universities work. 2020-08-31T17:40:01Z treflip: mseddon: I'm trying to write a simple command shell that will interpret commands in the form of natural sentences. 2020-08-31T17:40:34Z mseddon: treflip, oh boy. May I suggest for fun, you google "semantic grammars" and see if that works for you? Far easier to get started, and plenty of fun to be had. 2020-08-31T17:41:00Z koyamasama joined #lisp 2020-08-31T17:41:18Z _death: you can also check https://github.com/vseloved/cl-nlp/ 2020-08-31T17:41:20Z koyamasama quit (Client Quit) 2020-08-31T17:41:28Z mseddon: _death, aha, thanks! 2020-08-31T17:41:57Z jackdaniel: or look into eliza implementation |) 2020-08-31T17:42:03Z jackdaniel: minion: tell me something interesting. 2020-08-31T17:42:05Z minion: jackdaniel: you speak nonsense 2020-08-31T17:42:11Z mseddon: jackdaniel, holy shit, bash + eliza. that is terrifying :D 2020-08-31T17:43:24Z mseddon: treflip, I also heartily recommend "Natural Language Understanding" by James Allen. 1994. 2020-08-31T17:43:25Z treflip: mseddon: Ok, thanks. Maybe it's what I'm looking for :<) 2020-08-31T17:43:54Z mseddon: treflip, It really goes into the detail of it. Throwing linear algebra at the problem is a poor approximation of what is needed in this area. 2020-08-31T17:44:09Z treflip: jackdaniel: At this moment I'm using trivia.ppcre to match input with patterns, so it's very similar to ELIZA :<) 2020-08-31T17:44:18Z mseddon: sadface. 2020-08-31T17:44:55Z treflip: mseddon: I think it might be too hard for me :<) 2020-08-31T17:45:17Z treflip: But I'll have a look. 2020-08-31T17:45:24Z mseddon: I must /away now, but definitely check out that book. It's aimed at beginners, although there are a few gotchas. I am happy to answer questions on it if you PM me later. 2020-08-31T17:45:32Z jackdaniel: I know! devise some mnemonics and remember them, then define this natural-language-like commands in the program 2020-08-31T17:45:36Z jackdaniel: i.e ls could be for listing 2020-08-31T17:46:02Z mseddon: jackdaniel, you may almost be solving it correctly, but you're ruining the fun. :) 2020-08-31T17:46:39Z jackdaniel: my solution has one shining benefit: it requires no development ,) 2020-08-31T17:49:21Z davepdotorg joined #lisp 2020-08-31T17:54:24Z bsd4me joined #lisp 2020-08-31T17:55:11Z bsd4me quit (Remote host closed the connection) 2020-08-31T17:55:19Z rogersm quit (Quit: Leaving...) 2020-08-31T17:55:36Z bsd4me joined #lisp 2020-08-31T18:01:12Z rumbler31 quit (Remote host closed the connection) 2020-08-31T18:01:58Z liberliver joined #lisp 2020-08-31T18:03:10Z nicktick quit (Ping timeout: 256 seconds) 2020-08-31T18:03:11Z frgo quit (Remote host closed the connection) 2020-08-31T18:05:49Z vaporatorius joined #lisp 2020-08-31T18:05:49Z vaporatorius quit (Changing host) 2020-08-31T18:05:49Z vaporatorius joined #lisp 2020-08-31T18:07:47Z frgo joined #lisp 2020-08-31T18:13:55Z davepdotorg quit (Ping timeout: 244 seconds) 2020-08-31T18:25:46Z mseddon: jackdaniel, :P 2020-08-31T18:25:53Z mseddon quit (Read error: Connection reset by peer) 2020-08-31T18:29:44Z bocaneri quit (Ping timeout: 256 seconds) 2020-08-31T18:31:05Z yitzi quit (Quit: yitzi) 2020-08-31T18:32:31Z dominic34 quit (Ping timeout: 244 seconds) 2020-08-31T18:33:21Z ggoes joined #lisp 2020-08-31T18:34:11Z izh_ joined #lisp 2020-08-31T18:40:14Z liberliver quit (Quit: liberliver) 2020-08-31T18:48:31Z rogersm joined #lisp 2020-08-31T18:50:44Z rogersm quit (Client Quit) 2020-08-31T18:52:45Z treflip quit (Quit: WeeChat 2.6) 2020-08-31T18:54:17Z Inline joined #lisp 2020-08-31T18:58:31Z davepdotorg joined #lisp 2020-08-31T18:58:38Z cosimone quit (Quit: Quit.) 2020-08-31T18:59:56Z EvW1 joined #lisp 2020-08-31T19:01:28Z ebrasca quit (Read error: Connection reset by peer) 2020-08-31T19:01:43Z ebrasca joined #lisp 2020-08-31T19:02:55Z davepdotorg quit (Ping timeout: 240 seconds) 2020-08-31T19:02:58Z Lycurgus joined #lisp 2020-08-31T19:05:04Z Bourne joined #lisp 2020-08-31T19:08:02Z rumbler31 joined #lisp 2020-08-31T19:08:32Z rumbler31 quit (Remote host closed the connection) 2020-08-31T19:20:30Z Jesin quit (Quit: Leaving) 2020-08-31T19:25:16Z puchacz joined #lisp 2020-08-31T19:25:36Z puchacz: hi, is it legal to have NIL as a hash table key? I cannot figure out from clhs 2020-08-31T19:26:00Z _death: sure it is.. that's why gethash returns two values 2020-08-31T19:26:11Z puchacz: _death - as a key, not value 2020-08-31T19:26:22Z _death: er, as key.. right.. still, yes 2020-08-31T19:26:43Z puchacz: how do you know :) ? 2020-08-31T19:26:51Z _death: key---an object. 2020-08-31T19:26:56Z puchacz: I mean it works, but it may be an accident 2020-08-31T19:27:16Z _death: there is no restriction on the key 2020-08-31T19:27:26Z puchacz: ok, tks 2020-08-31T19:28:47Z _death: btw the example in the gethash entry has (setf (gethash nil table) nil) 2020-08-31T19:28:51Z rumbler31_ joined #lisp 2020-08-31T19:29:27Z puchacz: ah, ok, I was looking at http://clhs.lisp.se/Body/f_mk_has.htm 2020-08-31T19:30:04Z _death: what made you ask this question? 2020-08-31T19:30:35Z puchacz: I wanted a fast equivalent of remove-duplicates 2020-08-31T19:31:12Z puchacz: with hash-table 2020-08-31T19:31:15Z puchacz: inside 2020-08-31T19:32:32Z bilegeek joined #lisp 2020-08-31T19:32:39Z shka_: puchacz: gotta write it yourself if you want to keep it portable 2020-08-31T19:33:44Z puchacz: shka_: write what? remove duplicates with hash-table inside? 2020-08-31T19:33:50Z shka_: yes 2020-08-31T19:34:20Z shka_: now i realize that you came to this conclusion already 2020-08-31T19:34:32Z puchacz: :) 2020-08-31T19:34:50Z davepdot_ joined #lisp 2020-08-31T19:34:58Z puchacz: I just called it remove-duplicates/hash in case the original has some subtle semantics I did not replicate 2020-08-31T19:35:12Z aeth: Yes, there is no restriction on the key... but the equality test might not be useful for the key you want to use. It will be for NIL, though. 2020-08-31T19:35:13Z puchacz: but I have key and test arguments all right 2020-08-31T19:35:14Z shka_: well, it preserve order of elements 2020-08-31T19:35:49Z shka_: which may or may not be important 2020-08-31T19:36:22Z puchacz: yes, I preserve order as well. and I realise it works only for eq, eql, equal, equalp as test, because it uses standard hash function with these tests 2020-08-31T19:36:36Z shka_: that is correct 2020-08-31T19:37:40Z puchacz: so it is good I did not give it a name remove-duplicates, because it is not exactly the same thing 2020-08-31T19:38:00Z shka_: yeah 2020-08-31T19:39:24Z shka_: well, i was to late to help 2020-08-31T19:39:41Z puchacz: thanks all of you 2020-08-31T19:39:57Z puchacz: all 3 2020-08-31T19:40:06Z davepdot_ quit (Ping timeout: 244 seconds) 2020-08-31T19:40:20Z pve: Hi, I'm trying to solve a problem, and my first attempt uses metaclasses, but I'm seeing some slow-down as the number of metaclasses increases 2020-08-31T19:40:35Z pve: Here is a reduced example: 2020-08-31T19:40:38Z pve: https://plaster.tymoon.eu/view/2040 2020-08-31T19:40:38Z shka_: pve: i wonder what kind of problem you are trying to solve 2020-08-31T19:40:46Z pve: Am I doing something wrong? 2020-08-31T19:41:08Z narimiran quit (Ping timeout: 256 seconds) 2020-08-31T19:41:53Z shka_: pve: sbcl? 2020-08-31T19:41:57Z cosimone joined #lisp 2020-08-31T19:41:59Z pve: shka_: yes 2020-08-31T19:42:17Z shka_: ok, so i think that this is because ensure-method in the loop 2020-08-31T19:42:17Z edgar-rft quit (Quit: Leaving) 2020-08-31T19:42:17Z pve: doubling the number of classes leads to a 10x increase in adding methods to validate-superclass 2020-08-31T19:42:30Z shka_: which is about to be expected 2020-08-31T19:43:16Z shka_: however, maybe we can solve your problem using an alternative approach 2020-08-31T19:43:18Z shka_: ? 2020-08-31T19:44:46Z pve: shka_: so 10x increase is expected? can you dumb it down for me? 2020-08-31T19:45:28Z shka_: well, i don't know why, but that's how sbcl works 2020-08-31T19:45:36Z shka_: something in the implementation 2020-08-31T19:45:50Z shka_: i guess ensure-method was not considered to be performance critical 2020-08-31T19:46:02Z shka_: and usually it is not 2020-08-31T19:46:06Z pve: for validate-superclass specifically or any gf? 2020-08-31T19:46:44Z shka_: i would want to say any gf 2020-08-31T19:48:00Z pve: huh, well that sucks for me 2020-08-31T19:48:11Z shka_: well, do you want to discuss alternative approach or you have this all figured out? 2020-08-31T19:48:52Z pve: I'm writing a smalltalk-like language and want to implement the metaclasses, so naturally I decided to see they can map directly to CLOS metaclasses 2020-08-31T19:49:00Z flazh1 quit (Quit: flazh1) 2020-08-31T19:49:09Z shka_: oh i see 2020-08-31T19:49:23Z pve: yeah, no I'm pretty sure I don't have anything figured out :) 2020-08-31T19:50:11Z shka_: well, do you want to use generic functions to implement smalltalk message passing? 2020-08-31T19:50:28Z pve: that's how it works now 2020-08-31T19:51:20Z shka_: ok, i am asking because if not, you can sidestep the whole issue be making smalltalk metaclasses just a normal lisp classes 2020-08-31T19:51:37Z shka_: and don't go to CL MOP at all 2020-08-31T19:51:43Z pve: yes, I considered that, but haven't tried it yet 2020-08-31T19:51:58Z shka_: ok, just putting this out 2020-08-31T19:53:16Z shka_: anyway, i am not fluent in smalltalk, but why ensure-method is critical in that case? 2020-08-31T19:53:42Z _death: pve: maybe try defining a supermetaclass and one validate-superclass method for it? 2020-08-31T19:54:51Z pve: shka_: I mean everything was working fine, then I tried adding the metaclasses and everything slowed down to a crawl 2020-08-31T19:55:08Z shka_: right, but why do you need so many metaclasses to begin with? 2020-08-31T19:55:55Z pve: I don't know if I *need* them, but in smalltalk, whenever a class is defined, a metaclass is also defined 2020-08-31T19:56:13Z shka_: wow 2020-08-31T19:56:21Z shka_: i had no idea 2020-08-31T19:56:44Z shka_: care to hint why? 2020-08-31T19:56:59Z shka_: as is: what is the rational behind this design 2020-08-31T19:57:26Z pve: because objects are instantiated by sending messages to the class objects 2020-08-31T19:58:08Z pve: _death: I'm not sure I understand, but I will ponder it 2020-08-31T19:58:33Z shka_: ok, but in lisp you are just creating separate instance of the metaclass to represent the class 2020-08-31T19:59:03Z _death: pve: (defclass smalltalk-class (standard-class) ()) (defmethod validate-superclass ...) then for the metaclasses, (ensure-class ... :direct-superclasses (list (find-class 'smalltalk-class))) 2020-08-31T19:59:04Z p_l: shka_: iirc, in smalltalk model, every new Class definition is a new instance of metaclass, which if you squint right is similar to MOP 2020-08-31T19:59:26Z shka_: p_l: that is what makes sense to me 2020-08-31T19:59:45Z shka_: pve: you sure you got it right? 2020-08-31T19:59:54Z p_l: shka_: Ruby reuses the model iirc 2020-08-31T20:00:28Z shka_: p_l: well, creating instance of metaclass instead of the subclass of the metaclass seems to be the obvious way to do so 2020-08-31T20:00:37Z shka_: so i am not surprised 2020-08-31T20:01:35Z pve: shka_: all I need is for the inheritance to work for class objects also 2020-08-31T20:02:45Z pve: right now class messages dispatch on (eql (find-class 'foo)), which doesn't really give me that 2020-08-31T20:03:27Z shka_: ok, give me a second to wrap my brain around this 2020-08-31T20:03:59Z pve: so if a class Foo responds to [ Foo new: size ] then subclasses of Foo should also 2020-08-31T20:05:11Z shka_: ok, so the class object contains everything needed to construct the new instance 2020-08-31T20:05:49Z shka_: question arise then, why do you need dispatch on the specific instance, if slots in the class objects contain effective slot definition and stuff 2020-08-31T20:05:54Z shka_: ? 2020-08-31T20:06:14Z shka_: that should be enough to initialize the new object, right? 2020-08-31T20:08:15Z shka_: pve: i need to get some sleep, a terrible storm didn't let me sleep the last night 2020-08-31T20:08:37Z pve: shka_: no problem, and thanks 2020-08-31T20:08:46Z shka_: also, i am not understanding your problem, apparently 2020-08-31T20:10:15Z scymtym quit (Ping timeout: 244 seconds) 2020-08-31T20:10:16Z pve: Having the metaclasses be standard-objects too might work, but naturally I'd like for (class-of (find-class 'foo)) to return the metaclass, and not standard-class 2020-08-31T20:10:36Z shka_: yeah, i don't get it 2020-08-31T20:10:57Z shka_: good night :-) 2020-08-31T20:11:02Z pve: sleep well 2020-08-31T20:11:07Z shka_: thanks 2020-08-31T20:12:24Z izh_ quit (Quit: Leaving) 2020-08-31T20:13:07Z Lycurgus quit (Quit: Exeunt) 2020-08-31T20:13:07Z pve: _death: I will try that 2020-08-31T20:14:03Z bsd4me left #lisp 2020-08-31T20:15:12Z puchacz quit (Remote host closed the connection) 2020-08-31T20:15:53Z pve: or hmm, I'm not sure that will make the inheritance work.. but it's indeed getting a bit too late for me to think about these things 2020-08-31T20:20:50Z flazh joined #lisp 2020-08-31T20:21:47Z dominic34 joined #lisp 2020-08-31T20:21:48Z dominic34 quit (Excess Flood) 2020-08-31T20:21:58Z dominic34 joined #lisp 2020-08-31T20:22:17Z yitzi joined #lisp 2020-08-31T20:22:25Z scymtym joined #lisp 2020-08-31T20:26:34Z wsinatra quit (Quit: WeeChat 2.9) 2020-08-31T20:46:18Z davepdotorg joined #lisp 2020-08-31T20:48:20Z zaquest quit (Read error: Connection reset by peer) 2020-08-31T20:48:46Z zaquest joined #lisp 2020-08-31T20:50:55Z rumbler31_ quit (Ping timeout: 240 seconds) 2020-08-31T20:51:51Z davepdotorg quit (Ping timeout: 272 seconds) 2020-08-31T20:59:47Z choegusung joined #lisp 2020-08-31T21:03:55Z Inline quit (Remote host closed the connection) 2020-08-31T21:04:57Z hendursaga quit (Remote host closed the connection) 2020-08-31T21:05:38Z gravicappa quit (Ping timeout: 256 seconds) 2020-08-31T21:05:55Z hendursaga joined #lisp 2020-08-31T21:06:12Z arbv quit (Quit: ZNC - https://znc.in) 2020-08-31T21:07:54Z Inline joined #lisp 2020-08-31T21:15:27Z choegusung quit (Quit: leaving) 2020-08-31T21:17:38Z random-nick quit (Ping timeout: 265 seconds) 2020-08-31T21:19:04Z todun joined #lisp 2020-08-31T21:19:31Z josemanuel quit (Quit: leaving) 2020-08-31T21:20:55Z arbv joined #lisp 2020-08-31T21:21:19Z secretmyth joined #lisp 2020-08-31T21:26:11Z davepdotorg joined #lisp 2020-08-31T21:28:45Z ggole quit (Quit: Leaving) 2020-08-31T21:31:45Z davepdotorg quit (Ping timeout: 272 seconds) 2020-08-31T21:32:29Z Jesin joined #lisp 2020-08-31T21:33:13Z sjl_ quit (Ping timeout: 258 seconds) 2020-08-31T21:41:25Z brj quit (Ping timeout: 240 seconds) 2020-08-31T21:43:46Z brj joined #lisp 2020-08-31T21:46:15Z ebrasca quit (Remote host closed the connection) 2020-08-31T21:48:14Z todun quit (Quit: todun) 2020-08-31T21:57:02Z _whitelogger quit (Remote host closed the connection) 2020-08-31T21:59:13Z _whitelogger joined #lisp 2020-08-31T21:59:40Z davepdotorg joined #lisp 2020-08-31T22:00:05Z sonologico joined #lisp 2020-08-31T22:02:53Z p_l|shit1bp joined #lisp 2020-08-31T22:04:26Z davepdotorg quit (Ping timeout: 244 seconds) 2020-08-31T22:05:48Z p_l|shitmbp quit (Ping timeout: 258 seconds) 2020-08-31T22:08:05Z brj quit (Ping timeout: 240 seconds) 2020-08-31T22:08:05Z AmatureProgramme joined #lisp 2020-08-31T22:10:30Z brj joined #lisp 2020-08-31T22:14:40Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2020-08-31T22:15:25Z dominic34 quit (Ping timeout: 240 seconds) 2020-08-31T22:18:05Z simendsjo quit (Ping timeout: 240 seconds) 2020-08-31T22:18:55Z EvW1 quit (Ping timeout: 240 seconds) 2020-08-31T22:21:21Z iAmDecim joined #lisp 2020-08-31T22:21:37Z rumbler31_ joined #lisp 2020-08-31T22:26:10Z ralt quit (Quit: Connection closed for inactivity) 2020-08-31T22:26:13Z iAmDecim quit (Ping timeout: 260 seconds) 2020-08-31T22:30:03Z pve quit (Quit: leaving) 2020-08-31T22:30:52Z Inline quit (Ping timeout: 260 seconds) 2020-08-31T22:34:54Z EvW joined #lisp 2020-08-31T22:37:20Z sympt_ joined #lisp 2020-08-31T22:40:55Z sympt quit (Ping timeout: 240 seconds) 2020-08-31T22:48:32Z hasegawatan joined #lisp 2020-08-31T22:53:44Z adam4567 joined #lisp 2020-08-31T22:57:35Z iAmDecim joined #lisp 2020-08-31T22:58:52Z davepdotorg joined #lisp 2020-08-31T22:59:10Z cosimone quit (Quit: Quit.) 2020-08-31T23:02:55Z iAmDecim quit (Ping timeout: 240 seconds) 2020-08-31T23:06:26Z davepdotorg quit (Ping timeout: 244 seconds) 2020-08-31T23:07:04Z Bourne quit (Ping timeout: 260 seconds) 2020-08-31T23:12:21Z earl-ducaine joined #lisp 2020-08-31T23:22:37Z iissaacc joined #lisp 2020-08-31T23:26:34Z bilegeek quit (Quit: Leaving) 2020-08-31T23:27:04Z mangoicedtea joined #lisp 2020-08-31T23:30:25Z iAmDecim joined #lisp 2020-08-31T23:35:07Z iAmDecim quit (Ping timeout: 258 seconds) 2020-08-31T23:37:16Z davepdotorg joined #lisp 2020-08-31T23:37:49Z bsd4me joined #lisp 2020-08-31T23:41:50Z mangoicedtea quit (Quit: Leaving) 2020-08-31T23:42:37Z davepdotorg quit (Ping timeout: 260 seconds) 2020-08-31T23:51:09Z q-u-a-n2 quit (Read error: Connection reset by peer) 2020-08-31T23:51:26Z q-u-a-n2 joined #lisp