2020-12-01T00:04:06Z amb007 quit (Read error: Connection reset by peer) 2020-12-01T00:04:43Z amb007 joined #lisp 2020-12-01T00:08:52Z Qudit314159 joined #lisp 2020-12-01T00:11:05Z surabax quit (Quit: Leaving) 2020-12-01T00:17:03Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-01T00:18:54Z nihil quit (Quit: ERC (IRC client for Emacs 27.1)) 2020-12-01T00:26:23Z urek quit (Ping timeout: 272 seconds) 2020-12-01T00:28:35Z Stanley00 joined #lisp 2020-12-01T00:33:24Z Stanley00 quit (Ping timeout: 260 seconds) 2020-12-01T00:34:16Z Oladon joined #lisp 2020-12-01T00:34:42Z luckless_ joined #lisp 2020-12-01T00:35:34Z abel-abel joined #lisp 2020-12-01T00:39:01Z mint__ quit (Remote host closed the connection) 2020-12-01T00:40:35Z amplituhedron joined #lisp 2020-12-01T00:44:23Z amplituhedron quit (Read error: Connection reset by peer) 2020-12-01T00:44:46Z amplituhedron joined #lisp 2020-12-01T00:51:57Z abel-abe_ joined #lisp 2020-12-01T00:53:58Z abel-abel quit (Ping timeout: 256 seconds) 2020-12-01T01:00:51Z dbotton joined #lisp 2020-12-01T01:01:03Z abel-abe_ quit 2020-12-01T01:02:17Z Alfr_ quit (Ping timeout: 260 seconds) 2020-12-01T01:03:56Z amplituhedron quit (Remote host closed the connection) 2020-12-01T01:04:20Z amplituhedron joined #lisp 2020-12-01T01:04:31Z abel-abel joined #lisp 2020-12-01T01:05:49Z abel-abel quit (Client Quit) 2020-12-01T01:09:03Z amplituhedron quit (Remote host closed the connection) 2020-12-01T01:09:26Z amplituhedron joined #lisp 2020-12-01T01:14:26Z miasuji quit (Ping timeout: 264 seconds) 2020-12-01T01:16:32Z EvW quit (Ping timeout: 260 seconds) 2020-12-01T01:16:54Z drl quit (Quit: Leaving) 2020-12-01T01:22:10Z wxie joined #lisp 2020-12-01T01:23:56Z rumbler31 joined #lisp 2020-12-01T01:24:35Z miasuji joined #lisp 2020-12-01T01:30:06Z EvW joined #lisp 2020-12-01T01:30:39Z amplituhedron quit (Remote host closed the connection) 2020-12-01T01:31:14Z amplituhedron joined #lisp 2020-12-01T01:31:21Z matryoshka quit (Read error: Connection reset by peer) 2020-12-01T01:31:36Z matryoshka joined #lisp 2020-12-01T01:32:29Z rumbler31 quit (Read error: Connection reset by peer) 2020-12-01T01:33:03Z rumbler31 joined #lisp 2020-12-01T01:38:04Z ljavorsk quit (Ping timeout: 240 seconds) 2020-12-01T01:38:35Z amplituhedron quit (Remote host closed the connection) 2020-12-01T01:40:12Z miasuji quit (Ping timeout: 260 seconds) 2020-12-01T01:40:37Z Lord_of_Life_ joined #lisp 2020-12-01T01:40:44Z Lord_of_Life quit (Ping timeout: 240 seconds) 2020-12-01T01:42:04Z exit70[m] quit (Ping timeout: 240 seconds) 2020-12-01T01:44:17Z amplituhedron joined #lisp 2020-12-01T01:44:48Z miasuji joined #lisp 2020-12-01T01:45:27Z EvW quit (Ping timeout: 260 seconds) 2020-12-01T01:48:43Z exit70[m] joined #lisp 2020-12-01T01:51:07Z shifty quit (Ping timeout: 246 seconds) 2020-12-01T01:53:49Z amplituhedron quit (Remote host closed the connection) 2020-12-01T01:54:07Z amplituhedron joined #lisp 2020-12-01T01:55:43Z amplituhedron quit (Read error: Connection reset by peer) 2020-12-01T01:56:32Z amplituhedron joined #lisp 2020-12-01T01:57:28Z amplituhedron quit (Remote host closed the connection) 2020-12-01T01:57:50Z amplituhedron joined #lisp 2020-12-01T01:59:57Z amplituhedron quit (Remote host closed the connection) 2020-12-01T02:00:14Z amplituhedron joined #lisp 2020-12-01T02:01:30Z miasuji quit (Remote host closed the connection) 2020-12-01T02:01:57Z miasuji joined #lisp 2020-12-01T02:02:55Z amplituhedron quit (Remote host closed the connection) 2020-12-01T02:04:08Z amplituhedron joined #lisp 2020-12-01T02:04:17Z amplituhedron quit (Remote host closed the connection) 2020-12-01T02:05:03Z amplituhedron joined #lisp 2020-12-01T02:16:58Z amplituhedron quit (Remote host closed the connection) 2020-12-01T02:17:17Z amplituhedron joined #lisp 2020-12-01T02:18:53Z amplituhedron quit (Read error: Connection reset by peer) 2020-12-01T02:19:07Z pankajsg quit (Ping timeout: 246 seconds) 2020-12-01T02:19:24Z kapil_ quit (Quit: ZNC 1.7.5 - https://znc.in) 2020-12-01T02:21:19Z kapil_ joined #lisp 2020-12-01T02:22:19Z amplituhedron joined #lisp 2020-12-01T02:26:04Z ex_nihilo joined #lisp 2020-12-01T02:28:04Z amplituhedron quit (Remote host closed the connection) 2020-12-01T02:28:33Z amplituhedron joined #lisp 2020-12-01T02:28:50Z miasuji quit (Remote host closed the connection) 2020-12-01T02:29:03Z miasuji joined #lisp 2020-12-01T02:29:47Z amplituhedron quit (Remote host closed the connection) 2020-12-01T02:31:19Z amplituhedron joined #lisp 2020-12-01T02:34:40Z miasuji quit (Ping timeout: 244 seconds) 2020-12-01T02:35:20Z amplituhedron quit (Remote host closed the connection) 2020-12-01T02:35:47Z amplituhedron joined #lisp 2020-12-01T02:36:13Z tempest_nox joined #lisp 2020-12-01T02:37:56Z amplituhedron quit (Read error: Connection reset by peer) 2020-12-01T02:38:13Z amplituhedron joined #lisp 2020-12-01T02:39:50Z pankajsg joined #lisp 2020-12-01T02:44:30Z Stanley00 joined #lisp 2020-12-01T02:45:25Z miasuji joined #lisp 2020-12-01T02:47:44Z leo_song_ joined #lisp 2020-12-01T02:48:13Z leo_song quit (Ping timeout: 264 seconds) 2020-12-01T02:48:23Z amplituhedron quit (Remote host closed the connection) 2020-12-01T02:48:51Z amplituhedron joined #lisp 2020-12-01T02:50:17Z jeosol joined #lisp 2020-12-01T02:50:23Z amplituhedron quit (Read error: Connection reset by peer) 2020-12-01T02:52:41Z matryoshka quit (Ping timeout: 272 seconds) 2020-12-01T02:53:53Z matryoshka joined #lisp 2020-12-01T02:54:55Z amplituhedron joined #lisp 2020-12-01T02:55:40Z matryoshka quit (Client Quit) 2020-12-01T02:55:51Z matryoshka joined #lisp 2020-12-01T02:58:25Z retropikzel quit (Quit: retropikzel) 2020-12-01T02:58:31Z amplituhedron quit (Remote host closed the connection) 2020-12-01T02:58:42Z retropikzel joined #lisp 2020-12-01T02:58:52Z amplituhedron joined #lisp 2020-12-01T03:00:41Z miasuji quit (Remote host closed the connection) 2020-12-01T03:01:02Z miasuji joined #lisp 2020-12-01T03:02:46Z amplituhedron quit (Remote host closed the connection) 2020-12-01T03:02:56Z retropikzel quit (Client Quit) 2020-12-01T03:03:04Z amplituhedron joined #lisp 2020-12-01T03:03:15Z retropikzel joined #lisp 2020-12-01T03:10:22Z amplituhedron quit (Read error: Connection reset by peer) 2020-12-01T03:10:58Z amplituhedron joined #lisp 2020-12-01T03:15:49Z amplituhedron quit (Remote host closed the connection) 2020-12-01T03:16:06Z amplituhedron joined #lisp 2020-12-01T03:18:03Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-01T03:18:36Z Stanley|00 joined #lisp 2020-12-01T03:20:00Z luckless_ joined #lisp 2020-12-01T03:20:39Z miasuji quit (Remote host closed the connection) 2020-12-01T03:20:52Z luckless_ quit (Remote host closed the connection) 2020-12-01T03:20:54Z Stanley00 quit (Ping timeout: 256 seconds) 2020-12-01T03:21:03Z miasuji joined #lisp 2020-12-01T03:22:39Z amplituhedron quit (Remote host closed the connection) 2020-12-01T03:23:12Z amplituhedron joined #lisp 2020-12-01T03:24:24Z luckless_ joined #lisp 2020-12-01T03:24:32Z amplituhedron quit (Remote host closed the connection) 2020-12-01T03:24:49Z amplituhedron joined #lisp 2020-12-01T03:28:05Z edgar-rft quit (Quit: Leaving) 2020-12-01T03:29:56Z amplituhedron quit (Ping timeout: 240 seconds) 2020-12-01T03:30:34Z amplituhedron joined #lisp 2020-12-01T03:32:34Z rumbler31 quit (Ping timeout: 256 seconds) 2020-12-01T03:34:22Z amplituhedron quit (Read error: Connection reset by peer) 2020-12-01T03:34:46Z amplituhedron joined #lisp 2020-12-01T03:42:22Z amplituhedron quit (Read error: Connection reset by peer) 2020-12-01T03:43:10Z amplituhedron joined #lisp 2020-12-01T03:48:25Z retropikzel quit (Quit: retropikzel) 2020-12-01T03:48:43Z retropikzel joined #lisp 2020-12-01T03:52:56Z retropikzel quit (Client Quit) 2020-12-01T03:53:15Z retropikzel joined #lisp 2020-12-01T03:53:57Z matryoshka quit (Quit: ZNC 1.8.2 - https://znc.in) 2020-12-01T03:54:20Z matryoshka joined #lisp 2020-12-01T03:57:58Z dbotton quit (Quit: This computer has gone to sleep) 2020-12-01T04:03:25Z retropikzel quit (Quit: retropikzel) 2020-12-01T04:03:32Z beach: Good morning everyone! 2020-12-01T04:03:47Z retropikzel joined #lisp 2020-12-01T04:05:01Z lotuseater: good morning beach :) 2020-12-01T04:07:57Z retropikzel quit (Client Quit) 2020-12-01T04:08:15Z retropikzel joined #lisp 2020-12-01T04:09:08Z lotuseater: omg now i got it ... 2020-12-01T04:09:34Z lotuseater: beach: You are Robert Strandh, right? o_O 2020-12-01T04:11:29Z beach: Yes. 2020-12-01T04:11:32Z beach: Why? 2020-12-01T04:12:21Z beach: Oh, you mean the translation of my name? 2020-12-01T04:12:26Z lotuseater: just so. 2020-12-01T04:12:35Z beach: In the past, I also used spiaggia, plage, and Ufer. 2020-12-01T04:13:19Z lotuseater: yes i got it now. there is much stuff around CL from you i already enjoyed 2020-12-01T04:13:23Z drmeister: beach: I'm using the call-history for dispatching as clasp boots up - it works pretty well. It's faster than the cache and mutex that I stole from ECL. 2020-12-01T04:13:37Z beach: lotuseater: Great! Glad you like it. 2020-12-01T04:13:51Z beach: drmeister: Excellent! 2020-12-01T04:14:10Z lotuseater: here are some very heavy experts ._. 2020-12-01T04:14:40Z drmeister: I didn't think an alist would be fast enough - but it was. So an alist updated with CAS is faster than a fancy cache with a mutex. 2020-12-01T04:15:10Z beach: Maybe not that surprising. Most call histories are probably short. 2020-12-01T04:15:41Z drmeister: Yeah - most are. 2020-12-01T04:16:48Z zaquest quit (Quit: Leaving) 2020-12-01T04:18:59Z karlosz quit (Quit: karlosz) 2020-12-01T04:19:14Z karlosz joined #lisp 2020-12-01T04:21:13Z orivej quit (Ping timeout: 264 seconds) 2020-12-01T04:21:29Z orivej joined #lisp 2020-12-01T04:21:50Z zaquest joined #lisp 2020-12-01T04:25:32Z karlosz quit (Quit: karlosz) 2020-12-01T04:26:10Z karlosz joined #lisp 2020-12-01T04:27:35Z uniminin joined #lisp 2020-12-01T04:27:57Z Bike quit (Quit: Lost terminal) 2020-12-01T04:28:25Z retropikzel quit (Quit: retropikzel) 2020-12-01T04:28:43Z retropikzel joined #lisp 2020-12-01T04:30:34Z Alfr joined #lisp 2020-12-01T04:32:56Z retropikzel quit (Client Quit) 2020-12-01T04:33:15Z retropikzel joined #lisp 2020-12-01T04:35:35Z torbo quit (Remote host closed the connection) 2020-12-01T04:43:25Z retropikzel quit (Quit: retropikzel) 2020-12-01T04:43:42Z retropikzel joined #lisp 2020-12-01T04:46:03Z mbomba joined #lisp 2020-12-01T04:46:16Z mbomba quit (Client Quit) 2020-12-01T04:46:47Z mbomba joined #lisp 2020-12-01T04:48:00Z retropikzel quit (Client Quit) 2020-12-01T04:48:18Z retropikzel joined #lisp 2020-12-01T04:52:58Z tempest_nox quit (Remote host closed the connection) 2020-12-01T04:53:45Z narimiran joined #lisp 2020-12-01T04:55:34Z wxie quit (Ping timeout: 246 seconds) 2020-12-01T04:57:06Z shifty joined #lisp 2020-12-01T04:58:43Z galex-713 quit (Ping timeout: 272 seconds) 2020-12-01T05:00:46Z galex-713 joined #lisp 2020-12-01T05:03:25Z retropikzel quit (Quit: retropikzel) 2020-12-01T05:03:46Z retropikzel joined #lisp 2020-12-01T05:05:44Z zcheng3 quit (Ping timeout: 256 seconds) 2020-12-01T05:07:57Z retropikzel quit (Client Quit) 2020-12-01T05:08:15Z retropikzel joined #lisp 2020-12-01T05:08:24Z wxie joined #lisp 2020-12-01T05:11:44Z pfdietz quit (Ping timeout: 245 seconds) 2020-12-01T05:12:36Z jonatack quit (Ping timeout: 240 seconds) 2020-12-01T05:12:44Z miasuji quit (Remote host closed the connection) 2020-12-01T05:13:45Z miasuji joined #lisp 2020-12-01T05:15:02Z jonatack joined #lisp 2020-12-01T05:19:43Z Aurora_v_kosmose quit (Ping timeout: 240 seconds) 2020-12-01T05:28:36Z pankajsg quit (Ping timeout: 272 seconds) 2020-12-01T05:49:20Z malm quit (Quit: Bye bye) 2020-12-01T05:53:13Z treflip joined #lisp 2020-12-01T05:58:25Z retropikzel quit (Quit: retropikzel) 2020-12-01T05:58:37Z notandinus quit (Remote host closed the connection) 2020-12-01T05:58:43Z retropikzel joined #lisp 2020-12-01T06:01:11Z notandinus joined #lisp 2020-12-01T06:08:01Z retropikzel quit (Quit: retropikzel) 2020-12-01T06:08:12Z benjamin-l quit (Ping timeout: 260 seconds) 2020-12-01T06:08:24Z retropikzel joined #lisp 2020-12-01T06:10:38Z miasuji quit (Ping timeout: 244 seconds) 2020-12-01T06:13:30Z Nilby joined #lisp 2020-12-01T06:14:52Z andreyorst joined #lisp 2020-12-01T06:18:29Z wxie quit (Quit: wxie) 2020-12-01T06:32:18Z pankajsg joined #lisp 2020-12-01T06:36:08Z frodef joined #lisp 2020-12-01T06:41:44Z retropikzel quit (Remote host closed the connection) 2020-12-01T06:42:04Z retropikzel joined #lisp 2020-12-01T06:43:36Z amplituhedron quit (Ping timeout: 240 seconds) 2020-12-01T06:43:50Z wxie joined #lisp 2020-12-01T06:45:06Z matryoshka quit (Quit: ZNC 1.8.2 - https://znc.in) 2020-12-01T06:45:30Z matryoshka joined #lisp 2020-12-01T06:45:41Z matryoshka quit (Remote host closed the connection) 2020-12-01T06:47:27Z Oladon quit (Quit: Leaving.) 2020-12-01T06:49:43Z sm2n: dealing with a bunch of hash tables has broken me on LOOP, I shall now ITERATE 2020-12-01T06:50:06Z matryoshka joined #lisp 2020-12-01T06:50:12Z bjorkint0sh quit (Quit: Leaving) 2020-12-01T06:50:36Z bjorkintosh joined #lisp 2020-12-01T06:52:36Z wxie quit (Ping timeout: 240 seconds) 2020-12-01T06:55:04Z rumbler31 joined #lisp 2020-12-01T06:56:14Z bilegeek quit (Quit: Leaving) 2020-12-01T06:59:28Z rumbler31 quit (Ping timeout: 256 seconds) 2020-12-01T07:02:17Z andreyorst` joined #lisp 2020-12-01T07:02:19Z andreyorst` quit (Remote host closed the connection) 2020-12-01T07:02:51Z dmc00 quit (Ping timeout: 272 seconds) 2020-12-01T07:03:26Z retropikzel quit (Quit: retropikzel) 2020-12-01T07:03:42Z retropikzel joined #lisp 2020-12-01T07:07:42Z mbomba quit (Quit: WeeChat 3.0) 2020-12-01T07:07:56Z retropikzel quit (Client Quit) 2020-12-01T07:08:15Z retropikzel joined #lisp 2020-12-01T07:09:44Z urek joined #lisp 2020-12-01T07:18:25Z retropikzel quit (Quit: retropikzel) 2020-12-01T07:18:43Z retropikzel joined #lisp 2020-12-01T07:19:03Z andreyorst` joined #lisp 2020-12-01T07:20:43Z malm joined #lisp 2020-12-01T07:21:51Z dmiles quit 2020-12-01T07:22:57Z retropikzel quit (Client Quit) 2020-12-01T07:23:08Z phoe: good morning 2020-12-01T07:23:15Z retropikzel joined #lisp 2020-12-01T07:23:37Z kiroul quit (Ping timeout: 265 seconds) 2020-12-01T07:24:28Z ck_: Hello phoe. How did the Webassembly presentation go yesterday? 2020-12-01T07:24:31Z no-defun-allowed: Hello phoe. 2020-12-01T07:24:47Z phoe: hey! seems that it went well 2020-12-01T07:25:00Z Blukunfando quit (Ping timeout: 260 seconds) 2020-12-01T07:32:14Z narimiran quit (Ping timeout: 260 seconds) 2020-12-01T07:32:52Z ck_: very good then, looking forward to weblisp 2020-12-01T07:33:18Z phoe: not any soon; still lots of work to be done 2020-12-01T07:34:10Z narimiran joined #lisp 2020-12-01T07:35:34Z skapata quit (Quit: Leaving) 2020-12-01T07:38:25Z retropikzel quit (Quit: retropikzel) 2020-12-01T07:38:26Z orivej quit (Ping timeout: 272 seconds) 2020-12-01T07:38:43Z retropikzel joined #lisp 2020-12-01T07:42:19Z random-nick joined #lisp 2020-12-01T07:42:57Z retropikzel quit (Client Quit) 2020-12-01T07:43:17Z retropikzel joined #lisp 2020-12-01T07:44:02Z hiroaki joined #lisp 2020-12-01T07:51:24Z rgherdt joined #lisp 2020-12-01T07:52:05Z shifty quit (Ping timeout: 260 seconds) 2020-12-01T07:57:16Z hiroaki quit (Ping timeout: 256 seconds) 2020-12-01T07:58:41Z dmiles joined #lisp 2020-12-01T08:02:37Z wxie joined #lisp 2020-12-01T08:06:40Z aartaka joined #lisp 2020-12-01T08:09:51Z liberliver joined #lisp 2020-12-01T08:14:14Z retropikzel quit (Quit: retropikzel) 2020-12-01T08:14:22Z dddddd quit (Ping timeout: 246 seconds) 2020-12-01T08:15:13Z Fare quit (Ping timeout: 264 seconds) 2020-12-01T08:21:15Z Cymew joined #lisp 2020-12-01T08:25:23Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-01T08:25:38Z frost-lab joined #lisp 2020-12-01T08:27:35Z luckless_ joined #lisp 2020-12-01T08:32:44Z retropikzel joined #lisp 2020-12-01T08:34:17Z PuercoPop quit (Remote host closed the connection) 2020-12-01T08:38:43Z retropikzel quit (Quit: retropikzel) 2020-12-01T08:39:01Z retropikzel joined #lisp 2020-12-01T08:42:24Z pve joined #lisp 2020-12-01T08:43:14Z retropikzel quit (Client Quit) 2020-12-01T08:43:33Z retropikzel joined #lisp 2020-12-01T08:43:34Z Fare joined #lisp 2020-12-01T08:48:43Z retropikzel quit (Quit: retropikzel) 2020-12-01T08:49:04Z retropikzel joined #lisp 2020-12-01T08:53:14Z retropikzel quit (Client Quit) 2020-12-01T08:53:37Z retropikzel joined #lisp 2020-12-01T08:57:13Z imode quit (Ping timeout: 264 seconds) 2020-12-01T09:01:57Z ljavorsk joined #lisp 2020-12-01T09:03:34Z toorevitimirp joined #lisp 2020-12-01T09:03:43Z retropikzel quit (Quit: retropikzel) 2020-12-01T09:04:01Z retropikzel joined #lisp 2020-12-01T09:07:10Z hendursa1 joined #lisp 2020-12-01T09:08:24Z lottaquestions quit (Remote host closed the connection) 2020-12-01T09:08:52Z lottaquestions joined #lisp 2020-12-01T09:09:43Z hendursaga quit (Ping timeout: 240 seconds) 2020-12-01T09:13:19Z retropikzel quit (Quit: retropikzel) 2020-12-01T09:13:36Z retropikzel joined #lisp 2020-12-01T09:18:53Z retropikzel_ joined #lisp 2020-12-01T09:20:16Z gigetoo quit (Ping timeout: 260 seconds) 2020-12-01T09:21:02Z retropikzel quit (Ping timeout: 264 seconds) 2020-12-01T09:21:03Z retropikzel_ is now known as retropikzel 2020-12-01T09:23:41Z heisig joined #lisp 2020-12-01T09:23:47Z Lord_of_Life_ quit (Read error: Connection reset by peer) 2020-12-01T09:24:06Z Lord_of_Life joined #lisp 2020-12-01T09:24:56Z Lord_of_Life quit (Changing host) 2020-12-01T09:24:56Z Lord_of_Life joined #lisp 2020-12-01T09:31:26Z hnOsmium0001 quit (Quit: Connection closed for inactivity) 2020-12-01T09:39:57Z jello_pudding quit (Ping timeout: 260 seconds) 2020-12-01T09:42:38Z Fare quit (Ping timeout: 264 seconds) 2020-12-01T09:43:52Z Oddity- joined #lisp 2020-12-01T09:48:01Z jello_pudding joined #lisp 2020-12-01T09:48:02Z Oddity quit (Ping timeout: 264 seconds) 2020-12-01T10:08:45Z retropikzel quit (Quit: retropikzel) 2020-12-01T10:09:04Z retropikzel joined #lisp 2020-12-01T10:09:33Z dhil joined #lisp 2020-12-01T10:13:20Z retropikzel quit (Client Quit) 2020-12-01T10:13:36Z retropikzel joined #lisp 2020-12-01T10:19:01Z aartaka_d joined #lisp 2020-12-01T10:21:36Z Necktwi quit (Ping timeout: 240 seconds) 2020-12-01T10:21:45Z Necktwi joined #lisp 2020-12-01T10:21:49Z lotuseater quit (Ping timeout: 264 seconds) 2020-12-01T10:21:58Z aartaka quit (Ping timeout: 265 seconds) 2020-12-01T10:23:53Z quazimodo quit (Quit: Changing server) 2020-12-01T10:24:36Z surabax joined #lisp 2020-12-01T10:24:49Z wxie quit (Quit: wxie) 2020-12-01T10:25:00Z wxie joined #lisp 2020-12-01T10:28:43Z retropikzel quit (Quit: retropikzel) 2020-12-01T10:29:01Z retropikzel joined #lisp 2020-12-01T10:33:16Z retropikzel quit (Client Quit) 2020-12-01T10:33:36Z retropikzel joined #lisp 2020-12-01T10:42:52Z wxie quit (Ping timeout: 260 seconds) 2020-12-01T10:43:43Z retropikzel quit (Quit: retropikzel) 2020-12-01T10:44:01Z retropikzel joined #lisp 2020-12-01T10:44:41Z kaftejiman joined #lisp 2020-12-01T10:44:52Z scymtym quit (Ping timeout: 246 seconds) 2020-12-01T10:48:15Z retropikzel quit (Client Quit) 2020-12-01T10:48:33Z retropikzel joined #lisp 2020-12-01T10:49:23Z loke[m]: Hello phoe. 2020-12-01T10:49:39Z loke[m]: When do you usually do the lisp presentations? 2020-12-01T10:49:50Z phoe: loke[m]: 13:00 CET 2020-12-01T10:50:06Z loke[m]: phoe: but what day? 2020-12-01T10:50:08Z phoe: might move it later or earlier though, depending on preferences 2020-12-01T10:50:12Z phoe: loke[m]: no real set date 2020-12-01T10:50:23Z phoe: like, the day varies 2020-12-01T10:51:13Z loke[m]: I see. But if there's no deadline it'll take a very long time to prepare a presentation :-) 2020-12-01T10:51:19Z phoe: well 2020-12-01T10:51:37Z phoe: if we want to keep up with the meeting-every-three-weeks schedule 2020-12-01T10:51:53Z phoe: then I'd like to organize the next one between 14th and 18th Dec 2020-12-01T10:52:39Z phoe: and I'll need the abstract for sending via mail at least a week before the meeting, and the video at least 24h before streaming 2020-12-01T10:52:50Z phoe: is this deadline enough for you? 2020-12-01T10:58:07Z loke[m]: Oh you don't want it live? 2020-12-01T10:58:41Z beach: The live chat is text only. 2020-12-01T10:58:48Z beach: The presentation is pre-recorded. 2020-12-01T10:58:50Z phoe: not really; I'd like it prerecorded and played back, with live chat in the comments 2020-12-01T10:59:01Z phoe: that's the way that the ELS worked this year, and I've copied this way to the online meetings 2020-12-01T10:59:26Z phoe: because I've noticed that it works pretty well and eliminates many possibilities of technical issues 2020-12-01T11:02:34Z adlai shuffles through the deck of notecards labelled "Things to ask #lisp" 2020-12-01T11:03:36Z jackdaniel shuffles through the deck of notecards labelled "You can't do that because" ;) 2020-12-01T11:03:43Z orivej joined #lisp 2020-12-01T11:03:46Z adlai: the latest pain point with scalpl has been the state of websocket client libraries. Eitaro's library works, although it appears to be the only one. 2020-12-01T11:04:07Z frgo quit (Remote host closed the connection) 2020-12-01T11:04:19Z retropikzel quit (Remote host closed the connection) 2020-12-01T11:04:26Z jackdaniel: hunchensocket worked for me like a charm 2020-12-01T11:04:35Z frgo joined #lisp 2020-12-01T11:04:36Z retropikzel joined #lisp 2020-12-01T11:04:38Z jackdaniel: https://github.com/joaotavora/hunchensocket 2020-12-01T11:04:39Z no-defun-allowed: lonjil and I have both wanted to create another websocket client, I guess with the three of us complaining it should be done. 2020-12-01T11:04:40Z adlai: does that also have a client-side library? 2020-12-01T11:04:51Z no-defun-allowed: jackdaniel: Note "client". 2020-12-01T11:05:16Z jackdaniel: right, nvm me then. I think that I've used fukamachiware for that too 2020-12-01T11:05:23Z no-defun-allowed: For pun value, it could wrap Drakma somehow. 2020-12-01T11:05:55Z adlai: there's also a partial client implementation that 3b published, although I don't think he made any claims about its usability; just, "here's how far I got, maybe someone else will find the leftovers useful" 2020-12-01T11:06:05Z no-defun-allowed: I used to also have a prototype of that. I'll check tomorrow morning if it's still there, but it wouldn't be so useful. 2020-12-01T11:07:16Z pankajsg quit (Ping timeout: 240 seconds) 2020-12-01T11:07:34Z adlai: the actual problem, for which a websocket client is necessary, is synchronization of exchange order books; I'm unaware of any datastructure library that offers structures specifically for storing such data, although perhaps there's a gaping hole in my so-called education. 2020-12-01T11:07:59Z scymtym joined #lisp 2020-12-01T11:08:44Z adlai has been using a regular cl hash table, keyed on prices, which is good enough for sleepy markets; will almost certainly be a bottleneck for the busier markets. 2020-12-01T11:08:45Z vegansbane quit (Quit: The Lounge - https://thelounge.chat) 2020-12-01T11:09:29Z no-defun-allowed: But, to be fair, I can't think of any changes I would make to the design of websocket-driver. 2020-12-01T11:10:39Z no-defun-allowed: adlai: My own concurrent-hash-tables could push back the limits somewhat, but I don't know your usecase well enough to say if it would be a bottleneck. 2020-12-01T11:10:50Z pankajsg joined #lisp 2020-12-01T11:11:11Z no-defun-allowed: Well, if you want a faster hash table, but perhaps there's another data structure that fits your queries better. 2020-12-01T11:11:56Z no-defun-allowed: And if you need concurrent access. I saw "synchronisation" and got excited - perhaps you don't need it at all. 2020-12-01T11:13:24Z adlai: concurrent access is almost a hard requirement, in the long term, because market participants should be considering the arbitrage opportunities between multiple trading locations; in the short term, I have specifically limited myself to first operating only within one centralized market at a time, so it is not a requirement yet. 2020-12-01T11:14:31Z adlai is terribly ambitious; the hoped time for scalpl to return to ql:quickload levels of usability is a decade, and the expected - probably closer to three. 2020-12-01T11:17:52Z retropikzel quit (Remote host closed the connection) 2020-12-01T11:18:36Z aartaka_d quit (Read error: Connection reset by peer) 2020-12-01T11:18:40Z aartaka joined #lisp 2020-12-01T11:19:01Z retropikzel joined #lisp 2020-12-01T11:20:27Z ldb joined #lisp 2020-12-01T11:20:32Z ldb: hello 2020-12-01T11:20:38Z no-defun-allowed: Hello ldb. 2020-12-01T11:23:05Z ldb quit (Remote host closed the connection) 2020-12-01T11:23:21Z ldb joined #lisp 2020-12-01T11:23:23Z retropikzel quit (Client Quit) 2020-12-01T11:23:42Z retropikzel joined #lisp 2020-12-01T11:23:45Z Aurora_v_kosmose joined #lisp 2020-12-01T11:26:22Z pankajsg quit (Ping timeout: 256 seconds) 2020-12-01T11:27:06Z ldb: i see there's a cl-automaton inside Drei 2020-12-01T11:27:15Z adlai: is the operator of irclog.tymoon.eu here? 2020-12-01T11:27:31Z ldb: could that be used for spell checking? 2020-12-01T11:27:46Z adlai does not want to raise unexpected eyebrows in their log's logs 2020-12-01T11:29:57Z ldb: not curretly online 2020-12-01T11:30:18Z adlai: it seems that the nicest way to heat the universe with flailful searches through #lisp's history is by locally combing through a copy of whitequark's db. 2020-12-01T11:31:11Z adlai is avoiding self-repetition, due to repeated failures at this in the past. 2020-12-01T11:31:47Z pankajsg joined #lisp 2020-12-01T11:33:10Z quazimodo joined #lisp 2020-12-01T11:34:52Z vegansbane joined #lisp 2020-12-01T11:47:09Z retropikzel quit (Quit: retropikzel) 2020-12-01T11:51:18Z cosimone joined #lisp 2020-12-01T11:52:18Z Stanley|00 quit (Remote host closed the connection) 2020-12-01T11:53:38Z lotuseater joined #lisp 2020-12-01T11:58:05Z retropikzel joined #lisp 2020-12-01T11:58:45Z retropikzel quit (Remote host closed the connection) 2020-12-01T11:59:05Z retropikzel joined #lisp 2020-12-01T12:02:04Z dim quit (Ping timeout: 240 seconds) 2020-12-01T12:03:00Z toorevitimirp quit (Remote host closed the connection) 2020-12-01T12:03:17Z retropikzel quit (Client Quit) 2020-12-01T12:03:30Z dim joined #lisp 2020-12-01T12:03:32Z toorevitimirp joined #lisp 2020-12-01T12:03:38Z retropikzel joined #lisp 2020-12-01T12:05:20Z ldb quit (Remote host closed the connection) 2020-12-01T12:06:56Z gproto23 joined #lisp 2020-12-01T12:08:02Z d4ryus: adlai: You can ask Shinmera in #shirakumo about irclog.tymoon.eu. 2020-12-01T12:08:42Z ldb joined #lisp 2020-12-01T12:11:05Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-12-01T12:11:43Z Aurora_v_kosmose joined #lisp 2020-12-01T12:11:58Z uniminin quit (Quit: Leaving) 2020-12-01T12:14:41Z jprajzne1 joined #lisp 2020-12-01T12:18:43Z retropikzel quit (Quit: retropikzel) 2020-12-01T12:18:44Z aartaka_d joined #lisp 2020-12-01T12:19:05Z retropikzel joined #lisp 2020-12-01T12:19:31Z dmc00 joined #lisp 2020-12-01T12:21:34Z aartaka quit (Ping timeout: 260 seconds) 2020-12-01T12:22:04Z amb007 quit (Read error: Connection reset by peer) 2020-12-01T12:22:12Z amb007 joined #lisp 2020-12-01T12:22:20Z amb007 quit (Read error: Connection reset by peer) 2020-12-01T12:22:47Z amb007 joined #lisp 2020-12-01T12:23:16Z retropikzel quit (Client Quit) 2020-12-01T12:23:17Z amb007 quit (Read error: Connection reset by peer) 2020-12-01T12:23:32Z amb007 joined #lisp 2020-12-01T12:23:34Z retropikzel joined #lisp 2020-12-01T12:27:52Z amb007 quit (Ping timeout: 260 seconds) 2020-12-01T12:28:14Z amb007 joined #lisp 2020-12-01T12:28:57Z EvW joined #lisp 2020-12-01T12:30:12Z amb007 quit (Read error: Connection reset by peer) 2020-12-01T12:30:45Z amb007 joined #lisp 2020-12-01T12:33:43Z retropikzel quit (Quit: retropikzel) 2020-12-01T12:33:44Z amb007 quit (Read error: Connection reset by peer) 2020-12-01T12:34:02Z retropikzel joined #lisp 2020-12-01T12:34:10Z amb007 joined #lisp 2020-12-01T12:34:25Z cosimone quit (Quit: cosimone) 2020-12-01T12:38:16Z Aurora_v_kosmose quit (Quit: brb...) 2020-12-01T12:38:17Z retropikzel quit (Client Quit) 2020-12-01T12:38:35Z retropikzel joined #lisp 2020-12-01T12:43:35Z dim quit (Ping timeout: 272 seconds) 2020-12-01T12:53:44Z retropikzel quit (Quit: retropikzel) 2020-12-01T12:54:03Z retropikzel joined #lisp 2020-12-01T12:54:40Z dim joined #lisp 2020-12-01T12:58:42Z retropikzel quit (Client Quit) 2020-12-01T12:59:00Z retropikzel joined #lisp 2020-12-01T13:00:03Z urek quit (Ping timeout: 272 seconds) 2020-12-01T13:01:04Z v0|d quit (Ping timeout: 240 seconds) 2020-12-01T13:03:43Z retropikzel quit (Client Quit) 2020-12-01T13:04:02Z retropikzel joined #lisp 2020-12-01T13:05:52Z wxie joined #lisp 2020-12-01T13:12:46Z luckless_ quit (Quit: luckless_) 2020-12-01T13:13:41Z wxie quit (Quit: wxie) 2020-12-01T13:13:50Z cosimone joined #lisp 2020-12-01T13:14:27Z cosimone quit (Remote host closed the connection) 2020-12-01T13:17:05Z KREYREEN quit (Remote host closed the connection) 2020-12-01T13:18:16Z retropikzel quit (Quit: retropikzel) 2020-12-01T13:18:34Z retropikzel joined #lisp 2020-12-01T13:19:23Z Blukunfando joined #lisp 2020-12-01T13:23:43Z retropikzel quit (Quit: retropikzel) 2020-12-01T13:24:05Z retropikzel joined #lisp 2020-12-01T13:25:32Z amplituhedron joined #lisp 2020-12-01T13:26:32Z KREYREEN joined #lisp 2020-12-01T13:30:48Z cosimone joined #lisp 2020-12-01T13:31:59Z mint__ joined #lisp 2020-12-01T13:32:50Z Bike joined #lisp 2020-12-01T13:33:18Z retropikzel quit (Quit: retropikzel) 2020-12-01T13:33:39Z retropikzel joined #lisp 2020-12-01T13:34:37Z amplituhedron quit (Ping timeout: 260 seconds) 2020-12-01T13:38:48Z gproto23 quit (Ping timeout: 272 seconds) 2020-12-01T13:39:32Z leo_song_ quit (Ping timeout: 256 seconds) 2020-12-01T13:51:36Z flip214: has someone cl-yaml working in windows? for me the self-tests crash already (with sbcl 2.0.11) 2020-12-01T13:51:43Z hendursa1 quit (Ping timeout: 240 seconds) 2020-12-01T13:52:58Z phoe: crash? how? 2020-12-01T13:53:06Z phoe: why would they only crash on windows? 2020-12-01T13:53:07Z Gnuxie[m]: It uses libyaml so it's likely to be delicate 2020-12-01T13:53:32Z phoe: oh, it's a foreign binding 2020-12-01T13:53:43Z retropikzel quit (Quit: retropikzel) 2020-12-01T13:54:06Z retropikzel joined #lisp 2020-12-01T13:54:39Z hendursa1 joined #lisp 2020-12-01T13:54:57Z Josh_2: afternoon 2020-12-01T13:55:20Z phoe: hey hi 2020-12-01T13:55:57Z flip214: I'm taking a look at cl-libyaml 2020-12-01T14:00:56Z flip214: same crash 2020-12-01T14:01:04Z kiroul joined #lisp 2020-12-01T14:01:23Z dddddd joined #lisp 2020-12-01T14:01:47Z flip214: cl-yaclyaml seems to be made in CL 2020-12-01T14:03:38Z retropikzel quit (Quit: retropikzel) 2020-12-01T14:03:56Z retropikzel joined #lisp 2020-12-01T14:08:44Z yonkunas joined #lisp 2020-12-01T14:11:03Z flip214: great, that one works out of the box 2020-12-01T14:11:53Z phoe: hah 2020-12-01T14:11:59Z phoe: flip214: what are the FFI crashes? 2020-12-01T14:14:56Z hendursa1 quit (Quit: hendursa1) 2020-12-01T14:15:13Z hendursaga joined #lisp 2020-12-01T14:19:17Z flip214: phoe: when loading a 1200 byte file it says "invalid octet at 420000000" or something to that effect 2020-12-01T14:22:36Z phoe: flip214: in foreign code? 2020-12-01T14:23:28Z flip214: yeah 2020-12-01T14:23:44Z retropikzel quit (Quit: retropikzel) 2020-12-01T14:24:02Z retropikzel joined #lisp 2020-12-01T14:24:08Z jmercouris: why is it called labels and not flet*? 2020-12-01T14:24:40Z pfdietz joined #lisp 2020-12-01T14:27:09Z beach: For hysterical raisins. 2020-12-01T14:27:24Z frost-lab quit (Quit: Connection closed) 2020-12-01T14:27:53Z edgar-rft joined #lisp 2020-12-01T14:28:43Z phoe: jmercouris: the original LISP had a thing called LABEL that was basically a named local function 2020-12-01T14:29:01Z jmercouris: I see, and why did it become flet instead of label? 2020-12-01T14:29:02Z Fare joined #lisp 2020-12-01T14:29:15Z phoe: flet and label have slightly different semantics 2020-12-01T14:29:22Z jmercouris: you can still use label? 2020-12-01T14:29:25Z phoe: labels were able to refer to one another; flet is just let except in the function namespace 2020-12-01T14:29:30Z phoe: well, no, LABEL is not a part of CL 2020-12-01T14:29:38Z jmercouris: so then, they could have changed the meaning 2020-12-01T14:29:49Z jmercouris: oh well, I guess 2020-12-01T14:29:59Z phoe: yes 2020-12-01T14:30:01Z phoe: they could have 2020-12-01T14:30:01Z jmercouris: maybe I will put a macro for flet* that expands to labels 2020-12-01T14:30:06Z phoe: and chose not to, likely for backwards compatibility 2020-12-01T14:30:19Z phoe: also flet* is not necessarily strictly equal to labels 2020-12-01T14:30:19Z jmercouris: or maybe just a reader macro 2020-12-01T14:30:21Z Aurora_v_kosmose joined #lisp 2020-12-01T14:30:24Z jmercouris: in my head it is 2020-12-01T14:30:28Z jackdaniel: flet* would be misleading 2020-12-01T14:30:29Z phoe: an earlier label can refer to a latter label 2020-12-01T14:30:34Z jackdaniel: if expands to labels 2020-12-01T14:30:42Z phoe: an earlier let* binding cannot refer to a latter binding 2020-12-01T14:30:47Z jmercouris: yes, I see the difference 2020-12-01T14:30:50Z pfdietz: I would like generic-flet. But that was removed. 2020-12-01T14:30:53Z jmercouris: then maybe I will make a let-labels 2020-12-01T14:31:01Z jmercouris: where every let can refer to every let 2020-12-01T14:31:03Z jackdaniel: pfdietz: generic-let? 2020-12-01T14:31:06Z Bike: what would you use generic-flet for? 2020-12-01T14:31:15Z Bike: jmercouris: usually called "letrec" 2020-12-01T14:31:16Z jackdaniel: s/let/flet/ 2020-12-01T14:31:19Z pfdietz: Pattern matching on trees. 2020-12-01T14:31:34Z jmercouris: Bike: then I will make a fletrec 2020-12-01T14:31:39Z jmercouris: which will expand to labels 2020-12-01T14:31:47Z jackdaniel: why can't use use labels? 2020-12-01T14:31:55Z jmercouris: of course I can, the name is just tilting me 2020-12-01T14:32:13Z pfdietz: I want to expand sets of patterns to methods, but I can't do that in a flet-like way. 2020-12-01T14:32:16Z jackdaniel: every person who looks at your code will wonder what is fletrec and why it was introduced 2020-12-01T14:32:41Z jmercouris: maybe you are right 2020-12-01T14:32:42Z jackdaniel: and the explanation "I don't like the standard operator name" isn't a very convincing argument 2020-12-01T14:33:15Z retropikzel quit (Quit: retropikzel) 2020-12-01T14:33:34Z retropikzel joined #lisp 2020-12-01T14:34:28Z flip214: grrr, why does cl-yaclyaml now fail on the same file it worked with 5 minutes ago? 2020-12-01T14:34:40Z jmercouris: the cosmic bits have flipped 2020-12-01T14:34:52Z Nilby: I think most these decisions were argued to death in the 10 or so years of the CL committee, balancing for compatibility and aesthetics. I think one can still read the the old mailing list and the committee notes. 2020-12-01T14:35:25Z jmercouris: I am sure they made the best decision 2020-12-01T14:35:34Z jmercouris: just not necessarily the one I like :-D 2020-12-01T14:35:54Z jmercouris: I also dont have all of the information they had when making their decisions 2020-12-01T14:36:12Z Nilby: There was a lot of diverse prior art. 2020-12-01T14:39:16Z wsinatra joined #lisp 2020-12-01T14:39:24Z EvW quit (Ping timeout: 240 seconds) 2020-12-01T14:39:26Z Nilby: cdr is a crazy name, but in some way cddar etc are magicly terse tree traversal. 2020-12-01T14:39:43Z jmercouris: yeah another one I don't agree with, but can accept 2020-12-01T14:39:48Z jmercouris: they are new concepts, and thus need new names 2020-12-01T14:39:58Z jmercouris: I can't think of better names than car and cdr and cons 2020-12-01T14:40:16Z jmercouris: they are short, unique, and easy to chain 2020-12-01T14:40:21Z jmercouris: however, do I agree with cadddr? 2020-12-01T14:40:25Z jmercouris: ... that is another story 2020-12-01T14:42:19Z aartaka joined #lisp 2020-12-01T14:42:20Z jackdaniel: a blog post material certainly ,) 2020-12-01T14:42:45Z jmercouris: are you making a comment about planetlisp? 2020-12-01T14:43:00Z flip214: linux binary works with the same contents 2020-12-01T14:43:01Z ebrasca joined #lisp 2020-12-01T14:44:11Z jackdaniel: no, I'm just making a joke regarding "impact" of the discussion whether you like caddddr or not (n.b, using such operations is discouraged in norvig's style guide, and in numerous other places) 2020-12-01T14:44:29Z jmercouris: I see, I agree 2020-12-01T14:45:32Z aartaka_d quit (Ping timeout: 260 seconds) 2020-12-01T14:47:10Z jmercouris: (loop for element in (list 1 2 3) collect element finally (print "salmon")) 2020-12-01T14:47:20Z jmercouris: now, can I "finally" collect another thing? 2020-12-01T14:47:26Z jmercouris: (loop for element in (list 1 2 3) collect element finally collect "fish")) 2020-12-01T14:47:30Z jmercouris: doesn't seem possible 2020-12-01T14:47:37Z jmercouris: I want the output to be (1 2 3 "fish") 2020-12-01T14:47:45Z jmercouris: I can of course append to the loop 2020-12-01T14:48:04Z jmercouris: (append (loop for element in (list 1 2 3) collect element) (list "salmon")) 2020-12-01T14:48:06Z jmercouris: or push even 2020-12-01T14:48:22Z jmercouris: if I were to bind it 2020-12-01T14:48:38Z jmercouris: however is there a way to accomplish this within the loop? 2020-12-01T14:48:43Z retropikzel quit (Quit: retropikzel) 2020-12-01T14:49:01Z retropikzel joined #lisp 2020-12-01T14:50:47Z jackdaniel: superficially via collect ... into .. and having append in the finally clause 2020-12-01T14:51:09Z jmercouris: hm 2020-12-01T14:51:10Z jackdaniel: however it doesn't buy you much because you need to traverse the list (instead of modifying the last cons) 2020-12-01T14:51:19Z jackdaniel: (indirectly via append) 2020-12-01T14:51:24Z jmercouris: right 2020-12-01T14:51:50Z jackdaniel: with the cmu's collect macro you have the collecting decoupled from loop, so you may collect "anywhere", but that's another story 2020-12-01T14:53:07Z aartaka_d joined #lisp 2020-12-01T14:53:08Z jackdaniel: (there are multiple derivatives and copycats of this macro in quicklisp, i.e in the cl-collectors library - I think that this was its name) 2020-12-01T14:53:16Z retropikzel quit (Client Quit) 2020-12-01T14:53:24Z jackdaniel: uiop:while-collecting has a bug, but I don't remember what it was exactly 2020-12-01T14:53:34Z retropikzel joined #lisp 2020-12-01T14:53:55Z jackdaniel: either something with scoping or with multiple collections not working as expected, so I'd rather discourage from using it 2020-12-01T14:54:14Z dbotton joined #lisp 2020-12-01T14:54:40Z jmercouris: OK 2020-12-01T14:54:43Z jmercouris: I will stick with append 2020-12-01T14:55:36Z aartaka quit (Ping timeout: 240 seconds) 2020-12-01T14:56:05Z ape666 joined #lisp 2020-12-01T14:57:11Z treflip quit (Quit: WeeChat 2.6) 2020-12-01T14:58:06Z cosimone quit (Quit: cosimone) 2020-12-01T14:58:10Z Nilby: I don't know what optimizations loop does, but isn't it better just to push and nreverse at some point? 2020-12-01T14:58:53Z johnjay quit (Ping timeout: 256 seconds) 2020-12-01T14:58:56Z aartaka joined #lisp 2020-12-01T14:59:14Z phoe: AFAIK it does that 2020-12-01T14:59:19Z jackdaniel: Nilby: you may always store the last cons 2020-12-01T14:59:29Z jackdaniel: and rplacd with (cons new-element nil) 2020-12-01T15:00:14Z pfdietz: The rplacd approach uses a dummy head cons cell, but that can be stack allocated w. dynamic-extent. 2020-12-01T15:00:36Z splittist: What is the good way to look for (quicklisped) lisp libraries post-Quickdocs? 2020-12-01T15:00:48Z phoe: splittist: quickref 2020-12-01T15:00:52Z johnjay joined #lisp 2020-12-01T15:01:42Z dim quit (Ping timeout: 256 seconds) 2020-12-01T15:01:52Z aartaka_d quit (Ping timeout: 256 seconds) 2020-12-01T15:02:57Z splittist: phoe: thanks. How do I use that to look for, e.g., command line processing libraries? 2020-12-01T15:03:02Z Fare quit (Ping timeout: 264 seconds) 2020-12-01T15:03:56Z urek joined #lisp 2020-12-01T15:04:40Z dbotton quit (Quit: Leaving) 2020-12-01T15:04:55Z Bike: pfdietz: the thing with generic-flet is that defining and undefining methods later is less relevant, and that's a lot of the appeal of clos. if your set of methods is static, can't you just use typecase? 2020-12-01T15:05:59Z phoe: splittist: I have no idea, actually. how would you do that with quickdocs? AFAIK it only gave you autogenerated documentation 2020-12-01T15:06:22Z phoe: I assume that you could search for: "quickref.common-lisp.net" command line 2020-12-01T15:06:25Z phoe: I get some decent hits that way 2020-12-01T15:09:29Z splittist: phoe: thanks. (I have you in my headphones talking about control flow, too. Strange feeling.) 2020-12-01T15:10:43Z phoe: splittist: now there is two of me 2020-12-01T15:11:18Z frodef quit (Ping timeout: 260 seconds) 2020-12-01T15:13:19Z retropikzel quit (Quit: retropikzel) 2020-12-01T15:13:50Z retropikzel joined #lisp 2020-12-01T15:14:35Z KREYREEN quit (Remote host closed the connection) 2020-12-01T15:16:04Z Fare joined #lisp 2020-12-01T15:18:43Z retropikzel quit (Quit: retropikzel) 2020-12-01T15:18:44Z sjl joined #lisp 2020-12-01T15:19:08Z retropikzel joined #lisp 2020-12-01T15:19:56Z dhil quit (Ping timeout: 240 seconds) 2020-12-01T15:21:53Z Nilby: splittist: I got results of (apply-argv cl-cli cli-parser net.didierverna.clon.core command-line-arguments configuration.options-source-commandline hu.dwim.util/command-line com.google.flag ufo unix-options unix-opts utility-arguments) from an older quicklisp dist. 2020-12-01T15:23:25Z retropikzel quit (Client Quit) 2020-12-01T15:23:43Z retropikzel joined #lisp 2020-12-01T15:24:39Z kir0ul_ joined #lisp 2020-12-01T15:26:54Z splittist: Nilby: thanks. 2020-12-01T15:27:13Z Nilby: You're welcome :) hope that helps 2020-12-01T15:27:42Z kiroul quit (Ping timeout: 256 seconds) 2020-12-01T15:29:36Z dim joined #lisp 2020-12-01T15:31:02Z cosimone joined #lisp 2020-12-01T15:32:56Z dhil joined #lisp 2020-12-01T15:33:22Z mathrick quit (Ping timeout: 256 seconds) 2020-12-01T15:33:54Z mathrick joined #lisp 2020-12-01T15:34:59Z KREYREEN joined #lisp 2020-12-01T15:43:45Z hhdave_ joined #lisp 2020-12-01T15:44:02Z amplituhedron joined #lisp 2020-12-01T15:44:42Z hhdave quit (Ping timeout: 256 seconds) 2020-12-01T15:44:42Z hhdave_ is now known as hhdave 2020-12-01T15:46:16Z mint__ quit (Ping timeout: 240 seconds) 2020-12-01T15:48:08Z yitzi joined #lisp 2020-12-01T15:51:28Z Steeve joined #lisp 2020-12-01T15:52:04Z benjamin-l joined #lisp 2020-12-01T15:53:01Z aeth quit (Ping timeout: 264 seconds) 2020-12-01T15:54:25Z aeth joined #lisp 2020-12-01T15:58:21Z retropikzel quit (Quit: retropikzel) 2020-12-01T15:58:42Z retropikzel joined #lisp 2020-12-01T16:01:37Z Cymew quit (Ping timeout: 246 seconds) 2020-12-01T16:04:16Z __jrjsmrtn__ joined #lisp 2020-12-01T16:06:43Z _jrjsmrtn quit (Ping timeout: 260 seconds) 2020-12-01T16:08:52Z retropikzel quit (Quit: retropikzel) 2020-12-01T16:10:03Z urek quit (Ping timeout: 272 seconds) 2020-12-01T16:10:07Z urek__ joined #lisp 2020-12-01T16:13:59Z retropikzel joined #lisp 2020-12-01T16:14:23Z etimmons: splittist: another one is adopt 2020-12-01T16:15:50Z ldb quit (Remote host closed the connection) 2020-12-01T16:16:38Z frodef joined #lisp 2020-12-01T16:23:37Z retropikzel quit (Quit: retropikzel) 2020-12-01T16:24:43Z retropikzel joined #lisp 2020-12-01T16:30:56Z dim quit (Ping timeout: 240 seconds) 2020-12-01T16:32:13Z zcheng3 joined #lisp 2020-12-01T16:33:45Z shifty joined #lisp 2020-12-01T16:34:28Z isBEKaml joined #lisp 2020-12-01T16:35:17Z ex_nihilo quit (Quit: Leaving) 2020-12-01T16:37:02Z yitzi quit (Quit: yitzi) 2020-12-01T16:37:36Z mint__ joined #lisp 2020-12-01T16:38:39Z isBEKaml quit (Quit: leaving) 2020-12-01T16:39:06Z frodef quit (Ping timeout: 256 seconds) 2020-12-01T16:39:54Z amplituhedron quit (Ping timeout: 256 seconds) 2020-12-01T16:40:18Z toorevitimirp quit (Remote host closed the connection) 2020-12-01T16:41:34Z dim joined #lisp 2020-12-01T16:46:16Z shifty quit (Ping timeout: 240 seconds) 2020-12-01T16:47:16Z shifty joined #lisp 2020-12-01T16:47:19Z EvW joined #lisp 2020-12-01T16:47:24Z hnOsmium0001 joined #lisp 2020-12-01T16:49:32Z amplituhedron joined #lisp 2020-12-01T16:50:38Z amplituhedron quit (Remote host closed the connection) 2020-12-01T16:51:56Z cosimone quit (Quit: cosimone) 2020-12-01T16:52:22Z mint__ quit (Ping timeout: 256 seconds) 2020-12-01T16:56:26Z skapata joined #lisp 2020-12-01T16:58:03Z shifty quit (Ping timeout: 260 seconds) 2020-12-01T16:58:25Z retropikzel quit (Quit: retropikzel) 2020-12-01T16:58:36Z shifty joined #lisp 2020-12-01T16:58:46Z retropikzel joined #lisp 2020-12-01T17:03:29Z galex-713 quit (Ping timeout: 246 seconds) 2020-12-01T17:08:24Z pankajsg quit (Ping timeout: 240 seconds) 2020-12-01T17:12:02Z _whitelogger quit (Remote host closed the connection) 2020-12-01T17:14:10Z _whitelogger joined #lisp 2020-12-01T17:16:20Z galex-713 joined #lisp 2020-12-01T17:22:25Z dyelar quit (Quit: Leaving.) 2020-12-01T17:29:58Z shifty quit (Ping timeout: 272 seconds) 2020-12-01T17:30:25Z shifty joined #lisp 2020-12-01T17:39:49Z andreyorst` quit (Quit: andreyorst`) 2020-12-01T17:41:04Z dim quit (Ping timeout: 240 seconds) 2020-12-01T17:42:44Z retropikzel quit (Ping timeout: 240 seconds) 2020-12-01T17:43:43Z retropikzel joined #lisp 2020-12-01T17:44:16Z mathrick quit (Ping timeout: 240 seconds) 2020-12-01T17:44:39Z andreyorst_ joined #lisp 2020-12-01T17:44:54Z mathrick joined #lisp 2020-12-01T17:51:28Z Nilby quit (Read error: Connection reset by peer) 2020-12-01T17:57:43Z galex-713 quit (Ping timeout: 272 seconds) 2020-12-01T17:58:55Z retropikzel quit (Quit: retropikzel) 2020-12-01T17:59:25Z retropikzel joined #lisp 2020-12-01T18:00:41Z Steeve quit (Quit: end) 2020-12-01T18:01:50Z shifty quit (Ping timeout: 256 seconds) 2020-12-01T18:02:27Z shifty joined #lisp 2020-12-01T18:02:47Z dim joined #lisp 2020-12-01T18:02:54Z galex-713 joined #lisp 2020-12-01T18:05:42Z EvW quit (Ping timeout: 244 seconds) 2020-12-01T18:07:44Z aartaka quit (Read error: Connection reset by peer) 2020-12-01T18:07:49Z aartaka_d joined #lisp 2020-12-01T18:09:07Z benjamin-l quit (Ping timeout: 272 seconds) 2020-12-01T18:12:47Z waleee-cl joined #lisp 2020-12-01T18:17:05Z liberliver quit (Ping timeout: 265 seconds) 2020-12-01T18:18:40Z frodef joined #lisp 2020-12-01T18:21:10Z andreyorst_ quit (Quit: andreyorst_) 2020-12-01T18:21:46Z andreyorst_ joined #lisp 2020-12-01T18:28:59Z shka_: hi all 2020-12-01T18:29:51Z shka_: i am looking for fast binary storage format that i can mmap 2020-12-01T18:29:58Z shka_: i just need tables 2020-12-01T18:30:19Z shka_: hmmmm actually there is manadb 2020-12-01T18:30:26Z shka_: now i have reason to try it! 2020-12-01T18:32:34Z EvW joined #lisp 2020-12-01T18:36:45Z lotuseater quit (Remote host closed the connection) 2020-12-01T18:37:44Z jonatack quit (Ping timeout: 272 seconds) 2020-12-01T18:38:09Z jonatack joined #lisp 2020-12-01T18:43:24Z spxy[m] joined #lisp 2020-12-01T18:43:51Z pyc joined #lisp 2020-12-01T18:44:06Z spxy[m]: hello 2020-12-01T18:44:15Z phoe: heyyyy 2020-12-01T18:44:55Z benjamin-l joined #lisp 2020-12-01T18:46:06Z spxy[m] left #lisp 2020-12-01T18:46:44Z pyc: What's the difference between #lisp and ##lisp? 2020-12-01T18:47:33Z ck_: the former is about Common Lisp while the latter isn't 2020-12-01T18:50:13Z phoe: #lisp is about mostly-on-topic Common Lisp discussion, #clschool is about learning Common Lisp, #lispcafe is a mostly-off-topic hangout 2020-12-01T18:50:22Z phoe: there's bunch of other more specific channels, too 2020-12-01T18:50:32Z phoe: related to implementations, projects, personal groups, etc.. 2020-12-01T19:00:35Z aeth: "Lisp" can mean "Common Lisp" (e.g. the .lisp extension) or it can mean "the Lisp family of languages" 2020-12-01T19:00:45Z aeth: ##lisp uses the latter definition 2020-12-01T19:01:22Z aeth: There aren't really a lot of Lisps that aren't something else more than they're Lisp (e.g. Schemes) so it's not particularly useful to talk about Lisps as a whole. 2020-12-01T19:02:43Z aeth: Common Lisp is called "Common" Lisp because it should be able to run most historic Lisp programs (including Emacs Lisp, which is intentionally archaic, even though it came after Common Lisp) with very little, if any, modification. 2020-12-01T19:03:56Z aeth: Most other Lisps represent a radical break in compatibility, with the possible exception of Scheme, which still renames practically everything. 2020-12-01T19:04:34Z amplituhedron joined #lisp 2020-12-01T19:05:57Z aeth: For perspective, sometimes people come here with Emacs Lisp questions and it takes a while to find out that it's not in fact a question about Common Lisp code. 2020-12-01T19:08:11Z aartaka joined #lisp 2020-12-01T19:09:47Z urek joined #lisp 2020-12-01T19:10:24Z KREYREEN quit (Remote host closed the connection) 2020-12-01T19:10:24Z aartaka_d quit (Ping timeout: 240 seconds) 2020-12-01T19:10:32Z urek__ quit (Ping timeout: 246 seconds) 2020-12-01T19:13:25Z retropikzel quit (Quit: retropikzel) 2020-12-01T19:13:48Z retropikzel joined #lisp 2020-12-01T19:18:31Z miasuji joined #lisp 2020-12-01T19:23:17Z KREYREEN joined #lisp 2020-12-01T19:23:26Z miasuji quit (Ping timeout: 264 seconds) 2020-12-01T19:24:50Z Jesin quit (Quit: Leaving) 2020-12-01T19:26:44Z imode joined #lisp 2020-12-01T19:28:24Z jmercouris: any way to do some operation like 'push' but where I can actually individually push all the elements? 2020-12-01T19:28:30Z jmercouris: (defparameter x (list 0 1 2 3)) 2020-12-01T19:28:36Z cosimone joined #lisp 2020-12-01T19:28:41Z jmercouris: (push '(3 4 2) x) -> ((3 4 2) 4 0 1 2 3) 2020-12-01T19:28:51Z jmercouris: instead I would prefer (3 4 2 0 1 2 3) 2020-12-01T19:28:59Z jmercouris: obviously append, but append requires setf'ing X 2020-12-01T19:29:43Z Jesin joined #lisp 2020-12-01T19:30:07Z Bike: jmercouris: i mean, push is just setf x under the hood. you can use define-modify-macro to get appendf, or else i think alexandria has it 2020-12-01T19:30:32Z Bike: https://github.com/keithj/alexandria/blob/master/lists.lisp#L107-L109 yes it does. 2020-12-01T19:30:35Z jmercouris: ah, yes alexandria does have it, I didn't know what the name would be 2020-12-01T19:30:38Z jmercouris: thank you Bike 2020-12-01T19:30:41Z Bike: that is, you'd do (appendf '(3 4 2) x) 2020-12-01T19:30:42Z Bike: np 2020-12-01T19:30:45Z jmercouris: Yes 2020-12-01T19:30:58Z Bike: ...er, would that work, or would it try to modify the quoted list? maybe that wouldn't work 2020-12-01T19:31:05Z jmercouris: its not a quoted list 2020-12-01T19:31:11Z jmercouris: that's just an example for this discussion 2020-12-01T19:31:22Z Bike: well, i mean, i think if you did (appendf y x) it would modify y, not x 2020-12-01T19:31:32Z jmercouris: I'll find out soon enough 2020-12-01T19:31:34Z jmercouris: :-D 2020-12-01T19:31:36Z Bike: true... 2020-12-01T19:32:00Z jmercouris: first arg is place 2020-12-01T19:32:06Z jmercouris: I will assume it will modify that 2020-12-01T19:32:19Z Bike: yeah, ok. 2020-12-01T19:33:28Z mmontone joined #lisp 2020-12-01T19:33:29Z bilegeek joined #lisp 2020-12-01T19:34:17Z mmontone quit (Remote host closed the connection) 2020-12-01T19:34:28Z dmiles quit (Read error: Connection reset by peer) 2020-12-01T19:34:33Z spxy[m] joined #lisp 2020-12-01T19:35:30Z mmontone joined #lisp 2020-12-01T19:35:38Z spxy[m] left #lisp 2020-12-01T19:35:51Z adlai: jmercouris: I realize your example for this was only an example; however, I hope that you are aware that all these examples modifying quotes structure are undefined behavior. 2020-12-01T19:36:51Z jmercouris: I am aware, yes 2020-12-01T19:36:55Z dmiles joined #lisp 2020-12-01T19:38:44Z frodef quit (Ping timeout: 240 seconds) 2020-12-01T19:38:47Z Bike: well they're trying to modify x, which is fine 2020-12-01T19:40:31Z _death: but jmercouris's example indicates that he wants a prependf 2020-12-01T19:40:49Z liberliver joined #lisp 2020-12-01T19:41:34Z Bike: that's a good way to put it 2020-12-01T19:43:41Z _death: or a push-all macro taking the place as the second argument 2020-12-01T19:46:19Z dim quit (Ping timeout: 246 seconds) 2020-12-01T19:46:36Z lotuseater joined #lisp 2020-12-01T19:47:33Z hugh_marera joined #lisp 2020-12-01T19:47:34Z amb007 quit (Read error: Connection reset by peer) 2020-12-01T19:48:26Z _death: though that may be a bit ambiguous.. should it be (3 4 2 ...) or (2 4 3 ...) so I'd say (preferf operator 'prependf) 2020-12-01T19:48:31Z amb007 joined #lisp 2020-12-01T19:51:05Z EvW quit (Ping timeout: 272 seconds) 2020-12-01T19:51:08Z adlai wonders how much downstream technical debt depends upon chanl's current behavior; a quick glance through quicklisp metadata shows that it does have a few dependants 2020-12-01T19:51:53Z adlai has not checked the other package managers yet 2020-12-01T19:52:57Z adlai: amusingly enough, not one of the dependencies are libraries that I'd heard of, before checking. 2020-12-01T19:53:44Z shifty quit (Ping timeout: 240 seconds) 2020-12-01T19:53:45Z amb007 quit (Read error: Connection reset by peer) 2020-12-01T19:54:53Z amb007 joined #lisp 2020-12-01T19:55:00Z shifty joined #lisp 2020-12-01T19:56:15Z Stanley00 joined #lisp 2020-12-01T19:56:15Z amb007 quit (Read error: Connection reset by peer) 2020-12-01T19:56:38Z amb007 joined #lisp 2020-12-01T19:58:04Z heisig quit (Quit: Leaving) 2020-12-01T20:00:36Z Stanley00 quit (Ping timeout: 240 seconds) 2020-12-01T20:01:19Z frodef joined #lisp 2020-12-01T20:09:25Z zge joined #lisp 2020-12-01T20:09:36Z andreyorst_ quit (Ping timeout: 240 seconds) 2020-12-01T20:12:36Z amb007 quit (Read error: Connection reset by peer) 2020-12-01T20:13:09Z amb007 joined #lisp 2020-12-01T20:13:38Z jmercouris: the order is irrelevant to me 2020-12-01T20:13:41Z jmercouris: which is why I said you could do push or append 2020-12-01T20:14:19Z jeosol quit (Remote host closed the connection) 2020-12-01T20:14:51Z Lord_of_Life quit (Read error: Connection reset by peer) 2020-12-01T20:15:32Z Lord_of_Life joined #lisp 2020-12-01T20:15:32Z Lord_of_Life quit (Changing host) 2020-12-01T20:15:32Z Lord_of_Life joined #lisp 2020-12-01T20:15:32Z amb007 quit (Read error: Connection reset by peer) 2020-12-01T20:15:33Z jeosol joined #lisp 2020-12-01T20:15:43Z amb007 joined #lisp 2020-12-01T20:17:03Z hendursaga quit (Ping timeout: 240 seconds) 2020-12-01T20:18:38Z hendursaga joined #lisp 2020-12-01T20:20:16Z Jesin quit (Quit: Leaving) 2020-12-01T20:22:36Z amb007 quit (Read error: Connection reset by peer) 2020-12-01T20:23:30Z amb007 joined #lisp 2020-12-01T20:25:10Z Jesin joined #lisp 2020-12-01T20:25:12Z amb007 quit (Read error: Connection reset by peer) 2020-12-01T20:25:40Z amb007 joined #lisp 2020-12-01T20:28:02Z amb007 quit (Read error: Connection reset by peer) 2020-12-01T20:28:31Z amb007 joined #lisp 2020-12-01T20:28:46Z retropikzel quit (Quit: retropikzel) 2020-12-01T20:29:04Z retropikzel joined #lisp 2020-12-01T20:31:47Z lotuseater: hi there, i wanna make a read macro with #\⍳ that reads in stuff like "⍳5" and produces (loop :for i :from 1 :to 5 :collect i). up to now i only made read macros with read-delimited-list 2020-12-01T20:32:33Z lotuseater: maybe also my understanding of peek-char is slightly better 2020-12-01T20:32:38Z Bike: for that it sounds like you should just be able to use read. 2020-12-01T20:33:02Z Bike: or parse-integer, i guess 2020-12-01T20:33:18Z retropikzel quit (Client Quit) 2020-12-01T20:33:35Z retropikzel joined #lisp 2020-12-01T20:33:38Z lotuseater: hm sounds good 2020-12-01T20:34:30Z sjl: I'd just use `read`, then you could make ⍳(1+ foo) read as (loop for somegensym from 1 :to (1+ foo) collect somegensym) 2020-12-01T20:34:48Z dim joined #lisp 2020-12-01T20:35:48Z sjl: well, I'd probably make it read as `(alexandria:iota ... :start 1)` instead of a loop form, but you get the idea 2020-12-01T20:36:28Z lotuseater: so (set-macro-character #\⍳ #'read) ? 2020-12-01T20:37:18Z lotuseater: sjl: ah cool i didn't realize that in alexandria yet 2020-12-01T20:37:21Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-12-01T20:37:38Z sjl: No, you'd need to make your own function that calls read to read in the next form, then returns the form you want 2020-12-01T20:38:40Z lotuseater: ah of course :D 2020-12-01T20:40:20Z sjl: clhs set-macro-character 2020-12-01T20:40:20Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_set_ma.htm 2020-12-01T20:40:31Z sjl: It would be much like the quote reader example they give there 2020-12-01T20:41:12Z sjl: except instead of returning (list 'quote (read ...)) you return `(alexandria:iota ,(read ...) :start 1) 2020-12-01T20:41:56Z sjl: (you can of course make your own iota function if you don't want to use alexandria 2020-12-01T20:42:00Z cosimone quit (Remote host closed the connection) 2020-12-01T20:42:17Z cosimone joined #lisp 2020-12-01T20:42:44Z lotuseater: no alexandria is great :3 2020-12-01T20:43:15Z davisr__ joined #lisp 2020-12-01T20:43:24Z lotuseater: hehe now simple case seems to work 2020-12-01T20:43:59Z amb007 quit (Read error: Connection reset by peer) 2020-12-01T20:44:48Z bilegeek quit (Quit: Leaving) 2020-12-01T20:45:05Z amb007 joined #lisp 2020-12-01T20:45:24Z davisr_ quit (Ping timeout: 240 seconds) 2020-12-01T20:47:48Z shinohai: 1 2020-12-01T20:49:39Z liberliver quit (Ping timeout: 260 seconds) 2020-12-01T20:49:46Z Aurora_v_kosmose joined #lisp 2020-12-01T20:51:10Z davisr__ is now known as davisr 2020-12-01T20:51:10Z amb007 quit (Read error: Connection reset by peer) 2020-12-01T20:51:50Z edgar-rft hopes that alexandria has better fire protection now 2020-12-01T20:52:02Z amb007 joined #lisp 2020-12-01T20:52:11Z akoana joined #lisp 2020-12-01T20:52:38Z narimiran quit (Ping timeout: 272 seconds) 2020-12-01T20:53:13Z EvW joined #lisp 2020-12-01T20:54:11Z cosimone quit (Remote host closed the connection) 2020-12-01T20:54:27Z cosimone joined #lisp 2020-12-01T20:56:01Z lotuseater: edgar-rft: what do you mean? have there been problems in the past? 2020-12-01T20:56:20Z Josh_2: yes, the library of alexandria burned down 2020-12-01T20:57:47Z aeth_ joined #lisp 2020-12-01T20:57:48Z amb007 quit (Read error: Connection reset by peer) 2020-12-01T20:58:09Z aeth quit (Disconnected by services) 2020-12-01T20:58:22Z aeth_ is now known as aeth 2020-12-01T20:58:28Z amb007 joined #lisp 2020-12-01T20:58:56Z dim quit (Ping timeout: 240 seconds) 2020-12-01T20:59:28Z aaaaaa joined #lisp 2020-12-01T21:00:06Z lotuseater: ah yes of course 2020-12-01T21:00:25Z lotuseater: and it burned down TWO times if I am not mistaken 2020-12-01T21:00:26Z amb007 quit (Read error: Connection reset by peer) 2020-12-01T21:00:38Z amb007 joined #lisp 2020-12-01T21:00:42Z amb007 quit (Read error: Connection reset by peer) 2020-12-01T21:00:54Z dim joined #lisp 2020-12-01T21:01:02Z amb007 joined #lisp 2020-12-01T21:02:49Z cantstanya joined #lisp 2020-12-01T21:02:50Z taof joined #lisp 2020-12-01T21:02:52Z edgar-rft: details see -> https://en.wikipedia.org/wiki/Library_of_Alexandria#Decline 2020-12-01T21:03:44Z aeth quit (Ping timeout: 240 seconds) 2020-12-01T21:03:59Z lotuseater: if I had a time machine that would be one place to visit 2020-12-01T21:04:56Z aeth joined #lisp 2020-12-01T21:05:47Z lotuseater: and now I also get where the name serapeum comes from 2020-12-01T21:10:55Z andreyorst quit (Quit: WeeChat 3.0) 2020-12-01T21:11:04Z Younder joined #lisp 2020-12-01T21:11:31Z JohnnyL joined #lisp 2020-12-01T21:19:16Z mbomba joined #lisp 2020-12-01T21:20:18Z Aurora_v_kosmose quit (Quit: Пока, мир.) 2020-12-01T21:22:33Z scymtym quit (Ping timeout: 244 seconds) 2020-12-01T21:24:25Z Aurora_v_kosmose joined #lisp 2020-12-01T21:26:27Z dbotton joined #lisp 2020-12-01T21:30:05Z mmontone quit (Ping timeout: 245 seconds) 2020-12-01T21:37:24Z dhil quit (Ping timeout: 256 seconds) 2020-12-01T21:39:01Z orivej quit (Ping timeout: 260 seconds) 2020-12-01T21:45:39Z hiroaki joined #lisp 2020-12-01T21:46:07Z fengshaun_ quit (Quit: bibi!) 2020-12-01T21:49:25Z dim quit (Ping timeout: 264 seconds) 2020-12-01T21:49:50Z dhil joined #lisp 2020-12-01T21:49:52Z shifty quit (Ping timeout: 256 seconds) 2020-12-01T21:54:39Z fengshaun joined #lisp 2020-12-01T21:55:38Z shifty joined #lisp 2020-12-01T21:56:52Z dbotton quit (Quit: This computer has gone to sleep) 2020-12-01T21:57:04Z Stanley00 joined #lisp 2020-12-01T22:01:12Z shifty quit (Ping timeout: 256 seconds) 2020-12-01T22:01:46Z Stanley00 quit (Ping timeout: 256 seconds) 2020-12-01T22:03:25Z leo_song joined #lisp 2020-12-01T22:05:36Z wsinatra quit (Quit: WeeChat 3.0) 2020-12-01T22:13:38Z kaftejiman quit (Remote host closed the connection) 2020-12-01T22:25:50Z benjamin-l quit (Ping timeout: 264 seconds) 2020-12-01T22:28:45Z retropikzel quit (Quit: retropikzel) 2020-12-01T22:29:02Z retropikzel joined #lisp 2020-12-01T22:30:55Z dim joined #lisp 2020-12-01T22:33:17Z retropikzel quit (Client Quit) 2020-12-01T22:33:35Z retropikzel joined #lisp 2020-12-01T22:34:11Z benjamin-l joined #lisp 2020-12-01T22:35:36Z dim quit (Ping timeout: 240 seconds) 2020-12-01T22:36:20Z jibanes quit (Ping timeout: 256 seconds) 2020-12-01T22:38:09Z jibanes joined #lisp 2020-12-01T22:42:12Z JohnnyL quit (Ping timeout: 272 seconds) 2020-12-01T22:42:36Z aaaaaa quit (Ping timeout: 240 seconds) 2020-12-01T22:43:29Z dim joined #lisp 2020-12-01T22:43:37Z orivej joined #lisp 2020-12-01T22:44:43Z aaaaaa joined #lisp 2020-12-01T22:48:14Z saganman quit (Ping timeout: 256 seconds) 2020-12-01T22:48:22Z adlai wonders whether anyone suggested to github that they parse dependency information from .asd files 2020-12-01T22:48:39Z saganman joined #lisp 2020-12-01T22:49:29Z adlai: whereas once their easy excuse not to, the absence of a package manager, is gone, they could now just blame the lack of standardization on any single one. 2020-12-01T22:55:08Z akoana quit (Quit: leaving) 2020-12-01T22:55:30Z aeth quit (Ping timeout: 272 seconds) 2020-12-01T22:57:03Z aeth joined #lisp 2020-12-01T22:58:21Z Codaraxis joined #lisp 2020-12-01T22:59:56Z dim quit (Ping timeout: 272 seconds) 2020-12-01T23:00:07Z ape666 quit (Remote host closed the connection) 2020-12-01T23:02:48Z Josh_2: but why? 2020-12-01T23:03:16Z phoe: what do you mean, lack of standardization? 2020-12-01T23:03:32Z phoe: ASDF is *THE* de facto system manager for Common Lisp 2020-12-01T23:04:04Z frgo quit (Remote host closed the connection) 2020-12-01T23:04:06Z phoe: there's nothing even close to it in terms of popularity and use nowadays, and most of these other utilities parse .asd files anyway. 2020-12-01T23:04:31Z frgo joined #lisp 2020-12-01T23:04:50Z p_l: well, it's not exactly system manager 2020-12-01T23:05:04Z p_l: it's a system definition slash build system 2020-12-01T23:05:08Z phoe: it's not exactly not a system manager either 2020-12-01T23:05:20Z jasom: As its name might suggest, it defines systems, it doesn't manage them per-se 2020-12-01T23:05:45Z p_l: it used to be a system manager through extensions like asdf-install (fortunately dead) 2020-12-01T23:05:55Z phoe: it handles the part where you declare dependencies and it ensures that they are loaded; that's the context that GitHub might want to care about in this context 2020-12-01T23:07:14Z p_l: true dat 2020-12-01T23:07:27Z jw4 joined #lisp 2020-12-01T23:08:45Z adlai used the word 'package', in 'package manager', with the connotation it has in the linux world, of locating and installing external libraries; as opposed to the parts that are entirely within ANSI CL 2020-12-01T23:08:56Z dim joined #lisp 2020-12-01T23:09:58Z adlai: lol, at one point, wasn't asdf-install doing text searches of cliki to locate tarball urls? 2020-12-01T23:10:35Z rgherdt quit (Ping timeout: 272 seconds) 2020-12-01T23:10:42Z adlai: back in the good old days, before symbolics.com expired 2020-12-01T23:11:16Z orivej quit (Ping timeout: 240 seconds) 2020-12-01T23:15:31Z urek quit (Quit: urek) 2020-12-01T23:18:45Z pankajsg joined #lisp 2020-12-01T23:27:12Z dbotton joined #lisp 2020-12-01T23:28:03Z dbotton quit (Client Quit) 2020-12-01T23:31:53Z lotuseater: adlai: i learned some time ago it was the first .com domain in 1985 :) and the ones after that also companies with relation to LISP (machines) 2020-12-01T23:33:12Z amplituhedron quit (Remote host closed the connection) 2020-12-01T23:34:04Z froggey quit (Ping timeout: 240 seconds) 2020-12-01T23:34:05Z thijso quit (Ping timeout: 240 seconds) 2020-12-01T23:35:40Z amplituhedron joined #lisp 2020-12-01T23:35:47Z thijso joined #lisp 2020-12-01T23:36:08Z surabax: lotuseater: The first web site of the US White House was powered by CL-HTTP and Statice running on a Symbolics Lisp machine, iirc 2020-12-01T23:36:11Z froggey joined #lisp 2020-12-01T23:36:34Z surabax: *The first version of the web site 2020-12-01T23:36:46Z lotuseater: surabax: awesome <3 2020-12-01T23:36:59Z amplituhedron quit (Read error: Connection reset by peer) 2020-12-01T23:37:13Z lotuseater: thx for this historical detail 2020-12-01T23:37:27Z amplituhedron joined #lisp 2020-12-01T23:37:36Z lotuseater: did anyone of you hacked on a real lisp machine in the past? 2020-12-01T23:39:36Z random-nick quit (Ping timeout: 240 seconds) 2020-12-01T23:40:18Z cl-arthur: lotuseater: maybe you'll enjoy https://lisper.in/reader-macros, it's the tutorial someone recommended me when I first had a problem addressable by a reader macro. 2020-12-01T23:40:49Z cl-arthur: OTOH that was three hours ago and I had left the irc far scrolled up. whoops :) 2020-12-01T23:41:39Z lotuseater: cl-arthur: great thx :) 2020-12-01T23:42:45Z lotuseater: i read up to now to that topic (not everything) in On Lisp, Let over Lambda and https://gist.github.com/chaitanyagupta/9324402 2020-12-01T23:43:13Z lotuseater: ha lol it's the same :P 2020-12-01T23:43:30Z cl-arthur: it's the same *grins* oh well! 2020-12-01T23:45:16Z dim quit (Ping timeout: 240 seconds) 2020-12-01T23:45:16Z lotuseater: did you get my reference last week? https://en.wikipedia.org/wiki/Knights_of_the_Lambda_Calculus 2020-12-01T23:46:28Z cl-arthur: I didn't, so I ended up reading the wikipedia entry and some other website too :) 2020-12-01T23:46:50Z EvW quit (Ping timeout: 264 seconds) 2020-12-01T23:47:22Z lotuseater: ok good. it came to my mind again because Arthur was one of the Knights from the legend 2020-12-01T23:48:05Z adlai: Arthur was not just one of the knights, he was King of the Britons 2020-12-01T23:48:46Z lotuseater: ah hm so i messed something up 2020-12-01T23:51:24Z dhil quit (Ping timeout: 240 seconds) 2020-12-01T23:52:48Z lotuseater: so to have a readmacro for writing lists (aka vectors) like in Haskell i alter the readtable after going into (set-macro-character #\[ ...) so i can have something like [2,5..100] ? 2020-12-01T23:53:41Z lotuseater: i think some foreign stuff needs some kind of backtracking or continuation 2020-12-01T23:54:13Z Bike: er, what are you asking? you could write a list comprehension reader macro, yes 2020-12-01T23:54:16Z Stanley00 joined #lisp 2020-12-01T23:54:53Z Bike: i'm not sure what backtracking has to do with it 2020-12-01T23:55:19Z lotuseater: yeah and just for understanding to make more advaned readmacros 2020-12-01T23:55:21Z Bike: i guess that's not really a list comprehension 2020-12-01T23:55:31Z lotuseater: no it isn't 2020-12-01T23:55:51Z Bike: anyway, reader macros get a handle to the stream and can read whatever they want and interpret it however they want 2020-12-01T23:56:01Z Bike: so you can do basically whatever you want 2020-12-01T23:56:37Z lotuseater: listcomp would be something like [ x + y | x <- [1..100], y <- [1..100], x+y == 10] 2020-12-01T23:56:53Z lotuseater: yes it is powerful 2020-12-01T23:56:54Z no-defun-allowed: Haskell lists are Lisp proper lists, FWIW 2020-12-01T23:58:17Z cosimone_ joined #lisp 2020-12-01T23:58:36Z hiroaki quit (Ping timeout: 240 seconds) 2020-12-01T23:59:28Z Stanley00 quit (Ping timeout: 272 seconds) 2020-12-01T23:59:57Z lotuseater: sorry didn't want to annoy with that stuff ._. 2020-12-02T00:00:22Z EvW joined #lisp 2020-12-02T00:00:41Z moon-child: no-defun-allowed: true, but their strings are [Char], which has caused endless consternation 2020-12-02T00:00:56Z lotuseater: Bike: but what didn't fit in my head yet is when I do READ-CHAR but also want to jump back how to do it 2020-12-02T00:01:20Z rumbler3_ joined #lisp 2020-12-02T00:01:24Z cosimone quit (Ping timeout: 240 seconds) 2020-12-02T00:01:25Z cosimone_ is now known as cosimone 2020-12-02T00:01:54Z lotuseater: moon-child: yes it is awful (but can for simple stuff also be useful) newer libs like RIO are better if you don't like that or the hole Prelude 2020-12-02T00:01:59Z cl-arthur: UNREAD-CHAR. PEEK-CHAR is also useful. 2020-12-02T00:02:57Z lotuseater: damn. yes PEEK-CHAR 2020-12-02T00:03:21Z cl-arthur: read-char -> peek-char -> unread-char. now you know the next two chars in the stream XD 2020-12-02T00:04:34Z lotuseater: yeah and you can give peek-char a char, but if it's not found it seems to throw me to the debugger 2020-12-02T00:07:20Z no-defun-allowed: clhs peek-char 2020-12-02T00:07:20Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_peek_c.htm 2020-12-02T00:07:54Z lotuseater: hm sometimes I miss in LOOP stuff like collect but giving a typed vector back 2020-12-02T00:08:14Z lotuseater: ok thx no-defun-allowed. hope it doesn't seem to trivial to you 2020-12-02T00:08:23Z no-defun-allowed: (peek-char peek-type) accepts peek-type = NIL to peek the very next character, = T to peek at the next non-whitespace character, and a character to peek at the next character char= to that one. 2020-12-02T00:09:27Z lotuseater: nice 2020-12-02T00:10:18Z Jach[m] joined #lisp 2020-12-02T00:10:58Z lotuseater: there seems also to be STREAM-PEEK-CHAR and others 2020-12-02T00:18:31Z ape666 joined #lisp 2020-12-02T00:21:45Z no-defun-allowed: I think that is the generic function you can use with Gray streams to implement PEEK-CHAR. 2020-12-02T00:22:17Z bilegeek joined #lisp 2020-12-02T00:23:09Z lotuseater: ah yes, had some errors with graystreams, but don't know enough about it 2020-12-02T00:24:37Z pve quit (Quit: leaving) 2020-12-02T00:30:55Z cosimone quit (Quit: cosimone) 2020-12-02T00:34:44Z EvW quit (Ping timeout: 240 seconds) 2020-12-02T00:34:45Z Fare quit (Ping timeout: 244 seconds) 2020-12-02T00:37:56Z sjl quit (Ping timeout: 240 seconds) 2020-12-02T00:42:57Z Fare joined #lisp 2020-12-02T00:43:56Z frodef quit (Ping timeout: 240 seconds) 2020-12-02T00:44:16Z zcheng3 quit (Ping timeout: 260 seconds) 2020-12-02T00:46:40Z jw4 quit (Ping timeout: 256 seconds) 2020-12-02T00:51:01Z dim joined #lisp 2020-12-02T00:56:58Z ljavorsk quit (Ping timeout: 260 seconds) 2020-12-02T00:57:25Z xrash joined #lisp 2020-12-02T00:59:21Z taof left #lisp 2020-12-02T01:04:05Z wglb``` joined #lisp 2020-12-02T01:04:25Z rumbler3_ quit (Remote host closed the connection) 2020-12-02T01:08:26Z wglb`` quit (Ping timeout: 264 seconds) 2020-12-02T01:08:59Z zcheng3 joined #lisp 2020-12-02T01:10:04Z isBEKaml joined #lisp 2020-12-02T01:12:04Z ape666 quit (Ping timeout: 240 seconds) 2020-12-02T01:13:18Z pankajsg quit (Ping timeout: 256 seconds) 2020-12-02T01:16:33Z shifty joined #lisp 2020-12-02T01:18:44Z amplituhedron quit (Ping timeout: 256 seconds) 2020-12-02T01:20:02Z amplituhedron joined #lisp 2020-12-02T01:25:37Z amplituhedron quit (Read error: Connection reset by peer) 2020-12-02T01:28:46Z retropikzel quit (Quit: retropikzel) 2020-12-02T01:29:04Z retropikzel joined #lisp 2020-12-02T01:33:17Z retropikzel quit (Client Quit) 2020-12-02T01:33:36Z retropikzel joined #lisp 2020-12-02T01:39:20Z Josh_2 quit (Ping timeout: 260 seconds) 2020-12-02T01:42:42Z Lord_of_Life quit (Ping timeout: 272 seconds) 2020-12-02T01:43:06Z Lord_of_Life joined #lisp 2020-12-02T01:47:11Z Oladon joined #lisp 2020-12-02T01:49:40Z rumbler3_ joined #lisp 2020-12-02T01:50:10Z surabax quit (Quit: Leaving) 2020-12-02T01:52:06Z ape666 joined #lisp 2020-12-02T01:53:32Z zcheng3 quit (Ping timeout: 256 seconds) 2020-12-02T01:53:49Z rumbler3_ quit (Ping timeout: 246 seconds) 2020-12-02T02:03:15Z JohnnyL joined #lisp 2020-12-02T02:19:01Z dvdmuckle quit (Quit: Bouncer Surgery) 2020-12-02T02:19:33Z KREYREEN quit (Remote host closed the connection) 2020-12-02T02:20:28Z KREYREEN joined #lisp 2020-12-02T02:21:47Z dvdmuckle joined #lisp 2020-12-02T02:24:42Z JohnnyL quit (Quit: leaving) 2020-12-02T02:25:05Z aartaka_d joined #lisp 2020-12-02T02:26:28Z aartaka quit (Ping timeout: 260 seconds) 2020-12-02T02:32:03Z isBEKaml quit (Quit: leaving) 2020-12-02T02:35:02Z ape666 quit (Remote host closed the connection) 2020-12-02T02:44:39Z Stanley00 joined #lisp 2020-12-02T02:48:46Z retropikzel quit (Quit: retropikzel) 2020-12-02T02:49:04Z retropikzel joined #lisp 2020-12-02T02:53:17Z retropikzel quit (Client Quit) 2020-12-02T02:53:35Z retropikzel joined #lisp 2020-12-02T02:59:51Z Fare quit (Quit: Leaving) 2020-12-02T03:05:29Z ldb joined #lisp 2020-12-02T03:06:53Z ldb: what is the implementation behind CL's resizable array? 2020-12-02T03:09:05Z no-defun-allowed: One way to implement it is to have a header object, which references a storage vector. Then when you resize the array, you copy the contents of the old storage vector to a new storage vector and swap the old one out. 2020-12-02T03:10:30Z ldb: i know that is the O(n) extra space one 2020-12-02T03:11:03Z ldb: but does any implementation take the O(sqrt n) minimal extra space approch 2020-12-02T03:11:45Z Bike: what approach would that be? 2020-12-02T03:12:21Z moon-child: ldb: if you grow your allocation chunk size exponentially, then the number of times you have to copy goes O(lgn) in the number of items you add 2020-12-02T03:12:47Z ldb: Bike: https://www.researchgate.net/publication/2801681_Resizable_Arrays_in_Optimal_Time_and_Space 2020-12-02T03:12:50Z no-defun-allowed: SBCL extends a vector with vector-push-extend by 50% of its length, from memory. 2020-12-02T03:14:00Z xrash quit (Ping timeout: 256 seconds) 2020-12-02T03:15:34Z ldb: This paper describles a improvement on the 50% expansion approch, reduces the extra memory usuage to minimal, and still has the same time complexity 2020-12-02T03:17:07Z Fare joined #lisp 2020-12-02T03:17:27Z no-defun-allowed: It looks like AREF would be slower, and I don't know of any Lisp systems that use buddy allocation. 2020-12-02T03:19:18Z dim quit (Ping timeout: 260 seconds) 2020-12-02T03:20:18Z ldb: I think the buddy system is for languages with manual memory management, the core data structure is sufficient to be used with GC 2020-12-02T03:22:14Z no-defun-allowed: Right. 2020-12-02T03:25:05Z dim joined #lisp 2020-12-02T03:33:08Z nihil joined #lisp 2020-12-02T03:36:53Z mister_m joined #lisp 2020-12-02T03:44:30Z zaquest quit (Quit: Leaving) 2020-12-02T03:44:52Z nihil quit (Remote host closed the connection) 2020-12-02T03:47:09Z Aurora_v_kosmose quit (Quit: later) 2020-12-02T03:51:13Z zaquest joined #lisp 2020-12-02T03:55:40Z rumbler31 joined #lisp 2020-12-02T04:00:16Z rumbler31 quit (Ping timeout: 260 seconds) 2020-12-02T04:01:58Z Stanley00 quit (Remote host closed the connection) 2020-12-02T04:02:13Z Alfr_ joined #lisp 2020-12-02T04:04:24Z Alfr quit (Ping timeout: 240 seconds) 2020-12-02T04:06:41Z beach: Good morning everyone! 2020-12-02T04:11:14Z thefunc5 joined #lisp 2020-12-02T04:13:46Z retropikzel quit (Quit: retropikzel) 2020-12-02T04:13:51Z phantomics: Morning beach 2020-12-02T04:14:03Z retropikzel joined #lisp 2020-12-02T04:18:17Z retropikzel quit (Client Quit) 2020-12-02T04:18:35Z retropikzel joined #lisp 2020-12-02T04:23:34Z Bike quit (Quit: Lost terminal) 2020-12-02T04:32:39Z ebrasca: Morning beach! 2020-12-02T04:34:54Z ebrasca quit (Remote host closed the connection) 2020-12-02T04:35:44Z shifty quit (Ping timeout: 240 seconds) 2020-12-02T04:37:18Z ldb quit (Ping timeout: 256 seconds) 2020-12-02T04:46:26Z narimiran joined #lisp 2020-12-02T04:47:23Z miasuji joined #lisp 2020-12-02T04:48:46Z retropikzel quit (Quit: retropikzel) 2020-12-02T04:48:51Z miasuji quit (Remote host closed the connection) 2020-12-02T04:49:04Z retropikzel joined #lisp 2020-12-02T04:49:31Z miasuji joined #lisp 2020-12-02T04:53:28Z Necktwi quit (Ping timeout: 260 seconds) 2020-12-02T04:54:38Z miasuji quit (Ping timeout: 264 seconds) 2020-12-02T04:58:18Z retropikzel quit (Quit: retropikzel) 2020-12-02T04:58:36Z retropikzel joined #lisp 2020-12-02T05:02:09Z Stanley00 joined #lisp 2020-12-02T05:06:51Z miasuji joined #lisp 2020-12-02T05:14:23Z orivej joined #lisp 2020-12-02T05:16:07Z zcheng3 joined #lisp 2020-12-02T05:16:15Z waleee-cl quit (Quit: Connection closed for inactivity) 2020-12-02T05:27:16Z dim quit (Ping timeout: 240 seconds) 2020-12-02T05:31:31Z Lycurgus joined #lisp 2020-12-02T05:33:46Z retropikzel quit (Quit: retropikzel) 2020-12-02T05:34:03Z retropikzel joined #lisp 2020-12-02T05:36:41Z skapata quit (Ping timeout: 246 seconds) 2020-12-02T05:38:17Z retropikzel quit (Client Quit) 2020-12-02T05:38:36Z retropikzel joined #lisp 2020-12-02T05:43:03Z pankajsg joined #lisp 2020-12-02T05:45:28Z skapata joined #lisp 2020-12-02T05:48:46Z retropikzel quit (Quit: retropikzel) 2020-12-02T05:49:04Z retropikzel joined #lisp 2020-12-02T05:49:47Z Nilby joined #lisp 2020-12-02T05:53:08Z skapata quit (Ping timeout: 246 seconds) 2020-12-02T05:53:28Z retropikzel quit (Client Quit) 2020-12-02T05:53:45Z retropikzel joined #lisp 2020-12-02T05:56:14Z dim joined #lisp 2020-12-02T05:57:34Z skapata joined #lisp 2020-12-02T06:03:00Z shifty joined #lisp 2020-12-02T06:06:41Z galex-713 quit (Ping timeout: 272 seconds) 2020-12-02T06:12:16Z vsync quit (Ping timeout: 256 seconds) 2020-12-02T06:12:44Z treflip joined #lisp 2020-12-02T06:13:04Z Nilby quit (Ping timeout: 256 seconds) 2020-12-02T06:15:28Z galex-713 joined #lisp 2020-12-02T06:15:55Z Oladon quit (Quit: Leaving.) 2020-12-02T06:17:29Z loli quit (Ping timeout: 260 seconds) 2020-12-02T06:17:54Z loli joined #lisp 2020-12-02T06:22:34Z pfdietz quit (Ping timeout: 245 seconds) 2020-12-02T06:33:46Z retropikzel quit (Quit: retropikzel) 2020-12-02T06:33:51Z Nilby joined #lisp 2020-12-02T06:34:04Z retropikzel joined #lisp 2020-12-02T06:35:38Z loli quit (Ping timeout: 264 seconds) 2020-12-02T06:38:17Z retropikzel quit (Client Quit) 2020-12-02T06:38:33Z rumbler3_ joined #lisp 2020-12-02T06:38:36Z retropikzel joined #lisp 2020-12-02T06:40:07Z orivej quit (Ping timeout: 256 seconds) 2020-12-02T06:43:25Z rumbler3_ quit (Ping timeout: 272 seconds) 2020-12-02T06:44:05Z treflip quit (Ping timeout: 260 seconds) 2020-12-02T06:44:29Z treflip joined #lisp 2020-12-02T06:47:11Z aartaka joined #lisp 2020-12-02T06:48:46Z retropikzel quit (Quit: retropikzel) 2020-12-02T06:49:03Z retropikzel joined #lisp 2020-12-02T06:50:16Z aartaka_d quit (Ping timeout: 246 seconds) 2020-12-02T06:51:15Z aaaaaa quit (Quit: leaving) 2020-12-02T06:53:38Z Lycurgus quit (Quit: Exeunt) 2020-12-02T06:55:04Z leo_song_ joined #lisp 2020-12-02T06:58:11Z leo_song quit (Ping timeout: 256 seconds) 2020-12-02T06:58:18Z retropikzel quit (Quit: retropikzel) 2020-12-02T06:58:35Z retropikzel joined #lisp 2020-12-02T06:59:30Z Younder quit (Quit: Leaving) 2020-12-02T07:02:47Z andreyorst` joined #lisp 2020-12-02T07:03:32Z andreyorst` quit (Client Quit) 2020-12-02T07:03:46Z retropikzel quit (Quit: retropikzel) 2020-12-02T07:04:03Z retropikzel joined #lisp 2020-12-02T07:04:08Z andreyorst` joined #lisp 2020-12-02T07:05:01Z treflip quit (Ping timeout: 264 seconds) 2020-12-02T07:06:49Z zcheng3 quit (Ping timeout: 260 seconds) 2020-12-02T07:06:59Z treflip joined #lisp 2020-12-02T07:07:26Z ggole joined #lisp 2020-12-02T07:11:36Z treflip quit (Client Quit) 2020-12-02T07:13:17Z retropikzel quit (Quit: retropikzel) 2020-12-02T07:13:36Z retropikzel joined #lisp 2020-12-02T07:14:17Z pillton_ joined #lisp 2020-12-02T07:15:49Z pillton quit (Ping timeout: 246 seconds) 2020-12-02T07:19:00Z scymtym joined #lisp 2020-12-02T07:23:31Z kir0ul_ quit (Ping timeout: 246 seconds) 2020-12-02T07:24:02Z toorevitimirp joined #lisp 2020-12-02T07:28:46Z retropikzel quit (Quit: retropikzel) 2020-12-02T07:29:03Z retropikzel joined #lisp 2020-12-02T07:31:31Z miasuji quit (Remote host closed the connection) 2020-12-02T07:32:14Z miasuji joined #lisp 2020-12-02T07:34:05Z miasuji quit (Remote host closed the connection) 2020-12-02T07:34:16Z hiroaki joined #lisp 2020-12-02T07:34:50Z miasuji joined #lisp 2020-12-02T07:35:37Z miasuji quit (Max SendQ exceeded) 2020-12-02T07:35:56Z miasuji joined #lisp 2020-12-02T07:40:51Z random-nick joined #lisp 2020-12-02T07:40:52Z aartaka quit (Read error: Connection reset by peer) 2020-12-02T07:40:57Z aartaka_d joined #lisp 2020-12-02T07:41:26Z miasuji quit (Ping timeout: 264 seconds) 2020-12-02T07:42:04Z retropikzel quit (Ping timeout: 240 seconds) 2020-12-02T07:42:48Z Lord_of_Life quit (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine) 2020-12-02T07:42:57Z madage quit (Remote host closed the connection) 2020-12-02T07:43:27Z madage joined #lisp 2020-12-02T07:45:01Z flip214: Does someone have a gist to fetch all the COPYING, LICENSE, etc. files from all the loaded QL systems? 2020-12-02T07:45:11Z Lord_of_Life joined #lisp 2020-12-02T07:45:36Z flip214: The asdf only has a short license name (in different upper/lowercase versions etc.), and some licenses require the authors' names to be mentioned 2020-12-02T07:48:35Z retropikzel joined #lisp 2020-12-02T07:50:42Z gabbiel joined #lisp 2020-12-02T07:50:46Z leo_song joined #lisp 2020-12-02T07:52:04Z leo_song_ quit (Ping timeout: 240 seconds) 2020-12-02T07:52:37Z Cymew joined #lisp 2020-12-02T07:53:46Z retropikzel quit (Quit: retropikzel) 2020-12-02T07:54:04Z retropikzel joined #lisp 2020-12-02T07:54:14Z gabbiel left #lisp 2020-12-02T07:58:19Z retropikzel quit (Client Quit) 2020-12-02T07:58:38Z retropikzel joined #lisp 2020-12-02T08:02:53Z skapata quit (Remote host closed the connection) 2020-12-02T08:08:46Z retropikzel quit (Quit: retropikzel) 2020-12-02T08:09:06Z retropikzel joined #lisp 2020-12-02T08:09:20Z liberliver joined #lisp 2020-12-02T08:12:51Z frost-lab joined #lisp 2020-12-02T08:13:19Z retropikzel quit (Client Quit) 2020-12-02T08:13:20Z mbomba quit (Quit: WeeChat 3.0) 2020-12-02T08:13:37Z retropikzel joined #lisp 2020-12-02T08:15:04Z Necktwi joined #lisp 2020-12-02T08:15:48Z retropikzel quit (Client Quit) 2020-12-02T08:18:30Z retropikzel joined #lisp 2020-12-02T08:22:25Z amb007 quit (Read error: Connection reset by peer) 2020-12-02T08:22:43Z amb007 joined #lisp 2020-12-02T08:22:52Z retropikzel quit (Client Quit) 2020-12-02T08:23:10Z retropikzel joined #lisp 2020-12-02T08:24:47Z adlai wonders whether there is any legal precedent regarding the proper labelling of files containing that grade of toxic waste 2020-12-02T08:24:47Z amb007 quit (Read error: Connection reset by peer) 2020-12-02T08:25:17Z phoe: legal, I think not; practical, they're called COPYING or LICENSE or sometimes the license text is spliced into the README 2020-12-02T08:25:21Z phoe: so it's kind of a mess 2020-12-02T08:25:41Z amb007 joined #lisp 2020-12-02T08:25:56Z adlai: someone could claim that they only read licenses labelled "COPYING", because they only redistribute code without ever running it. 2020-12-02T08:26:44Z adlai: flip214: my repl history might have something for you. 2020-12-02T08:26:46Z rumbler3_ joined #lisp 2020-12-02T08:27:45Z adlai: ... nope; and iirc, what I did run earlier, was only treeing the asdf fields 2020-12-02T08:28:17Z retropikzel quit (Quit: retropikzel) 2020-12-02T08:28:35Z retropikzel joined #lisp 2020-12-02T08:29:06Z adlai: there were few enough installed systems that I "only" encountered a singlehandedly-digital number of (complement #'equal) names for identical licenses. 2020-12-02T08:30:20Z adlai: however, it was the kind of garbage-in-garbage-out that made me afk^hrepl for long enough to forget my paranoiae about intellectual property. 2020-12-02T08:31:25Z rumbler3_ quit (Ping timeout: 264 seconds) 2020-12-02T08:32:49Z retropikzel quit (Client Quit) 2020-12-02T08:33:09Z retropikzel joined #lisp 2020-12-02T08:35:37Z Nilby: About 750 of 4330 systems I have "loaded" have the liscense field blank. Some licenses have interesting names, such as "BSD or Bugroff" and "do whatever the fuck you want". 2020-12-02T08:37:06Z flip214: Nilby: asdf::primary-system-p could help you to remove all the -tests and similar systems. 2020-12-02T08:38:15Z flip214: and QL doesn't distribute a source link (incl. git hash) with the system list, right? 2020-12-02T08:38:17Z retropikzel quit (Quit: retropikzel) 2020-12-02T08:38:38Z retropikzel joined #lisp 2020-12-02T08:38:51Z flip214: well, I guess I'll just make a heuristic that fetches the README.md, .asd, and one of LICENSE|COPYING|similar stuff 2020-12-02T08:38:56Z Nilby: flip214: Thanks. But I think in my case I want those in there. 2020-12-02T08:39:23Z Nilby: flip214: I made a function to look it up in the quicklisp-projects repo. 2020-12-02T08:40:12Z flip214: Nilby: would you share it here? and make a PR for inclusion in QL proper? 2020-12-02T08:40:18Z flip214: what's the license? ;) 2020-12-02T08:40:46Z vsync joined #lisp 2020-12-02T08:40:53Z aartaka joined #lisp 2020-12-02T08:42:06Z Nilby: Well, it's hackish and depends on my stuff, but https://plaster.tymoon.eu/view/2180#2180 2020-12-02T08:42:48Z Nilby: It's CC-0 or equivalent if you like. 2020-12-02T08:42:52Z retropikzel quit (Client Quit) 2020-12-02T08:43:11Z retropikzel joined #lisp 2020-12-02T08:43:36Z mathrick quit (Ping timeout: 240 seconds) 2020-12-02T08:43:40Z Nilby: Also it's a shell command. 2020-12-02T08:44:01Z aartaka_d quit (Ping timeout: 246 seconds) 2020-12-02T08:44:06Z mathrick joined #lisp 2020-12-02T08:45:15Z flip214: Nilby: thanks! 2020-12-02T08:46:02Z Nilby: For this to work you need a checked out quicklisp-projects so it probably can't be in quicklisp proper and probably. I have done some work on a quicklisp tool of sorts. 2020-12-02T08:46:16Z shifty quit (Ping timeout: 240 seconds) 2020-12-02T08:47:30Z flip214: Nilby: yeah, just found out that I don't have the source.txt files 2020-12-02T08:47:57Z flip214: it would be great if that would just be another (optional) file in each QL dist 2020-12-02T08:50:35Z Nilby: I think Xach has something planned, but if I ever get my thing done, we could have a project metadata extract. 2020-12-02T08:50:40Z pve joined #lisp 2020-12-02T08:55:44Z scymtym quit (Ping timeout: 240 seconds) 2020-12-02T08:57:08Z flip214: it would also be great if everything that's needed for distributing would be available in a central QL place... so the license name, authors (if 4-clause bsd), link to license file (github or whereever), etc. 2020-12-02T09:00:15Z Nilby: Yes. 2020-12-02T09:03:17Z retropikzel quit (Quit: retropikzel) 2020-12-02T09:03:35Z retropikzel joined #lisp 2020-12-02T09:05:50Z scymtym joined #lisp 2020-12-02T09:06:58Z flip214: what is needed to get trivial-signal working on Windows? I'd like to catch ctrl-c, but the various GCC.EXE I can find just say "sorry, unimplemented: 64bit mode is not included" 2020-12-02T09:07:04Z iskander quit (Ping timeout: 240 seconds) 2020-12-02T09:07:49Z retropikzel quit (Client Quit) 2020-12-02T09:07:50Z hendursa1 joined #lisp 2020-12-02T09:07:52Z iskander joined #lisp 2020-12-02T09:08:07Z retropikzel joined #lisp 2020-12-02T09:08:45Z Alfr_: flip214, posix signals implementation in windows. 2020-12-02T09:09:23Z hendursaga quit (Ping timeout: 240 seconds) 2020-12-02T09:11:50Z flip214: Alfr_: mingw/cygwin already emulates so much, so I think it should be possible... it's just that grovelling fails, because I can't find a 64bit mingw gcc for windows 2020-12-02T09:11:56Z flip214: stdint.h is 64bit already 2020-12-02T09:13:17Z retropikzel quit (Quit: retropikzel) 2020-12-02T09:13:32Z Alfr_: Never dug into these. I don't know, sorry. 2020-12-02T09:13:39Z retropikzel joined #lisp 2020-12-02T09:15:48Z flip214: thanks anyway! 2020-12-02T09:16:38Z hnOsmium0001 quit (Quit: Connection closed for inactivity) 2020-12-02T09:17:04Z leo_song_ joined #lisp 2020-12-02T09:17:05Z Nilby: If you're on sbcl I think you can just handle sb-sys:interactive-interrupt. 2020-12-02T09:17:49Z retropikzel quit (Client Quit) 2020-12-02T09:18:12Z retropikzel joined #lisp 2020-12-02T09:18:31Z Lord_of_Life quit (Changing host) 2020-12-02T09:18:31Z Lord_of_Life joined #lisp 2020-12-02T09:18:44Z leo_song quit (Ping timeout: 240 seconds) 2020-12-02T09:20:07Z treflip joined #lisp 2020-12-02T09:23:25Z phoe: https://github.com/guicho271828/trivial-signal/ ? 2020-12-02T09:26:04Z leo_song joined #lisp 2020-12-02T09:27:23Z kaftejiman joined #lisp 2020-12-02T09:27:46Z leo_song_ quit (Ping timeout: 256 seconds) 2020-12-02T09:28:03Z Nilby: trivial-signal should be fine on "cygwin" or WSL but doesn't work on plain "windows". 2020-12-02T09:28:17Z retropikzel quit (Quit: retropikzel) 2020-12-02T09:28:37Z retropikzel joined #lisp 2020-12-02T09:28:46Z treflip quit (Quit: WeeChat 2.6) 2020-12-02T09:28:48Z flip214: Nilby: well, on linux I also catch another signal to reload the config, and so on. 2020-12-02T09:28:54Z flip214: but thanks! 2020-12-02T09:29:01Z Nilby: sorry for using too many #\quotation_mark 2020-12-02T09:30:33Z rumbler31 joined #lisp 2020-12-02T09:32:57Z retropikzel quit (Client Quit) 2020-12-02T09:32:59Z sunwukong joined #lisp 2020-12-02T09:33:15Z flip214: no problem at all 2020-12-02T09:33:16Z retropikzel joined #lisp 2020-12-02T09:34:01Z toorevitimirp quit (Remote host closed the connection) 2020-12-02T09:34:27Z toorevitimirp joined #lisp 2020-12-02T09:34:45Z frodef joined #lisp 2020-12-02T09:35:04Z rumbler31 quit (Ping timeout: 240 seconds) 2020-12-02T09:37:50Z podge joined #lisp 2020-12-02T09:42:51Z sunwukong quit (Quit: ERC (IRC client for Emacs 27.1)) 2020-12-02T09:46:51Z loli joined #lisp 2020-12-02T09:54:33Z srandon111 joined #lisp 2020-12-02T09:55:05Z srandon111: hello all guys i wanted to start with lisp, i watched the SICP lessons and tried some racket but would like to try some lisp, which dialect do you suggest? 2020-12-02T09:55:23Z beach: srandon111: This channel is dedicated to Common Lisp. 2020-12-02T09:55:35Z beach: srandon111: So you won't get an unbiased opinion here. 2020-12-02T09:55:52Z srandon111: beach, which are common options here? 2020-12-02T09:56:10Z beach: srandon111: But perhaps you mean "which implementation of Common Lisp" rather than "which dialect"? 2020-12-02T09:56:18Z srandon111: common lisp is the most common option out there? is it modern or like an old abandoned language 2020-12-02T09:56:28Z srandon111: beach, i was thinking common lisp was an implementation of lisp 2020-12-02T09:56:34Z phoe: it's not 2020-12-02T09:56:41Z beach: srandon111: The common options consist of Common Lisp, as far as this channel is concerned. 2020-12-02T09:56:51Z srandon111: phoe, can you explain please? 2020-12-02T09:56:52Z phoe: Lisp is 1) a family of languages, 2) a short term refering to Common Lisp 2020-12-02T09:57:03Z phoe: in #lisp, we use the second meaning like 100% of the time 2020-12-02T09:57:24Z phoe: Common Lisp is a dialect of its own, like Scheme, Clojure, Racket, Shen, Carp, PicoLisp, and what else 2020-12-02T09:57:39Z White_Flame: common lisp basically was the most commercially used lisp variant (and absorbed all the commercial variants). others are more academic or internal/scripting 2020-12-02T09:57:40Z phoe: and it's definitely not abandoned 2020-12-02T09:57:47Z srandon111: ok phoe which are the more common/modern/used lisps? 2020-12-02T09:57:56Z White_Flame: *in its heyday 2020-12-02T09:58:16Z phoe: Common Lisp is one of them; Racket and Clojure also see some sizeable interest 2020-12-02T09:58:29Z phoe: ##lisp might suit you a bit better - it's for discussing the whole family of languages 2020-12-02T09:58:34Z phoe: whereas #lisp is strictly about Common Lisp 2020-12-02T09:58:42Z beach: srandon111: There is no widely accepted definition of "Lisp", so it is hard to answer your question. 2020-12-02T09:58:57Z beach: srandon111: Especially in a channel that is dedicated to Common Lisp. 2020-12-02T09:59:04Z White_Flame: the original lisp implementation was very simple and grew into many branches 2020-12-02T09:59:28Z ljavorsk joined #lisp 2020-12-02T10:04:36Z froggey quit (Ping timeout: 256 seconds) 2020-12-02T10:10:43Z holger joined #lisp 2020-12-02T10:11:07Z holger is now known as Guest69514 2020-12-02T10:11:21Z Guest69514 quit (Client Quit) 2020-12-02T10:11:25Z froggey joined #lisp 2020-12-02T10:11:29Z holger1 joined #lisp 2020-12-02T10:11:50Z srandon111: okok beach i see thanks for all the details 2020-12-02T10:12:26Z holger1 quit (Client Quit) 2020-12-02T10:12:33Z emys joined #lisp 2020-12-02T10:13:06Z emys quit (Client Quit) 2020-12-02T10:13:06Z beach: srandon111: We recommend Common Lisp. It is a modern language with features that no other language has. 2020-12-02T10:13:12Z emys_ joined #lisp 2020-12-02T10:13:29Z srandon111: what i was exploring with common lisp, is checking out libraries/modules available... since i use neo4j for other projects... i saw this.. https://github.com/kraison/cl-neo4j 2020-12-02T10:13:49Z srandon111: now my thing is... where is the documentation? or should i be able to read the code? is reading code easier in lisp? 2020-12-02T10:14:04Z phoe: CL has a specification named CLHS 2020-12-02T10:14:16Z phoe: you might want to spend some time reading Practical Common Lisp to get used to the syntax 2020-12-02T10:14:23Z beach: I think srandon111 may be referring to the documentation of cl-neo4j. 2020-12-02T10:14:24Z phoe: and to the various aspects of the language 2020-12-02T10:14:29Z phoe: oh! I see 2020-12-02T10:14:48Z phoe: no idea, I guess that depends on the library in question 2020-12-02T10:15:33Z beach: srandon111: If your question is "What Lisp dialect should I choose so that I can use something like neo4j with it", then that is a very tough and very specific question. 2020-12-02T10:16:08Z edgar-rft: I think neo4j is #java ? 2020-12-02T10:17:27Z rumbler31 joined #lisp 2020-12-02T10:17:58Z loke[m]: Wasn't ABCL originally built for an editor? 2020-12-02T10:18:18Z phoe: edgar-rft: it has non-Java external interfaces though 2020-12-02T10:18:21Z phoe: (AFAIR) 2020-12-02T10:19:12Z mbomba joined #lisp 2020-12-02T10:20:31Z edgar-rft: ah, yes, from reading the code I see that cl-neo4j uses drakma and a web interface 2020-12-02T10:21:32Z adlai: srandon111: "common lisp" describes implementations that have benefitted most from various overfunded industries, and committees, near the end of the previous century. 2020-12-02T10:21:40Z rumbler31 quit (Ping timeout: 246 seconds) 2020-12-02T10:22:19Z phoe: adlai: more like language specification rather than implementations, isn't it? 2020-12-02T10:22:29Z phoe: all CL implementations conform to the standard, after all 2020-12-02T10:23:30Z adlai thinks of it as a live thing, consisting of large reptiles, armed amniotes, and ballistic garbage collectors, although you are free to use the term to describe a book instead 2020-12-02T10:24:19Z phoe blinks 2020-12-02T10:24:21Z phoe: ooooookay 2020-12-02T10:26:25Z edgar-rft: srandon111: one of the advantages of using Common Lisp is that the language doesn't change every other year, so you can be pretty sure that your code still will run 10 or 20 years ahead, but because the language hasn't changed in the last 25 years it's sometimes a bit of work to implement newfangled things :-) 2020-12-02T10:26:37Z imode quit (Ping timeout: 264 seconds) 2020-12-02T10:33:27Z Posterdati: hi 2020-12-02T10:33:40Z Posterdati: is anyone using Common Lisp with ROS? 2020-12-02T10:36:21Z aartaka_d joined #lisp 2020-12-02T10:36:37Z phoe: Posterdati: me 2020-12-02T10:36:42Z phoe: though I only use ros for installing new SBCL versions 2020-12-02T10:36:56Z aartaka quit (Ping timeout: 240 seconds) 2020-12-02T10:38:38Z Posterdati: phoe: I'd like to install it on a debian 10... 2020-12-02T10:39:08Z Posterdati: phoe: I need to test a PID implementation for a robotic project 2020-12-02T10:39:31Z phoe: Posterdati: grab a deb package from GitHub then 2020-12-02T10:39:58Z no-defun-allowed: You could also install a SBCL of dubious age from the package manager, then use that to bootstrap a new SBCL. Or if there's newer packages, as phoe says... 2020-12-02T10:40:13Z Posterdati: phoe: I installed the one from the debian repository, but cannot make it work 2020-12-02T10:40:39Z no-defun-allowed: What version does Debian 10 ship? Knowing Debian, you could do with a newer version. 2020-12-02T10:41:18Z edgar-rft: sbcl1.4.16 (installed one or two weeks ago) 2020-12-02T10:41:54Z phoe: Posterdati: what's the actual issue? 2020-12-02T10:42:23Z phoe: roswell auto-downloads its own SBCL binaries, it doesn't depend on any systemwide Lisp. 2020-12-02T10:42:27Z Nilby: I'm confused. Are you guys talking about the Robot Operating System, or ros the Roswell commmand. 2020-12-02T10:42:34Z phoe: likely the latter 2020-12-02T10:42:45Z phoe: ...or, ummmm 2020-12-02T10:42:50Z Posterdati: phoe: I'm following http://wiki.ros.org/roslisp/Overview/Installation 2020-12-02T10:43:24Z edgar-rft: ROS, the Reactive Oxygen Species 2020-12-02T10:43:36Z Posterdati: phoe: there isn't any scripts/roslisp-sbcl-init anywhere 2020-12-02T10:43:55Z phoe: after installing the deb file, you should be able to just `ros init` and then `ros install sbcl` 2020-12-02T10:43:58Z phoe: and you should be good to go 2020-12-02T10:44:06Z Posterdati: ok 2020-12-02T10:45:59Z pyc quit (Quit: ZNC 1.7.2+deb3 - https://znc.in) 2020-12-02T10:45:59Z spal quit (Quit: ZNC 1.7.2+deb3 - https://znc.in) 2020-12-02T10:46:08Z aartaka_d quit (Ping timeout: 260 seconds) 2020-12-02T10:46:36Z retropikzel quit (Ping timeout: 256 seconds) 2020-12-02T10:47:00Z shka_ quit (Remote host closed the connection) 2020-12-02T10:47:18Z rogersm joined #lisp 2020-12-02T10:47:43Z rogersm: Can string/= return 0? 2020-12-02T10:48:08Z shifty joined #lisp 2020-12-02T10:48:23Z rogersm: CL-USER> (string/= "a" "b") 2020-12-02T10:48:23Z rogersm: 0 2020-12-02T10:49:13Z White_Flame: string/= returns the index of the mismatch, or nil 2020-12-02T10:49:23Z White_Flame: which still maps to a generalized boolean 2020-12-02T10:49:25Z rgherdt joined #lisp 2020-12-02T10:49:29Z edgar-rft: When the mismatch-index argument is true, it is an integer representing the first character position at which the two substrings differ, as an offset from the beginning of string1 2020-12-02T10:49:46Z edgar-rft: ...ANSI says 2020-12-02T10:49:48Z rogersm: but according to to hyperspec: 2020-12-02T10:49:52Z rogersm: string/= 2020-12-02T10:49:52Z rogersm: string/= is true if the supplied substrings are different; otherwise it is false. 2020-12-02T10:50:06Z White_Flame: and 0 is true 2020-12-02T10:50:17Z edgar-rft: in Common Lisp everything that is ot NIL is true 2020-12-02T10:50:17Z rogersm: but your right 2020-12-02T10:50:22Z aartaka joined #lisp 2020-12-02T10:50:36Z White_Flame: yes, my right ;) 2020-12-02T10:50:44Z rogersm: you're 2020-12-02T10:50:47Z edgar-rft: *not* NIL (somebody stole the n) 2020-12-02T10:51:20Z rogersm: what a mess of function 2020-12-02T10:51:31Z White_Flame: if you think about the implementation, it makes a lot of sense 2020-12-02T10:51:37Z White_Flame: just returns the index of the iterator, or nil 2020-12-02T10:51:50Z White_Flame: and is equally useful as a boolean or numeric 2020-12-02T10:52:23Z Nilby: (defalias string/= mismatch) 2020-12-02T10:52:26Z White_Flame: I wonder why they didn't make string= et al return the index as well 2020-12-02T10:52:31Z edgar-rft: agree, Lisp was *much* better when strings still were handled by symbol-names :-) 2020-12-02T10:52:46Z White_Flame: hmm, no, the index would be false in that case, so n/m 2020-12-02T10:53:45Z rogersm: it makes absolutely no sense... but anyway 2020-12-02T10:53:59Z Nilby: If you computed it, why not return it. 2020-12-02T10:55:53Z no-defun-allowed: rogersm: It is usually a good idea to stop making sense when writing Lisp. 2020-12-02T10:57:10Z zge: Can anyone tell me what SBCL's "could not allocate SB-IMPL::TEST" notes mean? I'm getting it for functions that don't even have :test arguments. 2020-12-02T10:58:07Z retropikzel joined #lisp 2020-12-02T10:58:43Z no-defun-allowed: A much stupider no-defun-allowed first gave that advice two years ago, but I still stand by it. Though if they act the same, MISMATCH conveys your intent better if you want the mismatch position. 2020-12-02T11:00:20Z no-defun-allowed: Well, string/= will return false for strings of different lengths (without other start and end positions), so they do not act the same. 2020-12-02T11:03:08Z frgo quit (Remote host closed the connection) 2020-12-02T11:03:17Z retropikzel quit (Quit: retropikzel) 2020-12-02T11:03:34Z frgo joined #lisp 2020-12-02T11:03:35Z retropikzel joined #lisp 2020-12-02T11:05:14Z phoe: rogersm: huh 2020-12-02T11:05:25Z phoe: it returns true or false 2020-12-02T11:05:37Z phoe: so non-NIL or NIL 2020-12-02T11:05:50Z phoe: except the true variant also conveys some more information 2020-12-02T11:06:28Z phoe: why doesn't it make sense 2020-12-02T11:07:49Z retropikzel quit (Client Quit) 2020-12-02T11:08:07Z retropikzel joined #lisp 2020-12-02T11:09:06Z edgar-rft: phoe: The inequality functions return a mismatch-index that is true if the strings are not equal, or false otherwise (last paragraph under "Description")-> http://www.lispworks.com/documentation/HyperSpec/Body/f_stgeq_.htm#stringSLEQ 2020-12-02T11:09:34Z phoe: edgar-rft: yes, I'm aware 2020-12-02T11:10:01Z edgar-rft: oh, sorry, you said "NIL or non-NIL" ... 2020-12-02T11:10:13Z bilegeek quit (Quit: Leaving) 2020-12-02T11:10:39Z edgar-rft goes for some coffee 2020-12-02T11:14:13Z leo_song_ joined #lisp 2020-12-02T11:15:16Z spxy joined #lisp 2020-12-02T11:15:24Z leo_song quit (Ping timeout: 240 seconds) 2020-12-02T11:17:37Z froggey quit (Ping timeout: 264 seconds) 2020-12-02T11:18:07Z froggey joined #lisp 2020-12-02T11:21:26Z shka_ joined #lisp 2020-12-02T11:24:10Z andreyorst` quit (Ping timeout: 256 seconds) 2020-12-02T11:31:26Z andreyorst`_ joined #lisp 2020-12-02T11:38:04Z Fare quit (Ping timeout: 240 seconds) 2020-12-02T11:52:46Z vegansbane quit (Quit: The Lounge - https://thelounge.chat) 2020-12-02T11:53:12Z surabax joined #lisp 2020-12-02T12:02:44Z orivej joined #lisp 2020-12-02T12:05:37Z rumbler3_ joined #lisp 2020-12-02T12:07:25Z shifty quit (Ping timeout: 264 seconds) 2020-12-02T12:09:16Z Aurora_v_kosmose joined #lisp 2020-12-02T12:10:05Z rumbler3_ quit (Ping timeout: 265 seconds) 2020-12-02T12:13:55Z ebrasca joined #lisp 2020-12-02T12:15:38Z Stanley00 quit (Remote host closed the connection) 2020-12-02T12:17:36Z vegansbane joined #lisp 2020-12-02T12:18:17Z retropikzel quit (Quit: retropikzel) 2020-12-02T12:18:36Z retropikzel joined #lisp 2020-12-02T12:22:50Z retropikzel quit (Client Quit) 2020-12-02T12:23:08Z retropikzel joined #lisp 2020-12-02T12:36:32Z podge quit (Ping timeout: 244 seconds) 2020-12-02T12:40:05Z adlai: clhs 6.1.7.2 2020-12-02T12:40:05Z specbot: Initial and Final Execution: http://www.lispworks.com/reference/HyperSpec/Body/06_agb.htm 2020-12-02T12:41:13Z adlai: does the second paragraph of 6.1.7.2 require that the prologue is enclosed by the initial bindings? 2020-12-02T12:42:49Z aartaka quit (Ping timeout: 264 seconds) 2020-12-02T12:43:21Z phoe: yes, I think so - the initial values are already there 2020-12-02T12:46:21Z adlai smells undefined behavior 2020-12-02T12:47:57Z mbomba quit (Quit: WeeChat 3.0) 2020-12-02T12:51:42Z adlai: e.g., a conforming implementation could have the initially clauses enclosed as `(:with #.(gensym) (progn ,@prologue)) 2020-12-02T12:52:01Z phoe: I don't understand 2020-12-02T12:52:18Z phoe: the variables are bound to their initial values, the prologue is executed, and then iteration starts 2020-12-02T12:52:21Z phoe: did I get the order wrong? 2020-12-02T12:53:59Z adlai can't find a requirement that the prologue be executed strictly after the bindings 2020-12-02T12:54:36Z phoe: "...which precedes all loop code except for initial settings supplied by constructs with, for, or as." 2020-12-02T12:54:52Z phoe: these constructs are variable binding constructs 2020-12-02T12:55:01Z phoe: so to utilize their initial settings the variables must be bound 2020-12-02T12:55:06Z phoe: otherwise the whole passage is meaningless 2020-12-02T12:55:18Z adlai: removing the global lispmachine lock around everything in CLHS causes quite a bit of undefined behavior, and I'm wondering whether it's sane to rely on the initial bindings always being available to the prologue. 2020-12-02T12:56:34Z adlai: clhs 6.1.2.2 2020-12-02T12:56:34Z specbot: Local Variable Initializations: http://www.lispworks.com/reference/HyperSpec/Body/06_abb.htm 2020-12-02T12:57:28Z adlai: 6.1.2.2 acknowledges that initializations could occur in parallel 2020-12-02T12:57:33Z phoe: where? 2020-12-02T12:58:29Z phoe: also, if prologue is run with the variables unbound, what does "initial settings supplied by constructs with, for, or as" from 6.1.7.2 refer to? 2020-12-02T12:59:36Z adlai: in the end of 6.1.2.2's second paragraph, "initializations can be forced to occur in parallel", and again before one of the examples. 2020-12-02T13:00:20Z phoe: only if you use AND with WITH 2020-12-02T13:00:37Z phoe: and again, this is only about the difference between LET- and LET*-style variable binding 2020-12-02T13:00:53Z phoe: it says nothing about whether the prologue is executed in scope of these bindings, or outside it 2020-12-02T13:01:00Z adlai: 6.1.7.2's "initial settings" refer to bindings, and maybe declarations 2020-12-02T13:01:35Z phoe: so if these initial settings are there, then there must be variables to bind them to 2020-12-02T13:01:44Z adlai: this is roughly equivalent to order of argument evaluation, and the issues can probably be ignored together. 2020-12-02T13:01:47Z phoe: you cannot declare stuff on variables that don't exist yet. 2020-12-02T13:05:46Z rumbler3_ joined #lisp 2020-12-02T13:06:57Z drl joined #lisp 2020-12-02T13:10:08Z rumbler3_ quit (Ping timeout: 256 seconds) 2020-12-02T13:14:47Z galex-713 quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) 2020-12-02T13:15:55Z galex-713 joined #lisp 2020-12-02T13:16:40Z Bike joined #lisp 2020-12-02T13:20:51Z aartaka joined #lisp 2020-12-02T13:21:53Z waleee-cl joined #lisp 2020-12-02T13:22:25Z shka_: hello 2020-12-02T13:22:45Z shka_: so i ran into a little problem 2020-12-02T13:23:50Z shka_: i thought that if two slots in a single class have the same :initarg it would designate that instances will initialize both of slots with the same value if said initarg was passed 2020-12-02T13:24:23Z cosimone joined #lisp 2020-12-02T13:25:26Z shka_: and a simple test confirms this 2020-12-02T13:26:25Z shka_: eh, i must have bug elsewhere 2020-12-02T13:32:47Z Bike: i didn't actually know you could do that. huh. 2020-12-02T13:35:58Z amplituhedron joined #lisp 2020-12-02T13:36:39Z lotuseater: so *maybe* for more safety it could check if some :initargs are the same 2020-12-02T13:38:11Z Bike: what could check? 2020-12-02T13:38:35Z lotuseater: the compiler 2020-12-02T13:39:09Z lotuseater: it doesn't even say anything if you give multiple same initargs in the same slot 2020-12-02T13:39:09Z Bike: having initargs initialize more than one slot is intentional. the standard explicitly mentions it in 7.1.1 and i can imagine it being useful. 2020-12-02T13:39:30Z lotuseater: yes i didn't say it's not useful 2020-12-02T13:39:31Z Bike: the possibility of initargs initializing more than one slot is intentional, i mean 2020-12-02T13:39:42Z lotuseater: but i also haven't been aware of that 2020-12-02T13:40:01Z lotuseater: clhs 7.1.1 2020-12-02T13:40:01Z specbot: Initialization Arguments: http://www.lispworks.com/reference/HyperSpec/Body/07_aa.htm 2020-12-02T13:41:35Z EvW joined #lisp 2020-12-02T13:42:47Z lotuseater: so having something like 2020-12-02T13:42:52Z lotuseater: (defclass foo () 2020-12-02T13:42:58Z lotuseater: *urgs* 2020-12-02T13:43:17Z retropikzel quit (Quit: retropikzel) 2020-12-02T13:43:35Z retropikzel joined #lisp 2020-12-02T13:43:49Z lotuseater: (defclass foo () ((slot1 :initarg :slot1 :initarg :both-slots) (slot2 :initarg :slot2 :initarg :both-slots))) 2020-12-02T13:44:50Z Bike: yeah, that's legit. 2020-12-02T13:47:49Z retropikzel quit (Client Quit) 2020-12-02T13:48:07Z retropikzel joined #lisp 2020-12-02T13:52:28Z Nilby quit (Ping timeout: 256 seconds) 2020-12-02T13:53:17Z retropikzel quit (Quit: retropikzel) 2020-12-02T13:53:35Z retropikzel joined #lisp 2020-12-02T13:54:04Z pankajsg quit (Quit: Konversation terminated!) 2020-12-02T13:54:40Z adlai: why is that behavior problematic? 2020-12-02T13:54:50Z pankajsg joined #lisp 2020-12-02T13:56:12Z Fare joined #lisp 2020-12-02T13:56:35Z lotuseater: it isn't 2020-12-02T13:56:36Z adlai: to be precise, why could it ever be problematic? the keywords, and their corresponding arguments, should get evaluated precisely once each before the call to shared-initialize 2020-12-02T13:56:49Z Bike: well, you could do it by mistake, i guess. 2020-12-02T13:56:56Z Bike: have two slots with the same initarg i mean. 2020-12-02T13:57:14Z aindilis quit (Remote host closed the connection) 2020-12-02T13:57:36Z adlai can see this being a warning that people would want, and that others would deliberately ignore. 2020-12-02T13:58:04Z retropikzel quit (Client Quit) 2020-12-02T13:58:13Z aindilis` joined #lisp 2020-12-02T13:58:22Z retropikzel joined #lisp 2020-12-02T14:03:22Z lotuseater: when exactly is shared-initialize called? 2020-12-02T14:04:16Z Bike: it's called by initialize-instance, reinitialize-instance, and also for class redefinitions and change-class 2020-12-02T14:04:58Z Bike: e.g., the standard method on initialize-instance is essentially (defmethod initialize-instance (i &rest in) (apply #'shared-initialize i t in)) 2020-12-02T14:05:03Z lotuseater: yeah much possibilities 2020-12-02T14:06:11Z Bike: and (defmethod reinitialize-instance (i &rest in) (apply #'shared-initialize i nil in)) 2020-12-02T14:06:35Z Bike: the other two are more complicated. 2020-12-02T14:06:57Z shifty joined #lisp 2020-12-02T14:13:17Z retropikzel quit (Quit: retropikzel) 2020-12-02T14:13:35Z retropikzel joined #lisp 2020-12-02T14:14:01Z leo_song_ quit (Ping timeout: 264 seconds) 2020-12-02T14:15:16Z mfiano quit (Ping timeout: 265 seconds) 2020-12-02T14:16:17Z Stanley00 joined #lisp 2020-12-02T14:17:17Z ape666 joined #lisp 2020-12-02T14:17:53Z retropikzel quit (Client Quit) 2020-12-02T14:17:56Z dhil joined #lisp 2020-12-02T14:18:10Z retropikzel joined #lisp 2020-12-02T14:18:16Z shifty quit (Ping timeout: 240 seconds) 2020-12-02T14:18:46Z frost-lab quit (Quit: Connection closed) 2020-12-02T14:19:04Z shifty joined #lisp 2020-12-02T14:21:26Z Stanley00 quit (Ping timeout: 272 seconds) 2020-12-02T14:23:58Z shifty quit (Ping timeout: 265 seconds) 2020-12-02T14:24:00Z Fare quit (Ping timeout: 244 seconds) 2020-12-02T14:24:41Z aindilis` quit (Remote host closed the connection) 2020-12-02T14:26:19Z aindilis joined #lisp 2020-12-02T14:28:01Z retropikzel quit (Quit: retropikzel) 2020-12-02T14:28:20Z retropikzel joined #lisp 2020-12-02T14:30:19Z kaftejiman_ joined #lisp 2020-12-02T14:33:05Z kaftejiman quit (Ping timeout: 260 seconds) 2020-12-02T14:36:38Z retropikzel quit (Remote host closed the connection) 2020-12-02T14:39:10Z frodef quit (Ping timeout: 272 seconds) 2020-12-02T14:41:24Z pankajsg quit (Ping timeout: 240 seconds) 2020-12-02T14:44:07Z Fare joined #lisp 2020-12-02T14:44:58Z Fare quit (Remote host closed the connection) 2020-12-02T14:46:51Z ape666 quit (Read error: Connection reset by peer) 2020-12-02T14:49:02Z ape666 joined #lisp 2020-12-02T14:49:35Z rogersm quit (Quit: Leaving...) 2020-12-02T14:50:37Z amplituhedron quit (Remote host closed the connection) 2020-12-02T14:51:05Z galex-713 quit (Ping timeout: 272 seconds) 2020-12-02T14:51:27Z amplituhedron joined #lisp 2020-12-02T14:52:04Z wsinatra joined #lisp 2020-12-02T14:54:17Z kir0ul_ joined #lisp 2020-12-02T14:55:31Z jw4 joined #lisp 2020-12-02T14:56:01Z galex-713 joined #lisp 2020-12-02T14:56:24Z amplituhedron quit (Ping timeout: 260 seconds) 2020-12-02T14:58:08Z EvW quit (Ping timeout: 260 seconds) 2020-12-02T14:58:42Z bitmapper quit (Quit: Connection closed for inactivity) 2020-12-02T15:00:00Z amplituhedron joined #lisp 2020-12-02T15:13:39Z jprajzne1 quit (Quit: Leaving.) 2020-12-02T15:19:14Z jonatack quit (Quit: jonatack) 2020-12-02T15:22:16Z mankaev quit (Read error: Connection reset by peer) 2020-12-02T15:22:24Z mankaev_ joined #lisp 2020-12-02T15:25:25Z dilated_dinosaur quit (Ping timeout: 264 seconds) 2020-12-02T15:27:18Z jibanes quit (Ping timeout: 272 seconds) 2020-12-02T15:28:51Z jibanes joined #lisp 2020-12-02T15:32:20Z pankajsg joined #lisp 2020-12-02T15:33:32Z galex-713 quit (Remote host closed the connection) 2020-12-02T15:37:22Z thefunc5 quit (Quit: CoreIRC for Android - www.coreirc.com) 2020-12-02T15:37:24Z jw4 quit (Ping timeout: 240 seconds) 2020-12-02T15:39:31Z galex-713 joined #lisp 2020-12-02T15:40:04Z mathrick quit (Ping timeout: 256 seconds) 2020-12-02T15:42:39Z mathrick joined #lisp 2020-12-02T15:42:57Z toorevitimirp quit (Remote host closed the connection) 2020-12-02T15:43:16Z ape666 quit (Remote host closed the connection) 2020-12-02T15:44:37Z iskander- joined #lisp 2020-12-02T15:45:10Z iskander quit (Ping timeout: 256 seconds) 2020-12-02T15:46:18Z lotuseater: Does anybody of you still uses &AUX in function arguments? Isn't it outdated or when is it really useful? 2020-12-02T15:46:40Z beach: It is very useful. 2020-12-02T15:46:50Z beach: See my ELS paper on method combinations. 2020-12-02T15:47:44Z sjl joined #lisp 2020-12-02T15:48:42Z aartaka_d joined #lisp 2020-12-02T15:48:51Z lotuseater: okay I look it up :) also found interesting article of you "What is wrong with Lisp?" (but transformed it for my eyes to PDF with org and pandoc, hope that is OK) 2020-12-02T15:49:56Z beach: Sure. 2020-12-02T15:50:05Z aartaka quit (Ping timeout: 260 seconds) 2020-12-02T15:50:53Z lotuseater: If you want I can upload it for you. 2020-12-02T15:51:11Z hendursa1 quit (Quit: hendursa1) 2020-12-02T15:51:21Z jprajzne1 joined #lisp 2020-12-02T15:51:29Z hendursaga joined #lisp 2020-12-02T15:51:58Z beach: That's OK. But thanks for the offer. 2020-12-02T15:52:18Z lotuseater: okay 2020-12-02T15:52:46Z aartaka_d quit (Ping timeout: 246 seconds) 2020-12-02T15:53:13Z austincummings[m joined #lisp 2020-12-02T15:54:40Z dilated_dinosaur joined #lisp 2020-12-02T15:55:00Z jprajzne1 left #lisp 2020-12-02T15:57:37Z jonatack joined #lisp 2020-12-02T16:00:48Z pfdietz joined #lisp 2020-12-02T16:03:36Z orivej quit (Ping timeout: 240 seconds) 2020-12-02T16:05:18Z jonatack quit (Ping timeout: 272 seconds) 2020-12-02T16:05:47Z jonatack joined #lisp 2020-12-02T16:07:07Z rumbler3_ joined #lisp 2020-12-02T16:07:58Z aeth: lotuseater: &aux is super niche and every time I think I need it, I wind up not using it... but one place where &aux could be useful is rebinding dynamic variables. 2020-12-02T16:09:58Z orivej joined #lisp 2020-12-02T16:10:06Z jibanes quit (Ping timeout: 256 seconds) 2020-12-02T16:10:58Z pfdietz: &aux is useful in struct BOA constructors. 2020-12-02T16:11:11Z pfdietz: clhs 3.4.6 2020-12-02T16:11:11Z specbot: Boa Lambda Lists: http://www.lispworks.com/reference/HyperSpec/Body/03_df.htm 2020-12-02T16:11:12Z lotuseater: hui, i try to imagine 2020-12-02T16:11:30Z aeth: (rebinding dynamic variables in an &aux would make it part of the API of the function, as opposed to doing it at a LET in the body) 2020-12-02T16:11:35Z pfdietz: Admittedly, that is niche. 2020-12-02T16:11:37Z lotuseater: BOA and I thought of the snake :D 2020-12-02T16:11:43Z pfdietz: It's a good pun. 2020-12-02T16:12:06Z jibanes joined #lisp 2020-12-02T16:12:08Z lotuseater: but i hope it's still true not to mix &OPTIONALs and &KEYs 2020-12-02T16:12:36Z pfdietz: You get compiler-whine when you do that. 2020-12-02T16:13:24Z rumbler3_ quit (Remote host closed the connection) 2020-12-02T16:13:35Z andreyorst`_ quit (Quit: andreyorst`_) 2020-12-02T16:14:53Z zcheng3 joined #lisp 2020-12-02T16:15:20Z andreyorst` joined #lisp 2020-12-02T16:15:59Z andreyorst` quit (Client Quit) 2020-12-02T16:19:10Z theBlackDragon quit (Quit: Boom.) 2020-12-02T16:19:25Z Cymew quit (Ping timeout: 264 seconds) 2020-12-02T16:32:20Z jeosol: Good morning all! 2020-12-02T16:32:32Z beach: Hello jeosol. 2020-12-02T16:33:01Z jeosol: ok. 2020-12-02T16:33:03Z bitmapper joined #lisp 2020-12-02T16:35:00Z jeosol: I wanted to asked if it's possible to have a running SBCL session launch another creating a swank port in the process and the parent session then using slime-eval performing some computations 2020-12-02T16:35:34Z jeosol: so far, I have done this using docker (problematic, but works) and starting the sessions by hand. 2020-12-02T16:35:40Z lotuseater: morning jeosol. here it is 5:35pm :) 2020-12-02T16:36:30Z jeosol: lotuseater: Morning to you. I have been told (in the past) that the universal greeting here is "Good morning" . I initially defaulted to my local time 2020-12-02T16:38:50Z beach: jeosol: Some people use their own local time, and it is interesting to see roughly where people are. 2020-12-02T16:39:00Z beach: lotuseater: But if everyone then answers with their local time, we will very easily get swamped. 2020-12-02T16:39:44Z jeosol: For the above, my use case, I am trying to do remote or distributed evaluations. Assuming of having images corresponding to two systems that accept x as an argument, think e.g., y=2x, and another z = x3+2x (in the real case, the same x value results in total different result). 2020-12-02T16:39:56Z jackdaniel: and that may be tiring, especially in the evening like now :-) 2020-12-02T16:40:04Z galex-713 quit (Read error: Connection reset by peer) 2020-12-02T16:40:13Z beach: jackdaniel: *sigh* :) 2020-12-02T16:40:46Z jeosol: above, I meant "assuming I have images corresponding to each case" 2020-12-02T16:40:59Z Bike: different images so you can't just use fork or threads, huh 2020-12-02T16:41:21Z phoe: jeosol: this sounds like a use case for swank-crew 2020-12-02T16:41:24Z jeosol: Bike: That's what I am still investigating, I haven't gotten it to work yet, I am looking at uiop:launch-program 2020-12-02T16:42:13Z jeosol: There is a lot of manual starting this, starting that, that i'd like to automate. 2020-12-02T16:42:21Z phoe: you could launch a lisp image and pass it commandline arguments that will have it load up swank and open a swank server, then connect using swank-client or swank-crew from the C&C server 2020-12-02T16:43:01Z lotuseater: jeosol: okay good to know. it's funny having people from all around the world, so morning is anytime 2020-12-02T16:43:08Z hnOsmium0001 joined #lisp 2020-12-02T16:43:15Z jeosol: phoe: I haven't used swank-crew but did look at it, I could not get a small case to work because I wasn't sure where the workers are supposed to be running. In my case, they are not simple operations 2020-12-02T16:43:17Z phoe: swank-crew does not automate launching other lisp images though; I assume this is up for your OS framework to do 2020-12-02T16:43:31Z lotuseater: and sorry it wasn't meant like that with the time, won't do it anymore :) 2020-12-02T16:44:19Z jeosol: phoe: I am doing the first part of what you describe, and using some bt-thread and uiop:wait-process, but I don't think I am getting it to work yet, it's exiting. But if I take the command string, paste it into a shell it runs fine 2020-12-02T16:45:12Z jeosol: phoe: yes, I am using the swank-client for the evaluations for the cases where I started the repls myself 2020-12-02T16:48:15Z galex-713 joined #lisp 2020-12-02T16:50:00Z jeosol: Here is what I have tested (looking at stuff online): https://pastebin.com/s5R89ica 2020-12-02T16:50:50Z jeosol: Additionally, I can say, I want to start optimizations with one function case, e.g., F(x) = 2*x, then I will fire up the repl for that, do some computations, then when I am done, I can then send some message to close it 2020-12-02T16:50:53Z jeosol: or stop it 2020-12-02T16:52:09Z jeosol: or if there is some library that does something similar or with bits, I'd like to take a look 2020-12-02T16:54:04Z jonatack quit (Ping timeout: 272 seconds) 2020-12-02T16:54:09Z adlai: ... you are trying to have the swank client sbcl optimize code for the server? 2020-12-02T16:54:52Z jonatack joined #lisp 2020-12-02T16:54:52Z jeosol: phoe: about swank-crew, I meant I have looked at it for managing and distributing the work but not starting the repls 2020-12-02T16:55:07Z adlai supposes that is sane if both are actually identical compilers, on the same machine; beyond that, "now you have two problems" 2020-12-02T16:56:27Z jeosol: adlai: pardon that I use the word optimization loosely where where many might get confused with "code optimization". I am referring to mathematical optimization F(x) given some x, which each F1(x) and F2(x) corresponding to different images 2020-12-02T16:57:25Z adlai returns pitchfork to A. Grothendieck and retreats into the tomato hedges 2020-12-02T17:01:40Z rumbler3_ joined #lisp 2020-12-02T17:03:21Z KREYREEN quit (Remote host closed the connection) 2020-12-02T17:03:47Z KREYREEN joined #lisp 2020-12-02T17:06:09Z rumbler3_ quit (Ping timeout: 260 seconds) 2020-12-02T17:07:07Z urek joined #lisp 2020-12-02T17:08:37Z EvW joined #lisp 2020-12-02T17:14:38Z wsinatra quit (Ping timeout: 260 seconds) 2020-12-02T17:16:11Z wsinatra joined #lisp 2020-12-02T17:19:40Z terpri quit (Remote host closed the connection) 2020-12-02T17:26:03Z Josh_2 joined #lisp 2020-12-02T17:26:39Z terpri joined #lisp 2020-12-02T17:29:10Z kaftejiman_ quit (Remote host closed the connection) 2020-12-02T17:35:57Z urek quit (Quit: urek) 2020-12-02T17:42:12Z pankajsg quit (Ping timeout: 272 seconds) 2020-12-02T17:43:28Z amplituhedron quit (Ping timeout: 272 seconds) 2020-12-02T17:47:26Z ggole quit (Quit: Leaving) 2020-12-02T17:48:48Z sjl: I have a relatively long question about the MOP, defclass, and the evaluation of custom slot arguments. Pasted here to not flood the channel: https://gist.github.com/sjl/bc5903c62677f0a0ea16a2936e5d3c12 2020-12-02T17:49:00Z niceplace joined #lisp 2020-12-02T17:49:04Z sjl: (the actual thing I'm trying to do is not quite as simple as this example, but this illustrates the problem) 2020-12-02T17:52:58Z dilated_dinosaur quit (Ping timeout: 272 seconds) 2020-12-02T17:56:09Z Bike: ahh. yeah, effective slot initargs 2020-12-02T17:57:18Z Bike: the reason it's not getting the initarg is, iirc, that slot definition machinery gathers initargs from the direct slotds and applies inheritance rules, and it doesn't know about :tick so it just ignores it? something like that 2020-12-02T17:57:47Z Bike: let me refresh my memory of the last time i made custom slots... 2020-12-02T17:58:04Z aartaka joined #lisp 2020-12-02T18:02:28Z Bike: i don't think there's any way to customize the evaluation like you want. the defclass macro always quotes extended options. I believe. 2020-12-02T18:05:42Z Bike: it would be tricky to extend the protocol, since you'd presumably want to use the direct slotd class to customize the macro behavior, but the class isn't known yet 2020-12-02T18:07:41Z lxsameer joined #lisp 2020-12-02T18:08:10Z lxsameer: hey folks, CL has more rules when it comes to quasiquotation, what does ",." resolves ? 2020-12-02T18:08:37Z Bike: clhs ,. 2020-12-02T18:08:37Z specbot: Couldn't find anything for ,.. 2020-12-02T18:08:44Z Bike: it's like nconc in backquote, i think 2020-12-02T18:08:47Z Bike: ,@ except destructive 2020-12-02T18:08:57Z Bike: clhs ` 2020-12-02T18:08:57Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/02_df.htm 2020-12-02T18:09:11Z Bike: «Anywhere ``,@'' may be used, the syntax ``,.'' may be used instead to indicate that it is permissible to operate destructively on the list structure produced by the form following the ``,.'' (in effect, to use nconc instead of append). » 2020-12-02T18:10:39Z lxsameer: thanks 2020-12-02T18:11:35Z andreyorst joined #lisp 2020-12-02T18:14:41Z Bike: sjl: you could define your own defclass replacement macro of course. i know that's not convenient, but ensure-class is pretty easy to use 2020-12-02T18:15:28Z EvW quit (Ping timeout: 244 seconds) 2020-12-02T18:16:52Z rogersm joined #lisp 2020-12-02T18:19:35Z skapata joined #lisp 2020-12-02T18:25:46Z zcheng3 quit (Ping timeout: 256 seconds) 2020-12-02T18:29:16Z amb007 quit (Read error: Connection reset by peer) 2020-12-02T18:30:07Z amb007 joined #lisp 2020-12-02T18:30:07Z aaaaaa joined #lisp 2020-12-02T18:31:14Z kaftejiman joined #lisp 2020-12-02T18:31:14Z amb007 quit (Read error: Connection reset by peer) 2020-12-02T18:31:47Z amb007 joined #lisp 2020-12-02T18:38:02Z sjl: Bike: yeah, that's what I figured. just wanted to make sure I wasn't missing something. thanks. 2020-12-02T18:43:38Z codewaffle quit (Ping timeout: 272 seconds) 2020-12-02T18:49:41Z codewaffle joined #lisp 2020-12-02T18:55:19Z imode joined #lisp 2020-12-02T18:58:59Z amplituhedron joined #lisp 2020-12-02T18:59:05Z xrash joined #lisp 2020-12-02T19:03:46Z xrash quit (Read error: Connection reset by peer) 2020-12-02T19:14:52Z rogersm quit (Quit: Leaving...) 2020-12-02T19:16:17Z emys_ quit (Quit: WeeChat 2.9) 2020-12-02T19:16:36Z emys_ joined #lisp 2020-12-02T19:18:10Z emys_ quit (Client Quit) 2020-12-02T19:22:08Z dilated_dinosaur joined #lisp 2020-12-02T19:24:30Z EvW joined #lisp 2020-12-02T19:28:17Z Jesin quit (Quit: Leaving) 2020-12-02T19:31:42Z zacts joined #lisp 2020-12-02T19:32:50Z liberliver quit (Remote host closed the connection) 2020-12-02T19:33:09Z liberliver joined #lisp 2020-12-02T19:34:07Z Lycurgus joined #lisp 2020-12-02T19:34:42Z zcheng3 joined #lisp 2020-12-02T19:35:05Z Jesin joined #lisp 2020-12-02T19:38:49Z mseddon: Stupid question- anyone know if I can license some of the fonts from Genera? or is symbolics just a giant dead holding company now? 2020-12-02T19:39:41Z Lycurgus: almost certainly not 2020-12-02T19:40:14Z mseddon: I mean while there's minimal chance of being sued, I'd rather play fair. 2020-12-02T19:40:15Z Lycurgus: there's a likely chain of custody from symbolics or whoever 2020-12-02T19:40:31Z mseddon: yeah. and I'd like to give them $50 to license some fonts :) 2020-12-02T19:40:50Z benjamin-l quit (Ping timeout: 264 seconds) 2020-12-02T19:41:13Z mseddon: although it seems very much quite a dead situation now, looks more like a guy in his basement selling boards for people who have to maintain old machines. 2020-12-02T19:41:44Z EvW quit (Ping timeout: 240 seconds) 2020-12-02T19:42:14Z Lycurgus: https://en.wikipedia.org/wiki/License-free_software is my pref 2020-12-02T19:42:44Z Lycurgus: fonts tend to be the original ip of the individual artist 2020-12-02T19:43:12Z mseddon: well. that depends on who has them. there are naturally no copyright notices in the bdfs 2020-12-02T19:43:18Z Lycurgus: who will generally be satisfied with mention/credit/advert 2020-12-02T19:43:34Z mseddon: and it's only for some happy reference. But at the same time... gah. 2020-12-02T19:43:43Z Lycurgus: whatever shark ate up whatever ate up symbolics, not so much 2020-12-02T19:43:57Z mseddon: ^ yep. that's my fear. 2020-12-02T19:44:18Z mseddon: I suppose a bunch of them I may be able to yoink from the CADR, since MIT actually respond to emails 2020-12-02T19:44:27Z mseddon: plus I think that's all GPL now 2020-12-02T19:44:50Z EvW joined #lisp 2020-12-02T19:48:34Z mseddon: meh. it may be easier and better to do it right and commission them from a font designer to be honest. It'd stand up better anyway. 2020-12-02T19:49:36Z Lycurgus: or do it yourself, there's a plethora of font working tools, foundries, etc 2020-12-02T19:50:07Z mseddon: Lycurgus also possible. 2020-12-02T19:50:46Z mseddon: it's kinda easier these days now that we have high dpi screens and you don't need decent 72dpi font hinting 2020-12-02T19:50:53Z Lycurgus: likely to work better since typography in computing has come a ways since the 80s 2020-12-02T19:51:40Z mseddon: yeah the fonts themselves are useless. They look cute and evoke a particular style, but even Cyrillic is not well supported imo 2020-12-02T19:52:09Z liberliver quit (Ping timeout: 265 seconds) 2020-12-02T19:52:38Z Lycurgus: code pages and the like were embryonic then 2020-12-02T19:54:08Z Lycurgus: i found garnet worked fine but it's not usable for anything new because it looks so stone age 2020-12-02T19:54:29Z Lycurgus: so fine for something that already uses it 2020-12-02T19:54:38Z cosimone quit (Quit: cosimone) 2020-12-02T19:57:33Z mseddon: hehe, yeah. but for example garnet (which I recall from the Amiga days) was a great retro font. 2020-12-02T19:58:45Z Lycurgus: i meant the lisp UI thing and yeah looks like the first macs 2020-12-02T19:59:00Z mseddon: yeah the idea is to deliberately capture that visually. 2020-12-02T19:59:58Z Lycurgus: when I said "found" i meant within the last month 2020-12-02T20:00:02Z EvW quit (Ping timeout: 264 seconds) 2020-12-02T20:00:12Z Lycurgus: running in sbcl 2020-12-02T20:00:26Z mseddon: :D the lispm fonts I find are terrible for non-lisp programming 2020-12-02T20:08:33Z andreyorst quit (Quit: andreyorst) 2020-12-02T20:08:51Z andreyorst joined #lisp 2020-12-02T20:11:00Z benjamin-l joined #lisp 2020-12-02T20:11:19Z Lycurgus quit (Quit: Exeunt) 2020-12-02T20:13:35Z euandreh joined #lisp 2020-12-02T20:17:23Z EvW joined #lisp 2020-12-02T20:19:02Z Stanley00 joined #lisp 2020-12-02T20:23:58Z Stanley00 quit (Ping timeout: 256 seconds) 2020-12-02T20:26:28Z andreyorst quit (Ping timeout: 256 seconds) 2020-12-02T20:26:40Z g0d_shatter joined #lisp 2020-12-02T20:34:22Z cosimone joined #lisp 2020-12-02T20:37:48Z g0d_shatter quit (Quit: Leaving) 2020-12-02T20:38:13Z narimiran quit (Ping timeout: 260 seconds) 2020-12-02T20:40:19Z rumbler3_ joined #lisp 2020-12-02T20:45:14Z rumbler3_ quit (Ping timeout: 272 seconds) 2020-12-02T20:52:25Z saganman quit (Ping timeout: 264 seconds) 2020-12-02T20:55:08Z wsinatra quit (Ping timeout: 260 seconds) 2020-12-02T20:57:05Z wsinatra joined #lisp 2020-12-02T20:57:53Z dhil quit (Ping timeout: 265 seconds) 2020-12-02T21:01:25Z orivej quit (Ping timeout: 264 seconds) 2020-12-02T21:04:15Z cosimone quit (Remote host closed the connection) 2020-12-02T21:04:33Z cosimone joined #lisp 2020-12-02T21:19:07Z shifty joined #lisp 2020-12-02T21:19:14Z tane joined #lisp 2020-12-02T21:21:57Z cosimone_ joined #lisp 2020-12-02T21:22:59Z cosimone_ quit (Remote host closed the connection) 2020-12-02T21:23:23Z g0d_shatter joined #lisp 2020-12-02T21:25:28Z cosimone quit (Ping timeout: 260 seconds) 2020-12-02T21:26:42Z srandon111 quit (Quit: leaving) 2020-12-02T21:27:35Z cosimone joined #lisp 2020-12-02T21:32:52Z ljavorsk quit (Remote host closed the connection) 2020-12-02T21:35:29Z cosimone quit (Remote host closed the connection) 2020-12-02T21:35:34Z dhil joined #lisp 2020-12-02T21:35:49Z cosimone joined #lisp 2020-12-02T21:39:52Z Fare joined #lisp 2020-12-02T21:42:53Z Codaraxis_ joined #lisp 2020-12-02T21:42:54Z amb007 quit (Read error: Connection reset by peer) 2020-12-02T21:43:20Z amb007 joined #lisp 2020-12-02T21:44:02Z mfiano joined #lisp 2020-12-02T21:44:02Z amb007 quit (Read error: Connection reset by peer) 2020-12-02T21:44:51Z amb007 joined #lisp 2020-12-02T21:45:54Z Codaraxis quit (Ping timeout: 260 seconds) 2020-12-02T21:58:43Z dyelar joined #lisp 2020-12-02T22:08:52Z arichiardi[m]: Hi there! I was wondering if anybody know whether CL bindings for LUKS functions (libcryptsetup)? No problem if not, just making sure I am not missing any :D 2020-12-02T22:09:52Z mbomba joined #lisp 2020-12-02T22:12:14Z mbomba quit (Client Quit) 2020-12-02T22:17:45Z wsinatra quit (Quit: WeeChat 3.0) 2020-12-02T22:19:14Z gioyik joined #lisp 2020-12-02T22:22:47Z miasuji joined #lisp 2020-12-02T22:24:18Z ebrasca quit (Read error: No route to host) 2020-12-02T22:24:32Z ebrasca joined #lisp 2020-12-02T22:28:06Z leo_song joined #lisp 2020-12-02T22:28:28Z rumbler31 joined #lisp 2020-12-02T22:32:08Z cl-arthur quit (Ping timeout: 265 seconds) 2020-12-02T22:32:57Z amplituhedron quit (Read error: Connection reset by peer) 2020-12-02T22:33:16Z amplituhedron joined #lisp 2020-12-02T22:33:31Z pve quit (Quit: leaving) 2020-12-02T22:33:32Z rumbler31 quit (Ping timeout: 272 seconds) 2020-12-02T22:34:25Z sjl quit (Ping timeout: 264 seconds) 2020-12-02T22:39:49Z ebrasca quit (Read error: Connection reset by peer) 2020-12-02T22:42:01Z Josh_2: arichiardi[m]: dont think so but you could always make them :P 2020-12-02T22:48:58Z cl-arthur joined #lisp 2020-12-02T22:49:43Z arichiardi[m]: yep I have just noticed there are rust bindings, cool thank you! 2020-12-02T22:50:17Z greisean joined #lisp 2020-12-02T22:58:01Z random-nick quit (Ping timeout: 246 seconds) 2020-12-02T22:58:51Z cosimone quit (Quit: cosimone) 2020-12-02T23:02:09Z frgo quit (Remote host closed the connection) 2020-12-02T23:02:35Z frgo joined #lisp 2020-12-02T23:05:56Z tane quit (Quit: Leaving) 2020-12-02T23:20:24Z zacts quit (Quit: leaving) 2020-12-02T23:23:58Z thmprover joined #lisp 2020-12-02T23:29:14Z miasuji quit (Read error: Connection reset by peer) 2020-12-02T23:29:41Z frodef joined #lisp 2020-12-02T23:29:52Z miasuji joined #lisp 2020-12-02T23:35:27Z ted_wroclaw joined #lisp 2020-12-02T23:42:04Z ted_wroclaw quit (Quit: Textual IRC Client: www.textualapp.com) 2020-12-02T23:46:03Z mbomba joined #lisp 2020-12-02T23:47:26Z benjamin-l quit (Ping timeout: 264 seconds) 2020-12-02T23:50:11Z benjamin-l joined #lisp 2020-12-02T23:51:34Z lotuseater: hehe I tried and it word: #1=(loop :for i :in '#1# :when (keywordp i) :collect i) 2020-12-02T23:51:48Z lotuseater: s/word/worked 2020-12-02T23:53:34Z mseddon: lotuseater: livin' on the edge 2020-12-02T23:53:51Z rumbler3_ joined #lisp 2020-12-02T23:54:06Z thmprover: Is there some way to check if a CL project name has been taken, or is currently in use? I have a horrible pun I want to use, but I don't want to steal it if someone else already has it. 2020-12-02T23:54:52Z no-defun-allowed: Best thing you can do is search it. 2020-12-02T23:54:53Z lotuseater: thmprover: i would look on quicklisp 2020-12-02T23:55:32Z lotuseater: mseddon: not good? 2020-12-02T23:55:44Z mseddon: lotuseater: It returned a value, good! :) 2020-12-02T23:56:28Z thmprover: lotuseater: good idea, luckily the name is free. 2020-12-02T23:56:37Z thmprover: Time to poach this egg. 2020-12-02T23:57:01Z lotuseater: yes! and writing LOOP words as real keywords is not only good for syntax highlighting but also something like DESTRUCTURING-BIND 2020-12-02T23:58:34Z lotuseater: thmprover: but for catching bigger area in the Venn diagram of names github would also be useful 2020-12-02T23:58:54Z rumbler3_ quit (Ping timeout: 260 seconds) 2020-12-02T23:59:06Z no-defun-allowed: There aren't any other software projects called Netfarm, but there is an Italian open source consultancy named Netfarm. 2020-12-02T23:59:40Z thmprover: Oh, that will make my punny name all the more humorous. 2020-12-02T23:59:45Z lotuseater: this old antic greek again: more things as symbols/names 2020-12-03T00:00:07Z no-defun-allowed: Prior to that, there was also GNU Nettle (a C cryptography library). So it's not just Lisp projects, and it's not just software projects either. 2020-12-03T00:00:49Z rgherdt quit (Ping timeout: 272 seconds) 2020-12-03T00:01:18Z greisean left #lisp 2020-12-03T00:01:47Z EvW quit (Ping timeout: 260 seconds) 2020-12-03T00:02:01Z lotuseater: i wonder how difficult it is to realize good and safe cryptostuff in CL. someone told me two years ago the best is in deterministic aka direct assembly 2020-12-03T00:03:14Z lotuseater: but i think the most crypto software is in C 2020-12-03T00:03:30Z johnjay quit (Ping timeout: 256 seconds) 2020-12-03T00:03:38Z thmprover: Wheh, luckily, no one is using on github either, so I claim in it my own name. 2020-12-03T00:05:01Z mason joined #lisp 2020-12-03T00:05:08Z no-defun-allowed: Ironclad makes an attempt to be constant-time IIRC, for example there is an equality operator that computes error |= x[n] ^ y[n], but it's really up to how the implementation handles things. 2020-12-03T00:06:17Z thmprover: My experiment with declarative theorem provers will henceforth occupy the CL-AIM project. 2020-12-03T00:06:48Z thmprover: CL-AIM will test my claim about the irrelevance of the choice for the foundations of mathematics. 2020-12-03T00:08:16Z lotuseater: thmprover: oh sounds interesting. i want to understand more how to work with ACL2, Coq and recently i read L∃∀N should also be good 2020-12-03T00:08:39Z torbo joined #lisp 2020-12-03T00:09:26Z thmprover: ACL2 looks fascinating. I have a love/hate relation with Coq, but my interest is in doing mathematics with theorem provers, not verifying software. 2020-12-03T00:10:41Z no-defun-allowed: ACL2 is very different. It does the theorem proving process automatically, but you usually need to steer it with lemmas, and it only does first order logic (no higher order functions). 2020-12-03T00:11:20Z lotuseater: yeah and my knowledge of category theory, dependent types is not deep enough yet. but Haskell drills me to widen it. but that's another story. and I know ACL2 is another approach than Coq 2020-12-03T00:12:15Z thmprover: Automath is a good way to learn dependent types, but it's quirky...it's not even in the lambda cube. 2020-12-03T00:13:43Z thmprover: no-defun-allowed: I thought that "wandering" aspect to ACL2 was particularly unique and intriguing. 2020-12-03T00:14:29Z thmprover: Wait, hypothetical question: CL is a lisp-2, so there are separate namespaces for functions and values, right? 2020-12-03T00:14:41Z thmprover: Could I create my own separate namespace for, say, theorems? 2020-12-03T00:15:37Z no-defun-allowed: Yes, usually you would use a hash-table, and some accessor functions like FIND-THEOREM, (SETF FIND-THEOREM), ... to use the namespace. 2020-12-03T00:15:37Z EvW joined #lisp 2020-12-03T00:19:11Z thmprover: no-defun-allowed: that was my first instinct, too, but it is a "poor man's namespace" rather than a first-class namespace. 2020-12-03T00:19:46Z no-defun-allowed: I don't think there are first-class namespaces in Common Lisp. And if you implicitly FIND-THEOREM on some things, you wouldn't be able to tell the difference. 2020-12-03T00:20:01Z no-defun-allowed: eg (make-instance 'some-class ...) == (make-instance (find-class 'some-class) ...) 2020-12-03T00:20:09Z jason_m joined #lisp 2020-12-03T00:21:12Z thmprover: Yeah, I was just curious if first-class namespaces were allowed. It seems like quite a niche thing, so completely understandable CL would not have it. 2020-12-03T00:22:11Z no-defun-allowed: And all the CL namespaces are just sets of accessors (occasionally with an environment object). 2020-12-03T00:24:11Z ebrasca joined #lisp 2020-12-03T00:30:04Z Bike: having an actual namespace would be most useful for when you want lexical bindings. not sure that's the case for theorems, though. 2020-12-03T00:30:13Z no-defun-allowed: Indeed. 2020-12-03T00:30:18Z Bike: also you can kind of hack lexical binding arbitrary things by abusing symbol-macrolet. 2020-12-03T00:30:43Z Bike: but only for compile time bindings 2020-12-03T00:32:52Z thmprover: I will have to study symbol-macrolet, I have a peripheral awareness of it, but haven't looked at it. 2020-12-03T00:33:29Z Bike: well, basically you can have your binding macro expand into (symbol-macrolet ((some-magic-symbol bindings)) ...), and then use (macroexpand-1 'some-magic-symbol env) to get the bindings. 2020-12-03T00:34:51Z thmprover: Can you override the meaning of a symbol temporarily using symbol-macrolet? 2020-12-03T00:35:20Z Bike: you bind what it means as a variable, if that's what you mean 2020-12-03T00:35:44Z Bike: (symbol-macrolet ((x (print y))) (+ x x)) = (+ (print y) (print y)) 2020-12-03T00:36:23Z thmprover: But you couldn't re-bind, say, 'let' (or some other builtin function) temporarily using symbol-macrolet? 2020-12-03T00:37:09Z Bike: let is a special operator, not a function. and symbol-macrolet deals with variables rather than operators. you can use macrolet to shadow operators. 2020-12-03T00:37:23Z Bike: but you can't shadow operators that are part of the standard CL package, such as let. 2020-12-03T00:37:27Z kaftejiman quit (Remote host closed the connection) 2020-12-03T00:37:31Z Bike: because that makes macroexpansions really fraught. 2020-12-03T00:38:50Z thmprover: Alright, good to know, that will save me much trouble later. 2020-12-03T00:42:07Z Oladon joined #lisp 2020-12-03T00:44:04Z frodef quit (Ping timeout: 256 seconds) 2020-12-03T00:44:30Z Bike: oh, and you said CL was a lisp-2, but there are actually some more namespaces too, like the one for types and classes. doesn't come up immediately in the evaluation semantics though. 2020-12-03T01:05:44Z dhil quit (Ping timeout: 240 seconds) 2020-12-03T01:14:29Z EvW quit (Ping timeout: 244 seconds) 2020-12-03T01:15:20Z johnjay joined #lisp 2020-12-03T01:24:24Z johnjay quit (Ping timeout: 240 seconds) 2020-12-03T01:27:19Z johnjay joined #lisp 2020-12-03T01:29:55Z zcheng3 quit (Ping timeout: 246 seconds) 2020-12-03T01:36:04Z akoana joined #lisp 2020-12-03T01:41:38Z Lord_of_Life quit (Ping timeout: 272 seconds) 2020-12-03T01:41:51Z Lord_of_Life joined #lisp 2020-12-03T01:51:09Z jeosol quit (Remote host closed the connection) 2020-12-03T01:57:56Z akoana left #lisp 2020-12-03T01:58:43Z aartaka_d joined #lisp 2020-12-03T02:00:48Z aartaka quit (Ping timeout: 260 seconds) 2020-12-03T02:08:15Z jeosol joined #lisp 2020-12-03T02:13:40Z Josh_2 quit (Ping timeout: 246 seconds) 2020-12-03T02:14:15Z surabax quit (Quit: Leaving) 2020-12-03T02:18:55Z shifty quit (Ping timeout: 246 seconds) 2020-12-03T02:19:09Z shifty joined #lisp 2020-12-03T02:20:36Z Khisanth quit (Ping timeout: 240 seconds) 2020-12-03T02:34:15Z Khisanth joined #lisp 2020-12-03T02:38:46Z shifty quit (Ping timeout: 256 seconds) 2020-12-03T02:39:40Z shifty joined #lisp 2020-12-03T02:41:10Z frost-lab joined #lisp 2020-12-03T02:50:24Z pfdietz quit (Remote host closed the connection) 2020-12-03T02:50:54Z Stanley00 joined #lisp 2020-12-03T02:57:29Z johnjay quit (Ping timeout: 265 seconds) 2020-12-03T03:00:29Z johnjay joined #lisp 2020-12-03T03:02:12Z thmprover quit (Quit: This parting was well made) 2020-12-03T03:21:56Z vegansbane quit (Remote host closed the connection) 2020-12-03T03:27:04Z zulu-inuoe_ quit (Read error: Connection reset by peer) 2020-12-03T03:28:54Z loke[m]: I want opinions on a design choice: 2020-12-03T03:30:22Z loke[m]: Imagine a list of "graphical objects" (because that's what they are in Climaxima), and there is a generic function called SAVE-STATE that, when called with a graphical object as an argument returns its configuration as a specially formatted list (a Maxima list actually, but that doesn't matter). 2020-12-03T03:30:56Z vegansbane joined #lisp 2020-12-03T03:31:02Z loke[m]: The caller has a list of these objects, and it collects the class name and the output of SAVE-STATE for each object. 2020-12-03T03:31:07Z loke[m]: So far so good. 2020-12-03T03:32:59Z loke[m]: Now, I need to write a LOAD-STATE that does the opposite. One way of doing that would be to take the class name, and call MAKE-INSTANCE on it with the values previously returned from SAVE-STATE as argument. 2020-12-03T03:33:25Z loke[m]: Another would be to have a big ECASE that knows about the object types and dispatch to the correct initialiser. 2020-12-03T03:33:32Z loke[m]: Suggestions? 2020-12-03T03:33:37Z galex-713 quit (Ping timeout: 272 seconds) 2020-12-03T03:34:40Z Bike: make-instance sounds appropriate to me. 2020-12-03T03:36:00Z loke[m]: Bike: But that would add the requirement that whatever is returned from SAVE-STATE is in a form valid as argument to MAKE-INSTANCE. And it may be that some special internal state needs to be initialised that isn't visible from MAKE-INSTANCE. I'd like my solution to be as flexible as possible. 2020-12-03T03:36:16Z loke[m]: Another idea I had was to use ALLOCATE-INSTANCE and then call a generic function with this instance. 2020-12-03T03:36:32Z loke[m]: (I've never used ALLOCATE-INSTANCE though, and frankly it feels a bit dodgy 2020-12-03T03:37:05Z Bike: what make-instance does is call allocate-instance and then call initialize-instance on the result. initialize-instance can be customized with whatever keyword parameters for providing whatever state. 2020-12-03T03:37:14Z Fare quit (Ping timeout: 264 seconds) 2020-12-03T03:38:35Z loke[m]: I see. 2020-12-03T03:44:32Z Fare joined #lisp 2020-12-03T03:46:04Z aaaaaa quit (Ping timeout: 240 seconds) 2020-12-03T03:56:51Z saganman joined #lisp 2020-12-03T03:57:03Z madage quit (Ping timeout: 240 seconds) 2020-12-03T04:03:23Z Alfr joined #lisp 2020-12-03T04:03:38Z miasuji quit (Ping timeout: 264 seconds) 2020-12-03T04:03:46Z beach: Good morning everyone! 2020-12-03T04:04:50Z Alfr_ quit (Ping timeout: 264 seconds) 2020-12-03T04:05:52Z _jrjsmrtn joined #lisp 2020-12-03T04:06:01Z __jrjsmrtn__ quit (Ping timeout: 246 seconds) 2020-12-03T04:10:00Z skapata quit (Quit: Leaving) 2020-12-03T04:10:13Z johnjay quit (Ping timeout: 260 seconds) 2020-12-03T04:11:06Z skapata joined #lisp 2020-12-03T04:11:56Z miasuji joined #lisp 2020-12-03T04:12:37Z akrl quit (Read error: Connection reset by peer) 2020-12-03T04:12:52Z akrl joined #lisp 2020-12-03T04:17:57Z johnjay joined #lisp 2020-12-03T04:22:34Z johnjay quit (Read error: Connection reset by peer) 2020-12-03T04:22:39Z pi123 joined #lisp 2020-12-03T04:28:36Z pi123 quit (Ping timeout: 240 seconds) 2020-12-03T04:29:07Z johnjay joined #lisp 2020-12-03T04:30:27Z waleee-cl quit (Quit: Connection closed for inactivity) 2020-12-03T04:33:38Z Fare quit (Ping timeout: 264 seconds) 2020-12-03T04:35:44Z benjamin-l quit (Ping timeout: 240 seconds) 2020-12-03T04:35:53Z johnjay quit (Read error: Connection reset by peer) 2020-12-03T04:35:58Z pi123 joined #lisp 2020-12-03T04:36:17Z mbomba quit (Quit: WeeChat 3.0) 2020-12-03T04:37:02Z Iolo quit (Quit: ZNC 1.7.5+deb4 - https://znc.in) 2020-12-03T04:38:21Z Iolo joined #lisp 2020-12-03T04:43:02Z zcheng3 joined #lisp 2020-12-03T04:43:46Z madage joined #lisp 2020-12-03T04:46:16Z benjamin-l joined #lisp 2020-12-03T04:46:56Z narimiran joined #lisp 2020-12-03T04:51:00Z pi123 quit (Read error: Connection reset by peer) 2020-12-03T04:51:10Z johnjay joined #lisp 2020-12-03T04:57:56Z niceplace quit (Ping timeout: 256 seconds) 2020-12-03T04:59:19Z drl quit (Quit: Leaving) 2020-12-03T05:01:14Z miasuji quit (Ping timeout: 264 seconds) 2020-12-03T05:03:28Z niceplace joined #lisp 2020-12-03T05:08:16Z johnjay quit (Ping timeout: 240 seconds) 2020-12-03T05:09:47Z benjamin-l quit (Ping timeout: 260 seconds) 2020-12-03T05:10:11Z torbo quit (Remote host closed the connection) 2020-12-03T05:11:35Z benjamin-l joined #lisp 2020-12-03T05:12:21Z zacts joined #lisp 2020-12-03T05:18:48Z miasuji joined #lisp 2020-12-03T05:22:53Z srandon111 joined #lisp 2020-12-03T05:23:07Z srandon111: hey people, so i am starting with common lisp, do you suggest SBCL ? 2020-12-03T05:23:21Z srandon111: is it the common choice amaong beginners? 2020-12-03T05:23:53Z loke[m]: srandon111: The choice of implementation doesn't really depend on your skill level. 2020-12-03T05:25:05Z loke[m]: Bascially, you have: SBCL - Most common use. It's really high performance, everything is well supported on it and it has great error messages. ABCL - If you need to integrate with the JVM. ECL - If you are looking at integrating with C code, or if you are running on things like embedded platforms. 2020-12-03T05:25:38Z zacts: is clisp still around? 2020-12-03T05:25:52Z srandon111: zacts, clisp? isn't this a channel about clisp ? 2020-12-03T05:26:10Z zacts: no, clisp the MIT gpl lisp implementation 2020-12-03T05:26:12Z srandon111: thanks loke[m] you gave me a great overview about the different implementations, that's really what i needed! 2020-12-03T05:26:15Z loke[m]: zacts: Well, hasn't had a release in 10 years, and most software don't work on it anymore. It's supposedly still being developed but I wouldn't bother until they actually decide to release something. 2020-12-03T05:26:19Z aartaka joined #lisp 2020-12-03T05:26:29Z srandon111: loke[m], what's the last release of sbcl instead ? 2020-12-03T05:26:36Z zacts: loke[m]: ok, thanks. the reason I ask is I think it's what that land of lisp book uses. 2020-12-03T05:27:14Z loke[m]: The benefit CLISP had was that it was easy to port to new platforms. However, these days I think ECL fits that role much better. 2020-12-03T05:27:25Z zacts: cool 2020-12-03T05:27:50Z loke[m]: Then of course there is Lispworks and Allegro. But those are commercial products and unless you're a commercial project there isn't much reason to look at them. 2020-12-03T05:28:22Z kir0ul_ quit (Ping timeout: 272 seconds) 2020-12-03T05:28:33Z no-defun-allowed: Except for the networking code, you can run all the code in Land of Lisp in any Common Lisp implementation. 2020-12-03T05:28:45Z zacts: ah cool 2020-12-03T05:29:13Z loke[m]: Did I miss anything? There is GCL. That one still exists and gets fixes once in a while. These days the only thing it's used for that I know of is some distributions still build Maxima using it. 2020-12-03T05:29:36Z amplituhedron quit (Ping timeout: 240 seconds) 2020-12-03T05:29:40Z aartaka_d quit (Ping timeout: 256 seconds) 2020-12-03T05:29:45Z zacts: huh, I wonder if ABCL can interop with other JVM based languages. 2020-12-03T05:29:54Z no-defun-allowed: I am sure someone has ported it already, but a fun extension might be to look up the usocket documentation and have a go at porting the networking code to use usocket. From memory, the CLISP and usocket interfaces are very similar. 2020-12-03T05:30:22Z loke[m]: zacts: Yes, it can. Most JVM languages use some Java-compatible way of exposing API's. 2020-12-03T05:30:43Z srandon111: loke[m], what do you suggest to do network programming on lisp ? 2020-12-03T05:30:46Z srandon111: like crafting packets 2020-12-03T05:31:00Z no-defun-allowed: I'm also sure that interfacing Kotlin and Scala is basically the same as interfacing Java. 2020-12-03T05:31:00Z loke[m]: srandon111: That question is too broad to give a simple answer. 2020-12-03T05:31:13Z loke[m]: *no-defun-allowed*: Yes, definitely. 2020-12-03T05:31:37Z loke[m]: srandon111: SBCL does this very well. 2020-12-03T05:32:12Z loke[m]: But ABCL has a huge benefit if you want to integrate will any of the billions of Java libraries. 2020-12-03T05:32:39Z srandon111: loke[m], i was searching for something similar to python scapy ... beware NOT scrapy, but scapy, which is a packet crafter 2020-12-03T05:32:58Z loke[m]: With SBCL I've had to turn to IOLIB quite a few times. IOLIB is OK, but its requirement on libfixposix is very annoying. 2020-12-03T05:33:50Z no-defun-allowed: Searching "common lisp packet crafting" comes up with https://github.com/mets634/packet-crafting/ which was added to Quicklisp recently. 2020-12-03T05:34:32Z loke[m]: srandon111: You might want to look at the BINARY-TYPES package, which is the first one I found while searching. 2020-12-03T05:34:33Z srandon111: no-defun-allowed, what is quicklisp? 2020-12-03T05:34:36Z loke[m]: There are others. 2020-12-03T05:34:58Z no-defun-allowed: srandon111: Quicklisp is some software you can use to retrieve Common Lisp libraries over the internet. 2020-12-03T05:35:03Z srandon111: loke[m], wow seems documented like the average perl package 2020-12-03T05:35:04Z srandon111: https://github.com/mets634/packet-crafting/ 2020-12-03T05:35:10Z srandon111: ohh okok 2020-12-03T05:35:12Z loke[m]: srandon111: Quicklisp is the standard library dependency manager in Lisp. 2020-12-03T05:35:16Z Bike quit (Quit: Lost terminal) 2020-12-03T05:35:25Z srandon111: ohh okok loke[m] similar to maven or pip 2020-12-03T05:35:36Z loke[m]: Yes, something like that. 2020-12-03T05:35:39Z loke[m]: But good. 2020-12-03T05:36:15Z no-defun-allowed: Eh, that library doesn't give you much to chew on. 2020-12-03T05:36:42Z loke[m]: https://quickref.common-lisp.net/binary-types.html 2020-12-03T05:37:04Z srandon111: loke[m], "but good" ahahah explain that 2020-12-03T05:37:25Z srandon111: loke[m], these libraries are not able to send any packets it seems 2020-12-03T05:38:07Z loke[m]: srandon111: Of course not. Sending packets is a different thing. You open a connection and WRITE them. These are different things, and handled by different libraries of course. 2020-12-03T05:38:12Z no-defun-allowed: What about https://github.com/atomontage/plokami which uses libpcap? 2020-12-03T05:39:03Z no-defun-allowed: "packet crafter" suggests that we are trying to fiddle with packets, and not normal network programming which doesn't explicate packets. 2020-12-03T05:39:36Z srandon111: no-defun-allowed, i see but i've seen generally that packet crafters generally also have functions to send/receive packets 2020-12-03T05:39:41Z srandon111: e.g., liike the one loke[m] sent.. 2020-12-03T05:39:52Z no-defun-allowed: I hear pcap can send packets now. 2020-12-03T05:40:05Z srandon111: plokami... wow, this is the thing i was searching i think... now i only have to understand how to idgest lisp docs 2020-12-03T05:40:58Z srandon111: thanks loke[m] 2020-12-03T05:41:46Z srandon111: sbcl is only for gnu/linux and macosx right? what is it used on windows? 2020-12-03T05:42:00Z srandon111: just as a curiosity... to understand how much cross platform it is... 2020-12-03T05:42:04Z loke[m]: SBCL works on Windows too. 2020-12-03T05:42:09Z srandon111: ohh okok 2020-12-03T05:42:12Z srandon111: thanks loke[m] 2020-12-03T05:42:23Z loke[m]: I'm not sure SBCL works on ARM mac? 2020-12-03T05:43:15Z loke[m]: http://www.sbcl.org/platform-table.html 2020-12-03T05:43:16Z ebrasca quit (Remote host closed the connection) 2020-12-03T05:43:19Z Necktwi quit (Ping timeout: 246 seconds) 2020-12-03T05:43:21Z no-defun-allowed: I think SBCL on AArch64/macOS is being worked on. 2020-12-03T05:43:33Z loke[m]: Perhaps the ARM boxes on this table should be red rather than grey for ARM mac? 2020-12-03T05:43:42Z loke[m]: OK, yellow then :-) 2020-12-03T05:44:37Z srandon111: it's a pity it doesn't work on dragonflyBSD PPC64le 2020-12-03T05:45:49Z srandon111: also RISC-V 64 architecture is not supported with DragonFlyBSD, well SBCL does not seem really cross-platform as i thought 2020-12-03T05:45:59Z srandon111: loke[m], do you think they are working on this? 2020-12-03T05:46:25Z loke[m]: srandon111: Well, the platform is very low-level, which is why it can be so efficient. 2020-12-03T05:46:29Z no-defun-allowed: I think you are the only person in #lisp that uses dragonflyBSD on PPC64le. 2020-12-03T05:47:11Z srandon111: no-defun-allowed, wow really? why? what you don't like about dragonflyBSD on PPC64le ? 2020-12-03T05:47:30Z srandon111: loke[m], yes i see.. 2020-12-03T05:47:33Z loke[m]: srandon111: I don't think anyone said they don't like it. 2020-12-03T05:47:44Z moon-child: I don't think anyone dislikes that combination specifically; just, both components are somewhat obscure 2020-12-03T05:47:50Z srandon111: loke[m], so why they are not using it ? 2020-12-03T05:47:58Z srandon111: oh okok moon-child 2020-12-03T05:48:20Z no-defun-allowed: Now that you mention it, I don't really like Unix at all, but otherwise I think that most people don't use PowerPC machines, most people don't use BSD, and out of the BSD family, most people don't use dragonflyBSD [citation needed]. 2020-12-03T05:48:20Z srandon111: well i thought dragonflyBSD was more popular these days 2020-12-03T05:48:39Z loke[m]: srandon111: I can't speak for others, but for me it's a combination of no access to the hardware, and that my BSD machines run FreeBSD which works fine for my use cases. 2020-12-03T05:48:44Z srandon111: no-defun-allowed, since you don't like UNIX what OS do you like ? 2020-12-03T05:48:56Z srandon111: loke[m], so you are running FreeBSD ? 2020-12-03T05:49:06Z loke[m]: srandon111: On my servers yes. 2020-12-03T05:49:19Z srandon111: loke[m], what about laptops/workstations? 2020-12-03T05:49:25Z srandon111: dragonflyBSD ? 2020-12-03T05:49:25Z malm quit (Quit: Bye bye) 2020-12-03T05:49:39Z no-defun-allowed: "An operating system is a collection of things that don't fit inside a language; there shouldn't be one." 2020-12-03T05:49:48Z loke[m]: Various Linuxes. I try to run Qubes OS as much as I can, but I tend to need GPU support which means I'm on Fedora/Arch. 2020-12-03T05:50:17Z Necktwi joined #lisp 2020-12-03T05:50:23Z srandon111: no-defun-allowed, sorry what do you mean? i mean if you don't like UNIX what are you using? TempleOS or windows? 2020-12-03T05:50:47Z loke[m]: I agree with *no-defun-allowed* 2020-12-03T05:50:57Z loke[m]: I wish I didn't have to run Linux but here we are. 2020-12-03T05:51:00Z zcheng3 quit (Ping timeout: 265 seconds) 2020-12-03T05:51:12Z no-defun-allowed: I use Smalltalk-80 on a Wii. 2020-12-03T05:51:24Z srandon111: loke[m], what's the meaning ? i mean if you run freebsd or MAC you still run some kind of UNIX 2020-12-03T05:51:40Z srandon111: so the options are not many when talking about laptops/workstations.. 2020-12-03T05:51:56Z no-defun-allowed: No, I also put up with a Linux machine. Dammit, two of them. And the two Android phones on my desk, which sometimes count and sometimes don't. 2020-12-03T05:52:01Z loke[m]: srandon111: Unix isn't good. It's pretty awful really, but out of the systems one can practically run these days, there isn't anything better. 2020-12-03T05:52:16Z srandon111: loke[m], what makes it awful ? 2020-12-03T05:52:36Z beach: srandon111: There is a book about it: "The Unix haters handbook" I recommend it. 2020-12-03T05:52:52Z beach: srandon111: It was written by very smart and highly knowledgeable people. 2020-12-03T05:53:12Z zaquest quit (Quit: Leaving) 2020-12-03T05:53:17Z beach: srandon111: It is available for free as a PDF. 2020-12-03T05:53:22Z loke[m]: I don't fully agree with all of beach's opinions, but I'm mostly aligned, so I would recommend you read his paper on this topic. 2020-12-03T05:53:24Z loke[m]: http://metamodular.com/lispos.pdf 2020-12-03T05:53:28Z no-defun-allowed: Ideally, I would have something closer to Genera, then closer to Mezzano or CLOSOS, but (supposing I can accept the slowdown) with some form of network transparency. 2020-12-03T05:53:47Z no-defun-allowed: I have network transparent and replicatable objects of some form in Common Lisp, now I just need CLOSOS. 2020-12-03T05:54:15Z beach: Wow, the pressure... 2020-12-03T05:54:38Z beach is joking. 2020-12-03T05:54:45Z srandon111: loke[m], no-defun-allowed you guys talk bad about UNIX just because I think you didn't have a real UNIX experience, that is DragonFlyBSD on a PPC64le! 2020-12-03T05:55:16Z loke[m]: srandon111: I'll ignore that comment :-) 2020-12-03T05:55:19Z no-defun-allowed: A "real" UNIX would require a teletype and a PDP-11 2020-12-03T05:55:22Z beach: srandon111: We talk bad about Unix because we knew that there were better things before, and we know that we can do much better. 2020-12-03T05:55:51Z srandon111: beach, i see, i will certainly read the paper 2020-12-03T05:56:05Z beach: srandon111: Unfortunately, many generations of software developers have been brainwashed to think that Unix is the best we can do, and the best we ever did. 2020-12-03T05:56:23Z srandon111: beach, well probably becacuse the alternatives suck more 2020-12-03T05:56:30Z zacts: by Unix do you mean primarily the kernel, or the entire system? 2020-12-03T05:56:39Z beach: srandon111: Not so, no. 2020-12-03T05:56:40Z loke[m]: Also, I have worked with different Unix vendors since the mid-90's. And I did spend many years working for Sun Microsystems, and my opinion is that the best C code base I've had the pleasure of working with was Solaris. I do believe I have quite a bit of Unix knowledge. 2020-12-03T05:56:47Z no-defun-allowed: In the introduction to the book I'm writing, I also have a few things to say about the "real" Unix philosophy, and the braindead programs it spawns. We pretend we have smaller and smaller machines, write programs targeting those machines, then simulate having smaller machines, and screw up inter-"machine" communication. 2020-12-03T05:56:51Z srandon111: zacts, well i mean the whole system also the basic utilities and man pages 2020-12-03T05:57:05Z srandon111: beach, well the alternatives for consumer electronics are Windows or MacOS 2020-12-03T05:57:18Z srandon111: beach, so now GNU/Linux seems better 2020-12-03T05:57:19Z no-defun-allowed: Because lots of consumers use dragonflyBSD. Right. 2020-12-03T05:57:21Z zaquest joined #lisp 2020-12-03T05:57:23Z beach: zacts: Well, applications compensate for the horrible programming model, but the cost is huge. 2020-12-03T05:57:24Z zaquest quit (Remote host closed the connection) 2020-12-03T05:57:34Z srandon111: no-defun-allowed, unluckily not =( 2020-12-03T05:58:05Z beach: srandon111: Sure, if all you look at is what is readily available. 2020-12-03T05:58:11Z loke[m]: Also, mac, windows and linux use pretty much the exact same programming model for the most part. They all have the same memory, the same concept of processes and threads, etc. 2020-12-03T05:58:26Z zacts: how about plan9? 2020-12-03T05:58:33Z srandon111: loke[m], that's why i switched to dragonflyBSD 2020-12-03T05:58:42Z no-defun-allowed will refrain from trying to guess the usage of a hardware × operating system combination next time. 2020-12-03T05:58:46Z srandon111: it's somewhat different and the amount of software you can run is astonishing 2020-12-03T05:58:56Z loke[m]: srandon111: ...which also has exactly the same memory model and processes concepts. 2020-12-03T05:59:50Z loke[m]: What most of us consider "better" doesn't actually exist in a user-friendly package at this time. 2020-12-03T06:00:03Z beach: Well put. 2020-12-03T06:00:06Z srandon111: loke[m], well it's somewhat different, i advice you to try it on your laptop for a real experience... install it, it's cool! well i don't know how the experience is on non PPC64le 2020-12-03T06:00:39Z no-defun-allowed: Hm, looking at https://en.wikipedia.org/wiki/List_of_BSD_operating_systems there's quite a few BSD systems, and it appears they have less ABI compatibility than Linux distributions. 2020-12-03T06:00:51Z srandon111: loke[m], youo can also install it on some smart phones... 2020-12-03T06:01:04Z bmansurov quit (Ping timeout: 240 seconds) 2020-12-03T06:01:17Z srandon111: well after that you cannot make phone calls, but you have a full fledged cli shell that rocks! 2020-12-03T06:01:24Z loke[m]: srandon111: Most of us are experienced enough that a new coat of paint on top of the same old isn't going to excite us very much. 2020-12-03T06:01:38Z nullheroes quit (Ping timeout: 256 seconds) 2020-12-03T06:01:43Z srandon111: loke[m],yah i see 2020-12-03T06:02:05Z no-defun-allowed: Damn, even my girlfriend used to maintain a BSD operating system. Kinda rude for me to forget then. Don't tell her that. 2020-12-03T06:02:21Z srandon111: there is also this project "Gentoo/DragonFlyBSD" that was interesting but unluckily does not seem to be ported to PPC64le 2020-12-03T06:02:32Z loke[m]: srandon111: Trust me, I know perfectly well what you're talking about. I was pretty happy to be able to install a proper shell on my Lego Mindstorms hardware so I could ssh into it and actually do stuff with it. 2020-12-03T06:02:43Z srandon111: ahahahah 2020-12-03T06:02:49Z srandon111: loke[m], that's great! 2020-12-03T06:02:54Z loke[m]: I them proceeded to port ECL to it so I could control my Lego stuff from Lisp. 2020-12-03T06:03:00Z srandon111: i used to install gentoo on wii it was cool 2020-12-03T06:03:02Z no-defun-allowed: But given the pains I have with a "fake" Unix, I don't want to know how a "real" one goes. 2020-12-03T06:03:16Z srandon111: no-defun-allowed, let's write a cool OS 2020-12-03T06:03:24Z srandon111: based entirely on LISP ;D 2020-12-03T06:03:24Z dmiles quit (Ping timeout: 240 seconds) 2020-12-03T06:03:42Z no-defun-allowed: Given that you upcase it, I fear we are not going to work well together. 2020-12-03T06:04:11Z loke[m]: srandon111: But you have to understand that when we talk about a "better" operating system, we look at something way beyond just a new user interface, or getting rid of systemd. 2020-12-03T06:04:12Z no-defun-allowed: And I already said that I think there shouldn't be an operating system. 2020-12-03T06:04:19Z madage quit (Remote host closed the connection) 2020-12-03T06:04:33Z madage joined #lisp 2020-12-03T06:04:59Z zacts: no-defun-allowed: like, there would be no kernel, or? 2020-12-03T06:05:08Z fe[nl]ix: loke[m]: would it be useful to you if I distributed an SBCL image with libfixposix (an perhaps also openssl) statically compiled ? 2020-12-03T06:05:12Z loke[m]: I'm saying that the whole idea of a "process" is not necessary. It was based on ideas that would not be needed. 2020-12-03T06:05:28Z beach: zacts: Exactly. 2020-12-03T06:05:52Z beach: zacts: Even Multics (that Unix attempted to copy as much as they could) did not have a kernel. 2020-12-03T06:05:54Z srandon111: loke[m], what to usue instead of processes? 2020-12-03T06:06:08Z beach: srandon111: Threads. 2020-12-03T06:06:21Z srandon111: no-defun-allowed, we make it entirely lisp but with the same user experience of drangonflybsd on ppc64le 2020-12-03T06:06:32Z srandon111: beach, and then? 2020-12-03T06:06:40Z beach: I don't understand. 2020-12-03T06:06:48Z srandon111: no-defun-allowed, that would rock the s**t out of all other OSes 2020-12-03T06:06:58Z loke[m]: fe[nl]ix: For me? No. I can personally deal with libfixposix. It's no big deal. I also have no issues with software distribution myself. The one issue with it that people download SBCL, ECL, ABCL, try to quickload a project that depends on IOLIB and it explodes because libfixposix isn't available. 2020-12-03T06:07:09Z srandon111: i mean why people should still use Win/Mac/Lin if they can have a dragonflyBSD experience? 2020-12-03T06:07:51Z no-defun-allowed: srandon111: And nothing of value would be made. 2020-12-03T06:07:51Z loke[m]: fenlix: I think having libfixposix in quicklisp would be a solution. I think it would be possible, with the package including the C source code and it being compile das part of loading the ASDF package. 2020-12-03T06:08:14Z srandon111: no-defun-allowed, what do you mean? 2020-12-03T06:08:25Z no-defun-allowed: It would stink as much as any other Unix system. 2020-12-03T06:09:20Z bmansurov joined #lisp 2020-12-03T06:09:32Z srandon111: no-defun-allowed, no no trust me... 2020-12-03T06:09:35Z fe[nl]ix: loke[m]: I doubt that would be possible because the configure script needs to run first, then the library must be installed in a proper location for loading to work 2020-12-03T06:09:44Z bmansurov is now known as Guest93124 2020-12-03T06:09:56Z loke[m]: srandon111: I think we're all having completely different perspectives. Even if you don't agree with it, could I ask you to watch this video showing what Lisp-based computing is all about. It doesn't mean that we all want exactly this, but it's an illustration of what used to be, and why we're looking at these concepts for inspiration? 2020-12-03T06:10:08Z nullheroes joined #lisp 2020-12-03T06:10:12Z srandon111: no-defun-allowed, let's strt it dude... like let's quit our jobs and start this project, we will become rich... i already all the people using our OS in schools and hacking with the DragonFly 2020-12-03T06:10:13Z loke[m]: srandon111: https://www.youtube.com/watch?v=o4-YnLpLgtk 2020-12-03T06:10:33Z srandon111: loke[m], thanks for sure 2020-12-03T06:10:34Z zacts: wait, loke[m] no-defun-allowed, are you actually working on a lisp based OS? 2020-12-03T06:11:04Z beach: zacts: There are already two of those around: Movitz and Mezzano. 2020-12-03T06:11:07Z srandon111: loke[m], i am not saying i don't agree with you... because my skill level is much lower than yours to have my own robust opinion on this topic, so surely, I will inspect the references you are sending me 2020-12-03T06:11:26Z loke[m]: zacts: Well, I'm not directly working on it. I'm trying to help out as much as I can though. 2020-12-03T06:11:27Z beach: zacts: But I am working on SICL which I hope will be the basis for CLOSOS. 2020-12-03T06:11:48Z srandon111: no-defun-allowed, we just have to think about a name now... 2020-12-03T06:11:54Z loke[m]: srandon111: the video is really showing some of the interesting concepts. 2020-12-03T06:12:04Z srandon111: loke[m], thanks Sir! I appreciate it! 2020-12-03T06:12:06Z beach: zacts: I really need to get SICL into a good-enough state that others can start working. 2020-12-03T06:12:51Z frost-lab quit (Quit: Ping timeout (120 seconds)) 2020-12-03T06:12:53Z hugh_marera quit (Quit: Ping timeout (120 seconds)) 2020-12-03T06:13:13Z srandon111: no-defun-allowed, what do you say about AstonishingDragonFlyInspiredCoolOS ? 2020-12-03T06:13:16Z srandon111: ADFICOS 2020-12-03T06:13:19Z srandon111: seems cocol 2020-12-03T06:13:21Z srandon111: *cool 2020-12-03T06:13:34Z zacts: oh neat 2020-12-03T06:14:33Z srandon111: zacts, you will be the first user 2020-12-03T06:14:51Z srandon111: we will install it on your microwave, fridge, laptop, router, server, and wife! 2020-12-03T06:15:12Z srandon111: or husband depending on your preferences of cocurse 2020-12-03T06:15:21Z srandon111: ADFICOS is a politically correct OS 2020-12-03T06:15:44Z Guest93124 quit (Ping timeout: 240 seconds) 2020-12-03T06:15:52Z Necktwi quit (Ping timeout: 246 seconds) 2020-12-03T06:15:56Z nullheroes quit (Ping timeout: 240 seconds) 2020-12-03T06:18:03Z no-defun-allowed: srandon111: Stop pinging me. 2020-12-03T06:18:27Z srandon111: no-defun-allowed, sorry Sir i didn't do it on purpose 2020-12-03T06:18:45Z srandon111: ops sorry again 2020-12-03T06:18:54Z zacts: so would the lisp OS require a specific type of CPU? 2020-12-03T06:19:07Z no-defun-allowed: Quite frankly, I don't give a shit - you may get commercial success, but if I do that, I'm sure I've failed in my work. 2020-12-03T06:19:09Z srandon111: zacts, well that's easy... PPC64le of course 2020-12-03T06:19:16Z g0d_shatter quit (Remote host closed the connection) 2020-12-03T06:19:18Z no-defun-allowed: And I'm ma[d']am to you. 2020-12-03T06:19:35Z g0d_shatter joined #lisp 2020-12-03T06:19:47Z srandon111: ok ma'am 2020-12-03T06:20:00Z no-defun-allowed: Right, thankyou. 2020-12-03T06:20:27Z srandon111: sorry for annoying you with the pings, it wasn't my purpose i was just excited for ADFICOS you know 2020-12-03T06:21:39Z zacts: I'm just having a difficult time wraping my head around not having a kernel+userspace. 2020-12-03T06:21:59Z srandon111: zacts, you must have an open mind, let's start to code it 2020-12-03T06:22:08Z zacts: ugh.. 2020-12-03T06:22:26Z no-defun-allowed: I'm not very excited about it - most of my problems with my work are because of serialization (and because people end up using data structures and the serialized representation as the basis for their protocols) and process boundaries. 2020-12-03T06:23:13Z srandon111: how can you not be not excited??????? :( you are emotionless 2020-12-03T06:23:20Z srandon111: zacts, what? 2020-12-03T06:23:33Z srandon111: zacts, create an svn repo 2020-12-03T06:24:18Z no-defun-allowed: Instead of working with objects like normal people, we're writing lenses translating JSON documents and basing more protocols around "the schema" and whatever. 2020-12-03T06:24:51Z no-defun-allowed: srandon111: I have emotions, thankyou. And I have been depressed that wherever I go, there is not much imagination going around. 2020-12-03T06:25:04Z loke[m]: srandon111: I can telly you why I'm less interested. I've been excited about these things many times before, and after a while you get jaded. There really isn't much new here. 2020-12-03T06:26:06Z srandon111: no-defun as you can imagine, i am joking, i didn't mean you have no emotions... i hope you can solve your problem with the lenses anyway! 2020-12-03T06:26:13Z srandon111: loke[m], yeah i see 2020-12-03T06:26:28Z bmansurov_ joined #lisp 2020-12-03T06:26:52Z no-defun-allowed: Oh, and I've been depersonalised enough times, thankyou. 2020-12-03T06:27:20Z no-defun-allowed: And I said I didn't want to use lenses, but whatever I say doesn't seem to be sticking. 2020-12-03T06:27:48Z Necktwi joined #lisp 2020-12-03T06:28:36Z srandon111: no-defun i am really sorry, i mean it was just a joke to say "you are emotionless" i don't even know you, i mean it was just to joke, really I mean sorry! I really didn't have any reason to say that... 2020-12-03T06:28:37Z loke[m]: srandon111: I really don't want to try to extinguish your excitement. I used to be really excited about some of these things too. I used to be really exited about the prospects of GNOME, for example. How it promised to integrate applications in a really neat way, when it was based on CORBA (remember that one?). 2020-12-03T06:29:00Z srandon111: loke[m], yes i know what you are talking about... 2020-12-03T06:29:09Z srandon111: yes but nowadays gnome really disappoints me 2020-12-03T06:29:14Z loke[m]: In a way, GNOME did manage to fulfil some of its promised, but I see its true potential to be hampered by a lot of legacy. 2020-12-03T06:29:15Z srandon111: i never really use it 2020-12-03T06:29:29Z srandon111: loke[m], gnome is dependant on systemd last time i checked 2020-12-03T06:29:31Z nullheroes joined #lisp 2020-12-03T06:29:33Z hugh_marera joined #lisp 2020-12-03T06:29:38Z srandon111: i mean from gnome 3 2020-12-03T06:31:32Z loke[m]: So what me, beach, n-d-f and others are talking about here are ideas related to completely getting rid of a lot of this legacy. For example, why do we even have the concept of a "process" with different "address spaces"? Well, the reason is that once upon a time you wrote code in assember or C which translates directly to machine code where the code can access any memory address they want to. 2020-12-03T06:31:34Z mbomba joined #lisp 2020-12-03T06:31:51Z loke[m]: The idea of a process serves to abstract this away at the machine lever to make execution safe. 2020-12-03T06:32:57Z srandon111: loke[m], so this is the resource i should read right ? https://web.mit.edu/~simsong/www/ugh.pdf 2020-12-03T06:33:14Z loke[m]: Well, what if you abstract things on a higher level? Most software already does this, for example Lisp, Javascript, Java, Python, etc. All of these use some form of "managed runtime". If we all do this already, why are we even restricting ourselves by thinking about resources in terms of processes? 2020-12-03T06:35:01Z loke[m]: srandon111: well, you could. It serves to illustrate that there used to be different (and sometimes, but not always) better solutions to Unix solutions. It reads like grumpy old men complaining abut how Unix ruined their favourite operating systems (Which usually is VMS), which is a style I don't like, because VMS is also not perfect. 2020-12-03T06:35:07Z srandon111: loke[m], ok so basically i can imagine a machine where the OS is an interpreter, let's say for the sake of this example a sort of python interpreter and then basically everything that gets created is a thread 2020-12-03T06:35:13Z srandon111: but what would be the advantage of this ? 2020-12-03T06:35:37Z loke[m]: srandon111: For that, I suggest you read beach's paper. It really explains exactly that. 2020-12-03T06:35:41Z srandon111: i mean we still should have vulnerabilities right ? threads can share resources 2020-12-03T06:35:50Z srandon111: ok loke[m] sos i will first read beach's paper 2020-12-03T06:35:56Z beach: srandon111: Today, when you need to communicate between processes, you need to convert everything to a stream of bytes. That is not only silly and costly, you also lose identity. 2020-12-03T06:36:22Z zacts: where is beach's paper? 2020-12-03T06:36:38Z loke[m]: http://metamodular.com/lispos.pdf 2020-12-03T06:36:47Z zacts: thanks 2020-12-03T06:37:34Z beach: zacts: As loke[m] says, the idea of a process is to emulate a bare machine so that we can program the same way that we did some 70 years ago, but there is no profound reason why we would want that. So if you don't allow application code direct access to its entire address space, there is no need for a kernel. 2020-12-03T06:37:35Z srandon111: beach, what do you mean by identity ? ok sorry probably i will find that out in the paper 2020-12-03T06:38:02Z moon-child: beach: shared memory is a thing 2020-12-03T06:38:05Z beach: srandon111: You can't send a pointer to an object from one process to another, and have that other process update it. 2020-12-03T06:38:10Z moon-child: on unix 2020-12-03T06:38:16Z loke[m]: srandon111: Yes, vulnerabilities doesn't magically go away. However, process boundaries also doesn't magically _solve_ those problems. 2020-12-03T06:38:42Z loke[m]: Process boundaries are a terrible crude way job isolation. 2020-12-03T06:38:55Z beach: moon-child: Yes, there are kludges to get around it, but you can do that only if both processes agree on the addresses and such. 2020-12-03T06:38:58Z srandon111: ok loke[m] i see 2020-12-03T06:39:10Z srandon111: beach, i understand 2020-12-03T06:39:33Z srandon111: it's crazy how the common OS are behind the state of the art o the research like decades 2020-12-03T06:39:40Z srandon111: i mean after hearing your point 2020-12-03T06:39:53Z gioyik_ joined #lisp 2020-12-03T06:40:07Z moon-child: srandon111: another fun thread to pull on is keykos 2020-12-03T06:40:19Z srandon111: moon-child, never heard about it 2020-12-03T06:40:27Z loke[m]: srandon111: It's not crazy at all. These systems became popular for the exact reason that they are old. It's stable platform on which people can develop solutions for decades without worrying about things changing underneath them. 2020-12-03T06:40:28Z beach: srandon111: Not quite. The technology existed 50 years ago. It is just that Unix became very popular and squashed what we had. 2020-12-03T06:40:36Z srandon111: moon-child, what about TempleOS, was it implementing state of the art stuff ? 2020-12-03T06:41:03Z loke[m]: srandon111: In a way, yes. A lot of ideas in temple is embodying the same concepts as Lisp machines. 2020-12-03T06:41:13Z srandon111: loke[m], i didn't know 2020-12-03T06:41:46Z loke[m]: If you look a people talking about temple they are impressed by how objects are preserving identity across the system. Exactly what Beach is talking about. 2020-12-03T06:42:04Z loke[m]: However, it's of course hampered by all the crazy stuff. But there are neat ideas there. 2020-12-03T06:42:12Z gioyik quit (Ping timeout: 256 seconds) 2020-12-03T06:46:46Z Oladon quit (Quit: Leaving.) 2020-12-03T06:47:29Z treflip joined #lisp 2020-12-03T06:49:18Z srandon111: loke[m], that's crazy 2020-12-03T06:49:49Z zacts: beach: that's a cool paper 2020-12-03T06:49:57Z beach: Thanks. 2020-12-03T06:52:18Z davisr quit (Remote host closed the connection) 2020-12-03T06:52:45Z davisr joined #lisp 2020-12-03T06:54:21Z zacts: so could a user extend the system kind of like on the hurd? a user could implement their own filesystem or device driver to use? 2020-12-03T06:54:44Z beach: Sure, with the proper permissions. 2020-12-03T06:54:52Z beach: But not at all like the Hurd. 2020-12-03T06:55:05Z beach: The Hurd is kind of byte-copying in the extreme. 2020-12-03T06:58:33Z no-defun-allowed: Outside of technical issues like the isolation model, I dislike Unix because a. how you expect to use it doesn't correspond to how you should use Lisp - I read tutorials where the author wrote "Oh, SLIME and Emacs and all that shit? Don't need it. Just use vi to write the file, and then run 'sbcl --script file.lisp'", and I know that they have screwed over their readers; and b. it's presented as an improvement over 2020-12-03T06:58:33Z no-defun-allowed: Windows or macOS, and then you need a kick in the stomach to consider that you might want to improve on that, too. 2020-12-03T06:58:48Z miasuji quit (Quit: Leaving) 2020-12-03T06:59:13Z andreyorst` joined #lisp 2020-12-03T06:59:18Z no-defun-allowed: The former is often blamed on Lisp ("guis this is why Lisp isn't popular, we just need to take away the part that makes people want to use it"), but I choose to blame it on Unix. 2020-12-03T07:00:24Z zacts: hum... the fs mentioned in the paper sounds interesting too. 2020-12-03T07:00:45Z beach: There is no file system because there are no files. But one could be written of course. 2020-12-03T07:00:57Z no-defun-allowed: The "converse" of that would be why I wouldn't write a Unix clone in Lisp; you lose the dynamics and the abstraction that Lisp facilitates with a kernel-userland split and processes, respectively. 2020-12-03T07:02:11Z zacts: beach: no files? so just data structures? 2020-12-03T07:02:55Z moon-child: (It's probably worth noting that lisp vs unix is a flamewar that goes back decades, and that if I defend unix I'm mostly playing devil's advocate) 2020-12-03T07:03:02Z beach: zacts: Yes. But some of those can be vectors of bytes, of course. 2020-12-03T07:03:04Z moon-child: zacts: I mean, a tree is a data structure 2020-12-03T07:03:31Z moon-child: zacts: so, not 'just' data structure; *more* data structure, a superset of those exposed by hierarchical FS 2020-12-03T07:03:44Z moon-child: *structures 2020-12-03T07:03:51Z no-defun-allowed: Data isn't real, but objects are. For the purpose of avoiding another flamewar, that is a joke, but I'm otherwise dead serious with that statement. 2020-12-03T07:03:53Z zacts: moon-child: I'm not trying to argue lisp vs unix, but I'm just trying to understand this. 2020-12-03T07:04:32Z zacts: moon-child: re: *more* data structure, that sounds cool 2020-12-03T07:05:13Z moon-child: no-defun-allowed: data is not well-defined in a vacuum, but can be real under some interpretation. (I guess maybe that's what you mean by object?) 2020-12-03T07:05:48Z beach: Yes, an object is defined by the operations you can apply to it. 2020-12-03T07:06:22Z zacts: gosh, I've got to learn lisp. 2020-12-03T07:06:29Z zacts: this all sounds pretty neat 2020-12-03T07:07:13Z no-defun-allowed: Yes, I mean exactly that. If you know how to interpret it, then you've cut down on the difficulty of {backwards, forwards, cross} -compatibility quite a bit. And I wish some of the people who write up articles translating bare data structures would find that out; but they probably wouldn't have much of a business if they did. 2020-12-03T07:08:44Z moon-child: zacts: this is cs / math; not lisp-specific 2020-12-03T07:08:45Z no-defun-allowed: The problem is then interpreting how those operations correspond to each other, which is also hard, but in my opinion more manageable. 2020-12-03T07:11:23Z skapata quit (Quit: Leaving) 2020-12-03T07:12:44Z zacts: moon-child: lisp sounds like a more natural medium for learning some of these concepts than C I'm guessing? but good to know. 2020-12-03T07:12:57Z malm joined #lisp 2020-12-03T07:13:35Z moon-child: yes 2020-12-03T07:13:36Z dreamcompiler quit (Ping timeout: 256 seconds) 2020-12-03T07:14:20Z no-defun-allowed: Oh, also b. makes for very stupid "experts" sometimes. Like an article I read where the author thought that Unix was the first operating system written in a high level language, and that Java is the only language where objects aren't represented as hash tables. But I don't think I can really pin that on Unix. 2020-12-03T07:14:35Z moon-child: zacts: good read is _Gödel, Escher, Bach_ 2020-12-03T07:15:03Z zacts: moon-child: I've heard of that book before 2020-12-03T07:15:09Z yonkunas quit (Quit: Connection closed for inactivity) 2020-12-03T07:18:49Z bitmapper quit (Quit: Connection closed for inactivity) 2020-12-03T07:18:58Z beach: no-defun-allowed: Yes, the book by Tanenbaum and Bos mentions that, and also that they consider it impossible to use a language with automatic memory management to write an OS. 2020-12-03T07:19:40Z mgxm quit (Ping timeout: 256 seconds) 2020-12-03T07:20:00Z no-defun-allowed: beach: Oh dear. I was referring to , which if I may paraphrase the title, "sucks and doesn't matter". But they probably fall for the same stuff at the end of the day. 2020-12-03T07:20:31Z moon-child: no-defun-allowed: I'm reminded of https://www.youtube.com/watch?v=iSmkqocn0oQ 2020-12-03T07:21:43Z gioyik_ quit (Quit: WeeChat 3.0) 2020-12-03T07:21:54Z beach: no-defun-allowed: I see. 2020-12-03T07:23:59Z zacts: beach: could sicl or closos make use of something like the netbsd rump anykernel to run on existing hw? 2020-12-03T07:24:52Z no-defun-allowed: (For reference for the comment on Java, the paper introducing "maps" in a Self implementation by Ungar, Chambers and Lee was published in 1991, as well as The Art of the Metaobject Protocol, which of course has storage vectors.) 2020-12-03T07:26:01Z beach: zacts: I don't see any reason for that. The "bare metal" aspect is fairly simple to realize, and not terribly interesting. The interesting part is the interface between an application and the system, and between applications. 2020-12-03T07:26:26Z zacts: I see 2020-12-03T07:26:42Z beach: zacts: And SICL bootstrapping is just going to generate an executable, for Linux for now, since that's all we have. 2020-12-03T07:28:57Z andreyorst` quit (Quit: andreyorst`) 2020-12-03T07:29:23Z andreyorst` joined #lisp 2020-12-03T07:31:01Z zacts: so the "bare metal" aspect would be similar to how adding a new architecture to llvm is just an implementation detail, and it's not the overall system. 2020-12-03T07:34:01Z zacts: my point being, that porting sicl to a particular platform or whatever, would just be a particular implementation detail. it's not what makes the system interesting in itself. 2020-12-03T07:34:40Z podge joined #lisp 2020-12-03T07:36:29Z zacts: like it's difficult for me to get out of the kernel mindset I think. 2020-12-03T07:37:50Z zacts: anyway, lots to learn. I'm going to pick up this practical common lisp text for now I think. 2020-12-03T07:38:10Z podge quit (Client Quit) 2020-12-03T07:38:48Z orivej joined #lisp 2020-12-03T07:41:48Z luckless joined #lisp 2020-12-03T07:44:02Z beach: zacts: Good luck. We hang out in #sicl if you have more detailed questions later. 2020-12-03T07:45:18Z phoe: good morning 2020-12-03T07:45:26Z beach: Hello phoe. 2020-12-03T07:45:32Z phoe: hey hi 2020-12-03T07:45:37Z no-defun-allowed: Hello phoe. 2020-12-03T07:45:37Z treflip: good morning phoe 2020-12-03T07:46:29Z phoe: zacts: you have seen mezzano, right? 2020-12-03T07:46:44Z tessier quit (Ping timeout: 240 seconds) 2020-12-03T07:48:39Z zaquest joined #lisp 2020-12-03T07:48:42Z zaquest quit (Read error: Connection reset by peer) 2020-12-03T07:49:21Z random-nick joined #lisp 2020-12-03T07:59:51Z zacts: thanks 2020-12-03T07:59:58Z zacts: phoe: not yet 2020-12-03T08:00:13Z adlai: srandon111: loke[m] forgot Clozure CL, an implementation that is quite portable, and has a compiler that runs quickly and produces reasonably fast code 2020-12-03T08:00:30Z phoe: zacts: you should 2020-12-03T08:00:47Z phoe: it's a Common Lisp OS that runs on bare metal 2020-12-03T08:01:01Z adlai usually recommends CCL for beginners because the compiler is fast enough that, for interactive programming at the repl, there is pretty much no noticeable compilation delay 2020-12-03T08:01:03Z phoe: it has enough sophistication to run IRC, Quake, and Doom 2020-12-03T08:01:27Z mgxm joined #lisp 2020-12-03T08:01:51Z adlai: I thought running IRC betrayed a lack of sophistication? :P 2020-12-03T08:02:08Z phoe: it betrays the fact that it has a working network stack 2020-12-03T08:02:16Z phoe: which is already non-trivial 2020-12-03T08:02:40Z zacts: I'll check it out thanks 2020-12-03T08:03:28Z shifty quit (Ping timeout: 256 seconds) 2020-12-03T08:09:21Z srandon111: adlai, thanks Sir/Ma'am 2020-12-03T08:11:30Z Cymew joined #lisp 2020-12-03T08:17:13Z pankajsg joined #lisp 2020-12-03T08:17:31Z Lycurgus joined #lisp 2020-12-03T08:18:24Z adlai: it is amazing how an unexpected escalation of formality can be a wet blanket to one's hubris, although that is off-topic. 2020-12-03T08:20:05Z wxie joined #lisp 2020-12-03T08:20:43Z adlai: zacts: allow me to add an anti-recommedation for Godel, Escher, Bach, unless you are also a fan of classical music, douglas hofstatder, or even both 2020-12-03T08:21:44Z adlai is a fan of Hafstadter's works -- that is how he first read about lisp! -- although there are excerpts from the book that give you an idea of the whole thing while leaving you precious hours free for, I dunno, reading CLHS? 2020-12-03T08:22:16Z moon-child: adlai: hubris can always a problem. That doesn't devalue formalism 2020-12-03T08:22:23Z Lycurgus: dumbass video games: lack of sophistication, human conversational agent, the opposite of that 2020-12-03T08:22:52Z Lycurgus: *human-interfacing 2020-12-03T08:23:26Z adlai: apparently that book is considered a "cult book", similar to cult movies, where people tap out early if they are not hooked; which is a shame, since it is written as a book that expects the reader to read the entire thing, as opposed to e.g. a standards document. 2020-12-03T08:23:53Z benjamin-l quit (Ping timeout: 246 seconds) 2020-12-03T08:25:03Z Lycurgus: the stuff with analogies (hofstadter) is more amenable to practical lisp usage 2020-12-03T08:26:47Z ck_: his book of essays (Metamagical Themas) is more suited if you don't want a cover-to-cover experience. There's also more usage of lisp in it. 2020-12-03T08:27:13Z adlai had just taken an entire semester of java, before reading Metamagical Themas over the summer and encountering lisp. life could have taken a severely different turn! 2020-12-03T08:27:27Z ck_: Oh look, it's on the Internet Archive: https://archive.org/details/MetamagicalThemas . I should donate extra to them this year. 2020-12-03T08:27:44Z flip214: I quite liked GEB... it's on my technical top-10 list, along with "Visual Display of Quantitative Information" 2020-12-03T08:27:44Z ck_: adlai: :) 2020-12-03T08:27:50Z pankajsg quit (Ping timeout: 256 seconds) 2020-12-03T08:27:53Z no-defun-allowed: adlai: In my experience, the reverse is more painful. 2020-12-03T08:28:52Z flip214: ck_: " The item is not available due to issues with the item's content. " when trying to download an ebook? 2020-12-03T08:29:52Z adlai: no-defun-allowed: that's understandable; one of the few long conversations I had irl about cl ended with the other person (also a programmer) concluding that learning such a powerful language is a bad life decision, because then most other encounters with human technology will consist of disappointment 2020-12-03T08:30:27Z ck_: flip214: ok? 2020-12-03T08:30:32Z no-defun-allowed: Well, sure, that describes it. And that you also may have standards for the presentation of the course that also are not met. 2020-12-03T08:30:45Z adlai: although, he seemed to be at the end of his active programming career, and thus able to make such a statement. 2020-12-03T08:31:23Z beach: adlai: Wow, that's a very strange (to me) attitude. But I guess it is common. 2020-12-03T08:31:58Z flip214: but thanks for the tip 2020-12-03T08:32:02Z cl-arthur quit (Ping timeout: 260 seconds) 2020-12-03T08:32:13Z saganman quit (Ping timeout: 256 seconds) 2020-12-03T08:32:53Z flip214: beach: the attitude is strange - but the content is (sadly) correct 2020-12-03T08:33:43Z flip214: OTOH, especially in IT there's _so_much_ disappointment when dealing with other people's stuff... my own stuff I expect to break (or at least can guess when), but commercial software should behave better 2020-12-03T08:33:51Z ck_: I've watched a few older talks this year, one Keynote by Guy Steele (From 2013 I believe?) where he implores "can we please get tail calls in JDK 9?" 2020-12-03T08:34:18Z ck_: I guess it gets better only very slowly in general 2020-12-03T08:34:40Z ck_: no Winning Big is around the corner yet 2020-12-03T08:34:42Z pve joined #lisp 2020-12-03T08:36:28Z Lycurgus: https://github.com/fargonauts there is a lisp version but the main deal is pythong apparently 2020-12-03T08:38:11Z moon-child: ck_: I have found it an endless source of hilarity that guy sat on the design comittees for common lisp, scheme, java, and c 2020-12-03T08:38:19Z Lycurgus: the reason people burn out and have negative attitudes about software development (in comparison with other professionals fields) 2020-12-03T08:38:28Z Lycurgus: is the capitalism 2020-12-03T08:38:42Z adlai: beach: I think it is a common attitude among those who are seeking careers working as fungible programmers in a variety of enterprises, as opposed to those for whom 'career as programmer' could plausibly include a decade working alone, another decade doing academic research, etc 2020-12-03T08:38:44Z no-defun-allowed: adlai: Then make them not disappointing. How to do that is up to you, but you are likely as capable as as your colleagues to make the field better, and you may have a better idea of what would be better. 2020-12-03T08:40:05Z Lycurgus: which mode of society/production, determines the greater and lesser snake pits of industry/academe 2020-12-03T08:40:08Z no-defun-allowed: adlai: Be practical, do the impossible! 2020-12-03T08:40:46Z Lycurgus: under the capitalism pretty much everything is impossible 2020-12-03T08:40:59Z Lycurgus: compared to what could be done 2020-12-03T08:41:10Z Lycurgus: from first principles 2020-12-03T08:41:21Z shka_ quit (Remote host closed the connection) 2020-12-03T08:41:46Z adlai: no-defun-allowed: here's one impossible... I wish all the hi-tech managers got together and decided on programming practices that kept their employees as fungible cogs, without limiting the choice of programming language 2020-12-03T08:41:47Z no-defun-allowed: I won't say what exactly, but "just" invalidate the assumptions that your statement has. 2020-12-03T08:41:55Z Lycurgus: there's no money for/in it closes stuff off effectively 2020-12-03T08:42:18Z srandon111 quit (Ping timeout: 260 seconds) 2020-12-03T08:42:51Z no-defun-allowed: .-. 2020-12-03T08:45:44Z treflip quit (Ping timeout: 256 seconds) 2020-12-03T08:46:01Z beach: adlai: Makes sense. 2020-12-03T08:46:09Z treflip joined #lisp 2020-12-03T08:46:14Z adlai: in Earth, we've had a century of capitalism, communism, and hegelism, and it has given us Common Lisp, Racket, and most importantly, Stalin; whereas in the other planets, they've had five billion years of peace love and no complaints, and what do they have to show for themselves? not even a cuckoo clock, just a bunch of epicycles. 2020-12-03T08:46:57Z loke[m]: adlai: Can't argue with logic. 2020-12-03T08:47:07Z frodef joined #lisp 2020-12-03T08:49:14Z Lycurgus: oh right, Guy Stalin, he invented common lisp didn e? 2020-12-03T08:49:26Z zacts: stalin is also a scheme interpreter 2020-12-03T08:50:27Z phoe: "in Earth, we've had a century of capitalism, communism, and hegelism, and it has given us Common Lisp, Racket, and most importantly, Stalin" 2020-12-03T08:51:24Z adlai: 'stalin' is a scheme ~compiler~, not interpreter, supposedly one that reached new heights of whole-program optimization. 2020-12-03T08:51:40Z shka_ joined #lisp 2020-12-03T08:51:56Z no-defun-allowed: damn I guess I have to use Racket now 2020-12-03T08:52:22Z zacts: s/interpreter/compiler/ 2020-12-03T08:52:37Z Lycurgus: the cl implementation of copycat does appear to be complete and reasonably current 2020-12-03T08:52:40Z adlai: is there a (require 'cl) for Racket, similar to what emacs has? 2020-12-03T08:52:53Z moon-child: no-defun-allowed: eh, don't make a racket about it 2020-12-03T08:53:14Z no-defun-allowed: moon-child: Good point. 2020-12-03T08:53:23Z Aurora_v_kosmose quit (Ping timeout: 240 seconds) 2020-12-03T08:53:45Z cl-arthur joined #lisp 2020-12-03T08:54:19Z Aurora_v_kosmose joined #lisp 2020-12-03T08:55:34Z adlai: back to more productive topics, what is the best overview of the new package naming conventions? 2020-12-03T08:56:01Z adlai keeps seeing references to [a] package-local nickname library[ies], and never bothered studying this 2020-12-03T08:57:56Z scymtym_ joined #lisp 2020-12-03T08:58:23Z adlai reads phoe's article https://gist.github.com/phoe/2b63f33a2a4727a437403eceb7a6b4a3 2020-12-03T08:59:20Z scymtym quit (Ping timeout: 256 seconds) 2020-12-03T09:00:22Z adlai: ... although there is also local-package-aliases, and phoe's article does not appear to mention this library: https://quickref.common-lisp.net/local-package-aliases.html 2020-12-03T09:00:45Z Lycurgus quit (Quit: Exeunt) 2020-12-03T09:01:45Z no-defun-allowed: Package local nicknames are probably better implemented and more used. 2020-12-03T09:02:01Z mbomba quit (Quit: WeeChat 3.0) 2020-12-03T09:02:05Z ljavorsk joined #lisp 2020-12-03T09:02:08Z adlai repeats that the underlying emphasis should be on the naming convention for the long verbose detailed unambiguous name, and wonders whether there are alternatives to pretending that the domain-name system is sane 2020-12-03T09:03:21Z moon-child: I appreciate the nested footnote 2020-12-03T09:03:37Z phoe: adlai: (defpackage #:my-package (:use #:cl) (:local-nicknames (#:a #:alexandria))) 2020-12-03T09:03:46Z zacts quit (Quit: leaving) 2020-12-03T09:04:05Z adlai: off the top of my head, the packages all use either reversed domain names (e.g. com.symbolics.information.much.too ), or a long library name as prefix and hope the name is uncommon enough to avoid collision. 2020-12-03T09:04:08Z phoe: (in-package #:my-package) (a:plist-alist '(:foo 1 :bar 2)) 2020-12-03T09:04:15Z phoe: adlai: correct 2020-12-03T09:04:25Z phoe: and these are correctable using package local nicknames 2020-12-03T09:05:05Z phoe: because you can use a:alist-plist instead of net.common-lisp.alexandrias.completely.imaginary.package.name:alist-plist 2020-12-03T09:05:17Z adlai: phoe: your gist is short, lemme finish reading it please :) 2020-12-03T09:05:22Z phoe: OK 2020-12-03T09:05:32Z phoe: (I need to make a second version of it that it less of a rant and more of a useful article) 2020-12-03T09:07:39Z hendursa1 joined #lisp 2020-12-03T09:10:03Z hendursaga quit (Ping timeout: 240 seconds) 2020-12-03T09:10:27Z scymtym_ quit (Remote host closed the connection) 2020-12-03T09:11:48Z aaaaaa joined #lisp 2020-12-03T09:12:08Z adlai: easy, just delete everything except for footnote four. 2020-12-03T09:12:54Z scymtym joined #lisp 2020-12-03T09:13:33Z ldbeth joined #lisp 2020-12-03T09:17:30Z adlai: ... wonderful, I learn now that ultralisp includes scalpl, just after its removal from quicklisp 2020-12-03T09:18:16Z bjorkintosh quit (Ping timeout: 256 seconds) 2020-12-03T09:18:19Z adlai does not mind people acting as travis-ci backups; it is almost a compliment, although... not necessarily a good idea. 2020-12-03T09:19:16Z bjorkintosh joined #lisp 2020-12-03T09:22:58Z flip214: phoe: package-local nicknames mean that using INTERN at runtime (even indirectly, eg. when parsing JSON, YAML, etc.!) needs to take *PACKAGE* into account, right? 2020-12-03T09:23:18Z flip214: Well, as long as these intern keys just into KEYWORD, it might not matter that much 2020-12-03T09:23:37Z flip214: ah, but messagepack has a symbol encoding, IIRC 2020-12-03T09:24:37Z phoe: flip214: yes 2020-12-03T09:25:16Z phoe: all code that depends on the runtime value of *PACKAGE* is affected by PLNs 2020-12-03T09:25:33Z iskander- quit (Read error: Connection reset by peer) 2020-12-03T09:25:33Z iskander joined #lisp 2020-12-03T09:29:13Z zge left #lisp 2020-12-03T09:30:25Z hnOsmium0001 quit (Quit: Connection closed for inactivity) 2020-12-03T09:30:36Z aartaka quit (Ping timeout: 240 seconds) 2020-12-03T09:31:28Z galex-713 joined #lisp 2020-12-03T09:31:48Z adlai is amazed that phoe has the patience to answer so many of the reddit comments on the article! 2020-12-03T09:32:58Z DGASAU` quit (Quit: ERC (IRC client for Emacs 25.3.1)) 2020-12-03T09:33:12Z DGASAU joined #lisp 2020-12-03T09:39:19Z pankajsg joined #lisp 2020-12-03T09:44:22Z zaquest joined #lisp 2020-12-03T09:45:07Z zaquest quit (Remote host closed the connection) 2020-12-03T09:48:43Z adlai: some of the behavior standardized as undefined in clhs 2.3.5 could be useful for concisely naming common mathematical objects according to small integers 2020-12-03T09:48:44Z Lord_of_Life quit (Changing host) 2020-12-03T09:48:44Z Lord_of_Life joined #lisp 2020-12-03T09:48:47Z adlai: clhs 2.3.5 2020-12-03T09:48:47Z specbot: Valid Patterns for Tokens: http://www.lispworks.com/reference/HyperSpec/Body/02_ce.htm 2020-12-03T09:50:21Z adlai even at one point had a teacher who used that notation for fractions; in this case, the mathematical objects are, e.g., roots of unity as equivalence classes, rather than members of the field of complex numbers 2020-12-03T09:55:34Z dmiles joined #lisp 2020-12-03T09:56:48Z jonatack quit (Ping timeout: 256 seconds) 2020-12-03T09:57:15Z jonatack joined #lisp 2020-12-03T10:01:22Z wxie quit (Ping timeout: 265 seconds) 2020-12-03T10:09:03Z igemnace quit (Ping timeout: 260 seconds) 2020-12-03T10:17:07Z frost-lab joined #lisp 2020-12-03T10:26:50Z aaaaaa quit (Ping timeout: 256 seconds) 2020-12-03T10:41:36Z McParen joined #lisp 2020-12-03T10:44:40Z imode quit (Ping timeout: 246 seconds) 2020-12-03T10:57:38Z treflip quit (Ping timeout: 260 seconds) 2020-12-03T10:58:05Z treflip joined #lisp 2020-12-03T10:58:24Z g0d_shatter quit (Ping timeout: 256 seconds) 2020-12-03T11:02:07Z frgo quit (Remote host closed the connection) 2020-12-03T11:02:35Z frgo joined #lisp 2020-12-03T11:06:39Z jeosol quit (Remote host closed the connection) 2020-12-03T11:10:34Z X-Scale quit (Ping timeout: 246 seconds) 2020-12-03T11:11:08Z treflip quit (Quit: WeeChat 2.6) 2020-12-03T11:16:48Z X-Scale joined #lisp 2020-12-03T11:18:14Z ldbeth quit (Quit: ERC (IRC client for Emacs 27.1)) 2020-12-03T11:19:04Z ldbeth joined #lisp 2020-12-03T11:22:45Z liberliver joined #lisp 2020-12-03T11:25:17Z dhil joined #lisp 2020-12-03T11:27:48Z cmatei quit (Ping timeout: 256 seconds) 2020-12-03T11:29:31Z vegansbane quit (Quit: The Lounge - https://thelounge.chat) 2020-12-03T11:30:32Z cmatei joined #lisp 2020-12-03T11:33:00Z kaftejiman joined #lisp 2020-12-03T11:44:08Z gigetoo joined #lisp 2020-12-03T11:45:32Z Stanley00 quit (Remote host closed the connection) 2020-12-03T11:50:41Z saganman joined #lisp 2020-12-03T11:51:00Z surabax joined #lisp 2020-12-03T11:53:06Z ldbeth quit (Quit: ERC (IRC client for Emacs 27.1)) 2020-12-03T11:58:30Z vegansbane joined #lisp 2020-12-03T12:00:37Z amb007 quit (Read error: Connection reset by peer) 2020-12-03T12:00:52Z amb007 joined #lisp 2020-12-03T12:11:42Z yaji joined #lisp 2020-12-03T12:12:51Z toorevitimirp joined #lisp 2020-12-03T12:27:29Z cl-arthu1 joined #lisp 2020-12-03T12:27:29Z cl-arthur quit (Read error: Connection reset by peer) 2020-12-03T12:28:10Z mathrick quit (Ping timeout: 260 seconds) 2020-12-03T12:29:25Z mathrick joined #lisp 2020-12-03T12:33:11Z cl-arthu1 quit (Remote host closed the connection) 2020-12-03T12:33:24Z cosimone joined #lisp 2020-12-03T12:33:25Z cl-arthur joined #lisp 2020-12-03T12:39:12Z jmercouris: is this user: https://github.com/7c6f434c on this channel? 2020-12-03T12:39:30Z jmercouris: I feel like he is, I just can't remember his username 2020-12-03T12:40:19Z jackdaniel: he doesn't seem to be online right now, but indeed he joins irc often 2020-12-03T12:40:32Z frgo_ joined #lisp 2020-12-03T12:40:47Z jackdaniel: I don't remember exact nick, but it is derived from his name (available on the github page) 2020-12-03T12:42:59Z kir0ul_ joined #lisp 2020-12-03T12:43:02Z frgo quit (Ping timeout: 260 seconds) 2020-12-03T12:43:51Z phoe: MichaelRaskin 2020-12-03T12:44:01Z phoe: he tends to be online, yes; you could leave him a memo 2020-12-03T12:50:14Z galex-713 quit (Ping timeout: 246 seconds) 2020-12-03T12:58:00Z cosimone quit (Quit: cosimone) 2020-12-03T12:59:55Z zaquest joined #lisp 2020-12-03T13:01:34Z rgherdt joined #lisp 2020-12-03T13:04:42Z zaquest quit (Remote host closed the connection) 2020-12-03T13:07:05Z yaji quit (Remote host closed the connection) 2020-12-03T13:07:33Z yaji joined #lisp 2020-12-03T13:09:19Z jmercouris: OK, thanks, I will leave a memo with minion 2020-12-03T13:09:55Z jmercouris: minion: memo for MichaelRaskin can you package Calispel for NixOS? 2020-12-03T13:09:58Z minion: NixOS: watch out, you'll make krystof angry 2020-12-03T13:10:03Z jmercouris: ??? 2020-12-03T13:10:10Z jmercouris: is that not the right syntax? 2020-12-03T13:10:54Z gxt quit (Quit: WeeChat 2.9) 2020-12-03T13:10:55Z jmercouris: minion: memo for MichaelRaskin: can you package Calispel for NixOS? 2020-12-03T13:10:55Z minion: Remembered. I'll tell MichaelRaskin when he/she/it next speaks. 2020-12-03T13:11:20Z jackdaniel: minion: say "perhaps" 2020-12-03T13:11:20Z minion: say "perhaps": An error was encountered in lookup: Parse error:URI "https://www.cliki.net/say%20\"perhaps\"?source" contains illegal character #\" at position 28.. 2020-12-03T13:12:09Z jmercouris: we need to add a 'faith' command like the emacs bot 2020-12-03T13:12:12Z yaji quit (Ping timeout: 260 seconds) 2020-12-03T13:12:17Z jmercouris: for when we despair 2020-12-03T13:15:30Z gxt joined #lisp 2020-12-03T13:15:54Z lucasb joined #lisp 2020-12-03T13:23:11Z adlai: why would anyone get angry at Nix? it is a strict improvement over the predecessor posix distros... 2020-12-03T13:23:24Z frost-lab quit (Ping timeout: 265 seconds) 2020-12-03T13:24:20Z lucasb: Hello. I think something messed the layout of planet.lisp.org, everything is in italics, inside tags, after the middle of first post. 2020-12-03T13:25:04Z adlai: jmercouris: there's a joke here somewhere, about how only Japanese Lisp programmers have faith 2020-12-03T13:25:21Z jmercouris: I'm not sure I get the joke 2020-12-03T13:25:40Z iskander quit (Ping timeout: 246 seconds) 2020-12-03T13:26:16Z adlai is not sufficiently versed in Japanese culture to describe the concept precisely, but essentially, the word "face" has a meaning there, beyond the literal one. 2020-12-03T13:26:16Z iskander joined #lisp 2020-12-03T13:26:45Z jmercouris: hai 2020-12-03T13:27:30Z adlai: it is probably closer to the idiomatic usage of 'spine', in English, than to nebulous concepts such as prestige and reputation. 2020-12-03T13:27:53Z jmercouris: hai, hai 2020-12-03T13:30:09Z Bike joined #lisp 2020-12-03T13:33:16Z cosimone joined #lisp 2020-12-03T13:34:52Z Fare joined #lisp 2020-12-03T13:35:37Z jason_m quit (Read error: Connection reset by peer) 2020-12-03T13:36:56Z notzmv quit (Ping timeout: 265 seconds) 2020-12-03T13:37:10Z cosimone quit (Remote host closed the connection) 2020-12-03T13:37:13Z leo_song quit (Ping timeout: 246 seconds) 2020-12-03T13:37:26Z cosimone joined #lisp 2020-12-03T13:52:21Z cosimone quit (Remote host closed the connection) 2020-12-03T13:52:38Z cosimone joined #lisp 2020-12-03T13:54:58Z shifty joined #lisp 2020-12-03T14:03:10Z hendursa1 quit (Quit: hendursa1) 2020-12-03T14:03:28Z hendursaga joined #lisp 2020-12-03T14:05:23Z ecm joined #lisp 2020-12-03T14:08:11Z hendursaga quit (Remote host closed the connection) 2020-12-03T14:09:02Z hendursaga joined #lisp 2020-12-03T14:10:28Z shifty quit (Ping timeout: 246 seconds) 2020-12-03T14:11:28Z shifty joined #lisp 2020-12-03T14:17:56Z lotuseater quit (Ping timeout: 240 seconds) 2020-12-03T14:20:41Z aartaka joined #lisp 2020-12-03T14:22:54Z orivej quit (Ping timeout: 256 seconds) 2020-12-03T14:25:10Z iskander quit (Ping timeout: 256 seconds) 2020-12-03T14:25:38Z pankajsg quit (Read error: Connection reset by peer) 2020-12-03T14:25:38Z iskander joined #lisp 2020-12-03T14:28:23Z liberliver quit (Remote host closed the connection) 2020-12-03T14:28:40Z liberliver joined #lisp 2020-12-03T14:30:58Z enrio joined #lisp 2020-12-03T14:45:00Z shoshin quit (Ping timeout: 256 seconds) 2020-12-03T14:45:05Z save-lisp-or-die quit (Ping timeout: 265 seconds) 2020-12-03T14:48:24Z shifty quit (Ping timeout: 256 seconds) 2020-12-03T14:49:04Z shifty joined #lisp 2020-12-03T14:50:03Z wsinatra joined #lisp 2020-12-03T14:54:24Z wsinatra quit (Ping timeout: 240 seconds) 2020-12-03T14:56:00Z ibinderwolf quit (Remote host closed the connection) 2020-12-03T14:56:24Z wsinatra joined #lisp 2020-12-03T14:57:17Z ibinderwolf joined #lisp 2020-12-03T14:57:47Z waleee-cl joined #lisp 2020-12-03T14:59:44Z shifty quit (Ping timeout: 240 seconds) 2020-12-03T15:00:32Z shifty joined #lisp 2020-12-03T15:08:04Z ljavorsk quit (Ping timeout: 240 seconds) 2020-12-03T15:08:48Z rogersm joined #lisp 2020-12-03T15:10:19Z notzmv joined #lisp 2020-12-03T15:11:02Z mrchampion quit (Ping timeout: 260 seconds) 2020-12-03T15:11:43Z hendursaga quit (Ping timeout: 240 seconds) 2020-12-03T15:13:54Z scymtym quit (Remote host closed the connection) 2020-12-03T15:15:17Z save-lisp-or-die joined #lisp 2020-12-03T15:15:21Z shoshin joined #lisp 2020-12-03T15:15:41Z hendursaga joined #lisp 2020-12-03T15:23:01Z gxt quit (Remote host closed the connection) 2020-12-03T15:23:42Z gxt joined #lisp 2020-12-03T15:24:10Z sjl joined #lisp 2020-12-03T15:28:26Z mrchampion joined #lisp 2020-12-03T15:30:08Z jxy quit (Quit: leaving) 2020-12-03T15:30:22Z jxy joined #lisp 2020-12-03T15:31:48Z scymtym joined #lisp 2020-12-03T15:33:23Z toorevitimirp quit (Ping timeout: 260 seconds) 2020-12-03T15:34:42Z iskander- joined #lisp 2020-12-03T15:35:10Z iskander quit (Ping timeout: 246 seconds) 2020-12-03T15:40:46Z lucasb quit (Quit: Connection closed for inactivity) 2020-12-03T15:50:04Z McParen left #lisp 2020-12-03T15:50:11Z glz joined #lisp 2020-12-03T15:51:40Z lotuseater joined #lisp 2020-12-03T15:57:15Z hnOsmium0001 joined #lisp 2020-12-03T15:57:44Z iskander joined #lisp 2020-12-03T15:57:55Z iskander- quit (Ping timeout: 246 seconds) 2020-12-03T16:00:42Z urek joined #lisp 2020-12-03T16:02:12Z glz quit (Quit: Leaving) 2020-12-03T16:05:38Z urek quit (Quit: urek) 2020-12-03T16:05:51Z pfdietz joined #lisp 2020-12-03T16:06:10Z urek joined #lisp 2020-12-03T16:09:11Z stzsch joined #lisp 2020-12-03T16:20:05Z jeosol joined #lisp 2020-12-03T16:20:31Z bitmapper joined #lisp 2020-12-03T16:21:01Z iskander quit (Ping timeout: 246 seconds) 2020-12-03T16:21:07Z iskander- joined #lisp 2020-12-03T16:24:03Z hal99999 joined #lisp 2020-12-03T16:27:17Z ecm quit (Quit: WeeChat 3.0) 2020-12-03T16:27:21Z orivej joined #lisp 2020-12-03T16:33:19Z zcheng3 joined #lisp 2020-12-03T16:35:36Z andreyorst` quit (Quit: andreyorst`) 2020-12-03T16:35:40Z EvW joined #lisp 2020-12-03T16:37:36Z Lord_of_Life quit (Ping timeout: 240 seconds) 2020-12-03T16:38:15Z andreyorst joined #lisp 2020-12-03T16:38:36Z ljavorsk joined #lisp 2020-12-03T16:39:35Z diamondbond quit (Ping timeout: 272 seconds) 2020-12-03T16:40:38Z shifty quit (Ping timeout: 260 seconds) 2020-12-03T16:41:17Z shifty joined #lisp 2020-12-03T16:44:14Z narimiran quit (Ping timeout: 256 seconds) 2020-12-03T16:46:21Z narimiran joined #lisp 2020-12-03T16:50:24Z rogersm quit (Quit: Leaving...) 2020-12-03T16:53:44Z ljavorsk quit (Ping timeout: 240 seconds) 2020-12-03T17:02:12Z shifty quit (Ping timeout: 256 seconds) 2020-12-03T17:02:52Z shifty joined #lisp 2020-12-03T17:04:46Z galex-713 joined #lisp 2020-12-03T17:08:28Z Cymew quit (Ping timeout: 260 seconds) 2020-12-03T17:25:55Z diamondbond joined #lisp 2020-12-03T17:26:50Z shifty quit (Ping timeout: 260 seconds) 2020-12-03T17:26:59Z Lord_Nightmare quit (Quit: ZNC - http://znc.in) 2020-12-03T17:28:41Z Lord_Nightmare joined #lisp 2020-12-03T17:29:17Z enrioog joined #lisp 2020-12-03T17:30:13Z hal99999 quit (Ping timeout: 264 seconds) 2020-12-03T17:30:43Z enrio quit (Ping timeout: 240 seconds) 2020-12-03T17:37:56Z hal99999 joined #lisp 2020-12-03T17:38:05Z hal99999 quit (Client Quit) 2020-12-03T17:38:47Z EvW quit (Ping timeout: 260 seconds) 2020-12-03T17:47:52Z vhost- quit (Quit: WeeChat 2.8) 2020-12-03T17:48:26Z skapata joined #lisp 2020-12-03T17:50:26Z gioyik joined #lisp 2020-12-03T17:50:27Z hal99999 joined #lisp 2020-12-03T17:51:27Z vhost- joined #lisp 2020-12-03T17:51:27Z vhost- quit (Changing host) 2020-12-03T17:51:27Z vhost- joined #lisp 2020-12-03T17:53:28Z lotuseater quit (Remote host closed the connection) 2020-12-03T17:55:29Z aindilis quit (Remote host closed the connection) 2020-12-03T17:57:08Z aindilis joined #lisp 2020-12-03T18:00:42Z rumbler3_ joined #lisp 2020-12-03T18:02:44Z rumbler3_ quit (Read error: Connection reset by peer) 2020-12-03T18:03:22Z rumbler3_ joined #lisp 2020-12-03T18:07:33Z EvW joined #lisp 2020-12-03T18:12:37Z akoana joined #lisp 2020-12-03T18:16:18Z rogersm joined #lisp 2020-12-03T18:17:23Z zacts joined #lisp 2020-12-03T18:21:17Z bilegeek joined #lisp 2020-12-03T18:30:30Z rumbler3_ quit (Remote host closed the connection) 2020-12-03T18:33:11Z benjamin-l joined #lisp 2020-12-03T18:44:46Z wsinatra quit (Ping timeout: 256 seconds) 2020-12-03T18:46:44Z wsinatra joined #lisp 2020-12-03T18:51:43Z enrioog quit (Ping timeout: 240 seconds) 2020-12-03T18:55:51Z aaaaaa joined #lisp 2020-12-03T18:57:56Z wsinatra quit (Ping timeout: 240 seconds) 2020-12-03T18:58:37Z rogersm quit (Quit: Leaving...) 2020-12-03T18:58:59Z matryoshka quit (Read error: Connection reset by peer) 2020-12-03T18:59:02Z matryoshka` joined #lisp 2020-12-03T19:00:14Z frodef quit (Ping timeout: 256 seconds) 2020-12-03T19:02:07Z gxt quit (Remote host closed the connection) 2020-12-03T19:02:48Z gxt joined #lisp 2020-12-03T19:05:45Z wsinatra joined #lisp 2020-12-03T19:06:07Z wsinatra quit (Client Quit) 2020-12-03T19:06:28Z wsinatra joined #lisp 2020-12-03T19:09:41Z wsinatra quit (Client Quit) 2020-12-03T19:10:08Z wsinatra joined #lisp 2020-12-03T19:14:10Z vaporatorius joined #lisp 2020-12-03T19:14:10Z vaporatorius quit (Changing host) 2020-12-03T19:14:10Z vaporatorius joined #lisp 2020-12-03T19:17:04Z vaporatorius__ quit (Ping timeout: 256 seconds) 2020-12-03T19:22:28Z Lord_of_Life joined #lisp 2020-12-03T19:22:28Z Lord_of_Life quit (Changing host) 2020-12-03T19:22:28Z Lord_of_Life joined #lisp 2020-12-03T19:24:34Z rumbler3_ joined #lisp 2020-12-03T19:25:42Z nkatte joined #lisp 2020-12-03T19:25:56Z nkatte quit (Read error: Connection reset by peer) 2020-12-03T19:26:12Z nkatte joined #lisp 2020-12-03T19:26:43Z shifty joined #lisp 2020-12-03T19:28:44Z rumbler3_ quit (Ping timeout: 240 seconds) 2020-12-03T19:30:32Z frodef joined #lisp 2020-12-03T19:31:10Z aeth_ joined #lisp 2020-12-03T19:31:58Z nkatte quit (Quit: nkatte) 2020-12-03T19:31:59Z aeth quit (Disconnected by services) 2020-12-03T19:32:04Z aeth_ is now known as aeth 2020-12-03T19:32:15Z nkatte joined #lisp 2020-12-03T19:33:31Z shifty quit (Ping timeout: 246 seconds) 2020-12-03T19:34:33Z shifty joined #lisp 2020-12-03T19:35:04Z dim quit (Ping timeout: 240 seconds) 2020-12-03T19:35:10Z frodef quit (Ping timeout: 260 seconds) 2020-12-03T19:37:01Z dim joined #lisp 2020-12-03T19:37:01Z amb007 quit (Read error: Connection reset by peer) 2020-12-03T19:37:28Z amb007 joined #lisp 2020-12-03T19:37:59Z nkatte quit (Quit: nkatte) 2020-12-03T19:39:36Z amb007 quit (Read error: Connection reset by peer) 2020-12-03T19:39:42Z amb007 joined #lisp 2020-12-03T19:40:06Z cosimone quit (Quit: cosimone) 2020-12-03T19:40:18Z oni-on-ion quit (Read error: Connection reset by peer) 2020-12-03T19:41:48Z davisr_ joined #lisp 2020-12-03T19:42:10Z davisr quit (Ping timeout: 256 seconds) 2020-12-03T19:42:26Z amb007 quit (Read error: Connection reset by peer) 2020-12-03T19:46:07Z amb007 joined #lisp 2020-12-03T19:46:07Z diamondbond quit (Ping timeout: 246 seconds) 2020-12-03T19:48:08Z amb007 quit (Read error: Connection reset by peer) 2020-12-03T19:48:37Z amb007 joined #lisp 2020-12-03T19:48:56Z shifty quit (Ping timeout: 240 seconds) 2020-12-03T19:52:44Z enrioog joined #lisp 2020-12-03T19:52:45Z amb007 quit (Read error: Connection reset by peer) 2020-12-03T19:53:11Z amb007 joined #lisp 2020-12-03T19:55:29Z liberliver quit (Remote host closed the connection) 2020-12-03T19:55:46Z liberliver joined #lisp 2020-12-03T19:57:34Z amb007 quit (Read error: Connection reset by peer) 2020-12-03T19:58:13Z amb007 joined #lisp 2020-12-03T19:58:33Z oni-on-ion joined #lisp 2020-12-03T20:02:54Z amb007 quit (Read error: Connection reset by peer) 2020-12-03T20:03:33Z amb007 joined #lisp 2020-12-03T20:07:22Z andreyorst quit (Ping timeout: 260 seconds) 2020-12-03T20:07:22Z amb007 quit (Read error: Connection reset by peer) 2020-12-03T20:07:58Z amb007 joined #lisp 2020-12-03T20:08:48Z wsinatra quit (Ping timeout: 256 seconds) 2020-12-03T20:10:28Z wsinatra joined #lisp 2020-12-03T20:12:32Z amb007 quit (Read error: Connection reset by peer) 2020-12-03T20:13:48Z amb007 joined #lisp 2020-12-03T20:15:56Z liberliver quit (Ping timeout: 256 seconds) 2020-12-03T20:15:57Z amb007 quit (Read error: Connection reset by peer) 2020-12-03T20:16:37Z amb007 joined #lisp 2020-12-03T20:16:37Z amb007 quit (Read error: Connection reset by peer) 2020-12-03T20:16:56Z amb007 joined #lisp 2020-12-03T20:19:15Z amb007 quit (Read error: Connection reset by peer) 2020-12-03T20:20:02Z amb007 joined #lisp 2020-12-03T20:23:06Z cosimone joined #lisp 2020-12-03T20:26:01Z zacts quit (Ping timeout: 246 seconds) 2020-12-03T20:30:23Z zacts joined #lisp 2020-12-03T20:31:34Z zacts quit (Client Quit) 2020-12-03T20:32:15Z zacts joined #lisp 2020-12-03T20:33:10Z narimiran quit (Ping timeout: 256 seconds) 2020-12-03T20:33:44Z enrioog quit (Ping timeout: 240 seconds) 2020-12-03T20:46:00Z diamondbond joined #lisp 2020-12-03T20:49:25Z shka_ quit (Ping timeout: 264 seconds) 2020-12-03T20:50:10Z wsinatra quit (Ping timeout: 256 seconds) 2020-12-03T20:51:54Z wsinatra joined #lisp 2020-12-03T20:54:56Z hal99999 quit (Ping timeout: 272 seconds) 2020-12-03T20:55:39Z Krystof: receiving notifications from minion since... what, 2002? 2020-12-03T20:56:56Z jackdaniel: minion: tell something 2020-12-03T20:56:57Z minion: does torturing a poor bot with things beyond its comprehension please you? 2020-12-03T20:57:59Z EvW quit (Ping timeout: 272 seconds) 2020-12-03T21:00:05Z Jesin quit (Quit: Leaving) 2020-12-03T21:05:08Z drot quit (Read error: Connection reset by peer) 2020-12-03T21:06:11Z lotuseater joined #lisp 2020-12-03T21:07:03Z lotuseater: What do you do if someone asks you what you can use Lisp for in everyday life? 2020-12-03T21:07:09Z JohnnyL joined #lisp 2020-12-03T21:08:50Z no-defun-allowed: Probably pretend I didn't hear the question. Or say, "most things you would do in everyday life, and then some more". 2020-12-03T21:09:39Z lotuseater: Yes it is very exhausting to have to justify yourself. 2020-12-03T21:10:23Z lotuseater: I told him beside other stuff CL is more general purpose as C/C++ and not just domain specific like those :D 2020-12-03T21:11:08Z aartaka quit (Ping timeout: 256 seconds) 2020-12-03T21:12:41Z Jesin joined #lisp 2020-12-03T21:14:51Z EvW joined #lisp 2020-12-03T21:16:37Z PuercoPop joined #lisp 2020-12-03T21:16:43Z PuercoPop quit (Client Quit) 2020-12-03T21:19:00Z Xach: darn it 2020-12-03T21:23:21Z lotuseater: Xach: what's wrong? 2020-12-03T21:25:38Z lotuseater: no-defun-allowed: now he said "I have also done code generation in other languages. I don't really see why it is necessary to use a self-modifying language." *sigh* 2020-12-03T21:25:39Z lotuseater: 2020-12-03T21:26:36Z Xach: lotuseater: planet lisp html foulup 2020-12-03T21:27:06Z Xach: it generally hasn't fouled up too bad in the past, and it's a 20-year-old python program doing the HTML bit. 2020-12-03T21:27:34Z lotuseater: oh 2020-12-03T21:28:40Z aeth quit (Ping timeout: 246 seconds) 2020-12-03T21:29:36Z wsinatra quit (Ping timeout: 256 seconds) 2020-12-03T21:30:42Z aeth joined #lisp 2020-12-03T21:32:56Z lotuseater: haven't been on this site so much yet, but seems to contain a big bunch of infos 2020-12-03T21:35:13Z Xach: it had more infos in 2002 when it started, but it still has some infos in 2020 2020-12-03T21:35:59Z mfiano: Xach: looks like the timestamp is way off 2020-12-03T21:36:17Z mfiano: or rather than "x hours ago" 2020-12-03T21:36:24Z lotuseater: hm okay I wish I would have none lisp in 2002 :) 2020-12-03T21:36:34Z mfiano: s/than/the/ 2020-12-03T21:37:53Z Blkt quit (Ping timeout: 272 seconds) 2020-12-03T21:38:31Z fe[nl]ix quit (Ping timeout: 272 seconds) 2020-12-03T21:39:26Z urek quit (Ping timeout: 246 seconds) 2020-12-03T21:40:47Z Blkt joined #lisp 2020-12-03T21:40:48Z fe[nl]ix joined #lisp 2020-12-03T21:40:48Z ChanServ has set mode +o fe[nl]ix 2020-12-03T21:41:03Z catchme joined #lisp 2020-12-03T21:43:07Z scymtym quit (Ping timeout: 244 seconds) 2020-12-03T21:43:22Z lotuseater: s/none/known o_O 2020-12-03T21:43:30Z Xach: I should just take that out. 2020-12-03T21:45:23Z KREYREEN quit (Ping timeout: 240 seconds) 2020-12-03T21:46:57Z mfiano: "days ago" seems correct anyway. Somehow it is adding a day to hour calculation or something 2020-12-03T21:47:30Z KREYREEN joined #lisp 2020-12-03T21:48:28Z mfiano: Actually 16 hours. Odd 2020-12-03T21:49:27Z dim quit (Ping timeout: 265 seconds) 2020-12-03T21:51:16Z akoana left #lisp 2020-12-03T21:55:39Z dim joined #lisp 2020-12-03T21:55:49Z shifty joined #lisp 2020-12-03T22:00:49Z scymtym joined #lisp 2020-12-03T22:01:04Z shifty quit (Ping timeout: 240 seconds) 2020-12-03T22:02:04Z dbotton joined #lisp 2020-12-03T22:03:42Z frodef joined #lisp 2020-12-03T22:04:31Z u0_a128 joined #lisp 2020-12-03T22:10:09Z dbotton quit (Quit: Leaving) 2020-12-03T22:10:56Z aartaka joined #lisp 2020-12-03T22:12:55Z amplituhedron joined #lisp 2020-12-03T22:13:41Z zacts quit (Quit: leaving) 2020-12-03T22:14:13Z urek joined #lisp 2020-12-03T22:15:14Z aartaka quit (Ping timeout: 260 seconds) 2020-12-03T22:16:03Z aeth_ joined #lisp 2020-12-03T22:16:12Z aeth quit (Disconnected by services) 2020-12-03T22:16:36Z aeth_ is now known as aeth 2020-12-03T22:21:06Z aartaka joined #lisp 2020-12-03T22:22:20Z luckless_ joined #lisp 2020-12-03T22:25:23Z luckless quit (Ping timeout: 240 seconds) 2020-12-03T22:33:37Z sjl quit (Ping timeout: 272 seconds) 2020-12-03T22:38:07Z aartaka_d joined #lisp 2020-12-03T22:41:36Z aartaka quit (Ping timeout: 240 seconds) 2020-12-03T22:42:29Z u0_a128 quit (Ping timeout: 272 seconds) 2020-12-03T22:45:39Z mbomba joined #lisp 2020-12-03T22:45:46Z imode joined #lisp 2020-12-03T22:49:13Z leo_song joined #lisp 2020-12-03T22:56:33Z kaftejiman quit (Remote host closed the connection) 2020-12-03T22:57:30Z lotuseater: Are you aware of newer resources on how to do "real" AI stuff with CL? 2020-12-03T22:57:40Z kaftejiman joined #lisp 2020-12-03T22:59:32Z cosimone quit (Quit: cosimone) 2020-12-03T23:01:25Z random-nick quit (Ping timeout: 264 seconds) 2020-12-03T23:02:42Z rumbler31 joined #lisp 2020-12-03T23:04:23Z madage quit (Ping timeout: 240 seconds) 2020-12-03T23:04:32Z igemnace joined #lisp 2020-12-03T23:04:55Z jurov_ quit (Remote host closed the connection) 2020-12-03T23:05:09Z madage joined #lisp 2020-12-03T23:05:31Z jurov joined #lisp 2020-12-03T23:06:56Z rumbler31 quit (Ping timeout: 240 seconds) 2020-12-03T23:12:16Z JohnnyL quit (Ping timeout: 240 seconds) 2020-12-03T23:16:23Z rgherdt quit (Ping timeout: 246 seconds) 2020-12-03T23:19:54Z xrash joined #lisp 2020-12-03T23:22:34Z pve quit (Quit: leaving) 2020-12-03T23:32:41Z rumbler31 joined #lisp 2020-12-03T23:34:09Z urek__ joined #lisp 2020-12-03T23:35:28Z froggey quit (Ping timeout: 256 seconds) 2020-12-03T23:35:41Z urek quit (Ping timeout: 272 seconds) 2020-12-03T23:41:48Z yonkunas joined #lisp 2020-12-03T23:47:12Z ebrasca joined #lisp 2020-12-03T23:49:42Z JohnnyL joined #lisp 2020-12-03T23:52:54Z dhil quit (Ping timeout: 272 seconds) 2020-12-03T23:53:40Z vydd joined #lisp 2020-12-03T23:53:42Z Oladon joined #lisp 2020-12-03T23:59:08Z White_Flame: lotuseater: define "real" 2020-12-03T23:59:41Z no-defun-allowed: It's AI until it begins to work. 2020-12-04T00:05:09Z lotuseater: White_Flame: what is called like that, for example expert systems 2020-12-04T00:05:27Z phoe: White_Flame: (and number (not complex)) 2020-12-04T00:05:54Z lotuseater: phoe: very nice :D 2020-12-04T00:06:04Z White_Flame: well, for symbolic AI, there's not a lot of newer resources in general 2020-12-04T00:06:30Z lotuseater: yeah hm i see 2020-12-04T00:06:53Z lotuseater: I would really like to know how tools like Cyc work. 2020-12-04T00:06:58Z White_Flame: I got really annoyed with powerloom, because it's like cyc in that they invented their own version of lisp tied to C++/Java semantics, and export a version to CL which is overall pretty janky 2020-12-04T00:07:15Z White_Flame: Cyc is a mudball of legacy and per-customer hacks 2020-12-04T00:07:51Z White_Flame: but, it's that hackishness that gives it its capabilities 2020-12-04T00:07:52Z lotuseater: yes on the job site stands "you'll walk into 35 years of code" 2020-12-04T00:08:22Z White_Flame: basically, it's all about indexing 2020-12-04T00:08:37Z galex-713 quit (Ping timeout: 272 seconds) 2020-12-04T00:09:05Z lotuseater: hm okay. but the talks of Douglas Lenat are nice. i first read about him in Goedel Escher Bach 2020-12-04T00:09:05Z White_Flame: all of your logic statements are semantically peers, but the indexer treats them differently 2020-12-04T00:09:20Z White_Flame: then once you have basic logic running, you define tools in logic to help you expand 2020-12-04T00:09:26Z White_Flame: so you leave lisp pretty quickly 2020-12-04T00:09:38Z White_Flame: until you need more performance 2020-12-04T00:09:54Z lotuseater: yeah hm but they're organized object oriented, right? 2020-12-04T00:09:57Z White_Flame: and then you start stirring the implementation pot more to get it to run your logic faster 2020-12-04T00:10:16Z White_Flame: no, not really 2020-12-04T00:10:25Z White_Flame: but that just depends on preference 2020-12-04T00:10:32Z lotuseater: "But how can this parentheses stuff be fast at all?" :D 2020-12-04T00:10:42Z White_Flame: it's more data-oriented than object-oriented 2020-12-04T00:10:48Z lotuseater: White_Flame: okay i thought so from reading 2020-12-04T00:11:16Z theBlackDragon joined #lisp 2020-12-04T00:11:26Z White_Flame: a good place to start would be PAIP, and building prolog & stuff that it does 2020-12-04T00:11:53Z White_Flame: prolog-in-lisp 2020-12-04T00:11:58Z lotuseater: yes i worked through some chapters 2020-12-04T00:12:22Z White_Flame: and then once you know that stuff, you can consider caching, forward chaining, and open world implications 2020-12-04T00:12:25Z galex-713 joined #lisp 2020-12-04T00:12:34Z White_Flame: and then you basically have the same tech as cyc 2020-12-04T00:12:50Z White_Flame: then, you have to figure out how to use that substrate well, which is the second 90% of the problem 2020-12-04T00:12:56Z lotuseater: this CLIPS (and not CLISP) expert system is also widely used 2020-12-04T00:13:04Z White_Flame: yep, I've used it 2020-12-04T00:13:15Z White_Flame: that's purely forward chaining rete, which has some real logical limitations 2020-12-04T00:13:36Z lotuseater: oh cool, i also know one who has a job with it 2020-12-04T00:13:39Z White_Flame: eg, multiple firings if some inference result happens to be true from multiple paths 2020-12-04T00:13:49Z White_Flame: huh, where at? 2020-12-04T00:14:00Z lotuseater: can you explain? 2020-12-04T00:14:15Z lotuseater: in Essen here in Germany, I'm living near by 2020-12-04T00:14:32Z White_Flame: when (a ?foo) then do-something 2020-12-04T00:14:43Z lotuseater: but nobody approx the hole country does lisp stuff or functional programming 2020-12-04T00:14:49Z White_Flame: (a 3) can become true multiple times, and your do-something will fire multiple times 2020-12-04T00:14:49Z lotuseater: ah okay 2020-12-04T00:14:52Z Oladon quit (Read error: Connection reset by peer) 2020-12-04T00:15:08Z White_Flame: also, if you have the same shape both logically and non-logically asserted, the non-logical retraction will destroy the fact even though it still has logical support 2020-12-04T00:15:34Z White_Flame: it's not a very general logic system, but it's a good programming system 2020-12-04T00:15:39Z lotuseater: yes something like that someone said about cyc 2020-12-04T00:15:45Z Oladon joined #lisp 2020-12-04T00:15:51Z White_Flame: no, cyc should handle things like that just fine 2020-12-04T00:16:02Z lotuseater: hmm 2020-12-04T00:16:25Z White_Flame: cyc is also one of the only systems I've seen that can transparently spill large fact bases to disk, which is a nice-to-have 2020-12-04T00:16:58Z lotuseater: so you tried it in practice? 2020-12-04T00:17:06Z Oladon quit (Read error: Connection reset by peer) 2020-12-04T00:17:14Z White_Flame: I haven't learned enough about how to use cyc to use it effectively. yet. 2020-12-04T00:17:36Z aartaka joined #lisp 2020-12-04T00:17:56Z aartaka_d quit (Ping timeout: 240 seconds) 2020-12-04T00:18:00Z no-defun-allowed: How much stuff can Clyc do? 2020-12-04T00:18:12Z Oladon joined #lisp 2020-12-04T00:18:36Z lotuseater: I think over and over again I'm anyway not intelligent enough to understand that all, let alone doing anything myself. 2020-12-04T00:19:40Z lotuseater: no-defun-allowed: from what i've seen it can do much topics, also something like inference the path what you have for a dicease from symptoms 2020-12-04T00:19:52Z no-defun-allowed: Clyc is White_Flame's implementation(?) of Cyc. 2020-12-04T00:19:59Z lotuseater: oh sorry :D 2020-12-04T00:21:24Z White_Flame quit (Ping timeout: 240 seconds) 2020-12-04T00:25:13Z White_Flame joined #lisp 2020-12-04T00:25:14Z White_Flame: they released OpenCyc in the past, as well as a component of LarKC 2020-12-04T00:26:09Z White_Flame: they released OpenCyc in the past, as well as a component of LarKC 2020-12-04T00:26:11Z White_Flame: so it's free to fiddle with 2020-12-04T00:26:16Z White_Flame: it just doesn't come with their large knowledgebases 2020-12-04T00:26:18Z White_Flame: (sorry, got disconnected) 2020-12-04T00:26:47Z tessier joined #lisp 2020-12-04T00:26:48Z tessier quit (Changing host) 2020-12-04T00:26:48Z tessier joined #lisp 2020-12-04T00:28:11Z Oladon quit (Read error: Connection reset by peer) 2020-12-04T00:29:38Z kaftejiman quit (Remote host closed the connection) 2020-12-04T00:35:14Z lotuseater: no problem, thx 2020-12-04T00:48:36Z nkatte joined #lisp 2020-12-04T00:49:04Z ebrasca quit (Remote host closed the connection) 2020-12-04T00:53:44Z torbo joined #lisp 2020-12-04T00:56:20Z shifty joined #lisp 2020-12-04T00:56:52Z yonkunas quit (Ping timeout: 244 seconds) 2020-12-04T00:56:57Z splittist quit (Ping timeout: 244 seconds) 2020-12-04T00:57:02Z yonkunas joined #lisp 2020-12-04T00:57:08Z splittist joined #lisp 2020-12-04T00:57:22Z ebrasca joined #lisp 2020-12-04T00:57:54Z pent quit (Ping timeout: 244 seconds) 2020-12-04T00:57:59Z physpi quit (Ping timeout: 244 seconds) 2020-12-04T00:57:59Z stylewarning quit (Ping timeout: 244 seconds) 2020-12-04T00:57:59Z l1x quit (Ping timeout: 244 seconds) 2020-12-04T00:58:22Z jeosol: White_Flame: while on cyc, are you aware of powerlooms (?) I think it's called out of the group in USC 2020-12-04T00:58:42Z pent joined #lisp 2020-12-04T00:58:53Z l1x joined #lisp 2020-12-04T00:58:57Z stylewarning joined #lisp 2020-12-04T00:59:01Z White_Flame: I was fiddling with it last week or so 2020-12-04T00:59:02Z White_Flame: the documentation is pretty lacking 2020-12-04T00:59:05Z jeosol: Everytime I had discussion regarding Cyc, even a few weeks ago, someone said Doug Lenat's approach wasn't correct. 2020-12-04T00:59:09Z physpi joined #lisp 2020-12-04T00:59:18Z White_Flame: I was trying to figure out how to trigger lisp from goes-true-daemon facts 2020-12-04T00:59:44Z jeosol: I actually installed it and tried to evaluate it to test a small reasoning I wanted to build. 2020-12-04T00:59:49Z noobineer quit (Read error: Connection reset by peer) 2020-12-04T01:00:12Z White_Flame: I'm evaluating stuff for big reasoning projects 2020-12-04T01:00:15Z jeosol: aah ok. I am not expert, as you aware, I am in the other logicmoo channel and got info from aindilis and dmiles - he told me about looms 2020-12-04T01:00:16Z noobineer joined #lisp 2020-12-04T01:00:39Z jeosol: s/not/no 2020-12-04T01:01:00Z White_Flame: it has multiple layers, and it's difficult to know what you can call from where 2020-12-04T01:01:08Z White_Flame: for its basic reasoning purposes it should be fine 2020-12-04T01:02:12Z jeosol: my interest was understanding how uncertainty in inputs gets propagated into outputs. I did look into mycin 2020-12-04T01:08:16Z wxie joined #lisp 2020-12-04T01:10:52Z EvW quit (Ping timeout: 260 seconds) 2020-12-04T01:13:33Z theBlackDragon quit (Quit: Boom.) 2020-12-04T01:15:45Z iskander- quit (Ping timeout: 272 seconds) 2020-12-04T01:18:05Z bcasiello joined #lisp 2020-12-04T01:20:33Z iskander joined #lisp 2020-12-04T01:28:24Z orivej quit (Ping timeout: 240 seconds) 2020-12-04T01:28:31Z bjorkint0sh joined #lisp 2020-12-04T01:28:49Z EvW joined #lisp 2020-12-04T01:31:15Z bjorkintosh quit (Read error: Connection reset by peer) 2020-12-04T01:36:04Z Kabriel: When I go to quicklisp.org and search for libraries, it goes to website "bye common lispers". What happened? Is there an alternative? 2020-12-04T01:36:08Z EvW quit (Ping timeout: 244 seconds) 2020-12-04T01:42:12Z Xach: o lord 2020-12-04T01:42:16Z Xach: i still have to update that 2020-12-04T01:42:35Z Xach: Kabriel: i link a site called quickdocs.org that is no longer active 2020-12-04T01:42:55Z Xach: argh 2020-12-04T01:43:25Z rumbler31 quit (Read error: Connection reset by peer) 2020-12-04T01:43:54Z Lord_of_Life_ joined #lisp 2020-12-04T01:44:05Z rumbler31 joined #lisp 2020-12-04T01:44:18Z Lord_of_Life quit (Ping timeout: 260 seconds) 2020-12-04T01:44:48Z pfdietz quit (Remote host closed the connection) 2020-12-04T01:45:44Z Lord_of_Life_ is now known as Lord_of_Life 2020-12-04T02:00:54Z dbotton joined #lisp 2020-12-04T02:09:58Z krid joined #lisp 2020-12-04T02:11:49Z dbotton: Is there a way using lparallel to submit a task where the result will be discarded (ie just like a simple make-thread.but will use one of the lparallel worker threads) 2020-12-04T02:17:24Z surabax quit (Quit: Leaving) 2020-12-04T02:21:30Z mfiano: Don't get the result off of the channel 2020-12-04T02:21:46Z thefunc5 joined #lisp 2020-12-04T02:21:55Z dbotton: Won’t that collect garbage? 2020-12-04T02:22:39Z toorevitimirp joined #lisp 2020-12-04T02:25:00Z thefunc5: So where do i go for Common Lisp language documentation if Quickdocs is now gone? 2020-12-04T02:25:57Z moon-child: hyperspec? 2020-12-04T02:26:04Z thefunc5: having dabbled in Elixir, i was spoiled by Hexdocs. Is there something like that for Common Lisp? 2020-12-04T02:26:10Z mfiano: Quickdocs didn't have language docs. 2020-12-04T02:26:10Z zcheng3 quit (Ping timeout: 272 seconds) 2020-12-04T02:26:12Z thefunc5: Is there a better way to navigate Hyperspec? 2020-12-04T02:27:16Z thefunc5: feels...cludgy? 2020-12-04T02:27:18Z mfiano: You can use the builtin function #'documentation, or browse any documentation in the repository manually. 2020-12-04T02:28:04Z markasoftware: thefunc5: slime has C-c C-d h 2020-12-04T02:28:39Z thefunc5: markasoftware: thx! that def helps! 2020-12-04T02:28:51Z thefunc5: mfiano: still VERY new...how do i call that? 2020-12-04T02:29:03Z markasoftware: do you have slime installed in emacs? 2020-12-04T02:29:08Z mfiano: clhs documentation 2020-12-04T02:29:08Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_docume.htm 2020-12-04T02:29:11Z thefunc5: portacle 2020-12-04T02:29:40Z markasoftware: so put your cursor over a function in lisp 2020-12-04T02:29:55Z markasoftware: then press Ctrl-c, then Ctrl-d, then h 2020-12-04T02:31:30Z yaji joined #lisp 2020-12-04T02:32:15Z thefunc5: yeah thats pretty sweet.... 2020-12-04T02:32:26Z thefunc5: and if im not over one it prompts for one? neat! 2020-12-04T02:32:43Z yaji quit (Client Quit) 2020-12-04T02:32:50Z thefunc5: awe snap and it even has tab completion.... 2020-12-04T02:33:23Z FreeBirdLjj joined #lisp 2020-12-04T02:35:20Z JohnnyL quit (Quit: leaving) 2020-12-04T02:36:40Z thefunc5: thx for the guidance everyone :) 2020-12-04T02:40:18Z thefunc5 left #lisp 2020-12-04T02:40:58Z thefunc53 joined #lisp 2020-12-04T02:45:07Z thefunc5 joined #lisp 2020-12-04T02:47:25Z thefunc5 quit (Quit: thefunc5) 2020-12-04T02:47:43Z FreeBirdLjj quit (Remote host closed the connection) 2020-12-04T02:48:20Z FreeBirdLjj joined #lisp 2020-12-04T02:51:36Z Stanley00 joined #lisp 2020-12-04T02:52:50Z FreeBirdLjj quit (Ping timeout: 256 seconds) 2020-12-04T03:06:49Z jeosol quit (Remote host closed the connection) 2020-12-04T03:06:54Z frodef quit (Ping timeout: 260 seconds) 2020-12-04T03:07:40Z nkatte quit (Quit: nkatte) 2020-12-04T03:12:26Z dbotton quit (Quit: dbotton) 2020-12-04T03:17:32Z charlie770 joined #lisp 2020-12-04T03:19:15Z johnjay joined #lisp 2020-12-04T03:29:48Z catchme quit (Quit: Connection closed for inactivity) 2020-12-04T03:34:08Z jeosol joined #lisp 2020-12-04T03:34:10Z charlie770 left #lisp 2020-12-04T03:34:18Z johnjay quit (Read error: Connection reset by peer) 2020-12-04T03:34:26Z johnjay joined #lisp 2020-12-04T03:38:01Z pi123 joined #lisp 2020-12-04T03:38:49Z johnjay quit (Read error: Connection reset by peer) 2020-12-04T03:42:54Z thefunc53 quit (Quit: The Lounge - https://thelounge.chat) 2020-12-04T03:50:54Z zacts joined #lisp 2020-12-04T03:51:31Z Axiology joined #lisp 2020-12-04T03:51:40Z zacts quit (Client Quit) 2020-12-04T03:51:57Z Axiology left #lisp 2020-12-04T03:56:22Z Stanley00 quit (Remote host closed the connection) 2020-12-04T03:57:55Z Stanley00 joined #lisp 2020-12-04T04:02:11Z Alfr_ joined #lisp 2020-12-04T04:04:25Z Alfr quit (Ping timeout: 244 seconds) 2020-12-04T04:08:28Z zacts joined #lisp 2020-12-04T04:08:39Z urek__ quit (Ping timeout: 272 seconds) 2020-12-04T04:23:05Z Stanley00 quit (Remote host closed the connection) 2020-12-04T04:27:56Z xrash quit (Ping timeout: 240 seconds) 2020-12-04T04:28:03Z beach: Good morning everyone! 2020-12-04T04:28:45Z moon-child: morning beach 2020-12-04T04:35:40Z Necktwi quit (Ping timeout: 246 seconds) 2020-12-04T04:41:38Z wxie quit (Ping timeout: 260 seconds) 2020-12-04T04:45:57Z abhixec joined #lisp 2020-12-04T04:46:37Z pfdietz joined #lisp 2020-12-04T04:46:49Z lotuseater: Good morning. 2020-12-04T04:47:17Z skapata quit (Ping timeout: 272 seconds) 2020-12-04T04:47:39Z Necktwi joined #lisp 2020-12-04T04:49:13Z narimiran joined #lisp 2020-12-04T04:58:46Z skapata joined #lisp 2020-12-04T05:07:02Z wxie joined #lisp 2020-12-04T05:09:34Z rumbler31 quit (Read error: Connection reset by peer) 2020-12-04T05:09:37Z Bike quit (Quit: night falls) 2020-12-04T05:10:13Z rumbler31 joined #lisp 2020-12-04T05:24:16Z zacts quit (Quit: leaving) 2020-12-04T05:27:23Z amplituhedron quit (Remote host closed the connection) 2020-12-04T05:27:38Z amplituhedron joined #lisp 2020-12-04T05:35:52Z wxie quit (Ping timeout: 265 seconds) 2020-12-04T05:43:31Z benjamin-l quit (Remote host closed the connection) 2020-12-04T05:45:17Z benjamin-l joined #lisp 2020-12-04T06:02:06Z zcheng3 joined #lisp 2020-12-04T06:05:19Z bilegeek_ joined #lisp 2020-12-04T06:07:36Z bilegeek quit (Ping timeout: 240 seconds) 2020-12-04T06:10:59Z iskander quit (Quit: bye) 2020-12-04T06:11:21Z iskander joined #lisp 2020-12-04T06:18:26Z krid quit (Remote host closed the connection) 2020-12-04T06:18:39Z krid joined #lisp 2020-12-04T06:25:40Z waleee-cl quit (Quit: Connection closed for inactivity) 2020-12-04T06:31:49Z frost-lab joined #lisp 2020-12-04T06:37:29Z frgo_ quit (Ping timeout: 272 seconds) 2020-12-04T06:40:45Z gioyik quit (Quit: WeeChat 3.0) 2020-12-04T06:43:57Z aartaka_d joined #lisp 2020-12-04T06:44:18Z wxie joined #lisp 2020-12-04T06:45:13Z benjamin-l quit (Ping timeout: 264 seconds) 2020-12-04T06:47:01Z shka_ joined #lisp 2020-12-04T06:47:11Z aartaka quit (Ping timeout: 260 seconds) 2020-12-04T06:47:44Z amplituhedron quit (Ping timeout: 272 seconds) 2020-12-04T06:50:23Z andreyorst` joined #lisp 2020-12-04T06:50:24Z andreyorst` quit (Remote host closed the connection) 2020-12-04T06:50:50Z aartaka_d quit (Ping timeout: 256 seconds) 2020-12-04T06:51:14Z aaaaaa: lotuseater: good 2020-12-04T06:53:52Z Cymew joined #lisp 2020-12-04T06:54:19Z torbo quit (Remote host closed the connection) 2020-12-04T07:00:14Z aartaka joined #lisp 2020-12-04T07:03:50Z Stanley00 joined #lisp 2020-12-04T07:04:20Z enrioog joined #lisp 2020-12-04T07:29:59Z orivej joined #lisp 2020-12-04T07:32:12Z benjamin-l joined #lisp 2020-12-04T07:32:32Z aartaka_d joined #lisp 2020-12-04T07:34:19Z aartaka quit (Ping timeout: 256 seconds) 2020-12-04T07:35:01Z kir0ul_ quit (Ping timeout: 264 seconds) 2020-12-04T07:37:47Z aartaka joined #lisp 2020-12-04T07:38:24Z benjamin-l quit (Ping timeout: 240 seconds) 2020-12-04T07:39:26Z aartaka_d quit (Ping timeout: 260 seconds) 2020-12-04T07:40:14Z aartaka_d joined #lisp 2020-12-04T07:42:19Z aartaka quit (Ping timeout: 260 seconds) 2020-12-04T07:43:05Z aartaka joined #lisp 2020-12-04T07:44:53Z bilegeek_ is now known as bilegeek 2020-12-04T07:44:55Z aartaka_d quit (Ping timeout: 265 seconds) 2020-12-04T07:46:10Z frgo joined #lisp 2020-12-04T07:47:24Z krid quit (Ping timeout: 240 seconds) 2020-12-04T07:48:33Z andreyorst` joined #lisp 2020-12-04T07:51:15Z Stanley00 quit (Remote host closed the connection) 2020-12-04T07:51:54Z Stanley00 joined #lisp 2020-12-04T07:54:37Z euandreh quit (Remote host closed the connection) 2020-12-04T07:55:11Z euandreh joined #lisp 2020-12-04T07:58:35Z wxie quit (Ping timeout: 260 seconds) 2020-12-04T07:59:58Z srandon111 joined #lisp 2020-12-04T08:02:12Z srandon111: folks, how difficult it is with SBCL to cross compile my app to different platforms from linux ? 2020-12-04T08:05:33Z wxie joined #lisp 2020-12-04T08:06:25Z Lord_of_Life quit (Changing host) 2020-12-04T08:06:25Z Lord_of_Life joined #lisp 2020-12-04T08:06:47Z skapata quit (Quit: Leaving) 2020-12-04T08:10:24Z liberliver joined #lisp 2020-12-04T08:14:46Z liberliver1 joined #lisp 2020-12-04T08:14:53Z liberliver quit (Ping timeout: 265 seconds) 2020-12-04T08:14:53Z liberliver1 is now known as liberliver 2020-12-04T08:18:06Z amb007 quit (Read error: Connection reset by peer) 2020-12-04T08:18:12Z amb007 joined #lisp 2020-12-04T08:20:17Z benjamin-l joined #lisp 2020-12-04T08:21:47Z rgherdt joined #lisp 2020-12-04T08:25:52Z iskander quit (Ping timeout: 256 seconds) 2020-12-04T08:26:25Z rgherdt quit (Ping timeout: 272 seconds) 2020-12-04T08:26:47Z emys joined #lisp 2020-12-04T08:27:02Z iskander joined #lisp 2020-12-04T08:28:12Z beach: srandon111: You may want to ask in #sbcl. 2020-12-04T08:29:23Z andreyorst` quit (Quit: andreyorst`) 2020-12-04T08:29:48Z andreyorst` joined #lisp 2020-12-04T08:32:10Z froggey joined #lisp 2020-12-04T08:37:10Z random-nick joined #lisp 2020-12-04T08:38:26Z mbomba quit (Quit: WeeChat 3.0) 2020-12-04T08:41:17Z urek__ joined #lisp 2020-12-04T08:47:17Z pve joined #lisp 2020-12-04T08:49:00Z urek__ is now known as urek 2020-12-04T08:57:47Z jprajzne1 joined #lisp 2020-12-04T08:59:18Z ljavorsk joined #lisp 2020-12-04T08:59:53Z dim quit (Ping timeout: 260 seconds) 2020-12-04T09:00:05Z autumn[m] quit (Quit: Idle for 30+ days) 2020-12-04T09:07:11Z benjamin-l quit (Ping timeout: 244 seconds) 2020-12-04T09:07:45Z dim joined #lisp 2020-12-04T09:09:49Z hendursa1 joined #lisp 2020-12-04T09:11:43Z hendursaga quit (Ping timeout: 240 seconds) 2020-12-04T09:25:58Z bilegeek quit (Quit: Leaving) 2020-12-04T09:30:13Z galex-713_ joined #lisp 2020-12-04T09:32:55Z galex-713 quit (Ping timeout: 272 seconds) 2020-12-04T09:34:11Z hnOsmium0001 quit (Quit: Connection closed for inactivity) 2020-12-04T09:35:40Z charlie770 joined #lisp 2020-12-04T09:39:43Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-04T09:41:08Z luckless_ joined #lisp 2020-12-04T09:43:03Z enrioog quit (Ping timeout: 240 seconds) 2020-12-04T09:43:53Z charlie771 joined #lisp 2020-12-04T09:45:14Z charlie771 quit (Client Quit) 2020-12-04T09:46:14Z galex-713_ quit (Ping timeout: 265 seconds) 2020-12-04T09:46:16Z imode quit (Ping timeout: 256 seconds) 2020-12-04T09:46:20Z charlie770 quit (Ping timeout: 256 seconds) 2020-12-04T09:46:28Z charlie770 joined #lisp 2020-12-04T09:47:30Z Fare quit (Quit: Leaving) 2020-12-04T09:48:13Z galex-713 joined #lisp 2020-12-04T09:51:13Z charlie770 quit (Ping timeout: 260 seconds) 2020-12-04T09:51:13Z aartaka_d joined #lisp 2020-12-04T09:53:25Z frodef joined #lisp 2020-12-04T09:54:34Z datajerk quit (Ping timeout: 272 seconds) 2020-12-04T09:54:49Z aartaka quit (Ping timeout: 264 seconds) 2020-12-04T09:55:14Z Nilby joined #lisp 2020-12-04T10:00:30Z datajerk joined #lisp 2020-12-04T10:01:08Z hugh_marera quit (Ping timeout: 260 seconds) 2020-12-04T10:02:34Z wxie quit (Ping timeout: 246 seconds) 2020-12-04T10:06:42Z enrioog joined #lisp 2020-12-04T10:11:12Z amb007 quit (Read error: Connection reset by peer) 2020-12-04T10:12:01Z amb007 joined #lisp 2020-12-04T10:14:41Z lotuseater quit (Ping timeout: 256 seconds) 2020-12-04T10:20:37Z lxsameer quit (Ping timeout: 264 seconds) 2020-12-04T10:20:44Z toorevitimirp quit (Read error: Connection reset by peer) 2020-12-04T10:21:02Z toorevitimirp joined #lisp 2020-12-04T10:21:03Z enrioog quit (Ping timeout: 240 seconds) 2020-12-04T10:31:17Z heisig joined #lisp 2020-12-04T10:31:48Z jurov_ joined #lisp 2020-12-04T10:32:36Z jurov quit (Ping timeout: 240 seconds) 2020-12-04T10:33:04Z iskander- joined #lisp 2020-12-04T10:33:30Z iskander quit (Ping timeout: 260 seconds) 2020-12-04T10:34:05Z lxsameer joined #lisp 2020-12-04T10:37:39Z jurov joined #lisp 2020-12-04T10:37:39Z rumbler31 quit (Read error: Connection reset by peer) 2020-12-04T10:38:15Z rumbler31 joined #lisp 2020-12-04T10:39:12Z jurov_ quit (Ping timeout: 256 seconds) 2020-12-04T10:40:03Z hugh_marera joined #lisp 2020-12-04T10:48:59Z X-Scale quit (Ping timeout: 260 seconds) 2020-12-04T10:50:35Z X-Scale` joined #lisp 2020-12-04T10:52:12Z lxsameer quit (Ping timeout: 272 seconds) 2020-12-04T10:54:22Z rogersm joined #lisp 2020-12-04T11:00:07Z frgo quit (Remote host closed the connection) 2020-12-04T11:00:09Z iskander- quit (Read error: Connection reset by peer) 2020-12-04T11:00:32Z iskander joined #lisp 2020-12-04T11:00:34Z frgo joined #lisp 2020-12-04T11:01:09Z shifty quit (Ping timeout: 265 seconds) 2020-12-04T11:06:39Z galex-713 quit (Ping timeout: 272 seconds) 2020-12-04T11:06:44Z aaaaaa quit (Ping timeout: 256 seconds) 2020-12-04T11:07:20Z lxsameer joined #lisp 2020-12-04T11:08:56Z galex-713 joined #lisp 2020-12-04T11:13:52Z frodef quit (Remote host closed the connection) 2020-12-04T11:14:16Z surabax joined #lisp 2020-12-04T11:15:32Z frodef joined #lisp 2020-12-04T11:16:44Z vegansbane quit (Quit: The Lounge - https://thelounge.chat) 2020-12-04T11:16:48Z Stanley00 quit (Remote host closed the connection) 2020-12-04T11:42:04Z dhil joined #lisp 2020-12-04T11:43:03Z ibinderwolf quit (Ping timeout: 260 seconds) 2020-12-04T11:44:36Z vegansbane joined #lisp 2020-12-04T11:45:33Z Nilby quit (Ping timeout: 260 seconds) 2020-12-04T11:47:13Z xrash joined #lisp 2020-12-04T11:47:22Z xrash quit (Excess Flood) 2020-12-04T11:49:39Z xrash joined #lisp 2020-12-04T11:56:15Z ggole joined #lisp 2020-12-04T11:56:21Z xrash quit (Read error: Connection reset by peer) 2020-12-04T12:04:32Z rgherdt joined #lisp 2020-12-04T12:04:48Z kaftejiman joined #lisp 2020-12-04T12:12:50Z aartaka joined #lisp 2020-12-04T12:15:42Z aartaka_d quit (Ping timeout: 260 seconds) 2020-12-04T12:16:34Z ibinderwolf joined #lisp 2020-12-04T12:18:40Z cosimone joined #lisp 2020-12-04T12:22:56Z emys quit (Quit: Leaving) 2020-12-04T12:25:38Z aartaka_d joined #lisp 2020-12-04T12:27:50Z aartaka quit (Ping timeout: 272 seconds) 2020-12-04T12:28:04Z cosimone quit (Remote host closed the connection) 2020-12-04T12:28:21Z cosimone joined #lisp 2020-12-04T12:33:40Z amb007 quit (Read error: Connection reset by peer) 2020-12-04T12:33:50Z amb007 joined #lisp 2020-12-04T12:36:44Z pfdietz quit (Ping timeout: 245 seconds) 2020-12-04T12:45:56Z aartaka_d quit (Ping timeout: 240 seconds) 2020-12-04T12:48:30Z cosimone quit (Quit: cosimone) 2020-12-04T12:54:17Z aartaka joined #lisp 2020-12-04T12:58:39Z aartaka quit (Ping timeout: 260 seconds) 2020-12-04T13:05:29Z lucasb joined #lisp 2020-12-04T13:08:04Z edgar-rft quit (Remote host closed the connection) 2020-12-04T13:16:16Z aartaka joined #lisp 2020-12-04T13:16:19Z edgar-rft joined #lisp 2020-12-04T13:21:33Z EvW joined #lisp 2020-12-04T13:22:23Z Bike joined #lisp 2020-12-04T13:23:40Z chen joined #lisp 2020-12-04T13:24:10Z chen left #lisp 2020-12-04T13:31:56Z abel-abel joined #lisp 2020-12-04T13:32:57Z rgherdt quit (Ping timeout: 272 seconds) 2020-12-04T13:33:06Z ldb joined #lisp 2020-12-04T13:33:13Z ldb: good evening 2020-12-04T13:35:23Z cosimone joined #lisp 2020-12-04T13:36:42Z phoe: hello 2020-12-04T13:41:56Z liberliver quit (Remote host closed the connection) 2020-12-04T13:42:16Z liberliver joined #lisp 2020-12-04T13:43:44Z X-Scale` is now known as X-Scale 2020-12-04T13:43:50Z abel-abel quit (Ping timeout: 272 seconds) 2020-12-04T13:45:06Z iskander quit (Ping timeout: 272 seconds) 2020-12-04T13:48:41Z shifty joined #lisp 2020-12-04T13:50:47Z cosimone quit (Remote host closed the connection) 2020-12-04T13:51:02Z cosimone joined #lisp 2020-12-04T13:52:33Z abel-abel joined #lisp 2020-12-04T13:53:45Z lotuseater joined #lisp 2020-12-04T13:57:27Z wsinatra joined #lisp 2020-12-04T13:58:36Z krid joined #lisp 2020-12-04T14:04:50Z frost-lab quit (Quit: Connection closed) 2020-12-04T14:10:46Z hendursa1 quit (Quit: hendursa1) 2020-12-04T14:11:04Z hendursaga joined #lisp 2020-12-04T14:13:24Z ljavorsk quit (Ping timeout: 256 seconds) 2020-12-04T14:15:08Z ilmu joined #lisp 2020-12-04T14:16:06Z iskander joined #lisp 2020-12-04T14:16:28Z aartaka_d joined #lisp 2020-12-04T14:16:39Z frodef quit (Ping timeout: 260 seconds) 2020-12-04T14:19:07Z aartaka quit (Ping timeout: 246 seconds) 2020-12-04T14:20:09Z abel-abel quit (Ping timeout: 260 seconds) 2020-12-04T14:21:27Z frodef joined #lisp 2020-12-04T14:25:47Z abel-abel joined #lisp 2020-12-04T14:26:16Z waleee-cl joined #lisp 2020-12-04T14:26:31Z karayan joined #lisp 2020-12-04T14:26:45Z pfdietz joined #lisp 2020-12-04T14:33:44Z EvW quit (Ping timeout: 240 seconds) 2020-12-04T14:36:57Z semz joined #lisp 2020-12-04T14:42:29Z lotuseater quit (Ping timeout: 246 seconds) 2020-12-04T14:43:45Z Oddity- quit (Read error: Connection reset by peer) 2020-12-04T14:44:19Z oni_on_ion joined #lisp 2020-12-04T14:44:33Z Oddity- joined #lisp 2020-12-04T14:45:08Z frodef quit (Ping timeout: 256 seconds) 2020-12-04T14:46:04Z oni-on-ion quit (Ping timeout: 240 seconds) 2020-12-04T14:49:01Z kir0ul_ joined #lisp 2020-12-04T14:50:30Z norserob joined #lisp 2020-12-04T14:53:37Z abel-abel quit (Ping timeout: 264 seconds) 2020-12-04T14:55:24Z matzesc joined #lisp 2020-12-04T14:55:58Z treflip joined #lisp 2020-12-04T14:58:54Z norserob quit (Quit: leaving) 2020-12-04T14:59:00Z abel-abel joined #lisp 2020-12-04T14:59:19Z norserob joined #lisp 2020-12-04T15:00:45Z treflip quit (Client Quit) 2020-12-04T15:05:12Z srandon111: good evening 2020-12-04T15:07:13Z sjl joined #lisp 2020-12-04T15:07:16Z charlie770 joined #lisp 2020-12-04T15:07:25Z hendursaga quit (Remote host closed the connection) 2020-12-04T15:07:51Z beach: Hello srandon111. 2020-12-04T15:08:19Z hendursaga joined #lisp 2020-12-04T15:09:04Z hal99999 joined #lisp 2020-12-04T15:10:53Z bcasiello_ joined #lisp 2020-12-04T15:14:02Z bcasiello quit (Ping timeout: 256 seconds) 2020-12-04T15:17:38Z thefunc5 joined #lisp 2020-12-04T15:18:53Z hendursaga quit (Remote host closed the connection) 2020-12-04T15:19:42Z hendursaga joined #lisp 2020-12-04T15:20:43Z leo_song quit (Ping timeout: 246 seconds) 2020-12-04T15:25:15Z catchme joined #lisp 2020-12-04T15:30:17Z jprajzne1 quit (Quit: Leaving.) 2020-12-04T15:35:33Z rgherdt joined #lisp 2020-12-04T15:43:25Z stzsch quit (Read error: Connection reset by peer) 2020-12-04T15:44:34Z stzsch joined #lisp 2020-12-04T15:45:04Z aartaka joined #lisp 2020-12-04T15:47:06Z aartaka_d quit (Ping timeout: 260 seconds) 2020-12-04T15:53:56Z aartaka quit (Ping timeout: 240 seconds) 2020-12-04T15:54:36Z Cymew quit (Ping timeout: 256 seconds) 2020-12-04T15:57:26Z dim quit (Ping timeout: 265 seconds) 2020-12-04T15:59:16Z abel-abel quit (Ping timeout: 240 seconds) 2020-12-04T16:00:17Z lotuseater joined #lisp 2020-12-04T16:00:57Z nkatte joined #lisp 2020-12-04T16:02:43Z liberliver quit (Ping timeout: 246 seconds) 2020-12-04T16:03:07Z abel-abel joined #lisp 2020-12-04T16:06:29Z __jrjsmrtn__ joined #lisp 2020-12-04T16:07:29Z _jrjsmrtn quit (Ping timeout: 260 seconds) 2020-12-04T16:08:36Z shifty quit (Ping timeout: 240 seconds) 2020-12-04T16:10:36Z thefunc5 quit (Quit: The Lounge - https://thelounge.chat) 2020-12-04T16:11:33Z dim joined #lisp 2020-12-04T16:16:14Z jmercouris: anyone have experience with CLPM? 2020-12-04T16:16:22Z jmercouris: source: https://www.clpm.dev/ 2020-12-04T16:18:44Z asarch joined #lisp 2020-12-04T16:19:26Z asarch: One stupid question: how do you do Test-Driven Development in Common Lisp? 2020-12-04T16:19:50Z jmercouris: You write a test, and then you try to pass the test 2020-12-04T16:19:53Z jmercouris: same as any other language 2020-12-04T16:20:01Z jmercouris: you can use ASDF to run your test suites 2020-12-04T16:20:09Z jmercouris: you can use Prove, or Rove, or FiveAM or anything you like 2020-12-04T16:20:17Z jmercouris: TDD is fundamentally the same everywhere, specify an API 2020-12-04T16:20:23Z jmercouris: and keep programming until you fulfill the API 2020-12-04T16:20:33Z jmercouris: if the API is sufficiently specified in the tests, then you are good 2020-12-04T16:20:45Z jmercouris: that said, I do not reccomend TDD, it is a idea that sounds good, but doesn't work well in practice 2020-12-04T16:20:49Z jmercouris: makes for cool demos though 2020-12-04T16:21:59Z abel-abel quit 2020-12-04T16:22:21Z asarch: What should I do instead of TDD, I mean, what do professionals do in this case? 2020-12-04T16:22:33Z jeosol: jmercouris: you sound like an evangelist, only to back way ... 2020-12-04T16:22:57Z jmercouris: asarch: that's subject to your organization 2020-12-04T16:22:59Z jmercouris: jeosol: :-D 2020-12-04T16:23:14Z asarch: I see 2020-12-04T16:23:16Z asarch: Thank you! 2020-12-04T16:23:24Z asarch: Thank you very much jmercouris :-) 2020-12-04T16:23:29Z jmercouris: no problem! 2020-12-04T16:23:49Z jeosol: asarch: If you are just starting you, you probably don't worry to too much about test, but if your team is in deployment mode and you are releasing versions to production,then you'd worry that things in the release branch pass tests, for example 2020-12-04T16:24:07Z phoe: asarch: do TDD the Lisp way 2020-12-04T16:24:15Z asarch: How? 2020-12-04T16:24:16Z jmercouris: phoe: you mean the REPL? 2020-12-04T16:24:27Z phoe: test your object in the REPL, then copypaste your REPL forms into test files 2020-12-04T16:24:34Z jmercouris: that's basically what I do 2020-12-04T16:24:35Z phoe: along with the expected values 2020-12-04T16:24:45Z jmercouris: I wish there was a way to remember all forms and copy them into a file automatically or something 2020-12-04T16:24:47Z johnjay joined #lisp 2020-12-04T16:24:50Z pi123 quit (Read error: Connection reset by peer) 2020-12-04T16:24:54Z cosimone quit (Quit: cosimone) 2020-12-04T16:25:01Z phoe: clhs dribble 2020-12-04T16:25:01Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_dribbl.htm 2020-12-04T16:25:02Z phoe: :D 2020-12-04T16:25:10Z jmercouris: what I will often do is just draft it into a file and then C-c C-c over and over again until it works 2020-12-04T16:25:37Z jmercouris: phoe: well, not exactly 2020-12-04T16:25:43Z jmercouris: phoe: I didn't mean *all* forms :-D 2020-12-04T16:25:55Z heisig quit (Quit: Leaving) 2020-12-04T16:27:28Z jackdaniel: dribble has also a "meaningful-forms-only" mode, it is invoked like (dribble :meanigfull-p (lambda (form) (decide-whether-form-is-meaningful form))) 2020-12-04T16:27:57Z jackdaniel: or, shortly, (dribble :meaninfull-p #'decide-whether-form-is-meaningful) 2020-12-04T16:28:18Z jmercouris: jackdaniel: you got me for a second I even opened up the CLHS 2020-12-04T16:28:42Z jmercouris: I thought maybe it would be some simple predicate that decides whether a form is 'meaningful' or not lol 2020-12-04T16:29:31Z liberliver joined #lisp 2020-12-04T16:34:21Z andreyorst` quit (Quit: andreyorst`) 2020-12-04T16:36:19Z zaquest joined #lisp 2020-12-04T16:36:20Z zaquest quit (Remote host closed the connection) 2020-12-04T16:36:48Z rumbler31 quit (Read error: Connection reset by peer) 2020-12-04T16:37:25Z rumbler31 joined #lisp 2020-12-04T16:39:35Z liberliver quit (Quit: liberliver) 2020-12-04T16:40:29Z phoe: jmercouris: oh 2020-12-04T16:40:45Z phoe: I think that copypasting some forms into a separate buffer and going C-c C-c or C-c C-k on it is the best way forward, then 2020-12-04T16:40:51Z phoe: and making frequent git commits so the file history is remembered. 2020-12-04T16:40:56Z jmercouris: hai 2020-12-04T16:41:07Z jmercouris: I wonder though, is there a better way... 2020-12-04T16:41:12Z jmercouris: if we could reimagine things, what would we do? 2020-12-04T16:41:25Z jmercouris: what I always wanted was to be able to iterate on some form in the repl and say something like save function XYZ 2020-12-04T16:41:28Z jmercouris: if I defun'd it nicely 2020-12-04T16:42:15Z jmercouris: so let's say I'm in the repl and I (defun func (xyz) ..) and I really like it 2020-12-04T16:42:20Z jmercouris: if only there was a simple command 2020-12-04T16:42:28Z andreyorst` joined #lisp 2020-12-04T16:42:33Z jmercouris: like update-or-save-function and I could type func and it would do it 2020-12-04T16:42:38Z jmercouris: that, that would be cool 2020-12-04T16:43:09Z EvW joined #lisp 2020-12-04T16:43:52Z andreyorst` quit (Client Quit) 2020-12-04T16:44:26Z francogrex joined #lisp 2020-12-04T16:44:33Z andreyorst joined #lisp 2020-12-04T16:45:06Z francogrex: Hi, is everyone ok with swig removing lisp support (cffi namely)? this seems harsh on the lisp community. I don't like it 2020-12-04T16:45:09Z random-nick: what's the default test for MEMBER? EQUAL or EQL? 2020-12-04T16:45:21Z Bike: default tests are almost always EQL. 2020-12-04T16:45:29Z Bike: including for member 2020-12-04T16:45:31Z jmercouris: what Bike said 2020-12-04T16:45:34Z random-nick: thank you 2020-12-04T16:46:16Z dim quit (Ping timeout: 240 seconds) 2020-12-04T16:46:38Z jmercouris: francogrex: I don't use Swig, but I am not OK with that 2020-12-04T16:47:47Z Bike: didn't they drop it because the support was unmaintained and didn't work? 2020-12-04T16:48:39Z urek quit (Ping timeout: 272 seconds) 2020-12-04T16:51:27Z jmercouris: presumably 2020-12-04T16:51:32Z jmercouris: I can still be salty about it :-D 2020-12-04T16:53:02Z drot joined #lisp 2020-12-04T16:53:47Z zaquest joined #lisp 2020-12-04T16:54:03Z zaquest quit (Remote host closed the connection) 2020-12-04T16:54:06Z dim joined #lisp 2020-12-04T16:54:13Z rumbler31 quit (Read error: Connection reset by peer) 2020-12-04T16:54:48Z rumbler31 joined #lisp 2020-12-04T16:55:52Z JohnnyL joined #lisp 2020-12-04T16:59:59Z thijso quit (Remote host closed the connection) 2020-12-04T17:01:42Z hnOsmium0001 joined #lisp 2020-12-04T17:03:23Z ldb quit (Quit: ERC (IRC client for Emacs 26.1)) 2020-12-04T17:03:24Z krid quit (Ping timeout: 240 seconds) 2020-12-04T17:04:59Z skapata joined #lisp 2020-12-04T17:05:31Z zcheng3 quit (Ping timeout: 256 seconds) 2020-12-04T17:06:07Z aartaka joined #lisp 2020-12-04T17:08:16Z surabax quit (Ping timeout: 256 seconds) 2020-12-04T17:08:31Z Codaraxis_ quit (Ping timeout: 246 seconds) 2020-12-04T17:08:55Z aartaka_d joined #lisp 2020-12-04T17:10:17Z Codaraxis_ joined #lisp 2020-12-04T17:12:48Z aartaka quit (Ping timeout: 260 seconds) 2020-12-04T17:14:30Z diamondbond quit (Ping timeout: 256 seconds) 2020-12-04T17:16:26Z surabax joined #lisp 2020-12-04T17:17:49Z rogersm quit (Quit: Leaving...) 2020-12-04T17:18:22Z Codaraxis_ quit (Remote host closed the connection) 2020-12-04T17:18:49Z Codaraxis_ joined #lisp 2020-12-04T17:23:08Z Codaraxis_ quit (Remote host closed the connection) 2020-12-04T17:23:34Z Codaraxis_ joined #lisp 2020-12-04T17:24:01Z urek joined #lisp 2020-12-04T17:25:32Z urek quit (Remote host closed the connection) 2020-12-04T17:25:59Z urek joined #lisp 2020-12-04T17:27:44Z Codaraxis_ quit (Remote host closed the connection) 2020-12-04T17:28:09Z Codaraxis_ joined #lisp 2020-12-04T17:28:14Z charlie770 quit (Quit: thatsit) 2020-12-04T17:30:11Z semz: Aren't there lisp-side solutions that do something similar to swig? 2020-12-04T17:31:44Z semz: I suppose it wouldn't be able to reuse Swig-style interface definitions 2020-12-04T17:33:51Z edgar-rft: Lisp loves being autistic, it doesn't want to talk to the outside world. 2020-12-04T17:35:17Z semz: can you blame it? :-) 2020-12-04T17:36:36Z francogrex: Bike: yes that's what they say, the support was probably unmaintained, but it didn't didn't work! It was working ok. well there are still old releases 2020-12-04T17:37:02Z EvW quit (Ping timeout: 260 seconds) 2020-12-04T17:37:03Z francogrex: semz: not that I am aware of (other sol) 2020-12-04T17:37:54Z ebrasca: francogrex: What is swig? 2020-12-04T17:38:55Z gioyik joined #lisp 2020-12-04T17:40:30Z edgar-rft: ebrasca: -> http://swig.org/exec.html 2020-12-04T17:44:18Z ebrasca: francogrex: I think we have cl-cffi. 2020-12-04T17:45:53Z francogrex: ebrasca: if you are talking about cffi, it is not the same as swig. swig used to support cffi, and clisp ffi etc.. now stopped 2020-12-04T17:46:47Z francogrex: but I may be wrong, maybe there is a possibility that cffi generates binding code for itself 2020-12-04T17:47:04Z francogrex: again, I am not aware of such capability though 2020-12-04T17:47:38Z _death: there's autowrap 2020-12-04T17:47:57Z phoe: ^ 2020-12-04T17:48:09Z phoe: there's cl-autowrap and claw, with the latter being more intricate 2020-12-04T17:48:19Z phoe: borodust even had some success wrapping C++ with it 2020-12-04T17:48:36Z ebrasca: You can call functions with cl-cffi from C. 2020-12-04T17:49:25Z francogrex: ebrasca: yes but we are not really talking about that specifically 2020-12-04T17:49:42Z francogrex: phoe: ok I'll look it up 2020-12-04T17:50:37Z francogrex: I probably should have said generate wrapping (instead of binding) to be clear 2020-12-04T17:50:52Z phoe: oh! then cl-autowrap and claw should do just what you are thinking of 2020-12-04T17:51:03Z phoe: I have a small project that uses the former if you want to look at it 2020-12-04T17:54:43Z francogrex: phoe: yes please (although you mentioned that claw would be better?) 2020-12-04T17:56:25Z urek quit (Ping timeout: 272 seconds) 2020-12-04T17:58:34Z urek joined #lisp 2020-12-04T18:04:59Z phoe: don't know if better 2020-12-04T18:05:19Z phoe: https://github.com/phoe/cl-lzma/blob/master/cl-lzma.lisp 2020-12-04T18:05:22Z phoe: that's the whole project 2020-12-04T18:05:35Z phoe: it includes a foreign library, autowrap section, and lisp API, and some tests too 2020-12-04T18:07:03Z srji quit (Quit: leaving) 2020-12-04T18:07:07Z EvW joined #lisp 2020-12-04T18:07:36Z pfdietz: asarch: TDD in Lisp goes way back. https://www.merl.com/publications/docs/TR91-04.pdf 2020-12-04T18:07:56Z francogrex: phoe: thanks! 2020-12-04T18:08:02Z srji joined #lisp 2020-12-04T18:08:47Z srji quit (Client Quit) 2020-12-04T18:10:28Z borodust: :claw is different rather than better 2020-12-04T18:10:45Z borodust: but also worse, cuz it doesnt have any dics 2020-12-04T18:10:53Z borodust: err, docs 2020-12-04T18:11:13Z srji joined #lisp 2020-12-04T18:11:32Z borodust: and god forbid you to look into sources of either one 2020-12-04T18:12:03Z srji quit (Client Quit) 2020-12-04T18:12:25Z srji joined #lisp 2020-12-04T18:13:32Z borodust: on the other hand, i wrap c++ stuff with it ;p 2020-12-04T18:14:13Z gioyik quit (Ping timeout: 265 seconds) 2020-12-04T18:14:47Z diamondbond joined #lisp 2020-12-04T18:15:08Z sjl quit (Quit: WeeChat 2.3-dev) 2020-12-04T18:20:17Z KREYREEN quit (Remote host closed the connection) 2020-12-04T18:22:22Z shka_ quit (Quit: Konversation terminated!) 2020-12-04T18:22:32Z KREYREEN joined #lisp 2020-12-04T18:25:36Z aartaka_d quit (Read error: Connection reset by peer) 2020-12-04T18:26:15Z shka_ joined #lisp 2020-12-04T18:30:28Z pyc joined #lisp 2020-12-04T18:31:21Z pyc: Do you use paredit while working with Emacs + SLIME + SBCL? 2020-12-04T18:32:49Z phoe: smartparens 2020-12-04T18:34:29Z EvW quit (Ping timeout: 244 seconds) 2020-12-04T18:35:37Z EvW joined #lisp 2020-12-04T18:36:49Z karayan quit (Ping timeout: 260 seconds) 2020-12-04T18:36:57Z karayan joined #lisp 2020-12-04T18:36:58Z sirvolta joined #lisp 2020-12-04T18:43:08Z gioyik joined #lisp 2020-12-04T18:44:01Z wsinatra quit (Ping timeout: 264 seconds) 2020-12-04T18:44:52Z mbomba joined #lisp 2020-12-04T18:48:49Z toorevitimirp quit (Remote host closed the connection) 2020-12-04T18:49:34Z pyc: Is there a SLIME command to evaluate the current expression? The C-x C-e evaluates the expression before the cursor and C-M-x evaluates the top-level form. Is there something to evaluate the entire current expression regardless of where the cursor is within the current expression? 2020-12-04T18:54:36Z semz: What does current expression mean here 2020-12-04T18:59:42Z frodef joined #lisp 2020-12-04T19:02:18Z KREYREEN quit (Remote host closed the connection) 2020-12-04T19:02:44Z KREYREEN joined #lisp 2020-12-04T19:02:59Z ane: pyc: at least SLY has eval-region 2020-12-04T19:03:16Z ane: don't know if SLIME has it 2020-12-04T19:05:37Z frodef quit (Ping timeout: 264 seconds) 2020-12-04T19:05:49Z aartaka joined #lisp 2020-12-04T19:06:54Z wsinatra joined #lisp 2020-12-04T19:08:04Z JohnnyL quit (Ping timeout: 256 seconds) 2020-12-04T19:08:17Z Misha_B joined #lisp 2020-12-04T19:12:42Z amb007 quit (Read error: Connection reset by peer) 2020-12-04T19:12:45Z karayan quit (Remote host closed the connection) 2020-12-04T19:12:55Z karayan joined #lisp 2020-12-04T19:13:00Z Rengan joined #lisp 2020-12-04T19:14:18Z amb007 joined #lisp 2020-12-04T19:17:19Z abhixec quit (Ping timeout: 246 seconds) 2020-12-04T19:17:55Z pyc: semz: If I have an expression (+ (+ 1 2) 3) and the cursor is on '2', then I want only (+ 1 2) to be evaluated. Vim + Slimv has a command ,e does this. Wondering if SLIME has something for it. 2020-12-04T19:18:13Z hal99999 quit (Quit: hal99999) 2020-12-04T19:19:28Z abhixec joined #lisp 2020-12-04T19:20:02Z Bike: is 2 not its own expression? 2020-12-04T19:21:57Z phoe: is, it evaluates to 2 2020-12-04T19:22:09Z phoe: you might want to put your cursor on a parenthesis 2020-12-04T19:26:50Z zacts joined #lisp 2020-12-04T19:28:16Z asarch: Thank you pfdietz! 2020-12-04T19:28:36Z asarch: Thank you very much :-) 2020-12-04T19:37:07Z semz: pyc: I'm not aware of an explicit command, though ) C-x C-e will have the same effect modulo changing your cursor position at least. For all I know, that might be enough for you. 2020-12-04T19:43:38Z mbrumlow quit (Ping timeout: 265 seconds) 2020-12-04T19:45:29Z hal99999 joined #lisp 2020-12-04T19:46:44Z francogrex quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2020-12-04T19:51:56Z andreyorst quit (Ping timeout: 240 seconds) 2020-12-04T19:56:53Z davisr_ quit (Read error: Connection reset by peer) 2020-12-04T19:57:10Z davisr_ joined #lisp 2020-12-04T19:57:12Z ane: pyc: with paredit you can use C-M-n (paredit-forward-up) to jump after to the nearest surrounding sexp, or, you could install expand-region, use it once to mark the surrounding sexp, and then use eval-region 2020-12-04T20:06:23Z dbotton joined #lisp 2020-12-04T20:06:36Z frodef joined #lisp 2020-12-04T20:07:37Z Inline joined #lisp 2020-12-04T20:11:43Z zacts quit (Quit: leaving) 2020-12-04T20:14:09Z mbrumlow joined #lisp 2020-12-04T20:19:49Z zacts joined #lisp 2020-12-04T20:24:08Z abhixec quit (Ping timeout: 260 seconds) 2020-12-04T20:26:24Z random-nick quit (Quit: quit) 2020-12-04T20:28:18Z surabax quit (Ping timeout: 256 seconds) 2020-12-04T20:30:56Z random-nick joined #lisp 2020-12-04T20:32:23Z ggole quit (Quit: Leaving) 2020-12-04T20:36:08Z luis quit (Ping timeout: 272 seconds) 2020-12-04T20:36:13Z luis3 joined #lisp 2020-12-04T20:42:01Z Lycurgus joined #lisp 2020-12-04T20:44:58Z narimiran quit (Ping timeout: 256 seconds) 2020-12-04T20:45:13Z madage quit (Remote host closed the connection) 2020-12-04T20:45:29Z madage joined #lisp 2020-12-04T20:48:39Z aartaka_d joined #lisp 2020-12-04T20:50:16Z aartaka quit (Ping timeout: 240 seconds) 2020-12-04T20:56:06Z aaaaaa joined #lisp 2020-12-04T20:58:56Z dim quit (Ping timeout: 272 seconds) 2020-12-04T20:59:07Z shifty joined #lisp 2020-12-04T21:01:25Z pfdietz: asarch: Lisp continues the tradition of everyone + dog inventing their own test frameworks. But RT was the first, I think. It's available in quicklisp. 2020-12-04T21:02:19Z bcasiello_ quit (Quit: Leaving) 2020-12-04T21:02:53Z bcasiello joined #lisp 2020-12-04T21:02:58Z pfdietz: And you're welcome. :) 2020-12-04T21:08:29Z ebrasca quit (Remote host closed the connection) 2020-12-04T21:08:56Z aartaka_d quit (Ping timeout: 240 seconds) 2020-12-04T21:09:02Z EvW quit (Ping timeout: 260 seconds) 2020-12-04T21:10:25Z zacts quit (Ping timeout: 264 seconds) 2020-12-04T21:12:02Z judson_ joined #lisp 2020-12-04T21:15:24Z urek quit (Ping timeout: 256 seconds) 2020-12-04T21:25:07Z zacts joined #lisp 2020-12-04T21:25:10Z EvW joined #lisp 2020-12-04T21:30:09Z nkatte quit (Ping timeout: 244 seconds) 2020-12-04T21:33:53Z oni_on_ion is now known as oni-on-ion 2020-12-04T21:34:15Z cosimone joined #lisp 2020-12-04T21:36:04Z zacts quit (Quit: leaving) 2020-12-04T21:38:39Z imode joined #lisp 2020-12-04T21:39:02Z matzesc quit (Quit: Leaving) 2020-12-04T21:40:13Z dbotton quit (Quit: This computer has gone to sleep) 2020-12-04T21:40:32Z bqv: there's a number of repos in quicklisp-projects that refer to bitbucket mercurial repositories 2020-12-04T21:40:38Z bqv: which is an issue, because bitbucket no longer supports mercurial repositories :D 2020-12-04T21:40:55Z bqv: https://github.com/quicklisp/quicklisp-projects 2020-12-04T21:42:00Z cosimone quit (Quit: cosimone) 2020-12-04T21:42:46Z wsinatra quit (Quit: WeeChat 3.0) 2020-12-04T21:44:42Z aartaka joined #lisp 2020-12-04T21:49:50Z asarch: Thank you very much once again pfdietz :-) 2020-12-04T21:54:20Z urek joined #lisp 2020-12-04T21:59:36Z frodef quit (Ping timeout: 256 seconds) 2020-12-04T22:00:56Z kaftejiman quit (Remote host closed the connection) 2020-12-04T22:00:56Z amb007 quit (Read error: Connection reset by peer) 2020-12-04T22:01:04Z EvW quit (Ping timeout: 240 seconds) 2020-12-04T22:01:08Z amb007 joined #lisp 2020-12-04T22:01:23Z shka_ quit (Ping timeout: 265 seconds) 2020-12-04T22:01:23Z kaftejiman joined #lisp 2020-12-04T22:04:18Z aaaaaa quit (Quit: leaving) 2020-12-04T22:05:27Z dim joined #lisp 2020-12-04T22:07:17Z cosimone joined #lisp 2020-12-04T22:09:02Z cosimone quit (Client Quit) 2020-12-04T22:12:20Z cosimone joined #lisp 2020-12-04T22:14:37Z Lycurgus quit (Quit: Exeunt) 2020-12-04T22:16:56Z kaftejiman quit (Remote host closed the connection) 2020-12-04T22:17:06Z EvW joined #lisp 2020-12-04T22:17:27Z kaftejiman joined #lisp 2020-12-04T22:20:00Z aartaka quit (Ping timeout: 272 seconds) 2020-12-04T22:26:12Z davisr_ quit (Quit: Leaving) 2020-12-04T22:28:22Z Josh_2 joined #lisp 2020-12-04T22:29:13Z Josh_2: Hey, whats the goto way to handle relative paths? so I need to make all paths relative to the system location? 2020-12-04T22:33:03Z phoe: asdf:system-relative-pathname you mean? 2020-12-04T22:33:10Z phoe: or something else? 2020-12-04T22:33:24Z pve quit (Quit: leaving) 2020-12-04T22:35:22Z thijso joined #lisp 2020-12-04T22:36:24Z mfiano: Just store relative pathnames, and build it up with asdf:system-relative-pathname or POSIX argv0 depending on your environment (the former isn't valid with relocated binaries). 2020-12-04T22:36:59Z skapata quit (Ping timeout: 272 seconds) 2020-12-04T22:40:15Z judson_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-04T22:40:42Z bilegeek joined #lisp 2020-12-04T22:44:42Z Josh_2: Well the main concern is a dumped image 2020-12-04T22:45:34Z mfiano: Then you'll need to use argv0 or something, since the dumped image's asdf system path is not very useful to prepend to your relative pathnames. 2020-12-04T22:45:52Z Josh_2: Yes thats what I was thinking 2020-12-04T22:46:26Z mfiano: I might have some code laying around 2020-12-04T22:46:37Z Josh_2: If I could take a look that would be a great help 2020-12-04T22:48:22Z hugh_marera quit (Ping timeout: 246 seconds) 2020-12-04T22:48:28Z mfiano: Not sure how useful this would be, but: https://github.com/bufferswap/ViralityEngine/blob/f330a2c0f161416dbd943b7fc94be1108e94d0ce/src/core-early/asset.lisp#L103-L111 2020-12-04T22:48:50Z mfiano: =release= is set to T when deploying, otherwise when NIL during development uses asdf 2020-12-04T22:51:48Z frodef joined #lisp 2020-12-04T22:53:58Z dim quit (Ping timeout: 246 seconds) 2020-12-04T22:56:18Z Josh_2: Okay thanks 2020-12-04T22:57:02Z mfiano: This means that you need to build your full pathnames at runtime, of course. 2020-12-04T22:57:27Z mfiano: Storing relative in code for production and development. 2020-12-04T22:58:16Z Josh_2: Yes thats okay 2020-12-04T22:59:47Z euandreh quit (Ping timeout: 272 seconds) 2020-12-04T23:00:03Z frgo quit (Read error: Connection reset by peer) 2020-12-04T23:00:32Z frgo joined #lisp 2020-12-04T23:03:30Z bitmapper quit (Quit: Connection closed for inactivity) 2020-12-04T23:03:49Z hal99999 quit (Quit: hal99999) 2020-12-04T23:04:04Z skapata joined #lisp 2020-12-04T23:10:29Z daphnis joined #lisp 2020-12-04T23:12:43Z judson_ joined #lisp 2020-12-04T23:17:39Z gioyik quit (Quit: WeeChat 3.0) 2020-12-04T23:18:47Z bcasiello quit (Quit: Leaving) 2020-12-04T23:19:07Z nij joined #lisp 2020-12-04T23:19:41Z Rengan quit (Quit: Leaving) 2020-12-04T23:20:54Z MichaelRaskin joined #lisp 2020-12-04T23:20:54Z mbomba quit (Quit: WeeChat 3.0) 2020-12-04T23:20:58Z nij: Hi! I'm reading /On Lisp/ upto chapter 8, and feel like to pause a bit to get my hands on writing some lisps. I will use /Land of lisps/ for that. However, I have the impression that the implementations are slightly different (clisp? vs??). Will I meet any trouble coming back to /On Lisp/ after fiddling with clisp for a while? 2020-12-04T23:22:01Z no-defun-allowed: The choice of Common Lisp implementation doesn't matter at all. CLISP isn't really maintained, though. 2020-12-04T23:23:12Z no-defun-allowed: The only difference is that CLISP has a readline-based system, but most people use a Lisp implementation from an editor plugin (such as SLIME or SLIMV) which provides its own completion and editing. 2020-12-04T23:23:26Z nij: Can I use SLIME for CLISP? 2020-12-04T23:25:28Z no-defun-allowed: Yes, but you may as well use a more maintained (and much faster) implementation like SBCL or Clozure. 2020-12-04T23:27:31Z nij: Excited! 2020-12-04T23:27:37Z nij quit (Quit: ERC (IRC client for Emacs 27.1)) 2020-12-04T23:28:55Z edgar-rft: Hi nij! :-) Probably most people here use SBCL, you can use rlwrap (linux package) to get an interactive terminal line editor for SBCL, or Emacs+Slime. 2020-12-04T23:29:44Z edgar-rft: ...and yes, Slime works also with CLISP 2020-12-04T23:29:54Z mason: New book just arrived: https://pasteboard.co/JDqPw60.jpg 2020-12-04T23:30:55Z edgar-rft: "Lisp from Nothing" sounds as if the book could have been written by me :-) 2020-12-04T23:31:16Z mason: This is Nirvana for a Lisp-loving computer history geek. 2020-12-04T23:32:30Z lotuseater: oh cool 2020-12-04T23:34:16Z judson_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-04T23:35:54Z judson_ joined #lisp 2020-12-04T23:36:30Z daphnis: is there any first format argument to "~,,v:d" that will cancel the effect of the colon? 2020-12-04T23:37:30Z daphnis: (except a very high number) 2020-12-04T23:39:33Z Josh_2: I have added the asdf:perform .. in my .asd in an attempt to have asdf make use sbcl core compression but my executable is 88mb 2020-12-04T23:39:52Z Josh_2: https://plaster.tymoon.eu/view/2181#2181 2020-12-04T23:40:26Z nkatte joined #lisp 2020-12-04T23:42:51Z Josh_2 quit (Remote host closed the connection) 2020-12-04T23:42:54Z dvdmuckle quit (Quit: Bouncer Surgery) 2020-12-04T23:43:17Z Josh_2 joined #lisp 2020-12-04T23:43:36Z dvdmuckle joined #lisp 2020-12-04T23:43:40Z Josh_2: did my message about asdf:make get sent before I dc'd? 2020-12-04T23:45:08Z thmprover joined #lisp 2020-12-04T23:46:24Z thmprover: Question: what equality operator should I use for comparing CLOS objects? 2020-12-04T23:46:34Z thmprover: I thought equalp, but that doesn't work :S 2020-12-04T23:46:47Z Josh_2: if you want to check if It's the exact same object as the other you can use eq 2020-12-04T23:46:51Z Josh_2: that will compare the pointers 2020-12-04T23:47:19Z thmprover: I want to see if they are "structurally isomorphic", not identical objects. 2020-12-04T23:48:55Z mfiano: You cannot 2020-12-04T23:49:31Z mfiano: equalp will do a shallow check for structure-objects, but there is no check for standard-objects. 2020-12-04T23:49:39Z thmprover: So it looks like I'll need to use defstruct, then, instead of defclass (to take advantage of equalp) 2020-12-04T23:49:55Z mfiano: It is not a deep comparison however 2020-12-04T23:50:22Z thmprover: What? 2020-12-04T23:50:50Z Blukunfando quit (Ping timeout: 256 seconds) 2020-12-04T23:52:20Z mfiano: Like you're not going to know if some slot of a struct that holds a reference to some other aggregate object has changed state 2020-12-04T23:52:37Z thmprover: Ah, gotchya. 2020-12-04T23:54:14Z mfiano: Nothing is preventing you from using the MOP to do the same for standard-objects, though. 2020-12-04T23:54:32Z mfiano: I would strongly shy away from structs for 99% of use cases. 2020-12-04T23:55:11Z no-defun-allowed: I'm not sure if comparing objects by comparing their slots is morally the right thing to do, but I can't suggest a better alternative. 2020-12-04T23:55:19Z thmprover: Could I do something like (defmethod equalp ((self my-class) other) ...) ? 2020-12-04T23:55:49Z mfiano: Not unless you shadow CL's equalp 2020-12-04T23:56:12Z mfiano: equalp is not a generic function, and you can't redefine it to be one unless you make a new symbol in a new package 2020-12-04T23:56:18Z no-defun-allowed: Not with the name equalp. But you would generally want (defmethod somewhat-equal (a b) nil) (defmethod somewhat-equal ((a a-class) (b a-class)) ...) 2020-12-04T23:56:37Z kir0ul_ quit (Ping timeout: 264 seconds) 2020-12-04T23:56:52Z thmprover: You wouldn't do (defmethod somewhat-equal (a b) (equalp a b)) ? 2020-12-04T23:57:03Z no-defun-allowed: Ah, you probably would. 2020-12-04T23:57:16Z no-defun-allowed: But note the multiple dispatch; you're losing out if you call one argument SELF usually. 2020-12-04T23:57:38Z random-nick quit (Ping timeout: 256 seconds) 2020-12-04T23:59:04Z frgo quit (Remote host closed the connection) 2020-12-04T23:59:24Z Josh_2: I have added this to my https://plaster.tymoon.eu/view/2181#2181 .asd and I'm using asdf:make to build my project, however my image is not being compressed 2020-12-04T23:59:33Z frgo joined #lisp 2020-12-05T00:00:08Z mfiano thought :compression took a gzip integral level on SBCL at least, and depends on if gzip support was compiled in 2020-12-05T00:00:12Z thmprover: I've tried adding a 'equal?' method for my classes, and it works for half of them, but the other half throws a "EQUAL? is unbound" error 2020-12-05T00:00:13Z Josh_2: hmm 2020-12-05T00:00:18Z Josh_2: mfiano: you may be right I will try 2020-12-05T00:00:46Z Bike: thmprover: that sounds unusual. could you paste the full error and your source code? in some pastebin service 2020-12-05T00:01:10Z thmprover: Is there some limitation with recursion? Like, I'm using classes to form an AST for first-order logic, so they recursively nest. 2020-12-05T00:01:55Z Bike: if you're just recursing it won't handle circular structures, but a tree structure should be fine 2020-12-05T00:02:03Z thmprover: https://github.com/pqnelson/cl-aim/blob/master/src/fol/term.lisp 2020-12-05T00:02:12Z thmprover: (equal? (fn 'f (list (var 'x))) (fn 'f (list (var 'x)))) 2020-12-05T00:02:37Z frodef quit (Ping timeout: 264 seconds) 2020-12-05T00:03:27Z thmprover: Evaluating it throws errors, but (equal? (var 'x) (var 'x)) returns T, so I'm thinking something is amiss with my '(every equal? (fn-args lhs) (fn-args rhs))' code. 2020-12-05T00:03:39Z Bike: yes, that should be (every #'equal? ...) 2020-12-05T00:04:10Z Bike: there ar eseparate variable and function namespaces. 2020-12-05T00:04:38Z cosimone quit (Ping timeout: 260 seconds) 2020-12-05T00:04:45Z thmprover: Egads, I completely messed that up, thanks, that fixes everything. 2020-12-05T00:04:47Z Josh_2: Well I don't think asdf:perform is even being called ¯\_(ツ)_/¯ 2020-12-05T00:05:12Z asarch quit (Quit: Leaving) 2020-12-05T00:07:04Z orivej quit (Ping timeout: 240 seconds) 2020-12-05T00:09:08Z thmprover: Awesome, that works, thanks. 2020-12-05T00:12:04Z shifty quit (Ping timeout: 240 seconds) 2020-12-05T00:20:32Z leo_song joined #lisp 2020-12-05T00:21:19Z madage quit (Remote host closed the connection) 2020-12-05T00:21:39Z madage joined #lisp 2020-12-05T00:32:09Z galex-713 quit (Read error: Connection reset by peer) 2020-12-05T00:33:03Z EvW quit (Ping timeout: 244 seconds) 2020-12-05T00:35:17Z Blukunfando joined #lisp 2020-12-05T00:39:04Z karlosz quit (Ping timeout: 260 seconds) 2020-12-05T00:40:13Z daphnis quit (Ping timeout: 260 seconds) 2020-12-05T00:43:39Z rgherdt quit (Ping timeout: 272 seconds) 2020-12-05T00:46:49Z EvW joined #lisp 2020-12-05T00:58:32Z akoana joined #lisp 2020-12-05T00:58:51Z Inline quit (Ping timeout: 272 seconds) 2020-12-05T01:02:38Z galex-713 joined #lisp 2020-12-05T01:05:14Z lucasb quit (Quit: Connection closed for inactivity) 2020-12-05T01:13:59Z bitmapper joined #lisp 2020-12-05T01:14:32Z abhixec joined #lisp 2020-12-05T01:16:25Z johnjay quit (Ping timeout: 264 seconds) 2020-12-05T01:17:20Z froggey quit (Ping timeout: 272 seconds) 2020-12-05T01:18:33Z froggey joined #lisp 2020-12-05T01:20:49Z johnjay joined #lisp 2020-12-05T01:24:03Z semz quit (Quit: Leaving) 2020-12-05T01:32:44Z dhil quit (Ping timeout: 260 seconds) 2020-12-05T01:34:26Z srandon111: hello beach 2020-12-05T01:35:27Z catchme quit (Quit: Connection closed for inactivity) 2020-12-05T01:37:07Z dim joined #lisp 2020-12-05T01:39:07Z EvW quit (Ping timeout: 260 seconds) 2020-12-05T01:42:00Z Lord_of_Life_ joined #lisp 2020-12-05T01:43:33Z Kabriel: Xach: I figured. Do you have a way you look through packages, or do you have them all 1500 memorized! 2020-12-05T01:44:35Z wxie joined #lisp 2020-12-05T01:44:44Z Lord_of_Life quit (Ping timeout: 256 seconds) 2020-12-05T01:45:02Z shifty joined #lisp 2020-12-05T01:45:05Z rumbler31 quit (Read error: Connection reset by peer) 2020-12-05T01:45:43Z rumbler31 joined #lisp 2020-12-05T01:47:18Z srandon111: guys what is a good comparison between common lisp and clojure ? i know about lisp-1 and lisp-2 difference but i mean with respect to other things... like from what i understood clojure has a lot of 3rd party libraries, but still relies on the JVM and has big startup times... it's a modern lisp... while common lisp is more ancient but compiles standalone binaries hence we should have a gain in performance... what are other differences? 2020-12-05T01:47:34Z srandon111: i saw that clojure is more functional oriented while lisp does not enforce a style 2020-12-05T01:50:06Z Alfr_ is now known as D_x 2020-12-05T01:50:29Z Josh_2: more ancient? 2020-12-05T01:50:31Z Josh_2: :think: 2020-12-05T01:50:48Z D_x is now known as Alfr 2020-12-05T01:51:12Z no-defun-allowed: What is modern? 2020-12-05T01:51:46Z moon-child: srandon111: performance is a complicated topic, and I don't think that it makes sense to say that cl's is *better*. Their performance profiles are different 2020-12-05T01:52:17Z no-defun-allowed: As far as I can tell (welcome to #lispcafe philosophy club), the concept of progress is maximising agency. So Common Lisp is much more modern in that regard. 2020-12-05T01:52:42Z no-defun-allowed: ...and most "modern" languages are thus anything but. 2020-12-05T01:53:08Z Josh_2: well It's not #lispcafe so lets not get into that 2020-12-05T01:54:33Z no-defun-allowed: Okay, there are some places where mutable data structures are faster than their immutable counterparts. 2020-12-05T01:55:03Z no-defun-allowed: You also have a very good numeric tower in Common Lisp, including bignums, ratios and complex numbers. 2020-12-05T01:55:06Z Josh_2: the difference is simple, CL = based, Clojure = cringe 2020-12-05T01:55:10Z Josh_2: I can't make it anymore clear 2020-12-05T01:57:17Z no-defun-allowed: (On the other hand, immutable data structures are a bit easier to reason about concurrently, but e.g concurrent hash tables kick butt, and are a bit "transactional" in that you can replace a mapping assuming the value of the previous mapping, so reasoning about them is still very doable.) 2020-12-05T02:00:10Z no-defun-allowed: srandon111: It isn't too wrong to assume that when someone mentions a "modern" programming language, they have no idea what they are talking about. 2020-12-05T02:03:06Z srandon111: no-defun-allowed, what does it mean to maximise agency??? 2020-12-05T02:03:09Z lotuseater: Josh_2: i think timeless is a better adjective 2020-12-05T02:03:20Z srandon111: no-defun-allowed, also what is the last update to sbcl ? 2020-12-05T02:04:06Z no-defun-allowed: srandon111: SBCL is updated monthly, but the updates theoretically shouldn't matter. Any Common Lisp implementation implements the same language, and several agreed upon extensions. 2020-12-05T02:04:49Z no-defun-allowed: srandon111: What I mean by "agency" is that you're capable of doing more things in the language, and to some extent that such things are actually feasible. 2020-12-05T02:05:19Z kaftejiman quit (Remote host closed the connection) 2020-12-05T02:08:39Z srandon111: no-defun-allowed, does common lisp has modules/libraries for machine learning or developing neural nets ? 2020-12-05T02:08:55Z srandon111: also what books would you suggest to start ? 2020-12-05T02:09:17Z no-defun-allowed: CLML has quite a few machine learning algorithms. 2020-12-05T02:09:28Z no-defun-allowed: minion: tell srandon111 about Practical Common Lisp 2020-12-05T02:09:28Z minion: srandon111: look at Practical Common Lisp: 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-12-05T02:09:52Z srandon111: no-defun-allowed, so should i start with practical common lisp? are there other resources i should be aware before starting ? 2020-12-05T02:10:43Z no-defun-allowed: I think that is usually a good recommendation. But if that becomes difficult, then A Gentle Introduction to Symbolic Computation is also handy. 2020-12-05T02:17:53Z lotuseater: yeah there's a new edition from 2014 2020-12-05T02:18:44Z judson_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-05T02:24:36Z johnjay quit (Ping timeout: 240 seconds) 2020-12-05T02:34:14Z johnjay joined #lisp 2020-12-05T02:34:16Z johnjay quit (Read error: Connection reset by peer) 2020-12-05T02:36:45Z srandon111: is it hard to do graphic shit with cl ? 2020-12-05T02:38:57Z lotuseater: srandon111: i think there are several possibilities. what exactly do you mean? 2020-12-05T02:39:29Z srandon111: lotuseater, both 2d and 3d graphics 2020-12-05T02:40:23Z lotuseater: okay then i think on CEPL, there is a hole bunch of videos about it: https://www.youtube.com/watch?v=I0kWZP9L9Kc 2020-12-05T02:41:03Z johnjay joined #lisp 2020-12-05T02:41:09Z lotuseater: and a good example for 3d game graphics is this Minecraft clone: https://github.com/gregcman/sucle 2020-12-05T02:41:26Z karayan quit (Ping timeout: 264 seconds) 2020-12-05T02:42:18Z Ekho quit (Ping timeout: 244 seconds) 2020-12-05T02:42:18Z karayan joined #lisp 2020-12-05T02:44:37Z srandon111: land of lisp does something graphical 2020-12-05T02:44:38Z srandon111: ? 2020-12-05T02:44:42Z srandon111: lotuseater, 2020-12-05T02:44:54Z srandon111: lotuseater, what is CEPL ? 2020-12-05T02:46:19Z lotuseater: CEPL is a library that generates opengl code 2020-12-05T02:46:58Z lotuseater: and yes, land of lisp is wonderful, the graphical stuff is in the terminal 2020-12-05T02:47:38Z lotuseater: the youtube link i gave above is the first video about CEPL from its creator 2020-12-05T02:48:13Z Ekho joined #lisp 2020-12-05T02:49:39Z srandon111: lotuseater, i see he has a lot of playlists they seem very useful 2020-12-05T02:49:47Z srandon111: like pushing pixels with lisp 2020-12-05T02:49:59Z srandon111: lotuseater, what do you mean the graphics is in the terminal ? like ascii ? 2020-12-05T02:50:08Z srandon111: just using ascii chars in the terminal ? 2020-12-05T02:50:34Z lotuseater: yes 2020-12-05T02:51:20Z lotuseater: in land of lisp you have text adventures, ascii in terminal, and generating svgs 2020-12-05T02:51:43Z lotuseater: if you want to make somethin ncurses like there is the croatoan lib :) 2020-12-05T02:53:18Z galex-713 quit (Quit: No Ping reply in 180 seconds.) 2020-12-05T02:55:54Z srandon111: lotuseater, i don't know what croatoan is 2020-12-05T02:58:08Z srandon111: is there any good example of cli app made in lisp on github? 2020-12-05T02:58:15Z lotuseater: okay then i was not explicit enough. it is the CL lib for doing stuff like with ncurses 2020-12-05T02:58:42Z srandon111: okok 2020-12-05T02:58:44Z srandon111: lotuseater, thanks 2020-12-05T02:58:59Z lotuseater: yes maybe some other people have in mind other stuff 2020-12-05T02:59:41Z galex-713 joined #lisp 2020-12-05T03:03:31Z Josh_2: lotuseater: based is often a synonym for timeless 2020-12-05T03:06:38Z karayan quit (Read error: Connection reset by peer) 2020-12-05T03:07:58Z karayan joined #lisp 2020-12-05T03:08:18Z lotuseater: Yes, it should not contradict you either. :) 2020-12-05T03:13:18Z austincummings[m quit (*.net *.split) 2020-12-05T03:13:19Z MrtnDk[m] quit (*.net *.split) 2020-12-05T03:13:19Z h11 quit (*.net *.split) 2020-12-05T03:13:19Z no-defun-allowed quit (*.net *.split) 2020-12-05T03:13:19Z abbe_ quit (*.net *.split) 2020-12-05T03:13:19Z gjnoonan quit (*.net *.split) 2020-12-05T03:13:20Z jlpeters quit (*.net *.split) 2020-12-05T03:13:20Z penguwin quit (*.net *.split) 2020-12-05T03:13:20Z chewbranca quit (*.net *.split) 2020-12-05T03:13:20Z ffwacom quit (*.net *.split) 2020-12-05T03:13:20Z mgsk quit (*.net *.split) 2020-12-05T03:13:20Z heredoc quit (*.net *.split) 2020-12-05T03:13:20Z gingerale quit (*.net *.split) 2020-12-05T03:13:20Z larme quit (*.net *.split) 2020-12-05T03:13:20Z thonkpod quit (*.net *.split) 2020-12-05T03:13:20Z russell-- quit (*.net *.split) 2020-12-05T03:13:32Z mister_m: is redefining a struct considered undefined behavior? I know that inside of CLOS there are mechanisms to update object instances, but no such mechanisms exist for struct instances, is that correct? 2020-12-05T03:13:36Z heredoc joined #lisp 2020-12-05T03:15:32Z lotuseater: yes normally i get an error if trying that 2020-12-05T03:18:43Z austincummings[m joined #lisp 2020-12-05T03:18:43Z h11 joined #lisp 2020-12-05T03:18:43Z MrtnDk[m] joined #lisp 2020-12-05T03:18:43Z no-defun-allowed joined #lisp 2020-12-05T03:18:43Z abbe_ joined #lisp 2020-12-05T03:18:43Z gjnoonan joined #lisp 2020-12-05T03:18:43Z jlpeters joined #lisp 2020-12-05T03:18:43Z penguwin joined #lisp 2020-12-05T03:18:43Z chewbranca joined #lisp 2020-12-05T03:18:43Z ffwacom joined #lisp 2020-12-05T03:18:43Z mgsk joined #lisp 2020-12-05T03:18:43Z russell-- joined #lisp 2020-12-05T03:18:43Z gingerale joined #lisp 2020-12-05T03:18:43Z larme joined #lisp 2020-12-05T03:18:43Z thonkpod joined #lisp 2020-12-05T03:19:19Z Bike: "The consequences of redefining a defstruct structure are undefined. " on clhs defstruct 2020-12-05T03:19:42Z mister_m: that's pretty definitive :) 2020-12-05T03:20:26Z lotuseater: ah okay then specific implementation dependent :) on SBCL it's a SIMPLE-ERROR "incompatible with the current definition" 2020-12-05T03:22:02Z mister_m: if I want to - for example - add a field to the struct when at the repl, how do I do this without making things all wonky 2020-12-05T03:22:13Z Bike: use defclass instead. 2020-12-05T03:22:25Z mister_m: let's say that is not an option 2020-12-05T03:22:34Z Bike: like, for real. defstruct is the fast one with packed storage, and to do that it can't be redefinable. 2020-12-05T03:22:51Z lotuseater: you can have simple inheritance on your current struct and add the new slots 2020-12-05T03:23:06Z Bike: it might work if you also redefine every function or other thing that refers to the structure definition. 2020-12-05T03:23:38Z igemnace quit (Remote host closed the connection) 2020-12-05T03:24:19Z lotuseater: from experimenting it worked to make (makunbound 'struct-name) and initializing the new 2020-12-05T03:24:36Z Bike: makunbound has nothing to do with struct definitions 2020-12-05T03:25:13Z Bike: i just did (defstruct foo) (makunbound 'foo) (defstruct foo bar) in sbcl and yep, error. 2020-12-05T03:25:18Z lotuseater: i didn't say so 2020-12-05T03:25:24Z wxie quit (Ping timeout: 240 seconds) 2020-12-05T03:25:38Z lotuseater: hm okay wait, how did i do it then ... 2020-12-05T03:26:02Z penguwin quit (Max SendQ exceeded) 2020-12-05T03:26:32Z mister_m: for some context I am working on steve losh's chip-8 tutorial where they posit that struct accessors make a big difference in performance -- I don't know to what degree this is true but it uses a struct as the basis of the eumlator 2020-12-05T03:26:38Z penguwin joined #lisp 2020-12-05T03:26:54Z lotuseater: oh I like that blog post! learned much from it :3 2020-12-05T03:26:57Z Bike: yes, structs can actually be more performant, but they do that by sacrificing redefinability. 2020-12-05T03:27:06Z abhixec quit (Ping timeout: 260 seconds) 2020-12-05T03:27:14Z Bike: if you're prototyping something you can use an equivalent defclass temporarily, and then when you've figured everything out make it a defstruct. 2020-12-05T03:27:23Z mister_m: that was my exact next question 2020-12-05T03:27:38Z lotuseater: good advise Bike 2020-12-05T03:27:47Z mister_m: that seems like a reasonable thing to do while I am in the more interactive phase 2020-12-05T03:33:48Z perrier-jouet quit (Quit: WeeChat 2.9) 2020-12-05T03:39:36Z arbv quit (Ping timeout: 240 seconds) 2020-12-05T03:41:04Z dim quit (Ping timeout: 240 seconds) 2020-12-05T03:44:09Z urek quit (Ping timeout: 272 seconds) 2020-12-05T03:48:54Z karayan quit (Ping timeout: 265 seconds) 2020-12-05T03:49:08Z karayan joined #lisp 2020-12-05T03:53:28Z arbv joined #lisp 2020-12-05T04:02:10Z beach: Good morning everyone! 2020-12-05T04:02:14Z Alfr_ joined #lisp 2020-12-05T04:02:24Z MichaelRaskin quit (Ping timeout: 240 seconds) 2020-12-05T04:04:22Z Alfr quit (Ping timeout: 244 seconds) 2020-12-05T04:06:42Z dim joined #lisp 2020-12-05T04:08:34Z wxie joined #lisp 2020-12-05T04:13:11Z yonkunas quit (Quit: Connection closed for inactivity) 2020-12-05T04:15:50Z ggole joined #lisp 2020-12-05T04:16:56Z shifty quit (Ping timeout: 256 seconds) 2020-12-05T04:17:43Z shifty joined #lisp 2020-12-05T04:17:54Z karayan quit (Ping timeout: 265 seconds) 2020-12-05T04:18:39Z karayan joined #lisp 2020-12-05T04:24:11Z arbv quit (Quit: ZNC - https://znc.in) 2020-12-05T04:26:38Z wxie quit (Ping timeout: 256 seconds) 2020-12-05T04:27:07Z arbv joined #lisp 2020-12-05T04:29:14Z shifty quit (Ping timeout: 272 seconds) 2020-12-05T04:30:32Z shifty joined #lisp 2020-12-05T04:36:38Z perrier-jouet joined #lisp 2020-12-05T04:37:33Z akoana quit (Quit: leaving) 2020-12-05T04:40:33Z karayan quit (Read error: Connection reset by peer) 2020-12-05T04:41:04Z narimiran joined #lisp 2020-12-05T04:42:52Z karayan joined #lisp 2020-12-05T04:43:35Z matryoshka` quit (Quit: ZNC 1.8.2 - https://znc.in) 2020-12-05T04:45:05Z waleee-cl quit (Quit: Connection closed for inactivity) 2020-12-05T04:45:06Z matryoshka joined #lisp 2020-12-05T04:56:51Z karlosz joined #lisp 2020-12-05T04:59:16Z rumbler31 quit (Read error: Connection reset by peer) 2020-12-05T04:59:54Z rumbler31 joined #lisp 2020-12-05T05:00:35Z frost-lab joined #lisp 2020-12-05T05:00:37Z wxie joined #lisp 2020-12-05T05:00:56Z Bike quit (Quit: Lost terminal) 2020-12-05T05:04:25Z shifty quit (Ping timeout: 264 seconds) 2020-12-05T05:07:36Z karayan quit (Ping timeout: 256 seconds) 2020-12-05T05:09:43Z karayan joined #lisp 2020-12-05T05:11:55Z frost-lab quit (Quit: Connection closed) 2020-12-05T05:13:25Z Lycurgus joined #lisp 2020-12-05T05:15:31Z Lycurgus quit (Client Quit) 2020-12-05T05:15:52Z Lycurgus joined #lisp 2020-12-05T05:16:51Z Lycurgus quit (Client Quit) 2020-12-05T05:17:13Z Lycurgus joined #lisp 2020-12-05T05:20:31Z frost-lab joined #lisp 2020-12-05T05:21:07Z zcheng3 joined #lisp 2020-12-05T05:23:36Z srandon111 quit (Ping timeout: 240 seconds) 2020-12-05T05:23:37Z karayan quit (Read error: Connection reset by peer) 2020-12-05T05:24:03Z karayan joined #lisp 2020-12-05T05:26:28Z srandon111 joined #lisp 2020-12-05T05:26:43Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-05T05:28:17Z luckless_ joined #lisp 2020-12-05T05:32:58Z toorevitimirp joined #lisp 2020-12-05T05:34:36Z Lycurgus quit (Quit: Exeunt) 2020-12-05T05:35:06Z toorevitimirp quit (Remote host closed the connection) 2020-12-05T05:38:40Z nowhere_man joined #lisp 2020-12-05T05:41:43Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-05T05:41:59Z luckless_ joined #lisp 2020-12-05T05:50:56Z igemnace joined #lisp 2020-12-05T05:54:33Z judson_ joined #lisp 2020-12-05T05:55:56Z zcheng3 quit (Ping timeout: 240 seconds) 2020-12-05T05:58:20Z thmprover quit (Quit: Goodnight, ladies, good night, sweet ladies, good night, good night) 2020-12-05T05:59:22Z judson_ quit (Client Quit) 2020-12-05T06:00:38Z jibanes quit (Ping timeout: 256 seconds) 2020-12-05T06:03:49Z wxie quit (Ping timeout: 264 seconds) 2020-12-05T06:07:15Z jibanes joined #lisp 2020-12-05T06:07:44Z srandon111 is now known as suchablyat 2020-12-05T06:08:02Z suchablyat is now known as sookablyat 2020-12-05T06:20:21Z mange joined #lisp 2020-12-05T06:39:44Z johnjay quit (Ping timeout: 240 seconds) 2020-12-05T06:42:04Z gaqwas joined #lisp 2020-12-05T06:44:11Z phantomics quit (Read error: Connection reset by peer) 2020-12-05T06:57:13Z phantomics joined #lisp 2020-12-05T07:04:11Z shifty joined #lisp 2020-12-05T07:05:41Z hugh_marera joined #lisp 2020-12-05T07:11:53Z mrchampion quit (Ping timeout: 272 seconds) 2020-12-05T07:14:17Z johnjay joined #lisp 2020-12-05T07:14:59Z mrchampion joined #lisp 2020-12-05T07:17:24Z wxie joined #lisp 2020-12-05T07:21:22Z skapata quit (Remote host closed the connection) 2020-12-05T07:22:54Z pyc: Is https://common-lisp.net/project/slime/doc/html/REPL.html different from the REPL I see when I load vanilla SLIME? 2020-12-05T07:26:43Z skapata joined #lisp 2020-12-05T07:33:25Z enrioog joined #lisp 2020-12-05T07:34:03Z nkatte quit (Ping timeout: 272 seconds) 2020-12-05T07:35:57Z nowhere_man quit (Ping timeout: 272 seconds) 2020-12-05T07:36:40Z enrioog quit (Remote host closed the connection) 2020-12-05T07:37:13Z enrioog joined #lisp 2020-12-05T07:37:28Z jackdaniel: mister_m: make a macro define-class that expands to defstruct when :foolhardy is in the *features*, and to defclass otherwise 2020-12-05T07:38:02Z jackdaniel: you may also have an "extension slot" where you put your afterthought data on a plist 2020-12-05T07:38:25Z jackdaniel: (defstruct foo a b c extension-plist) 2020-12-05T07:45:44Z no-defun-allowed: pyc: I think that is referring to the main SLIME REPL 2020-12-05T07:46:42Z pyc: no-defun-allowed: Why does it then say, "To load the REPL use (add-to-list 'slime-contribs 'slime-repl) in your .emacs." I did add that line to my ~/.emacs.d/init.el and yet I got the exact same REPL that I would get without that line. 2020-12-05T07:51:35Z beach: My guess is that the repl didn't use to be enabled by default, so that then you had to enable it explicitly, but now it is enabled by default. 2020-12-05T08:00:08Z treflip joined #lisp 2020-12-05T08:01:35Z aartaka joined #lisp 2020-12-05T08:05:57Z pyc: beach: thanks. that would make sense indeed. i have posted a question to https://github.com/slime/slime/issues/585 get more clarity on this. 2020-12-05T08:15:16Z wxie quit (Ping timeout: 240 seconds) 2020-12-05T08:16:37Z frodef joined #lisp 2020-12-05T08:19:39Z luis3 is now known as luis 2020-12-05T08:21:10Z leo_song quit (Ping timeout: 256 seconds) 2020-12-05T08:23:26Z frodef quit (Ping timeout: 256 seconds) 2020-12-05T08:25:27Z MichaelRaskin joined #lisp 2020-12-05T08:26:29Z karlosz quit (Quit: karlosz) 2020-12-05T08:31:43Z enrioog quit (Ping timeout: 240 seconds) 2020-12-05T08:39:44Z mbomba joined #lisp 2020-12-05T08:40:40Z shifty quit (Ping timeout: 256 seconds) 2020-12-05T08:42:09Z orivej joined #lisp 2020-12-05T08:51:09Z pve joined #lisp 2020-12-05T08:55:36Z amb007 quit (Read error: Connection reset by peer) 2020-12-05T08:56:26Z amb007 joined #lisp 2020-12-05T08:58:17Z shka_ joined #lisp 2020-12-05T09:04:01Z jprajzne quit (Quit: jprajzne) 2020-12-05T09:04:23Z jprajzne joined #lisp 2020-12-05T09:07:09Z hendursa1 joined #lisp 2020-12-05T09:08:31Z jprajzne quit (Client Quit) 2020-12-05T09:08:54Z jprajzne joined #lisp 2020-12-05T09:08:54Z amb007 quit (Read error: Connection reset by peer) 2020-12-05T09:09:03Z hendursaga quit (Ping timeout: 240 seconds) 2020-12-05T09:09:19Z amb007 joined #lisp 2020-12-05T09:16:36Z narimiran quit (Ping timeout: 240 seconds) 2020-12-05T09:21:27Z nij joined #lisp 2020-12-05T09:22:20Z nij: Hello! While working with elisp in emacs, it's easy to get to the docstring and definition of any symbol. Is there something similar in common lisp? 2020-12-05T09:22:47Z phoe: clhs documentation 2020-12-05T09:22:47Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_docume.htm 2020-12-05T09:22:53Z no-defun-allowed: (documentation 'function-name 'function) 2020-12-05T09:22:56Z phoe: use M-. in slime to jump to definition 2020-12-05T09:23:25Z phoe: but to be honest, I use DESCRIBE much more often than I use DOCUMENTATION 2020-12-05T09:23:29Z ck_: also in slime, there's C-c C-d d (and C-c C-d h to look up the hyperspec entry) 2020-12-05T09:23:43Z phoe: there's also lambda list and other information printed in the symbol description 2020-12-05T09:23:57Z nij: hmm I haven't had slime set up yet. Lemme try in my terminal. 2020-12-05T09:24:17Z phoe: do set it up 2020-12-05T09:24:34Z phoe: having a toolkit like slime or sly is essential to programming interactively in Common Lisp 2020-12-05T09:25:09Z phoe: without it you have no easy way to send forms or whole files for compilation/definition/redefinition and you have no independent debugger/inspector or source tracking 2020-12-05T09:25:43Z karayan quit (Ping timeout: 246 seconds) 2020-12-05T09:25:56Z dim quit (Ping timeout: 240 seconds) 2020-12-05T09:26:49Z karayan joined #lisp 2020-12-05T09:26:55Z nij: I see 2020-12-05T09:26:55Z nij: Wait.. any working minimal example for 'documentation? 2020-12-05T09:26:55Z nij: I ran (documentation 'setf) in sbcl and got error 2020-12-05T09:27:09Z nij` joined #lisp 2020-12-05T09:27:11Z phoe: nij: two arguments 2020-12-05T09:27:13Z nij`: :( 2020-12-05T09:27:18Z phoe: (documentation 'setf 'function) 2020-12-05T09:27:21Z nij`: lost connection 2020-12-05T09:27:22Z no-defun-allowed: (documentation 'setf 'function) 2020-12-05T09:27:24Z phoe: or just (describe 'setf) 2020-12-05T09:27:25Z nij`: oh lets see 2020-12-05T09:28:14Z nij`: It shows where the source file is. 2020-12-05T09:28:29Z nij`: But is it possible to show the source code of that function on the fly? 2020-12-05T09:28:51Z phoe: M-. 2020-12-05T09:28:55Z phoe: slime does have it 2020-12-05T09:29:02Z nij`: OK I need to get SLIME. 2020-12-05T09:29:08Z nij`: Thanks :) 2020-12-05T09:29:16Z phoe: what is your favorite editor? 2020-12-05T09:29:17Z ck_: the cross-referencing facilities are very handy, you should totally read the documentation for slime 2020-12-05T09:29:19Z nij`: emacs 2020-12-05T09:29:24Z nij`: well actually I have that installed 2020-12-05T09:29:32Z phoe: (ql:quickload :quicklisp-slime-helper) 2020-12-05T09:29:39Z phoe: that'll set up slime for you 2020-12-05T09:29:44Z nij`: I did not use it cuz I had some problem with quicklisp. Now it's settled. 2020-12-05T09:30:31Z nij`: phoe: got it! 2020-12-05T09:30:37Z nij`: And I do have slime in emacs. 2020-12-05T09:30:45Z phoe: :3 2020-12-05T09:31:04Z nij quit (Ping timeout: 240 seconds) 2020-12-05T09:31:17Z nij`: M-x SLIME says "there's no such file or directory, lisp."" 2020-12-05T09:31:39Z ck_: yeah, go ahead and read the documentation, it'll tell you how to point slime to your lisp binary 2020-12-05T09:32:04Z nij`: Uh sorry being very naive here. What is "my lisp binary"? 2020-12-05T09:32:12Z nij`: sbcl? 2020-12-05T09:32:16Z ck_: for example, yes 2020-12-05T09:32:42Z nij`: Oh sbcl tells me to (setq inferior-lisp-program "sbcl") in emacs. Lemme do that. 2020-12-05T09:33:13Z nij`: OH nice! Oh jeez it works. M-. <3 <3 2020-12-05T09:33:49Z ck_: M-, to go back, and for the rest, I suggest for a final time to read the documentation completely, it'll help a lot 2020-12-05T09:34:09Z nij`: The doc of SLIME? or SBCL? 2020-12-05T09:34:33Z ck_: of slime, https://common-lisp.net/project/slime/ --> manual 2020-12-05T09:34:56Z nij`: Thanks :) 2020-12-05T09:38:06Z nij`: Hmm.. two things that I'm still not used to.. (If the answer is in the DOC I will just find it. Sorry to bother much!) 2020-12-05T09:38:24Z phoe: no problem 2020-12-05T09:38:39Z nij`: First of, the definition of 'loop is defined by 'sb-xc:defmacro, which I don't know. However, M-. sb-xc:defmacro does not show anything. 2020-12-05T09:38:47Z phoe: #lisp is fine unless there's ongoing discussion of other types; then, there is #clschool 2020-12-05T09:38:57Z phoe: oh! yes, I see 2020-12-05T09:39:19Z phoe: SB-XC:FOO is a SBCL thing that you should read as CL:FOO 2020-12-05T09:39:19Z hnOsmium0001 quit (Quit: Connection closed for inactivity) 2020-12-05T09:39:28Z nij`: Second of, while looking defs in elisp, one can use ivy to do quick fuzzy search. Possible in SLIME as well? 2020-12-05T09:39:33Z no-defun-allowed: You probably can ignore SB-XC prefixes. They are used while compiling (or "bootstrapping") SBCL. 2020-12-05T09:39:35Z phoe: the difference is important because of how their cross-compiler works. 2020-12-05T09:39:45Z vegansbane quit (Quit: The Lounge - https://thelounge.chat) 2020-12-05T09:39:51Z phoe: so you can interpret LOOP as being defined via standard CL:DEFMACRO. 2020-12-05T09:39:57Z nij`: I see. (I don't know cl:xyz either.) 2020-12-05T09:40:11Z nij`: so 'cl:defmacro and 'defmacro are different? 2020-12-05T09:40:12Z phoe: as for the second problem, I usually solve it slightly differently 2020-12-05T09:40:29Z rgherdt joined #lisp 2020-12-05T09:40:42Z phoe: I start typing the symbol I want into the REPL, and then I use company-mode to find me the match I am looking for 2020-12-05T09:40:46Z phoe: then I M-. on it 2020-12-05T09:40:54Z ck_: you can set slime-complete-symbol-function to 'slime-fuzzy-complete-symbol, and that'll give you a probably similar type of tab-completion, you need to put slime-fuzzy into the setup for that too 2020-12-05T09:40:55Z phoe: nij`: are you aware of how CL packages work? 2020-12-05T09:41:03Z phoe: ck_: TIL, thanks 2020-12-05T09:41:06Z nij`: phoe: not really. 2020-12-05T09:41:26Z phoe: nij`: http://www.flownet.com/gat/packages.pdf 2020-12-05T09:41:29Z nij`: ck_: Oh that's neat. Thanks for the tip! 2020-12-05T09:41:39Z phoe: forgive the unfortunate document name, but the contents are very good 2020-12-05T09:42:13Z nij`: Seems a good fit to me! 2020-12-05T09:42:22Z nij`: I'm the complete idiot xD 2020-12-05T09:42:24Z phoe: basically, symbols in CL are organized in packages, *UNLIKE* in elisp 2020-12-05T09:42:46Z phoe: summing up a real lot, a package is a named collection of symbols. 2020-12-05T09:43:06Z phoe: and when symbols are created, they are usually interned into packages. 2020-12-05T09:43:17Z nij`: What does this have to do with cl:defmacro? 2020-12-05T09:43:26Z nij`: s/cl/'cl 2020-12-05T09:43:43Z phoe: usually, when you write DEFMACRO, you usually want to refer to the symbol named DEFMACRO from the CL package 2020-12-05T09:44:01Z phoe: this is done because a package can use other packages, inheriting its exported symbols into itself. 2020-12-05T09:44:08Z nij`: OH. 2020-12-05T09:44:19Z phoe: so when you are in package CL-USER, writing DEFMACRO refers to the symbol DEFMACRO inherited from CL 2020-12-05T09:44:21Z nij`: So writing defmacro is sometimes ok, but not specific enough? 2020-12-05T09:44:26Z phoe: most of the time it's OK 2020-12-05T09:44:31Z nij`: Nice! 2020-12-05T09:44:32Z phoe: but it's also context-dependent 2020-12-05T09:44:40Z phoe: because your package doesn't need to use the CL package 2020-12-05T09:44:48Z vegansbane joined #lisp 2020-12-05T09:44:53Z phoe: so DEFMACRO does not need to refer to CL:DEFMACRO all the tiem. 2020-12-05T09:44:56Z phoe: time.* 2020-12-05T09:45:02Z nij`: But that shouldn't prevent M-. teaching me what and where 'sb-xc:defmacro is.. 2020-12-05T09:45:28Z nij`: It should lead me to the the code block where 'defmacro is defined in the sb-xc package 2020-12-05T09:45:33Z phoe: DEFMACRO is the macro for defining macros 2020-12-05T09:45:46Z phoe: and you're already diving into the implementation bootstrapping territory 2020-12-05T09:45:53Z phoe: notice that you have a circularity there 2020-12-05T09:46:19Z phoe: most of the time you cannot really (DEFMACRO DEFMACRO ...) because if you write such code, you don't have DEFMACRO that is required to define DEFMACRO 2020-12-05T09:46:27Z nij`: lemme try another one prefixed by sb-xc.. 2020-12-05T09:46:52Z phoe: maybe try (mapcar #'1+ '(1 2 3 4 5))! 2020-12-05T09:47:11Z nij`: Yep it works. 2020-12-05T09:47:16Z phoe: that's going to give you something that doesn't require sb-xc 2020-12-05T09:47:21Z phoe: but is still crunchy to understand 2020-12-05T09:47:35Z phoe: that's because it's implementation internals, symbols from the CL package are allowed to be complicated 2020-12-05T09:47:58Z nij`: You mean try M-. mapcar? 2020-12-05T09:48:11Z phoe: yes 2020-12-05T09:48:45Z phoe: it should land you in https://github.com/sbcl/sbcl/blob/7492ec61bd7db6da9f9cbb56cebf7f80a198c883/src/code/list.lisp#L1335 2020-12-05T09:49:27Z nij`: complicated. yes. 2020-12-05T09:49:35Z phoe: not very much 2020-12-05T09:49:43Z nij`: dunno what macrolet is 2020-12-05T09:49:47Z phoe: this form defines six very similar functions using a common "skeleton" 2020-12-05T09:49:57Z phoe: macrolet is for writing local macros. and macros generate Lisp code. 2020-12-05T09:50:02Z nij`: oh 2020-12-05T09:50:09Z nij`: a lambda macro 2020-12-05T09:50:19Z phoe: not really a lambda macro; just a macro 2020-12-05T09:50:23Z phoe: something that generates code for you 2020-12-05T09:50:31Z nij`: Oh wow this is cool! 2020-12-05T09:50:40Z phoe: instead of writing (DEFUN MAPC ...) and then (DEFUN MAPCAR ...) and then (DEFUN MAPCAN ...) and then ..., all of which have very similar bodies 2020-12-05T09:51:09Z phoe: instead the skeleton is created as a local macro, and then it is "instantiated" with the proper arguments that fill in the blanks 2020-12-05T09:51:19Z nij`: Very terse <3 Love it. 2020-12-05T09:51:32Z phoe: and that directly makes code shorter and avoids copypaste and fix-here-but-not-there classes of bugs. 2020-12-05T09:51:37Z phoe: but! 2020-12-05T09:51:46Z phoe: note that all of these functions actually call the helper function MAP1 2020-12-05T09:51:54Z phoe: https://github.com/sbcl/sbcl/blob/7492ec61bd7db6da9f9cbb56cebf7f80a198c883/src/code/list.lisp#L1303 2020-12-05T09:52:01Z _death: it's a good demonstration of why newbies shouldn't read sbcl internals 2020-12-05T09:52:04Z phoe: and this is something that you can try to understand, if you feel like it. 2020-12-05T09:52:31Z phoe: _death: hey come on, I'm using this particular example to show basics of writing real Lisp 2020-12-05T09:52:39Z phoe: is it still too complicated? 2020-12-05T09:52:41Z nij`: This is neat and elegant. 2020-12-05T09:52:47Z nij`: No. At least trackable! 2020-12-05T09:52:48Z _death: I would say it's too obfuscated 2020-12-05T09:53:30Z nij`: I won't understand it right away. 2020-12-05T09:53:41Z nij`: Just trying to learn a way to self help 2020-12-05T09:53:50Z nij`: That's very clear phoe thanks :D 2020-12-05T09:53:53Z ck_: I don't think there's one true golden path to understanding anyway 2020-12-05T09:54:01Z phoe: nij`: M-. will help you the most when reading CL code written by other people 2020-12-05T09:54:02Z ck_: you seem to do ok, have fun with it 2020-12-05T09:54:23Z phoe: and, sometimes, implementation internals 2020-12-05T09:54:49Z phoe: as _death noticed the latter can be complicated or very hard to understand 2020-12-05T09:54:49Z nij`: excited. 2020-12-05T09:55:00Z nij`: Yeah.. 2020-12-05T09:55:04Z phoe: but if you (ql:quickload :alexandria) and then try to M-. some alexandria symbols, that is going to be written in pure CL 2020-12-05T09:55:15Z phoe: and that's more understandable. 2020-12-05T09:55:25Z _death: it also shows sbcl-specific details that a newbie should avoid in his own code 2020-12-05T09:55:27Z phoe: when wondering what some standard CL symbols do, you can use clhs for reading them up 2020-12-05T09:55:30Z phoe: clhs loop 2020-12-05T09:55:31Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/m_loop.htm 2020-12-05T09:55:55Z phoe: here's a CLHS page for loop, which is a complicated beast. but some people claim it's fun to use once you get used to it. 2020-12-05T09:56:09Z phoe: clhs defmacro 2020-12-05T09:56:09Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/m_defmac.htm 2020-12-05T09:56:35Z phoe: here's defmacro which is a less complicated beast. but some people claim it's fun to use once you get used to it. 2020-12-05T09:56:42Z _death: or not just newbies, but non sbcl developers 2020-12-05T09:56:56Z phoe: ^ 2020-12-05T09:57:06Z nij`: <3 2020-12-05T09:57:19Z nij`: Why does M-. defun take me to defun-expander 2020-12-05T09:57:37Z phoe: because this is how defun is implemented inside SBCL 2020-12-05T09:57:37Z nij`: (M-. defun ) 2020-12-05T09:58:02Z phoe: note that a little bit below you have sb-xc:defmacro defun 2020-12-05T09:58:06Z nij`: Oh.... this one is new to me. But I don't mind the details now. :) 2020-12-05T09:58:29Z no-defun-allowed: defun-expander increases the volume of de fun. 2020-12-05T09:58:29Z ck_: are you looking for details on your compiler though, or do you want to look at the language specification? 2020-12-05T09:58:57Z nij`: phoe: indeed. Why didn't M-. defun bring me to sb-xc:defmacro defun then? 2020-12-05T09:59:03Z phoe: it's a common trick to use separate functions while defining macros, because those help with readability in case of large macros. 2020-12-05T09:59:19Z nij`: ck_: I'm just fiddling around :D 2020-12-05T09:59:37Z nij`: I see @@ 2020-12-05T09:59:41Z phoe: nij`: I guess that's because DEFMACRO DEFUN just directly calls DEFUN-EXPANDER 2020-12-05T09:59:53Z phoe: so SBCL just saved you another M-. this way. 2020-12-05T09:59:57Z nij`: Not really a fan of this auto feature.. 2020-12-05T10:00:19Z phoe: as I said, it is most useful when writing Lisp code written by people 2020-12-05T10:00:20Z nij`: But fine :) 2020-12-05T10:00:28Z ck_: nij`: I see. For looking at the spec, you can use C-c C-d h (if you have a browser set up in emacs) on common lisp symbols which will take you to the corresponding page. Which will help for notes on how to use loop, for example, more than looking at the source 2020-12-05T10:00:34Z phoe: not the subset-of-Lisp-code that is used in implementation making 2020-12-05T10:01:10Z phoe: because, as _death noticed, the latter is going to look obfuscated pretty often 2020-12-05T10:01:15Z dim joined #lisp 2020-12-05T10:01:31Z nij`: C-c C-d h is nice trick 2020-12-05T10:02:16Z nij`: Fine. I think I can start messying around :) 2020-12-05T10:02:25Z nij`: Thanks folks! 2020-12-05T10:02:47Z phoe: good luck! and feel free to visit here or #clschool for answers to your questions 2020-12-05T10:03:08Z nij`: :) :) 2020-12-05T10:03:27Z nij` left #lisp 2020-12-05T10:11:34Z urek joined #lisp 2020-12-05T10:18:44Z _death: maybe SICL would be a better candidate.. compare https://github.com/robert-strandh/SICL/blob/master/Code/Cons/mapcar-defun.lisp 2020-12-05T10:19:37Z phoe: yes, that's because SICL attempts to write Common Lisp in Common Lisp 2020-12-05T10:19:48Z phoe: but it's a work-in-progress, still. 2020-12-05T10:20:24Z moon-child: implementing mapcar with loop...interesting choice 2020-12-05T10:20:48Z beach: Thanks. :) 2020-12-05T10:20:50Z _death: phoe: that's an opportunity for a newbie :) 2020-12-05T10:21:04Z moon-child: it seems to me that it would be easy enough to implement mapcar without loop; but that loop, being more complex, would benefit more from a preexisting implementation of mapcar 2020-12-05T10:21:18Z moon-child: beach: :) 2020-12-05T10:21:41Z beach: LOOP expands to TAGBODY, so it is really simple. 2020-12-05T10:22:08Z flip214: MAPCAR should be implemented via TAGBODY, as any old BASIC specialist (or low-level assembler) would tell you 2020-12-05T10:22:43Z beach: moon-child: You can't really implement LOOP with mapcar, unless you do it only for the special case where it applies. 2020-12-05T10:23:10Z phoe: tagbody should be implemented with delimited continuations since that's the best existing scheme for it 2020-12-05T10:23:13Z phoe hides 2020-12-05T10:24:16Z moon-child: phoe: a beguiling thought 2020-12-05T10:29:00Z random-nick joined #lisp 2020-12-05T10:29:53Z andreyorst joined #lisp 2020-12-05T10:32:14Z bilegeek quit (Quit: Leaving) 2020-12-05T10:36:00Z Lord_of_Life_ is now known as Lord_of_Life 2020-12-05T10:36:11Z nowhere_man joined #lisp 2020-12-05T10:36:23Z rumbler31 quit (Read error: Connection reset by peer) 2020-12-05T10:37:01Z rumbler31 joined #lisp 2020-12-05T10:38:08Z skapata quit (Remote host closed the connection) 2020-12-05T10:38:26Z shifty joined #lisp 2020-12-05T10:41:36Z srji quit (Quit: leaving) 2020-12-05T10:41:48Z mbomba quit (Quit: WeeChat 3.0) 2020-12-05T10:41:56Z srji joined #lisp 2020-12-05T10:44:43Z aartaka_d joined #lisp 2020-12-05T10:46:34Z saganman quit (Ping timeout: 246 seconds) 2020-12-05T10:47:01Z aartaka quit (Ping timeout: 264 seconds) 2020-12-05T10:47:29Z waleee-cl joined #lisp 2020-12-05T10:49:26Z yang quit (Quit: ʎɐqǝ uo pɹɐoqʎǝʞ ɐ ʎnq ı ǝɯıʇ ʇsɐן ǝɥʇ sı sıɥʇ) 2020-12-05T10:51:55Z enrio joined #lisp 2020-12-05T11:01:22Z frodef joined #lisp 2020-12-05T11:03:28Z shifty quit (Ping timeout: 256 seconds) 2020-12-05T11:04:24Z shifty joined #lisp 2020-12-05T11:04:56Z imode quit (Ping timeout: 240 seconds) 2020-12-05T11:09:02Z _whitelogger quit (Remote host closed the connection) 2020-12-05T11:10:08Z amb007 quit (Read error: Connection reset by peer) 2020-12-05T11:10:18Z amb007 joined #lisp 2020-12-05T11:10:54Z surabax joined #lisp 2020-12-05T11:11:10Z _whitelogger joined #lisp 2020-12-05T11:11:24Z shifty quit (Ping timeout: 256 seconds) 2020-12-05T11:11:47Z shifty joined #lisp 2020-12-05T11:12:27Z aartaka joined #lisp 2020-12-05T11:14:16Z epony quit (Ping timeout: 240 seconds) 2020-12-05T11:16:30Z aartaka_d quit (Ping timeout: 256 seconds) 2020-12-05T11:17:03Z aartaka quit (Ping timeout: 260 seconds) 2020-12-05T11:19:27Z daphnis joined #lisp 2020-12-05T11:19:56Z rogersm joined #lisp 2020-12-05T11:20:34Z rogersm quit (Client Quit) 2020-12-05T11:21:02Z shifty quit (Ping timeout: 256 seconds) 2020-12-05T11:21:13Z shifty joined #lisp 2020-12-05T11:37:14Z shifty quit (Ping timeout: 256 seconds) 2020-12-05T11:38:21Z shifty joined #lisp 2020-12-05T11:39:34Z narimiran joined #lisp 2020-12-05T11:42:39Z kaftejiman joined #lisp 2020-12-05T11:43:11Z vegansbane quit (Quit: The Lounge - https://thelounge.chat) 2020-12-05T11:47:51Z scymtym quit (Ping timeout: 260 seconds) 2020-12-05T11:56:36Z urek__ joined #lisp 2020-12-05T11:57:23Z shenghi1 joined #lisp 2020-12-05T11:57:24Z galex-713 quit (Ping timeout: 272 seconds) 2020-12-05T11:57:25Z urek quit (Ping timeout: 272 seconds) 2020-12-05T11:57:25Z shenghi quit (Ping timeout: 272 seconds) 2020-12-05T11:57:31Z heredoc quit (Ping timeout: 272 seconds) 2020-12-05T11:57:31Z fe[nl]ix quit (Ping timeout: 272 seconds) 2020-12-05T11:57:31Z travv0 quit (Ping timeout: 272 seconds) 2020-12-05T11:57:31Z devrtz quit (Ping timeout: 272 seconds) 2020-12-05T11:57:38Z Blkt quit (Read error: Connection reset by peer) 2020-12-05T11:57:42Z travv0 joined #lisp 2020-12-05T11:57:49Z euandreh joined #lisp 2020-12-05T11:57:59Z fe[nl]ix joined #lisp 2020-12-05T11:57:59Z ChanServ has set mode +o fe[nl]ix 2020-12-05T11:58:01Z devrtz joined #lisp 2020-12-05T11:58:08Z galex-713 joined #lisp 2020-12-05T11:58:28Z Blkt joined #lisp 2020-12-05T11:58:48Z euandreh quit (Read error: Connection reset by peer) 2020-12-05T11:59:06Z frgo quit (Remote host closed the connection) 2020-12-05T11:59:33Z frgo joined #lisp 2020-12-05T11:59:50Z heredoc joined #lisp 2020-12-05T12:00:36Z dim quit (Ping timeout: 240 seconds) 2020-12-05T12:01:15Z scymtym joined #lisp 2020-12-05T12:01:44Z saganman joined #lisp 2020-12-05T12:03:07Z euandreh joined #lisp 2020-12-05T12:03:44Z oni-on-ion quit (Read error: Connection reset by peer) 2020-12-05T12:07:00Z nowhere_man quit (Remote host closed the connection) 2020-12-05T12:07:19Z vegansbane joined #lisp 2020-12-05T12:07:42Z nowhere_man joined #lisp 2020-12-05T12:11:01Z jonatack quit (Ping timeout: 264 seconds) 2020-12-05T12:13:44Z shifty quit (Ping timeout: 256 seconds) 2020-12-05T12:14:27Z shifty joined #lisp 2020-12-05T12:15:04Z urek joined #lisp 2020-12-05T12:15:58Z jonatack joined #lisp 2020-12-05T12:16:24Z urek__ quit (Ping timeout: 240 seconds) 2020-12-05T12:17:07Z aartaka joined #lisp 2020-12-05T12:17:37Z dim joined #lisp 2020-12-05T12:19:54Z toorevitimirp joined #lisp 2020-12-05T12:20:05Z dhil joined #lisp 2020-12-05T12:20:55Z cosimone joined #lisp 2020-12-05T12:25:24Z shifty quit (Ping timeout: 240 seconds) 2020-12-05T12:26:36Z jonatack quit (Ping timeout: 256 seconds) 2020-12-05T12:27:06Z jonatack joined #lisp 2020-12-05T12:27:33Z theBlackDragon joined #lisp 2020-12-05T12:32:26Z hhdave quit (Ping timeout: 256 seconds) 2020-12-05T12:32:43Z hhdave joined #lisp 2020-12-05T12:38:56Z andreyorst quit (Ping timeout: 240 seconds) 2020-12-05T12:46:21Z cosimone quit (Quit: cosimone) 2020-12-05T12:51:24Z mange quit (Ping timeout: 240 seconds) 2020-12-05T12:57:34Z epony joined #lisp 2020-12-05T13:09:43Z nowhere_man quit (Ping timeout: 272 seconds) 2020-12-05T13:26:46Z nij joined #lisp 2020-12-05T13:27:42Z nij: Hello! I have a list to traverse through it. I want to point out the entries that satisfy certain predicate out. 2020-12-05T13:27:55Z nij: However, it's not a point-wise check. It's more like a local check. 2020-12-05T13:28:47Z nij: So while examine at 8 in '(1 2 3 .. 10), I want the predicate actually look at numbers near 8. Eg. '(7 8 9) 2020-12-05T13:28:50Z daphnis quit (Quit: leaving) 2020-12-05T13:29:02Z nij: How is such list traversal carried out in common lisp? 2020-12-05T13:29:37Z nij: (Sometimes I might also want to look at the neighborhood of 8 with width being "n".) 2020-12-05T13:30:11Z aeth: nij: check the CADR or in general the NTH car of the sublist 2020-12-05T13:30:39Z aeth: although that's just naive, you could optimize that by having two iterations, the first testing the CAR and the second being the start of the range 2020-12-05T13:31:42Z nij: oh ok, so by repeating 'cadr I can get the neighbors on the right. 2020-12-05T13:31:55Z nij: How about those on the left? 2020-12-05T13:32:19Z nij: Perhaps I shouldn't use lists? As they are just chained cons cells. 2020-12-05T13:32:22Z aeth: (loop :with l := (loop :for i :below 10 :collect (1+ i)) :for x :on l :do (print x)) 2020-12-05T13:32:38Z aeth: that will go through the sublist until (10) 2020-12-05T13:33:31Z aeth: nij: but instead you can do (loop :with l := (loop :for i :below 10 :collect (1+ i)) :for x :on l :for y :on (cddr l) :do (format t "x = ~S~%y = ~S~%~%" x y)) 2020-12-05T13:33:38Z karayan quit (Ping timeout: 264 seconds) 2020-12-05T13:34:05Z karayan joined #lisp 2020-12-05T13:35:13Z aeth: You could probably also do "y :in" instead of "y :on" 2020-12-05T13:35:32Z hendursa1 quit (Quit: hendursa1) 2020-12-05T13:35:50Z hendursaga joined #lisp 2020-12-05T13:36:38Z _death: if the list doesn't contain NILs you can just (loop for (a b c) on list while c collect (list a b c)) .. if it does, you can move the destructuring around and check for nthcdr 2020-12-05T13:36:39Z catchme joined #lisp 2020-12-05T13:37:13Z nij: oh that would work 2020-12-05T13:37:25Z phoe: nij: (loop for (a b c . rest) on '(1 2 3 4 5 6 7) do (print (list a b c)) when (null rest) do (loop-finish)) 2020-12-05T13:37:31Z aeth: I don't like LOOP's destructuring because it's unreliable. Contrast with DESTRUCTURING-BIND, which errors when it doesn't match expectations. 2020-12-05T13:39:21Z aeth: I suppose here it can work because there isn't a complicated shape, but even for something as simple as a plist, LOOP's built-in destructuring doesn't do what you want. 2020-12-05T13:39:38Z nij: aeth: I will keep that in mind. 2020-12-05T13:39:59Z nij: I dunno if this is too much to hope. 2020-12-05T13:40:21Z aeth: ahah 2020-12-05T13:40:22Z _death: are you doing advent of code? 2020-12-05T13:40:25Z nij: But I was thinking of writing a dynamical predicate, in the sense that it would first examine at a point 2020-12-05T13:40:41Z nij: And if it doesn't satisfy, it checks its neighborhood, larger and larger. 2020-12-05T13:40:49Z nij: _death: What is that? 2020-12-05T13:40:52Z aeth: It's still too unreliable in phoe's example because it will do the unexpected when the list is too short, e.g. (1 NIL NIL) for '(1) as the input 2020-12-05T13:41:03Z EvW joined #lisp 2020-12-05T13:41:05Z aeth: Literally 100% of the time, when I start with LOOP's destructuring, I replace it. 2020-12-05T13:41:17Z nij: I have a feeling that list is the wrong data structure to use. 2020-12-05T13:41:24Z beach: aeth: In what way is it "unreliable"? 2020-12-05T13:41:51Z beach: aeth: I thought it was perfectly predictable and deterministic. 2020-12-05T13:41:52Z _death: nij: some coding exercise.. today's problem could be solved using something like what you described 2020-12-05T13:41:54Z nij: Should I use an array or something instead? 2020-12-05T13:42:03Z aeth: beach: Because if you were to use <, >, <=, >=, =, etc., you will get an error because a random NIL will pop up, but only on an unexpected edge case (in this case, short lists), and when a random NIL pops up in a large program, it's really annoying to track down 2020-12-05T13:42:09Z nij: _death: Oh@@ No I was solving my own issue. 2020-12-05T13:42:21Z nij: It's a little exercise on analyzing stocks. 2020-12-05T13:42:25Z phoe: might be worth using an array, yes 2020-12-05T13:42:33Z beach: aeth: NILs will not pop up randomly. 2020-12-05T13:42:34Z nij: But I have a vision to analyze a graph.. locally and spreading out. 2020-12-05T13:42:44Z phoe: if you want fast random access to arbitrary elements of your data, then vectors or arrays sound good 2020-12-05T13:42:51Z nij: Hopefully it can be applied on topological spaces. 2020-12-05T13:43:10Z nij: phoe: what's the down side of vectors comparing to lists? 2020-12-05T13:43:12Z aeth: beach: DESTRUCTURING-BIND will fail immediately when the shape of the list fails to meet what you think it is going to be, which will be instant debugging at the source of the issue instead of sending you down wild goose chases, like when a NIL pops up several files later in a program that consists of several thousand LoC or more. 2020-12-05T13:43:15Z saganman left #lisp 2020-12-05T13:43:38Z aeth: beach: From experience, I have tried to eliminate all sources of unexpected NILs in my code. 2020-12-05T13:44:20Z nij: OK! I have made up my mind that I want this to be general. 2020-12-05T13:44:27Z cosimone joined #lisp 2020-12-05T13:44:29Z aeth: beach: Here, the = will probably be inside of the loop, but in a large program, you might just assume it's still a list of numbers and it could show up much later on. 2020-12-05T13:44:31Z nij: Don't want to write it again for general case later. 2020-12-05T13:44:54Z phoe: nij: inability to insert new elements in cosntant time. 2020-12-05T13:44:54Z nij: So I'm looking for an implementation of directed graphs. 2020-12-05T13:45:11Z nij: phoe: Oh! That's right. Interesting. 2020-12-05T13:45:20Z phoe: you can work around it by using adjustable vectors, but even then reallocations must happen at some point. 2020-12-05T13:45:26Z phoe: and even then you can only add at the end 2020-12-05T13:45:26Z aeth: beach: It could even be the difference of catching it at compile time (in the macro, since destructuring lists generally are in macros ime, at least in my code) vs at run time. 2020-12-05T13:46:23Z nij: phoe: How about a list where the cdr remembers where its car is? 2020-12-05T13:46:38Z nij: Is it called a dynamical array or something? 2020-12-05T13:46:52Z nij: I just want a node to remember who its neighbors are! 2020-12-05T13:47:07Z _death: (defstruct node parents children) 2020-12-05T13:47:07Z nij 2020-12-05T13:47:17Z phoe: nij: that's not really a dynamical array; just a linked list or a graph node of sorts. 2020-12-05T13:47:19Z nij wonders if he should talk to his neighbors more. 2020-12-05T13:47:31Z nij: phoe: Oh ok I will do the homework myself then :D 2020-12-05T13:47:45Z nij: I'm sure there are implemented structures like this already! 2020-12-05T13:48:24Z aeth: beach: But you're correct that it's not technically random, it's just that it seems random to the programmer who is debugging the issue of "random" NILs because it's inserted in an unexpected place. 2020-12-05T13:50:33Z aeth: nij: in general, you can make graph nodes out of cons, but you probably shouldn't because cons cells aren't going to enforce any constraints that you might have 2020-12-05T13:52:41Z pve: Hi, is there an "closer:add-superclass" function with a different name that I'm missing? Or am I supposed to go through closer:ensure-class to change the superclass of a class? 2020-12-05T13:53:01Z aeth: nij: and working with conses, you'll probably be too tempted to work with CDDADRs instead of naming your concepts 2020-12-05T13:53:14Z nij: aeth: Right. Just curious about another general question. 2020-12-05T13:53:14Z nij: In common lisp, while defining a structure, is there anyway to force auto-checking if an instance satisfies the assumption? 2020-12-05T13:53:32Z nij` joined #lisp 2020-12-05T13:53:47Z nij`: For example, in some structure, I want the slot "year" to pass the regex test ([0-9][0-9][0-9][0-9]). 2020-12-05T13:53:52Z nij`: Can it be checked automatically? 2020-12-05T13:54:12Z nij quit (Remote host closed the connection) 2020-12-05T13:54:31Z random-nick quit (Quit: quit) 2020-12-05T13:55:06Z aeth: For structs? If it can be expressed as a type, you can use :type for a slot to test it, although SATISFIES types (like that) are generally not very popular. For DEFCLASS classes? You can use the metaobject protocol to enforce it on setting (which will cover both the initial set of the slot and any later setting), including as a type 2020-12-05T13:55:14Z phoe: that's generally to be done by the constructor function 2020-12-05T13:55:29Z phoe: input validation and such 2020-12-05T13:55:32Z _death: if you define a class instead you can provide your own accessors (or before/around methods for them) and check 2020-12-05T13:55:33Z aeth: But, unfortunately, you can't rely on :type in slots in DEFCLASS because the most popular implementation (SBCL) at default optimization levels doesn't do typechecks... 2020-12-05T13:55:38Z phoe: also, why would your year be a string and not a number 2020-12-05T13:56:20Z nij`: _death: oh I see! Check while accessing. 2020-12-05T13:56:39Z aeth: and, yeah, you'd probably want a number instead of a string, in which case it's a simple (integer 0 9999) or whatever 2020-12-05T13:57:02Z nij`: Oh yeah. I should be able to write any predicates I want. 2020-12-05T13:57:50Z aeth: (deftype year () '(integer 0 9999) (typep 2020 'year) => T 2020-12-05T13:57:55Z aeth: oops, left out a ) 2020-12-05T13:58:01Z beach: pve: You can use (SETF DIRECT-SUPERCLASSES), so you can use PUSH 2020-12-05T13:58:01Z aeth: (deftype year () '(integer 0 9999)) (typep 2020 'year) => T 2020-12-05T13:58:18Z beach: mop class-direct-superclasses 2020-12-05T13:58:18Z specbot: http://metamodular.com/CLOS-MOP/class-direct-superclasses.html 2020-12-05T13:58:33Z beach: pve: Sorry CLASS-DIRECT-SUPERCLASSES 2020-12-05T13:58:52Z _death: aeth: Y10K bug 2020-12-05T13:58:55Z beach: pve: At least I think you can use SETF with it. If not, just use REINITIALIZE-INSTANCE. 2020-12-05T13:59:01Z jprajzne quit (Quit: jprajzne) 2020-12-05T13:59:05Z aeth: _death: that's how the client, nij`, specified a year. 2020-12-05T13:59:17Z aeth: It's someone else's problem in the 9990s 2020-12-05T13:59:31Z _death: what about year zero? :) 2020-12-05T13:59:45Z aeth: 0 is a valid year in ISO 8601 2020-12-05T13:59:45Z amb007 quit (Read error: Connection reset by peer) 2020-12-05T13:59:51Z pve: beach: oh, nice.. thank you 2020-12-05T14:00:15Z nij`: aeth: loll I'm sure human will kill themselves before that. 2020-12-05T14:00:33Z amb007 joined #lisp 2020-12-05T14:00:37Z aeth: _death: in ISO 8601, 1 BC is year 0000 and 2 BC is year -0001, and so on 2020-12-05T14:00:42Z _death: aeth: kinda weird, I'd think.. like all political time 2020-12-05T14:01:10Z aeth: it's weird, but it's because our year system came before negative numbers were philosophically accepted 2020-12-05T14:01:19Z aeth: maybe before 0 was philosophically accepted, too 2020-12-05T14:01:58Z nij`: aeth: Hmm checking up the doc online: http://www.lispworks.com/documentation/HyperSpec/Body/m_deftp.htm 2020-12-05T14:02:05Z aeth: 0's only natural when you use a digit-based system, like we now do, but years were traditionally Roman numerals (and in copyright years, the transition was usually around the year 2000, although some still use Roman numerals) 2020-12-05T14:02:16Z nij`: It seems that the third argument for 'deftype should be a boolean function. 2020-12-05T14:02:29Z nij`: In your case, it's '(integer 0 9999) 2020-12-05T14:02:41Z toorevitimirp quit (Remote host closed the connection) 2020-12-05T14:02:56Z epony quit (Ping timeout: 240 seconds) 2020-12-05T14:03:09Z toorevitimirp joined #lisp 2020-12-05T14:03:21Z nij`: So what's going on @@ Did I miss anything 2020-12-05T14:03:23Z pve: beach: ok, it seems I don't have a (setf class-direct-superclasses) 2020-12-05T14:03:37Z aeth: nij`: deftype is used to construct new types from old types... where a predicate is only used if you're using SATISFIES (which you should avoid if you can, because it's inefficient)... and integer is a special kind of type 2020-12-05T14:03:54Z jprajzne joined #lisp 2020-12-05T14:03:55Z nij`: @@ Oh.. ok 2020-12-05T14:03:59Z aeth: numbers support ranges, specifically for this sort of use case 2020-12-05T14:04:08Z beach: pve: Then just use (REINITIALIZE-INSTANCED :DIRECT-SUPERCLASSES ...) 2020-12-05T14:04:20Z beach: pve: Er, you figure it out. 2020-12-05T14:04:38Z dim quit (Ping timeout: 256 seconds) 2020-12-05T14:04:41Z beach: I am not terribly smart today apparently. 2020-12-05T14:04:59Z aeth: nij`: in numbers, (foo x y) is the range including x and y, while (foo (x) y) excludes x, and so on for the other 2 combinations, but for integers, that's not particularly important. 2020-12-05T14:05:39Z akoana joined #lisp 2020-12-05T14:05:50Z pve: beach: yeah, I understand, thanks 2020-12-05T14:06:05Z hal99999 joined #lisp 2020-12-05T14:06:19Z dim joined #lisp 2020-12-05T14:06:19Z aeth: e.g. (typep 42.3 '(single-float (42.3) 43.0)) => NIL (but don't rely on that because floats are weird when using = for tests) 2020-12-05T14:06:26Z nij`: It feels very different from elips. Or maybe I never had to deal with that back then. 2020-12-05T14:06:26Z nij`: Perhaps need to build up some muscles first. 2020-12-05T14:06:46Z aeth: it's all about domains. 2020-12-05T14:07:01Z aeth: Elisp has richer built-ins for dealing with text, Common Lisp has richer built-ins for dealing with numbers and arrays. 2020-12-05T14:08:09Z aeth: There's at least one Computer Algebra System in Common Lisp, which actually predates Common Lisp, which is probably one of the reasons why Common Lisp supports this sort of thing. https://en.wikipedia.org/wiki/Macsyma 2020-12-05T14:08:55Z frost-lab quit (Quit: Connection closed) 2020-12-05T14:10:24Z nij`: So while defining a new structure, can one force type checking? 2020-12-05T14:10:34Z nij`: (given that a type has been defined.) 2020-12-05T14:10:43Z aeth: yes 2020-12-05T14:10:50Z phoe: on high safety settings, yes 2020-12-05T14:10:52Z aeth: nij`: In general, though, to build up an intuition for DEFTYPE, just be aware that your primitives are types (including structs/classes you define), SATISFIES (avoid if possible), EQL, and MEMBER, which you compose with OR and AND and NOT 2020-12-05T14:11:26Z aeth: And numbers and arrays have special extensions to allow for very sophisticated things. 2020-12-05T14:11:41Z nij`: excited :D 2020-12-05T14:12:29Z andreyorst joined #lisp 2020-12-05T14:13:17Z random-nick joined #lisp 2020-12-05T14:14:02Z aeth: You can use them in TYPEP, TYPECASE/ETYPECASE/CTYPECASE, and CHECK-TYPE. You can use them in arrays, but only extremely simple types of numbers/characters; you can test to see what it does in an implementation with upgraded-array-element-type, where T means it does nothing. 2020-12-05T14:14:37Z nij`: Upon accessing? Or defining? 2020-12-05T14:14:44Z aeth: And you can use them in :type in slots in DEFSTRUCT and they'll probably be checked, but if you use them in :type in slots in DEFCLASS, they probably won't be checked, so you'd have to use some library (or directly manipulate the meta-object protocol) to force a check there. 2020-12-05T14:14:46Z nij`: I hope for it to be checked upon defining.. 2020-12-05T14:15:22Z nij`: Interesting. 'defstruct replicate in elisp does not support type checking afaik. 2020-12-05T14:15:27Z nij`: That's nice. 2020-12-05T14:15:31Z aeth: The thing about "they'll probably be checked" is that there are 4 outcomes for the possible combinations of checked accessor & checked constructor. 2020-12-05T14:15:48Z aeth: It depends on the implementation. 2020-12-05T14:16:19Z _death: type declarations are promises, not assertions, although some implementations do treat them as the latter.. so you need check-type etc. 2020-12-05T14:16:39Z nij`: OH@@ I'm using sbcl does it check type? 2020-12-05T14:16:40Z aeth: Hopefully, implementations will add assert/check-type style type checking to typed slots in DEFSTRUCT where they don't already have such checking because that's one of the few uses of DEFSTRUCT in modern Lisp 2020-12-05T14:17:05Z nij`: hmm.. 2020-12-05T14:17:20Z aeth: In general, SBCL checks types in pretty much any optional place where type checking is permitted (except at (safety 0)) with the sole exception of :type in slots in DEFCLASS, where it only checks at high safety levels 2020-12-05T14:18:00Z aeth: However... SBCL's manual says that it might simplify the check (at low safety levels?) for certain complicated types, e.g. it might simplify (or (integer -4 -1) (integer 1 4)) to just check (or (integer -4 4)) 2020-12-05T14:18:04Z aeth: iirc 2020-12-05T14:19:20Z nij`: Got it. Thx :D 2020-12-05T14:19:40Z pfdietz quit (Ping timeout: 245 seconds) 2020-12-05T14:20:00Z aeth: If you *must* rely on a type check, then using CHECK-TYPE (or ASSERT with a TYPEP if the type isn't known at compile time) will force it everywhere, to full reliability, because it's one of the few musts. 2020-12-05T14:20:48Z nij`: Wow 'deftype is just a macro.. 2020-12-05T14:21:02Z aeth: In general, I use CHECK-TYPE at the interface parts where the user might insert the wrong type, and I use less-reliable type checking elsewhere. 2020-12-05T14:21:05Z nij`: I thought one needs to implement that from lower level. 2020-12-05T14:22:35Z epony joined #lisp 2020-12-05T14:24:16Z aeth: In case I was unclear, directly using types in code (rather than :type arguments or DECLARE/DECLAIM/etc. declarations) such as TYPEP, TYPECASE, and CHECK-TYPE will reliably check types. The others are optional, and so could be ignored (or, more rarely, such as with DECLARE, assumed!) 2020-12-05T14:25:03Z enrio quit (Ping timeout: 240 seconds) 2020-12-05T14:26:00Z aeth: If an implementation assumes DECLAREd types above (safety 0) then I personally consider that implementation broken although it's technically conforming. If user code (or, worse, library code!) uses the optimization level of (safety 0) then I personally consider the code to be broken. 2020-12-05T14:26:27Z aeth: Either way gives you less safety than C. 2020-12-05T14:26:30Z nij`: what is this opt level about? 2020-12-05T14:26:45Z aeth: http://www.lispworks.com/documentation/HyperSpec/Body/d_optimi.htm 2020-12-05T14:27:02Z EvW quit (Ping timeout: 264 seconds) 2020-12-05T14:27:25Z aeth: You can't really talk about types without at least mentioning optimization levels because it's not just an issue of implementations differing, it's also an issue of one implementation behaving differently based on optimization levels. 2020-12-05T14:28:02Z nij`: @@ 2020-12-05T14:28:46Z aeth: For the most part, the only things you need to know are that you sometimes need (debug 3) to make full use of the debugger and you should never use (safety 0) ever, ever, ever. (OK, there are a handful of cases, but they can be wrapped in LOCALLY to contain the lack of safety to the smallest possible scope) 2020-12-05T14:29:54Z nij`: Can I just ignore this declaration in my first few projects? Or I should always include a (declare (optimization n))? 2020-12-05T14:29:57Z _death: also best steak is (steak 1) 2020-12-05T14:30:22Z aeth: nij`: you probably don't need it, it's just a caveat with typechecking. 2020-12-05T14:31:02Z nij`: I see :) 2020-12-05T14:31:41Z aeth: That is, you want types to check certain constraints, but sometimes some implementations in some cases will stop checking and start assuming if (safety 0) so the important thing is to never do that. 2020-12-05T14:36:04Z Josh_2: Ello 2020-12-05T14:37:14Z aartaka quit (Read error: Connection reset by peer) 2020-12-05T14:37:20Z aartaka_d joined #lisp 2020-12-05T14:44:00Z jprajzne quit (Quit: jprajzne) 2020-12-05T14:44:18Z nij` quit (Ping timeout: 260 seconds) 2020-12-05T14:44:23Z jprajzne joined #lisp 2020-12-05T14:48:30Z jprajzne quit (Client Quit) 2020-12-05T14:48:55Z jprajzne joined #lisp 2020-12-05T14:51:47Z cosimone quit (Quit: cosimone) 2020-12-05T14:53:42Z hal99999 quit (Ping timeout: 272 seconds) 2020-12-05T14:55:36Z hal99999 joined #lisp 2020-12-05T14:58:51Z toorevitimirp quit (Remote host closed the connection) 2020-12-05T15:03:05Z galex-713 quit (Ping timeout: 272 seconds) 2020-12-05T15:05:18Z frgo quit (Remote host closed the connection) 2020-12-05T15:05:47Z frgo joined #lisp 2020-12-05T15:09:53Z enrio joined #lisp 2020-12-05T15:12:34Z galex-713 joined #lisp 2020-12-05T15:14:01Z jprajzne quit (Quit: jprajzne) 2020-12-05T15:14:23Z jprajzne joined #lisp 2020-12-05T15:16:27Z harlchen joined #lisp 2020-12-05T15:18:30Z jprajzne quit (Client Quit) 2020-12-05T15:18:55Z jprajzne joined #lisp 2020-12-05T15:22:23Z enrio quit (Ping timeout: 240 seconds) 2020-12-05T15:33:01Z Lycurgus joined #lisp 2020-12-05T15:50:52Z enrio joined #lisp 2020-12-05T15:52:26Z thmprover joined #lisp 2020-12-05T15:52:59Z thmprover: What are some good 'desert island' books for Common Lisp? 2020-12-05T15:53:44Z beach: Depends on your current level of knowledge. 2020-12-05T15:53:45Z dim quit (Ping timeout: 272 seconds) 2020-12-05T15:53:58Z phoe: AMOP is definitely amazing 2020-12-05T15:54:20Z beach: Definitely, but it requires a good existing level. 2020-12-05T15:54:24Z thmprover: I'm coming from a Scheme/Clojure background (Scheme was the second language I learned, and Clojure I work with daily) 2020-12-05T15:54:37Z phoe: L/L is sorta good, too, though many techniques that are described there are mostly useful as brain-bending exercises and not in practical code 2020-12-05T15:55:01Z thmprover: L/L I have, and I feel it is more of a polemic (in the best sense of the word) 2020-12-05T15:55:12Z phoe: oh! then you should read PCL and possibly CLR to ensure that you know enough of the multi-paradigm aspect of Common Lisp 2020-12-05T15:55:14Z thmprover: I did learn a lot about macros from it 2020-12-05T15:55:25Z thmprover: CLR? 2020-12-05T15:55:30Z phoe: Common Lisp Recipes 2020-12-05T15:55:48Z phoe: possibly (shameless plug) TCLCS to learn about the CL condition system and how it differs from a lot of exception handling systems out there 2020-12-05T15:56:12Z beach: Also PAIP. 2020-12-05T15:56:12Z thmprover: Ah, yeah, I have read some of CLR; I have browsed various chapters of PCL. 2020-12-05T15:56:24Z thmprover: I am half-way through PAIP. 2020-12-05T15:56:30Z beach: Ah, OK. 2020-12-05T15:57:14Z thmprover: I have just started reading CLTL, one section a day. 2020-12-05T15:57:16Z orivej quit (Ping timeout: 240 seconds) 2020-12-05T15:57:43Z uniminin joined #lisp 2020-12-05T15:58:14Z uniminin quit (Max SendQ exceeded) 2020-12-05T15:58:39Z uniminin joined #lisp 2020-12-05T15:59:03Z ebrasca joined #lisp 2020-12-05T15:59:11Z thmprover: Touretzky's "Common Lisp: A Gentle intro to symbolic computation" was too gentle, I felt (probably because of my background in Scheme/Clojure) 2020-12-05T15:59:48Z uniminin quit (Max SendQ exceeded) 2020-12-05T15:59:51Z pyc: Does Emacs paredit not do electric return by default? Is there any other mode that does electric return by default? 2020-12-05T16:00:11Z uniminin joined #lisp 2020-12-05T16:00:48Z phoe: pyc: aggressive-indent maybe? 2020-12-05T16:01:14Z uniminin quit (Max SendQ exceeded) 2020-12-05T16:01:38Z uniminin joined #lisp 2020-12-05T16:01:49Z judson_ joined #lisp 2020-12-05T16:02:48Z uniminin quit (Max SendQ exceeded) 2020-12-05T16:03:13Z uniminin joined #lisp 2020-12-05T16:04:22Z uniminin quit (Max SendQ exceeded) 2020-12-05T16:04:45Z uniminin joined #lisp 2020-12-05T16:05:38Z pyc: thanks phoe 2020-12-05T16:05:56Z uniminin quit (Max SendQ exceeded) 2020-12-05T16:08:19Z pyc: What does paredit mode provide extra in comparison to electric-pair-mode? 2020-12-05T16:12:25Z Lycurgus quit (Quit: Exeunt) 2020-12-05T16:18:52Z dim joined #lisp 2020-12-05T16:19:58Z andreyorst quit (Ping timeout: 260 seconds) 2020-12-05T16:25:33Z Bike joined #lisp 2020-12-05T16:28:09Z ck_: structural editing 2020-12-05T16:32:01Z treflip: pyc: It prevents you from accidentally deleting closing or opening paren and making invalid sexps 2020-12-05T16:36:31Z rumbler31 quit (Read error: Connection reset by peer) 2020-12-05T16:37:06Z rumbler31 joined #lisp 2020-12-05T16:41:21Z cosimone joined #lisp 2020-12-05T16:47:01Z Josh_2: What do people think of lispy? 2020-12-05T16:47:08Z judson_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-05T16:47:15Z cosimone quit (Remote host closed the connection) 2020-12-05T16:47:36Z cosimone joined #lisp 2020-12-05T16:47:57Z Gnuxie[m]: is that a way of calling something 'lispy' or some cursed python thing? 2020-12-05T16:48:10Z renzhi joined #lisp 2020-12-05T16:48:14Z pyc: Gnuxie[m]: I believe lispy is another alternative for paredit? 2020-12-05T16:48:22Z Josh_2: no no, It's an alternative to paredit 2020-12-05T16:48:33Z Gnuxie[m]: oh ok, interesting 2020-12-05T16:48:41Z pyc: Gnuxie[m]: do you use paredit or anything similar? 2020-12-05T16:48:57Z Gnuxie[m]: I use paredit 2020-12-05T16:49:13Z Josh_2: I wish I had started my lisp journey with paredit 2020-12-05T16:49:20Z Josh_2: because then I would be using it right now :P 2020-12-05T16:49:24Z pyc: Gnuxie[m]: Do you also configure it to do electric return? Or do you just paredit in its vanilla mode? 2020-12-05T16:49:40Z pyc: Josh_2: Why? What's wrong with lispy? Lispy also gets the job done, right? 2020-12-05T16:51:28Z Josh_2: Well I don't use lispy either 2020-12-05T16:53:00Z Gnuxie[m]: pyc: not sure what electric return is but that looks nasty if it's putting 2 new lines and taking you to the middle one to do the indentation style in this gif from emacs wiki https://web.archive.org/web/20121024123050/http://img8.imageshack.us/img8/9479/openparen.gif 2020-12-05T16:54:09Z zcheng3 joined #lisp 2020-12-05T16:55:05Z pyc: Gnuxie[m]: it does gather all the parentheses and put them in the same line as you start closing the parentheses. So the end result looks the way you want. but yes, the interim results may be disconcerting if one does not like to see parentheses on their own lines even temporarily. 2020-12-05T16:57:08Z Gnuxie[m]: oh ok, not sure I'd like that 2020-12-05T16:57:22Z judson_ joined #lisp 2020-12-05T16:58:00Z cosimone quit (Remote host closed the connection) 2020-12-05T16:58:16Z cosimone joined #lisp 2020-12-05T16:59:15Z EvW joined #lisp 2020-12-05T17:03:18Z zcheng3 quit (Ping timeout: 256 seconds) 2020-12-05T17:07:14Z nowhere_man joined #lisp 2020-12-05T17:07:40Z cosimone quit (Remote host closed the connection) 2020-12-05T17:09:03Z cosimone joined #lisp 2020-12-05T17:13:17Z bcasiello joined #lisp 2020-12-05T17:13:38Z nij joined #lisp 2020-12-05T17:15:32Z nij: Hello! Suppose I have a graph.. and I like to plot it out. It will look like a network, with nodes and edges. Is there a nice network plotting package in common lisp? 2020-12-05T17:17:57Z cosimone quit (Remote host closed the connection) 2020-12-05T17:18:15Z cosimone joined #lisp 2020-12-05T17:20:24Z jackdaniel: nice is an overstatement, but cl-dot allows you to produce graphviz dot files and mcclim lets you render in lisp directly 2020-12-05T17:20:33Z phoe: seconded for cl-dot 2020-12-05T17:21:40Z jackdaniel: thirded for mcclim 2020-12-05T17:21:50Z jackdaniel: :> 2020-12-05T17:24:39Z nij: Oh wow cl-dot seems nice. Thank you :D 2020-12-05T17:27:34Z nij left #lisp 2020-12-05T17:28:02Z shifty joined #lisp 2020-12-05T17:29:40Z liberliver joined #lisp 2020-12-05T17:33:32Z liberliver1 joined #lisp 2020-12-05T17:34:28Z liberliver quit (Ping timeout: 256 seconds) 2020-12-05T17:34:28Z liberliver1 is now known as liberliver 2020-12-05T17:35:14Z judson_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-05T17:36:23Z karayan quit (Ping timeout: 260 seconds) 2020-12-05T17:36:43Z karayan joined #lisp 2020-12-05T17:37:45Z orivej joined #lisp 2020-12-05T17:43:18Z judson_ joined #lisp 2020-12-05T17:43:24Z karayan quit (Ping timeout: 260 seconds) 2020-12-05T17:44:12Z karayan joined #lisp 2020-12-05T17:50:10Z cosimone quit (Remote host closed the connection) 2020-12-05T17:50:28Z cosimone joined #lisp 2020-12-05T17:50:39Z cosimone quit (Remote host closed the connection) 2020-12-05T17:51:48Z Jeanne-Kamikaze joined #lisp 2020-12-05T17:55:42Z ebrasca quit (Remote host closed the connection) 2020-12-05T18:04:27Z rgherdt quit (Ping timeout: 260 seconds) 2020-12-05T18:14:07Z iskander- joined #lisp 2020-12-05T18:15:02Z iskander quit (Ping timeout: 265 seconds) 2020-12-05T18:15:28Z urek__ joined #lisp 2020-12-05T18:17:03Z White_Flame: the one main issue I have with paredit, which lispy also has, is that I have prolog-style "foo(bar)" syntax in some of my reader macros, and those helpers always inject a space before the open paren 2020-12-05T18:17:38Z White_Flame: I haven't poked into how much it would take to disable that 2020-12-05T18:18:47Z urek quit (Ping timeout: 272 seconds) 2020-12-05T18:20:26Z aeth: White_Flame: (setq paredit-space-for-delimiter-predicates '((lambda (endp delimiter) nil))) 2020-12-05T18:20:53Z aeth: I just have to grep my code for "fuck" and I find it because it's the only thing that's commented with profanity in all of my code. :-) 2020-12-05T18:21:25Z aeth: It breaks #foo( syntax in general, i.e. any well-formed reader macro or syntactic extension. 2020-12-05T18:22:07Z mister_m: Does the loop macro support executing a block of statements every nth iteration? I think that would be analagous to an infinite DO loop where every nth step I reset the counter. 2020-12-05T18:22:15Z White_Flame: aeth: thanks 2020-12-05T18:22:24Z White_Flame: mister_m: I don't think so 2020-12-05T18:22:39Z White_Flame: not as a builtin at least 2020-12-05T18:22:51Z White_Flame: obviously it "supports executing" code that does that accumulation & check ;) 2020-12-05T18:26:58Z bcasiello quit (Quit: Leaving) 2020-12-05T18:27:16Z pi123 joined #lisp 2020-12-05T18:27:17Z johnjay quit (Read error: Connection reset by peer) 2020-12-05T18:28:18Z shifty quit (Ping timeout: 256 seconds) 2020-12-05T18:28:49Z enrio quit (Quit: Leaving) 2020-12-05T18:28:59Z cosimone joined #lisp 2020-12-05T18:29:00Z Bike: mister_m: yeah, no, you'd have do (loop for i = 0 then (mod (1+ i) n) when (zerop i) do ...) or the like i guess. 2020-12-05T18:29:15Z enrio joined #lisp 2020-12-05T18:29:31Z shifty joined #lisp 2020-12-05T18:31:03Z cosimone quit (Client Quit) 2020-12-05T18:32:05Z cosimone joined #lisp 2020-12-05T18:33:33Z andreyorst joined #lisp 2020-12-05T18:34:25Z karlosz joined #lisp 2020-12-05T18:35:01Z cosimone quit (Remote host closed the connection) 2020-12-05T18:37:44Z mister_m: thanks 2020-12-05T18:41:48Z aeth: You could also do something similar with two loops 2020-12-05T18:41:52Z iskander- quit (Ping timeout: 246 seconds) 2020-12-05T18:42:13Z thmprover quit (Quit: [Exit, pursued by bear]) 2020-12-05T18:42:13Z pi123 quit (Quit: WeeChat 2.3) 2020-12-05T18:42:35Z White_Flame: or 1 loop with an additional FOR in it to run the every-n counter 2020-12-05T18:42:35Z aeth: Every nth iteration, if constant, is basically the same as doing (loop ... :do (progn (do-whatever) (loop ...)) 2020-12-05T18:42:42Z iskander joined #lisp 2020-12-05T18:42:52Z aeth: There are actually a lot of creative ways to do it 2020-12-05T18:43:05Z catchme quit (Quit: Connection closed for inactivity) 2020-12-05T18:43:09Z johnjay joined #lisp 2020-12-05T18:43:25Z johnjay: so as i understand it you can make system calls from c programs 2020-12-05T18:43:37Z johnjay: is there a way to do this in sbcl/CL or is that impossible? 2020-12-05T18:44:01Z White_Flame: sbcl has extra packages that expose things, or you use FFI to call C-interface stuff directly 2020-12-05T18:44:10Z rgherdt joined #lisp 2020-12-05T18:44:34Z White_Flame: for instance with the former, sb-posix: has a bunch of stuff 2020-12-05T18:44:56Z White_Flame: (depending on how low level of "system call" you mean) 2020-12-05T18:47:20Z johnjay: like stuff in syscall.h 2020-12-05T18:47:31Z trafaret1 joined #lisp 2020-12-05T18:49:26Z Xach: johnjay: here's an example of how it could be done in cmucl, could be adapted. https://github.com/xach/cmucl-direct-syscalls/blob/master/src/compiler/x86/syscall-linux.lisp 2020-12-05T18:50:03Z Xach: I asked Doug for it when I thought I needed it - I never needed it, normal FFI interfaces sufficed for me. 2020-12-05T18:50:35Z Xach: johnjay: is there a particular syscall you want to access that is not otherwise available? 2020-12-05T18:51:04Z mister_m: aeth: I ended up doing two DO loops 2020-12-05T18:51:23Z johnjay: no i'm just asking on a general level 2020-12-05T18:51:38Z johnjay: it seems like something one should be able to do through the FFI but i wasn't sure 2020-12-05T18:52:28Z rogersm joined #lisp 2020-12-05T18:55:31Z hal99999 quit (Ping timeout: 272 seconds) 2020-12-05T18:55:57Z frgo_ joined #lisp 2020-12-05T18:56:11Z frgo_ quit (Remote host closed the connection) 2020-12-05T18:56:42Z frgo_ joined #lisp 2020-12-05T18:58:19Z rogersm quit (Quit: Leaving...) 2020-12-05T18:59:14Z frgo quit (Ping timeout: 244 seconds) 2020-12-05T19:01:01Z trafaret1 left #lisp 2020-12-05T19:01:44Z hal99999 joined #lisp 2020-12-05T19:02:27Z EvW quit (Ping timeout: 260 seconds) 2020-12-05T19:02:48Z ggole quit (Quit: Leaving) 2020-12-05T19:04:25Z treflip quit (Quit: WeeChat 2.6) 2020-12-05T19:09:09Z karayan quit (Remote host closed the connection) 2020-12-05T19:09:39Z karayan joined #lisp 2020-12-05T19:20:12Z EvW joined #lisp 2020-12-05T19:23:31Z rogersm joined #lisp 2020-12-05T19:29:06Z choegusung joined #lisp 2020-12-05T19:29:39Z iskander- joined #lisp 2020-12-05T19:30:19Z aartaka joined #lisp 2020-12-05T19:30:28Z iskander quit (Ping timeout: 272 seconds) 2020-12-05T19:30:36Z aartaka_d quit (Ping timeout: 240 seconds) 2020-12-05T19:37:55Z Josh_2: I have found it quite humbling to do the Advent of Code and then compare my solution to Harlequins on github... needless to say I don't tend to find the optimal solution, especially today 2020-12-05T19:38:05Z Josh_2: (obv doing it in CL) 2020-12-05T19:41:14Z choegusung quit (Quit: leaving) 2020-12-05T19:47:48Z iskander joined #lisp 2020-12-05T19:48:13Z iskander- quit (Ping timeout: 260 seconds) 2020-12-05T19:48:22Z rogersm: Do you have the link? I cannot find the repo 2020-12-05T19:56:57Z rogersm quit (Quit: Leaving...) 2020-12-05T19:57:24Z skapata joined #lisp 2020-12-05T19:58:08Z Josh_2: Harlequins? 2020-12-05T19:58:15Z nkatte joined #lisp 2020-12-05T19:58:28Z Josh_2: Harleqin* actually oops 2020-12-05T19:58:48Z Josh_2: https://github.com/Harleqin/advent-of-code-2020 2020-12-05T20:01:38Z iskander quit (Ping timeout: 256 seconds) 2020-12-05T20:02:12Z iskander joined #lisp 2020-12-05T20:02:16Z aartaka quit (Ping timeout: 240 seconds) 2020-12-05T20:05:24Z niceplace quit (Ping timeout: 240 seconds) 2020-12-05T20:06:23Z enrio quit (Ping timeout: 240 seconds) 2020-12-05T20:09:43Z davros joined #lisp 2020-12-05T20:09:49Z shifty quit (Ping timeout: 264 seconds) 2020-12-05T20:10:44Z niceplace joined #lisp 2020-12-05T20:12:09Z andreyorst quit (Ping timeout: 272 seconds) 2020-12-05T20:20:23Z nowhere_man quit (Ping timeout: 272 seconds) 2020-12-05T20:20:39Z narimiran quit (Quit: leaving) 2020-12-05T20:21:29Z oldtopman quit (Ping timeout: 256 seconds) 2020-12-05T20:24:15Z lotuseater: the name Harleqin reminds me of an anime 2020-12-05T20:25:56Z oldtopman joined #lisp 2020-12-05T20:29:37Z iskander- joined #lisp 2020-12-05T20:30:13Z iskander quit (Ping timeout: 260 seconds) 2020-12-05T20:32:12Z davisr joined #lisp 2020-12-05T20:32:21Z Josh_2: Reminds me of Batman 2020-12-05T20:32:48Z cosimone joined #lisp 2020-12-05T20:32:48Z surabax: Harlequin is the name of the company that used to be the developer of LispWorks 2020-12-05T20:32:59Z loli quit (Quit: WeeChat 2.9) 2020-12-05T20:34:30Z lotuseater: cool to know 2020-12-05T20:36:22Z loli joined #lisp 2020-12-05T20:36:45Z kinope quit (Ping timeout: 240 seconds) 2020-12-05T20:36:53Z arichiardi[m] quit (Ping timeout: 244 seconds) 2020-12-05T20:36:53Z lspr[m] quit (Ping timeout: 244 seconds) 2020-12-05T20:36:58Z byallahyourpfpgi quit (Ping timeout: 246 seconds) 2020-12-05T20:36:58Z austincummings[m quit (Ping timeout: 244 seconds) 2020-12-05T20:36:58Z h11 quit (Ping timeout: 244 seconds) 2020-12-05T20:37:02Z cairn quit (Ping timeout: 260 seconds) 2020-12-05T20:37:07Z Gnuxie[m] quit (Ping timeout: 240 seconds) 2020-12-05T20:37:14Z even4void[m] quit (Ping timeout: 264 seconds) 2020-12-05T20:37:32Z exit70[m] quit (Ping timeout: 260 seconds) 2020-12-05T20:37:32Z jonjitsu[m] quit (Ping timeout: 260 seconds) 2020-12-05T20:37:36Z katco quit (Ping timeout: 268 seconds) 2020-12-05T20:37:36Z ThaEwat quit (Ping timeout: 268 seconds) 2020-12-05T20:37:42Z johnjay: Josh_2: do you need a lot of libraries to solve the problems 2020-12-05T20:37:44Z camlriot42 quit (Ping timeout: 240 seconds) 2020-12-05T20:37:44Z santiagopim[m] quit (Ping timeout: 240 seconds) 2020-12-05T20:37:52Z johnjay: or are they "elementary" 2020-12-05T20:37:55Z etimmons quit (Ping timeout: 244 seconds) 2020-12-05T20:38:00Z Jach[m] quit (Ping timeout: 246 seconds) 2020-12-05T20:38:00Z MrtnDk[m] quit (Ping timeout: 244 seconds) 2020-12-05T20:38:07Z loke[m] quit (Ping timeout: 260 seconds) 2020-12-05T20:38:12Z johnjay: i.e. something you'd find in CLRS or something 2020-12-05T20:38:26Z infra_red[m] quit (Ping timeout: 244 seconds) 2020-12-05T20:39:02Z no-defun-allowed quit (Ping timeout: 244 seconds) 2020-12-05T20:46:00Z hnOsmium0001 joined #lisp 2020-12-05T20:51:57Z karlosz quit (Quit: karlosz) 2020-12-05T20:57:16Z iskander- quit (Ping timeout: 240 seconds) 2020-12-05T20:57:29Z h11 joined #lisp 2020-12-05T20:57:59Z byallahyourpfpgi joined #lisp 2020-12-05T20:58:10Z iskander joined #lisp 2020-12-05T20:58:21Z camlriot42 joined #lisp 2020-12-05T21:03:39Z kinope joined #lisp 2020-12-05T21:03:53Z austincummings[m joined #lisp 2020-12-05T21:03:58Z even4void[m] joined #lisp 2020-12-05T21:04:37Z EvW quit (Ping timeout: 260 seconds) 2020-12-05T21:05:07Z santiagopim[m] joined #lisp 2020-12-05T21:05:10Z katco joined #lisp 2020-12-05T21:05:17Z arichiardi[m] joined #lisp 2020-12-05T21:05:18Z lspr[m] joined #lisp 2020-12-05T21:05:21Z etimmons joined #lisp 2020-12-05T21:06:04Z ThaEwat joined #lisp 2020-12-05T21:07:28Z no-defun-allowed joined #lisp 2020-12-05T21:09:56Z cairn joined #lisp 2020-12-05T21:11:23Z loke[m] joined #lisp 2020-12-05T21:11:26Z exit70[m] joined #lisp 2020-12-05T21:12:26Z jonjitsu[m] joined #lisp 2020-12-05T21:16:20Z Gnuxie[m] joined #lisp 2020-12-05T21:17:48Z Josh_2: johnjay: you can use libraries but I personally haven't 2020-12-05T21:18:08Z kaftejiman_ joined #lisp 2020-12-05T21:18:15Z MrtnDk[m] joined #lisp 2020-12-05T21:18:39Z Jach[m] joined #lisp 2020-12-05T21:19:05Z infra_red[m] joined #lisp 2020-12-05T21:19:44Z kaftejiman quit (Ping timeout: 240 seconds) 2020-12-05T21:24:01Z EvW joined #lisp 2020-12-05T21:26:13Z liberliver quit (Ping timeout: 260 seconds) 2020-12-05T21:26:44Z davisr quit (Ping timeout: 240 seconds) 2020-12-05T21:29:05Z urek__ quit (Ping timeout: 246 seconds) 2020-12-05T21:32:35Z abhixec joined #lisp 2020-12-05T21:40:51Z aaaaaa joined #lisp 2020-12-05T21:48:42Z scymtym quit (Ping timeout: 244 seconds) 2020-12-05T21:53:39Z jrm joined #lisp 2020-12-05T21:55:16Z Jeanne-Kamikaze quit (Ping timeout: 240 seconds) 2020-12-05T21:55:41Z shifty joined #lisp 2020-12-05T21:55:55Z gaqwas quit (Ping timeout: 265 seconds) 2020-12-05T21:56:03Z iskander- joined #lisp 2020-12-05T21:56:55Z zcheng3 joined #lisp 2020-12-05T21:57:08Z iskander quit (Ping timeout: 268 seconds) 2020-12-05T21:59:54Z bilegeek joined #lisp 2020-12-05T22:01:13Z shifty quit (Ping timeout: 260 seconds) 2020-12-05T22:05:31Z urek__ joined #lisp 2020-12-05T22:07:47Z syphon229 joined #lisp 2020-12-05T22:08:20Z harlchen: /leave 2020-12-05T22:08:42Z harlchen quit (Quit: WeeChat 2.9) 2020-12-05T22:08:45Z scymtym joined #lisp 2020-12-05T22:09:10Z judson_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-05T22:09:16Z syphon229 quit (Client Quit) 2020-12-05T22:10:47Z pve quit (Quit: leaving) 2020-12-05T22:13:06Z niceplace quit (Ping timeout: 256 seconds) 2020-12-05T22:16:47Z niceplace joined #lisp 2020-12-05T22:23:23Z nowhere_man joined #lisp 2020-12-05T22:23:46Z nowhere_man quit (Client Quit) 2020-12-05T22:30:17Z phoe: goodbye harlchen 2020-12-05T22:34:20Z jrm: Hi. I'm trying fix an issue with an OS package for stumpwm. When stump is not already installed it works fine, but if stumpwm is already installed none of the sbclfasl files are built. https://github.com/freebsd/freebsd-ports/blob/945296b7331c478f60c1fb077dc88ba8af7d7463/x11-wm/stumpwm/Makefile#L51-L61 2020-12-05T22:34:35Z jrm: Is there a way to unconditionally build everything? 2020-12-05T22:35:54Z phoe: jrm: try adding :force :t to the ASDF:OOS call 2020-12-05T22:36:12Z phoe: that tells ASDF to recompile all files unconditionally 2020-12-05T22:36:33Z rumbler31 quit (Read error: Connection reset by peer) 2020-12-05T22:36:39Z nowhere_man joined #lisp 2020-12-05T22:37:08Z rumbler31 joined #lisp 2020-12-05T22:37:55Z jrm: phoe: Thanks. I updated the line in question to -eval "(asdf:oos :force :t 'asdf:compile-op :${PORTNAME})" \ but the result was the same. 2020-12-05T22:38:35Z jrm: If stumpwm is already installed it errors out with... 2020-12-05T22:38:36Z jrm: install: /wrkdirs/usr/ports/x11-wm/stumpwm/work/stumpwm-20.11/*.fasl: No such file or directory 2020-12-05T22:40:41Z jrm: Oh, one moment. I think edited the wrong file. 2020-12-05T22:42:37Z jrm: That gives a new error: 2020-12-05T22:42:39Z jrm: Can't coerce :FORCE to a subclass of ASDF/OPERATION:OPERATION 2020-12-05T22:44:07Z rumbler31 quit (Read error: Connection reset by peer) 2020-12-05T22:44:42Z phoe: uhhh, wait a second... 2020-12-05T22:44:46Z rumbler31 joined #lisp 2020-12-05T22:45:24Z phoe: this should look like (asdf:oos 'asdf:compile-op :phoe-toolbox :force t) 2020-12-05T22:45:38Z phoe: so in your case, (asdf:oos 'asdf:compile-op :${PORTNAME} :force t) 2020-12-05T22:47:19Z amb007 quit (Ping timeout: 272 seconds) 2020-12-05T22:51:23Z jrm: That looks good. Before when stumpwm was already installed the compilation returned almost immediately. Now it produces lots of output like when it's not installed, e.g., "; processing (DEFUN ENTER-INTERACTIVE-KEYMAP ...)", but the fasl files are still not generated. 2020-12-05T22:52:24Z Xach: joe "jrm" r. marshall?? 2020-12-05T22:55:34Z jrm: No, different jrm. If I were Joe Marshall I would probably know what I was doing. ;-) 2020-12-05T23:01:04Z hal99999 quit (Quit: hal99999) 2020-12-05T23:09:22Z amb007 joined #lisp 2020-12-05T23:10:07Z zcheng3 quit (Ping timeout: 272 seconds) 2020-12-05T23:14:03Z ex_nihilo joined #lisp 2020-12-05T23:15:48Z ggoes quit (Quit: WeeChat 2.3) 2020-12-05T23:18:14Z ggoes joined #lisp 2020-12-05T23:19:27Z leb joined #lisp 2020-12-05T23:21:31Z niceplace quit (Ping timeout: 272 seconds) 2020-12-05T23:25:46Z niceplace joined #lisp 2020-12-05T23:29:49Z niceplaces joined #lisp 2020-12-05T23:30:23Z niceplace quit (Ping timeout: 272 seconds) 2020-12-05T23:32:51Z shifty joined #lisp 2020-12-05T23:33:32Z lotuseat` joined #lisp 2020-12-05T23:35:04Z lotuseater quit (Ping timeout: 240 seconds) 2020-12-05T23:35:39Z matryoshka quit (Quit: ZNC 1.8.2 - https://znc.in) 2020-12-05T23:36:36Z matryoshka joined #lisp 2020-12-05T23:38:44Z shifty quit (Ping timeout: 272 seconds) 2020-12-05T23:46:12Z dim quit (Ping timeout: 256 seconds) 2020-12-05T23:50:26Z mfiano: Hmm, I wonder if lparallel does work-stealing 2020-12-05T23:52:04Z jrm: On FreeBSD, we have ${PREFIX}/lib/common-lisp/system-registry. If I remove stumpwm.asd from this system-registry before building the second time it builds successfully, including all the fasl files. 2020-12-05T23:52:33Z jrm: I wonder if I can somehow skip this registry when invoking sbcl for the build? 2020-12-05T23:58:09Z frgo_ quit (Remote host closed the connection) 2020-12-05T23:58:34Z frgo joined #lisp 2020-12-05T23:59:32Z dim joined #lisp 2020-12-06T00:04:15Z cosimone quit (Ping timeout: 260 seconds) 2020-12-06T00:06:28Z judson_ joined #lisp 2020-12-06T00:07:21Z phoe: beach: are you aware of "Documenting Protocols in CLOS: Keeping the Promise of Reuse" by John Collins? 2020-12-06T00:07:39Z shifty joined #lisp 2020-12-06T00:07:56Z phoe: I just found out about the 1993 book edited by A. Paepcke, "Object-Oriented Programming: The CLOS Perspective" 2020-12-06T00:08:04Z phoe: and I'm reading it 2020-12-06T00:12:49Z rgherdt quit (Ping timeout: 272 seconds) 2020-12-06T00:14:18Z lotuseat` is now known as lotuseater 2020-12-06T00:14:53Z Jeanne-Kamikaze joined #lisp 2020-12-06T00:19:15Z akoana left #lisp 2020-12-06T00:20:36Z orivej quit (Ping timeout: 256 seconds) 2020-12-06T00:24:23Z dbotton joined #lisp 2020-12-06T00:25:34Z frodef quit (Ping timeout: 246 seconds) 2020-12-06T00:25:34Z lotuseater: phoe: and how is your impression of the book? 2020-12-06T00:26:47Z Bike quit (Remote host closed the connection) 2020-12-06T00:32:04Z leb quit 2020-12-06T00:32:39Z Aurora_v_kosmose quit (Quit: brb...) 2020-12-06T00:33:46Z leb joined #lisp 2020-12-06T00:36:29Z judson_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-06T00:40:07Z phoe: lotuseater: none, it's 2 AM for me 2020-12-06T00:40:08Z amb007 quit (Read error: Connection reset by peer) 2020-12-06T00:40:10Z phoe: will say more tomorrow 2020-12-06T00:40:26Z amb007 joined #lisp 2020-12-06T00:40:56Z random-nick quit (Ping timeout: 256 seconds) 2020-12-06T00:41:07Z lotuseater: sleep well :) 2020-12-06T00:42:04Z EvW quit (Ping timeout: 240 seconds) 2020-12-06T00:42:43Z dbotton quit (Ping timeout: 246 seconds) 2020-12-06T00:42:57Z phoe: thanks <3 2020-12-06T00:43:35Z leb quit 2020-12-06T00:48:43Z Bike joined #lisp 2020-12-06T00:57:34Z Aurora_v_kosmose joined #lisp 2020-12-06T00:58:49Z EvW joined #lisp 2020-12-06T00:58:50Z abel-abel joined #lisp 2020-12-06T01:10:43Z dhil quit (Ping timeout: 246 seconds) 2020-12-06T01:13:41Z abel-abel quit (Remote host closed the connection) 2020-12-06T01:15:44Z amb007 quit (Read error: Connection reset by peer) 2020-12-06T01:16:01Z amb007 joined #lisp 2020-12-06T01:16:02Z abel-abel joined #lisp 2020-12-06T01:16:41Z jprajzne quit (Remote host closed the connection) 2020-12-06T01:17:02Z abel-abel quit (Client Quit) 2020-12-06T01:20:10Z gzj joined #lisp 2020-12-06T01:25:57Z surabax quit (Quit: Leaving) 2020-12-06T01:31:23Z EvW quit (Ping timeout: 244 seconds) 2020-12-06T01:36:25Z kaftejiman_ quit (Remote host closed the connection) 2020-12-06T01:41:51Z leb joined #lisp 2020-12-06T01:43:08Z Lord_of_Life_ joined #lisp 2020-12-06T01:45:24Z Lord_of_Life quit (Ping timeout: 240 seconds) 2020-12-06T01:45:30Z Lord_of_Life_ is now known as Lord_of_Life 2020-12-06T01:47:32Z ukari joined #lisp 2020-12-06T01:49:27Z imode joined #lisp 2020-12-06T01:51:37Z imode quit (Client Quit) 2020-12-06T01:51:54Z imode joined #lisp 2020-12-06T01:52:14Z imode quit (Client Quit) 2020-12-06T01:52:30Z imode joined #lisp 2020-12-06T01:53:05Z imode quit (Client Quit) 2020-12-06T01:53:20Z imode joined #lisp 2020-12-06T01:53:25Z imode quit (Client Quit) 2020-12-06T01:56:32Z imode joined #lisp 2020-12-06T02:12:04Z Josh_2 quit (Ping timeout: 260 seconds) 2020-12-06T02:15:28Z lottaquestions quit (Quit: Konversation terminated!) 2020-12-06T02:19:55Z lottaquestions joined #lisp 2020-12-06T02:27:34Z malaclyps_ joined #lisp 2020-12-06T02:28:29Z bilegeek quit (Quit: Leaving) 2020-12-06T02:30:33Z bilegeek joined #lisp 2020-12-06T02:45:16Z karlosz joined #lisp 2020-12-06T02:47:46Z dbotton joined #lisp 2020-12-06T02:59:24Z dyelar quit (Quit: Leaving.) 2020-12-06T03:16:29Z galex-713 quit (Ping timeout: 272 seconds) 2020-12-06T03:24:12Z galex-713 joined #lisp 2020-12-06T03:31:48Z dbotton quit (Quit: Leaving) 2020-12-06T03:41:16Z vidak` joined #lisp 2020-12-06T03:42:47Z karayan quit (Ping timeout: 260 seconds) 2020-12-06T03:43:14Z karayan joined #lisp 2020-12-06T03:44:06Z gzj quit (Read error: Connection reset by peer) 2020-12-06T03:44:27Z gzj joined #lisp 2020-12-06T03:55:32Z ukari quit (Remote host closed the connection) 2020-12-06T04:03:14Z Alfr joined #lisp 2020-12-06T04:04:24Z Alfr_ quit (Ping timeout: 240 seconds) 2020-12-06T04:04:43Z Jeanne-Kamikaze quit (Quit: Leaving) 2020-12-06T04:07:07Z _jrjsmrtn joined #lisp 2020-12-06T04:08:09Z beach: Good morning everyone! 2020-12-06T04:08:10Z __jrjsmrtn__ quit (Ping timeout: 246 seconds) 2020-12-06T04:10:46Z beach: phoe: No, I wasn't aware of that. I have the book, but haven't finished reading it. 2020-12-06T04:18:53Z leb quit 2020-12-06T04:19:05Z urek joined #lisp 2020-12-06T04:19:43Z oni-on-ion joined #lisp 2020-12-06T04:21:05Z urek__ quit (Ping timeout: 272 seconds) 2020-12-06T04:21:27Z leb joined #lisp 2020-12-06T04:30:00Z patrixl joined #lisp 2020-12-06T04:35:12Z galex-713 quit (Remote host closed the connection) 2020-12-06T04:36:23Z galex-713 joined #lisp 2020-12-06T04:38:06Z gzj quit (Remote host closed the connection) 2020-12-06T04:38:28Z gzj joined #lisp 2020-12-06T04:41:00Z zaquest joined #lisp 2020-12-06T04:42:27Z rumbler31 quit (Read error: Connection reset by peer) 2020-12-06T04:43:06Z rumbler31 joined #lisp 2020-12-06T04:45:27Z narimiran joined #lisp 2020-12-06T04:47:46Z zaquest quit (Read error: Connection reset by peer) 2020-12-06T04:53:29Z rumbler31 quit (Read error: Connection reset by peer) 2020-12-06T04:54:04Z rumbler31 joined #lisp 2020-12-06T04:55:19Z ex_nihilo quit (Quit: Leaving) 2020-12-06T04:55:25Z jonatack quit (Ping timeout: 246 seconds) 2020-12-06T04:56:35Z jonatack joined #lisp 2020-12-06T05:01:29Z akoana joined #lisp 2020-12-06T05:06:22Z zcheng3 joined #lisp 2020-12-06T05:28:45Z Nilby joined #lisp 2020-12-06T05:29:14Z frost-lab joined #lisp 2020-12-06T05:33:02Z judson_ joined #lisp 2020-12-06T05:33:18Z urek quit (Ping timeout: 260 seconds) 2020-12-06T05:33:32Z aartaka joined #lisp 2020-12-06T05:39:05Z gzj quit (Remote host closed the connection) 2020-12-06T05:39:26Z gzj joined #lisp 2020-12-06T05:45:03Z KREYREEN quit (Ping timeout: 240 seconds) 2020-12-06T05:53:05Z gzj quit (Remote host closed the connection) 2020-12-06T05:53:26Z gzj joined #lisp 2020-12-06T05:57:07Z waleee-cl quit (Quit: Connection closed for inactivity) 2020-12-06T06:02:20Z judson_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-06T06:03:26Z bitmapper quit (Quit: Connection closed for inactivity) 2020-12-06T06:04:29Z judson_ joined #lisp 2020-12-06T06:14:55Z leb quit 2020-12-06T06:18:23Z Bike quit (Remote host closed the connection) 2020-12-06T06:38:05Z gzj quit (Remote host closed the connection) 2020-12-06T06:39:19Z gzj joined #lisp 2020-12-06T06:40:20Z thefunc5 joined #lisp 2020-12-06T06:40:38Z notzmv quit (Read error: Connection reset by peer) 2020-12-06T06:43:49Z thefunc5 quit (Client Quit) 2020-12-06T06:46:21Z judson_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-06T06:56:36Z zcheng3 quit (Ping timeout: 240 seconds) 2020-12-06T07:01:12Z phantomics_ joined #lisp 2020-12-06T07:01:58Z phantomics quit (Ping timeout: 256 seconds) 2020-12-06T07:06:32Z skapata quit (Remote host closed the connection) 2020-12-06T07:13:45Z Oddity- quit (Read error: Connection reset by peer) 2020-12-06T07:14:11Z Oddity- joined #lisp 2020-12-06T07:21:04Z gzj quit (Remote host closed the connection) 2020-12-06T07:21:26Z gzj joined #lisp 2020-12-06T07:22:04Z gzj quit (Remote host closed the connection) 2020-12-06T07:22:24Z gzj joined #lisp 2020-12-06T07:27:52Z adam4567 joined #lisp 2020-12-06T07:30:53Z charlie770 joined #lisp 2020-12-06T07:35:05Z gzj quit (Remote host closed the connection) 2020-12-06T07:35:26Z gzj joined #lisp 2020-12-06T07:37:18Z toorevitimirp joined #lisp 2020-12-06T07:43:23Z karayan quit (Ping timeout: 260 seconds) 2020-12-06T07:44:45Z karayan joined #lisp 2020-12-06T07:50:32Z treflip joined #lisp 2020-12-06T08:01:29Z nowhere_man quit (Ping timeout: 272 seconds) 2020-12-06T08:08:27Z aaaaaa quit (Ping timeout: 260 seconds) 2020-12-06T08:13:29Z aaaaaa joined #lisp 2020-12-06T08:14:09Z adlai wonders what exactly was meant earlier by a "desert island book", in the context of Common Lisp 2020-12-06T08:14:56Z oni-on-ion: "if you could take one [CL] book with you to a desert island, which would it be?" 2020-12-06T08:15:06Z oni-on-ion: with the implication that one may be there forever 2020-12-06T08:15:17Z oni-on-ion: *deserted island 2020-12-06T08:15:19Z adlai: by my understanding, even just the ANSI standard is too complex for a single book to encompass the whole thing, and answering "the ANSI specification, duh" is obviously a bannable offense 2020-12-06T08:15:52Z oni-on-ion: i would say something like "the source code for the implementation in question, give or take some hyperspec" 2020-12-06T08:16:14Z adlai: that's actually a good answer; I don't think the "desert island" question typically expects that your answer has an ISBN. 2020-12-06T08:16:22Z oni-on-ion: cant really know more than that about a piece of UI-less software that depends little on external resources/assets 2020-12-06T08:16:33Z oni-on-ion: deserted* =) 2020-12-06T08:16:39Z oni-on-ion: & true 2020-12-06T08:23:09Z andreyorst joined #lisp 2020-12-06T08:25:33Z nkatte quit (Ping timeout: 272 seconds) 2020-12-06T08:30:26Z aartaka_d joined #lisp 2020-12-06T08:33:09Z aartaka quit (Ping timeout: 272 seconds) 2020-12-06T08:35:05Z gzj quit (Remote host closed the connection) 2020-12-06T08:35:26Z gzj joined #lisp 2020-12-06T08:40:56Z nostoi joined #lisp 2020-12-06T08:41:17Z gaqwas joined #lisp 2020-12-06T08:41:17Z gaqwas quit (Changing host) 2020-12-06T08:41:17Z gaqwas joined #lisp 2020-12-06T08:47:00Z nostoi quit (Quit: Verlassend) 2020-12-06T08:49:50Z enrio joined #lisp 2020-12-06T08:52:11Z orivej joined #lisp 2020-12-06T08:57:27Z edgar-rft: on a deserted island it should be a thin book because you probably won't have much time to read before you die 2020-12-06T08:59:27Z moon-child: maybe there are coconuts 2020-12-06T08:59:41Z moon-child: and peanuts 2020-12-06T08:59:47Z moon-child: and water filters 2020-12-06T09:00:04Z h11 quit (Quit: Idle for 30+ days) 2020-12-06T09:06:27Z Inline joined #lisp 2020-12-06T09:06:28Z flip214: coconuts are more dangerous than sharks... and peanuts too, I guess. Haven't heard of someone suffocating on a water filter, though, so these sound safe. 2020-12-06T09:06:35Z Inline quit (Remote host closed the connection) 2020-12-06T09:07:00Z hendursa1 joined #lisp 2020-12-06T09:08:49Z dim quit (Ping timeout: 246 seconds) 2020-12-06T09:09:23Z hendursaga quit (Ping timeout: 240 seconds) 2020-12-06T09:12:38Z enrio quit (Remote host closed the connection) 2020-12-06T09:12:41Z dim joined #lisp 2020-12-06T09:13:03Z enrio joined #lisp 2020-12-06T09:13:37Z rgherdt joined #lisp 2020-12-06T09:15:11Z adlai: well that is one of the other possible interpretations for "desert island book", although it is more often called a cheatsheet 2020-12-06T09:15:54Z adlai: essentially ,a book that would be maximally helpful for someone who is unfamiliar with CL, or perhaps hasn't used it in decades, and must work without Internet access. 2020-12-06T09:18:05Z adlai: although, those are usually best when they are created in reference to another system, that is treated as familiar; or at least, limited to a specific context (e.g., the condition sysem, format strings, care and feeding of the generalized lambda list, etc) 2020-12-06T09:19:40Z rfn joined #lisp 2020-12-06T09:20:05Z adlai: fwiw, the context from which I am familiar with the "desert island provision" question is one of aesthetic quality, rather than usefulness as a tool; thus the need for a disambiguation. 2020-12-06T09:21:42Z Nilby: I only read the draft ANSI spec, partially, and SICP maybe 20 years prior. That's kept me going for 15 years or so. 2020-12-06T09:24:05Z karlosz quit (Quit: karlosz) 2020-12-06T09:25:25Z dhil joined #lisp 2020-12-06T09:26:24Z gzj quit (Ping timeout: 240 seconds) 2020-12-06T09:29:26Z Inline joined #lisp 2020-12-06T09:29:37Z Lord_of_Life quit (Changing host) 2020-12-06T09:29:37Z Lord_of_Life joined #lisp 2020-12-06T09:30:03Z enrio quit (Ping timeout: 240 seconds) 2020-12-06T09:31:01Z pve joined #lisp 2020-12-06T09:36:13Z mbomba joined #lisp 2020-12-06T09:42:11Z shifty quit (Ping timeout: 272 seconds) 2020-12-06T09:42:36Z shifty joined #lisp 2020-12-06T09:43:07Z karayan quit (Ping timeout: 246 seconds) 2020-12-06T09:43:30Z karayan joined #lisp 2020-12-06T09:43:33Z enrio joined #lisp 2020-12-06T09:45:50Z abhixec quit (Ping timeout: 244 seconds) 2020-12-06T09:48:32Z bilegeek quit (Quit: Leaving) 2020-12-06T09:52:08Z hnOsmium0001 quit (Quit: Connection closed for inactivity) 2020-12-06T09:52:29Z gaqwas quit (Remote host closed the connection) 2020-12-06T10:04:03Z enrio quit (Ping timeout: 240 seconds) 2020-12-06T10:08:56Z shifty quit (Ping timeout: 240 seconds) 2020-12-06T10:09:16Z enrio joined #lisp 2020-12-06T10:09:56Z tfb joined #lisp 2020-12-06T10:12:28Z kapil_ quit (Quit: ZNC 1.7.5 - https://znc.in) 2020-12-06T10:14:25Z kapil_ joined #lisp 2020-12-06T10:19:04Z kapil_ quit (Client Quit) 2020-12-06T10:20:10Z emys[m] joined #lisp 2020-12-06T10:23:32Z kapil_ joined #lisp 2020-12-06T10:24:23Z emys joined #lisp 2020-12-06T10:26:41Z rgherdt quit (Read error: Connection reset by peer) 2020-12-06T10:29:15Z tfb quit (Remote host closed the connection) 2020-12-06T10:29:25Z tfb joined #lisp 2020-12-06T10:30:01Z tfb quit (Remote host closed the connection) 2020-12-06T10:30:12Z tfb joined #lisp 2020-12-06T10:32:10Z kapil_ quit (Quit: ZNC 1.7.5 - https://znc.in) 2020-12-06T10:34:05Z kapil_ joined #lisp 2020-12-06T10:38:59Z mbomba quit (Quit: WeeChat 3.0) 2020-12-06T10:41:03Z enrio quit (Ping timeout: 240 seconds) 2020-12-06T10:41:05Z gareppa joined #lisp 2020-12-06T10:41:54Z rumbler31 quit (Read error: Connection reset by peer) 2020-12-06T10:42:23Z Alfr quit (Quit: Leaving) 2020-12-06T10:42:31Z shifty joined #lisp 2020-12-06T10:42:33Z rumbler31 joined #lisp 2020-12-06T10:46:47Z gareppa quit (Remote host closed the connection) 2020-12-06T10:47:30Z jonatack quit (Ping timeout: 256 seconds) 2020-12-06T10:47:57Z jonatack joined #lisp 2020-12-06T10:48:10Z emys quit (Ping timeout: 272 seconds) 2020-12-06T10:48:55Z tfb quit 2020-12-06T10:50:01Z kapil_ quit (Quit: ZNC 1.7.5 - https://znc.in) 2020-12-06T10:50:15Z random-nick joined #lisp 2020-12-06T10:51:52Z andreyorst quit (Ping timeout: 256 seconds) 2020-12-06T10:52:57Z kapil_ joined #lisp 2020-12-06T10:54:20Z emys joined #lisp 2020-12-06T10:56:10Z surabax joined #lisp 2020-12-06T10:58:12Z akoana left #lisp 2020-12-06T10:59:18Z Alfr joined #lisp 2020-12-06T11:01:34Z EvW joined #lisp 2020-12-06T11:03:04Z emys quit (Ping timeout: 240 seconds) 2020-12-06T11:04:50Z karayan quit (Ping timeout: 264 seconds) 2020-12-06T11:05:17Z karayan joined #lisp 2020-12-06T11:06:22Z EvW quit (Ping timeout: 260 seconds) 2020-12-06T11:10:48Z emys joined #lisp 2020-12-06T11:11:37Z arichiardi[m] quit (Ping timeout: 244 seconds) 2020-12-06T11:11:41Z lspr[m] quit (Ping timeout: 244 seconds) 2020-12-06T11:11:41Z santiagopim[m] quit (Ping timeout: 244 seconds) 2020-12-06T11:11:45Z etimmons quit (Ping timeout: 240 seconds) 2020-12-06T11:12:01Z loke[m] quit (Ping timeout: 268 seconds) 2020-12-06T11:12:07Z exit70[m] quit (Ping timeout: 244 seconds) 2020-12-06T11:12:07Z austincummings[m quit (Ping timeout: 244 seconds) 2020-12-06T11:12:12Z even4void[m] quit (Ping timeout: 244 seconds) 2020-12-06T11:12:12Z kinope quit (Ping timeout: 244 seconds) 2020-12-06T11:12:12Z camlriot42 quit (Ping timeout: 244 seconds) 2020-12-06T11:12:12Z byallahyourpfpgi quit (Ping timeout: 244 seconds) 2020-12-06T11:12:18Z no-defun-allowed quit (Ping timeout: 246 seconds) 2020-12-06T11:12:18Z cairn quit (Ping timeout: 246 seconds) 2020-12-06T11:12:18Z malaclyps_ quit (Ping timeout: 246 seconds) 2020-12-06T11:12:38Z Jach[m] quit (Ping timeout: 268 seconds) 2020-12-06T11:12:38Z MrtnDk[m] quit (Ping timeout: 268 seconds) 2020-12-06T11:12:38Z ThaEwat quit (Ping timeout: 268 seconds) 2020-12-06T11:13:41Z Gnuxie[m] quit (Ping timeout: 246 seconds) 2020-12-06T11:13:41Z katco quit (Ping timeout: 246 seconds) 2020-12-06T11:13:42Z jonjitsu[m] quit (Ping timeout: 260 seconds) 2020-12-06T11:13:45Z infra_red[m] quit (Ping timeout: 244 seconds) 2020-12-06T11:14:42Z emys[m] quit (Ping timeout: 244 seconds) 2020-12-06T11:15:06Z emys quit (Ping timeout: 256 seconds) 2020-12-06T11:15:06Z amb007 quit (Read error: Connection reset by peer) 2020-12-06T11:15:10Z dim quit (Ping timeout: 246 seconds) 2020-12-06T11:15:34Z amb007 joined #lisp 2020-12-06T11:16:52Z karayan quit (Ping timeout: 260 seconds) 2020-12-06T11:17:14Z karayan joined #lisp 2020-12-06T11:20:53Z dim joined #lisp 2020-12-06T11:23:36Z karayan quit (Ping timeout: 240 seconds) 2020-12-06T11:24:05Z urek joined #lisp 2020-12-06T11:24:36Z karayan joined #lisp 2020-12-06T11:28:52Z amb007 quit (Read error: Connection reset by peer) 2020-12-06T11:29:35Z amb007 joined #lisp 2020-12-06T11:29:37Z andreyorst joined #lisp 2020-12-06T11:31:10Z lspr[m] joined #lisp 2020-12-06T11:31:16Z santiagopim[m] joined #lisp 2020-12-06T11:32:19Z vegansbane quit (Quit: The Lounge - https://thelounge.chat) 2020-12-06T11:33:49Z arichiardi[m] joined #lisp 2020-12-06T11:34:03Z cairn joined #lisp 2020-12-06T11:34:04Z malaclyps_ joined #lisp 2020-12-06T11:34:37Z etimmons joined #lisp 2020-12-06T11:36:53Z exit70[m] joined #lisp 2020-12-06T11:37:42Z kinope joined #lisp 2020-12-06T11:40:21Z katco joined #lisp 2020-12-06T11:40:54Z austincummings[m joined #lisp 2020-12-06T11:41:03Z loke[m] joined #lisp 2020-12-06T11:41:20Z no-defun-allowed joined #lisp 2020-12-06T11:42:09Z camlriot42 joined #lisp 2020-12-06T11:43:00Z Gnuxie[m] joined #lisp 2020-12-06T11:43:11Z emys[m] joined #lisp 2020-12-06T11:43:22Z byallahyourpfpgi joined #lisp 2020-12-06T11:43:27Z even4void[m] joined #lisp 2020-12-06T11:44:19Z scymtym quit (Read error: Connection reset by peer) 2020-12-06T11:45:19Z infra_red[m] joined #lisp 2020-12-06T11:45:26Z Jach[m] joined #lisp 2020-12-06T11:46:29Z flazh quit (Quit: flazh) 2020-12-06T11:47:20Z ThaEwat joined #lisp 2020-12-06T11:48:02Z MrtnDk[m] joined #lisp 2020-12-06T11:49:41Z jonjitsu[m] joined #lisp 2020-12-06T11:58:04Z frgo quit (Remote host closed the connection) 2020-12-06T11:58:31Z frgo joined #lisp 2020-12-06T11:58:58Z vegansbane joined #lisp 2020-12-06T12:00:38Z karayan quit (Ping timeout: 264 seconds) 2020-12-06T12:04:33Z treflip quit (Remote host closed the connection) 2020-12-06T12:07:36Z karayan joined #lisp 2020-12-06T12:10:15Z gzj joined #lisp 2020-12-06T12:14:11Z Inline quit (Ping timeout: 272 seconds) 2020-12-06T12:14:11Z amb007 quit (Read error: Connection reset by peer) 2020-12-06T12:14:26Z karayan quit (Ping timeout: 264 seconds) 2020-12-06T12:14:43Z karayan joined #lisp 2020-12-06T12:14:48Z amb007 joined #lisp 2020-12-06T12:17:01Z amb007 quit (Read error: Connection reset by peer) 2020-12-06T12:17:14Z nowhere_man joined #lisp 2020-12-06T12:17:20Z amb007 joined #lisp 2020-12-06T12:21:44Z flazh joined #lisp 2020-12-06T12:24:19Z imode quit (Ping timeout: 272 seconds) 2020-12-06T12:26:04Z aaaaaa quit (Quit: leaving) 2020-12-06T12:28:35Z frost-lab quit (Quit: Connection closed) 2020-12-06T12:35:05Z scymtym joined #lisp 2020-12-06T12:35:44Z shifty quit (Ping timeout: 256 seconds) 2020-12-06T12:36:49Z orivej quit (Ping timeout: 264 seconds) 2020-12-06T12:37:52Z C-16 joined #lisp 2020-12-06T12:38:00Z JohnMS joined #lisp 2020-12-06T12:40:30Z C-16 quit (Client Quit) 2020-12-06T12:41:30Z C-16 joined #lisp 2020-12-06T12:45:05Z C-16 quit (Client Quit) 2020-12-06T12:46:14Z phoe: There's a fundraiser for porting SBCL to Apple Silicon - https://fundrazr.com/61kPgb 2020-12-06T12:50:59Z C-16 joined #lisp 2020-12-06T12:51:17Z gzj quit (Remote host closed the connection) 2020-12-06T12:51:36Z gzj joined #lisp 2020-12-06T12:51:40Z zulu-inuoe joined #lisp 2020-12-06T12:52:01Z Inline joined #lisp 2020-12-06T12:56:05Z gzj quit (Remote host closed the connection) 2020-12-06T12:56:28Z gzj joined #lisp 2020-12-06T12:58:14Z kaftejiman joined #lisp 2020-12-06T13:04:07Z JohnMS is now known as JohnMS_AWAY 2020-12-06T13:05:34Z jackdaniel: is there an apple device running, I don't know, on coal? 2020-12-06T13:07:08Z ck_: jackdaniel: many such cases, https://en.wikipedia.org/wiki/List_of_power_stations_in_Russia 2020-12-06T13:07:43Z Josh_2 joined #lisp 2020-12-06T13:07:52Z Nilby: I was skeptical for a second, because "who's gonna do it?", but then I saw it's "let get Stas a macbook", so actually, yeah that'll work. 2020-12-06T13:07:55Z jackdaniel: Apple Bureya Dam :-) 2020-12-06T13:08:29Z JohnMS_AWAY quit (Ping timeout: 246 seconds) 2020-12-06T13:08:35Z JohnMS joined #lisp 2020-12-06T13:08:36Z JohnMS is now known as JohnMS_AWAY 2020-12-06T13:11:14Z phoe: jackdaniel: I'll get mildly worried the moment I see Apple Oxygen 2020-12-06T13:11:21Z phoe: until then, I'm okay 2020-12-06T13:11:44Z C-16 quit (Quit: leaving) 2020-12-06T13:12:12Z jackdaniel: my remark was more about apple's coxcombry with that name 2020-12-06T13:12:16Z aartaka_d quit (Ping timeout: 240 seconds) 2020-12-06T13:12:28Z phoe: so is mine 2020-12-06T13:12:47Z phoe: ;; except mine also contains overtones of megacorporate worry 2020-12-06T13:21:07Z ck_: don't worry we'll have crowdfunding to buy someone a few scuba bottles to port breathing to the new architecture in that case. Or maybe some Draegers, you know, better get the top model 2020-12-06T13:23:14Z dbotton joined #lisp 2020-12-06T13:25:42Z abel-abel joined #lisp 2020-12-06T13:26:21Z Nilby: Apple silicon "Runs a tight chip." they say. So does this mean the water sensor won't trigger and void your service contract? 2020-12-06T13:27:10Z ck_: I'm pretty sure there are no water exposure sensors on the wafers 2020-12-06T13:28:55Z narimiran quit (Ping timeout: 272 seconds) 2020-12-06T13:28:55Z amb007 quit (Read error: Connection reset by peer) 2020-12-06T13:30:34Z narimiran joined #lisp 2020-12-06T13:30:59Z amb007 joined #lisp 2020-12-06T13:35:15Z dbotton quit (Quit: This computer has gone to sleep) 2020-12-06T13:35:43Z eden joined #lisp 2020-12-06T13:50:47Z villanella joined #lisp 2020-12-06T13:51:16Z amb007 quit (Read error: Connection reset by peer) 2020-12-06T13:52:04Z luna_is_here quit (Ping timeout: 240 seconds) 2020-12-06T13:52:21Z amb007 joined #lisp 2020-12-06T13:53:17Z luna_is_here joined #lisp 2020-12-06T13:53:20Z abel-abel quit 2020-12-06T13:55:28Z abel-abel joined #lisp 2020-12-06T13:57:10Z aartaka joined #lisp 2020-12-06T13:58:32Z cosimone joined #lisp 2020-12-06T14:01:46Z dbotton joined #lisp 2020-12-06T14:02:26Z cosimone quit (Remote host closed the connection) 2020-12-06T14:02:33Z gzj quit (Remote host closed the connection) 2020-12-06T14:02:41Z cosimone joined #lisp 2020-12-06T14:03:03Z cosimone quit (Remote host closed the connection) 2020-12-06T14:05:15Z cosimone joined #lisp 2020-12-06T14:06:03Z gxt quit (Ping timeout: 240 seconds) 2020-12-06T14:06:06Z Josh_2: Is there an built in function I can use to find the common elements between a list of strings? 2020-12-06T14:06:23Z phoe: common elements, what do you mean? 2020-12-06T14:06:33Z phoe: could you give some example input and output? 2020-12-06T14:08:07Z yitzi joined #lisp 2020-12-06T14:08:37Z karayan quit (Ping timeout: 264 seconds) 2020-12-06T14:08:57Z karayan joined #lisp 2020-12-06T14:10:04Z Nilby: Josh_2: Do you mean something like (intersection '("foo" "bar" "baz") '("this" "is" "foo") :test #'equal) => ("foo") 2020-12-06T14:10:05Z aeth: You can probably use SEARCH or a regex library like cl-ppcre, if that's what you mean. 2020-12-06T14:10:49Z jprajzne joined #lisp 2020-12-06T14:11:18Z hendursa1 quit (Quit: hendursa1) 2020-12-06T14:11:41Z hendursaga joined #lisp 2020-12-06T14:12:59Z aeth: heh, I guess that was very vague if Nilby interpreted it as "common strings" and I interpreted it as "common substrings" 2020-12-06T14:13:50Z Lord_of_Life_ joined #lisp 2020-12-06T14:14:36Z Lord_of_Life quit (Ping timeout: 240 seconds) 2020-12-06T14:14:46Z Nilby: Playing the game of "guess that vague function" 2020-12-06T14:15:52Z Josh_2: aeth: common characters between strings 2020-12-06T14:16:25Z EvW joined #lisp 2020-12-06T14:18:47Z aeth: just character counts? that can be a hash table in a hash table (with the string one using #'EQUAL as the :test) 2020-12-06T14:20:41Z aeth: (you wouldn't even need an inner string hash table if it's just present/not instead of counting them) 2020-12-06T14:23:10Z dhil quit (Ping timeout: 256 seconds) 2020-12-06T14:24:09Z dbotton quit (Ping timeout: 260 seconds) 2020-12-06T14:25:06Z dbotton joined #lisp 2020-12-06T14:25:08Z urek quit (Read error: Connection reset by peer) 2020-12-06T14:26:06Z urek joined #lisp 2020-12-06T14:28:22Z minion quit (Ping timeout: 246 seconds) 2020-12-06T14:28:30Z specbot quit (Ping timeout: 256 seconds) 2020-12-06T14:31:18Z luna_is_here_ joined #lisp 2020-12-06T14:31:49Z karstensrage quit (Quit: ZNC - http://znc.in) 2020-12-06T14:32:34Z abel-abel quit (Ping timeout: 246 seconds) 2020-12-06T14:33:04Z luna_is_here quit (Ping timeout: 240 seconds) 2020-12-06T14:34:09Z minion joined #lisp 2020-12-06T14:34:11Z specbot joined #lisp 2020-12-06T14:36:35Z abel-abel joined #lisp 2020-12-06T14:38:06Z Josh_2: aeth: yes just character counts 2020-12-06T14:39:16Z amb007 quit (Remote host closed the connection) 2020-12-06T14:43:52Z nkatte joined #lisp 2020-12-06T14:50:25Z orivej joined #lisp 2020-12-06T14:50:50Z Josh_2: aeth: https://plaster.tymoon.eu/view/2182#2182 this is what I came up with 2020-12-06T14:50:58Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-12-06T14:51:53Z Aurora_v_kosmose joined #lisp 2020-12-06T14:52:05Z _mefairS` joined #lisp 2020-12-06T14:53:00Z amb007 joined #lisp 2020-12-06T14:53:24Z _mefairS` quit (Excess Flood) 2020-12-06T14:54:25Z _mefairS` joined #lisp 2020-12-06T14:55:18Z _mefairS` quit (Remote host closed the connection) 2020-12-06T14:56:24Z aartaka quit (Read error: Connection reset by peer) 2020-12-06T14:56:30Z aartaka_d joined #lisp 2020-12-06T14:57:55Z _mefairS` joined #lisp 2020-12-06T14:58:10Z JohnMS_AWAY is now known as JohnMS 2020-12-06T14:59:23Z charlie770 quit (Quit: thatsit) 2020-12-06T15:00:05Z eden quit (Quit: Leaving) 2020-12-06T15:01:13Z _mefairS` quit (Read error: Connection reset by peer) 2020-12-06T15:03:55Z nowhere_man quit (Ping timeout: 272 seconds) 2020-12-06T15:04:53Z cosimone quit (Quit: cosimone) 2020-12-06T15:06:04Z EvW quit (Ping timeout: 240 seconds) 2020-12-06T15:06:58Z luna_is_here_ quit (Read error: Connection reset by peer) 2020-12-06T15:07:23Z luna_is_here joined #lisp 2020-12-06T15:09:20Z abel-abel quit 2020-12-06T15:11:07Z treflip joined #lisp 2020-12-06T15:12:48Z nowhere_man joined #lisp 2020-12-06T15:13:38Z skapata joined #lisp 2020-12-06T15:16:49Z EvW joined #lisp 2020-12-06T15:19:50Z nowhere_man quit (Remote host closed the connection) 2020-12-06T15:20:12Z nowhere_man joined #lisp 2020-12-06T15:25:27Z JohnMS quit (Quit: Konversation terminated!) 2020-12-06T15:26:59Z treflip quit (Quit: WeeChat 2.6) 2020-12-06T15:27:52Z aartaka_d quit (Ping timeout: 246 seconds) 2020-12-06T15:27:53Z amb007 quit (Read error: Connection reset by peer) 2020-12-06T15:28:09Z amb007 joined #lisp 2020-12-06T15:38:07Z EvW quit (Ping timeout: 272 seconds) 2020-12-06T15:39:25Z amb007 quit (Read error: Connection reset by peer) 2020-12-06T15:41:33Z amb007 joined #lisp 2020-12-06T15:42:04Z amb007 quit (Read error: Connection reset by peer) 2020-12-06T15:43:42Z aeth: Josh_2: just at a glance, if you replace the outer LOOP with a MAP NIL then you make it generic across all sequences 2020-12-06T15:44:12Z jrm2 joined #lisp 2020-12-06T15:44:35Z aeth: Josh_2: And I think you can remove the branch (where you setf to 1 instead of incf) if you set the default value (the optional 3rd argument) of GETHASH to 0 2020-12-06T15:44:50Z jrm quit (Ping timeout: 256 seconds) 2020-12-06T15:44:51Z jrm2 is now known as jrm 2020-12-06T15:45:07Z aeth: Josh_2: i.e. (incf (gethash char chars 0)) 2020-12-06T15:45:19Z Josh_2: Oh I didn't know you could do that 2020-12-06T15:45:38Z amb007 joined #lisp 2020-12-06T15:46:21Z dhil joined #lisp 2020-12-06T15:46:22Z amb007 quit (Read error: Connection reset by peer) 2020-12-06T15:47:52Z banjomet joined #lisp 2020-12-06T15:47:52Z aeth: it appears to work 2020-12-06T15:47:54Z aeth: (let ((h (make-hash-table))) (incf (gethash :foo h 0)) (gethash :foo h)) => 1 2020-12-06T15:48:05Z Josh_2: Yep 2020-12-06T15:48:06Z amb007 joined #lisp 2020-12-06T15:48:33Z Josh_2: Thanks for pointing those improvements out :) 2020-12-06T15:48:40Z amb007 quit (Read error: Connection reset by peer) 2020-12-06T15:48:52Z aeth: you're welcome 2020-12-06T15:51:06Z amb007 joined #lisp 2020-12-06T15:53:19Z amb007 quit (Read error: Connection reset by peer) 2020-12-06T15:53:19Z Nilby quit (Read error: Connection reset by peer) 2020-12-06T15:55:06Z cosimone joined #lisp 2020-12-06T15:55:09Z banjomet: so there are 443 people on #lisp, and only 316 on #clojure, yet I thought clojure was the popular one? 2020-12-06T15:56:01Z banjomet: on reddit /r/lisp has 29,992 and /r/clojure has 24,653 2020-12-06T15:57:03Z lotuseater: and if you go by statistics one of the best paid langs 2020-12-06T15:57:52Z jackdaniel: I think that statistics would be different for a channels #clojure-nand-lisp (and vice versa) 2020-12-06T15:58:02Z aindilis quit (Ping timeout: 256 seconds) 2020-12-06T15:58:26Z amb007 joined #lisp 2020-12-06T15:59:25Z jackdaniel: s/a // 2020-12-06T15:59:26Z amb007 quit (Read error: Connection reset by peer) 2020-12-06T16:01:07Z banjomet: the one thing I really want to use lisp for is js stuff, and I have been doing research and it seems like jscl is only a recent endeavor that is missing a little bit to be complete. that's the only thing pushing me towards clojure (really clojurescript). 2020-12-06T16:02:03Z amb007 joined #lisp 2020-12-06T16:03:23Z banjomet: using the debugger for js-world would be so awesome 2020-12-06T16:04:00Z aartaka joined #lisp 2020-12-06T16:04:09Z lotuseater: isn't there also a compiler named JACL? 2020-12-06T16:05:02Z aeth: banjomet: My guess is... More people want to use Common Lisp (and do so as a hobby), but more people get paid to use Clojure (and so Clojure will probably be more popular on things like StackOverflow) 2020-12-06T16:05:25Z aeth: I, for one, wouldn't want to be tied to Oracle's JVM... 2020-12-06T16:06:07Z aeth: (I guess ClojureScript is a thing, though.) 2020-12-06T16:06:30Z aeth: banjomet: As for CL in the browser, my guess is that you won't get a complete one until WASM is capable of hosting a complete one. 2020-12-06T16:07:09Z lotuseater: have no idea, but what if using ABCL to wrap things around clojurescript for using the debugger or something else? 2020-12-06T16:08:50Z banjomet: aeth, why would you do that instead of using the vm for js? I see projects like that and I guess I just don't understand what prompts it. 2020-12-06T16:10:34Z luna_is_here quit (Read error: Connection reset by peer) 2020-12-06T16:10:34Z amb007 quit (Read error: Connection reset by peer) 2020-12-06T16:11:02Z Lycurgus joined #lisp 2020-12-06T16:11:20Z aeth: banjomet: There are a dozen or so complete Scheme->JS because Scheme is small so a merely "complete" Scheme doesn't give you much. There are two or so incomplete CL->JS because CL is large, so it's hard to be complete. ClojureScript is a bit of an exception as far as this trend goes, but you probably can't use (m)any Clojure libraries with it. 2020-12-06T16:11:53Z aeth: You could probably implement enough of a subset of CL in JS to bootstrap the rest, but that'd still be a lot of work. 2020-12-06T16:12:00Z cosimone quit (Remote host closed the connection) 2020-12-06T16:12:18Z cosimone joined #lisp 2020-12-06T16:12:43Z dbotton_ joined #lisp 2020-12-06T16:12:51Z aeth: Now, a WASM CL could even give you some degree of CFFI to C-on-WASM, so you would be able to run almost any library, even ones with C dependencies. 2020-12-06T16:12:57Z dbotton quit (Ping timeout: 272 seconds) 2020-12-06T16:13:10Z lotuseater: it's paradox JS was first prototyped in CL 2020-12-06T16:13:25Z aeth: lotuseater: well, it's easier to write a small language in a large language than the other way around 2020-12-06T16:13:37Z amb007 joined #lisp 2020-12-06T16:13:42Z EvW joined #lisp 2020-12-06T16:13:46Z aeth: JS-in-CL or Scheme-in-CL or Lua-in-CL, etc., would all be way easier than the other direction. 2020-12-06T16:14:58Z MichaelRaskin: ECMAScript6 is _also_ not too small. of course… 2020-12-06T16:15:01Z lotuseater: yes you're right aeth :) but some of the inconsistencies of the running language let me question it has been designed by someone who knows computer science 2020-12-06T16:15:19Z aeth: MichaelRaskin: Well, yes, but the JS-in-CL is very ancient, to the point where writing one from scratch would probably be a worthwhile project. 2020-12-06T16:15:24Z aeth: Probably 10+ years 2020-12-06T16:15:59Z aeth: The Scheme in CL (excluding my own incomplete project, of course) is Pseudoscheme and was an incomplete R4RS from the early 90s (or late 80s?) when Scheme was even smaller than today. 2020-12-06T16:16:12Z aeth: I don't think there's a Lua in CL, but it should be an easy project, to the point where I might write one at some point. 2020-12-06T16:16:15Z banjomet: yeah but the size is the main reason. instead of huge images you would be shipping around incredibly small things. 2020-12-06T16:16:29Z banjomet: I think, I am playing around with jscl right now to verify 2020-12-06T16:17:59Z luna_is_here joined #lisp 2020-12-06T16:18:02Z aeth: (I mentioned Lua because there is a Lisp-in-Lua, but it's far from being as featureful as a full CL implementation) 2020-12-06T16:18:15Z Lycurgus quit (Quit: Exeunt) 2020-12-06T16:19:03Z aeth: banjomet: Yes, but the small size of something like JSCL is at the cost of full standards conformance, or at the very least conformance to de facto standards that everyone follows, but that aren't strictly required (like having octet arrays) 2020-12-06T16:19:34Z aeth: (every major implementation except CLISP also has single-float and double-float arrays, which would also be sacrificed in a CL->JS implementation) 2020-12-06T16:20:40Z aeth: Ideally, you'd probably have both, using a simple Lispy JS to do the JS parts that WASM can't do, while relying on the full CL image for most of the logic. 2020-12-06T16:30:29Z jibanes quit (Ping timeout: 265 seconds) 2020-12-06T16:32:15Z jibanes joined #lisp 2020-12-06T16:32:26Z aeth: "Lispy JS" is more of what Parenscript is trying to do, though, not JSCL 2020-12-06T16:34:36Z dbotton_ quit (Ping timeout: 272 seconds) 2020-12-06T16:34:43Z dbotton__ joined #lisp 2020-12-06T16:36:46Z rumbler31 quit (Read error: Connection reset by peer) 2020-12-06T16:37:24Z rumbler31 joined #lisp 2020-12-06T16:38:31Z banjomet: jscl checks in at 1.6 megabytes but I am having trouble figuring out how to run the ansi tests 2020-12-06T16:38:39Z banjomet: for the js compiled output 2020-12-06T16:39:20Z dbotton__ quit (Client Quit) 2020-12-06T16:39:33Z galex-713 quit (Ping timeout: 272 seconds) 2020-12-06T16:42:20Z aeth: Imo, someone needs to write more-than-ansi tests for all of the extra things someone expects from an implementation... 2020-12-06T16:42:26Z aeth: e.g. (mapcar (lambda (x) (alexandria:type= x (upgraded-array-element-type x))) '((unsigned-byte 8) (signed-byte 8) (unsigned-byte 16) (signed-byte 16) (unsigned-byte 32) (signed-byte 32) double-float single-float)) 2020-12-06T16:43:27Z aeth: There are other, harder, things, like... does DECLARE type check? Does :type in slots in DEFSTRUCT typecheck on creation and setting? In DEFCLASS? 2020-12-06T16:43:44Z aeth: Technically, my test also tests that single-float and double-float are distinct, so that doesn't have to be tested. 2020-12-06T16:44:00Z luna_is_here quit (Remote host closed the connection) 2020-12-06T16:44:39Z aeth: maybe a "large fixnum" test, too, e.g. (>= (log (- most-positive-fixnum most-negative-fixnum) 2) 60) 2020-12-06T16:45:08Z luna_is_here joined #lisp 2020-12-06T16:46:55Z aeth: If there's no reliable unicode test, maybe a combination of (> (log char-code-limit 2) 8) and a few code-char/char-code to verify a Unicode mapping. 2020-12-06T16:48:50Z galex-713 joined #lisp 2020-12-06T16:49:39Z thmprover joined #lisp 2020-12-06T16:50:03Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-06T16:50:32Z luckless_ joined #lisp 2020-12-06T16:55:20Z dbotton__ joined #lisp 2020-12-06T16:56:37Z rfn quit (Remote host closed the connection) 2020-12-06T16:59:37Z gzj joined #lisp 2020-12-06T17:01:55Z Misha_B quit (Remote host closed the connection) 2020-12-06T17:01:58Z semz joined #lisp 2020-12-06T17:03:07Z Misha_B joined #lisp 2020-12-06T17:04:40Z gzj quit (Ping timeout: 256 seconds) 2020-12-06T17:05:14Z zaquest joined #lisp 2020-12-06T17:05:28Z zaquest quit (Read error: Connection reset by peer) 2020-12-06T17:08:39Z byallahyourpfpgi is now known as gloriamdeo[m] 2020-12-06T17:15:25Z luna_is_here quit (Read error: Connection reset by peer) 2020-12-06T17:20:23Z luna_is_here joined #lisp 2020-12-06T17:20:38Z Inline quit (Remote host closed the connection) 2020-12-06T17:25:29Z thmprover: OK, I'm starting to wonder if I'm not using package names effectively. 2020-12-06T17:26:06Z thmprover: For example, instead of defining constants prefixed with "axiom-", I could have an "axiom" package, and define axioms within it. 2020-12-06T17:26:24Z thmprover: So instead of "axiom-add-implies", I'd have "axiom:add-implies". 2020-12-06T17:28:38Z beach: Definitely. 2020-12-06T17:31:06Z abhixec joined #lisp 2020-12-06T17:31:08Z Alfr: thmprover, not sure axiom is a good name for that package. There's a CAS name Axiom in CL and i suspect that it provides an axiom package. 2020-12-06T17:32:02Z beach: Ah, yes, choose a unique name. And then use package-local nicknames. 2020-12-06T17:32:06Z thmprover: Alfr: true, it's just the example I'm looking at, at the moment; I need to distinguish different foundations, so I'll probably use a different name. 2020-12-06T17:32:22Z thmprover: "fol-axiom" is probably the package I'll be using 2020-12-06T17:32:23Z beach: For example, I prefix all my SICL package names with SICL-. 2020-12-06T17:32:57Z beach: But I use ENV as a local nickname for SICL-ENVIRONMENT. 2020-12-06T17:34:51Z elflng quit (Read error: No route to host) 2020-12-06T17:34:53Z phoe: thmprover: (defpackage my-package (:use ...) (:local-nicknames (#:a #:absolutely-long-package-name-that-conflicts-with-nothing))) 2020-12-06T17:35:02Z phoe: then, in my-package, (a:foo ...) 2020-12-06T17:35:11Z phoe: package local nicknames are <3 2020-12-06T17:35:55Z urek quit (Ping timeout: 272 seconds) 2020-12-06T17:36:27Z akoana joined #lisp 2020-12-06T17:47:26Z luna_is_here quit (Ping timeout: 246 seconds) 2020-12-06T17:48:00Z agspathis joined #lisp 2020-12-06T17:48:37Z luna_is_here joined #lisp 2020-12-06T17:50:47Z Inline joined #lisp 2020-12-06T17:51:02Z aindilis joined #lisp 2020-12-06T17:52:04Z karayan quit (Quit: Quit) 2020-12-06T17:52:30Z pyc: What exactly is the 'ielm-mode-hook? I have added 'enable-paredit-mode to this and only this hook. I want to know where exactly I can see the paredit working when bound to this hook? 2020-12-06T17:53:24Z mfiano: thmprover: Yes, it's important to use package names that nobody else is using, so that there are no conflicts if people depend on your code. 2 packages of the same name cannot coexist in a Lisp image, which is what package-local nicknames solve, assuming your global name is unique. 2020-12-06T17:53:53Z mfiano: pyc: Try #emacs 2020-12-06T17:56:22Z akoana quit (Quit: leaving) 2020-12-06T17:56:27Z thmprover: Yes, unique package names are good, I was just using a minimal example. 2020-12-06T17:57:09Z adam4567 quit (Remote host closed the connection) 2020-12-06T18:00:57Z notzmv joined #lisp 2020-12-06T18:01:23Z aeth: phoe: the only problem with that is that a is usually alexandria 2020-12-06T18:03:02Z mfiano: That's not a problem. It's local 2020-12-06T18:03:26Z phoe: aeth: what mfiano said 2020-12-06T18:03:32Z nkatte quit (Ping timeout: 246 seconds) 2020-12-06T18:03:36Z phoe: call it alpn or whatever 2020-12-06T18:03:41Z pillton_ quit (Ping timeout: 256 seconds) 2020-12-06T18:03:51Z mfiano: One may indeed want a to be used for something else if it is more ubiquitous 2020-12-06T18:04:57Z pillton_ joined #lisp 2020-12-06T18:06:01Z Jeanne-Kamikaze joined #lisp 2020-12-06T18:06:53Z euandreh quit (Quit: ERC (IRC client for Emacs 27.1)) 2020-12-06T18:07:25Z aeth: phoe: imo, one char should be reserved for util libraries, since you don't really need more context than that. 2020-12-06T18:07:30Z aeth: with a being alexandria. 2020-12-06T18:07:37Z aeth: Of course, you can do whatever you want, but just because you can, doesn't mean you should 2020-12-06T18:07:39Z mfiano: That is an odd restriction 2020-12-06T18:08:17Z phoe: aeth: you know 2020-12-06T18:08:20Z phoe: your package, your rules 2020-12-06T18:08:29Z phoe: that's the whole point :D 2020-12-06T18:09:00Z phoe: that's not an invitation to write unreadable code; more like, make full use of local nicknames. 2020-12-06T18:09:23Z aeth: I mean, you can name variables whatever you want without conflict because of packages, but there are generally are style guidelines for those, too 2020-12-06T18:09:37Z phoe: there are no guidelines for PLNs; is it time for creating any? 2020-12-06T18:09:45Z aeth: If I see "a", I'll assume "alexandria", in general 2020-12-06T18:09:54Z notzmv quit (Read error: No route to host) 2020-12-06T18:09:59Z aeth: Probably the rest of the one char ones are safe. Probably. 2020-12-06T18:10:10Z phoe: aeth: it could be a for aurum 2020-12-06T18:10:15Z phoe: which stands for golden-utils 2020-12-06T18:10:24Z aeth: way less common, though 2020-12-06T18:11:10Z phoe: with PLNs, one cannot assume anymore 2020-12-06T18:11:12Z notzmv joined #lisp 2020-12-06T18:11:12Z mfiano: I personally use U for golden-utils (because it re-exports alexandria), and currently A for my "Actor" package 2020-12-06T18:11:16Z phoe: that's the whole point 2020-12-06T18:11:18Z mfiano: So to each their own 2020-12-06T18:12:05Z aeth: phoe: I mean, if I see "i", which can exist because of package-local-variable-names and lexical scope, I'm still going to assume it's an integer being iterated over in a loop 2020-12-06T18:12:28Z phoe: aeth: uh wait a second 2020-12-06T18:12:33Z phoe: that would be a package prefix 2020-12-06T18:12:37Z phoe: so i:i or something?... 2020-12-06T18:12:37Z mfiano: Before I see any package qualifier, I first consult the package instead of blindly assuming. 2020-12-06T18:12:42Z phoe: ^ 2020-12-06T18:12:56Z phoe: or just M-. it and see where that's from 2020-12-06T18:12:57Z aeth: phoe: my point is, a:foo to me contextually means something for the same reason that foo:i contextually means something 2020-12-06T18:13:04Z aeth: even though it can, technically, be anything 2020-12-06T18:13:25Z aeth: s/foo:i/foo::i/ 2020-12-06T18:13:33Z phoe: aeth: yes, I see; still, PLNs are the reason why "A" is not just another nickname for Alexandria 2020-12-06T18:14:07Z phoe: they're package-local, so my instinct is to see what they refer to in the package before I assume. 2020-12-06T18:14:41Z aeth: phoe: Yes, but, a:foo can be anything in the context of package foobar just like foobar::i can be anything in the context of package foobar, but just because it can be anything doesn't mean it will be anything. 2020-12-06T18:14:42Z rumbler31 quit (Remote host closed the connection) 2020-12-06T18:14:56Z aeth: Technically possible vs. convention 2020-12-06T18:15:04Z rumbler31 joined #lisp 2020-12-06T18:15:39Z phoe: yes, I understand 2020-12-06T18:15:53Z phoe: and I have to admit that "A" is my usual PLN for Alexandria 2020-12-06T18:16:03Z phoe: but that's in my case, other people gonna have a different configuration. 2020-12-06T18:16:47Z aeth: Since alexandria is by far the most commonly used A package name, I would, all things being equal, assume A=ALEXANDRIA and it would be unusual in other contexts, just like FOO::I would be unusual if you used it for something other than an iterated integer 2020-12-06T18:16:53Z aeth: Although, yes, you can do it 2020-12-06T18:17:00Z mrchampion_ joined #lisp 2020-12-06T18:17:18Z urek joined #lisp 2020-12-06T18:17:23Z aeth: And there are some other reasonable niche cases where i might make sense, e.g. some mathy stuff that use i j k in the original mathy context, rather than iteration 2020-12-06T18:18:52Z aeth: I don't think there are any other single-character cases where such a package local nickname would dominate like a for alexandria. Maybe, for two characters, "re" for "cl-ppcre" since there's only really one popular regex library. 2020-12-06T18:19:17Z phoe: φ 2020-12-06T18:19:23Z phoe: ;; for phoe-toolbox, obviously 2020-12-06T18:19:34Z mfiano does not use alexandria directly so has the freedom to use such a common character for more appropriate packages. 2020-12-06T18:19:37Z elflng joined #lisp 2020-12-06T18:19:47Z aeth: phoe: nah, that's for calculating the golden ratio 2020-12-06T18:19:58Z phoe: but yeah, if golden-utils reexports alexandria then his a: is like alexandria on steroids 2020-12-06T18:19:58Z Inline: metallic ratios 2020-12-06T18:20:00Z mrchampion quit (Ping timeout: 260 seconds) 2020-12-06T18:20:06Z phoe: aeth: I mean like a package name instead of a function name 2020-12-06T18:20:12Z phoe: φ:φ would calculate the golden ratio 2020-12-06T18:20:16Z aeth: right 2020-12-06T18:20:33Z mfiano: I also shadow global nicknames with pln's in some cases, which works. 2020-12-06T18:20:35Z akoana joined #lisp 2020-12-06T18:20:39Z Inline: not sure if i'll discover ametallic ratios 2020-12-06T18:20:43Z Inline: plastic ratio 2020-12-06T18:20:44Z Inline: lol 2020-12-06T18:20:44Z aeth: phoe: while φ:+φ+ would be the golden ratio in double precision 2020-12-06T18:20:46Z mfiano: Such as verbose defining a global nickname of V. That gets in the way frequently 2020-12-06T18:20:52Z phoe: aeth: yes 2020-12-06T18:20:54Z lotuseater: don't forget φ is also used for Euler's phi function :) 2020-12-06T18:21:00Z aeth: lotuseater: that's euler: 2020-12-06T18:21:06Z aeth: sorry, euler:φ 2020-12-06T18:21:06Z phoe: lotuseater: well we have a conflict, euler:φ and golden-ratio:φ 2020-12-06T18:21:18Z phoe: and there's φ:φ which signals an error because it's ambiguous 2020-12-06T18:21:40Z phoe: mfiano: yes, verbose might want to remove it someday 2020-12-06T18:22:02Z lotuseater: oh there's a package named euler? 2020-12-06T18:22:04Z mfiano: I think shinmera said something about too late to do that now with backward-compat and all 2020-12-06T18:22:13Z aeth: lotuseater: I mean, we're joking, but yes 2020-12-06T18:22:26Z aeth: lotuseater: I have a euler-lib to make all of my Project Euler solutions trivial 2020-12-06T18:22:27Z lotuseater: :D 2020-12-06T18:22:48Z aeth: It's not public, though, because I literally just use the Project Euler solutions as the unit tests. 2020-12-06T18:23:09Z lotuseater: i should port more of my hs math libs sometime 2020-12-06T18:23:17Z aeth: high school math? 2020-12-06T18:23:38Z lotuseater: funny :D no, Haskell. some "higher" mathematics 2020-12-06T18:23:45Z KREYREEN joined #lisp 2020-12-06T18:23:46Z surabax quit (Read error: Connection reset by peer) 2020-12-06T18:23:53Z aeth: yes... the context was name conflicts so I couldn't resist 2020-12-06T18:24:22Z amb007 quit (Read error: Connection reset by peer) 2020-12-06T18:24:26Z lotuseater: hehe okay 2020-12-06T18:24:48Z rogersm joined #lisp 2020-12-06T18:25:27Z lotuseater: but the most is also for project euler, hope to finish some more exercises till end of the year 2020-12-06T18:25:38Z lotuseater: of someone wants we could exchange keys 2020-12-06T18:27:41Z amb007 joined #lisp 2020-12-06T18:29:44Z amb007 quit (Read error: Connection reset by peer) 2020-12-06T18:29:57Z amb007 joined #lisp 2020-12-06T18:31:58Z phoe: mfiano: https://github.com/Shinmera/verbose/issues/5 2020-12-06T18:31:59Z amb007 quit (Read error: Connection reset by peer) 2020-12-06T18:32:01Z phoe: so, actually 2020-12-06T18:33:00Z amb007 joined #lisp 2020-12-06T18:33:11Z surabax joined #lisp 2020-12-06T18:37:01Z Bike joined #lisp 2020-12-06T18:37:28Z phoe: Xach: I think we will need your assistance with this one 2020-12-06T18:38:44Z Xach: You can build things as well as I can! 2020-12-06T18:38:50Z Xach: Possibly better! 2020-12-06T18:39:21Z KREYREEEEN joined #lisp 2020-12-06T18:40:23Z mfiano: I think he wants you to try rebuilding all of Quicklisp with that modification to Verbose, to get your pretty failure report :) 2020-12-06T18:40:24Z amb007 quit (Read error: Connection reset by peer) 2020-12-06T18:40:49Z rogersm quit (Quit: Leaving...) 2020-12-06T18:40:58Z hnOsmium0001 joined #lisp 2020-12-06T18:41:08Z KREYREEN quit (Quit: Leaving) 2020-12-06T18:41:12Z amb007 joined #lisp 2020-12-06T18:41:34Z Bike: minion? 2020-12-06T18:41:34Z amb007 quit (Read error: Connection reset by peer) 2020-12-06T18:41:43Z Bike: hm. phoe left me some notes but they're not appearing 2020-12-06T18:41:47Z amb007 joined #lisp 2020-12-06T18:41:55Z Bike: ah, "memo for Bike:" 2020-12-06T18:42:21Z dbotton__: I asked this once before but maybe someone else knows, is there a way to launch a task with lparallels that disregards its result? (Ie just like a make-thread but uses one of lparallel's worker threads) 2020-12-06T18:44:33Z phoe: Xach: ! 2020-12-06T18:44:45Z phoe: how can I build things the way you build things though? 2020-12-06T18:44:51Z lotuseater: speaking of lparallel, how much threads do you normally declare for the kernel? 2020-12-06T18:45:34Z phoe: dbotton__: I don't really know; I've always just done the wait-for-result thingy or however it is called 2020-12-06T18:45:51Z phoe: lotuseater: as many as required; not more than logical cores on my machine 2020-12-06T18:46:36Z phoe: also, mfiano's right - I want to see how many patches will be required and to what repositories when we incompatibly change Verbose 2020-12-06T18:49:06Z Bike: well, whatevs. phoe, i don't know if this is your day off or not, but for when it's not, unwinding through every frame is like, fine, with ZCEH. that's not the slow part 2020-12-06T18:49:25Z phoe: Bike: well it was supposed to be 2020-12-06T18:49:30Z phoe: maybe we should move it off #lisp though 2020-12-06T18:49:45Z lotuseater: yeah more than physical wouldn't be parallel 2020-12-06T18:50:02Z judson_ joined #lisp 2020-12-06T18:51:10Z Xach: phoe: you could look at systems.txt and see who uses verbose. then change verbose, and try to load each of those things. 2020-12-06T18:53:02Z phoe: Xach: OK. This sounds good 2020-12-06T18:55:16Z amb007 quit (Read error: Connection reset by peer) 2020-12-06T18:55:48Z amb007 joined #lisp 2020-12-06T18:57:04Z EvW quit (Ping timeout: 240 seconds) 2020-12-06T18:59:35Z judson_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-06T19:00:57Z dbotton__: Lotuseater, ideally 1 worker task per core 2020-12-06T19:08:07Z karayan joined #lisp 2020-12-06T19:08:34Z jprajzne quit (Remote host closed the connection) 2020-12-06T19:14:00Z EvW joined #lisp 2020-12-06T19:14:49Z aartaka quit (Ping timeout: 265 seconds) 2020-12-06T19:14:58Z Lord_of_Life_ is now known as Lord_of_Life 2020-12-06T19:16:10Z Lord_of_Life quit (Changing host) 2020-12-06T19:16:10Z Lord_of_Life joined #lisp 2020-12-06T19:18:03Z judson_ joined #lisp 2020-12-06T19:18:16Z phoe: where/query gendl 2020-12-06T19:18:20Z phoe: uh I mean 2020-12-06T19:18:31Z phoe: nice weather, isn't it 2020-12-06T19:21:05Z amb007 quit (Read error: Connection reset by peer) 2020-12-06T19:22:02Z amb007 joined #lisp 2020-12-06T19:23:26Z agspathis quit (Remote host closed the connection) 2020-12-06T19:23:46Z KREYREEEEN quit (Remote host closed the connection) 2020-12-06T19:23:50Z amb007 quit (Read error: Connection reset by peer) 2020-12-06T19:24:17Z toorevitimirp quit (Remote host closed the connection) 2020-12-06T19:24:17Z amb007 joined #lisp 2020-12-06T19:24:29Z francogrex joined #lisp 2020-12-06T19:24:33Z rumbler31 quit (Remote host closed the connection) 2020-12-06T19:25:32Z francogrex: hi do you think creating executables from lisp would be easy? (I know it's feasible, I have no doubt): https://www.muppetlabs.com/~breadbox/software/tiny/teensy.html 2020-12-06T19:26:07Z phoe: francogrex: executables? what do you mean? 2020-12-06T19:26:22Z phoe: it is easy, use uiop:dump or Shinmera's Deploy for portable creation of executables 2020-12-06T19:26:37Z phoe: they are not going to be this tiny 2020-12-06T19:26:49Z phoe: but the process is there and has been battle-tested many times 2020-12-06T19:29:55Z francogrex: phoe, I don't mean create executables from CL programs, but to directly write bytes 2020-12-06T19:29:55Z amb007 quit (Read error: Connection reset by peer) 2020-12-06T19:30:10Z liberliver joined #lisp 2020-12-06T19:30:17Z amb007 joined #lisp 2020-12-06T19:30:24Z francogrex: much likes nasm/fasm or gcc does 2020-12-06T19:32:34Z amb007 quit (Read error: Connection reset by peer) 2020-12-06T19:34:29Z rumbler31 joined #lisp 2020-12-06T19:34:32Z amb007 joined #lisp 2020-12-06T19:35:42Z amb007 quit (Read error: Connection reset by peer) 2020-12-06T19:36:12Z amb007 joined #lisp 2020-12-06T19:36:16Z phoe: francogrex: oh wait, you mean, directly write memory and make it executable? 2020-12-06T19:36:39Z phoe: I know one person who had some success with that - writing code as bytes, making this memory executable, calling this function via CFFI 2020-12-06T19:38:22Z abhixec quit (Quit: leaving) 2020-12-06T19:38:22Z amb007 quit (Read error: Connection reset by peer) 2020-12-06T19:38:43Z francogrex: lol, one person, a legend! 2020-12-06T19:39:22Z rumbler31 quit (Ping timeout: 256 seconds) 2020-12-06T19:39:25Z amb007 joined #lisp 2020-12-06T19:39:56Z phoe: eh 2020-12-06T19:40:02Z phoe: more like they were toying with it 2020-12-06T19:40:17Z phoe: there's little use for doing that inside Lisp 2020-12-06T19:40:20Z phoe: what's your use case? 2020-12-06T19:40:48Z abhixec joined #lisp 2020-12-06T19:41:48Z waleee-cl joined #lisp 2020-12-06T19:43:11Z nullheroes quit (Quit: WeeChat 2.9) 2020-12-06T19:44:57Z francogrex: phoe: no use, just fun 2020-12-06T19:46:18Z francogrex: but phoe, FYI, I did myself write this: https://rosettacode.org/wiki/Machine_code#Common_Lisp 2020-12-06T19:47:27Z francogrex: but i want now a standalone 2020-12-06T19:47:38Z francogrex: self executable 2020-12-06T19:47:44Z karayan quit (Ping timeout: 260 seconds) 2020-12-06T19:47:47Z phoe: a self executable doing what? 2020-12-06T19:47:57Z karayan joined #lisp 2020-12-06T19:48:48Z phoe: also this rosetta code example has poor style for global variables 2020-12-06T19:49:00Z phoe: they *really* should have earmuffs 2020-12-06T19:49:55Z francogrex: I wrote it when i was still a toddler 2020-12-06T19:52:58Z notzmv` joined #lisp 2020-12-06T19:54:41Z dbotton__ quit (Quit: This computer has gone to sleep) 2020-12-06T19:54:51Z dbotton__ joined #lisp 2020-12-06T19:54:51Z dbotton__ quit (Client Quit) 2020-12-06T19:54:54Z notzmv quit (Ping timeout: 256 seconds) 2020-12-06T19:57:44Z terpri quit (Ping timeout: 256 seconds) 2020-12-06T20:01:34Z terpri joined #lisp 2020-12-06T20:09:55Z andreyorst quit (Ping timeout: 265 seconds) 2020-12-06T20:11:32Z notzmv` is now known as notzmv 2020-12-06T20:11:56Z notzmv quit (Changing host) 2020-12-06T20:11:56Z notzmv joined #lisp 2020-12-06T20:12:37Z KREYREEN joined #lisp 2020-12-06T20:14:26Z galex-713 quit (Ping timeout: 246 seconds) 2020-12-06T20:15:15Z karlosz joined #lisp 2020-12-06T20:18:14Z liberliver quit (Ping timeout: 260 seconds) 2020-12-06T20:22:52Z villanella quit (Quit: villanella) 2020-12-06T20:22:57Z villanella1 joined #lisp 2020-12-06T20:23:57Z galex-713 joined #lisp 2020-12-06T20:24:12Z aartaka joined #lisp 2020-12-06T20:24:12Z villanella1 quit (Client Quit) 2020-12-06T20:29:01Z aartaka quit (Ping timeout: 264 seconds) 2020-12-06T20:29:49Z francogrex quit (Remote host closed the connection) 2020-12-06T20:30:47Z sookablyat quit (Quit: leaving) 2020-12-06T20:42:30Z rumbler31 joined #lisp 2020-12-06T20:47:02Z rumbler31 quit (Ping timeout: 256 seconds) 2020-12-06T20:49:36Z Bike quit (Remote host closed the connection) 2020-12-06T20:49:52Z narimiran quit (Ping timeout: 246 seconds) 2020-12-06T20:55:19Z nowhere_man quit (Remote host closed the connection) 2020-12-06T20:55:42Z nowhere_man joined #lisp 2020-12-06T21:09:40Z thmprover quit (Quit: For He Was Great of Heart) 2020-12-06T21:10:30Z Guest98239 joined #lisp 2020-12-06T21:12:36Z shka_ quit (Ping timeout: 240 seconds) 2020-12-06T21:14:38Z EvW quit (Ping timeout: 246 seconds) 2020-12-06T21:23:21Z Josh_2: Just took a look at the jonathan json parser, a single 300 line function 2020-12-06T21:24:56Z rumbler31 joined #lisp 2020-12-06T21:26:23Z no-defun-allowed also wonders how @doc "..." (defun ...) is easier than (defun name (args ...) "..." ...) 2020-12-06T21:27:38Z Guest98239 left #lisp 2020-12-06T21:30:05Z EvW joined #lisp 2020-12-06T21:30:08Z karstensrage joined #lisp 2020-12-06T21:37:25Z lucasb joined #lisp 2020-12-06T21:38:42Z karstensrage left #lisp 2020-12-06T21:39:44Z iGherghe joined #lisp 2020-12-06T21:41:46Z jonatack quit (Ping timeout: 272 seconds) 2020-12-06T21:42:48Z rumbler31 quit (Remote host closed the connection) 2020-12-06T21:44:52Z oni-on-ion: personally the preference is to document before declaration/definition of said function 2020-12-06T21:45:40Z GuerrillaMonkey joined #lisp 2020-12-06T21:45:46Z Xach: I'm suddenly wondering if enough people are making their DO macros have nil blocks and implicit tagbodies 2020-12-06T21:47:56Z Jeanne-Kamikaze quit (Ping timeout: 240 seconds) 2020-12-06T21:50:53Z iGherghe quit (Remote host closed the connection) 2020-12-06T21:55:23Z shifty joined #lisp 2020-12-06T21:55:53Z banjomet: francoqrex: I know you aren't here, but you should check out https://pvk.ca/Blog/2014/03/15/sbcl-the-ultimate-assembly-code-breadboard/ 2020-12-06T21:56:21Z bilegeek joined #lisp 2020-12-06T22:01:16Z shifty quit (Ping timeout: 240 seconds) 2020-12-06T22:01:16Z karlosz quit (Ping timeout: 240 seconds) 2020-12-06T22:04:54Z pfdietz joined #lisp 2020-12-06T22:05:16Z bitmapper joined #lisp 2020-12-06T22:07:56Z pfdietz: Xach: ansi-test does test that DO (and related) have implicit tagbodies and NIL blocks. 2020-12-06T22:09:16Z Krystof quit (Ping timeout: 240 seconds) 2020-12-06T22:13:52Z amb007 quit (Ping timeout: 246 seconds) 2020-12-06T22:15:55Z Xach: pfdietz: user-defined DOFOO/DO-FOO should as well! 2020-12-06T22:16:14Z Xach: and they should support declarations at the head of the body 2020-12-06T22:16:31Z blah59 joined #lisp 2020-12-06T22:16:57Z pfdietz: Hmm. I wonder if ITERATE supports a tagbody. 2020-12-06T22:17:59Z pfdietz: It does not. 2020-12-06T22:19:20Z notzmv quit (Read error: No route to host) 2020-12-06T22:19:57Z rumbler31 joined #lisp 2020-12-06T22:20:23Z notzmv joined #lisp 2020-12-06T22:23:56Z rumbler31 quit (Ping timeout: 240 seconds) 2020-12-06T22:25:04Z kaftejiman quit (Remote host closed the connection) 2020-12-06T22:30:26Z dbotton joined #lisp 2020-12-06T22:32:37Z rumbler31 joined #lisp 2020-12-06T22:36:31Z rumbler31 quit (Read error: Connection reset by peer) 2020-12-06T22:36:53Z _death: I usually set up a nil block.. but no tagbody 2020-12-06T22:37:12Z rumbler31 joined #lisp 2020-12-06T22:37:32Z jonatack joined #lisp 2020-12-06T22:38:57Z phoe: (defmacro do-nothing () `(block nil (tagbody))) 2020-12-06T22:42:23Z iskander- quit (Ping timeout: 244 seconds) 2020-12-06T22:43:49Z iskander joined #lisp 2020-12-06T22:48:18Z blah59 left #lisp 2020-12-06T22:48:29Z GuerrillaMonkey quit (Quit: Leaving) 2020-12-06T22:48:39Z Jeanne-Kamikaze joined #lisp 2020-12-06T22:50:54Z Alfr wonders how often do's implicit tagbody is actually used. 2020-12-06T22:50:56Z abhixec quit (Ping timeout: 240 seconds) 2020-12-06T22:53:29Z shifty joined #lisp 2020-12-06T22:56:10Z iskander quit (Quit: bye) 2020-12-06T22:58:37Z iskander joined #lisp 2020-12-06T23:02:22Z KREYREEN quit (Remote host closed the connection) 2020-12-06T23:02:47Z KREYREEN joined #lisp 2020-12-06T23:04:49Z igemnace quit (Remote host closed the connection) 2020-12-06T23:07:33Z pve quit (Quit: leaving) 2020-12-06T23:08:41Z surabax quit (Quit: Leaving) 2020-12-06T23:10:33Z ljavorsk joined #lisp 2020-12-06T23:11:36Z Xach: Alfr: 1000 times per second in some environments 2020-12-06T23:11:59Z dbotton quit (Quit: This computer has gone to sleep) 2020-12-06T23:16:13Z Alfr: Hmpf. Really should've asked for the portion of DOs which have tags with corresponding GOs. 2020-12-06T23:17:24Z Xach: That would be an interesting statistic. I don't use it that often but when you want to skip or retry an interation it is great to have available. 2020-12-06T23:17:29Z florian_ joined #lisp 2020-12-06T23:17:34Z Xach: (interation?) 2020-12-06T23:21:13Z Alfr: Essentially what most other languages call break? 2020-12-06T23:22:04Z Xach: Alfr: yes, but potentially way more flexible. 2020-12-06T23:22:22Z Alfr: Was thinking of this before. But also did never miss this in CL. 2020-12-06T23:22:23Z _death: break would be return.. maybe continue (go end-of-body) 2020-12-06T23:22:41Z Alfr: _death, you're right. :) 2020-12-06T23:23:35Z igemnace joined #lisp 2020-12-06T23:29:42Z Xach: DOLIST + WITH-SIMPLE-RESTART makes it easy to have a processing loop with easy options to "skip this one" or "retry this one" 2020-12-06T23:34:47Z EvW quit (Ping timeout: 260 seconds) 2020-12-06T23:34:57Z MichaelRaskin quit (Quit: MichaelRaskin) 2020-12-06T23:39:30Z abhixec joined #lisp 2020-12-06T23:40:05Z Inline quit (Ping timeout: 272 seconds) 2020-12-06T23:40:51Z EvW joined #lisp 2020-12-06T23:45:55Z judson_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-06T23:46:53Z dbotton joined #lisp 2020-12-06T23:47:32Z igemnace quit (Quit: WeeChat 2.9) 2020-12-06T23:49:03Z igemnace joined #lisp 2020-12-06T23:51:42Z judson_ joined #lisp 2020-12-06T23:53:55Z rumbler31 quit (Remote host closed the connection) 2020-12-06T23:54:51Z rumbler31 joined #lisp 2020-12-06T23:56:08Z flazh quit (Quit: flazh) 2020-12-06T23:56:11Z iskander- joined #lisp 2020-12-06T23:56:36Z iskander quit (Ping timeout: 265 seconds) 2020-12-06T23:57:08Z frgo quit (Read error: Connection reset by peer) 2020-12-06T23:57:35Z frgo joined #lisp 2020-12-07T00:02:49Z judson_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-07T00:04:07Z cosimone quit (Ping timeout: 246 seconds) 2020-12-07T00:04:17Z Nilby joined #lisp 2020-12-07T00:08:35Z florian_ quit (Ping timeout: 272 seconds) 2020-12-07T00:09:56Z Jesin quit (Ping timeout: 240 seconds) 2020-12-07T00:14:29Z dhil quit (Ping timeout: 260 seconds) 2020-12-07T00:19:34Z judson_ joined #lisp 2020-12-07T00:21:27Z flazh joined #lisp 2020-12-07T00:21:55Z FreeBirdLjj joined #lisp 2020-12-07T00:22:28Z skapata quit (Remote host closed the connection) 2020-12-07T00:23:13Z flazh quit (Client Quit) 2020-12-07T00:24:20Z mfiano: I vaguely recall something about lambda's not being compiled. Is this correct? 2020-12-07T00:24:43Z yitzi quit (Quit: yitzi) 2020-12-07T00:26:11Z amb007 joined #lisp 2020-12-07T00:26:45Z lucasb quit (Quit: Connection closed for inactivity) 2020-12-07T00:27:37Z no-defun-allowed: I don't think that's true. 2020-12-07T00:27:56Z no-defun-allowed: When you compile a function, the functions inside it are also compiled. 2020-12-07T00:30:38Z flazh joined #lisp 2020-12-07T00:30:44Z dbotton quit (Quit: This computer has gone to sleep) 2020-12-07T00:31:27Z lotuseater: ah now i remember a question i have: if i use LABELS instead of FLET for closures that are not recursive and do not use each other, is this less efficient? 2020-12-07T00:32:32Z mfiano: Ok, thanks. I wonder what I'm thinking of 2020-12-07T00:34:32Z mfiano: That depends on the compiler. There is nothing in Common Lisp that makes it so 2020-12-07T00:35:22Z moon-child: mfiano: (disassemble (lambda (x y) (+ x y))) works fine and gives reasonable output for me 2020-12-07T00:37:57Z abel-abel joined #lisp 2020-12-07T00:38:20Z no-defun-allowed: lotuseater: Probably not. 2020-12-07T00:39:51Z Rengan joined #lisp 2020-12-07T00:43:21Z Rengan left #lisp 2020-12-07T00:43:52Z Rengan joined #lisp 2020-12-07T00:44:13Z fc2020apt[m] joined #lisp 2020-12-07T00:46:48Z jrm: I asked about this recently, but am still struggling to find a solution. I'm building an OS package using (asdf:oos 'asdf:compile-op :stumpwm :force t), but if the stumpwm package is already install, the fasl files won't be generated in the stage directory and the package build fails. I figured out that if the stumpwm lisp package isn't loaded, then the fasl files will be unconditionally loaded, but that difficult to ensure and causes 2020-12-07T00:46:49Z jrm: other problems. 2020-12-07T00:47:13Z abhixec quit (Ping timeout: 272 seconds) 2020-12-07T00:47:52Z jrm: Is there a way to ensure that the fasl files are always built, even if the stumpwm lisp package is loaded? 2020-12-07T00:51:01Z nowhere_man quit (Ping timeout: 272 seconds) 2020-12-07T00:51:39Z jrm: If there is a better place to ask this type of question, suggestions would be welcome. 2020-12-07T00:51:39Z abhixec joined #lisp 2020-12-07T00:52:26Z fc2020apt[m]: test. i may ask more detailed questions later as soon as i feel ready to start programming, but i've been recommended to learn lisp. i don't know why but it looks far simpler than like C and i'm losing motivation to program these days 2020-12-07T00:54:20Z Xach: jrm: i don't know the answer to your issue - i wonder if there is something stumpwm does specifically relating to how it compiles. 2020-12-07T00:54:33Z Xach: jrm: so maybe a stumpwm forum or list could help. i don't know where that is, though. 2020-12-07T00:55:54Z skapata joined #lisp 2020-12-07T01:01:47Z abel-abel quit (Ping timeout: 272 seconds) 2020-12-07T01:01:47Z abel-abe_ joined #lisp 2020-12-07T01:02:05Z orivej_ joined #lisp 2020-12-07T01:02:45Z jrm: Xach: Cheers. I'm building things a little differently than stumpwm proper does. They generate a 60MB bundle instead of the fasl files. But after two days of messing around, I think I just now realize what's going on. The fasl files are indeed being regenerated, but they are placed in a different location depending on whether stumpwm is loaded. 2020-12-07T01:02:55Z jrm: So maybe something with ASDF_OUTPUT_TRANSLATIONS ? 2020-12-07T01:03:47Z orivej quit (Ping timeout: 265 seconds) 2020-12-07T01:03:47Z sm2n quit (Read error: Connection reset by peer) 2020-12-07T01:04:33Z sm2n joined #lisp 2020-12-07T01:10:22Z notzmv quit (Remote host closed the connection) 2020-12-07T01:13:05Z anticrisis joined #lisp 2020-12-07T01:13:22Z random-nick quit (Ping timeout: 256 seconds) 2020-12-07T01:13:54Z notzmv joined #lisp 2020-12-07T01:17:25Z dbotton joined #lisp 2020-12-07T01:18:08Z orivej_ quit (Ping timeout: 260 seconds) 2020-12-07T01:18:23Z orivej joined #lisp 2020-12-07T01:20:42Z abel-abe_ quit 2020-12-07T01:23:26Z EvW quit (Ping timeout: 264 seconds) 2020-12-07T01:24:16Z ljavorsk quit (Ping timeout: 240 seconds) 2020-12-07T01:34:28Z judson_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-07T01:34:54Z quazimodo quit (Ping timeout: 256 seconds) 2020-12-07T01:34:58Z wxie joined #lisp 2020-12-07T01:42:31Z EvW joined #lisp 2020-12-07T01:44:18Z Lord_of_Life quit (Ping timeout: 256 seconds) 2020-12-07T01:44:36Z Lord_of_Life joined #lisp 2020-12-07T01:46:11Z rumbler31 quit (Remote host closed the connection) 2020-12-07T01:47:23Z EvW quit (Ping timeout: 272 seconds) 2020-12-07T01:50:02Z judson_ joined #lisp 2020-12-07T01:55:01Z orivej quit (Ping timeout: 265 seconds) 2020-12-07T01:55:35Z judson_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-07T01:56:29Z rumbler31 joined #lisp 2020-12-07T01:57:22Z orivej joined #lisp 2020-12-07T02:01:01Z rumbler31 quit (Ping timeout: 246 seconds) 2020-12-07T02:01:13Z karayan quit (Ping timeout: 260 seconds) 2020-12-07T02:02:08Z karayan joined #lisp 2020-12-07T02:03:11Z Xach got the octree quantizer working and has written his first gif from a colorful vecto image! 2020-12-07T02:05:13Z Nilby: Nice. octrees are cool 2020-12-07T02:05:36Z Xach makes a quick animation 2020-12-07T02:08:17Z Jesin joined #lisp 2020-12-07T02:17:17Z dbotton quit (Quit: This computer has gone to sleep) 2020-12-07T02:17:33Z rumbler31 joined #lisp 2020-12-07T02:20:55Z Xach: https://xach.com/tmp/anim.gif 2020-12-07T02:21:18Z rumbler31 quit (Remote host closed the connection) 2020-12-07T02:23:22Z semz quit (Ping timeout: 260 seconds) 2020-12-07T02:24:10Z Xach: https://plaster.tymoon.eu/view/2184 has the code (much more behind the scenes to support it, but that made the animation) 2020-12-07T02:27:46Z mbomba joined #lisp 2020-12-07T02:28:35Z Nilby: It even works in my viewer. But I'm wondering if I could cut out the gif and just run your animation in real time. 2020-12-07T02:28:40Z Xach: I had something similar long ago, but because I didn't have any ideas about how to quantize the color palette of a PNG, I stuck to grayscale, which is a little boring. 2020-12-07T02:29:27Z Nilby: As you probably know, if you do some hideous tiling thing you can get true color in gifs. 2020-12-07T02:29:52Z akoana quit (Quit: leaving) 2020-12-07T02:29:58Z jrm: asdf output translation are not for the faint of heart. Searching shows lots of confusion. 2020-12-07T02:30:07Z Xach: Nilby: right now my 2d drawing stuff is very graphics-file oriented, so it is not so easy to adapt to direct display. I hope to change that in the future. 2020-12-07T02:31:12Z Xach: Visualizing animations by roundtripping through GIF is inefficient 2020-12-07T02:32:10Z Xach: Anyway, I have started following some cool geometric gif artists and they have inspired me to try to make some myself, and of course I want to use my CL libraries to do it. 2020-12-07T02:33:19Z Stanley00 joined #lisp 2020-12-07T02:34:12Z Nilby: I have a collection of awesome geometric gif art, which is partially why I wrote a gif viewer. My favorite ones can give you some kind of math intuitions. 2020-12-07T02:36:52Z semz joined #lisp 2020-12-07T02:36:52Z semz quit (Changing host) 2020-12-07T02:36:52Z semz joined #lisp 2020-12-07T02:42:03Z mbomba1 joined #lisp 2020-12-07T02:43:44Z mbomba quit (Ping timeout: 240 seconds) 2020-12-07T02:44:24Z zulu-inuoe quit (Read error: Connection reset by peer) 2020-12-07T02:45:01Z urek quit (Ping timeout: 272 seconds) 2020-12-07T02:46:02Z gloriamdeo[m] is now known as solideogloria[m] 2020-12-07T02:49:34Z kagevf quit (Ping timeout: 272 seconds) 2020-12-07T02:51:13Z kagevf joined #lisp 2020-12-07T02:52:49Z lotuseater: how is the situation of void safety (aka null-pointer dereferencing) in CL? 2020-12-07T02:55:44Z shifty quit (Ping timeout: 240 seconds) 2020-12-07T03:03:13Z orivej quit (Ping timeout: 264 seconds) 2020-12-07T03:03:14Z karayan quit (Read error: Connection reset by peer) 2020-12-07T03:04:35Z karlosz joined #lisp 2020-12-07T03:06:01Z karayan joined #lisp 2020-12-07T03:11:59Z rumbler31 joined #lisp 2020-12-07T03:16:04Z rumbler31 quit (Ping timeout: 240 seconds) 2020-12-07T03:16:29Z Jeanne-Kamikaze quit (Quit: Leaving) 2020-12-07T03:21:16Z Josh_2 quit (Ping timeout: 240 seconds) 2020-12-07T03:21:41Z aindilis quit (Remote host closed the connection) 2020-12-07T03:31:08Z karayan quit (Remote host closed the connection) 2020-12-07T03:31:23Z karayan joined #lisp 2020-12-07T03:36:46Z Rengan quit (Quit: Leaving) 2020-12-07T03:38:08Z karayan quit (Ping timeout: 260 seconds) 2020-12-07T03:38:52Z no-defun-allowed: You can't make arbitrary pointers without CFFI or unsafe code, so quite good. 2020-12-07T03:39:15Z karayan joined #lisp 2020-12-07T03:40:00Z lotuseater: yeah :) 2020-12-07T03:40:03Z Aurora_v_kosmose quit (Ping timeout: 240 seconds) 2020-12-07T03:41:09Z Aurora_v_kosmose joined #lisp 2020-12-07T03:41:10Z fe[nl]ix: lotuseater: code compiled with SAFETY 0 can go awry and corrupt the image 2020-12-07T03:42:32Z lotuseater: yes safety is for some serious stuff much more important than perfomance 2020-12-07T03:43:05Z lotuseater: i read on the Eiffel website and it states: "Eiffel is the only modern, widely available programming language that has solved null pointer dereferencing once and for all." 2020-12-07T03:47:20Z fe[nl]ix: its author is not very honest 2020-12-07T03:47:26Z lotuseater: but i think one can have very safe, elegant AND performant programs with CL or Haskell, Rust, Ada. or fault tolerant with built in to the language, see Erlang 2020-12-07T03:48:53Z aaaaaa joined #lisp 2020-12-07T03:55:15Z mbomba1 quit (Quit: WeeChat 3.0) 2020-12-07T03:55:23Z aartaka joined #lisp 2020-12-07T03:55:41Z moon-child: I mean, bascially all ml dialects are safe, performant, and lead to robust code. Haskell, rust, ocaml, sml, f#, ats... 2020-12-07T03:55:44Z mbomba joined #lisp 2020-12-07T03:56:00Z davros: are you calling rust an ML dialect 2020-12-07T03:56:23Z moon-child: all of rust's good ideas come from ocaml 2020-12-07T03:56:26Z davros: it is a little ML inspired isn't it , but i woulnd't go that far 2020-12-07T03:56:57Z davros: i gather the first rust compiler was written in ML ? (or ocaml? not sure of the difference) 2020-12-07T03:57:30Z moon-child: rust isn't a great language, but the influence is definitely there. And yeah before bootstrap their compiler was in ocaml 2020-12-07T03:58:00Z davros: depends on goals.. i think rust is amazing (as a c++ replacement) 2020-12-07T03:58:36Z davros: i place a big dividing line between "things that can replace C++ in it's nichces , i.e. no runtime GC etc" and everything else 2020-12-07T03:58:37Z moon-child: sure. Rust is an acceptable implementation of c++. The question is, when do you need a c++ replacement? 2020-12-07T03:59:11Z davros: most people dont need it, thats true - but certain niches remain for it IMO 2020-12-07T03:59:25Z davros: embeded, gamedev , probably more 2020-12-07T03:59:30Z no-defun-allowed: "We believe that it is the case that common SML idioms tend to work better under GC than under regions." - http://www.mlton.org/Regions 2020-12-07T03:59:37Z judson_ joined #lisp 2020-12-07T03:59:38Z moon-child: davros: my main beef with rust is https://redd.it/h0myd0 2020-12-07T04:00:22Z moon-child: davros: gamedev can work around gc (or use rc) and frequently wants regions explicit regions anyway. Embedded you don't need the complexity - c is fine 2020-12-07T04:00:31Z moon-child: s/regions explicit regions/explicit regions/ 2020-12-07T04:01:34Z anticrisis quit (Quit: Leaving) 2020-12-07T04:01:58Z no-defun-allowed: Standard ML also has exceptions. 2020-12-07T04:01:59Z Alfr_ joined #lisp 2020-12-07T04:01:59Z davros: i've heard the claim that gamedev *could* use gc, but all the engine people gravitate back toward c++ 2020-12-07T04:02:16Z oni-on-ion: depends indie vs. triple-A 2020-12-07T04:02:19Z davros: "the big resources are static" "there isn't much tracing for the GC" 2020-12-07T04:02:29Z davros: yeah indie i can well imagine getting by 2020-12-07T04:02:34Z no-defun-allowed: If you don't allocate, then there is indeed nothing to GC. 2020-12-07T04:02:36Z moon-child: unity is the most popular game engine out there 2020-12-07T04:02:47Z davros: and of course GC didn't stop minecraft entertaining everyone 2020-12-07T04:02:53Z oni-on-ion: AAA are generally in competition, like hollywood or youtube 2020-12-07T04:02:54Z lotuseater: what about unreal? 2020-12-07T04:03:06Z no-defun-allowed: GC pauses are only mildly annoying while playing Minecraft, and I obliterated those by using an incremental collector. 2020-12-07T04:03:22Z moon-child: and, high-quality concurrent GCs are fairly new. But as of just a couple of years ago, java (and all jvm languages) have a GC with heapsize-independent pause times <1ms 2020-12-07T04:03:30Z oni-on-ion: no-defun-allowed, did you let the devs know that 2020-12-07T04:03:36Z lotuseater: and in unity you have to see sharp *urgs* 2020-12-07T04:04:03Z no-defun-allowed: oni-on-ion: I have not, but I feel it would be common knowledge to "just use ZGC" 2020-12-07T04:04:19Z moon-child: but anyway, reference counting is an acceptable form of GC which the c++ engines do frequently use 2020-12-07T04:04:26Z no-defun-allowed: Or Shenandoah cause ZGC crashes on my Raspberry Pi; but there the main cause of lag is world generation. 2020-12-07T04:04:32Z oni-on-ion: yay RC =) 2020-12-07T04:04:39Z quazimodo joined #lisp 2020-12-07T04:04:45Z davros: just wondering if i should mess with an embedded lisp in a little engine i'm writing now 2020-12-07T04:04:48Z oni-on-ion: what Pi do you have ndf? 2020-12-07T04:04:52Z Alfr quit (Ping timeout: 260 seconds) 2020-12-07T04:05:02Z moon-child: davros: do it! 2020-12-07T04:05:07Z no-defun-allowed: A Raspberry Pi 4 with 4GB of memory. 2020-12-07T04:05:13Z moon-child: my engine is in d, but embeds a little scheme. It's been really nice 2020-12-07T04:05:16Z davros: its a recurring itch 2020-12-07T04:05:16Z oni-on-ion: noices 2020-12-07T04:05:32Z davros: not entirely sure what i even need an embedded language for lo 2020-12-07T04:05:33Z davros: lol 2020-12-07T04:05:38Z oni-on-ion: many or most of us seem to doing lil embedded lisps 2020-12-07T04:05:39Z no-defun-allowed: davros: You could use the Boehm collector if you are embedding in C. It has an incremental mode, and I think Unity uses that. 2020-12-07T04:05:59Z davros: enemies that rewrite their own code 2020-12-07T04:06:40Z no-defun-allowed: At one point, I wanted a simple language for an AI that I could use "worlds" with, so I could do state space search with imperative code, but still roll back the state after I evaluated it. 2020-12-07T04:06:48Z beach: Good morning everyone! 2020-12-07T04:07:00Z moon-child: beach: morning 2020-12-07T04:07:04Z davros: i kind of liked the idea that simple lisp syntax could be parsed in and out of art tools maybe (you kwow all the flowchart type tools designers use for gamelogic) 2020-12-07T04:07:08Z no-defun-allowed: Good morning beach! 2020-12-07T04:07:09Z oni-on-ion: hmm. gm beach 2020-12-07T04:07:42Z davros: the other lispy itch i have is lisp for procedural generation 2020-12-07T04:08:01Z edgar-rft: let's make gmb the official good-morning-beach acronym 2020-12-07T04:08:11Z oni-on-ion: davros, yeah and shaders, geometry definition, and also AI as said. s-exp is great format for many purpose. even OCaml has most tools using it --- also it and haskell's type system are strong enough to use that 100% when read()'ing for a powerful enough language for most things. (ive examples) 2020-12-07T04:08:23Z davros: the most lisp i've ever written is... elisp 2020-12-07T04:08:35Z oni-on-ion: edgar-rft, take my vote 2020-12-07T04:08:37Z banjomet: moon-child, davros: you may find this paper interesting - https://people.cs.umass.edu/~emery/pubs/04-17.pdf 2020-12-07T04:08:47Z no-defun-allowed: Ungar declared generational garbage collection to be superior to reference counting back in 1984, but I guess a Smalltalk system has softer constraints than a video game. 2020-12-07T04:08:59Z banjomet: We showthat, at large heap sizes and under no memory pressure, the runtimeperformance of some garbage collection algorithms is competitivewith the Lea memory allocator and occasionallyoutperformsit byup to 4%. However, our results confirmthat garbage collection re-quires six times the physical memory to achieve this performanceand suffers order-of-magnitude performance penalties when pagingoccurs 2020-12-07T04:09:17Z no-defun-allowed: I like how TeX papers screw up the spaces. 2020-12-07T04:09:27Z oni-on-ion: in haskell engine years ago, all stuff defined in s-exp format directly by haskell read() and show(), no need to parse or check or anything. them type systems be powerful 2020-12-07T04:09:42Z moon-child: emery berger is great. Does lots of really cool research 2020-12-07T04:09:53Z davros: i can imagine a GC being superior to refcounting, but isn't there something like refcounting being more predictable (hence apple's choice) 2020-12-07T04:10:25Z oni-on-ion: im doing refcount for my toy embedded lisp 2020-12-07T04:10:32Z davros: ultimately for engine type coding i'm happy with the C++/rust idea of stack+single-ownership + refcounting as a last resort , to be minimized 2020-12-07T04:10:57Z no-defun-allowed: But I would ask what performance drop you get for GCing with a smaller heap. Suppose performance/heap has exponential decay, then you might only see a 5% performance decrease with 2x instead of 6x or something like that. 2020-12-07T04:11:22Z oni-on-ion: done a bunch in obj-c and smalltalk , never a problem. managing memory and data structure are very underrated for good programs and delicious code 2020-12-07T04:11:44Z davros: the claim i hear r.e. refcounting and games is "the GC'd bits would be a small amount of memory.. the majority of memory is graphcis, out of reach of the GC" 2020-12-07T04:11:51Z moon-child: davros: the main advantage of reference counting is that you can elide the rc through optimizations in a lot of cases. Meaning, very close performance to single-owner 2020-12-07T04:11:59Z oni-on-ion: nda i still feel that a tree of heaps/pools is a possible solution. rather than global GC. 2020-12-07T04:12:37Z davros: anyway i see a big dividing line in languages between these two cases 2020-12-07T04:12:46Z no-defun-allowed: Empirically, I have only seen up to 10% GC time with sane heap sizes. 2020-12-07T04:12:47Z davros: for *most* programming.. GC is fine, i accept that 2020-12-07T04:13:02Z moon-child: oni-on-ion: *tree* of pools is what talloc does, and it's very bad for performance. But pools are great 2020-12-07T04:13:07Z banjomet: totally unrelated, but I remember reading about this library and not being able to stop fantasizing about using it: https://github.com/cosmos72/stmx 2020-12-07T04:13:12Z oni-on-ion: setting limits and availability to predict storage+lifetimes, goes a long way. especially for [soft] real time. allowing everything is where we start looking to magical GC-everything solutions. like windows defragmentor lmao 2020-12-07T04:13:28Z davros: ive done gamedev on older consoles with fixed memory layouts (not even malloc/free -just level stack allocator + custom pools for entities) 2020-12-07T04:13:30Z no-defun-allowed: I wrote something about "for _most_ programming ..." and how "most" is an understatement, but I am not going to repeat that here. 2020-12-07T04:13:31Z banjomet: but sadly tsx in an intel cpu is never available for a laptop, and only in the few high end desktop cpus 2020-12-07T04:13:38Z oni-on-ion: Ultimate Solutions are really only applicable to Ultimate Problems. 2020-12-07T04:13:45Z quazimodo quit (Read error: Connection reset by peer) 2020-12-07T04:14:33Z mfiano: Game development in CL is difficult for other reasons, not GC. 2020-12-07T04:14:42Z oni-on-ion: like if i just scroll reddit for 10 minutes, no account or anything fancy, just regular website: it starts eating swap like its gone mad. hooray GC !! So Solutiony 2020-12-07T04:15:17Z moon-child: that's not gc, that's a shitty website 2020-12-07T04:15:21Z moon-child: old.reddit.com is nice tho 2020-12-07T04:15:22Z lotuseater: banjomet: yes Software Transactional Memory is a good idea for some things to do safe and reasonable concurrency :) 2020-12-07T04:15:34Z davros: hmm maybe i cuold sneak in a lispy thing for my particle definitions as a starting point 2020-12-07T04:16:27Z oni-on-ion: moon-child, other websites do about the same, but after 30m-1hr. reddit is just doing a lot more so its more noticeable 2020-12-07T04:16:29Z no-defun-allowed: Well, just throw Boehm at all your interpreter allocations, and see if it's a problem. I bet it won't be. 2020-12-07T04:17:05Z matta joined #lisp 2020-12-07T04:17:49Z mfiano: Cache coherency is an issue with "real" games in Common Lisp. For small-scale indie games, you don't need to worry about it though. 2020-12-07T04:18:33Z davros: right if you're using linklists all over the place.. lisp can do arrays aswell thought can't it? 2020-12-07T04:19:16Z no-defun-allowed: If I may mess with everyone's minds for a minute, I remember reading about a GC which did very low overhead profiling of which objects pointed to which, and then used that to move those objects closer to each other. 2020-12-07T04:19:24Z mfiano: It's hard to avoid CLOS or otherwise pointer indirection in CL. upgraded-array-element-type is and other things don't help either. 2020-12-07T04:20:03Z mfiano: Not to mention that game development is inherently filled with all sorts of tree data structures, and everyone knows trees are a quick way to ruin cache coherency 2020-12-07T04:20:21Z moon-child: no-defun-allowed: interesting! Sounds like a variant of compacting gc 2020-12-07T04:20:29Z beach: no-defun-allowed: Most copying collectors do that. 2020-12-07T04:20:35Z no-defun-allowed: See ftp://ftp.cs.wisc.edu/wwt/ismm98_cache_gc.pdf 2020-12-07T04:20:55Z beach: Oh, based on run-time? 2020-12-07T04:21:01Z beach: I hadn't seen that. 2020-12-07T04:21:01Z no-defun-allowed: beach: Do they do some profiling at runtime? 2020-12-07T04:21:07Z beach: No, sorry. 2020-12-07T04:21:09Z banjomet: one reason I don't like rust is that it doesn't have objects. The case this guy made for how difficult it is to model a gui kind of stuck with me: https://hackernoon.com/why-im-dropping-rust-fd1c32986c88 2020-12-07T04:21:22Z beach: I shouldn't intervene before I had my morning coffee. 2020-12-07T04:21:58Z no-defun-allowed: Yes, this one does runtime profiling. I think depth-first copying has been done at least on Genera and some proprietary implementation I forgot the name of (Franz?) 2020-12-07T04:22:01Z davros: banjomet, its hard to map *existing* gui APIs to rust. but you can design a GUI within its trait-object idea 2020-12-07T04:22:09Z aaaaaa left #lisp 2020-12-07T04:22:40Z banjomet: davros: that is a fair point. But I also remember reading about the difficulties the conrod guy had, but my google-fu is weak tonight 2020-12-07T04:22:43Z fe[nl]ix: there are lots of ideas in GC literature that haven't been implemented because of industry dynamics 2020-12-07T04:22:53Z moon-child: banjomet: I didn't have any trouble making a gui in c. As long as you can do basic runtime polymorphism (single dynamic dispatch), you should be fine 2020-12-07T04:23:03Z davros: some things gui api's tend to do with inheritance you can do by composing traits using generics , i've found. it's definitely "different", but doable 2020-12-07T04:23:12Z fe[nl]ix: like game companies relying on existing game engines and never making their own stack from scratch 2020-12-07T04:23:24Z no-defun-allowed: The paper compares the design to the Wilson-Lam-Moher algorithm, which tries to keep objects on the same pages. 2020-12-07T04:23:35Z beach: I agree with fe[nl]ix. I think the debate is over. GC, if done right, is always more efficient than manual memory management and reference counters. 2020-12-07T04:23:37Z fe[nl]ix: few can afford to write their own language to implement the game in 2020-12-07T04:24:05Z lotuseater: fe[nl]ix: i thought some do like ID or CD Project Red 2020-12-07T04:24:17Z banjomet: the main reason games disappoint me after the 360 era is that they went for 'high-resolution' everything. I would much rather prefer collision-based dynamic animations and destructible environments/vehicles. 2020-12-07T04:24:20Z moon-child: fe[nl]ix: naughty dog did, though; Goal Oriented Action Lisp was neat 2020-12-07T04:24:22Z fe[nl]ix: I said "few" 2020-12-07T04:24:36Z fe[nl]ix: not "nobody" 2020-12-07T04:24:39Z davros: heh yeah its even hard to get Rust into commercial gamedev because of reliance on established C++ engines. 2020-12-07T04:24:49Z no-defun-allowed: The program runs 6% slower because of profiling overhead, but the improved cache usage improves performance by around 15-35%. 2020-12-07T04:25:03Z hendursaga quit (Ping timeout: 240 seconds) 2020-12-07T04:25:14Z davros: Game Oriented Assembly Lisp 2020-12-07T04:25:26Z davros: or was it a bacronym as you say? 2020-12-07T04:25:27Z banjomet: halo used a lisp like language for scripting: https://opencarnage.net/index.php?/topic/4156-scripting-guide/ 2020-12-07T04:25:30Z oni-on-ion: i am morally against auto GC for soft real time 2020-12-07T04:25:47Z beach: no-defun-allowed: So I have read about "data-oriented programming", and what you are describing seems to be the automatic version of that idea. 2020-12-07T04:26:00Z beach: oni-on-ion: Why? 2020-12-07T04:26:00Z fe[nl]ix: beach: there's a solid consensus among GC implementors that if you can statically determine allocation patterns, then manual management outperforms GCs 2020-12-07T04:26:19Z no-defun-allowed: I agree with beach and fe[nl]ix, but I will also (possibly redundantly) add that most language implementations with garbage collection usually are pretty acceptable by default. 2020-12-07T04:26:23Z moon-child: davros: right you are; I was mixing up with Goal Oriented Action Planning 2020-12-07T04:26:36Z lotuseater: moon-child: yes but be interesting to see the source 2020-12-07T04:26:46Z oni-on-ion: no one remembers ABUSE! also did its Lisp thing for all game stuff. https://en.wikipedia.org/wiki/Abuse_(video_game) 2020-12-07T04:26:50Z beach: fe[nl]ix: I can believe that. But that's a big "if". 2020-12-07T04:26:58Z banjomet: do you guys know any languages that support incremental compilation? 2020-12-07T04:27:02Z fe[nl]ix: but that's quite hard, which is why as the complexity of a C++ program increases, it asymptotically needs a GC 2020-12-07T04:27:07Z davros: oh i do remember ABUSE now you mention it 2020-12-07T04:27:09Z no-defun-allowed: beach: I've heard of that too, but it was because someone tried to tell me that I wasn't making good use of cache in cl-decentralise2, so I said, "Well, I never wanted to do different things with different objects anyway." 2020-12-07T04:27:16Z mfiano: Yes, and Naughty Dog no longer even uses Lisp, except Scheme for scripting. It was part of their Sony contract to aid sharing resources with their other studios 2020-12-07T04:27:41Z oni-on-ion: beach, i was mentioning about how global-auto-GC being basically unsolved, cannot truly be done, because the number of possible configurations and strategies are endless 2020-12-07T04:27:43Z hendursaga joined #lisp 2020-12-07T04:27:53Z fe[nl]ix: mfiano: cutting costs is another facet of the "industry problem" 2020-12-07T04:27:55Z no-defun-allowed: banjomet: Common Lisp, Smalltalk, Self, Erlang at least do incremental compilation (and replacement of classes and code) well. 2020-12-07T04:28:01Z oni-on-ion: beach, in that there is no magical "just use Flex Tape on it all!" 2020-12-07T04:28:30Z davros: do people in this room mostly use CL or Scheme or what 2020-12-07T04:28:34Z lotuseater: oni-on-ion: thx i add ABUSE to my list of points if someone annoys me the next time with the question how parentheses can be useful for anything 2020-12-07T04:28:42Z oni-on-ion: lotuseater, nice =) 2020-12-07T04:28:48Z no-defun-allowed: Liveness is a global property (if I want to write modular code, I shouldn't assume how the client will use my objects) and undecidable anyway. 2020-12-07T04:28:59Z banjomet: no-defun-allowed: really? I did not know that. 2020-12-07T04:29:04Z beach: davros: This channel is dedicated to Common Lisp. 2020-12-07T04:29:11Z no-defun-allowed: davros: Due to historical stuff, #lisp is about Common Lisp, so most people here use that. 2020-12-07T04:29:49Z oni-on-ion: also if it indirectly counts: N64 games especially Mario 64, used SGI machines of course. but the software 'Mirai' from Nendo was done in Common Lisp. i think someone told me that was from ancient lisp graphics heritage. 2020-12-07T04:30:02Z lotuseater: oni-on-ion: But I have the feeling most people don't listen anyway. So be it. 2020-12-07T04:30:08Z davros: does anyone here use CL as their main go-to language (i mean language they go to mostly, not language with go-to statements lol) 2020-12-07T04:30:37Z beach: davros: I would think most of us. 2020-12-07T04:30:55Z davros: and does anyone try to recreate or design real LISP machines on FPGA :) 2020-12-07T04:31:05Z moon-child: davros: I don't think I have a go-to language, but cl is definitely up there 2020-12-07T04:31:07Z lotuseater: I recognized Mirai as a Blender like tool 2020-12-07T04:31:17Z no-defun-allowed: banjomet: There is a larger set of languages that will allow you to replace code and class definitions at least, including Python and Java, but they don't update instances like the list I provided. And there is another set that wants to redefine "incremental compilation" to be compiling modules with per-file granularity... 2020-12-07T04:31:37Z beach: davros: There is no real point. You will lose an order of magnitude in performance compared to stock hardware, and Common Lisp runs fine on such hardware today. 2020-12-07T04:32:30Z fe[nl]ix: beach: are you on the pro@common-lisp.net mailing list ? 2020-12-07T04:32:35Z davros: what compiler backends to lisps have these days 2020-12-07T04:32:36Z no-defun-allowed: davros: The causes of the "death" of Lisp machines are still present...as beach said. But I will consider designing a processor which would arguably be "specialised" to my programs and uses, most of which involve Lisp. 2020-12-07T04:32:45Z lotuseater: davros: yes i found something for that and also had the idea it will be a good thing. would do it myself but I've not enough knowledge about the hole thing 2020-12-07T04:32:45Z beach: fe[nl]ix: I am, but I don't usually read it. 2020-12-07T04:32:49Z oni-on-ion: lotuseater, not when they are busy trying to get other people to listen to them or making a point for themselves. "Whenever i use my own words, no one else understands me" =) 2020-12-07T04:33:09Z beach: fe[nl]ix: Anything I should be aware of? 2020-12-07T04:33:28Z oni-on-ion: https://en.wikipedia.org/wiki/Mirai_(software) 2020-12-07T04:33:37Z moon-child: davros: sbcl and ccl have their own; ecl compiles to c; and there was one that used llvm 2020-12-07T04:33:40Z fe[nl]ix: beach: we had a similar conversation (about GCs) a few days ago 2020-12-07T04:33:51Z lotuseater: oni-on-ion: but honest to say not all of them are hipsters. but trapped in their worlds 2020-12-07T04:33:52Z beach: I'll check it out then. Thanks. 2020-12-07T04:33:58Z oni-on-ion: (more info here: https://web.archive.org/web/20110716211447/http://lemonodor.com/archives/000256.html ) 2020-12-07T04:34:11Z no-defun-allowed: I may have heard of that, as jackdaniel told beach about such a discussion a few days ago. 2020-12-07T04:34:19Z oni-on-ion: lotuseater, as most people are. this is an unfortunate reality 2020-12-07T04:34:24Z fe[nl]ix: beach: https://mailman.common-lisp.net/pipermail/pro/2020-December/001836.html 2020-12-07T04:35:14Z beach: fe[nl]ix: Nice! Thanks! 2020-12-07T04:35:53Z fe[nl]ix: beach: I'd love to implement a modern GC for SBCL but I can't find funding 2020-12-07T04:35:54Z no-defun-allowed: If there are store barriers already, would it hurt that much to use generational scavenging? 2020-12-07T04:36:23Z fe[nl]ix: we're talking about at least one year of work if not more 2020-12-07T04:36:31Z beach: fe[nl]ix: I have a design for SICL, but it has not been tested yet. 2020-12-07T04:37:10Z beach: fe[nl]ix: But it is probably not applicable to SBCL because it relies on the layout of SICL objects. 2020-12-07T04:37:14Z no-defun-allowed: I'm bored with my incremental conservative collector, and I want to revise it to use two generations. It would basically be the Liebermann-Hewitt incremental generational copying collector, but with replication copying, and with my own modifications to allow for pinning. 2020-12-07T04:38:34Z fe[nl]ix: no-defun-allowed: I'm not sure what you mean by "hurt". the newer GCs are not generational, although some work modes can approximate a generational GC 2020-12-07T04:38:36Z shifty joined #lisp 2020-12-07T04:38:48Z fe[nl]ix: no-defun-allowed: what do you work on ? 2020-12-07T04:38:53Z oni-on-ion: nda what are you actually making 2020-12-07T04:39:20Z beach: Wow, an IRC client without completion! 2020-12-07T04:39:23Z no-defun-allowed: fe[nl]ix: Sorry, I meant if it would decrease throughput to implement the requisite write barrier for tenured->nursery pointers, when there already is a write barrier apparently. 2020-12-07T04:39:28Z fe[nl]ix: beach: plugging in the layout should be relatively easy 2020-12-07T04:39:35Z no-defun-allowed: Do I get to make a joke about non-disclosure agreements now? 2020-12-07T04:39:50Z beach: fe[nl]ix: Yes, but SBCL maintainers would not accept the SICL layout. 2020-12-07T04:39:59Z pfdietz: I remember when stock hardware caught up with Lisp Machines. The LMs evaporated pretty quickly. I think Lucid had something to do with closing the gap. 2020-12-07T04:40:06Z davros: is it "eval" or something where a lisp program can invoke a jit to run code it generates itself 2020-12-07T04:40:20Z mfiano: I read that pro thread the other day, and have used Julia quite a bit. It tries too much to be like CL in my opinion, but completely struck out on packages. 2020-12-07T04:40:27Z no-defun-allowed: EVAL may or may not compile. COMPILE will compile. 2020-12-07T04:40:29Z pfdietz: There was a while after that when commercial lisps on stock hardware were a thing, but then they fell as well. 2020-12-07T04:40:39Z no-defun-allowed: clhs compile 2020-12-07T04:40:39Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_cmp.htm 2020-12-07T04:40:41Z beach: davros: The Common Lisp standard requires the compiler to be part of any implementation. 2020-12-07T04:40:44Z fe[nl]ix: no-defun-allowed: yes. the implementors make it pretty clear that the trade-off of median pauses of <1ms is lower throughput 2020-12-07T04:40:50Z no-defun-allowed: (compile nil '(lambda (x) (1+ x))) 2020-12-07T04:41:08Z mfiano: packages in julia do not have identity. You can reload a file and have a completely distinct version of the package defined in your "image", making repl testing really confusing. 2020-12-07T04:41:10Z fe[nl]ix: these new GCs have a 15-20% throughput overhead 2020-12-07T04:41:43Z no-defun-allowed: fe[nl]ix: However, a generational collector should not scan as much, so could that reduce the overhead? 2020-12-07T04:42:08Z fe[nl]ix: the generational hypothesis does not hold very well 2020-12-07T04:42:21Z oni-on-ion: davros, may find interesting: https://ane.github.io/2020/10/05/between-two-lisps.html 2020-12-07T04:42:22Z no-defun-allowed: That's news to me. 2020-12-07T04:43:20Z oni-on-ion: everything eventually goes toward General Purpose. GPU soon will mean just that eh =) 2020-12-07T04:43:21Z narimiran joined #lisp 2020-12-07T04:43:34Z fe[nl]ix: the nemesis of the generational hypothesis is the LRU cache 2020-12-07T04:43:36Z oni-on-ion: specialization however is left in the dust 2020-12-07T04:44:02Z fe[nl]ix: and LRU caches are very typical on backend servers 2020-12-07T04:44:06Z no-defun-allowed: A good point. 2020-12-07T04:44:17Z oni-on-ion: mfiano, afaik something to do with types. so a new function is created for add(Int32, Int32) when used that way 2020-12-07T04:44:31Z davros: heh yeah thats the other question , are people running lisp code on GPUs (generating compute kernels, cuda equivalent) 2020-12-07T04:44:38Z mfiano: Why two packages of the same name in Julia are two distinct symbol tables is beyond me, and makes having a REPL completely useless to me. 2020-12-07T04:44:56Z no-defun-allowed: But you don't mutate the values stored in cache, so they shouldn't pose a problem for a generational collector? Maybe if you swap out values quickly, it becomes a problem as you don't perform major collections as often. 2020-12-07T04:45:09Z mfiano: You can't live recompile a function without creating a duplicate package... 2020-12-07T04:45:19Z oni-on-ion: mfiano, what version ? afaik reloading packages were fine for me. the REPL was impressive, about on level with OCaml's utop 2020-12-07T04:45:36Z no-defun-allowed: davros: There are a few packages for generating GPU code, but there's no way you'll be doing list processing on a GPU. 2020-12-07T04:45:53Z mfiano: Well I have been using it for about 5 years, and things have not gotten better since about 3 months ago was the last I used it. 2020-12-07T04:46:46Z fe[nl]ix: no-defun-allowed: old discarded objects pose a problem because they only get scavenged in a full GC 2020-12-07T04:46:53Z mfiano: CL is my goto in practically all my coding. I do use Julia for some of its math libraries to compare against my CL code though. 2020-12-07T04:46:58Z no-defun-allowed: Right. 2020-12-07T04:46:59Z fe[nl]ix: which means your memory usage balloons 2020-12-07T04:47:26Z fe[nl]ix: increasing pauses because a full GC scans the entire heap, etc... 2020-12-07T04:48:30Z galex-713 quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) 2020-12-07T04:48:32Z oni-on-ion: mfiano, hmm. there must be a better way to do that, especially REPL for julia because there is still no clean/smart way to build binaries 2020-12-07T04:51:20Z no-defun-allowed: fe[nl]ix: But surely you aren't replacing cache values that frequently. Or maybe you are, I dunno. 2020-12-07T04:52:28Z mfiano: I'm not complaining, really. CL is all I will ever need. It's just ausing how languages have been borrowing and crippling CL features for years. 2020-12-07T04:53:18Z oni-on-ion: why can't i (defstruct A (defstruct A_x ...) (defstruct A_y ...)) ? 2020-12-07T04:53:49Z davros: anyone use CLOS multiple dispatch here? 2020-12-07T04:53:51Z fe[nl]ix: no-defun-allowed: it's not uncommon for backend software to have a fixed cache in the order of X million objects which should account to e.g. 70G of RAM 2020-12-07T04:54:05Z oni-on-ion: ^ 2020-12-07T04:54:31Z no-defun-allowed: Yes and yes. I use multiple dispatch fairly frequently, and I do have a caching-mixin that lets me pick some cache size. 2020-12-07T04:54:36Z oni-on-ion: predictable software vs. general purpose anything-can-happen-need-magic-garbage 2020-12-07T04:54:39Z galex-713 joined #lisp 2020-12-07T04:54:49Z fe[nl]ix: but if that causes an additional 20-30G of unreachable but not collected objects to stick around 2020-12-07T04:55:03Z fe[nl]ix: your server starts runnning out of RAM quickly 2020-12-07T04:55:05Z oni-on-ion: once a binary is made, there are only so many patterns it can run through, give or take external data, and this is exhaustable. don't need "anything can happen" solutions for that. 2020-12-07T04:55:54Z fe[nl]ix: and you can't even use memory pressure signals to evict objects from the cache because those unreachable old objects would still not be collected in time to avoid the OOM killer 2020-12-07T04:56:02Z rumbler31 joined #lisp 2020-12-07T04:56:16Z no-defun-allowed: Also, with my scheme, you still have incremental major collections. Maybe scanning the stack is a bit slower if you have to also copy tenured roots, but it hopefully isn't worse than non-generational collection. 2020-12-07T04:56:16Z Nilby quit (Ping timeout: 240 seconds) 2020-12-07T04:57:16Z no-defun-allowed: oni-on-ion: Now write an analyser that will decide what's live where for an arbitrary program. There are many programs for which you'll never know. 2020-12-07T05:00:07Z oni-on-ion: 'arbitrary' is the thing, not predictable 2020-12-07T05:00:32Z oni-on-ion: program should not be arbitrary. same reason IRL the laws and social cues and culture things keep changing 2020-12-07T05:00:35Z no-defun-allowed: Programs are very arbitrary. 2020-12-07T05:00:49Z oni-on-ion: general programs 2020-12-07T05:00:49Z rumbler31 quit (Ping timeout: 264 seconds) 2020-12-07T05:01:15Z no-defun-allowed: What's a general program? 2020-12-07T05:01:27Z pfdietz: davros: I use multiple dispatch. I even use method combination. 2020-12-07T05:01:43Z Nilby joined #lisp 2020-12-07T05:01:48Z oni-on-ion: no-defun-allowed, given all the power to do anything in whatever way, however often, etc 2020-12-07T05:02:08Z no-defun-allowed: Yes, the liveness of a general program is undecidable. 2020-12-07T05:02:14Z oni-on-ion: in contrast to say a DSL (example, css) 2020-12-07T05:02:38Z kagevf quit (Ping timeout: 256 seconds) 2020-12-07T05:02:52Z oni-on-ion: yea. my againstness of magic-GC is precisely because the programs i make are not general at all. the tools i use to make them are however, sure 2020-12-07T05:03:33Z oni-on-ion: CL is easily one of the best for this, but once something is set in stone, it should be able to leave the factory 2020-12-07T05:04:09Z oni-on-ion: and where prediction comes in (given external data) due to a binary or stone'd program can only run so many combinations of patterns 2020-12-07T05:04:30Z no-defun-allowed: Maybe I just don't write "general programs". 2020-12-07T05:04:34Z kagevf joined #lisp 2020-12-07T05:05:02Z oni-on-ion: im thinking no one does, except of course compilers and operating system and web browser 2020-12-07T05:05:10Z oni-on-ion: "sandbox" programs 2020-12-07T05:05:30Z oni-on-ion: to actually write a program/app/game/website is very particular and not general 2020-12-07T05:05:43Z no-defun-allowed: Oh, okay. "General" in generality, not a synonym "normal". 2020-12-07T05:06:00Z no-defun-allowed: Then my programs are very general; a regular expression compiler, a distributed object system, ... 2020-12-07T05:06:03Z oni-on-ion: yeah =) in sense of General Purpose [programming language, processor, etc] 2020-12-07T05:06:20Z oni-on-ion: yep =) i've a feeling thats called Systems programming ? 2020-12-07T05:06:24Z no-defun-allowed: And I don't know anyone that hasn't written a few general programs. 2020-12-07T05:06:42Z no-defun-allowed: No, systems programming is a scam made to sell more oxidisation processes. 2020-12-07T05:06:43Z oni-on-ion: of course - done some 3d modeler and map editors and etc. Tools 2020-12-07T05:06:58Z oni-on-ion: ah system is a general enough word 2020-12-07T05:07:57Z oni-on-ion: about Genera , comes from:: Genus (n) "kind or class of things" (biological sense dates from c. 1600), from Latin genus (genitive generis) "race, stock, kind; family, birth, descent, origin," from suffixed form of PIE root *gene- "give birth, beget," 2020-12-07T05:08:15Z oni-on-ion: (genera is plural of genus) 2020-12-07T05:09:10Z oni-on-ion: and General -- "of wide application, generic, affecting or involving all" (as opposed to special or specific), from Old French general (12c.) and directly from Latin generalis "relating to all, of a whole class, generic" 2020-12-07T05:10:40Z mfiano: Heh, systems programming 2020-12-07T05:11:09Z oni-on-ion: =) https://www.etymonline.com/word/system 2020-12-07T05:11:14Z mfiano: A systems programming language means different things to different people. Some people consider it a language that you can write an OS in. It won't be long before CSS fits that, since it is already Turing-complete. Others think of it as working with severely constrained resources. Others think of it as just manual memory management. It's really a term that nobody should use. Just state exactly what 2020-12-07T05:11:15Z mfiano: you are talking about. 2020-12-07T05:11:40Z oni-on-ion: as a term its very ahem general 2020-12-07T05:12:03Z oni-on-ion: but capitalized to use the one particular to context 2020-12-07T05:13:37Z oni-on-ion: oh.... Gender. i have some thoughts about gendered software, but wont discuss it here i've spammed quite enough =) 2020-12-07T05:14:25Z mange joined #lisp 2020-12-07T05:14:56Z johnjay quit (Ping timeout: 240 seconds) 2020-12-07T05:17:25Z beach: davros: Yes, of course. Multiple dispatch is used all the time. 2020-12-07T05:17:37Z beach: davros: You have some very strange questions, in my opinion. 2020-12-07T05:17:51Z mfiano: Yes, I find it hard to believe anyone here doesn't use that daily. 2020-12-07T05:20:46Z beach: davros: What was the reason for that particular question of yours? 2020-12-07T05:21:18Z waleee-cl quit (Quit: Connection closed for inactivity) 2020-12-07T05:25:17Z davros: just curious how many people actively use that stuff 2020-12-07T05:25:46Z beach: davros: And what would the answers suggest to you? 2020-12-07T05:27:04Z kagevf quit (Ping timeout: 240 seconds) 2020-12-07T05:28:09Z oni-on-ion: best is to search in github, search by prog lang (CL), then sort by popularity and whatnot. browse the source code of the programs. (explaining code in english is kind of backwards from the reason we have made proglangs in the first place.) 2020-12-07T05:36:44Z judson_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-07T05:40:02Z judson_ joined #lisp 2020-12-07T05:40:06Z aartaka_d joined #lisp 2020-12-07T05:42:34Z aartaka quit (Ping timeout: 246 seconds) 2020-12-07T05:49:48Z kagevf joined #lisp 2020-12-07T05:50:02Z judson_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-07T05:52:06Z judson_ joined #lisp 2020-12-07T05:56:56Z kagevf quit (Ping timeout: 240 seconds) 2020-12-07T05:59:05Z kagevf joined #lisp 2020-12-07T06:04:12Z Fare joined #lisp 2020-12-07T06:09:36Z aartaka joined #lisp 2020-12-07T06:12:52Z aartaka_d quit (Ping timeout: 272 seconds) 2020-12-07T06:14:25Z ibinderwolf quit (Remote host closed the connection) 2020-12-07T06:15:49Z aartaka quit (Ping timeout: 246 seconds) 2020-12-07T06:18:22Z ebrasca joined #lisp 2020-12-07T06:27:24Z shka_ joined #lisp 2020-12-07T06:28:51Z bilegeek quit (Quit: Leaving) 2020-12-07T06:33:34Z gaatsby joined #lisp 2020-12-07T06:34:51Z johnjay joined #lisp 2020-12-07T06:35:49Z gaatsby quit (Remote host closed the connection) 2020-12-07T06:37:11Z gasby joined #lisp 2020-12-07T06:39:32Z skapata quit (Remote host closed the connection) 2020-12-07T06:49:15Z Codaraxis__ joined #lisp 2020-12-07T06:49:16Z hhdave quit (Read error: Connection reset by peer) 2020-12-07T06:49:24Z achilles joined #lisp 2020-12-07T06:50:22Z hhdave joined #lisp 2020-12-07T06:50:29Z frgo_ joined #lisp 2020-12-07T06:51:00Z astronavt quit (Remote host closed the connection) 2020-12-07T06:51:24Z astronavt joined #lisp 2020-12-07T06:51:56Z Codaraxis_ quit (Ping timeout: 240 seconds) 2020-12-07T06:52:42Z frgo quit (Ping timeout: 244 seconds) 2020-12-07T06:52:58Z gasby left #lisp 2020-12-07T06:53:58Z beach` joined #lisp 2020-12-07T06:58:21Z beach quit (Ping timeout: 272 seconds) 2020-12-07T07:00:55Z andreyorst` joined #lisp 2020-12-07T07:01:47Z beach` is now known as beach 2020-12-07T07:03:03Z treflip joined #lisp 2020-12-07T07:05:26Z toorevitimirp joined #lisp 2020-12-07T07:09:12Z florian_ joined #lisp 2020-12-07T07:09:14Z diamondbond quit (Ping timeout: 244 seconds) 2020-12-07T07:11:10Z wxie quit (Quit: wxie) 2020-12-07T07:11:39Z johnjay quit (Ping timeout: 272 seconds) 2020-12-07T07:12:50Z wxie joined #lisp 2020-12-07T07:15:53Z johnjay joined #lisp 2020-12-07T07:16:36Z loli quit (Ping timeout: 256 seconds) 2020-12-07T07:16:44Z aartaka joined #lisp 2020-12-07T07:21:29Z aartaka quit (Ping timeout: 260 seconds) 2020-12-07T07:22:26Z judson_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-07T07:26:01Z florian_ quit (Quit: Leaving) 2020-12-07T07:32:06Z Cymew joined #lisp 2020-12-07T07:43:30Z toorevitimirp quit (Remote host closed the connection) 2020-12-07T07:43:58Z toorevitimirp joined #lisp 2020-12-07T07:45:22Z hahawang joined #lisp 2020-12-07T07:49:57Z diamondbond joined #lisp 2020-12-07T07:51:47Z Fare quit (Ping timeout: 260 seconds) 2020-12-07T07:54:43Z aartaka joined #lisp 2020-12-07T07:55:26Z loli joined #lisp 2020-12-07T07:55:30Z hahawang: Hi, I'm a newbie in lisp and I've found the macro quite hard to learn, what's the most effectively to learn it? 2020-12-07T07:57:37Z treflip: hahawang: you can watch this tutorial https://www.youtube.com/watch?v=ygKXeLKhiTI or read a book called "Let Over Lambda" 2020-12-07T07:58:06Z mange: Is there anything in particular you're having trouble understanding? 2020-12-07T07:59:29Z beach: hahawang: There is not much to understand. A macro is just a function that takes code and returns some different code. 2020-12-07T08:00:21Z hahawang: Thank you, I've found the most hard part is do some evaluation in macro body and it always generate some messy code and bug prone... 2020-12-07T08:00:45Z beach: hahawang: It is typical for beginners to use macros when they shouldn't. 2020-12-07T08:00:47Z hahawang: espically mixed with `(,), quasiquote 2020-12-07T08:01:22Z beach: hahawang: Macros should not be used when functions will work. 2020-12-07T08:01:40Z galex-713 quit (Quit: No Ping reply in 180 seconds.) 2020-12-07T08:01:59Z hahawang: Yes, I have found I can't tell the real difference between macro and function 2020-12-07T08:02:17Z hahawang: When to use function and when to use macro 2020-12-07T08:02:46Z beach: hahawang: It's fairly simple. A function always evaluates its arguments before being applied to the values of those arguments. If that is acceptable semantics, then you should use a function. 2020-12-07T08:02:51Z no-defun-allowed: You couldn't implement something like WITH-OPEN-FILE without using a macro. 2020-12-07T08:03:06Z phoe: hahawang: always use functions, except for when a function won't do very well. 2020-12-07T08:03:15Z phoe: which is e.g. when you want to introduce some new syntax. 2020-12-07T08:04:13Z hahawang: I found when I want to write some macro, I can't tell which part will be evaluate at the macro expansion time and which part will be evaluated after expansion 2020-12-07T08:04:13Z rumbler31 joined #lisp 2020-12-07T08:05:05Z Cymew: Do some stupid examples and expand them to test it out, is probably a good idea. 2020-12-07T08:05:47Z hahawang: It's hard to imagine what will be evaluated after macro expansion, when I try to expand it, it always generate some messy and nested list which is hard to debug and read 2020-12-07T08:06:04Z hahawang: Oh, forget to say thank you! 2020-12-07T08:06:31Z no-defun-allowed: You can use MACROEXPAND (or MACROEXPAND-1) so you don't have to imagine the expansion. 2020-12-07T08:06:39Z beach: hahawang: The entire expression resulting from the macro expansion is evaluated using the normal evaluation rule. 2020-12-07T08:07:31Z no-defun-allowed: e.g (macroexpand '(incf x)) => (SETQ X (+ 1 X)) ; or something like that 2020-12-07T08:08:29Z hahawang: @beach Thank you! Inspiring idea! 2020-12-07T08:08:31Z rumbler31 quit (Ping timeout: 246 seconds) 2020-12-07T08:08:44Z beach: Pleasure. 2020-12-07T08:09:02Z phoe: hahawang: re "It's hard to imagine" it's actually easier when you do slime-macrostep 2020-12-07T08:09:15Z phoe: macrostep mode is amazing because it expands macros inline 2020-12-07T08:09:22Z hahawang: @no-defun-allowed Thank you too. 2020-12-07T08:09:29Z Fare joined #lisp 2020-12-07T08:09:51Z hahawang: @phoe Thank you, I will have a try. 2020-12-07T08:12:08Z hahawang: Thank you all! I will watch the recommanded video, read that book and practise more! 2020-12-07T08:12:52Z phoe: hahawang: good luck with that 2020-12-07T08:13:09Z phoe: #clschool is also a good channel to ask questions if #lisp is busy for whatever reason 2020-12-07T08:13:21Z phoe: and #lispcafe is for more off-topic discussions 2020-12-07T08:13:43Z phoe: feel free to ask if you're curious about stuff. 2020-12-07T08:15:07Z hdasch_ joined #lisp 2020-12-07T08:15:08Z beach: phoe: Heh! "good luck with that" sounds like "there is no way you are ever going to understand it that way". 2020-12-07T08:16:52Z amb007 quit (Read error: Connection reset by peer) 2020-12-07T08:16:52Z lad quit (Read error: Connection reset by peer) 2020-12-07T08:17:00Z hdasch quit (Ping timeout: 256 seconds) 2020-12-07T08:17:22Z phoe: oh 2020-12-07T08:17:24Z phoe: :( 2020-12-07T08:17:28Z esotericalgo quit (Ping timeout: 260 seconds) 2020-12-07T08:17:29Z phoe: I did not mean it that way 2020-12-07T08:17:34Z kbtr quit (Ping timeout: 256 seconds) 2020-12-07T08:17:37Z lad joined #lisp 2020-12-07T08:17:38Z beach: I know. 2020-12-07T08:17:40Z phoe blames English, as always 2020-12-07T08:17:46Z kini quit (Read error: Connection reset by peer) 2020-12-07T08:17:46Z phoe: hahawang: good luck! sorry fo the mixup 2020-12-07T08:17:49Z hiredman quit (Ping timeout: 265 seconds) 2020-12-07T08:17:55Z hiredman joined #lisp 2020-12-07T08:18:03Z kbtr joined #lisp 2020-12-07T08:18:40Z amb007 joined #lisp 2020-12-07T08:19:06Z esotericalgo joined #lisp 2020-12-07T08:19:09Z beach: "`Good luck with that' is a set phrase that people say when you're going to try something that they think will be hard or impossible." 2020-12-07T08:19:29Z phoe: yes, I see it now 2020-12-07T08:19:48Z beach: English is hard. 2020-12-07T08:20:05Z galex-713 joined #lisp 2020-12-07T08:20:26Z liberliver joined #lisp 2020-12-07T08:23:52Z kini joined #lisp 2020-12-07T08:25:34Z zacts joined #lisp 2020-12-07T08:25:45Z zacts quit (Client Quit) 2020-12-07T08:27:36Z amb007 quit (Read error: Connection reset by peer) 2020-12-07T08:28:10Z amb007 joined #lisp 2020-12-07T08:28:15Z hahawang: @phoe It doesn't matter. I am not a native speaker and also try my best to learn English now. 2020-12-07T08:28:44Z random-nick joined #lisp 2020-12-07T08:30:16Z amb007 quit (Read error: Connection reset by peer) 2020-12-07T08:31:13Z amb007 joined #lisp 2020-12-07T08:31:18Z gxt joined #lisp 2020-12-07T08:32:51Z beach: hahawang: The @ convention is not used on IRC. Just so you know. 2020-12-07T08:33:08Z mbomba quit (Quit: WeeChat 3.0) 2020-12-07T08:33:16Z beach: hahawang: Just type the nick followed by `:'. Your IRC client should complete for you. 2020-12-07T08:33:44Z hahawang: beach: Let my try. 2020-12-07T08:33:51Z hahawang: Oh, that not works. 2020-12-07T08:33:52Z beach: Worked! :) 2020-12-07T08:34:03Z beach: Oh? 2020-12-07T08:34:05Z hahawang: I am using IRC in emacs. 2020-12-07T08:34:10Z beach: Me too. 2020-12-07T08:34:37Z phoe: and I'm not 2020-12-07T08:34:45Z hahawang: I can't see the highlight of your nickname in the message I have typed. 2020-12-07T08:35:10Z phoe: hahawang: well 2020-12-07T08:35:11Z beach: hahawang: You see your own nickname highlighted. 2020-12-07T08:35:13Z phoe: that's client-dependent 2020-12-07T08:35:24Z phoe: I see mine highlighted in irssi 2020-12-07T08:35:59Z no-defun-allowed: I see mine highlighted over Matrix on the web client, too. 2020-12-07T08:44:41Z pillton_ quit (Quit: WeeChat 3.0) 2020-12-07T08:46:26Z madnificent: phoe lost one street credit 2020-12-07T08:48:50Z phoe: madnificent: :( 2020-12-07T08:49:21Z phoe: this is so I have an IRC session that is not lost on machine reboots and is instead sitting on a tiny VPS 2020-12-07T08:51:02Z Fare quit (Ping timeout: 264 seconds) 2020-12-07T08:54:21Z madnificent: phoe: I was joking :) I found out it's trivial to set up znc and am now using znc-erc for that purpose. The default configuration doesn't replay enough to be super nice, but I'm sure a few hours of searching for configuration would resolve that too. Nothing wrong with irssi though :D 2020-12-07T08:54:48Z flip214: phoe: the only remaining question is.... screen or tmux? ;) 2020-12-07T08:54:48Z phoe: madnificent: :D 2020-12-07T08:55:00Z phoe: flip214: I'll answer on #lispcafe 2020-12-07T08:55:08Z madnificent: took me years far too long to figure out there's something like znc. if i'd have known, i likely wouldn't have left this channel. 2020-12-07T08:55:38Z flip214: phoe: my irssi channel bar is already too long, don't think I want another entry there ;) 2020-12-07T08:56:13Z phoe: flip214: okay then, tmux 2020-12-07T08:59:39Z luna_is_here quit (Read error: Connection reset by peer) 2020-12-07T09:03:59Z luna_is_here joined #lisp 2020-12-07T09:06:50Z hendursa1 joined #lisp 2020-12-07T09:07:35Z jprajzne joined #lisp 2020-12-07T09:08:43Z hendursaga quit (Ping timeout: 240 seconds) 2020-12-07T09:13:12Z pve joined #lisp 2020-12-07T09:15:45Z lotuseater: hahawang: sorry but don't start with Let over Lambda. it's too much for a beginner 2020-12-07T09:16:32Z hhdave quit (Ping timeout: 272 seconds) 2020-12-07T09:16:35Z hhdave_ joined #lisp 2020-12-07T09:17:33Z phoe: ^ 2020-12-07T09:17:51Z phoe: if anything, start with On Lisp to start understanding Lisp macros; Let Over Lambda is an advanced macrology title 2020-12-07T09:18:19Z lotuseater: try to implement something like += from other langs first as a function and think about why that can't work. then macros are needed 2020-12-07T09:18:29Z phoe: and I'd advise you to start with Practical Common Lisp or Graham's ANSI CL (or Touretzky's Gentle if you haven't programmed before at all) to understand Lisp basics first 2020-12-07T09:19:21Z lotuseater: phoe: do you agree if i say macros can be viewed as functions which take lists and produce new lists? 2020-12-07T09:19:32Z phoe: lotuseater: can't agree with that 2020-12-07T09:19:40Z phoe: macros can take any Lisp data and produce any Lisp data - not just list 2020-12-07T09:19:42Z phoe: lists* 2020-12-07T09:19:44Z beach: They take code and produce new code. 2020-12-07T09:19:48Z hahawang: I have some experience with Lisp, I have implement a simple bittorrent client(yet not full-fledged) in Emacs Lisp and have written my own Lisp interpreter. 2020-12-07T09:20:17Z phoe: (defmacro foo () "foo") - a valid macro, no lists taken, no lists produced 2020-12-07T09:20:20Z srandon111 joined #lisp 2020-12-07T09:20:24Z hahawang: But Lisp macro seems so hard for me :( 2020-12-07T09:20:24Z beach: Even better, a macro function takes a form and produces a new form. 2020-12-07T09:20:39Z phoe: hahawang: oh, good - then PCL should be a good suit 2020-12-07T09:20:58Z srandon111: guys i am starting with common lisp on linux, should i install sbcl and quicklisp from my package manager or it is more suggested to install them externally from the package manager? 2020-12-07T09:21:00Z hahawang: Anyone interested with that bittorrent client? 2020-12-07T09:21:10Z lotuseater: na ok maybe it isn't clear what i meant 2020-12-07T09:21:11Z srandon111: is there something similar to pyenv for clisp ? 2020-12-07T09:21:24Z phoe: hahawang: maybe #emacs - #lisp is about Common Lisp 2020-12-07T09:21:25Z beach: srandon111: CLISP?> 2020-12-07T09:21:35Z beach: srandon111: CLISP is not that well maintained these days. 2020-12-07T09:21:48Z phoe: beach: he likely uses "clisp" as the invalid acronym for Common Lisp 2020-12-07T09:21:50Z hahawang: There is so much thing I want to implement but I have no time since there are so much details. 2020-12-07T09:22:08Z beach: srandon111: CLISP is an implementation of Common Lisp. 2020-12-07T09:22:09Z phoe: srandon111: I install SBCL from debian's apt repositories and then install quicklisp from outside. 2020-12-07T09:22:13Z no-defun-allowed: Well, there aren't multiple incompatible versions of Common Lisp to switch between. 2020-12-07T09:22:31Z phoe: I don't install *ANY* CL software other than SBCL from OS repositories because they clash with Quicklisp-provided stuff in various really awful ways. 2020-12-07T09:22:56Z phoe: no ASDF, no slime, no alexandria, no nothing; I grab those from Quicklisp (and I upgrade ASDF manually). 2020-12-07T09:23:01Z beach: srandon111: If you assume people know what pyenv is without describing it, you will likely get fewer answers than if you told us what pyenv does. 2020-12-07T09:23:05Z ljavorsk joined #lisp 2020-12-07T09:23:05Z srandon111: beach, sorry i meant common lisp 2020-12-07T09:23:11Z hahawang: phoe: sorry, I don't know that. 2020-12-07T09:23:21Z phoe: hahawang: now you do :D 2020-12-07T09:23:26Z phoe: no worries 2020-12-07T09:23:40Z hahawang: phoe: Thank you. 2020-12-07T09:23:43Z srandon111: phoe, ok thanks... so your suggestion is to install sbcl from official OS repos and quicklisp externally ? 2020-12-07T09:23:52Z phoe: srandon111: yes 2020-12-07T09:24:05Z phoe: install SBCL from the official OS repos and then download and install quicklisp separately 2020-12-07T09:24:08Z phoe: and use that to setup everything else. 2020-12-07T09:24:24Z srandon111: ok thanks phoe 2020-12-07T09:25:22Z hahawang: I want to learn how macro works and have implemented a lisp interpreter in C++ followed Peter Novig's toturial, but In my opinion, although understanding how it works helps to learn how to use it, but using it well is quite anthor story. 2020-12-07T09:25:46Z beach: Wow. 2020-12-07T09:26:04Z hahawang: Something like you know what chess rules are and how chess works, but you can't it well. 2020-12-07T09:26:12Z phoe: hahawang: macros have rules of their own, too 2020-12-07T09:26:16Z hahawang: can't play it well. 2020-12-07T09:26:33Z phoe: and there's tactics and strategies for macro usage, just like with chess. :D 2020-12-07T09:27:01Z mfiano: Such as only use them for the two things they are used for. Use functions whenever you can 2020-12-07T09:27:10Z beach: hahawang: Maybe you should look at the first few presentations I made for the online Lisp meeting, entitled "Creating a Common Lisp implementation". 2020-12-07T09:28:09Z hahawang: Maybe it's what lisp intrigues me, building complex and beautiful program by a few of clean rules, quite elegant. 2020-12-07T09:28:10Z srandon111: phoe, ok so basically this ?https://lisp-lang.org/learn/getting-started/ 2020-12-07T09:28:52Z hahawang: phoe: Yes, I think I'm missing some tactics and strategies. 2020-12-07T09:28:53Z phoe: srandon111: yes 2020-12-07T09:28:56Z hnOsmium0001 quit (Quit: Connection closed for inactivity) 2020-12-07T09:29:01Z beach: hahawang: Did you write that interpreter mainly to learn how Common Lisp works? 2020-12-07T09:30:25Z hahawang: No, It's not common lisp interpreter. Common lisp is a big one, I just implement a lisp dialect for my own reasearch, a DSL for my reasearch, adding some syntax borrowed from Perl. 2020-12-07T09:30:29Z phoe: beach: I would assume more like learning how Lisp interpreters/environments/evaluators work in general; this assumptions may not be true because it follows my story back when I implemented Graham's Roots of Lisp 2020-12-07T09:30:36Z phoe: s/assumptions/assumption/ 2020-12-07T09:30:54Z beach: I see. 2020-12-07T09:31:08Z beach: hahawang: So you are planning to use it for your own work? 2020-12-07T09:31:43Z beach: hahawang: If so, why did you not choose to use an existing implementation. An interpreter written in C++ is likely to be very slow. 2020-12-07T09:32:13Z hahawang: beach. I am research on service architecture on Embedded system, I add some syntax surgar in Lisp to let remote service like a normal lisp function. 2020-12-07T09:33:10Z hahawang: beach: Yes, it's quite slow, I want write a lisp compiler to directly compiling to ARM assembly at spare time. 2020-12-07T09:33:26Z beach: Very ambitious. 2020-12-07T09:33:27Z srandon111: phoe, ok stupid question... i was following this: https://lisp-lang.org/learn/first-steps 2020-12-07T09:33:37Z srandon111: but he never says how to launch a CL-USER repl ... 2020-12-07T09:33:43Z hahawang: Sorry, "I want to", bad grammar, sorry. 2020-12-07T09:33:44Z phoe: srandon111: launch slime 2020-12-07T09:33:48Z srandon111: how can i launch it? do i necessarily need slime ?? 2020-12-07T09:33:57Z phoe: you can just run SBCL instead 2020-12-07T09:34:05Z phoe: and you'll get a REPL, just a different one 2020-12-07T09:34:16Z srandon111: phoe, ok slime is only within emacs right ? 2020-12-07T09:34:29Z srandon111: so SBCL provides its own REPL accessible by just doing "sbcl" ? 2020-12-07T09:34:33Z phoe: yes 2020-12-07T09:34:49Z phoe: but it is less featureful, because you don't have an external debugger, inspector, cross-references, completions, or ability to easily send in forms or files for compilation 2020-12-07T09:35:08Z phoe: slime is only for emacs, but there are also plugins for other editors 2020-12-07T09:35:13Z beach: srandon111: If you try to use Common Lisp with the bare SBCL REPL, you will hate the experience. 2020-12-07T09:35:21Z phoe: see https://www.reddit.com/r/Common_Lisp/comments/k82yd4/is_there_a_free_nonemacs_editor/ 2020-12-07T09:35:22Z srandon111: phoe, is there a more fancy repl outside emacs ? something maybe with syntax highlighting and other fancy stuff ? 2020-12-07T09:35:25Z phoe: that's a very recent discussion. 2020-12-07T09:35:31Z phoe: srandon111: yes, see the linked thread 2020-12-07T09:35:33Z Lord_of_Life quit (Changing host) 2020-12-07T09:35:33Z Lord_of_Life joined #lisp 2020-12-07T09:35:37Z srandon111: thanks phoe very helpful 2020-12-07T09:36:02Z beach: srandon111: I strongly recommend you use Emacs and SLIME. 2020-12-07T09:36:13Z lotuseater: oh yes, not seeing arguments or keywords etc acceptable by functions or else in SBCL REPL was painful 2020-12-07T09:36:17Z hahawang: beach: I choose to write my own mainly for educational purpose. I am curious about how lisp macro works, eval/expand/apply works, garbage collection works, reference counting works, mark and sweep works, so I decide to write my own. 2020-12-07T09:36:42Z beach: hahawang: I understand. 2020-12-07T09:37:03Z hahawang: In addition to that, I want to extend some new syntax to lisp, like #(1 2 3 4) to denote some special list. 2020-12-07T09:37:19Z beach: hahawang: That's already Common Lisp syntax for vectors. 2020-12-07T09:37:24Z lotuseater: ehm that is for vectors 2020-12-07T09:37:41Z beach: hahawang: But I guess you are not that interested in Common Lisp specifically. 2020-12-07T09:37:54Z hahawang: Yes, something like #@() #?() $() $@() 2020-12-07T09:37:57Z mgr_ quit (Ping timeout: 260 seconds) 2020-12-07T09:38:13Z phoe: hahawang: might want to visit ##lisp which is for general discussions about various Lisp dialects 2020-12-07T09:38:19Z hahawang: I want extend lisp syntex and called that #? $ `list prefix` 2020-12-07T09:38:28Z phoe: that's doable - in CL it's just reader macros 2020-12-07T09:38:41Z hahawang: Wow! 2020-12-07T09:38:47Z phoe: you can see e.g. https://gist.github.com/chaitanyagupta/9324402 that describes a JSON reader written in CL 2020-12-07T09:39:08Z phoe: where JSON data becomes Lisp data only because of programming the Lisp reader 2020-12-07T09:39:32Z srandon111: ok beach i will but still i want to expllore a little bit 2020-12-07T09:39:46Z srandon111: beach, phoe the only viable alternative as a cli REPL seems this https://github.com/koji-kojiro/cl-repl 2020-12-07T09:39:50Z srandon111: but it is in alpha 2020-12-07T09:39:55Z beach: srandon111: "good luck with that" :) 2020-12-07T09:39:55Z phoe: I never used that one 2020-12-07T09:39:57Z srandon111: and also i don't know what the hell roswell is 2020-12-07T09:40:05Z phoe: roswell is a Lisp implementation manager 2020-12-07T09:40:14Z lotuseater: hahawang: you have basically three stages: read -> compile -> run. and at all stages the other other two can be called too 2020-12-07T09:40:22Z phoe: I don't know if I can recommend it to people who are new to Lisp in general 2020-12-07T09:40:24Z srandon111: beach, oh ok so there are no cool REPL for lisp on command line ? 2020-12-07T09:40:39Z beach: Not that I know of. 2020-12-07T09:40:47Z srandon111: phoe, what's a lisp implementation manager? 2020-12-07T09:40:47Z phoe: srandon111: none that I know of either 2020-12-07T09:40:55Z emys joined #lisp 2020-12-07T09:41:16Z phoe: srandon111: something that is capable of downloading/compiling/installing/selecting different versions of SBCL, CCL, ECL, ABCL, and what else exists 2020-12-07T09:41:17Z hahawang: Sorry, I seems arrogant. Too many thoughts I want to share since research is always lonely. 2020-12-07T09:41:37Z srandon111: wow that's sad it's crazy how for a so REPL oriented language nobody developed a cool command line REPL outside the Emacs environment such as Slime 2020-12-07T09:41:47Z phoe: srandon111: there is a command line REPL 2020-12-07T09:41:51Z beach: srandon111: It is unusual to use the REPL for writing code. One typically edits Common Lisp code in an editor buffer, while being assisted with indentation, function signatures, evaluation, etc. 2020-12-07T09:41:51Z srandon111: phoe, ohh that's cool 2020-12-07T09:41:53Z hahawang: Thank you! 2020-12-07T09:41:54Z phoe: it's called slime, and you get it when you run emacs in terminal mode 2020-12-07T09:41:57Z phoe: :D 2020-12-07T09:42:17Z srandon111: beach, i know but it was nice for quick tests with common lisp as i use ipython with python to do that 2020-12-07T09:42:32Z phoe: you can run emacs in a terminal and it works almost the same as in graphical version 2020-12-07T09:43:13Z srandon111: phoe, roswell is another cool thing to have 2020-12-07T09:43:26Z srandon111: since i was used to use pyenv or plenv to manage implementation installation 2020-12-07T09:43:28Z phoe: srandon111: yes, but I cannot recommend it at the moment - it tends to not work sometimes, especially on non-linux 2020-12-07T09:43:43Z srandon111: phoe, i am not confident with emacs, i use vim 2020-12-07T09:43:51Z phoe: srandon111: oh! then use vlime and/or slimv 2020-12-07T09:43:53Z srandon111: phoe, i am on gnu / linux luckily 2020-12-07T09:44:16Z karlosz quit (Ping timeout: 240 seconds) 2020-12-07T09:46:22Z orivej joined #lisp 2020-12-07T09:47:17Z srandon111: phoe, anyway i am plannin to learn emacs 2020-12-07T09:55:03Z hahawang: Oh, reader-macro is pretty cool! 2020-12-07T09:55:10Z toorevitimirp quit (Remote host closed the connection) 2020-12-07T09:55:47Z lotuseater: hahawang: yes it can give you much power (and so much responsibility) 2020-12-07T09:57:17Z hahawang: so that I can extend lisp syntax and write something like $@(...). 2020-12-07T09:57:59Z phoe: hahawang: yes, that's the whole purpose 2020-12-07T09:58:08Z phoe: hahawang: https://github.com/y2q-actionman/with-c-syntax 2020-12-07T09:58:22Z phoe: read the README, maybe read the code, please never use it in practice 2020-12-07T09:58:55Z beach: hahawang: I think it is fine to implement a Lisp system in C++ for the purpose of learning how Lisp works internally, but I don't think it's a great idea to use such a thing for "production" code. It would be much better to choose one of the maintained Common Lisp implementations that fits your needs. 2020-12-07T09:59:20Z C-16 joined #lisp 2020-12-07T09:59:54Z hahawang: thank you, if I have known that half year ago, I could do my reasearch in a more effective way... 2020-12-07T10:00:03Z iskander joined #lisp 2020-12-07T10:00:07Z phoe: hahawang: that's the way learning goes 2020-12-07T10:00:27Z iskander- quit (Read error: Connection reset by peer) 2020-12-07T10:00:36Z phoe: often you recognize that someone already went in the direction you are going in; minds think alike 2020-12-07T10:02:34Z hahawang: beach: Thank you very much. In practise, I found debugging is quite hard when I want to write something from scratch, especially for non-trivial code. It's better to use exsiting mature one. Thank you very much, very helpful. 2020-12-07T10:02:40Z frost-lab joined #lisp 2020-12-07T10:02:40Z srandon111: beach, why you were complaining about cl-repl, once i compiled roswell it was super easy to install it and run 2020-12-07T10:02:46Z srandon111: phoe, cl-repl seems cool 2020-12-07T10:02:59Z phoe: srandon111: again, I never used it 2020-12-07T10:03:04Z phoe: so I cannot say much about it 2020-12-07T10:03:19Z beach: srandon111: I didn't complain about cl-repl. 2020-12-07T10:03:24Z beach: I know nothing about it. 2020-12-07T10:03:28Z srandon111: ok phoe i installed it and works flawlessly i wonder why it is not on quickisp 2020-12-07T10:03:42Z beach: But I can't imagine how a command-line REPL would be a substitute for SLIME. 2020-12-07T10:03:44Z srandon111: beach, sorry maybe i misread some of your messages 2020-12-07T10:03:57Z srandon111: beach, it is not... i just wanted to explore some repls 2020-12-07T10:04:03Z phoe: srandon111: likely because it has roswell as a prerequisite 2020-12-07T10:04:11Z gxt_ joined #lisp 2020-12-07T10:04:15Z beach: srandon111: For example, I rely on instant feedback to see the lambda list of a function that I am about to write a call for. 2020-12-07T10:04:26Z srandon111: so that e.g., if i am in my terminal without emacs open and i want to test my short lisp code it is useful to have 2020-12-07T10:04:48Z phoe: srandon111: I usually have emacs running in another window so I can test my stuff there 2020-12-07T10:04:54Z beach: srandon111: I find I can't even work well if I have (say) Clouseau running (which then prevents that feedback) in the same thread. 2020-12-07T10:04:57Z phoe: like, leave it open for days or weeks 2020-12-07T10:06:11Z beach: srandon111: It is not as useful as you might think. As phoe says, you would typically have an editor window and a REPL in the same process, and they would talk to each other, so that you get instant feedback and other help. 2020-12-07T10:06:18Z hahawang quit (Remote host closed the connection) 2020-12-07T10:07:03Z gxt quit (Ping timeout: 240 seconds) 2020-12-07T10:07:10Z beach: srandon111: In your case, how would you get code from your editor to your REPL? 2020-12-07T10:07:25Z beach: srandon111: Use the mouse to copy-paste? 2020-12-07T10:07:46Z beach: srandon111: If that's what you are used to, I strongly recommend you upgrade to something better. 2020-12-07T10:08:56Z shifty quit (Ping timeout: 240 seconds) 2020-12-07T10:10:01Z sgibber2018 joined #lisp 2020-12-07T10:10:12Z beach: srandon111: Also, as phoe says, there is absolutely no reason not to have Emacs running. 2020-12-07T10:10:31Z phoe: beach: well not exactly 2020-12-07T10:10:43Z phoe: sometimes it hangs on me or has a memory leak and I gotta restart it, you know 2020-12-07T10:10:43Z Stanley00 quit 2020-12-07T10:10:46Z cosimone joined #lisp 2020-12-07T10:11:12Z beach: phoe: That was a pedagogical first-level approximation. 2020-12-07T10:11:16Z skapata joined #lisp 2020-12-07T10:11:18Z beach: Sorry I didn't make that clear. 2020-12-07T10:11:36Z ldb joined #lisp 2020-12-07T10:11:58Z ldb: good eve 2020-12-07T10:12:04Z beach: Hello ldb. 2020-12-07T10:13:41Z phantomics_: Evening ldb 2020-12-07T10:14:03Z ldb: someone other day told me there's a book Building Problem Solvers that uses common lisp but I didn't know 2020-12-07T10:14:19Z phantomics_: A question: I have a function that creates a software package with a given name, and then creates some dynamic variables in the package 2020-12-07T10:14:37Z phoe: a software package - you mean a Lisp package? 2020-12-07T10:14:50Z phantomics_: It creates the dynamic variables like this (setf (symbol-value '*symbol-name*) value) 2020-12-07T10:14:54Z phantomics_: Yes, a Lisp package 2020-12-07T10:15:03Z phoe: that is not enough 2020-12-07T10:15:09Z phoe: PROCLAIM it SPECIAL beforehand 2020-12-07T10:15:24Z ldb: you can build symbol on the fly using INTERN 2020-12-07T10:15:32Z beach: phantomics_: Why would you do it that way rather than using DEFVAR or DEFPARAMETER? 2020-12-07T10:15:35Z phantomics_: Intern is that I actually use 2020-12-07T10:15:38Z phoe: beach: at runtime, I guess 2020-12-07T10:15:46Z phantomics_: Yes, at runtime 2020-12-07T10:16:02Z ldb: if your problem is that lisp read cannot recognize the package 2020-12-07T10:16:04Z phoe: so using PROCLAIM SPECIAL + SETF SYMBOL-VALUE would be equivalent to EVAL DEFPARAMETER 2020-12-07T10:16:13Z phoe: or COMPILE NIL LAMBDA DEFPARAMETER 2020-12-07T10:16:20Z phoe: just fully at runtime. 2020-12-07T10:16:38Z phoe: and phantomics_ is free to pick his poison over which one to use 2020-12-07T10:16:42Z ldb: *lisp reader 2020-12-07T10:17:14Z ldb: there might be a very unique need for that 2020-12-07T10:17:16Z phoe: err, also FUNCALL that COMPILE'd function 2020-12-07T10:17:20Z phantomics_: so (progn (proclaim (special 'package::*var*)) (setf (symbol-value 'package::*var*) value)) will do it? 2020-12-07T10:17:27Z splittist: ldb: I like the conditionals in the Building Problem Solvers code: Lucid, Symbolics, MCL, ACLPC, RT, RIOS, IRIX, ILS, PARC (: 2020-12-07T10:17:28Z phoe: ldb: I assume it's for april 2020-12-07T10:17:32Z phantomics_: Yes, it's for April 2020-12-07T10:17:36Z phoe: phantomics_: yes, as long as PACKAGE exists 2020-12-07T10:17:42Z phantomics_: April creates packages on the fly to use as its workspaces 2020-12-07T10:17:43Z phoe: otherwise the reader will explode 2020-12-07T10:17:57Z phantomics_: APL has a concept of workspaces roughly analagous to Lisp packages 2020-12-07T10:18:26Z phoe: nice 2020-12-07T10:18:35Z ldb: I guess workspace is very different from lisp package, it is more like a heap image 2020-12-07T10:19:07Z C-16 quit (Ping timeout: 272 seconds) 2020-12-07T10:19:08Z wxie quit (Ping timeout: 265 seconds) 2020-12-07T10:19:41Z phantomics_: Yes, from an implementation standpoint 2020-12-07T10:20:00Z phoe: "The workspace is a fundamental concept in APL. It enables you to develop a project as a series of small pieces of program logic. These are organized into functions, operators and classes, as described below. (...)" 2020-12-07T10:20:04Z phoe: from http://microapl.com/APL/apl_concepts_chapter2.html 2020-12-07T10:20:12Z phantomics_: APL is very unlike most languages in that it still carries many mainframe-era conventions 2020-12-07T10:20:25Z ldb: splittist: like how people wrote C in the old days :D 2020-12-07T10:20:27Z phoe: I assume that these can be named by CL symbols, at which point a package sounds like a decent choice 2020-12-07T10:20:37Z phantomics_: The norm for APL is to develop software directly in an APL REPL, writing all functions there. Those functions are saved in the workspace 2020-12-07T10:20:53Z phantomics_: In modern APLs you can save those workspaces to binary files and then load them later 2020-12-07T10:21:09Z phoe: as in, functions, operators, classes - these are nameable in CL, except functions and operators become kinda melded into one 2020-12-07T10:21:22Z phoe: phantomics_: nice! that's the equivalent of Lisp FASLs 2020-12-07T10:21:30Z phoe: (more or less) 2020-12-07T10:21:35Z phantomics_: The use case isn't quite the same 2020-12-07T10:22:21Z sgibber2018: REPLs are the best. Interactive programming ftw 2020-12-07T10:22:32Z phantomics_: It's like if you had no lisp files and typed all your functions into the REPL, can you generate a FASL after doing that? 2020-12-07T10:22:48Z ldb: no 2020-12-07T10:22:53Z phoe: phantomics_: it's possible to dump the whole Lisp image, but not parts of it 2020-12-07T10:22:57Z phantomics_: Didn't think so 2020-12-07T10:23:19Z phoe: I assume it could be possible with enough implementation support, or even written in portable Lisp though 2020-12-07T10:23:24Z emys: is there something like a CLASSPATH environment variable to tell ASDF where to look for installed packages? 2020-12-07T10:23:36Z phantomics_: April allows you to load APL source from files, currently the only REPL is invoking (april) calls through a Lisp REPL but I'm looking into building an Emacs-based pure APL REPL for it 2020-12-07T10:23:43Z phoe: emys: asdf:*central-registry* 2020-12-07T10:24:56Z shifty joined #lisp 2020-12-07T10:25:02Z ldb: phantomics_: will you support some exotic extentions (probably some from NARS2000) other than ISO APL? 2020-12-07T10:25:20Z phantomics_: Also, the traditional way to write APL functions is to use an in-REPL line editor mode that works a bit differently than the regular REPL. It wasn't until the 80s that the concept of an inline function definition existed in APL 2020-12-07T10:26:01Z beach: The famous "del" editor? 2020-12-07T10:26:12Z phantomics_: Yes 2020-12-07T10:26:44Z ldb: Del is fun to use, from a text editor hobbist point of view 2020-12-07T10:27:23Z phantomics_: Part of the reason APL stuck with these conventions is that they worked so well on the original APL mainframes, it was an incredibly efficient environment to work in 2020-12-07T10:27:48Z phantomics_: ldb: ISO APL is fulfilled by APL/2 and GNU APL, right? I have almost all of the lexical functions and operators in Dyalog APL, along with some features from k 2020-12-07T10:28:41Z phantomics_: I have the ∘, @, ⍨, ⍤, ⍥, ⍣, ⍸, and others not included in APL/2 2020-12-07T10:29:54Z phantomics_: There are also k-style if-statements like $[oneorzero;1;0] and n-argument functions: g←{[a;b;c] a+b×c} ⋄ g[2;3;4] => 14 2020-12-07T10:30:16Z urek joined #lisp 2020-12-07T10:30:51Z ldb: phantomics_: what about trains and atops? 2020-12-07T10:31:03Z phantomics_: Have those too 2020-12-07T10:31:30Z ldb needs to update quicklisp dists 2020-12-07T10:31:40Z phoe: ∘, @, ⍨, ⍤, ⍥, ⍣, ⍸ 2020-12-07T10:32:30Z phoe: to me, a person who never used APL, they are, thought-provoking, amusing, and look like emoji and/or emoji parts 2020-12-07T10:32:40Z phoe: which is IMO a good reason to finally learn APL someday! 2020-12-07T10:33:01Z phantomics_: To my knowledge I have the most complete implementation of the ⍣¯x function inversion feature aside from Dyalog, and later I'll be able to expand it to support arbitrary user-defined functions within a narrow set of criteria 2020-12-07T10:34:21Z phantomics_: Something you might notice is that some APL characters are used as components in others: ¨ ∘ ⍤ ○ ⍥ _ ⍸ ~ ⍨ 2020-12-07T10:35:06Z ldb: Last time I tried April, the (2∘⊥⍣¯1) was not yet working 2020-12-07T10:35:11Z phantomics_: Back in the teletype terminal days, those characters were entered by typing two symbols over each other 2020-12-07T10:35:16Z phoe: was APL the reason Unicode was created? 2020-12-07T10:35:27Z ldb: guess not 2020-12-07T10:35:59Z phantomics_: Using APL required a custom typeball from IBM, and there was only space for so many characters on it, so they created a bunch of overstruck character variations to support more symbols 2020-12-07T10:36:00Z phoe: the choice of characters in APL is really fascinating 2020-12-07T10:36:15Z ldb: actually you can think you have sacrificed lower case letters for those symbols 2020-12-07T10:36:31Z phantomics_: Yes, the original APL typeball had only italic uppercase 2020-12-07T10:38:29Z phantomics_: Looks like (2∘⊥⍣¯1) still doesn't work correctly, I'll check into that 2020-12-07T10:38:56Z phantomics_: A binary encoder? 2020-12-07T10:39:15Z iskander- joined #lisp 2020-12-07T10:39:48Z iskander quit (Ping timeout: 260 seconds) 2020-12-07T10:40:17Z ldb: yes, it was because I want to working on a very large number that typical APL cannot support 2020-12-07T10:40:29Z ldb: like 123*55 2020-12-07T10:40:50Z sgibber2018: That really does sound like a neat language 2020-12-07T10:41:18Z phantomics_: You can do stuff that takes a dozen nested loops in a regular language in one line 2020-12-07T10:41:50Z phantomics_: Hmm, I seem to be mistaken about the nature of ⊥⍣¯1 2020-12-07T10:42:17Z phantomics_: I thought that (2∘⊥⍣¯1) 5 was the same was (2∘⊤) 5, but it isn't 2020-12-07T10:42:53Z C-16 joined #lisp 2020-12-07T10:43:19Z sgibber2018: What is the difference? 2020-12-07T10:43:40Z ldb: if it is just ⊤, it needs to write APL code calculate the length of the result array 2020-12-07T10:43:53Z phantomics_: (2∘⊥⍣¯1) 5 => 1 0 1 , (2∘⊤) 5 => 1 2020-12-07T10:44:15Z sgibber2018: Oh that's neat. 2020-12-07T10:44:30Z ldb: (2 2 2∘⊤) 5 => 1 0 1 2020-12-07T10:45:29Z rumbler31 joined #lisp 2020-12-07T10:45:31Z phantomics_: Oh, so it calculates the length of the resulting array from (2∘⊥) 5, and then extends the length of the scalar left argument to ⊤ to match that length? 2020-12-07T10:47:37Z phantomics_: phoe: Unicode wasn't created for April, actually due to the lack of character support the APL creators released another vector language in the 90s called J that used only ASCII 2020-12-07T10:47:42Z ldb: for an optimized implementation, calculate the length only needs a few machine instructions on the right arg 2020-12-07T10:47:54Z phoe: phantomics_: yes, sorry; the question was a poor joke 2020-12-07T10:48:47Z phantomics_: What's really funny is that in the 80s, there was an APL solution for IBM PCs in the form of a custom graphics card. It had a physical switch on it that you would flip to change between APL characters and the regular MS-DOS character set 2020-12-07T10:50:05Z rumbler31 quit (Ping timeout: 256 seconds) 2020-12-07T10:50:32Z phoe: phantomics_: you give me the same kind of mad scientist vibe that drmeister gives me; dunno, maybe it's the tendency to have advanced Lisp interoperability with other programming languages, maybe it's just the same hair style 2020-12-07T10:54:01Z phantomics_: Hadn't looked much into Clasp before, has he done any videos? 2020-12-07T10:55:33Z lotuseater: phantomics_: yes two awesome talks, one from 2015 and one from 2018 2020-12-07T10:56:07Z lotuseater: it's much about the molecule design aspect 2020-12-07T10:56:51Z phoe: phantomics_: https://www.youtube.com/watch?v=8X69_42Mj-g is a relatively old but good one 2020-12-07T10:57:15Z phoe: https://www.youtube.com/watch?v=mbdXeRBbgDM is the 2018 one I presume 2020-12-07T10:57:21Z jprajzne quit (Quit: Leaving.) 2020-12-07T10:58:38Z srandon111: guys how can i search documentation for a function with SLIME ? 2020-12-07T10:58:50Z phoe: I always do (describe 'foo) in the REPL 2020-12-07T10:59:05Z no-defun-allowed: phantomics_: Silly question, have you looked at heisig's Petalisp compiler? That was also (partly) inspired by APL\3000 from memory, and so it /could/ be a backend for April. 2020-12-07T10:59:10Z beach: phoe: for a SLIME function? 2020-12-07T10:59:25Z beach: Oh, for a Common Lisp function, using SLIME. I get it. 2020-12-07T11:00:16Z C-16 quit (Ping timeout: 240 seconds) 2020-12-07T11:00:37Z no-defun-allowed: Well, there are a lot of APL programs that can't be expressed in Petalisp, but it'd be good for a lot of array churning. 2020-12-07T11:00:42Z phantomics_: no-defun-allowed: I have, it's AGPL which is pretty limiting, I saw another one a while back that wrapped numpy for large operations and used optimized Lisp for smaller things 2020-12-07T11:00:46Z Codaraxis__ quit (Ping timeout: 256 seconds) 2020-12-07T11:01:27Z ldb: might just open the backend and let the user customize 2020-12-07T11:01:47Z phantomics_: Yeah, multiple backends are another idea 2020-12-07T11:02:45Z no-defun-allowed: numcl? That is all Common Lisp though, so it's unlikely. 2020-12-07T11:02:52Z phantomics_: From what I've found the ultimate optimization may be to use SBCL's define-vop macro to write array operations directly in ASM 2020-12-07T11:02:57Z phantomics_: Not numcl, something different 2020-12-07T11:03:07Z lotuseater: no-defun-allowed: ah this petalisp with JIT compiling? 2020-12-07T11:03:14Z phantomics_: Numcl from what I saw isn't so focused on efficiency 2020-12-07T11:03:14Z srandon111: phoe, ok i tried... https://bpa.st/N3FA wow this is very difficult to understand i would say 2020-12-07T11:03:23Z srandon111: where can i i learn how to interpret that output ? 2020-12-07T11:03:41Z no-defun-allowed: lotuseater: Yes, that Petalisp (as opposed to the Petalisp that is used as a DSL by an American animal rights organisation). 2020-12-07T11:04:06Z phantomics_: Haha, PETA-lisp 2020-12-07T11:04:31Z hahawang joined #lisp 2020-12-07T11:04:42Z Codaraxis__ joined #lisp 2020-12-07T11:04:52Z no-defun-allowed: srandon111: Well, you see the lambda-list (loosely "the arguments it takes"), what the compiler has inferred the argument types to be, and then the documentation string. 2020-12-07T11:05:01Z phantomics_: The define-vop method would only support SBCL, though, which is the biggest shortcoming 2020-12-07T11:05:34Z lotuseater: yes, "unportable but fun" 2020-12-07T11:06:01Z phantomics_: Other CLs don't seem to care much about speed, though, so most speed-focused users would be using SBCL anyway 2020-12-07T11:06:09Z srandon111: no-defun-allowed, ok if i want to explore a function ,to understand how it works how can i do? for example let's take this process-input 2020-12-07T11:06:25Z srandon111: is there a way to find examples ? 2020-12-07T11:06:26Z beach: srandon111: Read the documentation. 2020-12-07T11:06:42Z phantomics_: srandon111: the other way to get a function's documentation, for * for example, is (documentation '* 'function) 2020-12-07T11:06:46Z beach: srandon111: What you see there is what the SBCL maintainers happened to produce. 2020-12-07T11:07:29Z srandon111: beach, the documentation it's difficult to understand from the (describe) function 2020-12-07T11:07:43Z beach: I meant the online HTML documentation for SBCL. 2020-12-07T11:08:10Z beach: srandon111: What you are looking at is a so-called "documentation string" which is (or shouldn't be) the real documentation. 2020-12-07T11:08:30Z beach: srandon111: It is only meant as a reminder if you already have an idea what you want. 2020-12-07T11:09:05Z beach: srandon111: Also, like I said, you are at the mercy of the (volunteer) SBCL maintainers, and you get what they happened to produce. 2020-12-07T11:09:52Z hahawang quit (Remote host closed the connection) 2020-12-07T11:10:22Z beach: srandon111: That function, by the way, is not a standard Common Lisp function. For those, you have the Common Lisp HyperSpec. 2020-12-07T11:12:13Z srandon111: ok thanks beach 2020-12-07T11:15:20Z beach: Sure. 2020-12-07T11:15:34Z notandinus quit (Quit: rcirc on GNU Emacs 27.1) 2020-12-07T11:16:12Z Codaraxis__ quit (Remote host closed the connection) 2020-12-07T11:16:23Z vegansbane quit (Quit: The Lounge - https://thelounge.chat) 2020-12-07T11:16:38Z Codaraxis__ joined #lisp 2020-12-07T11:17:08Z notandinus joined #lisp 2020-12-07T11:17:46Z Codaraxis__ quit (Remote host closed the connection) 2020-12-07T11:18:13Z ggole joined #lisp 2020-12-07T11:18:46Z srandon111: beach, hell wait, are functions case-insensitive in common lisp?? 2020-12-07T11:19:03Z beach: No, but the reader up-cases symbols by default. 2020-12-07T11:19:07Z skapata quit (Remote host closed the connection) 2020-12-07T11:19:44Z beach: (symbol-name 'hello) => "HELLO" 2020-12-07T11:19:48Z srandon111: beach, so basically everything is upcase ? 2020-12-07T11:19:58Z srandon111: i mean all symbols are upcase 2020-12-07T11:19:59Z jackdaniel: (symbol-name '|hello|) => "hello" 2020-12-07T11:20:07Z srandon111: what's the motivation behind this? 2020-12-07T11:20:10Z jackdaniel: by default reader upcases symbols, you may change that 2020-12-07T11:20:30Z jackdaniel: (or prevent upcasing with ||, like I did above) 2020-12-07T11:21:28Z jackdaniel: srandon111: http://www.lispworks.com/documentation/HyperSpec/Body/23_ab.htm 2020-12-07T11:21:52Z srandon111: i am ok with the default i was just wondering the reason 2020-12-07T11:22:01Z jackdaniel: backward compatibility 2020-12-07T11:22:16Z lotuseater: imo its "motivation" is for elegance 2020-12-07T11:22:30Z aartaka_d joined #lisp 2020-12-07T11:22:33Z jackdaniel: I have always wondered, why the readtable case :invert is present - what's the purpose of it? 2020-12-07T11:22:58Z jackdaniel: something like an easter egg putting burden on the implementers? :) 2020-12-07T11:23:04Z lotuseater: oh that can be just for fun? :D 2020-12-07T11:23:55Z srandon111: jackdaniel, what's the readtable case :invert ? 2020-12-07T11:24:16Z srandon111: inverting the case when reading a table by default? 2020-12-07T11:24:24Z kagevf quit (Ping timeout: 240 seconds) 2020-12-07T11:24:33Z jackdaniel: if your reader is set to invert the case of symbols, then when you type 'zebra, the symbol name is "ZEBRA", if you type 'ZEBRA, it's name is "zebra" 2020-12-07T11:24:41Z Xach: srandon111: all-lowercase symbol tokens are converted to uppercase, and vice-versa. Mixed case is preserved. 2020-12-07T11:24:51Z Xach: So you can have a symbol token of FooBar and its name becomes "FooBar" 2020-12-07T11:25:12Z aartaka quit (Ping timeout: 256 seconds) 2020-12-07T11:25:17Z jackdaniel: s/it's/its/ 2020-12-07T11:25:20Z Xach: Lowercase input code is compatible with CL, and mixed case can be used if you are using it in a situation where mixed case is helpful. 2020-12-07T11:25:35Z Xach: Maybe writing macros to generate code in camelCase environments? 2020-12-07T11:25:53Z jackdaniel: perhaps 2020-12-07T11:26:29Z ldb: I guess the invert is for some terminals that use upper case as defualt "lower case" and still has lower case present 2020-12-07T11:26:38Z kagevf joined #lisp 2020-12-07T11:26:39Z Xach: I mean, if you are working with some external system where symbolic manipulation of mixed-case tokens is important. 2020-12-07T11:26:52Z Xach: ldb: no 2020-12-07T11:26:53Z galex-713 quit (Ping timeout: 272 seconds) 2020-12-07T11:27:00Z Xach: It postdates that by a long time. 2020-12-07T11:27:35Z jackdaniel: Xach: preserve would be much better fit then, no? 2020-12-07T11:28:03Z Xach: jackdaniel: why? then you would have to write the rest of the code as (DEFUN fooBar () (CONS 'mySymbol 42)) 2020-12-07T11:28:25Z jackdaniel: hm 2020-12-07T11:28:51Z Nilby: IT'S SO IT WORKS ON A TELETYPE MODEL 30. 2020-12-07T11:28:54Z shifty quit (Ping timeout: 272 seconds) 2020-12-07T11:29:01Z Xach: Actually, I should not say that about :invert history with certainty. It is only my strong impression. It would be nice to know the story from one of the designers. 2020-12-07T11:30:14Z galex-713 joined #lisp 2020-12-07T11:30:16Z jackdaniel: Xach: it seems that your strong impression is right: http://www.lispworks.com/documentation/HyperSpec/Issues/iss286_w.htm 2020-12-07T11:30:19Z jackdaniel: (see "rationale") 2020-12-07T11:31:04Z Xach: ah, ok, thanks! 2020-12-07T11:31:13Z jackdaniel: sure 2020-12-07T11:31:47Z Xach: I don't think I have seen that before, I have only seen second-order rationalizations of the feature. It's nice to see the primary reference. 2020-12-07T11:31:51Z iskander joined #lisp 2020-12-07T11:32:01Z iskander- quit (Ping timeout: 264 seconds) 2020-12-07T11:32:52Z emys quit (Ping timeout: 260 seconds) 2020-12-07T11:36:30Z emys joined #lisp 2020-12-07T11:37:06Z phantomics_: I don't see a point for case-sensitive Lisp readers, it's more of an annoyance than a help 2020-12-07T11:37:29Z phantomics_: If you're doing mixed cases in a language, it should follow a consistent pattern, like camelCase variable names 2020-12-07T11:37:34Z madnificent: phantomics_: connecting with external stuff, it helps in that regard. 2020-12-07T11:37:54Z phantomics_: In that case the capitals serve to separate sections of a symbol; in Lisp this is done with dashes 2020-12-07T11:38:30Z madnificent: phantomics_: We have a lisp file with a DSL to specify a JSON:API compliant glue. Not having casing confuses people (they input dasherized and that kind-of works fine) 2020-12-07T11:38:44Z phantomics_: madnificent: in that case I'd usually opt to convert dashes to camel-case 2020-12-07T11:39:01Z phantomics_: That's what I do in April and in a few JSON conversion situations 2020-12-07T11:39:08Z madnificent: phantomics_: we do that, but non-lisp devs forget. Would be handy if we could even warn about it. 2020-12-07T11:39:11Z Xach: What is the dash version of VMKitDashUI? 2020-12-07T11:39:15Z no-defun-allowed: Case insensitivity lets you write sarcastic code like (wHeN (nUlL nUmBeRs) (ErRoR "maximum of zero numbers is undefined")) 2020-12-07T11:39:19Z jackdaniel: common lisp (unlike many other languages), is not very opinionated regarding how you should write things (i.e it doesn't impose on the programmer a particular style of programming) 2020-12-07T11:39:24Z Xach: no-defun-allowed: i like that 2020-12-07T11:39:39Z jackdaniel: that's how I usually explain to myself features I do not use or like 2020-12-07T11:39:55Z Xach: lol 2020-12-07T11:40:02Z no-defun-allowed: Xach: I think most camelcasing people would make you write acronyms the wrong way, like VmKitDashUi or HttpRequest 2020-12-07T11:40:53Z Nilby: "no worse than character macros" With great power comes great potential unreadability. 2020-12-07T11:40:59Z splittist: xml v XML v Xml ... 2020-12-07T11:41:08Z phantomics_: Those examples may be incorrect but they're actually more readable 2020-12-07T11:41:20Z no-defun-allowed: If you wrote them the right way, then you'd be done for; I know my Minecraft FFI has wonders like find-entities-in-a-a-b-b. 2020-12-07T11:41:23Z madnificent: I think you can make something unreadable in both approaches. Having the freedom could help, though I like lowercase dasherized form currently used I would like to have the case-sensitive option for integrations. 2020-12-07T11:41:58Z phantomics_: I have to do lots of find-entities-in-a-a-b-b when generating Javascript and React code from Lisp 2020-12-07T11:41:59Z Xach: My solution is to avoid working with camelcase systems rather than embrace :preserve or some other system. 2020-12-07T11:42:09Z phantomics_: *stuff like find-entities-in-a-a-b-b 2020-12-07T11:42:46Z Nilby: tHEnEXTwINDOW or TheNeXTWindow O_o 2020-12-07T11:43:01Z no-defun-allowed: But if you use the first kind of camel casing, then vm-kit-dash-ui translates correctly. 2020-12-07T11:43:15Z phantomics_: Hard to get around using Web frameworks when you want an accessible interface 2020-12-07T11:43:21Z vegansbane joined #lisp 2020-12-07T11:43:43Z Nilby: I have found it efficacious to have a de-camelcaserizer bound to a key. 2020-12-07T11:43:45Z mgr_ joined #lisp 2020-12-07T11:45:16Z no-defun-allowed: In 70 LOC of mostly FFI stuff, I only have one annoying name (the forementioned minecraft:get-entities-within-a-a-b-b). But it is a really annoying name. 2020-12-07T11:46:36Z no-defun-allowed: I also need to strip off the get- and set- prefixes one day, but that creates some name collisions. 2020-12-07T11:47:34Z lotuseater: oh cool you're coding minecraft stuff with CL? 2020-12-07T11:48:59Z no-defun-allowed: Well, I haven't for a while, but I have a library to poke around with ABCL. 2020-12-07T11:51:54Z mange quit (Remote host closed the connection) 2020-12-07T11:53:41Z surabax joined #lisp 2020-12-07T11:55:35Z jprajzne joined #lisp 2020-12-07T12:01:38Z johnjay quit (Ping timeout: 256 seconds) 2020-12-07T12:02:31Z johnjay joined #lisp 2020-12-07T12:06:58Z lotuseater quit (Remote host closed the connection) 2020-12-07T12:10:43Z dhil joined #lisp 2020-12-07T12:16:03Z phantomics_: What kind of data models are you using for Minecraft content? 3d arrays? 2020-12-07T12:16:45Z EvW joined #lisp 2020-12-07T12:18:22Z urek__ joined #lisp 2020-12-07T12:22:11Z urek quit (Ping timeout: 246 seconds) 2020-12-07T12:33:41Z urek joined #lisp 2020-12-07T12:35:09Z urek__ quit (Ping timeout: 246 seconds) 2020-12-07T12:53:00Z kaftejiman joined #lisp 2020-12-07T12:55:20Z emys quit (Read error: Connection timed out) 2020-12-07T12:55:44Z lxsameer quit (Ping timeout: 260 seconds) 2020-12-07T12:57:06Z emys joined #lisp 2020-12-07T12:57:07Z karayan quit (Read error: Connection reset by peer) 2020-12-07T12:57:38Z karayan joined #lisp 2020-12-07T12:57:56Z dhil quit (Ping timeout: 240 seconds) 2020-12-07T12:58:19Z nowhere_man joined #lisp 2020-12-07T12:59:32Z Josh_2 joined #lisp 2020-12-07T13:00:30Z ldb: hashset of triples 2020-12-07T13:05:13Z C-16 joined #lisp 2020-12-07T13:05:26Z vegansbane6 joined #lisp 2020-12-07T13:06:14Z ljavorsk quit (Ping timeout: 256 seconds) 2020-12-07T13:07:56Z vegansbane quit (Ping timeout: 256 seconds) 2020-12-07T13:07:56Z vegansbane6 is now known as vegansbane 2020-12-07T13:09:09Z emys quit (Ping timeout: 260 seconds) 2020-12-07T13:09:46Z lxsameer joined #lisp 2020-12-07T13:11:47Z renzhi quit (Ping timeout: 260 seconds) 2020-12-07T13:15:03Z bitmapper quit (Quit: Connection closed for inactivity) 2020-12-07T13:17:32Z emys joined #lisp 2020-12-07T13:20:23Z phantomics_: ldb is the Minecraft interface source available somewhere? Can't find it 2020-12-07T13:26:17Z wsinatra joined #lisp 2020-12-07T13:27:46Z lxsameer quit (Ping timeout: 256 seconds) 2020-12-07T13:37:08Z C-16 quit (Ping timeout: 260 seconds) 2020-12-07T13:38:08Z EvW quit (Quit: EvW) 2020-12-07T13:42:49Z splittist: "Compared to the explosive growth of the 1980s, the trend for the 1990s seems to be a continual, quiet propagation of artificial intelligence techniques into mainstream computing." 2020-12-07T13:43:58Z splittist: (Forbus and De Kleer, Building Problem Solvers (1993)) 2020-12-07T13:46:14Z johnjay quit (Ping timeout: 256 seconds) 2020-12-07T13:49:44Z lucasb joined #lisp 2020-12-07T13:50:00Z lxsameer joined #lisp 2020-12-07T13:54:54Z johnjay joined #lisp 2020-12-07T13:56:40Z Fare joined #lisp 2020-12-07T13:57:47Z Bike joined #lisp 2020-12-07T13:58:36Z ldb quit (Quit: ERC (IRC client for Emacs 26.1)) 2020-12-07T14:03:40Z cosimone_ joined #lisp 2020-12-07T14:04:48Z aartaka joined #lisp 2020-12-07T14:06:29Z cosimone quit (Ping timeout: 272 seconds) 2020-12-07T14:06:29Z cosimone_ is now known as cosimone 2020-12-07T14:08:04Z aartaka_d quit (Ping timeout: 260 seconds) 2020-12-07T14:09:03Z aartaka_d joined #lisp 2020-12-07T14:11:07Z aartaka quit (Ping timeout: 246 seconds) 2020-12-07T14:16:34Z cosimone quit (Remote host closed the connection) 2020-12-07T14:16:53Z cosimone joined #lisp 2020-12-07T14:18:03Z C-16 joined #lisp 2020-12-07T14:21:05Z hendursa1 quit (Quit: hendursa1) 2020-12-07T14:21:23Z hendursaga joined #lisp 2020-12-07T14:22:38Z rumbler31 joined #lisp 2020-12-07T14:23:03Z pfdietz: In the bleak AI winter, long ago. 2020-12-07T14:23:30Z EvW joined #lisp 2020-12-07T14:25:45Z Nilby quit (Read error: Connection reset by peer) 2020-12-07T14:26:09Z dhil joined #lisp 2020-12-07T14:27:02Z rumbler31 quit (Ping timeout: 256 seconds) 2020-12-07T14:27:08Z loli quit (Quit: WeeChat 2.9) 2020-12-07T14:28:44Z wsinatra quit (Ping timeout: 256 seconds) 2020-12-07T14:29:40Z wsinatra joined #lisp 2020-12-07T14:30:29Z loli joined #lisp 2020-12-07T14:34:07Z phantomics_: no-defun-allowed: since you brought up Petalisp, here is the other library I was looking at as a potential accelerator for April: https://github.com/digikar99/numericals 2020-12-07T14:36:55Z aartaka_d quit (Read error: Connection reset by peer) 2020-12-07T14:37:01Z aartaka joined #lisp 2020-12-07T14:38:42Z shka_: is there a way to convince local-time to handle PM/AM format of hours? 2020-12-07T14:39:33Z frost-lab quit (Quit: Connection closed) 2020-12-07T14:41:36Z EvW quit (Ping timeout: 268 seconds) 2020-12-07T14:44:06Z treflip quit (Ping timeout: 256 seconds) 2020-12-07T14:44:33Z treflip joined #lisp 2020-12-07T14:48:06Z gxt_ quit (Remote host closed the connection) 2020-12-07T14:48:46Z gxt_ joined #lisp 2020-12-07T14:51:44Z treflip quit (Ping timeout: 240 seconds) 2020-12-07T14:54:16Z shka_: regex it is! 2020-12-07T14:54:46Z yonkunas joined #lisp 2020-12-07T14:55:12Z waleee-cl joined #lisp 2020-12-07T14:55:53Z splittist: shka_: format-timestring has :hour12 and :ampm (or did you mean actual uppercase AM/PM?) 2020-12-07T14:57:28Z flip214: qqq 2020-12-07T14:58:03Z hendursaga quit (Ping timeout: 240 seconds) 2020-12-07T15:00:56Z flip214: sorry, tried to escape less 2020-12-07T15:01:42Z hendursaga joined #lisp 2020-12-07T15:05:38Z emys quit (Ping timeout: 246 seconds) 2020-12-07T15:09:50Z emys joined #lisp 2020-12-07T15:14:56Z emys quit (Ping timeout: 265 seconds) 2020-12-07T15:15:19Z jprajzne quit (Quit: Leaving.) 2020-12-07T15:16:21Z harlchen joined #lisp 2020-12-07T15:18:29Z emys joined #lisp 2020-12-07T15:20:01Z scymtym quit (Ping timeout: 264 seconds) 2020-12-07T15:22:56Z abhixec quit (Ping timeout: 240 seconds) 2020-12-07T15:25:07Z abhixec joined #lisp 2020-12-07T15:26:58Z andreyorst` quit (Quit: andreyorst`) 2020-12-07T15:27:07Z housel quit (Ping timeout: 260 seconds) 2020-12-07T15:30:07Z ljavorsk joined #lisp 2020-12-07T15:31:28Z emys quit (Ping timeout: 272 seconds) 2020-12-07T15:32:36Z andreyorst joined #lisp 2020-12-07T15:40:28Z scymtym joined #lisp 2020-12-07T15:44:19Z emys joined #lisp 2020-12-07T15:44:29Z spal joined #lisp 2020-12-07T15:44:33Z spal: join #python 2020-12-07T15:44:45Z beach: Hmm. 2020-12-07T15:44:47Z spal: oops! sorry about that. 2020-12-07T15:46:01Z jackdaniel: I didn't know that cmu compiler has a dedicated channel 2020-12-07T15:47:05Z pyc: jackdaniel: what's the channel name? I guessed #cmucl but it has only one member. 2020-12-07T15:47:33Z jackdaniel: pyc: I was making fun of #python - cmu compiler /internal/ name is "python" 2020-12-07T15:47:33Z pyc: #sbcl has 92 nicks, so that seems like a dedicated channel. what's the one for CMU CL? 2020-12-07T15:47:56Z jackdaniel: cmucl doesn't have a dedicated channel afaik 2020-12-07T15:48:02Z jackdaniel: on freenode that is 2020-12-07T15:48:36Z pyc: oh! I didn't know cmu cl is also known as "python" 2020-12-07T15:48:56Z jackdaniel: its compiler is known as 'python', not the implementation per se 2020-12-07T15:49:01Z pyc: From Wikipedia article on CMU CL: "A native code compiler named "Python" (not to be confused with the Python programming language)." 2020-12-07T15:50:12Z _death: when people say python is slow, you can point them to sbcl ;) 2020-12-07T15:50:59Z _death: that will either (i) show them python is fast or (ii) show them lisp is fast 2020-12-07T15:51:54Z kaftejiman_ joined #lisp 2020-12-07T15:53:52Z kaftejiman__ joined #lisp 2020-12-07T15:54:16Z pfdietz: cmucl has been largely superseded. 2020-12-07T15:54:59Z emys quit (Ping timeout: 246 seconds) 2020-12-07T15:56:33Z kaftejiman quit (Ping timeout: 260 seconds) 2020-12-07T15:57:35Z emys joined #lisp 2020-12-07T15:57:56Z kaftejiman_ quit (Ping timeout: 240 seconds) 2020-12-07T15:58:24Z hnOsmium0001 joined #lisp 2020-12-07T15:59:37Z matta quit (Ping timeout: 246 seconds) 2020-12-07T16:04:29Z bitmapper joined #lisp 2020-12-07T16:06:26Z C-16 quit (Ping timeout: 256 seconds) 2020-12-07T16:08:08Z _jrjsmrtn quit (Ping timeout: 256 seconds) 2020-12-07T16:08:19Z __jrjsmrtn__ joined #lisp 2020-12-07T16:11:29Z zcheng3 joined #lisp 2020-12-07T16:12:06Z matta joined #lisp 2020-12-07T16:15:13Z emys quit (Ping timeout: 264 seconds) 2020-12-07T16:16:21Z emys joined #lisp 2020-12-07T16:17:44Z aartaka_d joined #lisp 2020-12-07T16:18:56Z aartaka quit (Ping timeout: 240 seconds) 2020-12-07T16:20:36Z abel-abel joined #lisp 2020-12-07T16:21:29Z jprajzne joined #lisp 2020-12-07T16:24:16Z Cymew quit (Ping timeout: 240 seconds) 2020-12-07T16:25:16Z villanella joined #lisp 2020-12-07T16:30:01Z abel-abel quit (Ping timeout: 260 seconds) 2020-12-07T16:30:50Z abel-abel joined #lisp 2020-12-07T16:32:54Z phantomics_ quit (Quit: Ex-Chat) 2020-12-07T16:33:15Z phantomics joined #lisp 2020-12-07T16:38:55Z cosimone quit (Quit: cosimone) 2020-12-07T16:40:01Z abel-abel quit 2020-12-07T16:41:19Z EvW joined #lisp 2020-12-07T16:43:36Z Misha_B quit (Ping timeout: 256 seconds) 2020-12-07T16:45:03Z EvW1 joined #lisp 2020-12-07T16:45:50Z EvW quit (Ping timeout: 244 seconds) 2020-12-07T16:45:50Z EvW1 is now known as EvW 2020-12-07T16:46:27Z jmercouris: phoe: I’m sure you’ve seen the most majestic thread on Github 2020-12-07T16:46:35Z jmercouris: phoe: what are your thoughts? 2020-12-07T16:46:43Z iskander quit (Ping timeout: 260 seconds) 2020-12-07T16:47:04Z iskander joined #lisp 2020-12-07T16:47:06Z phoe: jmercouris: there are hundreds of majestic github threads and I don't know which one you are refering to 2020-12-07T16:47:16Z Bike: each more majestic than the last 2020-12-07T16:47:18Z jmercouris: phoe: the most majestic of all 2020-12-07T16:47:23Z phoe: oh! 2020-12-07T16:47:29Z jmercouris: the one which will realize is a revolution in Lisp 2020-12-07T16:47:38Z jmercouris: architected by the master architect himself! 2020-12-07T16:47:52Z phoe: must be the thread the one where I suggest adding quicklisp-quackload to quicklisp repos 2020-12-07T16:47:53Z jmercouris: https://github.com/Hexstream/sponsors.hexstreamsoft.com/issues/1 2020-12-07T16:48:05Z jmercouris: lol no, not that one 2020-12-07T16:48:09Z jmercouris: the one linked above 2020-12-07T16:48:19Z phoe: oh god 2020-12-07T16:48:39Z phoe: somebody just link my analysis and/or Twitter threads there, because I'm too dangerous for the Common Lisp community and therefore blocked from posting there 2020-12-07T16:48:59Z jmercouris: lol, he will just delete it 2020-12-07T16:49:03Z aeth: I mean 2020-12-07T16:49:30Z judson_ joined #lisp 2020-12-07T16:49:58Z EvW quit (Ping timeout: 244 seconds) 2020-12-07T16:50:02Z aeth: how much would it annoy Hexstreamsoft if someone set up a Common Lisp Patreon or something along those lines, but splitting the money among the "Common Lisp mafia"? 2020-12-07T16:50:14Z aeth: so phoe mfiano Xach beach and so on. 2020-12-07T16:50:21Z aeth: It would have more of an impact, too 2020-12-07T16:50:44Z jmercouris: lol, that would be hilarious 2020-12-07T16:50:58Z jmercouris: but probably insufficient for a meaningful support 2020-12-07T16:52:24Z aeth: Another thing you could do is come up with a cryptocurrency written in Common Lisp, but instead of having a fixed supply or using miners, every year (or month or whatever), it would go to such people in the CL community. Probably not even worth cashing initially, but there's always a chance it'd explode in popularity. 2020-12-07T16:52:52Z phoe: aeth: impersonation is not legal you know 2020-12-07T16:52:57Z aeth: phoe: ? 2020-12-07T16:53:20Z phoe: oh wait 2020-12-07T16:53:30Z aartaka joined #lisp 2020-12-07T16:53:30Z phoe: I terribly misread 2020-12-07T16:53:36Z phoe: you want a *Common Lisp* Patreon 2020-12-07T16:53:48Z aeth: phoe: My point was, it would be aimed only at people Hexstreamsoft hates, ideally with their consent (since otherwise, there's no guarantee that they could cash out) since they tend to actually, legitimately contribute to the community 2020-12-07T16:54:10Z phoe: sorry, I'm too annoyed by this # as of late. 2020-12-07T16:54:34Z aeth: the Patreon would be more practical, but the cryptocurrency would be more entertaining 2020-12-07T16:54:39Z aeth: imagine having # 2020-12-07T16:54:53Z aartaka_d quit (Ping timeout: 260 seconds) 2020-12-07T16:54:57Z KREYREEN quit (Remote host closed the connection) 2020-12-07T16:55:22Z aeth: (and actually idk if hexstreamsoft hates beach yet) 2020-12-07T16:55:22Z KREYREEN joined #lisp 2020-12-07T16:55:51Z phoe: I assume so, Xach flicked his magic wand at beach and turned him into a member of the lisp mafia 2020-12-07T16:55:58Z beach: aeth: Giving me money wouldn't help anything. 2020-12-07T16:57:07Z beach: aeth: He probably does. He created what he says is an improvement on my MOP pages, and demanded that I take down mine and promote his version here (among other places). 2020-12-07T16:57:10Z phoe: aeth: I no longer care about annoying him; I care about minimizing whatever spam and lies he throws out there into who seems to be literally everyone in the Lisp community. 2020-12-07T16:57:44Z aeth: phoe: I mean, he was playing the long game, but now we see what it really was for the whole time. Money. 2020-12-07T16:57:45Z beach: aeth: I just told him that he could promote his as much as he wants, but that my work in that domain was done. 2020-12-07T16:57:51Z villanella quit (Quit: villanella) 2020-12-07T16:58:38Z phoe: anyone cares for posting https://gist.github.com/phoe/ccba343687dc21e3a71d0dc6db68c96e there even if he deletes it? I'll just poke the GitHub Support abuse team. 2020-12-07T16:58:56Z _death: this channel is deteriorating by the minute 2020-12-07T16:59:04Z phoe: yes 2020-12-07T17:01:17Z phoe: and, honestly, this is what the "just ignore him" approach leads to 2020-12-07T17:05:13Z jackdaniel: there is a fine line between ignoring someone and staying on topic 2020-12-07T17:05:59Z phoe: I'll take an evening off 2020-12-07T17:06:52Z judson_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-07T17:08:02Z matta quit (Ping timeout: 265 seconds) 2020-12-07T17:08:21Z aeth: the problem is that there's no room for this sort of off-topic thing in #lispcafe because it's currently on-topic 2020-12-07T17:08:28Z aeth: talking about optimizing arithmetic 2020-12-07T17:13:13Z matta joined #lisp 2020-12-07T17:14:49Z housel joined #lisp 2020-12-07T17:16:14Z dbotton joined #lisp 2020-12-07T17:17:00Z emys quit (Ping timeout: 268 seconds) 2020-12-07T17:17:05Z jeosol: I just recently became ware of the issues with hexstream and reading phoe's link. Is there away to mediate this and resolve these issues or it has gone beyond that point. Hoping there is some kind of common ground to put all this behind 2020-12-07T17:18:06Z jeosol: phoe: you wrote that analysis and compiled the stuff in that link? 2020-12-07T17:18:06Z jackdaniel: to put it bluntly, hextream is a bat shit crazy and there is no reasoning. I appreciate phoe's work on that and I pity him - not something he'll get much kudos for. that said, I'd rather keep the topic of this channel related to technicalities of common lisp 2020-12-07T17:18:15Z judson_ joined #lisp 2020-12-07T17:18:43Z jackdaniel waves his moderator badge 2020-12-07T17:19:20Z jeosol: jackdaniel: I do agree completely apart staying on point. These arguments aren't very helpful and a bit shocked to see what the hexstream posted with the insults. Anyway, I'd leave this since I don' t have much context 2020-12-07T17:19:27Z phoe: jeosol: yes, I compiled this stuff, I analyzed this contents, and now let's go into private messages because jackdaniel does have a point. 2020-12-07T17:19:39Z jeosol: ok 2020-12-07T17:19:52Z jackdaniel: thank you, I appreciate that 2020-12-07T17:19:57Z phoe quietly goes to #lispcafe because that's where he has a moderator badge 2020-12-07T17:21:02Z emys joined #lisp 2020-12-07T17:22:15Z akoana joined #lisp 2020-12-07T17:28:44Z emys quit (Ping timeout: 240 seconds) 2020-12-07T17:30:23Z emys joined #lisp 2020-12-07T17:31:10Z abhixec quit (Ping timeout: 272 seconds) 2020-12-07T17:31:16Z codewaffle quit (Remote host closed the connection) 2020-12-07T17:35:02Z jackdaniel: to stop this awkward slience, I'll share a short screencast of a sheet manager: http://turtleware.eu/static/paste/cc5772ae-windows.webm (testing asynchronous execute-frame-command invocations) 2020-12-07T17:35:04Z emys quit (Client Quit) 2020-12-07T17:36:54Z phoe: I like the term "puffup" 2020-12-07T17:36:56Z jeosol: jackdaniel: very nice 2020-12-07T17:37:10Z phoe: it's awesome 2020-12-07T17:37:33Z jackdaniel: thanks 2020-12-07T17:37:40Z _death: looks great 2020-12-07T17:43:07Z phantomics: Interesting, is the source for this online? 2020-12-07T17:43:25Z jackdaniel: check out backend-manual branch from McCLIM repository 2020-12-07T17:43:32Z jackdaniel: and I can upload this shim, why not 2020-12-07T17:44:28Z jackdaniel: phantomics: http://turtleware.eu/static/paste/5184f4a1-desktop.lisp 2020-12-07T17:45:37Z galex-713 quit (Ping timeout: 272 seconds) 2020-12-07T17:45:49Z jackdaniel: mind that this is more a hack, before making it a demo it needs polishing 2020-12-07T17:46:20Z jackdaniel: also, lack of double buffering shows, something we hope to address before the manual is finished 2020-12-07T17:49:28Z gproto23 joined #lisp 2020-12-07T17:50:45Z galex-713 joined #lisp 2020-12-07T17:51:23Z beach: Still, great work! 2020-12-07T17:52:00Z edgar-rft pops up the IRC window and the first thing he reads is "death looks great" what makes him know that he's in the right channel 2020-12-07T17:52:09Z nij joined #lisp 2020-12-07T17:52:13Z phoe: edgar-rft: :D 2020-12-07T17:52:14Z jackdaniel: thanks. also notice the icon - it has been recently implemented by scymtym 2020-12-07T17:52:16Z phoe: oh that's a good laugh 2020-12-07T17:52:57Z nij: Hello. Given an array A and a slot S in it, how to get the neighboring slots for S? 2020-12-07T17:53:21Z phoe: nij: what's S? a list of array indices? 2020-12-07T17:53:26Z nij: Thinking mathematically, if S=A[n], then I'm hoping to get A[n-1] and A[n+1]. 2020-12-07T17:53:27Z jackdaniel: I don't think that you can safely assume, that array has some slots accessible to the user 2020-12-07T17:53:28Z phoe: how many dimensions are we speaking? 2020-12-07T17:53:39Z nij: 1 dimension 2020-12-07T17:53:52Z ck_: jackdaniel: I don't think this meant 'slot' in the clos way 2020-12-07T17:53:55Z phoe: oh so it's a vector 2020-12-07T17:54:04Z jackdaniel: uhm 2020-12-07T17:54:05Z nij: phoe: Oh yeah. 2020-12-07T17:54:07Z phoe: (list (1+ n) (1- n)) and then verify that these are valid 2020-12-07T17:54:25Z phoe: so not less than 0 and not greater-or-equal to length of that vector 2020-12-07T17:54:54Z ck_: nij: you'll probably want to use (position s array) to get n, assuming there is only one s in it (and that I interpret your question correctly) 2020-12-07T17:55:07Z nowhere_man quit (Ping timeout: 272 seconds) 2020-12-07T17:55:18Z phoe: ck_: I assume that he already knows the index 2020-12-07T17:55:25Z phoe: and he wants the "neighbors" 2020-12-07T17:55:35Z nij: phoe: I think ck_ interprets what I want correctly.. 2020-12-07T17:55:41Z nij: I don't know n in general.. 2020-12-07T17:55:57Z nij: I'm hoping to write a function f that takes in a slot in an array 2020-12-07T17:56:12Z nij: and loop that function f over the whole array 2020-12-07T17:56:15Z jackdaniel: cdr gives you the list tail, and cir gives you the chimera leg 2020-12-07T17:56:30Z nij: each time, it will return the neighbors of the slot 2020-12-07T17:57:06Z Bike: when you say "a slot in an array", what do you mean? an object stored in an array? 2020-12-07T17:57:24Z nij: "for all s in array, return (position s array)" seems to be what I want. 2020-12-07T17:57:27Z Bike: in C you could have a pointer to a particular array position, but no in lisp. 2020-12-07T17:57:37Z nij: I have to teach soon but will try this 'position right after that. 2020-12-07T17:57:39Z Bike: so the array never has duplicates in it? 2020-12-07T17:57:52Z ck_: nij: 'slot' has a special meaning in common lisp (in the common lisp object system). Maybe avoid the word in this context. 2020-12-07T17:57:58Z jackdaniel: Bike: displaced array could serve such purpose I think 2020-12-07T17:58:07Z phoe: jackdaniel: there are two chimera legs: cbr and ccr, this is because B and C are between A and D 2020-12-07T17:58:10Z nij: Yeah.. I don't really know the terminologies here yet. 2020-12-07T17:58:23Z aeth: nij: idiomatically, every sequence function should have start/end or start1/end1/start2/end2 2020-12-07T17:58:41Z aeth: so instead of returning a new array pointer that points to some position in the array, you work with indices 2020-12-07T17:58:49Z jackdaniel: phoe: CIR as in "Contents of the Increment Register" 2020-12-07T17:59:35Z jackdaniel: if you traverse cir long enough you may call the HCF instruction 2020-12-07T18:01:17Z cer0 joined #lisp 2020-12-07T18:02:36Z cosimone joined #lisp 2020-12-07T18:05:26Z cosimone quit (Read error: Connection reset by peer) 2020-12-07T18:05:39Z cosimone joined #lisp 2020-12-07T18:07:03Z lotuseater joined #lisp 2020-12-07T18:10:56Z Steeve joined #lisp 2020-12-07T18:11:42Z gaqwas joined #lisp 2020-12-07T18:11:43Z gaqwas quit (Changing host) 2020-12-07T18:11:43Z gaqwas joined #lisp 2020-12-07T18:12:40Z gproto23 quit (Quit: Leaving) 2020-12-07T18:19:36Z wsinatra quit (Ping timeout: 240 seconds) 2020-12-07T18:19:54Z aartaka_d joined #lisp 2020-12-07T18:21:49Z Lycurgus joined #lisp 2020-12-07T18:22:01Z aartaka quit (Ping timeout: 260 seconds) 2020-12-07T18:24:42Z shifty joined #lisp 2020-12-07T18:26:57Z pve: Hello! I'd like to wrap the body of the lambda expression with a symbol-macrolet, like so: 2020-12-07T18:27:04Z pve: (lambda (x y) ...) -> (lambda (x y) (symbol-macrolet ((a ...) (b ...)) ...)) 2020-12-07T18:27:21Z pve: Is there anything I need to consider besides a symbol-macrolet possibly shadowing a parameter? 2020-12-07T18:27:42Z wsinatra joined #lisp 2020-12-07T18:27:54Z pve: Can something go wrong if the body starts with a declare form, and it also gets wrapped by the symbol macrolet? 2020-12-07T18:28:06Z _death: yes.. check out alexandria:parse-body 2020-12-07T18:28:16Z housel quit (Ping timeout: 240 seconds) 2020-12-07T18:28:29Z Bike: yeah to avoid most of that i'd honestly just put the symbol-macrolet on the outside, probably 2020-12-07T18:28:37Z pve: _death: aha thanks 2020-12-07T18:28:39Z Bike: it's only different if the symbol macros could be used in &key defaults or something 2020-12-07T18:29:07Z dbotton: Is there a standard program for generating documentation in html from lisp sources? 2020-12-07T18:29:14Z pve: Bike: the idea is I need to pass the lambda expression to make-method-lambda, and it doesn't seem to like having the symbol-macrolet on the outside 2020-12-07T18:29:28Z Bike: oh, yes, in that case you do need an actual lambda expression. 2020-12-07T18:30:36Z makomo joined #lisp 2020-12-07T18:30:55Z pve: alright, well alexandria:parse-body seems to take care of this.. thanks 2020-12-07T18:31:30Z _death: dbotton: there is no standard one.. there are legion.. me, I use texinfo and a slightly modified copy of sb-texinfo 2020-12-07T18:33:10Z dbotton: I'll take a look thank you 2020-12-07T18:37:38Z dbotton: That looks good, although I am looking for something that combines the docstrings with comments in the sources sort of thing more 2020-12-07T18:39:39Z _death: oh.. I dislike markup in code.. I remember old attempts like atdoc and there are definitely newer ones as well 2020-12-07T18:40:23Z _death: I think there was a recent blogpost on planet lisp about mgl-pax 2020-12-07T18:40:47Z luna_is_here quit (Ping timeout: 260 seconds) 2020-12-07T18:41:12Z luna_is_here joined #lisp 2020-12-07T18:41:25Z phoe: I remember it mentioned on reddit 2020-12-07T18:41:36Z phoe: https://old.reddit.com/r/Common_Lisp/comments/k4j5cu/project_of_the_day_mglpax_documentation_builder/ 2020-12-07T18:42:53Z dbotton: I'll take a look. Not looking for much just something that would collect the comments Introducing sections of code and then operator syntax and doc string sort if thing 2020-12-07T18:42:54Z spxy[m] joined #lisp 2020-12-07T18:43:03Z dbotton: I'll take a look at those 2020-12-07T18:44:47Z Inline joined #lisp 2020-12-07T18:48:14Z nij quit (Quit: ERC (IRC client for Emacs 27.1)) 2020-12-07T18:48:46Z nij joined #lisp 2020-12-07T18:49:25Z housel joined #lisp 2020-12-07T18:50:16Z McParen joined #lisp 2020-12-07T18:52:08Z spxy[m]: Hello! 2020-12-07T18:52:22Z spxy: Hey! 2020-12-07T18:55:16Z urek quit (Remote host closed the connection) 2020-12-07T18:55:55Z phoe: hellooooo 2020-12-07T18:55:56Z urek joined #lisp 2020-12-07T19:05:36Z housel quit (Ping timeout: 240 seconds) 2020-12-07T19:12:28Z luna_is_here quit (Read error: Connection reset by peer) 2020-12-07T19:12:51Z matryoshka quit (Quit: ZNC 1.8.2 - https://znc.in) 2020-12-07T19:13:10Z luna_is_here joined #lisp 2020-12-07T19:14:03Z matryoshka joined #lisp 2020-12-07T19:14:29Z Inline quit (Ping timeout: 246 seconds) 2020-12-07T19:15:12Z Inline joined #lisp 2020-12-07T19:15:34Z matryoshka quit (Client Quit) 2020-12-07T19:15:59Z matryoshka joined #lisp 2020-12-07T19:16:38Z curiouscain quit (Ping timeout: 260 seconds) 2020-12-07T19:16:56Z housel joined #lisp 2020-12-07T19:18:12Z curiouscain joined #lisp 2020-12-07T19:19:46Z karlosz joined #lisp 2020-12-07T19:21:08Z ms[m] joined #lisp 2020-12-07T19:21:27Z Lycurgus quit (Quit: Exeunt) 2020-12-07T19:22:22Z hendursaga quit (Remote host closed the connection) 2020-12-07T19:22:32Z urek__ joined #lisp 2020-12-07T19:22:34Z hendursa1 joined #lisp 2020-12-07T19:22:50Z judson_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-07T19:23:33Z karayan quit (Remote host closed the connection) 2020-12-07T19:23:46Z judson_ joined #lisp 2020-12-07T19:24:17Z karayan joined #lisp 2020-12-07T19:25:21Z urek quit (Ping timeout: 246 seconds) 2020-12-07T19:25:52Z hendursa1 quit (Remote host closed the connection) 2020-12-07T19:26:40Z hendursa1 joined #lisp 2020-12-07T19:26:49Z DanielCheng[m] joined #lisp 2020-12-07T19:27:58Z _whitelogger quit (Remote host closed the connection) 2020-12-07T19:28:44Z Inline quit (Ping timeout: 240 seconds) 2020-12-07T19:28:57Z Inline joined #lisp 2020-12-07T19:30:06Z _whitelogger joined #lisp 2020-12-07T19:30:40Z ebrasca quit (Ping timeout: 246 seconds) 2020-12-07T19:31:11Z nij: New to common lisp.. why does it say that the variable 'arr is unbound? https://bpa.st/47NQ 2020-12-07T19:31:43Z nij: OH no... I miss a parenthesis.. :( 2020-12-07T19:31:51Z nij: I need a better interface while editting. 2020-12-07T19:32:05Z nij: doomemacs doesn't handle the syntax coloring nicely by defauly. 2020-12-07T19:32:49Z nij: I thought commonlisp has stricter rules while defining a function than elisp =_= sorry for the dumb question 2020-12-07T19:36:21Z phoe: nij: stricter, as in? 2020-12-07T19:36:30Z phoe: SBCL detects many compile-time errors 2020-12-07T19:36:36Z phoe: and warns you about them at compilation time 2020-12-07T19:37:44Z matta quit (Ping timeout: 240 seconds) 2020-12-07T19:39:24Z housel quit (Ping timeout: 260 seconds) 2020-12-07T19:39:24Z luna_is_here quit (Ping timeout: 260 seconds) 2020-12-07T19:41:26Z ggole quit (Quit: Leaving) 2020-12-07T19:42:38Z ane: and definitely warns you about more things than the emacs byte compiler 2020-12-07T19:44:30Z sgibber2018 quit (Quit: WeeChat 2.9) 2020-12-07T19:45:13Z jasom: If the SBCL source has moved, is there a way to convince M-. to go to the new location? 2020-12-07T19:45:16Z skapata joined #lisp 2020-12-07T19:45:28Z wglb``` quit (Remote host closed the connection) 2020-12-07T19:46:14Z dbotton_ joined #lisp 2020-12-07T19:47:32Z Bike: sb-ext:set-sbcl-source-location, i think 2020-12-07T19:49:25Z dbotton quit (Ping timeout: 264 seconds) 2020-12-07T19:49:27Z housel joined #lisp 2020-12-07T19:49:40Z dyelar joined #lisp 2020-12-07T19:51:55Z EvW joined #lisp 2020-12-07T19:53:18Z abhixec joined #lisp 2020-12-07T19:55:15Z karlosz quit (Quit: karlosz) 2020-12-07T19:55:17Z urek joined #lisp 2020-12-07T19:57:21Z urek__ quit (Ping timeout: 272 seconds) 2020-12-07T20:03:57Z frgo_ quit 2020-12-07T20:04:57Z nij left #lisp 2020-12-07T20:05:24Z andreyorst` joined #lisp 2020-12-07T20:06:55Z Krystof joined #lisp 2020-12-07T20:07:02Z andreyorst` quit (Client Quit) 2020-12-07T20:07:27Z jasom: Bike: thanks, that worked 2020-12-07T20:09:09Z andreyorst quit (Ping timeout: 260 seconds) 2020-12-07T20:14:19Z hendursa1 quit (Quit: hendursa1) 2020-12-07T20:14:32Z hendursaga joined #lisp 2020-12-07T20:14:39Z matryoshka quit (Quit: ZNC 1.8.2 - https://znc.in) 2020-12-07T20:14:58Z housel quit (Ping timeout: 260 seconds) 2020-12-07T20:15:03Z matryoshka joined #lisp 2020-12-07T20:15:29Z housel joined #lisp 2020-12-07T20:18:45Z wsinatra quit (Quit: WeeChat 3.0) 2020-12-07T20:23:00Z riekusr[m] joined #lisp 2020-12-07T20:29:32Z karlosz joined #lisp 2020-12-07T20:33:33Z urek__ joined #lisp 2020-12-07T20:33:52Z McParen left #lisp 2020-12-07T20:34:05Z narimiran quit (Ping timeout: 260 seconds) 2020-12-07T20:35:28Z abhixec quit (Ping timeout: 272 seconds) 2020-12-07T20:37:15Z urek quit (Ping timeout: 272 seconds) 2020-12-07T20:43:52Z ahungry joined #lisp 2020-12-07T20:45:35Z matryoshka quit (Quit: ZNC 1.8.2 - https://znc.in) 2020-12-07T20:45:54Z matryoshka joined #lisp 2020-12-07T20:50:54Z ljavorsk quit (Ping timeout: 256 seconds) 2020-12-07T20:53:06Z frgo joined #lisp 2020-12-07T20:55:13Z yitzi joined #lisp 2020-12-07T20:57:32Z judson_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-07T21:01:30Z cer0 quit (Ping timeout: 256 seconds) 2020-12-07T21:03:08Z EvW quit (Ping timeout: 244 seconds) 2020-12-07T21:05:24Z liberliver quit (Ping timeout: 240 seconds) 2020-12-07T21:05:41Z judson_ joined #lisp 2020-12-07T21:05:49Z Codaraxis__ joined #lisp 2020-12-07T21:07:47Z scymtym quit (Ping timeout: 244 seconds) 2020-12-07T21:09:16Z Lycurgus joined #lisp 2020-12-07T21:16:27Z sgibber2018 joined #lisp 2020-12-07T21:18:11Z EvW joined #lisp 2020-12-07T21:18:33Z aartaka_d quit (Ping timeout: 260 seconds) 2020-12-07T21:21:34Z Oddity- quit (Read error: Connection reset by peer) 2020-12-07T21:28:38Z Aurora_v_kosmose: Is there a way using ASDF to exploit SBCL's support for image compression? 2020-12-07T21:29:26Z tychoish: yes 2020-12-07T21:29:49Z moon-child: Aurora_v_kosmose: https://github.com/moon-chilled/FancyEngine2/blob/lisp/fe2.asd#L22 2020-12-07T21:30:54Z tychoish: https://github.com/tychoish/eggquilibrium/blob/main/eggquilibrium.asd#L18-L23 2020-12-07T21:31:23Z Aurora_v_kosmose: Ah, thanks. 2020-12-07T21:36:37Z nowhere_man joined #lisp 2020-12-07T21:39:33Z Aurora_v_kosmose left #lisp 2020-12-07T21:41:36Z ljavorsk joined #lisp 2020-12-07T21:44:11Z Lycurgus quit (Quit: Exeunt) 2020-12-07T21:46:44Z matryoshka quit (Quit: ZNC 1.8.2 - https://znc.in) 2020-12-07T21:50:17Z drl joined #lisp 2020-12-07T21:51:13Z ebrasca joined #lisp 2020-12-07T21:54:54Z dbotton_ quit (Quit: This computer has gone to sleep) 2020-12-07T21:55:37Z yitzi quit (Quit: yitzi) 2020-12-07T21:55:48Z stux|RC-- joined #lisp 2020-12-07T21:58:56Z kaftejiman__ quit (Ping timeout: 240 seconds) 2020-12-07T21:59:17Z drl quit (Remote host closed the connection) 2020-12-07T22:02:43Z emys[m] quit (*.net *.split) 2020-12-07T22:02:43Z kinope quit (*.net *.split) 2020-12-07T22:02:43Z santiagopim[m] quit (*.net *.split) 2020-12-07T22:02:44Z lottaquestions quit (*.net *.split) 2020-12-07T22:02:44Z travv0 quit (*.net *.split) 2020-12-07T22:02:44Z shenghi1 quit (*.net *.split) 2020-12-07T22:02:44Z bjorkint0sh quit (*.net *.split) 2020-12-07T22:02:44Z v3ga quit (*.net *.split) 2020-12-07T22:02:44Z stux|RC quit (*.net *.split) 2020-12-07T22:02:44Z billstclair quit (*.net *.split) 2020-12-07T22:02:44Z lukego quit (*.net *.split) 2020-12-07T22:05:02Z judson_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-07T22:05:29Z pfdietz quit (Ping timeout: 245 seconds) 2020-12-07T22:06:04Z Krystof quit (Ping timeout: 246 seconds) 2020-12-07T22:06:25Z dim quit (Ping timeout: 246 seconds) 2020-12-07T22:07:48Z dyelar quit (Quit: Leaving.) 2020-12-07T22:08:08Z gaqwas quit (Ping timeout: 260 seconds) 2020-12-07T22:08:30Z yonkunas quit (Quit: Connection closed for inactivity) 2020-12-07T22:08:31Z dim joined #lisp 2020-12-07T22:08:49Z shka_ quit (Ping timeout: 260 seconds) 2020-12-07T22:13:41Z pve quit (Quit: leaving) 2020-12-07T22:14:56Z oni-on-ion: can ASDF compile C libs ? 2020-12-07T22:15:05Z mbomba joined #lisp 2020-12-07T22:19:24Z ahungry quit (Remote host closed the connection) 2020-12-07T22:23:16Z nowhereman joined #lisp 2020-12-07T22:23:37Z shifty quit (Ping timeout: 264 seconds) 2020-12-07T22:23:39Z nowhere_man quit (Ping timeout: 272 seconds) 2020-12-07T22:24:12Z nowhereman is now known as nowhere_man 2020-12-07T22:24:24Z ljavorsk quit (Ping timeout: 256 seconds) 2020-12-07T22:24:32Z shifty joined #lisp 2020-12-07T22:25:01Z scymtym joined #lisp 2020-12-07T22:26:48Z Nilby joined #lisp 2020-12-07T22:29:41Z Xach: oni-on-ion: yes, in the sense that you can write rules to do anything. 2020-12-07T22:30:03Z Xach: oni-on-ion: i think there may even be examples in the manual, and examples in wild .asd files too. 2020-12-07T22:30:12Z billstclair joined #lisp 2020-12-07T22:30:15Z travv0 joined #lisp 2020-12-07T22:30:20Z bjorkint0sh joined #lisp 2020-12-07T22:30:20Z v3ga joined #lisp 2020-12-07T22:30:23Z lottaquestions joined #lisp 2020-12-07T22:30:24Z shenghi1 joined #lisp 2020-12-07T22:31:05Z kinope joined #lisp 2020-12-07T22:31:28Z lukego joined #lisp 2020-12-07T22:31:41Z drl joined #lisp 2020-12-07T22:32:19Z emys[m] joined #lisp 2020-12-07T22:33:49Z santiagopim[m] joined #lisp 2020-12-07T22:34:22Z harlchen quit (Quit: WeeChat 2.9) 2020-12-07T22:34:32Z jw4 joined #lisp 2020-12-07T22:36:20Z banjomet quit (Quit: Leaving) 2020-12-07T22:45:20Z oni-on-ion: Xach, ah great. thanks 2020-12-07T22:47:49Z zcheng3 quit (Ping timeout: 265 seconds) 2020-12-07T22:50:00Z susam2[m] joined #lisp 2020-12-07T22:50:48Z jw4 quit (Quit: tot siens) 2020-12-07T22:53:36Z judson_ joined #lisp 2020-12-07T22:53:57Z nowhereman joined #lisp 2020-12-07T22:54:26Z jw4 joined #lisp 2020-12-07T22:54:36Z nowhere_man quit (Ping timeout: 240 seconds) 2020-12-07T22:55:39Z susam2[m]: 🚀😕 2020-12-07T22:55:57Z Inline quit (Ping timeout: 272 seconds) 2020-12-07T22:56:28Z stux|RC-- quit (Quit: Aloha!) 2020-12-07T22:57:12Z stux|RC joined #lisp 2020-12-07T22:59:04Z urek joined #lisp 2020-12-07T23:00:46Z susam2[m] left #lisp 2020-12-07T23:01:13Z Misha_B joined #lisp 2020-12-07T23:01:39Z urek__ quit (Ping timeout: 272 seconds) 2020-12-07T23:02:44Z urek__ joined #lisp 2020-12-07T23:03:36Z urek quit (Ping timeout: 240 seconds) 2020-12-07T23:04:37Z jw4 quit (Quit: tot siens) 2020-12-07T23:05:47Z jw4 joined #lisp 2020-12-07T23:08:17Z matryoshka joined #lisp 2020-12-07T23:08:39Z matryoshka quit (Client Quit) 2020-12-07T23:11:24Z matryoshka joined #lisp 2020-12-07T23:13:33Z Krystof joined #lisp 2020-12-07T23:13:58Z matryoshka quit (Read error: Connection reset by peer) 2020-12-07T23:14:08Z matryoshka` joined #lisp 2020-12-07T23:14:54Z matryoshka` quit (Client Quit) 2020-12-07T23:16:26Z matryoshka joined #lisp 2020-12-07T23:17:08Z ebrasca quit (Remote host closed the connection) 2020-12-07T23:18:08Z matryoshka` joined #lisp 2020-12-07T23:18:18Z matryoshka quit (Read error: Connection reset by peer) 2020-12-07T23:22:55Z igemnace quit (Remote host closed the connection) 2020-12-07T23:23:16Z Codaraxis__ quit (Remote host closed the connection) 2020-12-07T23:23:40Z Codaraxis__ joined #lisp 2020-12-07T23:27:24Z thmprover joined #lisp 2020-12-07T23:28:08Z torbo joined #lisp 2020-12-07T23:32:50Z hosain[m] joined #lisp 2020-12-07T23:33:38Z hosain[m] left #lisp 2020-12-07T23:36:53Z Steeve quit (Quit: end) 2020-12-07T23:38:32Z EvW quit (Ping timeout: 260 seconds) 2020-12-07T23:39:32Z random-nick quit (Ping timeout: 265 seconds) 2020-12-07T23:44:23Z drl_ joined #lisp 2020-12-07T23:44:26Z ebrasca joined #lisp 2020-12-07T23:45:13Z drl_ quit (Client Quit) 2020-12-07T23:48:19Z sgibber2018 quit (Quit: WeeChat 2.9) 2020-12-07T23:48:40Z EvW joined #lisp 2020-12-07T23:50:10Z Codaraxis__ quit (Remote host closed the connection) 2020-12-07T23:50:35Z Codaraxis__ joined #lisp 2020-12-07T23:51:19Z drl quit (Remote host closed the connection) 2020-12-07T23:54:00Z drl joined #lisp 2020-12-07T23:55:23Z frgo quit (Read error: Connection reset by peer) 2020-12-07T23:55:34Z frgo joined #lisp 2020-12-07T23:57:12Z dbotton joined #lisp 2020-12-07T23:58:37Z dbotton quit (Client Quit) 2020-12-07T23:59:55Z cosimone quit (Quit: cosimone) 2020-12-08T00:07:09Z mbomba quit (Ping timeout: 260 seconds) 2020-12-08T00:07:54Z notzmv quit (Remote host closed the connection) 2020-12-08T00:08:12Z mbomba joined #lisp 2020-12-08T00:08:22Z notzmv joined #lisp 2020-12-08T00:15:59Z jonatack quit (Quit: jonatack) 2020-12-08T00:18:57Z drl_ joined #lisp 2020-12-08T00:19:14Z drl_ quit (Read error: Connection reset by peer) 2020-12-08T00:25:44Z judson_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-08T00:28:44Z karayan quit (Ping timeout: 240 seconds) 2020-12-08T00:29:14Z karayan joined #lisp 2020-12-08T00:30:29Z surabax quit (Quit: Leaving) 2020-12-08T00:31:56Z dhil quit (Ping timeout: 240 seconds) 2020-12-08T00:32:32Z psebcc[m] joined #lisp 2020-12-08T00:32:47Z judson_ joined #lisp 2020-12-08T00:34:36Z sm2n_ joined #lisp 2020-12-08T00:36:45Z sm2n quit (Ping timeout: 260 seconds) 2020-12-08T00:42:07Z housel quit (Ping timeout: 260 seconds) 2020-12-08T00:42:14Z housel joined #lisp 2020-12-08T00:42:47Z Codaraxis__ quit (Remote host closed the connection) 2020-12-08T00:43:12Z Codaraxis__ joined #lisp 2020-12-08T00:45:35Z wildlander joined #lisp 2020-12-08T00:49:12Z zcheng3 joined #lisp 2020-12-08T01:02:46Z raamdev[m] joined #lisp 2020-12-08T01:06:30Z FreeBirdLjj quit (Remote host closed the connection) 2020-12-08T01:07:39Z thmprover: OK, I have an interesting conundrum: I want to make a `thm` class, to track results proven from axioms and other theorems. BUT I don't want anyone to be able to "cheat" and construct their own `thm` instances. Is there any way to raise an exception if `make-instance` is called for `thm` outside of certain white-listed packages? 2020-12-08T01:08:28Z no-defun-allowed: Does instantiating a thereom put it somewhere? 2020-12-08T01:09:34Z thmprover: It just creates an object, it doesn't store it in a "theorem dictionary" anywhere. 2020-12-08T01:09:40Z no-defun-allowed: I would rather have an internal function like ADD-THEOREM-TO-DATABASE, which could also allow for multiple theorem databases. 2020-12-08T01:10:54Z thmprover: Ah, so, that's the next layer of abstraction. You could think of `thm` as working at the "assembly level of mathematics". Having a database of theorems would be at a higher level. 2020-12-08T01:10:56Z zcheng3 quit (Ping timeout: 240 seconds) 2020-12-08T01:12:00Z no-defun-allowed: Right, so instantiating a theorem shouldn't be a problem in itself? 2020-12-08T01:12:28Z thmprover: Hmm, maybe you're right, and I'm just overly concerned. 2020-12-08T01:12:40Z thmprover: You know, how hatters go mad? Theorem provers go paranoid. 2020-12-08T01:18:17Z Codaraxis__ quit (Ping timeout: 260 seconds) 2020-12-08T01:19:48Z Codaraxis__ joined #lisp 2020-12-08T01:25:11Z wxie joined #lisp 2020-12-08T01:27:16Z wildlander quit (Quit: Konversation terminated!) 2020-12-08T01:27:54Z mfiano: We don't "raise exceptions" in Common Lisp 2020-12-08T01:28:01Z mfiano: We signal conditions. Big difference 2020-12-08T01:28:34Z Lord_of_Life quit (Read error: Connection reset by peer) 2020-12-08T01:28:55Z thmprover: Well, I wanted the computer to explode into a million pieces, but then I thought, "No, that might be a bit too much..." 2020-12-08T01:29:00Z aeth: An exception is only for exceptional circumstances. A condition is... only for exceptional circumstances. But the latter's way more powerful. 2020-12-08T01:29:29Z aeth: thmprover: and yes, there is 2020-12-08T01:29:32Z aeth: *package* 2020-12-08T01:29:59Z Xach: conditions are not only for exceptional circumstances! 2020-12-08T01:30:26Z aeth: thmprover: I guess (let ((*package* foo)) ...) could be used to cheat, but I've only ever seen *package* change with in-package and if they want to cheat that badly, then let them 2020-12-08T01:31:20Z thmprover: Yeah, I think the best I can do is just make life hard for them if they want to cheat. 2020-12-08T01:32:01Z Lord_of_Life joined #lisp 2020-12-08T01:34:49Z Alfr_: Is there some fundamental difference between axioms and theorems in your model? If not, then why not unify them and cheating will hopefully result in some contradiction down the road or let's the user discover an interesting bunch of axioms ... 2020-12-08T01:37:14Z aeth: thmprover: for this sort of thing, I'd personally consider a WARN, actually. 2020-12-08T01:37:20Z aeth: (warn "You shouldn't be doing this.") 2020-12-08T01:37:36Z fitzsim quit (Ping timeout: 240 seconds) 2020-12-08T01:37:48Z ebrasca quit (Remote host closed the connection) 2020-12-08T01:38:31Z no-defun-allowed: On the other hand, if the user cheats, I also believe they get what they deserve. 2020-12-08T01:38:50Z aeth: error/cerror/signal/warn... probably a few more. http://www.lispworks.com/documentation/HyperSpec/Body/c_condit.htm 2020-12-08T01:39:37Z aeth: It would be amusing if you use cerror and give the user a chance to rebind *package* 2020-12-08T01:43:53Z mbomba quit (Quit: WeeChat 3.0) 2020-12-08T01:44:24Z mbomba joined #lisp 2020-12-08T01:45:02Z EvW quit (Ping timeout: 264 seconds) 2020-12-08T01:45:20Z Lord_of_Life quit (Ping timeout: 256 seconds) 2020-12-08T01:46:05Z Lord_of_Life joined #lisp 2020-12-08T01:51:32Z Fare quit (Quit: Leaving) 2020-12-08T01:53:17Z housel quit (Ping timeout: 260 seconds) 2020-12-08T02:00:19Z housel joined #lisp 2020-12-08T02:01:04Z Josh_2 quit (Ping timeout: 240 seconds) 2020-12-08T02:06:17Z oni-on-ion: can clos names be hidden/private, so that make-instance would fail to find symbol? 2020-12-08T02:08:04Z mankaev_ quit (Ping timeout: 240 seconds) 2020-12-08T02:08:40Z Inoperable quit (Quit: All your buffer are belong to us!) 2020-12-08T02:08:46Z jw4 quit (Quit: tot siens) 2020-12-08T02:09:12Z jw4 joined #lisp 2020-12-08T02:12:55Z mankaev joined #lisp 2020-12-08T02:14:18Z judson_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-08T02:14:53Z Inoperable joined #lisp 2020-12-08T02:15:11Z hahawang joined #lisp 2020-12-08T02:17:38Z ckoz[m] joined #lisp 2020-12-08T02:17:53Z srandon111 quit (Remote host closed the connection) 2020-12-08T02:19:24Z lucasb quit (Quit: Connection closed for inactivity) 2020-12-08T02:19:50Z frost-lab joined #lisp 2020-12-08T02:21:29Z semz quit (Ping timeout: 246 seconds) 2020-12-08T02:23:16Z judson_ joined #lisp 2020-12-08T02:24:16Z Xach: oni-on-ion: i think you could use an uninterned symbol as the name. that would make it trickier. 2020-12-08T02:25:41Z no-defun-allowed: Yes, uninterned symbols work fine. We use those when describing classes generated from external schemas in Netfarm. 2020-12-08T02:26:25Z idxu_ joined #lisp 2020-12-08T02:26:35Z edgar-rft: I have encrypted all your symbols! Send MOST-POSSIBLE-BIGNUM bitcoins to get the decrypion key. 2020-12-08T02:27:08Z idxu quit (Ping timeout: 260 seconds) 2020-12-08T02:27:28Z idxu_ is now known as idxu 2020-12-08T02:27:43Z no-defun-allowed: Where do I get that many? 2020-12-08T02:28:03Z no-defun-allowed: I could give you (1+ most-positive-bignum) though. 2020-12-08T02:28:34Z lonjil quit (Ping timeout: 246 seconds) 2020-12-08T02:28:55Z jbgg quit (Ping timeout: 246 seconds) 2020-12-08T02:31:42Z Fare joined #lisp 2020-12-08T02:31:44Z Codaraxis__ quit (Remote host closed the connection) 2020-12-08T02:32:08Z Codaraxis__ joined #lisp 2020-12-08T02:33:35Z lonjil joined #lisp 2020-12-08T02:34:25Z semz joined #lisp 2020-12-08T02:35:00Z mbomba quit (Quit: WeeChat 3.0) 2020-12-08T02:35:50Z jbgg joined #lisp 2020-12-08T02:40:50Z karayan quit (Ping timeout: 264 seconds) 2020-12-08T02:41:10Z karayan joined #lisp 2020-12-08T02:44:36Z sgibber2018 joined #lisp 2020-12-08T02:45:29Z sgibber2018 quit (Client Quit) 2020-12-08T02:45:55Z sgibber2018 joined #lisp 2020-12-08T02:51:02Z _whitelogger quit (Remote host closed the connection) 2020-12-08T02:52:46Z judson_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-08T02:53:10Z _whitelogger joined #lisp 2020-12-08T02:59:54Z Lycurgus joined #lisp 2020-12-08T03:01:46Z judson_ joined #lisp 2020-12-08T03:06:33Z orivej quit (Quit: orivej) 2020-12-08T03:09:55Z igemnace joined #lisp 2020-12-08T03:10:19Z sgibber2018 quit (Quit: WeeChat 2.9) 2020-12-08T03:11:28Z quazimodo joined #lisp 2020-12-08T03:15:24Z Codaraxis__ quit (Ping timeout: 240 seconds) 2020-12-08T03:17:33Z Codaraxis__ joined #lisp 2020-12-08T03:18:51Z orivej joined #lisp 2020-12-08T03:23:50Z drl quit (Remote host closed the connection) 2020-12-08T03:39:29Z Lycurgus quit (Quit: Exeunt) 2020-12-08T03:48:49Z akoana quit (Quit: leaving) 2020-12-08T03:54:32Z marblestation[m] joined #lisp 2020-12-08T04:01:58Z beach: Good morning everyone! 2020-12-08T04:03:16Z Alfr joined #lisp 2020-12-08T04:05:26Z Alfr_ quit (Ping timeout: 264 seconds) 2020-12-08T04:10:24Z banjomet joined #lisp 2020-12-08T04:11:34Z banjomet: yesterday I remember everybody was talking about garbage collectors and I was wondering what you guys thought about azul's c4 continuously compacting collector for the jvm aimed at finance companies 2020-12-08T04:11:35Z banjomet: https://www.azul.com/files/c4_paper_acm1.pdf 2020-12-08T04:14:33Z nowhereman quit (Remote host closed the connection) 2020-12-08T04:14:52Z no-defun-allowed: C4 is a very good solution for garbage, provided you clean up the debris. 2020-12-08T04:15:09Z nowhereman joined #lisp 2020-12-08T04:16:00Z no-defun-allowed: Interesting, that is a generational collector too. 2020-12-08T04:17:59Z skapata quit (Remote host closed the connection) 2020-12-08T04:21:38Z narimiran joined #lisp 2020-12-08T04:25:51Z mbomba joined #lisp 2020-12-08T04:37:46Z clar[m] joined #lisp 2020-12-08T04:42:02Z _whitelogger quit (Remote host closed the connection) 2020-12-08T04:43:14Z Fare quit (Ping timeout: 264 seconds) 2020-12-08T04:44:07Z waleee-cl quit (Quit: Connection closed for inactivity) 2020-12-08T04:44:11Z _whitelogger joined #lisp 2020-12-08T04:47:16Z wxie quit (Ping timeout: 240 seconds) 2020-12-08T04:47:16Z thmprover quit (Quit: Up, up, and away) 2020-12-08T04:52:39Z zaquest joined #lisp 2020-12-08T04:53:07Z zaquest quit (Remote host closed the connection) 2020-12-08T04:53:11Z Bike quit (Quit: Lost terminal) 2020-12-08T04:56:35Z aartaka joined #lisp 2020-12-08T05:01:46Z wxie joined #lisp 2020-12-08T05:05:49Z tempest_nox joined #lisp 2020-12-08T05:09:01Z galex-713 quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) 2020-12-08T05:09:37Z nowhereman quit (Ping timeout: 272 seconds) 2020-12-08T05:13:07Z Codaraxis__ quit (Remote host closed the connection) 2020-12-08T05:13:32Z Codaraxis__ joined #lisp 2020-12-08T05:13:53Z torbo quit (Remote host closed the connection) 2020-12-08T05:14:02Z KREYREEN is now known as kreystorm 2020-12-08T05:14:13Z kreystorm is now known as KREYREEN 2020-12-08T05:14:38Z Stanley00 joined #lisp 2020-12-08T05:16:53Z wooden quit (Quit: leaving) 2020-12-08T05:17:18Z wooden joined #lisp 2020-12-08T05:17:18Z wooden quit (Changing host) 2020-12-08T05:17:18Z wooden joined #lisp 2020-12-08T05:20:14Z galex-713 joined #lisp 2020-12-08T05:22:46Z banjomet quit (Quit: Leaving) 2020-12-08T05:27:21Z urek__ quit (Ping timeout: 272 seconds) 2020-12-08T05:40:52Z judson_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-08T05:42:51Z judson_ joined #lisp 2020-12-08T05:45:54Z oni-on-ion: gmb 2020-12-08T05:45:59Z saganman joined #lisp 2020-12-08T05:53:38Z grandpa_nick joined #lisp 2020-12-08T05:55:42Z imode joined #lisp 2020-12-08T05:55:54Z grandpa_nick left #lisp 2020-12-08T05:58:51Z abhixec joined #lisp 2020-12-08T06:04:45Z shka_ joined #lisp 2020-12-08T06:08:05Z judson_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-08T06:10:31Z beach: oni-on-ion: You forgot to turn on abbrev mode. 2020-12-08T06:12:15Z Nilby: Does anyone know how to avoid the sbcl note: could not stack allocate ? 2020-12-08T06:12:46Z Nilby: For example with this: (defun foo (c1 c2 &key key test) (intersection c1 c2 :key key :test test)) 2020-12-08T06:13:22Z Nilby: I'm guessing it's telling me it can't to tail recursion? 2020-12-08T06:13:33Z no-defun-allowed: Why would that use tail recursion? 2020-12-08T06:14:15Z no-defun-allowed: Also, that code doesn't produce a note, even with (declare (optimize (speed 3) (safety 1))) preceding the body, so I think something else is going on. 2020-12-08T06:14:33Z Nilby: I'm guessing it wouldn't, and maybe that's why it's warning? 2020-12-08T06:14:50Z beach: Nilby: (declare (sb-ext:muffle-conditions sb-ext:compiler-notes)) or something like that. 2020-12-08T06:15:03Z beach: Nilby: You may want to look in the SBCL manual. 2020-12-08T06:15:05Z no-defun-allowed: Why would it produce a warning if there is no way it could benefit from tail recursion? 2020-12-08T06:15:35Z no-defun-allowed: It could tail-call INTERSECTION, sure, but I don't think that is the problem. Usually I get that note when I have declared something DYNAMIC-EXTENT. 2020-12-08T06:15:46Z Nilby: beach: Thank you, but I'm trying avoid havving these long muffling around everything. 2020-12-08T06:16:07Z beach: Then do it once with DECLAIM. 2020-12-08T06:16:09Z Nilby: It produces the note when you compile it, e.g. with compile-file or asdf 2020-12-08T06:16:21Z beach: ... and put it in your .sbclrc 2020-12-08T06:17:06Z no-defun-allowed: I can't tell how you could produce that note with that code, so I can't tell you how to avoid it. 2020-12-08T06:17:54Z Nilby: no-defun-allowed: If you stick that line in file and compile-file it. 2020-12-08T06:18:31Z no-defun-allowed: No notes here. 2020-12-08T06:18:44Z Nilby: Maybe my setup is crazy. :( I'm always seeing some strange notes when compiling with default optimization settings. 2020-12-08T06:19:36Z oni-on-ion: beach +) 2020-12-08T06:19:46Z Nilby: no-defun-allowed: Thanks, maybe looking at the DYNAMIC-EXTENT optimizations is a clue. 2020-12-08T06:22:55Z Nilby: Weird. I don't get it when I run with --no-userinit, so I must have done something in the ~3k lines of .sbclrc. 2020-12-08T06:24:07Z Nilby: Thanks lispers for the sanity check. 2020-12-08T06:26:53Z no-defun-allowed: There wasn't a DYNAMIC-EXTENT declaration in the code you provided, by the way. 2020-12-08T06:27:38Z makomo quit (Ping timeout: 272 seconds) 2020-12-08T06:30:52Z Nilby: I get other inexplicable notes too, so I should figure out why. 2020-12-08T06:39:36Z karayan quit (Ping timeout: 240 seconds) 2020-12-08T06:41:35Z karayan joined #lisp 2020-12-08T06:41:57Z andreyorst joined #lisp 2020-12-08T06:41:59Z karayan quit (Read error: Connection reset by peer) 2020-12-08T06:43:28Z srandon111 joined #lisp 2020-12-08T06:43:50Z karayan joined #lisp 2020-12-08T06:44:06Z karayan quit (Client Quit) 2020-12-08T06:44:44Z abhixec quit (Ping timeout: 240 seconds) 2020-12-08T06:45:29Z srandon111: guys i am newbie with lisp, i tinkered a little bit and read some SICP, i am able to do basic stuff, but won't consider myself more than a newbie... my question is... do the lisp languages today (2020) still have advantages over other programming languages? such as python, ruby or golang ? if yes, which are these advantages? i mean most of the programming languages nowadays have a repl and can do functional stuff.. what are the reall advantages of 2020-12-08T06:45:29Z srandon111: using a lisp ? 2020-12-08T06:46:31Z sgibber2018 joined #lisp 2020-12-08T06:47:12Z sgibber2018 quit (Client Quit) 2020-12-08T06:47:33Z g0d_shatter joined #lisp 2020-12-08T06:48:20Z beach: Yes, CLOS, macros. 2020-12-08T06:48:27Z zacts joined #lisp 2020-12-08T06:48:35Z beach: Compiler available at run time. 2020-12-08T06:48:53Z beach: Each other language may have one or more of those features, but no other language has them all. 2020-12-08T06:49:24Z beach: One more: The Common Lisp language was carefully designed to allow for the compiler to generate fast code. 2020-12-08T06:49:56Z zacts quit (Client Quit) 2020-12-08T06:50:15Z beach: One more: With the exception of structs, the semantics are defined by a suite of interactions, whereas most languages must start from an empty global environment. 2020-12-08T06:50:32Z beach: I am off to buy food, but I can give you more when I get back. 2020-12-08T06:50:47Z beach: Or others can point you to the "Common Lisp features" web site. 2020-12-08T06:51:42Z jurov quit (Ping timeout: 272 seconds) 2020-12-08T06:53:51Z Nilby: srandon111: Common Lisp has strong advantages over every language, but may have some ecosystem disadvantages for some uses. One has to weigh the power, expressiveness, flexibility, and speed against the ecosystem concerns. 2020-12-08T06:55:51Z oni-on-ion: basically its just the binary size (50mb+) 2020-12-08T06:56:40Z no-defun-allowed: Python and Ruby are basically single-implementation languages, and that implementation is very slow. 2020-12-08T06:56:44Z hahawang: In my opinion, learning lisp makes you a better programmer, it's delightful. Many other popular programming language evolutes itself to lisp. 2020-12-08T06:56:49Z no-defun-allowed: Go does not have a REPL and cannot do functional stuff. 2020-12-08T06:57:47Z no-defun-allowed: I'm not sure if someone said it ironically or not, but you're supposed to be able to eyeball the complexity of a function with the braces, and that's not doable with higher-order functions. 2020-12-08T06:58:15Z g0d_shatter quit (Quit: Leaving) 2020-12-08T06:58:51Z oni-on-ion: i just relate it to C --- linux/windows/mac already comes with all the stuff thats needed. so "unix" being a C VM. lisp just happens to come with its own (which ironically does depend on the whole "C VM") 2020-12-08T06:59:13Z hahawang: Lisp gives you a better prospective to think about what programs are and what programming means. It roots from a few of axioms and constructs program in an elegant way. 2020-12-08T06:59:38Z no-defun-allowed: It has also been said that Go is a good language if you believe nothing happened since the 1960s, because it is basically only an imperative language, with CSP, no exceptions or generics, and a shoddy incremental mark-sweep GC. 2020-12-08T06:59:40Z mfiano: no-defun-allowed: Go doesn't have 90% of the features even comparable lisp-exclusive languages have 2020-12-08T07:00:46Z no-defun-allowed: mfiano: That is also true. 2020-12-08T07:00:55Z hahawang: In lisp, there is no gap between program and data, everything is about lists and atoms, i think it's the most powerful feature that other programming language lacks. 2020-12-08T07:00:55Z mfiano: The philosophy is that by being simpler, it is easier to reason about and faster to produce code. But it turns out that is far from the case. You can't even overload arity, and because of a lack of generics, you are left copypasta left and right 2020-12-08T07:02:25Z no-defun-allowed: And I should note that I do not really use Common Lisp as a functional programming language. 2020-12-08T07:03:09Z no-defun-allowed: Most of my "work" is using the Common Lisp Object System and associated meta-object protocol, and/or in "controlled" side effects 2020-12-08T07:04:15Z tempest_nox quit (Read error: Connection reset by peer) 2020-12-08T07:04:22Z Blukunfando quit (Ping timeout: 256 seconds) 2020-12-08T07:08:07Z andreyorst` joined #lisp 2020-12-08T07:08:54Z srandon111: beach, CLOS ? well i would like to use lisp as a functional language 2020-12-08T07:09:41Z andreyorst` quit (Client Quit) 2020-12-08T07:10:16Z andreyorst` joined #lisp 2020-12-08T07:11:11Z srandon111: can i use common lisp in a functional way? 2020-12-08T07:11:25Z no-defun-allowed: Yes, but you would be missing out. 2020-12-08T07:11:44Z andreyorst quit (Ping timeout: 256 seconds) 2020-12-08T07:15:04Z srandon111: no-defun-allowed, missing out what? 2020-12-08T07:16:29Z no-defun-allowed: Lisp is a fine imperative language, should you need side effects. I would say you would also miss out on object-oriented concepts, but that is because most people who want to use a "functional language" are explicitly trying to avoid it, and not because functional and object paradigms are separate. 2020-12-08T07:16:44Z bilegeek joined #lisp 2020-12-08T07:17:18Z srandon111: no-defun-allowed, ok but my thing is... if want to write in a functional style, does lisp allows that or it has its quirks ? 2020-12-08T07:17:30Z no-defun-allowed: It does allow for that, yes. 2020-12-08T07:17:53Z srandon111: no-defun-allowed, and is it not a recommended style? i mean lisp programmers generally prefeer OOP instead of functional? 2020-12-08T07:18:07Z srandon111: differing for example from scheme programmers 2020-12-08T07:18:34Z no-defun-allowed: I don't think many people would admit they have a preference, saying they "pick whichever is more suitable". Of course, that's subjective too. 2020-12-08T07:19:08Z srandon111: okok thanks no-defun-allowed 2020-12-08T07:19:11Z aartaka quit (Read error: Connection reset by peer) 2020-12-08T07:19:29Z aartaka joined #lisp 2020-12-08T07:19:47Z no-defun-allowed: Most of my code is imperative, and uses an object-oriented style though. (And you've fallen for something, contrasting "OOP instead of functional") 2020-12-08T07:19:52Z Nilby: You can use Lisp as a functional language, but it is imperative that you don't constrain or object to functional metaprogramming dataflow induction. 2020-12-08T07:21:14Z no-defun-allowed: I recall Dylan and Scala were/are explicitly marketed as "object-functional" languages. 2020-12-08T07:22:29Z srandon111: no-defun-allowed, so you mean that it is also not a problem to combine the two approaches ? ok but i prefer a more functionalish approach to OOP 2020-12-08T07:22:33Z srandon111: and using structs 2020-12-08T07:22:34Z no-defun-allowed: And Gabriel, White and Bobrow have a good outline of how that could happen: https://www.dreamsongs.com/Files/clos-cacm.pdf 2020-12-08T07:22:56Z no-defun-allowed: srandon111: You can use generic functions with any class (including structure-classes). 2020-12-08T07:23:27Z srandon111: no-defun-allowed, yes that's fine! 2020-12-08T07:23:43Z srandon111: no-defun-allowed, are you aware of any scheme books similar to "practical common lisp" ? 2020-12-08T07:23:49Z no-defun-allowed: If you use those without inheritance, then you get something like Haskell typeclasses, where you have "ad-hoc polymorphism". 2020-12-08T07:23:56Z no-defun-allowed: srandon111: I am not, I haven't done much Scheme programming before. 2020-12-08T07:24:32Z srandon111: no-defun-allowed, i don't know what typeclasses are 2020-12-08T07:24:37Z srandon111: where can i learn these things ? 2020-12-08T07:25:13Z no-defun-allowed: Well, there aren't actual typeclasses in Common Lisp, but the "dispatch" that happens is similar. 2020-12-08T07:25:37Z srandon111: no-defun-allowed, i don't knkow what typeclasses are 2020-12-08T07:26:02Z no-defun-allowed: To summarise, you have a data structure (eg Maybe), you have the typeclass (eg Monad), and there are several generic functions that you implement with that data structure (I think those are...fmap, return at least?) 2020-12-08T07:27:08Z no-defun-allowed: So you have a functional data structure which is separate from the methods (note this is also true for "normal" CLOS with standard-classes), and you have a dispatch system when you call the generic function. 2020-12-08T07:30:54Z no-defun-allowed: And, of course, you can use immutable objects, and because generic functions are functions, you can use them with higher order functions. 2020-12-08T07:30:55Z Nilby: Imagine looking at one of these https://imgur.com/a/zcuLMKu, and thinking up functional programming in Lisp. 2020-12-08T07:31:18Z no-defun-allowed: Apart from type weenieng, I think those are most of the characteristics of functional programming. 2020-12-08T07:36:46Z gaqwas joined #lisp 2020-12-08T07:36:46Z gaqwas quit (Changing host) 2020-12-08T07:36:46Z gaqwas joined #lisp 2020-12-08T07:37:04Z wallyduchamp joined #lisp 2020-12-08T07:37:55Z srandon111: no-defun-allowed, where can i learn these concepts? should i learn haskell first? or is there any resource to learn functional programming with common lisp ? 2020-12-08T07:38:28Z no-defun-allowed: srandon111: Learning Haskell isn't necessary, but my point is that you would eventually find something like generic functions and structures in another functional programming language. 2020-12-08T07:38:31Z Alfr quit (Remote host closed the connection) 2020-12-08T07:39:00Z Alfr joined #lisp 2020-12-08T07:39:05Z Codaraxis__ quit (Remote host closed the connection) 2020-12-08T07:39:30Z Codaraxis__ joined #lisp 2020-12-08T07:39:58Z random-nick joined #lisp 2020-12-08T07:44:01Z orivej quit (Ping timeout: 264 seconds) 2020-12-08T07:47:04Z Codaraxis__ quit (Ping timeout: 246 seconds) 2020-12-08T07:47:30Z wallyduchamp quit (Quit: Leaving) 2020-12-08T07:48:54Z Codaraxis__ joined #lisp 2020-12-08T07:54:53Z Nilby: In case anyone was wondering, I was getting a bunch of unexpected notes in sbcl because I changed the default optimize space from 1 to 0. 2020-12-08T07:54:53Z KREYREEN quit (Remote host closed the connection) 2020-12-08T07:54:54Z phoe: Nilby: what kind of notes? 2020-12-08T07:54:54Z KREYREEN joined #lisp 2020-12-08T07:55:12Z Codaraxis__ quit (Remote host closed the connection) 2020-12-08T07:55:12Z Nilby: "could not stack allocate" 2020-12-08T07:55:26Z phoe: oh - you are trying to DX some objects? 2020-12-08T07:55:37Z Codaraxis__ joined #lisp 2020-12-08T07:56:07Z Nilby: What's DX? 2020-12-08T07:56:33Z Nilby: I know XD but... 2020-12-08T07:57:43Z Nilby: A one line example was: (defun foo (c1 c2 &key key test) (intersection c1 c2 :key key :test test)) 2020-12-08T07:58:30Z phoe: DX, dynamic-extent 2020-12-08T07:58:38Z liberliver joined #lisp 2020-12-08T07:59:29Z Nilby: Ah no, but that's what no-defun-allowed gueesed too. 2020-12-08T08:00:23Z Nilby: I almost always trust the compiler to get that. 2020-12-08T08:01:28Z Nilby: Now I learned at least 2 things today :) 2020-12-08T08:02:00Z achilles quit (Quit: WeeChat 2.9) 2020-12-08T08:04:02Z jianbo joined #lisp 2020-12-08T08:05:20Z Nilby: I still get the lovely "Type assertion too complex to check" notes. 2020-12-08T08:05:56Z bitmapper quit (Quit: Connection closed for inactivity) 2020-12-08T08:08:44Z Cymew joined #lisp 2020-12-08T08:10:56Z beach: srandon111: That's not what you asked though. 2020-12-08T08:12:56Z beach: srandon111: CLOS is different from object-oriented programming, both as defined by Alan Kay and as defined by what we usually think about as object-oriented languages, like Java, C#, etc. 2020-12-08T08:16:44Z beach: srandon111: So to summarize, yes, Common Lisp has plenty of advantages compared to other languages, and I forgot to mention homoiconicity (but it was said in a different way), but if what you want is a purely functional language, Common Lisp is not it. 2020-12-08T08:17:45Z catchme_ joined #lisp 2020-12-08T08:17:48Z beach: srandon111: Then, I don't quite understand why you would want to renounce something like CLOS, since you don't seem to know what it does. 2020-12-08T08:19:00Z CatchMe joined #lisp 2020-12-08T08:25:55Z CatchMe quit (Quit: done) 2020-12-08T08:25:56Z catchme_ is now known as catchme 2020-12-08T08:27:56Z Necktwi quit (Ping timeout: 240 seconds) 2020-12-08T08:29:12Z frgo_ joined #lisp 2020-12-08T08:29:26Z anticrisis joined #lisp 2020-12-08T08:30:02Z Necktwi joined #lisp 2020-12-08T08:31:07Z frgo quit (Ping timeout: 260 seconds) 2020-12-08T08:34:50Z jianbo quit (Ping timeout: 264 seconds) 2020-12-08T08:36:45Z srandon111: beach, i was thinking it was something for OOP 2020-12-08T08:37:02Z srandon111: beach, i like clojure and scheme ideas, but the problem with clojure is slow startup which i care for my apps 2020-12-08T08:37:24Z srandon111: and the problem with schemes is that there is not much resources and third party libraries 2020-12-08T08:37:42Z srandon111: except for racket which i don't like for it being too much bound to drracket 2020-12-08T08:38:02Z beach: srandon111: There is no widespread agreement of "object-oriented programming", so call it what you want, but if you expect something like what Java does, then that's not it. 2020-12-08T08:38:25Z beach: srandon111: CLOS is way more versatile. It does not confuse object representation and encapsulation. 2020-12-08T08:38:26Z moon-child: srandon111: graalvm has fast startup times, and I think works for clojure 2020-12-08T08:38:42Z beach: srandon111: And it has things like method combinations, multiple dispatch, etc. 2020-12-08T08:41:21Z srandon111: moon-child, "it works" ,ahhahah funny... try to compile any program with graalvm, only a very small fraction would work 2020-12-08T08:48:37Z phantomics: Hey, a question: is there a way to "copy" a symbol macro from one package to another at runtime without doing an (eval `(define-symbol-macro ,symbol ,other-symbol))? 2020-12-08T08:55:46Z phoe: hm 2020-12-08T08:55:53Z phoe: there is no symbol-macro-function 2020-12-08T08:56:10Z beach: Yeah, I was looking for it too. 2020-12-08T08:56:21Z beach: I guess you need first-class global environments in the form of Clostrum. 2020-12-08T08:56:36Z phoe: or a trivial-symbol-macro-function 2020-12-08T08:56:57Z beach: Well, it's not a function, really. 2020-12-08T08:57:05Z beach: More like an "expansion". 2020-12-08T08:57:31Z phoe: well we have macro-function, maybe we could also have symbol-macro-function 2020-12-08T08:57:42Z phoe: but yes, that would be a zero-arg thunk 2020-12-08T08:58:16Z phoe: because symbol macros take no arguments for their expansion. 2020-12-08T09:03:16Z Krystof: (define-symbol-macro symbol nil) (setf *macroexpand-hook* (lambda (expansion form env) (if (eql form symbol) (macroexpand other-symbol env) (funcall expander form env)))) 2020-12-08T09:03:50Z beach: Hey Krystof. 2020-12-08T09:03:54Z Krystof: untested, not actually recommended, why would you do this anyway, etc. 2020-12-08T09:03:56Z Krystof: morning 2020-12-08T09:06:57Z beach: So you still have some time for Lisp? :) 2020-12-08T09:07:00Z Krystof: barely 2020-12-08T09:07:15Z hendursa1 joined #lisp 2020-12-08T09:07:39Z toorevitimirp joined #lisp 2020-12-08T09:07:40Z toorevitimirp quit (Remote host closed the connection) 2020-12-08T09:07:53Z harlchen joined #lisp 2020-12-08T09:07:59Z Krystof: well. I might have had more time for Lisp were it not that I'm do programming as the job now, so my enthusiasm is lower for out-of-hours programming (or indeed staring at screens) of any sort 2020-12-08T09:08:03Z toorevitimirp joined #lisp 2020-12-08T09:08:04Z Krystof: and, also, 2020 2020-12-08T09:08:29Z beach: Understandable. 2020-12-08T09:08:42Z phoe: Krystof: oh no 2020-12-08T09:09:27Z phantomics: Hmm, thanks phoe 2020-12-08T09:09:40Z phoe: I did not really help much 2020-12-08T09:09:43Z hendursaga quit (Ping timeout: 240 seconds) 2020-12-08T09:10:23Z Codaraxis__ quit (Remote host closed the connection) 2020-12-08T09:10:48Z Codaraxis__ joined #lisp 2020-12-08T09:10:57Z phantomics: Thanks to Krystof too, I'll try that code 2020-12-08T09:10:58Z Lord_of_Life quit (Changing host) 2020-12-08T09:10:58Z Lord_of_Life joined #lisp 2020-12-08T09:11:21Z Krystof: phantomics: but seriously, you probably shouldn't want to do what you want to do 2020-12-08T09:11:52Z phantomics: Ok, there's probably another way 2020-12-08T09:13:03Z phantomics: I'm basically converting one symbol to another which is supposed to be interned in a particular package, but I can just convert it to the macro symbol in the original package 2020-12-08T09:13:08Z Krystof: symbol macros are pretty fundamentally: (a) a compile-time thing, and (b) a helper for implementing lexical things like with-slots / with-accessors or, at a pinch, doing other weird things like communicating things about the current environment 2020-12-08T09:13:38Z Codaraxis__ quit (Remote host closed the connection) 2020-12-08T09:13:40Z Krystof: can't you actually make it be the same symbol? (intern it into its new package?) 2020-12-08T09:14:17Z Krystof: I mean "import" not "intern" 2020-12-08T09:14:42Z srandon111 quit (Ping timeout: 256 seconds) 2020-12-08T09:15:19Z Krystof: (import other-symbol "PACKAGE-OTHER-SYMBOL-SHOULD-BE-IN") 2020-12-08T09:17:48Z Codaraxis__ joined #lisp 2020-12-08T09:20:10Z iskander- joined #lisp 2020-12-08T09:20:16Z wxie quit (Ping timeout: 240 seconds) 2020-12-08T09:21:48Z iskander quit (Ping timeout: 272 seconds) 2020-12-08T09:22:24Z wxie joined #lisp 2020-12-08T09:25:08Z iskander- quit (Ping timeout: 256 seconds) 2020-12-08T09:25:15Z iskander joined #lisp 2020-12-08T09:25:15Z hnOsmium0001 quit (Quit: Connection closed for inactivity) 2020-12-08T09:26:59Z anticrisis quit (Read error: Connection reset by peer) 2020-12-08T09:28:20Z srandon111 joined #lisp 2020-12-08T09:31:56Z wxie quit (Ping timeout: 272 seconds) 2020-12-08T09:32:58Z srandon111 quit (Ping timeout: 260 seconds) 2020-12-08T09:33:25Z ljavorsk joined #lisp 2020-12-08T09:33:47Z pve joined #lisp 2020-12-08T09:34:08Z wxie joined #lisp 2020-12-08T09:36:36Z luna_is_here joined #lisp 2020-12-08T09:39:16Z saganman quit (Ping timeout: 240 seconds) 2020-12-08T09:40:50Z wxie quit (Ping timeout: 256 seconds) 2020-12-08T09:40:51Z amb007 quit (Read error: Connection reset by peer) 2020-12-08T09:41:03Z amb007 joined #lisp 2020-12-08T09:45:07Z srandon111 joined #lisp 2020-12-08T09:48:13Z mbomba quit (Quit: WeeChat 3.0) 2020-12-08T09:52:26Z hahawang quit (Quit: WeeChat 1.4) 2020-12-08T09:52:27Z amb007 quit (Read error: Connection reset by peer) 2020-12-08T09:52:41Z amb007 joined #lisp 2020-12-08T09:57:26Z srandon111 quit (Ping timeout: 256 seconds) 2020-12-08T10:01:44Z SAL9000 quit (Ping timeout: 256 seconds) 2020-12-08T10:06:32Z srandon111 joined #lisp 2020-12-08T10:07:33Z wxie joined #lisp 2020-12-08T10:14:04Z wxie quit (Ping timeout: 240 seconds) 2020-12-08T10:18:50Z catchme quit (Quit: Connection closed for inactivity) 2020-12-08T10:23:37Z lxsameer quit (Ping timeout: 264 seconds) 2020-12-08T10:24:11Z orivej joined #lisp 2020-12-08T10:26:04Z wxie joined #lisp 2020-12-08T10:30:21Z wxie quit (Ping timeout: 260 seconds) 2020-12-08T10:37:20Z lxsameer joined #lisp 2020-12-08T10:38:19Z surabax joined #lisp 2020-12-08T10:40:13Z bilegeek quit (Quit: Leaving) 2020-12-08T10:44:01Z imode quit (Ping timeout: 264 seconds) 2020-12-08T10:48:47Z tris[m] joined #lisp 2020-12-08T10:50:02Z jonatack joined #lisp 2020-12-08T10:50:24Z srandon111 quit (Ping timeout: 258 seconds) 2020-12-08T10:51:48Z srandon111 joined #lisp 2020-12-08T10:54:37Z jonatack quit (Ping timeout: 258 seconds) 2020-12-08T10:55:13Z jonatack joined #lisp 2020-12-08T10:59:58Z srandon111 quit (Ping timeout: 272 seconds) 2020-12-08T11:01:45Z vegansbane quit (Quit: The Lounge - https://thelounge.chat) 2020-12-08T11:04:21Z srandon111 joined #lisp 2020-12-08T11:06:11Z diamondbond quit (Ping timeout: 272 seconds) 2020-12-08T11:07:18Z stzsch quit (Quit: stzsch) 2020-12-08T11:07:40Z stzsch joined #lisp 2020-12-08T11:12:05Z amb007 quit (Read error: Connection reset by peer) 2020-12-08T11:14:02Z amb007 joined #lisp 2020-12-08T11:16:06Z amb007 quit (Read error: Connection reset by peer) 2020-12-08T11:19:58Z amb007 joined #lisp 2020-12-08T11:27:00Z jeosol quit (Remote host closed the connection) 2020-12-08T11:27:08Z amb007 quit (Ping timeout: 265 seconds) 2020-12-08T11:27:17Z amb007 joined #lisp 2020-12-08T11:28:13Z vegansbane6 joined #lisp 2020-12-08T11:29:37Z shifty quit (Ping timeout: 264 seconds) 2020-12-08T11:31:02Z urek__ joined #lisp 2020-12-08T11:38:06Z frgo_ quit (Read error: Connection reset by peer) 2020-12-08T11:38:28Z frgo joined #lisp 2020-12-08T11:39:20Z diamondbond joined #lisp 2020-12-08T11:39:45Z amirouche joined #lisp 2020-12-08T11:43:38Z spal is now known as susam_[m] 2020-12-08T11:43:42Z susam_[m] is now known as spal 2020-12-08T11:47:34Z frost-lab quit (Quit: Connection closed) 2020-12-08T11:49:15Z gareppa joined #lisp 2020-12-08T11:49:42Z zstest3[m] joined #lisp 2020-12-08T11:50:37Z spxy[m]: hello 2020-12-08T11:50:59Z phoe: heyyyy 2020-12-08T11:57:10Z gareppa quit (Remote host closed the connection) 2020-12-08T11:57:24Z gko_ joined #lisp 2020-12-08T12:00:59Z EvW joined #lisp 2020-12-08T12:03:06Z cosimone joined #lisp 2020-12-08T12:06:16Z orivej quit (Ping timeout: 240 seconds) 2020-12-08T12:08:56Z dhil joined #lisp 2020-12-08T12:11:38Z Stanley00 quit 2020-12-08T12:14:21Z EvW quit (Ping timeout: 258 seconds) 2020-12-08T12:16:16Z cosimone quit (Quit: cosimone) 2020-12-08T12:18:04Z spal is now known as susam 2020-12-08T12:19:21Z susam is now known as spal 2020-12-08T12:33:38Z nowhereman joined #lisp 2020-12-08T12:37:52Z gaqwas quit (Remote host closed the connection) 2020-12-08T12:46:44Z aartaka_d joined #lisp 2020-12-08T12:49:16Z aartaka quit (Ping timeout: 240 seconds) 2020-12-08T12:49:30Z aartaka joined #lisp 2020-12-08T12:51:44Z beach: spxy[m]: You are relatively new here, right? 2020-12-08T12:53:07Z phoe: beach: AFAIK yes, he is 2020-12-08T12:53:31Z beach: phoe: How do you know spxy[m] is male? 2020-12-08T12:53:39Z aartaka_d quit (Ping timeout: 260 seconds) 2020-12-08T12:53:40Z phoe: damn 2020-12-08T12:53:44Z phoe: beach: AFAIK yes, they are 2020-12-08T12:53:48Z beach: Heh. 2020-12-08T12:53:49Z phoe not feeling well today - sorries. 2020-12-08T12:54:00Z beach: Oh, sorry to hear that! What's wrong? 2020-12-08T12:54:18Z phoe moves to query. 2020-12-08T12:55:19Z srandon111: phoe, hey how are you ? 2020-12-08T12:55:41Z phoe: srandon111: alive, will be well in a few days. thanks. 2020-12-08T13:00:44Z Fare joined #lisp 2020-12-08T13:02:42Z Nilby: .oO (incf (player-hp (player 'phoe))) 2020-12-08T13:04:05Z amirouche left #lisp 2020-12-08T13:06:38Z Bike joined #lisp 2020-12-08T13:12:21Z marblestation[m] left #lisp 2020-12-08T13:19:52Z gxt_ quit (Remote host closed the connection) 2020-12-08T13:20:33Z gxt_ joined #lisp 2020-12-08T13:21:52Z amb007 quit (Read error: Connection reset by peer) 2020-12-08T13:22:12Z amb007 joined #lisp 2020-12-08T13:22:21Z EvW joined #lisp 2020-12-08T13:25:01Z mbomba joined #lisp 2020-12-08T13:28:38Z amb007 quit (Read error: Connection reset by peer) 2020-12-08T13:29:59Z Blukunfando joined #lisp 2020-12-08T13:32:04Z ljavorsk quit (Ping timeout: 240 seconds) 2020-12-08T13:34:05Z amb007 joined #lisp 2020-12-08T13:34:42Z gproto23 joined #lisp 2020-12-08T13:35:57Z wsinatra joined #lisp 2020-12-08T13:37:57Z orivej joined #lisp 2020-12-08T13:39:24Z lukego quit (Ping timeout: 240 seconds) 2020-12-08T13:39:37Z contrapunctus joined #lisp 2020-12-08T13:39:42Z contrapunctus: o/ 2020-12-08T13:39:48Z lukego joined #lisp 2020-12-08T13:40:32Z gproto23 quit (Quit: Leaving) 2020-12-08T13:47:29Z kaftejiman joined #lisp 2020-12-08T13:47:33Z rumbler31 joined #lisp 2020-12-08T13:47:57Z phoe: heyyy 2020-12-08T13:48:51Z thomasb06 joined #lisp 2020-12-08T13:49:21Z flip214: shouldn't that be *phoe*? or at least |#lisp|::phoe? 2020-12-08T13:49:34Z phoe: flip214: but we are in #lisp 2020-12-08T13:49:39Z thomasb06: Hello. Does anyone have an idea how to bind a key to execute a bash command in Stumpwm (in my case 'nnn')? The config `(define-key *top-map* (stumpwm:kbd "s-F7") "exec xterm n")` doesn't work 2020-12-08T13:49:49Z phoe: that's why 'phoe === '|#lisp|::phoe 2020-12-08T13:50:18Z flip214: phoe: well, do you want to be readable everywhere? 2020-12-08T13:51:16Z hendursa1 quit (Quit: hendursa1) 2020-12-08T13:51:37Z hendursaga joined #lisp 2020-12-08T13:52:34Z phoe: thomasb06: there's #stumpwm that might be more specific to this question 2020-12-08T13:52:52Z phoe: oh! you've asked there 2020-12-08T13:52:53Z thomasb06: phoe went there first... 2020-12-08T13:53:03Z thomasb06: yep, quiet place 2020-12-08T13:53:16Z Bike: it does have activity, though you might have to wait a couple hours 2020-12-08T13:53:43Z thomasb06: Bike jet lag issue maybe 2020-12-08T13:54:32Z phoe: if it's completely silent and/or the issue is impatient, you might want to try https://github.com/stumpwm/stumpwm/issues 2020-12-08T13:55:37Z rumbler31 quit (Remote host closed the connection) 2020-12-08T13:56:04Z krwq joined #lisp 2020-12-08T13:57:44Z thomasb06: Wow, I'm not going to publish something on github for that... My only worry is that I can't reconnect and see if someone answered 2020-12-08T13:58:08Z phoe: thomasb06: https://irclog.tymoon.eu/freenode/%23stumpwm 2020-12-08T13:58:40Z phoe: seems like #stumpwm is logged so you can check answers later 2020-12-08T13:59:13Z thomasb06: phoe I just need to go to that link to see there is an answer later? Nice, thanks for the trick 2020-12-08T13:59:36Z ljavorsk joined #lisp 2020-12-08T14:00:28Z phoe: thomasb06: yes 2020-12-08T14:00:36Z phoe: might need to go back in history a bit, but this contains the channel logs 2020-12-08T14:02:41Z flip214: "let's do the time warp again" ... but don't kill Caesar, that always messes up the history books until the fallout settles 2020-12-08T14:03:21Z thomasb06: phoe many thanks 2020-12-08T14:03:52Z phoe: et tu, flip214, contra me 2020-12-08T14:05:04Z _death: thomasb06: I'm guessing you want "S-F7"... s seems to mean super, while S means shift 2020-12-08T14:06:15Z thomasb06: _death it's lower 's', for super indeed 2020-12-08T14:07:03Z ljavorsk quit (Ping timeout: 258 seconds) 2020-12-08T14:07:05Z _death: thomasb06: generally you can use `C-t h k` (I think C-t is the default stumpwm prefix?.. I've been using C-z for a long time now) to see how to designate a keybinding 2020-12-08T14:08:50Z pfdietz joined #lisp 2020-12-08T14:10:39Z johnjay quit (Ping timeout: 260 seconds) 2020-12-08T14:10:40Z aartaka quit (Read error: Connection reset by peer) 2020-12-08T14:12:02Z urek__ quit (Read error: Connection reset by peer) 2020-12-08T14:12:11Z thomasb06: _death let me have a look 2020-12-08T14:12:22Z aeth: phoe: probably more like '|irc.freenode.#lisp|::phoe 2020-12-08T14:12:29Z urek__ joined #lisp 2020-12-08T14:12:41Z aeth: phoe: or a::phoe (where a is for alias) for short with the magic of package local nicknames 2020-12-08T14:13:11Z thomasb06: _death it works great, thanks 2020-12-08T14:15:11Z phoe: aeth: I like this last suggestion 2020-12-08T14:18:42Z thomasb06: _death C-z is my command key in screen... 2020-12-08T14:21:43Z _death: C-t in emacs is just too useful ;) 2020-12-08T14:22:41Z thomasb06: for now I didn't have the issue, but it's less than a week I'm under Stump... 2020-12-08T14:25:32Z johnjay joined #lisp 2020-12-08T14:26:20Z C-16 joined #lisp 2020-12-08T14:27:45Z C-16 quit (Client Quit) 2020-12-08T14:27:51Z aartaka joined #lisp 2020-12-08T14:28:00Z C-16 joined #lisp 2020-12-08T14:29:07Z C-16 quit (Client Quit) 2020-12-08T14:31:50Z dyelar joined #lisp 2020-12-08T14:35:11Z ljavorsk joined #lisp 2020-12-08T14:35:16Z Lycurgus joined #lisp 2020-12-08T14:38:30Z rumbler31 joined #lisp 2020-12-08T14:41:23Z hendursaga quit (Ping timeout: 240 seconds) 2020-12-08T14:42:31Z rumbler31 quit (Ping timeout: 246 seconds) 2020-12-08T14:42:51Z lxsameer left #lisp 2020-12-08T14:45:26Z hendursaga joined #lisp 2020-12-08T14:53:26Z EvW quit (Ping timeout: 264 seconds) 2020-12-08T14:56:53Z nowhereman quit (Ping timeout: 258 seconds) 2020-12-08T15:04:50Z abel-abel joined #lisp 2020-12-08T15:05:40Z phantomics: Hey everyone, another question: I'm having trouble due to compiling code containing symbols from packages that don't exist yet but will at runtime. 2020-12-08T15:06:09Z phantomics: I have functions that, when they run, will create a Lisp package and populate it with some variables, the code I'm compiling calls these variables. Is there a way to make this work? 2020-12-08T15:06:43Z phantomics: In all cases, the compiled code will not run before the package is created, but the compiler chokes on the references to variables from a nonexistent package regardless 2020-12-08T15:07:55Z Bike: you cannot read, let alone compile, code with symbols from nonexistent packages. 2020-12-08T15:08:02Z Bike: you can defer the symbol lookups to runtime though. 2020-12-08T15:08:15Z phantomics: Ok 2020-12-08T15:08:19Z waleee-cl joined #lisp 2020-12-08T15:08:30Z Bike: like, instead of (apply 'nonexistent:foo ...), (apply (find-symbol "FOO" "NONEXISTENT") ...) 2020-12-08T15:08:47Z phantomics: Makes sense, thanks 2020-12-08T15:09:09Z Nilby: phantomics: maybe uiop:symbol-call 2020-12-08T15:09:15Z phantomics: That would have to be (apply (symbol-function (find-symbol "FOO" "NONEXISTENT")) ...) right? 2020-12-08T15:10:05Z phoe: phantomics: doesn't need to be 2020-12-08T15:10:11Z phoe: symbols are funcallable 2020-12-08T15:10:23Z phoe: (funcall (find-symbol "LIST" "CL") 1 2 3) 2020-12-08T15:10:53Z phoe: ;=> (1 2 3) 2020-12-08T15:11:11Z phantomics: Interesting, not sure I ever tried that 2020-12-08T15:11:38Z phoe: this is useful e.g. when the functions don't exist yet 2020-12-08T15:11:50Z phoe: you can't get a hold of #'foo for funcalling it later, but you do can get a hold of 'foo 2020-12-08T15:11:58Z phantomics: Cool 2020-12-08T15:13:02Z phoe: I exercised this knowledge recently because the code I submitted to quicklisp did not compile 2020-12-08T15:13:24Z phoe: https://github.com/phoe/damn-fast-priority-queue/commit/e10ec5b7bfd 2020-12-08T15:13:38Z phoe: try taking a look at this commit, at this whole file, and tell me why! 2020-12-08T15:17:11Z judson_ joined #lisp 2020-12-08T15:18:07Z jianbo joined #lisp 2020-12-08T15:18:37Z Lycurgus quit (Quit: Exeunt) 2020-12-08T15:19:19Z jianbo quit (Client Quit) 2020-12-08T15:28:01Z aartaka_d joined #lisp 2020-12-08T15:30:24Z aartaka quit (Ping timeout: 240 seconds) 2020-12-08T15:40:58Z judson_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-08T15:41:18Z aartaka joined #lisp 2020-12-08T15:44:05Z aartaka_d quit (Ping timeout: 256 seconds) 2020-12-08T15:50:18Z flip214: phoe: how fast is this queue compared to SBCL's mailboxes (which ISTR are lockless)? 2020-12-08T15:50:30Z aartaka quit (Ping timeout: 260 seconds) 2020-12-08T15:51:16Z phoe: flip214: I did not compare against SBCL mailboxes - only Quicklisp libraries. Might be worth to check them mayhaps, the benchmark code is easily adaptable 2020-12-08T15:51:31Z phoe: also my queue is not thread-safe by any means. 2020-12-08T15:54:25Z thomasb06 quit (Remote host closed the connection) 2020-12-08T15:56:58Z makomo joined #lisp 2020-12-08T15:56:59Z judson_ joined #lisp 2020-12-08T15:58:04Z slyrus joined #lisp 2020-12-08T15:58:49Z abel-abel quit (Ping timeout: 246 seconds) 2020-12-08T16:03:21Z SAL9000 joined #lisp 2020-12-08T16:05:20Z Kabriel: beach srandon111 another advantage, CL is backed by a standard specification 2020-12-08T16:05:37Z beach: Yes, I keep forgetting to point that out. 2020-12-08T16:05:46Z beach: It's a major argument in my talks to industry. 2020-12-08T16:06:50Z aeth: The advantage is that people can and do switch from implementations, e.g. everyone who used CLISP 10 years ago is probably using SBCL or CCL now. 2020-12-08T16:07:01Z aartaka joined #lisp 2020-12-08T16:07:26Z phoe: but the source code is mostly the same, plus minus extensions beyond the standard that got unified into portalibs 2020-12-08T16:09:26Z sjl joined #lisp 2020-12-08T16:10:50Z andreyorst` quit (Quit: andreyorst`) 2020-12-08T16:11:12Z aartaka quit (Ping timeout: 256 seconds) 2020-12-08T16:12:56Z Cymew quit (Ping timeout: 240 seconds) 2020-12-08T16:13:12Z jmercouris: https://nyxt.atlas.engineer/article/dbscan.org 2020-12-08T16:13:22Z jmercouris: "Computationally augmented browsing" 2020-12-08T16:15:31Z beach: I should check out Nyxt at some point. 2020-12-08T16:16:09Z jmercouris: I would be most interested in your opinions :-D 2020-12-08T16:16:37Z beach: When I do, I will almost certainly give you feedback. 2020-12-08T16:17:58Z pfdietz: phoe: it's also useful for serialization. 'foo can be written and read back in, or put into a fasl file as a constant. #'foo cannot (although load-time-value can be used to recreate it.) 2020-12-08T16:18:07Z aartaka joined #lisp 2020-12-08T16:19:14Z bitmapper joined #lisp 2020-12-08T16:19:19Z _death: jmercouris: cool.. consider using a tree for the range queries.. the naive approach is very slow 2020-12-08T16:19:22Z spal: I can relate to CLISP to SBCL transistion that aeth mentioned. I began learning Common Lisp using CLISP in 2007 on a rickety laptop running Debian 4.0 (Etch) in an airport when I had a long layover. Now 13 years later, I use SBCL on macOS. 2020-12-08T16:19:33Z mbomba quit (Quit: WeeChat 3.0) 2020-12-08T16:21:26Z jmercouris: _death: a tree where the neighbor nodes are childreN? 2020-12-08T16:22:08Z _death: jmercouris: a spatial tree that stores the points 2020-12-08T16:22:45Z jmercouris: _death: this is what we are doing currently: https://github.com/atlas-engineer/nyxt/blob/92251879868203b8427b664863f8eb843982430a/libraries/analysis/dbscan.lisp#L79 2020-12-08T16:22:53Z zcheng3 joined #lisp 2020-12-08T16:23:03Z jmercouris: each node has a hash table, each key in that hash table is an edge, each value a weight (distance) 2020-12-08T16:23:13Z jmercouris: it is a fully connected graph in this way 2020-12-08T16:23:19Z jmercouris: I don't know if what you are suggesting is more performant or not 2020-12-08T16:26:56Z Nilby quit (Read error: Connection reset by peer) 2020-12-08T16:28:52Z _death: in generate-document-distance-vectors you compare every document with every other document (twice) 2020-12-08T16:29:04Z jmercouris: _death: this is true 2020-12-08T16:29:28Z jmercouris: you know what, actually there is an easy way around this, store the reciprocal value immediately 2020-12-08T16:29:39Z _death: this is not necessary.. you can use properties of the metric, like commutativity or triangle inequality 2020-12-08T16:29:43Z jmercouris: so if we calculate (distance a b) we can store (distance b a) as well, and just check if it has been calculated 2020-12-08T16:29:56Z jmercouris: comutativity is the best I think 2020-12-08T16:30:01Z jmercouris: commutativity* 2020-12-08T16:30:10Z jmercouris: I will improve that, thank you 2020-12-08T16:30:12Z _death: you also use appendf for simulating a queue 2020-12-08T16:30:22Z jmercouris: what's wrong with that? 2020-12-08T16:30:49Z _death: each insertion is O(N) 2020-12-08T16:30:54Z jmercouris: oh boy 2020-12-08T16:31:08Z jmercouris: each call to appendf? is O(N)? 2020-12-08T16:31:11Z jmercouris: really? 2020-12-08T16:31:20Z jmercouris: I would have assumed it just tags onto the end of the cons list 2020-12-08T16:31:21Z beach: How could it be otherwise? 2020-12-08T16:31:34Z Bike: append is not destructive. it cons up copies of all lists but the final one. 2020-12-08T16:31:37Z jmercouris: I figured it may have a reference to the head and tail of each list 2020-12-08T16:31:43Z _death: it needs to get to the end of the list 2020-12-08T16:31:49Z jmercouris: I did not know that... 2020-12-08T16:31:52Z jmercouris: hm, expensive indeed 2020-12-08T16:31:54Z beach: jmercouris: Where would it store that reference? 2020-12-08T16:32:01Z jmercouris: implementation detail 2020-12-08T16:32:03Z jmercouris: not my proble :-D 2020-12-08T16:32:14Z jmercouris: it seems like an obvious optimization... 2020-12-08T16:32:22Z jmercouris: well, less assuming on my part would be good 2020-12-08T16:32:37Z beach: So each CONS cell would have an additional pointer? 2020-12-08T16:32:44Z jeosol joined #lisp 2020-12-08T16:32:55Z beach: And what if the same CONS cell were used in several APPEND operations? 2020-12-08T16:32:56Z jmercouris: a good point... 2020-12-08T16:33:11Z jmercouris: I was thinking more along the lines of I specify (list) the implementation should consider I want to do many operations against it 2020-12-08T16:33:20Z jmercouris: maintain a head, tail, etc 2020-12-08T16:33:39Z urek joined #lisp 2020-12-08T16:33:45Z jmercouris: I see now that in the general case this would be extremely difficult 2020-12-08T16:34:09Z jmercouris: so should I use a queue library? 2020-12-08T16:34:35Z _death: there used to be a TCONC operator, if you want something lightweight.. 2020-12-08T16:35:00Z jonatack quit (Ping timeout: 272 seconds) 2020-12-08T16:35:31Z urek__ quit (Ping timeout: 272 seconds) 2020-12-08T16:35:47Z jmercouris: I could also just maintain a list of lists 2020-12-08T16:36:02Z jmercouris: then traverse the list of lists to remove all elements 2020-12-08T16:36:26Z jmercouris: then appending would be a lot cheaper in general unless the lists are all of length 1 2020-12-08T16:36:35Z jonatack joined #lisp 2020-12-08T16:36:54Z _death: why not just use a queue data type? 2020-12-08T16:37:37Z Steeve joined #lisp 2020-12-08T16:38:17Z surabax quit (Quit: Leaving) 2020-12-08T16:38:43Z mathrick quit (Ping timeout: 246 seconds) 2020-12-08T16:40:33Z jmercouris: there is a queue in CL? 2020-12-08T16:42:32Z _death: it's simple enough to implement one.. there are also a bunch of libraries 2020-12-08T16:43:10Z gko_ quit (Ping timeout: 256 seconds) 2020-12-08T16:43:22Z jmercouris: of course it is, but I don't know if I want to add another dependency 2020-12-08T16:43:33Z jmercouris: I may write one if it isn't in any of our dependencies already 2020-12-08T16:46:47Z reaktivo[m] joined #lisp 2020-12-08T16:46:49Z mathrick joined #lisp 2020-12-08T16:49:51Z sjl: PAIP has a super simple queue that's like a page of code: https://github.com/norvig/paip-lisp/blob/master/docs/chapter10.md#the-right-data-structure-queues 2020-12-08T16:50:29Z sjl: (which mentions TCONC that _death was referring to) 2020-12-08T16:50:30Z _death: hah, I didn't remember it also had a TCONC definition ;) 2020-12-08T16:50:59Z reaktivo[m] left #lisp 2020-12-08T16:51:11Z kaftejiman quit (Remote host closed the connection) 2020-12-08T16:51:14Z jmercouris: looks simple enough 2020-12-08T16:51:45Z jmercouris: thank you Steve 2020-12-08T16:52:06Z sjl: Though probably not thread safe. If you want synchronized queues I think JPL queues has one, or the queue from lparappel 2020-12-08T16:52:09Z sjl: *lparallel 2020-12-08T16:55:12Z jmercouris: not needed to be thread safe 2020-12-08T16:56:47Z EvW joined #lisp 2020-12-08T16:59:08Z _death: before you do anything, it may be a good idea to measure the timings.. say for 1000 items 2020-12-08T16:59:30Z _death: this should help you understand the issues 2020-12-08T17:05:41Z ljavorsk quit (Ping timeout: 258 seconds) 2020-12-08T17:05:42Z hnOsmium0001 joined #lisp 2020-12-08T17:05:56Z srandon111 quit (Ping timeout: 240 seconds) 2020-12-08T17:10:45Z tris[m] left #lisp 2020-12-08T17:12:18Z contrapunctus: If there's a program written in CL which is extensible in the Emacs style (arbitrary external code), what can I do to prevent extensions from doing certain things like accessing the filesystem outside of the storage provided by the application or running shell commands, without explicitly prompting the user? (There's the SICL project, but I'm not sure it's ready for use at the moment...and I'd prefer a 2020-12-08T17:12:18Z contrapunctus: n implementation-independent solution.) 2020-12-08T17:12:41Z jmercouris: contrapunctus: good luck :-) 2020-12-08T17:12:42Z jianbo joined #lisp 2020-12-08T17:12:51Z contrapunctus: lol 2020-12-08T17:12:53Z jmercouris: _death: yes, I haven't done any optimization yet 2020-12-08T17:13:00Z beach: contrapunctus: first-class global environments. 2020-12-08T17:13:10Z jmercouris: the real answer is OS level security 2020-12-08T17:13:19Z beach: Now in the form of an external library: Clostrum. 2020-12-08T17:13:19Z jmercouris: jails, containers, etc 2020-12-08T17:13:45Z phoe: contrapunctus: CL is generally written in a way that trusts the programmer and trusts code that is executed 2020-12-08T17:13:49Z jmercouris: there real answer is that when the user can execute arbitrary code, they can override your overrides, no matter what 2020-12-08T17:13:55Z jmercouris: s/there/the 2020-12-08T17:14:17Z jmercouris: so, run only trusted code 2020-12-08T17:14:28Z jmercouris: and only in a secure environment 2020-12-08T17:14:31Z phoe: so either you wait for beach's suggestion to become widespread across implementations and limit the symbols (and therefore API) that they can access 2020-12-08T17:14:34Z beach: jmercouris: But with first-class global environments, the user can't execute arbitrary code. 2020-12-08T17:14:42Z phoe: or you jail the whole Lisp image. 2020-12-08T17:14:55Z beach: phoe: No need to wait. I convert the code to an AST then run the AST evaluator. 2020-12-08T17:14:59Z jmercouris: beach: I wouldn't know about that 2020-12-08T17:15:06Z jmercouris: not that I am doubting you 2020-12-08T17:15:10Z jmercouris: I am saying, I am not knowledgable about that 2020-12-08T17:15:16Z beach: phoe: It is around 4 times as slow as the native code, which is not bad. 2020-12-08T17:15:32Z contrapunctus: beach: oh :'( 2020-12-08T17:15:47Z beach: contrapunctus: What? 2020-12-08T17:15:56Z phoe: beach: oh! 2020-12-08T17:15:56Z contrapunctus: "4 times as slow" 2020-12-08T17:15:58Z phoe: nice 2020-12-08T17:16:06Z beach: contrapunctus: It will drop into native code for all the functions you allow it to execute. 2020-12-08T17:16:08Z notzmv quit (Remote host closed the connection) 2020-12-08T17:16:11Z cosimone joined #lisp 2020-12-08T17:16:18Z contrapunctus: Oh, interesting ._. 2020-12-08T17:16:34Z _death: contrapunctus: you can check out a project called cl-eval-bot.. it has a sandbox feature that supports a restricted subset of CL 2020-12-08T17:16:37Z jmercouris: I would like to learn more about this, could be very useful for Nyxt 2020-12-08T17:16:47Z notzmv joined #lisp 2020-12-08T17:16:53Z jmercouris: s/could/will 2020-12-08T17:16:55Z contrapunctus: beach: is this the repo? No license? 🤔 https://github.com/s-expressionists/Clostrum 2020-12-08T17:16:59Z _death: contrapunctus: that may or may not be enough 2020-12-08T17:17:28Z phoe: oh right, this might need to get a license 2020-12-08T17:17:50Z jmercouris: which means both daniel and beach will need to agree on a license 2020-12-08T17:18:08Z krwq quit (Ping timeout: 256 seconds) 2020-12-08T17:18:18Z beach: contrapunctus: Yes, that's it. 2020-12-08T17:18:19Z contrapunctus: Unlicense \o/ 😏 2020-12-08T17:18:36Z Cesdo joined #lisp 2020-12-08T17:18:41Z beach: BST 2 clause. 2020-12-08T17:18:42Z jmercouris: It will probably be some MIT / BSD variant 2020-12-08T17:18:45Z beach: Just like SICL. 2020-12-08T17:18:54Z beach: er, BSD 2020-12-08T17:18:56Z beach: Sorry. 2020-12-08T17:19:08Z Cesdo: Hi all 2020-12-08T17:19:13Z phoe: hey Cesdo 2020-12-08T17:19:13Z notzmv quit (Remote host closed the connection) 2020-12-08T17:19:13Z contrapunctus: Hey Cesdo 2020-12-08T17:19:16Z jmercouris: there is your answer, it is written here 2020-12-08T17:19:18Z jmercouris: BSD License 2020-12-08T17:19:20Z beach: jmercouris: We don't need to agree. I paid jackdaniel to develop it, so I decide. 2020-12-08T17:19:21Z jmercouris: you can use it now 2020-12-08T17:19:25Z jmercouris: oh I see :-D 2020-12-08T17:19:32Z jmercouris: well, well well then! 2020-12-08T17:20:13Z myNameJeff joined #lisp 2020-12-08T17:20:16Z contrapunctus: Who says you can't get paid writing Lisp? 2020-12-08T17:20:18Z beach: Cesdo: Are you new here? I don't recognize your nick. 2020-12-08T17:20:20Z contrapunctus: (SCNR) 2020-12-08T17:20:37Z beach: That's what jackdaniel does for a living, yes. 2020-12-08T17:20:37Z jmercouris: contrapunctus: very few people get paid writing Lisp, you must want it very much to achieve it 2020-12-08T17:20:38Z Cesdo: beach: yes 2020-12-08T17:20:49Z beach: Cesdo: Great! Welcome! What brings you to #lisp? 2020-12-08T17:20:58Z phoe: hey hi hello then, new soul 2020-12-08T17:21:09Z jmercouris: he would probably like to convert a Perl program into Lisp to see if Lisp is a better language, _death 2020-12-08T17:21:19Z jackdaniel: I confirm (that beach decides about the license - but also the implementation is implicit from the specification he wrote) 2020-12-08T17:21:31Z phoe: there's #lisp for Common Lisp discussion, ##lisp for discussing Lisps in general, #clschool for learning Common Lisp, and #lispcafe for general chillout offtopic chat stuff 2020-12-08T17:21:52Z gxt__ joined #lisp 2020-12-08T17:22:01Z phoe: and lots of smaller channels for Lisp implementations, projects, etc.. 2020-12-08T17:22:50Z contrapunctus: And an XMPP room too 😏 https://conversations.im/j/lisp@conference.a3.pm 2020-12-08T17:23:02Z phoe: and a discord server as well 2020-12-08T17:23:11Z Cesdo: Guys, please watch my code 2020-12-08T17:23:12Z Cesdo: https://pastebin.com/W7E3LgFi 2020-12-08T17:23:20Z andreyorst joined #lisp 2020-12-08T17:23:22Z myNameJeff left #lisp 2020-12-08T17:23:32Z jackdaniel: the indentation is all wrong, and this code is scheme 2020-12-08T17:23:40Z jackdaniel: there is a channel #scheme for scheme 2020-12-08T17:24:03Z gxt_ quit (Ping timeout: 240 seconds) 2020-12-08T17:24:06Z Cesdo: jackdaniel: ok 2020-12-08T17:24:24Z notzmv joined #lisp 2020-12-08T17:24:38Z beach: Cesdo: Or you can do your code in Common Lisp. 2020-12-08T17:24:52Z beach: Cesdo: Then we can recommend tools to make it look idiomatic. 2020-12-08T17:25:01Z Cesdo: :-D 2020-12-08T17:25:25Z phoe: https://plaster.tymoon.eu/view/2186#2186 2020-12-08T17:25:30Z phoe: converting it to CL ain't too hard 2020-12-08T17:25:36Z phoe: it's just frobbing DEFINE into a DEFUN 2020-12-08T17:25:58Z beach: You need to get rid of the CamelCase too. 2020-12-08T17:26:04Z contrapunctus: Cesdo: also, Lisp convention is to use kebab-case without abbreviations 2020-12-08T17:26:41Z Cesdo: contrapunctus: understood 2020-12-08T17:27:37Z pfdietz: For queues in Lisp: it's easy enough to implement a queue functionally in O(1) amortized time per operation, using two stacks. 2020-12-08T17:28:43Z pfdietz: With a little more work you can get that down to O(1) time (not amortized) per operation. 2020-12-08T17:28:49Z Cesdo: thanks to all 2020-12-08T17:29:14Z phoe: pfdietz: a priority queue you mean, right? 2020-12-08T17:29:23Z phoe: not just a FIFO one 2020-12-08T17:29:25Z pfdietz: Nah, just a regular queue. 2020-12-08T17:29:29Z phoe: oh, whew 2020-12-08T17:29:34Z beach: It's a standard trick. 2020-12-08T17:29:43Z pfdietz: Priority queue can sort, so not O(1) time per operation. 2020-12-08T17:29:53Z phoe: for a moment I thought that I screwed up while programming DFPQ and I could go to O(1) with a prioqueue 2020-12-08T17:30:09Z jmercouris: if you believe hard enough, anything is possible 2020-12-08T17:30:20Z jackdaniel: that is not true 2020-12-08T17:30:28Z jmercouris: lol, of course it isn't 2020-12-08T17:30:33Z jackdaniel: then why did you say that? 2020-12-08T17:30:34Z jmercouris: also, the moon is made of cheese 2020-12-08T17:30:38Z jmercouris: because it was a joke 2020-12-08T17:30:40Z _death: actually for jmercouris's code a queue isn't needed after all.. he can just transpose the two arguments to appendf and be done with it.. also that nonstandard loop syntax again... 2020-12-08T17:30:45Z phoe: jmercouris: gimme a O(1) sorting algorithm and a slice of moon cheddar then 2020-12-08T17:30:55Z pfdietz: Truly I tell you: we have a friend in cheeses. 2020-12-08T17:31:33Z jmercouris: a friend in need is a cheese indeed 2020-12-08T17:31:55Z contrapunctus left #lisp 2020-12-08T17:32:07Z surabax joined #lisp 2020-12-08T17:32:19Z notzmv quit (Remote host closed the connection) 2020-12-08T17:32:53Z notzmv joined #lisp 2020-12-08T17:35:04Z jibanes quit (Ping timeout: 246 seconds) 2020-12-08T17:35:13Z _death: (well, not just transpose them.. he'll need to use append rather than appendf, or define prependf) 2020-12-08T17:35:20Z notzmv quit (Remote host closed the connection) 2020-12-08T17:35:47Z notzmv joined #lisp 2020-12-08T17:37:02Z jibanes joined #lisp 2020-12-08T17:37:44Z notzmv quit (Remote host closed the connection) 2020-12-08T17:43:42Z lalilulelo joined #lisp 2020-12-08T17:47:24Z aeth quit (Ping timeout: 240 seconds) 2020-12-08T17:48:20Z aeth joined #lisp 2020-12-08T17:54:56Z hal99999 joined #lisp 2020-12-08T17:55:37Z ebrasca joined #lisp 2020-12-08T18:06:03Z cosimone quit (Quit: cosimone) 2020-12-08T18:17:49Z judson_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-08T18:20:14Z dim: the O(1) sorting algorithm is sometimes referred to as “God's algo” as in “if I were God, what would I do?” and then if you were God then of course the data would be already sorted to your preference... what a strange question... and then you try to imagine the next best thing 2020-12-08T18:23:40Z spal: Am I misremembering it or did SLIME really use to have a startup animation while starting with M-x slime? I don't see the animated SLIME startup anymore. 2020-12-08T18:25:36Z _death: it got removed 2020-12-08T18:26:11Z nkatte joined #lisp 2020-12-08T18:26:19Z _death: well, moved into a contrib.. slime-banner 2020-12-08T18:26:20Z spal: :( 2020-12-08T18:26:57Z easye still has slime-banner in slime-setup 2020-12-08T18:27:32Z easiere joined #lisp 2020-12-08T18:29:29Z _death discovers M-x animate-birthday-present 2020-12-08T18:30:11Z judson_ joined #lisp 2020-12-08T18:30:59Z easye quit (Remote host closed the connection) 2020-12-08T18:33:28Z easiere quit (Quit: ERC (IRC client for Emacs 25.1.1)) 2020-12-08T18:33:41Z easye joined #lisp 2020-12-08T18:34:34Z zabow joined #lisp 2020-12-08T18:37:40Z makomo quit (Quit: WeeChat 2.9) 2020-12-08T18:40:35Z sgibber2018 joined #lisp 2020-12-08T18:42:29Z cosimone joined #lisp 2020-12-08T18:43:47Z matryoshka` quit (Quit: ZNC 1.8.2 - https://znc.in) 2020-12-08T18:44:03Z matryoshka joined #lisp 2020-12-08T18:44:40Z rumbler31 joined #lisp 2020-12-08T18:45:31Z notzmv joined #lisp 2020-12-08T18:47:21Z toorevitimirp quit (Remote host closed the connection) 2020-12-08T18:48:32Z dim: M-x butterfly anyone? 2020-12-08T18:49:04Z lotuseater: yes I used it some time ago :D just for the fun of it 2020-12-08T18:49:25Z rumbler31 quit (Ping timeout: 264 seconds) 2020-12-08T18:52:53Z cosimone quit (Remote host closed the connection) 2020-12-08T18:53:11Z cosimone joined #lisp 2020-12-08T18:53:41Z Cesdo quit (Read error: Connection reset by peer) 2020-12-08T18:56:41Z aindilis joined #lisp 2020-12-08T18:59:17Z Cesdo joined #lisp 2020-12-08T18:59:21Z sgibber2018 quit (Quit: WeeChat 2.9) 2020-12-08T19:00:28Z norserob quit (Quit: leaving) 2020-12-08T19:02:55Z sgibber2018 joined #lisp 2020-12-08T19:03:08Z hal99999 quit (Ping timeout: 256 seconds) 2020-12-08T19:04:06Z Jesin quit (Quit: Leaving) 2020-12-08T19:05:23Z tempest_nox joined #lisp 2020-12-08T19:06:16Z galex-713 quit (Read error: Connection reset by peer) 2020-12-08T19:10:07Z hal99999 joined #lisp 2020-12-08T19:15:18Z Jesin joined #lisp 2020-12-08T19:16:06Z cosimone quit (Remote host closed the connection) 2020-12-08T19:16:23Z cosimone joined #lisp 2020-12-08T19:16:51Z skapata joined #lisp 2020-12-08T19:17:47Z galex-713 joined #lisp 2020-12-08T19:19:05Z zabow quit (Ping timeout: 258 seconds) 2020-12-08T19:21:56Z abhixec joined #lisp 2020-12-08T19:24:51Z notzmv` joined #lisp 2020-12-08T19:26:01Z dhil quit (Ping timeout: 264 seconds) 2020-12-08T19:26:43Z notzmv quit (Ping timeout: 246 seconds) 2020-12-08T19:30:19Z easye quit (Quit: ERC (IRC client for Emacs 25.1.1)) 2020-12-08T19:31:29Z easye joined #lisp 2020-12-08T19:33:23Z easye quit (Remote host closed the connection) 2020-12-08T19:33:39Z easye joined #lisp 2020-12-08T19:38:31Z dhil joined #lisp 2020-12-08T19:40:52Z liberliver quit (Ping timeout: 256 seconds) 2020-12-08T19:50:47Z judson_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-08T19:52:01Z EvW1 joined #lisp 2020-12-08T19:54:42Z dhil quit (Ping timeout: 256 seconds) 2020-12-08T19:54:56Z judson_ joined #lisp 2020-12-08T19:55:53Z EvW quit (Ping timeout: 258 seconds) 2020-12-08T19:55:53Z EvW1 is now known as EvW 2020-12-08T19:56:39Z aorst joined #lisp 2020-12-08T19:57:16Z andreyorst quit (Quit: andreyorst) 2020-12-08T19:58:45Z akoana joined #lisp 2020-12-08T19:58:45Z judson_ quit (Client Quit) 2020-12-08T20:02:13Z judson_ joined #lisp 2020-12-08T20:03:11Z aartaka_d joined #lisp 2020-12-08T20:06:04Z aartaka quit (Ping timeout: 240 seconds) 2020-12-08T20:06:28Z Jesin quit (Quit: Leaving) 2020-12-08T20:07:29Z dhil joined #lisp 2020-12-08T20:08:09Z notzmv` quit (Ping timeout: 258 seconds) 2020-12-08T20:13:18Z Steeve quit (Quit: end) 2020-12-08T20:16:54Z Jesin joined #lisp 2020-12-08T20:18:07Z EvW quit (Ping timeout: 260 seconds) 2020-12-08T20:28:24Z EvW joined #lisp 2020-12-08T20:30:46Z narimiran quit (Ping timeout: 246 seconds) 2020-12-08T20:30:51Z lotuseater: okay now I get why NASA/JPL refuses using lisp anymore ^^ https://en.wikipedia.org/wiki/The_Power_of_10:_Rules_for_Developing_Safety-Critical_Code 2020-12-08T20:31:35Z notzmv joined #lisp 2020-12-08T20:39:36Z jw4 quit (Read error: Connection reset by peer) 2020-12-08T20:41:50Z jw4 joined #lisp 2020-12-08T20:45:24Z quazimodo quit (Ping timeout: 240 seconds) 2020-12-08T20:45:43Z quazimodo joined #lisp 2020-12-08T20:52:36Z judson_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-08T20:56:21Z fengshaun quit (Quit: bibi!) 2020-12-08T20:56:48Z fengshaun joined #lisp 2020-12-08T20:57:50Z _whitelogger quit (Remote host closed the connection) 2020-12-08T20:58:24Z shifty joined #lisp 2020-12-08T20:59:32Z aorst quit (Quit: WeeChat 3.0) 2020-12-08T20:59:51Z judson_ joined #lisp 2020-12-08T20:59:58Z _whitelogger joined #lisp 2020-12-08T21:02:41Z urek quit (Ping timeout: 260 seconds) 2020-12-08T21:03:35Z andreyorst joined #lisp 2020-12-08T21:03:42Z _whitelogger quit (Remote host closed the connection) 2020-12-08T21:05:51Z _whitelogger joined #lisp 2020-12-08T21:17:56Z shka_ quit (Ping timeout: 240 seconds) 2020-12-08T21:22:04Z notzmv quit (Remote host closed the connection) 2020-12-08T21:22:25Z notzmv joined #lisp 2020-12-08T21:29:24Z Cesdo left #lisp 2020-12-08T21:37:59Z urek joined #lisp 2020-12-08T21:40:40Z jdz_ joined #lisp 2020-12-08T21:42:12Z jdz quit (Ping timeout: 260 seconds) 2020-12-08T21:46:56Z johnjay quit (Ping timeout: 240 seconds) 2020-12-08T21:49:13Z fengshaun quit (Quit: bibi!) 2020-12-08T21:50:04Z fengshaun joined #lisp 2020-12-08T22:04:11Z dyelar quit (Quit: Leaving.) 2020-12-08T22:06:55Z notzmv quit (Remote host closed the connection) 2020-12-08T22:11:02Z nij joined #lisp 2020-12-08T22:11:17Z nij: Help! I think I'm stuck with the type system of 'defstruct... 2020-12-08T22:11:24Z nij: https://bpa.st/23FQ <-- here's the issue. 2020-12-08T22:11:45Z nij: I defined a structure 'date, which requires each slot to contain a number. 2020-12-08T22:12:02Z nij: I then tried to parse string into it.. but it does not work. 2020-12-08T22:12:21Z Bike: when you do a let binding like that you only take the primary value of the form 2020-12-08T22:12:29Z Bike: that is, all the values of decode-universal-time past the primary value are discarded here 2020-12-08T22:12:37Z Bike: you probably want to use multiple-value-bind instead 2020-12-08T22:13:10Z Bike: (nth-value n a-variable) is always nil if n is greater than zero (and a-variable is not a symbol macro) 2020-12-08T22:15:01Z pve quit (Quit: leaving) 2020-12-08T22:16:29Z Bike: if you take this code but do like (print (nth-value 5 parsed-date)) you'll see that it's nil. 2020-12-08T22:16:43Z nij: Hmm.. I'm trying to search for what the primary values are 2020-12-08T22:16:46Z nij: but in vain. 2020-12-08T22:17:03Z nij: So I should use 'multiple-value-bind instead of 'let? 2020-12-08T22:17:10Z Bike: http://www.lispworks.com/documentation/HyperSpec/Body/26_glo_p.htm#primary_value 2020-12-08T22:18:15Z nij: :( 2020-12-08T22:18:25Z Bike: what? 2020-12-08T22:18:52Z nij fails to understand why the sequence isn't parsed successfully into the variable 'parsed-date 2020-12-08T22:19:40Z Bike: okay, well, basiclaly decode-universal-time isn't returning a sequence. it's returning multiple values, which is a different thing. 2020-12-08T22:20:09Z Bike: it's a bit more efficient in that it doesn't actually need to allocate any storage, like it would for a sequence. 2020-12-08T22:20:38Z nij: I see. A multiple-valued function. 2020-12-08T22:20:42Z Bike: The language semantics mean that in most contexts, values besides the primary return value are discarded. You need to use something like nth-value or multiple-value-bind to get at them. 2020-12-08T22:20:55Z Bike: If you just bind the results of the form to a variable, like here, the variable will just be the primary value. 2020-12-08T22:21:09Z nij: OH! 2020-12-08T22:21:11Z nij: I see :D 2020-12-08T22:21:15Z nij: Thank yah! 2020-12-08T22:21:31Z Bike: You can e.g. use (multiple-value-list (decode-universal-time ...)) to get an actual list (i.e. sequence) of the values, and work with that, but multiple-value-bind is more idiomatic and efficient. 2020-12-08T22:21:35Z Bike: yeah, no problem. 2020-12-08T22:23:23Z Xach: oh man 2020-12-08T22:23:33Z Xach: i forgot that jcb made mkcl! 2020-12-08T22:23:43Z Xach: that makes his weird pro question even weirder! 2020-12-08T22:24:52Z nij: It works :D I'm happy Bike 2020-12-08T22:24:57Z Bike: that's good. 2020-12-08T22:25:00Z EvW quit (Ping timeout: 258 seconds) 2020-12-08T22:28:07Z EvW joined #lisp 2020-12-08T22:28:23Z judson_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-08T22:33:20Z judson_ joined #lisp 2020-12-08T22:36:32Z phoe: Xach: which pro question 2020-12-08T22:37:45Z Xach: "change-class is hard to implement and nobody uses it, difficult things should be justified before adding them" 2020-12-08T22:37:50Z Fare quit (Ping timeout: 264 seconds) 2020-12-08T22:38:10Z phoe: >nobody uses it 2020-12-08T22:38:19Z phoe: "Robert Strandh would like to know your location" 2020-12-08T22:38:34Z phoe: no, I mean, seriously - I have use cases for it 2020-12-08T22:38:50Z phoe: so should update-instance-for-redefined-class, who the hell even knows about this function 2020-12-08T22:39:02Z phoe: who even designs functions that have names as long as this 2020-12-08T22:39:14Z Xach: i uses it often 2020-12-08T22:40:16Z aeth quit (Ping timeout: 246 seconds) 2020-12-08T22:41:37Z nij quit (Ping timeout: 260 seconds) 2020-12-08T22:42:16Z aeth joined #lisp 2020-12-08T22:43:03Z Gnuxie[m]: change-class 💜💕 2020-12-08T22:43:57Z EvW quit (Ping timeout: 260 seconds) 2020-12-08T22:50:10Z EvW joined #lisp 2020-12-08T22:50:17Z dhil quit (Quit: Leaving) 2020-12-08T22:51:51Z yottabyte: question about yason, I want to encode json like {"something": {"a": 5, "b": [1, 2, 3]}} but I'm having some trouble with the inner object nesting. I tried using alexandria:plist-hash-table with no luck 2020-12-08T22:53:11Z phoe: I guess this depends on how yason encodes lists vs objects 2020-12-08T22:55:18Z judson_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-08T22:55:26Z phoe: (yason:encode (alexandria:plist-hash-table (list "foo" 42 "bar" (alexandria:plist-hash-table (list "aaa" '(1 2 3)))))) 2020-12-08T22:55:30Z phoe: this seems to work for me 2020-12-08T23:00:00Z judson_ joined #lisp 2020-12-08T23:00:56Z wsinatra quit (Ping timeout: 240 seconds) 2020-12-08T23:02:57Z moon-child quit (Ping timeout: 260 seconds) 2020-12-08T23:06:01Z judson_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-08T23:06:56Z aartaka_d quit (Ping timeout: 240 seconds) 2020-12-08T23:08:01Z judson_ joined #lisp 2020-12-08T23:08:15Z harlchen quit (Quit: WeeChat 2.9) 2020-12-08T23:09:53Z judson_ quit (Client Quit) 2020-12-08T23:10:48Z xantoz quit (Ping timeout: 260 seconds) 2020-12-08T23:11:00Z quazimodo quit (Ping timeout: 258 seconds) 2020-12-08T23:12:46Z quazimodo joined #lisp 2020-12-08T23:19:04Z hal99999 quit (Ping timeout: 240 seconds) 2020-12-08T23:21:41Z judson_ joined #lisp 2020-12-08T23:21:54Z judson_ quit (Client Quit) 2020-12-08T23:22:37Z cg505 quit (Quit: ZNC 1.7.2+deb3 - https://znc.in) 2020-12-08T23:24:02Z wsinatra joined #lisp 2020-12-08T23:24:33Z cg505 joined #lisp 2020-12-08T23:30:36Z yonkunas joined #lisp 2020-12-08T23:32:14Z mathrick quit (Remote host closed the connection) 2020-12-08T23:32:24Z random-nick quit (Ping timeout: 260 seconds) 2020-12-08T23:34:36Z sjl quit (Ping timeout: 240 seconds) 2020-12-08T23:36:45Z judson_ joined #lisp 2020-12-08T23:38:18Z Fare joined #lisp 2020-12-08T23:41:05Z beach quit (Ping timeout: 246 seconds) 2020-12-08T23:41:46Z beach joined #lisp 2020-12-08T23:42:16Z notzmv` joined #lisp 2020-12-08T23:43:44Z xantoz joined #lisp 2020-12-08T23:45:16Z notzmv` is now known as notzmv 2020-12-08T23:45:32Z notzmv quit (Changing host) 2020-12-08T23:45:32Z notzmv joined #lisp 2020-12-08T23:47:57Z judson_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-08T23:50:39Z judson_ joined #lisp 2020-12-08T23:51:14Z mathrick joined #lisp 2020-12-08T23:51:19Z yottabyte: what's the best way to create json? is it this? 2020-12-08T23:52:09Z judson_ quit (Client Quit) 2020-12-08T23:52:43Z phoe: depends - there are multiple json libraries, and they have different encoding schemes 2020-12-08T23:53:06Z phoe: some of them allow you to turn instances into JSON 2020-12-08T23:53:09Z phoe: like, standard-objects 2020-12-08T23:53:52Z KREYREEN quit (Remote host closed the connection) 2020-12-08T23:56:41Z judson_ joined #lisp 2020-12-08T23:57:51Z KREYREEN joined #lisp 2020-12-09T00:03:18Z rumbler31 joined #lisp 2020-12-09T00:04:04Z cosimone quit (Ping timeout: 240 seconds) 2020-12-09T00:14:43Z judson_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-09T00:14:49Z mbomba joined #lisp 2020-12-09T00:20:02Z judson_ joined #lisp 2020-12-09T00:25:00Z thijso quit (Ping timeout: 256 seconds) 2020-12-09T00:25:38Z thijso joined #lisp 2020-12-09T00:25:48Z johnjay joined #lisp 2020-12-09T00:28:20Z epony quit (Quit: reconfigure) 2020-12-09T00:38:06Z epony joined #lisp 2020-12-09T00:38:58Z bitmapper quit (Quit: Connection closed for inactivity) 2020-12-09T00:39:27Z gko_ joined #lisp 2020-12-09T00:44:01Z gko_ quit (Ping timeout: 264 seconds) 2020-12-09T00:47:37Z judson_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-09T00:49:01Z judson_ joined #lisp 2020-12-09T00:54:18Z trittweiler quit (Ping timeout: 265 seconds) 2020-12-09T00:54:34Z trittweiler joined #lisp 2020-12-09T01:02:45Z notzmv quit (Remote host closed the connection) 2020-12-09T01:02:47Z rumbler31 quit (Remote host closed the connection) 2020-12-09T01:03:36Z rumbler31 joined #lisp 2020-12-09T01:04:07Z notzmv joined #lisp 2020-12-09T01:06:18Z iyzana[m] joined #lisp 2020-12-09T01:06:45Z iyzana[m] left #lisp 2020-12-09T01:07:15Z iyzana[m] joined #lisp 2020-12-09T01:08:04Z iyzana[m] left #lisp 2020-12-09T01:10:58Z wxie joined #lisp 2020-12-09T01:11:55Z andreyorst quit (Remote host closed the connection) 2020-12-09T01:15:44Z cods quit (Ping timeout: 240 seconds) 2020-12-09T01:15:58Z cods joined #lisp 2020-12-09T01:18:03Z lotuseater: Xach: i recently learned about the circle-ellipse problem and how it can be solved using CLOS with change-class and update-instance-for-redefined-class. advanced features for nontrivial problems :) 2020-12-09T01:19:22Z ebrasca: phoe: Hi 2020-12-09T01:20:09Z phoe: ebrasca: hey 2020-12-09T01:21:48Z ebrasca: phoe: I don't know how to help with Hexstream problem. 2020-12-09T01:22:14Z phoe: ebrasca: you don't need to. 2020-12-09T01:23:05Z phoe: I guess that you know shit has hit the fan when Ron Garret of NASA JPL fame decides to step in and settle some things straight. 2020-12-09T01:23:23Z phoe: ;; and I won't say any more here because I'm scared of jackdaniel even when he's most likely sleeping 2020-12-09T01:25:48Z curiouscain: I didn't know it was /that/ Ron Garrett 2020-12-09T01:25:49Z igemnace quit (Remote host closed the connection) 2020-12-09T01:27:31Z galex-713 quit (Ping timeout: 272 seconds) 2020-12-09T01:30:20Z ebrasca quit (Remote host closed the connection) 2020-12-09T01:39:15Z mfiano: I use change-class quite a bit, and the foundation of my game engine depends on it actually. 2020-12-09T01:41:14Z mbomba quit (Quit: WeeChat 3.0) 2020-12-09T01:41:39Z EvW quit (Ping timeout: 258 seconds) 2020-12-09T01:42:55Z akoana quit (Quit: leaving) 2020-12-09T01:45:29Z Lord_of_Life_ joined #lisp 2020-12-09T01:46:24Z Lord_of_Life quit (Ping timeout: 240 seconds) 2020-12-09T01:47:39Z wxie quit (Remote host closed the connection) 2020-12-09T01:52:50Z beach quit (Ping timeout: 264 seconds) 2020-12-09T01:52:56Z ldbeth joined #lisp 2020-12-09T01:56:35Z notzmv` joined #lisp 2020-12-09T01:58:16Z notzmv quit (Ping timeout: 256 seconds) 2020-12-09T01:59:03Z notzmv` quit (Remote host closed the connection) 2020-12-09T02:00:00Z ldbeth: good morning 2020-12-09T02:00:59Z surabax quit (Quit: Leaving) 2020-12-09T02:02:36Z orivej quit (Ping timeout: 240 seconds) 2020-12-09T02:02:38Z tempest_nox quit (Read error: Connection reset by peer) 2020-12-09T02:07:06Z Xach: www.xach.com/tmp/wobble.gif is some output from (hacked vecto)+skippy that i think looks neat 2020-12-09T02:07:17Z phoe: ooooooh 2020-12-09T02:07:27Z phoe: wobbly indeed 2020-12-09T02:08:17Z Nilby joined #lisp 2020-12-09T02:09:39Z gzj joined #lisp 2020-12-09T02:09:47Z GZJ0X_ joined #lisp 2020-12-09T02:09:50Z gzj quit (Remote host closed the connection) 2020-12-09T02:12:13Z frgo quit (Ping timeout: 260 seconds) 2020-12-09T02:14:46Z jianbo quit (Remote host closed the connection) 2020-12-09T02:15:06Z rumbler31 quit (Read error: Connection reset by peer) 2020-12-09T02:15:44Z rumbler31 joined #lisp 2020-12-09T02:20:57Z semz quit (Ping timeout: 260 seconds) 2020-12-09T02:26:27Z frgo joined #lisp 2020-12-09T02:34:03Z semz joined #lisp 2020-12-09T02:40:06Z GZJ0X_ quit (Remote host closed the connection) 2020-12-09T02:40:27Z GZJ0X_ joined #lisp 2020-12-09T02:41:59Z lalilulelo quit (Read error: Connection reset by peer) 2020-12-09T02:43:06Z GZJ0X_ quit (Remote host closed the connection) 2020-12-09T02:43:23Z ebrasca joined #lisp 2020-12-09T02:43:26Z GZJ0X_ joined #lisp 2020-12-09T02:50:12Z ldbeth quit (Remote host closed the connection) 2020-12-09T02:50:34Z ldbeth joined #lisp 2020-12-09T02:53:41Z wsinatra quit (Read error: Connection reset by peer) 2020-12-09T03:05:24Z orivej joined #lisp 2020-12-09T03:08:41Z Stanley00 joined #lisp 2020-12-09T03:15:17Z igemnace joined #lisp 2020-12-09T03:53:36Z urek quit (Ping timeout: 240 seconds) 2020-12-09T03:56:00Z beach joined #lisp 2020-12-09T03:57:05Z beach: Good morning everyone! 2020-12-09T04:01:20Z fc2020apt[m]: I may start to consider Common Lisp later on today for me 2020-12-09T04:01:31Z hydan joined #lisp 2020-12-09T04:01:39Z beach: fc2020apt[m]: Good plan. 2020-12-09T04:01:44Z beach: What took you so long? 2020-12-09T04:02:14Z fc2020apt[m]: Lack of motivation to program or do much else except gaming, and mostly used to C derivatives 2020-12-09T04:02:29Z Alfr_ joined #lisp 2020-12-09T04:02:47Z beach: I see. 2020-12-09T04:03:13Z fc2020apt[m]: I want to create a game and some utilities 2020-12-09T04:03:15Z pfdietz: Nobody uses change-class?! Hmmph. 2020-12-09T04:03:23Z beach: pfdietz: Heh! 2020-12-09T04:03:39Z beach: pfdietz: That person must not have looked at Cleavir. 2020-12-09T04:05:22Z Alfr quit (Ping timeout: 260 seconds) 2020-12-09T04:08:51Z _jrjsmrtn joined #lisp 2020-12-09T04:09:39Z __jrjsmrtn__ quit (Ping timeout: 272 seconds) 2020-12-09T04:16:08Z waleee-cl quit (Quit: Connection closed for inactivity) 2020-12-09T04:16:18Z ebrasca: Morning beach! 2020-12-09T04:18:18Z tempest_nox joined #lisp 2020-12-09T04:18:42Z riekusr[m] left #lisp 2020-12-09T04:21:30Z saganman joined #lisp 2020-12-09T04:23:58Z narimiran joined #lisp 2020-12-09T04:36:53Z nkatte quit (Ping timeout: 272 seconds) 2020-12-09T04:47:19Z rumbler31 quit (Read error: Connection reset by peer) 2020-12-09T04:48:03Z rumbler31 joined #lisp 2020-12-09T04:53:01Z zcheng3 quit (Ping timeout: 264 seconds) 2020-12-09T04:53:42Z abhixec quit (Ping timeout: 258 seconds) 2020-12-09T04:55:53Z easye: Morning #lisp: another day, another CONS. 2020-12-09T04:56:24Z beach: Sounds good. 2020-12-09T04:56:53Z oni-on-ion: consequentially 2020-12-09T04:56:58Z beach: And, hello easye. 2020-12-09T04:57:40Z easye: Morning beach. Have you heard anything about ELS2021 by the way? 2020-12-09T04:58:07Z beach: I have not. :( 2020-12-09T04:58:39Z beach: Maybe Didier needs a break. 2020-12-09T04:59:05Z easye: Alright. I am going to try to touch base with Didier today, and see if we can get something going to give him a deserved break. 2020-12-09T04:59:22Z beach: That would be a very good thing. 2020-12-09T04:59:38Z beach: Might as well make it online from the start in 2021. 2020-12-09T04:59:48Z easye: Agreed. 2020-12-09T05:00:04Z pfdietz quit (Ping timeout: 245 seconds) 2020-12-09T05:00:11Z easye: So, practically maybe the call for papers would be delayed a couple months at worse case. 2020-12-09T05:00:49Z beach: Yeah, given that this is already December. 2020-12-09T05:01:06Z beach: Another month would be welcome. 2020-12-09T05:01:56Z beach: I'm off for a break. Back in 30 minutes. 2020-12-09T05:05:36Z ebrasca: byte is n bits long in cl , can I set how muny bits read-byte reads? 2020-12-09T05:08:27Z Nilby: ebrasca: i think it's the element-type of the stream 2020-12-09T05:10:19Z ebrasca: Nilby: What about reading one 7bits byte and then one 31bits byte? 2020-12-09T05:11:21Z Nilby: ebrasca: There's various packages that can do that, e.g. flexi-streams. 2020-12-09T05:12:04Z Nilby: Some implementations might have implementation specific code. 2020-12-09T05:12:48Z Nilby: There's many things that do various size binary I/O on octet streams. 2020-12-09T05:18:21Z Nilby: a bunch of stuff on https://www.cliki.net/binary%20format 2020-12-09T05:19:24Z ldbeth: I'm looking for a compact data type for int * char -> int lookup 2020-12-09T05:20:28Z ldbeth: currently I take an array of hashtables 2020-12-09T05:21:32Z gaze__ quit (Ping timeout: 260 seconds) 2020-12-09T05:21:32Z mjl quit (Ping timeout: 260 seconds) 2020-12-09T05:21:42Z mjl joined #lisp 2020-12-09T05:24:35Z gaze__ joined #lisp 2020-12-09T05:27:38Z buoy49 quit (Read error: Connection reset by peer) 2020-12-09T05:27:38Z jerme_ quit (Ping timeout: 264 seconds) 2020-12-09T05:27:42Z banjiewen_ quit (Read error: Connection reset by peer) 2020-12-09T05:27:42Z alanz quit (Read error: Connection reset by peer) 2020-12-09T05:27:48Z kilimanjaro quit (Read error: Connection reset by peer) 2020-12-09T05:28:04Z kilimanjaro joined #lisp 2020-12-09T05:28:09Z banjiewen_ joined #lisp 2020-12-09T05:28:24Z tempest_nox quit (Read error: Connection reset by peer) 2020-12-09T05:28:43Z alanz joined #lisp 2020-12-09T05:28:49Z jerme_ joined #lisp 2020-12-09T05:30:07Z buoy49 joined #lisp 2020-12-09T05:36:57Z beach: ldbeth: That will work only if the domain of n is compact. 2020-12-09T05:38:22Z beach: If it is not compact, a hash table of hash tables might be better. 2020-12-09T05:38:43Z beach: But this is a typical case where exploiting the properties of the domain can improve performance a lot. 2020-12-09T05:38:59Z beach: Like whether the domains are compact, small in size, etc. 2020-12-09T05:39:46Z beach: Also, another property to exploit might be the frequency of the modification of the mapping. 2020-12-09T05:40:13Z beach: As in, do you mostly query it and only rarely modify it? 2020-12-09T05:48:12Z Misha_B quit (Read error: No route to host) 2020-12-09T05:49:20Z malm quit (Quit: Bye bye) 2020-12-09T05:51:47Z Bike quit (Quit: Lost terminal) 2020-12-09T05:52:20Z ldbeth: beach: yes. the integer domain is continous (from 0 to n), and charactor is limited to 245 ascii code 2020-12-09T05:52:37Z edgar-rft: easye: the CONSequences are unspecified... 2020-12-09T05:54:37Z beach: ldbeth: Then, for the characters, it is faster to have a vector of length 245 (256?), but that assumes the character domain is compact, which you haven't told us about. If it is not, but it doesn't change very often, a binary search is faster than a hash table, so a vector with the sorted character keys in it. 2020-12-09T05:55:15Z beach: And if the character domain doesn't change very often at all, the fastest way is to compile a function that executes a decision tree. 2020-12-09T05:55:47Z beach: ldbeth: There are just too many options to be able to say anything general without knowing all these characteristics. 2020-12-09T05:56:10Z judson_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-09T05:56:34Z Aurora_v_kosmose joined #lisp 2020-12-09T05:56:42Z beach: And you haven't told us what the objective is. Speed? Space? 2020-12-09T05:57:28Z ldbeth: beach: my intention is to represent an acyclic finite state automata for spell checking against a large dictionary 2020-12-09T05:58:09Z ldbeth: and that dictionary should be able to save to disk 2020-12-09T05:58:12Z beach: So what is the n? 2020-12-09T05:58:54Z ldbeth: it is the total states in automata, and it dependes on the size of dictionary 2020-12-09T05:59:10Z shka_ joined #lisp 2020-12-09T05:59:23Z beach: So the value of the mapping n X c is another state? 2020-12-09T06:00:44Z ldbeth: n * c -> n is a function given the current state and a char, find the next state 2020-12-09T06:00:49Z beach: For spell checking, I would go for a binary search rather than a hash table. 2020-12-09T06:00:59Z Nilby: anything like a dictionary seem like character tries would be good 2020-12-09T06:01:23Z beach: I guess that does make it a trie. 2020-12-09T06:02:32Z ldbeth: the acyclic fsm is a minimized trie 2020-12-09T06:03:28Z beach: Anyway, don't do a hash table for the characters. For spell checking, I would do a full-size vector on the top level and a binary search on the following levels. 2020-12-09T06:04:07Z ldbeth: the method I'd try is describle in https://www.aclweb.org/anthology/J00-1002.pdf 2020-12-09T06:06:02Z troydm quit (Quit: What is Hope? That all of your wishes and all of your dreams come true? To turn back time because things were not supposed to happen like that (C) Rau Le Creuset) 2020-12-09T06:06:18Z ldbeth: beach: i think you've made a nice suggestion 2020-12-09T06:06:28Z beach: Great! 2020-12-09T06:09:37Z ldbeth: since the words in dictionary are at least 3 chars long, I can make 2 levels of full-size vector and then do tree search 2020-12-09T06:16:18Z troydm joined #lisp 2020-12-09T06:17:24Z orivej quit (Ping timeout: 240 seconds) 2020-12-09T06:23:22Z beach: That would waste a lot of space I am afraid. I am guessing that already at the second level, the domain is no longer very compact. 2020-12-09T06:32:18Z moon-child joined #lisp 2020-12-09T06:33:56Z aartaka joined #lisp 2020-12-09T06:34:01Z frost-lab joined #lisp 2020-12-09T06:39:01Z wxie joined #lisp 2020-12-09T06:46:31Z nkatte joined #lisp 2020-12-09T06:48:06Z andreyorst joined #lisp 2020-12-09T06:51:41Z mrchampion_ quit (Remote host closed the connection) 2020-12-09T06:52:26Z toorevitimirp joined #lisp 2020-12-09T06:59:39Z ldbeth quit (Quit: ERC (IRC client for Emacs 27.1)) 2020-12-09T07:05:41Z lotuseater: beach: about 27 calls of CHANGE-CLASS in the current (master) Cleavir source code :) 2020-12-09T07:06:29Z andreyorst` joined #lisp 2020-12-09T07:06:33Z andreyorst` quit (Remote host closed the connection) 2020-12-09T07:06:59Z andreyorst` joined #lisp 2020-12-09T07:07:44Z no-defun-allowed: Without CHANGE-CLASS, you can't write OVERWRITE-INSTANCE, which is a very fun thing to have around. 2020-12-09T07:08:05Z lotuseater: oh tell me more, never used it yet 2020-12-09T07:08:33Z flip214: no-defun-allowed: you could use MOP to individually clear every instance slot 2020-12-09T07:09:07Z lotuseater: it does not seem to be part of the standard specification 2020-12-09T07:10:19Z andreyorst quit (Ping timeout: 260 seconds) 2020-12-09T07:12:40Z no-defun-allowed: OVERWRITE-INSTANCE is a function I wrote somewhere in Netfarm, so that I could...overwrite an instance. It is not too complicated. 2020-12-09T07:13:24Z no-defun-allowed: Here it is: https://gitlab.com/cal-coop/netfarm/netfarm/-/blob/master/Code/Objects/MOP/rewrite-references.lisp#L34 2020-12-09T07:13:48Z no-defun-allowed: I hope I don't use it ever; it probably handles unbound slots wrong, and also probably shouldn't call INITIALIZE-INSTANCE again. But it was quite fun. 2020-12-09T07:13:55Z liberliver joined #lisp 2020-12-09T07:13:58Z lotuseater: okay not too complicated sounds good for me 2020-12-09T07:14:40Z no-defun-allowed: I would have used it to store a "reference" object with the hash of an object I actually wanted to put in place, so that I can overwrite them lazily. 2020-12-09T07:15:55Z lotuseater: using the closer-mop lib is more portable, isn't it? 2020-12-09T07:16:29Z no-defun-allowed: Yes, using closer-mop is preferable over the MOP package of your implementation. 2020-12-09T07:21:31Z andreyorst` quit (Quit: andreyorst`) 2020-12-09T07:21:52Z andreyorst` joined #lisp 2020-12-09T07:22:25Z KREYREEN quit (Remote host closed the connection) 2020-12-09T07:34:50Z malm joined #lisp 2020-12-09T07:37:21Z KREYREEN joined #lisp 2020-12-09T07:38:26Z Fare quit (Ping timeout: 264 seconds) 2020-12-09T07:47:52Z random-nick joined #lisp 2020-12-09T07:48:27Z Cymew joined #lisp 2020-12-09T07:49:51Z hiroaki quit (Remote host closed the connection) 2020-12-09T07:50:27Z hiroaki joined #lisp 2020-12-09T07:51:54Z sgibber2018 quit (Quit: WeeChat 2.9) 2020-12-09T07:54:12Z harlchen joined #lisp 2020-12-09T07:56:40Z nij joined #lisp 2020-12-09T07:57:35Z nij: Why doesn't (equal (vector 1 2 3) (vector 1 2 3)) return 'T? I'm confused with the logic behind 'equal. 2020-12-09T07:57:52Z beach: clhs equal 2020-12-09T07:57:52Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_equal.htm 2020-12-09T07:58:00Z nij: (I'm aware that I probably should use 'equalp to compare arrays.. just curious about why.) 2020-12-09T07:58:43Z beach: I am guessing your two vectors are EQ. 2020-12-09T07:58:44Z nij: Yeah.. so it's just a nice convention? 2020-12-09T07:58:49Z beach: Are you sure you typed it that way? 2020-12-09T07:59:25Z nij: It gives me NIL, indeed. 2020-12-09T07:59:59Z beach: nij: Common Lisp proposes a set of predefined equality predicates that were deemed useful. 2020-12-09T08:00:15Z nij: By the DOC you posted, they shouldn't EQUAL. The two vectors are constructed at different addresses. 2020-12-09T08:00:21Z beach: nij: If you don't find them useful in your situation, then you need to define your own. 2020-12-09T08:00:32Z nij: I see. 2020-12-09T08:00:35Z nij: Thanks :) 2020-12-09T08:00:38Z beach: Yes, and NIL indicates they are not equal. 2020-12-09T08:01:23Z beach: But if the two arguments to EQUAL happen to be EQ, then obviously a true value is returned. 2020-12-09T08:01:42Z beach: As in (defparameter *v* (vector 1 2 3)) and then (equal *v* *v*). 2020-12-09T08:01:49Z beach: Does that make sense to you? 2020-12-09T08:02:23Z nij: Yes. 2020-12-09T08:02:30Z beach: Great! 2020-12-09T08:02:32Z nij: I'm just curious why it got implemented by that.. 2020-12-09T08:02:48Z beach: Why what got implemented by what else? 2020-12-09T08:02:50Z nij: Anyway.. perhaps what I really "need" is equalp. 2020-12-09T08:03:10Z jdz_ is now known as jdz 2020-12-09T08:03:47Z nij: Like.. 'eq compares if both things are the same object. 2020-12-09T08:03:47Z nij: But usually we want to compare if both things have the same "value". 2020-12-09T08:03:55Z nij: Or at least we want to compare both things in mathematical sense. 2020-12-09T08:03:57Z beach: Oh dear. 2020-12-09T08:04:13Z beach: You need to read Pitmans web page about equality. 2020-12-09T08:04:25Z beach: nij: Equality is way more complicated than that. 2020-12-09T08:04:41Z nij: link please? 2020-12-09T08:04:42Z beach: nij: The phone company thinks me and my wife are equal because we have the same phone number. 2020-12-09T08:04:57Z nij: http://www.lispworks.com/documentation/HyperSpec/Issues/iss143_w.htm ? 2020-12-09T08:05:03Z beach: No. 2020-12-09T08:05:04Z no-defun-allowed: http://www.nhplace.com/kent/PS/EQUAL.html 2020-12-09T08:05:16Z no-defun-allowed: "The best of intentions: EQUAL Rights - and Wrongs - in Lisp" 2020-12-09T08:05:23Z nij: Will read! 2020-12-09T08:05:25Z beach: That one. 2020-12-09T08:05:30Z nij: Thanks for pointing it out :)) 2020-12-09T08:05:44Z beach: nij: So there is no such thing as "value equality" independent of the situation. 2020-12-09T08:06:05Z GZJ0X_ quit (Remote host closed the connection) 2020-12-09T08:06:25Z GZJ0X_ joined #lisp 2020-12-09T08:06:45Z beach: nij: The mathematical equality you are referring to works only in the very restricted universe of mathematicians, where most things are numbers, or isomorphic to numbers. 2020-12-09T08:07:43Z beach: nij: So welcome to the world of software development. 2020-12-09T08:07:47Z nkatte quit (Ping timeout: 272 seconds) 2020-12-09T08:10:16Z nij: Highlight: There is no uniquely determined equality function for complex structures--there are only arbitrary ones. 2020-12-09T08:10:36Z beach: That's basically what I said. 2020-12-09T08:10:50Z beach: In most cases, you need to supply your own. 2020-12-09T08:10:56Z nij: So, if I want strict mathematical sense of equal, should I just use equalp? 2020-12-09T08:11:09Z nij: Or there is something called 'equalpp? 2020-12-09T08:11:15Z beach: If you want strict mathematical sense, you need to use numbers as your only data type. 2020-12-09T08:11:28Z amb007 quit (Read error: Connection reset by peer) 2020-12-09T08:11:36Z amb007 joined #lisp 2020-12-09T08:12:25Z hugh_marera quit (Quit: Connection closed) 2020-12-09T08:12:56Z no-defun-allowed: It is impossible to decide if two terms in the lambda calculus are equivalent, so I am sure mathematicians get into hairy situations too. "where most things are numbers, or isomorphic to numbers" doesn't hold for those situations, of course. 2020-12-09T08:13:10Z beach: nij: Imagine you have several graphs of objects. Now you want to check whether two objects are "equal in the strict mathematical sense". Are you suggesting that this equality predicate will then have to solve the graph isomorphism problem? 2020-12-09T08:13:58Z beach: no-defun-allowed: Sure, though mathematicians are not that much into decidability. That's mainly for CS people. 2020-12-09T08:14:30Z no-defun-allowed: Ouch, I was going to mention graphs, but NP isn't quite undecidable. /me needs graph isomorphism for her idea of approximating protocol equivalence. 2020-12-09T08:14:33Z nij: Oh now I get it. 2020-12-09T08:14:36Z hugh_marera joined #lisp 2020-12-09T08:14:43Z no-defun-allowed: beach: Oh, okay. 2020-12-09T08:15:27Z nij: Oh no. It's indeed hairy :( 2020-12-09T08:15:47Z nij: How then would one really decide which to use? By reading the source code of all of them? 2020-12-09T08:16:00Z beach: By reading the Common Lisp HyperSpec definition. 2020-12-09T08:16:02Z nij: It could cause highly unexpected error!! 2020-12-09T08:16:25Z nij: Oh.. is CLHS definition the official one? 2020-12-09T08:16:35Z beach: Er, yes. 2020-12-09T08:16:42Z beach: That's the HTML version of the standard. 2020-12-09T08:16:51Z no-defun-allowed: As close to an official definition as you can get without spending money. 2020-12-09T08:16:58Z nij: New here :) Thanks! 2020-12-09T08:17:13Z beach: nij: Again, you will usually have to define your own equality predicate. If what you need happens to correspond to the definition of one of the existing ones, then use it. 2020-12-09T08:17:26Z no-defun-allowed: Yes, the Common Lisp HyperSpec defines the semantics of such predicates, as well as everything else in Common Lisp (except the parts it leaves undefined for whatever reason). 2020-12-09T08:17:53Z beach: And equality predicates are not one of those parts as I recall. 2020-12-09T08:19:40Z no-defun-allowed: Indeed, but I was expecting someone to say "no, the standard leaves some behaviour undefined", so I put the part in parens in. 2020-12-09T08:19:52Z beach: Good planning! :) 2020-12-09T08:20:02Z phoe: good morning 2020-12-09T08:20:06Z beach: Hey phoe. 2020-12-09T08:20:08Z no-defun-allowed: Hello phoe. 2020-12-09T08:20:12Z phoe: hi hey 2020-12-09T08:20:31Z beach: phoe: I am still your friend. Though not a very close one, I'll admit. :) 2020-12-09T08:21:08Z phoe: oh my god that's dangerous 2020-12-09T08:21:14Z beach: ? 2020-12-09T08:21:22Z beach: Oh, being your friend? 2020-12-09T08:21:24Z adlai: nij: keep an eye out for :test and :test-not keyword arguments that are taken by many of the sequence functions, and allow you to supply your own customized equality predicates 2020-12-09T08:21:27Z phoe: yes 2020-12-09T08:21:33Z beach: phoe: We might want to keep it to ourselves. 2020-12-09T08:21:39Z phoe: beach: OK 2020-12-09T08:21:51Z phoe: let's do it that way 2020-12-09T08:21:58Z beach: Yeah. :) 2020-12-09T08:22:10Z phoe: :D 2020-12-09T08:22:20Z no-defun-allowed: Oh, speaking of protocols, how would you define a protocol in a rigorous, but hopefully not too tedious, manner? I am currently thinking operations (with optional argument and return types), some test cases, and some representation of how I should expect the state of objects to change, should there be state. 2020-12-09T08:22:42Z phoe: no-defun-allowed: no protocol classes? 2020-12-09T08:22:43Z adlai: your question seems hopelessly abstract 2020-12-09T08:22:59Z beach: no-defun-allowed: Can I assume you read the section of my book about protocols? 2020-12-09T08:23:18Z no-defun-allowed: phoe: Well, a type is a bundle of operations that can be applied to an object of that type, in my head. 2020-12-09T08:23:18Z amb007 quit (Read error: Connection reset by peer) 2020-12-09T08:23:33Z no-defun-allowed: beach: Yes, from memory you define a protocol as a set of types and functions? 2020-12-09T08:23:36Z amb007 joined #lisp 2020-12-09T08:23:39Z beach: Yes. 2020-12-09T08:23:49Z beach: no-defun-allowed: I think what you suggest is basically it. 2020-12-09T08:23:57Z beach: Plus exceptional situations and such. 2020-12-09T08:24:02Z no-defun-allowed: Gotcha. 2020-12-09T08:24:46Z beach: The more you can refer to other protocol operations, the better. Like, A can be applied to an object O only if B returns true for O. 2020-12-09T08:25:15Z beach: Or, if A returns ??? for an object then B can be applied to that object... 2020-12-09T08:25:28Z no-defun-allowed: Additionally speaking of Netfarm (with OVERWRITE-INSTANCE), I want to have a go at using definitions of protocols to create glue logic between protocols that are not compatible, but could be made compatible with such logic. 2020-12-09T08:25:37Z beach: Example, you can POP the stack only if EMPTY returns FALSE. 2020-12-09T08:25:52Z pve joined #lisp 2020-12-09T08:26:20Z beach: That's an interesting problem. 2020-12-09T08:26:26Z beach: Sounds complicated. 2020-12-09T08:27:03Z no-defun-allowed: beach: In a short article I wrote, I imagined a finite state machine, where each state had a predicate that would return true if the object was in that state, and some functions to transition between them. But that does not help for your operation A, which may not cause a transition, and it is also no good for modelling a stack. 2020-12-09T08:28:12Z beach: Yes, things might be more complicated than that. Transitions might depend on the history of operations applied. 2020-12-09T08:28:31Z no-defun-allowed: Well, I don't like the other approaches to developing protocols in a decentralised way, because they are too concerned with representations and not operations. 2020-12-09T08:28:57Z galex-713 joined #lisp 2020-12-09T08:29:02Z lotuseater: oh damn, coming back short to the equal question, seems like SXHASH just hashes on the array dimension. interesting 2020-12-09T08:29:05Z beach: By "decentralised", you mean by any old developer without coordination? 2020-12-09T08:29:21Z beach: no-defun-allowed: ^ 2020-12-09T08:29:25Z no-defun-allowed: If you concern yourself with operations and not representation, you already get some leeway, but translating operations somehow seems less hopeless than representation. 2020-12-09T08:29:33Z no-defun-allowed: Yes. 2020-12-09T08:29:38Z beach: I totally agree. 2020-12-09T08:29:56Z beach: Many developers are not very good ones. 2020-12-09T08:31:36Z no-defun-allowed: Suppose I have a server which implements protocol A, and you make a server which implements an extension of A, call it A'. Now what should I do if I receive an object from your protocol? I can either just drop your extensions, or see how much of your extension I can present to the client. (I want to do the latter, but in my opinion that's the less interesting question of this one and the next one.) 2020-12-09T08:32:31Z zabow joined #lisp 2020-12-09T08:32:32Z nij quit (Ping timeout: 260 seconds) 2020-12-09T08:33:20Z no-defun-allowed: Now what if, somewhere on Equivalent Earth, an equivalent no-defun-allowed creates an implementation of protocol B, and I somehow find their objects laying around somewhere. For some definition of "isomorphic", if those protocols are isomorphic, then I could use those objects like they were from protocol A. 2020-12-09T08:33:31Z no-defun-allowed: "...laying around somewhere?" 2020-12-09T08:34:59Z White_Flame: "LYING around somewhere" 2020-12-09T08:36:26Z zabow left #lisp 2020-12-09T08:36:35Z srandon111 joined #lisp 2020-12-09T08:36:41Z no-defun-allowed: adlai: Perhaps, but I think a sufficiently good answer would save everyone from forwards, backwards and cross -compatibility woes. 2020-12-09T08:36:41Z srandon111: guys does sbcl statically compiles by default? if not, how can i build a standalone statically compiled executable ?  2020-12-09T08:37:00Z no-defun-allowed: Compiling is a different operation to generating an executable. 2020-12-09T08:37:15Z beach: srandon111: "statically"? 2020-12-09T08:37:25Z srandon111: beach, yes 2020-12-09T08:37:30Z no-defun-allowed: As opposed to "dynamic compilation" (also "just-in-time compiling"), SBCL would be mostly "static", I suppose. 2020-12-09T08:37:38Z beach: srandon111: What does it mean? 2020-12-09T08:37:40Z mbomba joined #lisp 2020-12-09T08:38:18Z beach: srandon111: The semantics of a Common Lisp program can be defined by a suite of interactions, starting with the initial image. 2020-12-09T08:38:26Z srandon111: beach, do you know about the dynamic libraries (in gnu/linux are the .so, whilee on Windows are the .dll), well instead of relying on these ones, you basically put everything in the executable image... 2020-12-09T08:38:33Z beach: srandon111: This is different from most "batch" programming languages. 2020-12-09T08:38:34Z srandon111: so that you do not have external deps 2020-12-09T08:38:56Z srandon111: no-defun-allowed, why mostly static? 2020-12-09T08:38:58Z no-defun-allowed: I don't know of a way to create static executables with SBCL; SAVE-LISP-AND-DIE usually creates dynamically linked executables. 2020-12-09T08:39:13Z srandon111: no-defun-allowed, ok you said a different thing before 2020-12-09T08:39:17Z beach: srandon111: If you just use save-lisp-and-die in SBCL, you can generate an executable from the current state of your system. 2020-12-09T08:39:21Z srandon111: you said that sbcl is mostly static 2020-12-09T08:39:34Z srandon111: no-defun-allowed, you are confusing me 2020-12-09T08:39:34Z no-defun-allowed: srandon111: "static compilation" would be the opposite of https://en.wikipedia.org/wiki/Dynamic_compilation, where code is recompiled with type information observed at runtime. 2020-12-09T08:39:43Z srandon111: no-defun-allowed, i know 2020-12-09T08:40:08Z srandon111: beach, that's interesting thanks for giving me this info 2020-12-09T08:40:14Z no-defun-allowed: I don't think anyone calls static linking "static compilation". 2020-12-09T08:40:15Z beach: Sure. 2020-12-09T08:41:35Z no-defun-allowed: Er, you use lld to see the libraries an executable depends on under Linux, right? 2020-12-09T08:41:44Z hiroaki quit (Ping timeout: 240 seconds) 2020-12-09T08:42:37Z no-defun-allowed: ldd, not lld 2020-12-09T08:44:03Z no-defun-allowed: Phew, lld told me to use ld.lld, which did not want anything to do with my SBCL image. 2020-12-09T08:45:09Z sirvolta quit (Ping timeout: 272 seconds) 2020-12-09T08:45:38Z no-defun-allowed: srandon111: SBCL does create dynamically-linked executables, and there aren't any relevant arguments to save-lisp-and die that would cause it to create statically-linked executables. You might want to ask in #sbcl, but using the phrase "statically-linked executable" instead of "static compilation". 2020-12-09T08:46:54Z beach could not, as usual, have guessed what was meant from the terminology that was used. 2020-12-09T08:47:36Z no-defun-allowed: I am hoping "static linking" and "dynamic linking" are more familiar? I don't usually discuss Unix executables. 2020-12-09T08:48:00Z lotuseater: and it's important not to use it in Emacs/SLIME since single threading 2020-12-09T08:48:53Z beach: Speaking of which, I just noticed I have a signed copy of "Linkers and Loaders" by John Levine. 2020-12-09T08:49:14Z beach: I don't think I ever met him, so he must have mailed it to me. 2020-12-09T08:49:25Z iskander quit (Ping timeout: 264 seconds) 2020-12-09T08:49:41Z iskander joined #lisp 2020-12-09T08:50:49Z beach: I especially enjoyed the chapter on the consequences of dynamic linking in Unix to the complexity of the entire system, which GOTs and whatnot. 2020-12-09T08:51:01Z urek joined #lisp 2020-12-09T08:55:08Z srandon111: no-defun-allowed, ok so you know no wy to create a statically-linked executable with sbcl ? 2020-12-09T08:55:18Z no-defun-allowed: That is correct. 2020-12-09T08:55:45Z lotuseater: the CFFI manual contains a little section about static linking with ASDF 2020-12-09T08:55:54Z lotuseater: https://common-lisp.net/project/cffi/manual/html_node/Static-Linking.html 2020-12-09T09:01:27Z zacts joined #lisp 2020-12-09T09:03:33Z zacts quit (Client Quit) 2020-12-09T09:05:35Z oni-on-ion: cool, that looks like the answer to a question i asked yesterday. 2020-12-09T09:06:16Z lotuseater: okay well then :) 2020-12-09T09:06:28Z zaquest joined #lisp 2020-12-09T09:07:45Z zaquest quit (Remote host closed the connection) 2020-12-09T09:08:07Z GZJ0X_ quit (Remote host closed the connection) 2020-12-09T09:08:21Z lotuseater: for commercial use cases implementations like LispWorks may have better built-in support for it 2020-12-09T09:08:28Z GZJ0X_ joined #lisp 2020-12-09T09:09:03Z hendursaga quit (Ping timeout: 240 seconds) 2020-12-09T09:09:06Z GZJ0X_ quit (Remote host closed the connection) 2020-12-09T09:09:08Z srandon111: oni-on-ion which question ? 2020-12-09T09:09:27Z GZJ0X_ joined #lisp 2020-12-09T09:19:57Z huskyhaskell joined #lisp 2020-12-09T09:30:45Z luna_is_here quit (Ping timeout: 272 seconds) 2020-12-09T09:31:19Z huskyhaskell left #lisp 2020-12-09T09:41:12Z hnOsmium0001 quit (Quit: Connection closed for inactivity) 2020-12-09T09:44:15Z heisig joined #lisp 2020-12-09T09:47:25Z hydan quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-09T09:50:08Z luna_is_here joined #lisp 2020-12-09T09:55:57Z luni joined #lisp 2020-12-09T10:00:45Z luna_is_here quit (Quit: luna_is_here) 2020-12-09T10:02:23Z luna_is_here joined #lisp 2020-12-09T10:02:44Z nij joined #lisp 2020-12-09T10:03:36Z nij: Hello, I tried to loop over an array and collect some computed stuff into a 'tmplist using 'nconc.. but after evaluating the loop, 'tmplist remains its initial value. Why so? https://bpa.st/JYGQ 2020-12-09T10:04:15Z nij: (There are many many bad styles.. any suggestions on styles would be appreciated to!) 2020-12-09T10:04:19Z nij: s/to/too 2020-12-09T10:06:05Z no-defun-allowed: You should use the return value of NCONC, and not use it "for effect". And you should not use destructive functions on quoted datum. 2020-12-09T10:06:09Z beach: nij: SETQ on an undefined variable is undefined behavior. 2020-12-09T10:06:30Z beach: nij: And put the DO LOOP keyword first on a line. 2020-12-09T10:06:35Z beach: And indent using SLIME. 2020-12-09T10:07:05Z nij: beach: I'm using SLIME and indent by pressing M-q. 2020-12-09T10:07:22Z beach: Then put the DO keyword first on a line and indent again. 2020-12-09T10:07:26Z beach: nij: And what is the 'nil at the end? 2020-12-09T10:07:44Z beach: nij: 'nil means you return a symbol. 2020-12-09T10:08:02Z nij: If cond fails, "do nothing"? 2020-12-09T10:08:02Z no-defun-allowed: Er, does M-q indent? I thought it wraps your text to 72 columns, which is ridiculous for code. 2020-12-09T10:08:13Z beach: But in fact, your entire IF expression is evaluated for side effect only as far as I can tell. 2020-12-09T10:08:14Z no-defun-allowed: clhs when 2020-12-09T10:08:14Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/m_when_.htm 2020-12-09T10:08:26Z nij: no-defun-allowed: forgot how I set it up but it did some indenting while in lisp mode.. not optimal 2020-12-09T10:08:36Z shifty quit (Ping timeout: 240 seconds) 2020-12-09T10:08:37Z beach: nij: Indent using a region and M-\ 2020-12-09T10:08:57Z nij: lemme see. Dear it's a huge load of info. Happy learning :) 2020-12-09T10:08:59Z beach: nij: For example, set the region around the defun and then indent. 2020-12-09T10:09:16Z no-defun-allowed: From memory, isn't "for n being the elements of" a SBCL extension for the extensible sequence protocol? 2020-12-09T10:09:32Z beach: Sounds right. 2020-12-09T10:10:09Z no-defun-allowed: However, this could be greatly simplified with some more LOOP features. 2020-12-09T10:10:29Z nij: Hold on.. first of M-\ doesn't work. What's the function for indenting? 2020-12-09T10:10:44Z beach: Maybe it's C-M-\ 2020-12-09T10:10:50Z beach: My fingers know it, but not my brain. 2020-12-09T10:10:53Z nij: Second of, why isn't my 'tmplist changed after the loop? 2020-12-09T10:11:08Z no-defun-allowed: (loop for n sequence for nth-entry = ... for next-entry = ... when (friday-p nth-entry) collect ...) 2020-12-09T10:11:36Z no-defun-allowed: What is 'tmplist? I wouldn't expect evaluating (quote tmplist) to ever return a different value. 2020-12-09T10:11:37Z nij: beach: neither did C-M-\ work 2020-12-09T10:11:50Z beach: nij: Did you have a region to indent? 2020-12-09T10:12:02Z nij: beach: I did select the region 2020-12-09T10:12:09Z beach: Works for me. 2020-12-09T10:12:11Z no-defun-allowed: My guess is it's the value of tmplist? 2020-12-09T10:12:35Z nij: @@ 2020-12-09T10:12:38Z no-defun-allowed: Does it do anything that pressing TAB doesn't? 2020-12-09T10:12:49Z iskander- joined #lisp 2020-12-09T10:12:52Z nij: Hold on.... 2020-12-09T10:13:03Z nij: Ok I should do one thing at a time :O 2020-12-09T10:13:04Z iskander quit (Read error: Connection reset by peer) 2020-12-09T10:13:30Z nij: In the code I posted, tmplist isn't quoted. 2020-12-09T10:13:35Z spxy left #lisp 2020-12-09T10:13:52Z nij: I expected that 'nconc will perform side-effect on tmplist, during the loop. 2020-12-09T10:14:05Z beach: You have (setq tmplist '(0 0)) 2020-12-09T10:14:08Z nij: But in the end, tmplist maintains its initival value. 2020-12-09T10:14:27Z nij: Yes. '(0 0) is its initial value 2020-12-09T10:14:36Z beach: But you are not allowed to modify literal data. 2020-12-09T10:14:42Z no-defun-allowed: What kind of side effect are you expecting? 2020-12-09T10:14:46Z beach: And you are not allowed to SETQ an undefined variable. 2020-12-09T10:14:59Z nij: I hope at the end it will be (0 0 1 2 3 4 5 6) for example 2020-12-09T10:15:21Z no-defun-allowed: You could write something like https://plaster.tymoon.eu/view/2188#2188 which doesn't require additional variables. 2020-12-09T10:15:40Z nij: beach: I added (defvar tmplist).. same thing happened. 2020-12-09T10:15:54Z no-defun-allowed: What does MAKE-SEQ do? 2020-12-09T10:16:02Z nij: (make-seq 3) => (0 1 2 3) 2020-12-09T10:16:20Z ebrasca quit (Remote host closed the connection) 2020-12-09T10:16:24Z nij: (make-seq 7) => (0 1 2 3 4 5 6 7) 2020-12-09T10:16:28Z no-defun-allowed: I fear that it is a consing way of writing (loop for n below (1- (length spdata))) 2020-12-09T10:16:44Z no-defun-allowed: Hey, if spdata is a sequence, how would (- spdata 2) work in (make-seq (length (- spdata 2)))? 2020-12-09T10:16:50Z nij: yay! 2020-12-09T10:16:54Z nij: spdata is an a arry 2020-12-09T10:17:30Z nij: no-defun-allowed: Yes there are many looping hack but it's the first time I'm using it.. I will come back and fix the style later. 2020-12-09T10:17:44Z nij: Still confused with why tmplist isn't changed.. 2020-12-09T10:17:56Z no-defun-allowed: (There are many many bad styles.. any suggestions on styles would be appreciated to!) 2020-12-09T10:18:16Z nij: I do appreciate. But then I realized I can deal only with one thing T_T 2020-12-09T10:18:21Z spxy[m] quit (Changing host) 2020-12-09T10:18:21Z spxy[m] joined #lisp 2020-12-09T10:18:21Z spxy[m] quit (Changing host) 2020-12-09T10:18:21Z spxy[m] joined #lisp 2020-12-09T10:18:22Z no-defun-allowed: There is no reason to expect nconc to change the value of tmplist at all. 2020-12-09T10:18:25Z no-defun-allowed: clhs nconc 2020-12-09T10:18:25Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_nconc.htm 2020-12-09T10:18:50Z spxy[m] is now known as spxy-m 2020-12-09T10:19:22Z nij: no-defun-allowed: This is exactly where I learned to use nconc. 2020-12-09T10:19:32Z nij: In particular, it reads (nconc x y) => (A B C D E F) 2020-12-09T10:19:32Z nij: x => (A B C D E F) 2020-12-09T10:19:48Z no-defun-allowed: The description does not help my case, but it is usually considered bad style. 2020-12-09T10:19:51Z nij: The value of x /was/ (A B C). But after being nconc-ed, x changes. 2020-12-09T10:20:01Z beach: no-defun-allowed: Isn't NCONC one of the functions with a mandatory side destructive side effect. 2020-12-09T10:20:05Z no-defun-allowed: Note that the other examples of NCONC also SETQ the return value. 2020-12-09T10:20:12Z no-defun-allowed: beach: It is indeed. 2020-12-09T10:20:31Z no-defun-allowed: Maybe I was thinking of SORT. 2020-12-09T10:21:05Z nij: @@ 2020-12-09T10:21:11Z nij: So....... why isn't my tmplist changed? 2020-12-09T10:21:21Z luni left #lisp 2020-12-09T10:22:21Z nij: I loaded (nconc tmplist (list 1 2)) by hand.. and it did change the value of tmplist. 2020-12-09T10:22:39Z no-defun-allowed: I am wondering how you got anything to happen still, as (length (- spdata 2)) could not possibly return a value if SPDATA is an array. 2020-12-09T10:22:46Z urek__ joined #lisp 2020-12-09T10:23:16Z nij: OH dang =_= 2020-12-09T10:23:23Z nij: Maybe that's the reason! I missed it. 2020-12-09T10:23:52Z no-defun-allowed: Was a relevant error not signalled? 2020-12-09T10:24:08Z urek quit (Ping timeout: 258 seconds) 2020-12-09T10:24:29Z nij: It did behave unexpectedly, but I didn't notice any error. 2020-12-09T10:24:38Z mfiano: Then you are not even evaluating it or you are altering the default safety level. 2020-12-09T10:24:40Z nij: Fixed....... now it works =_+ the problem isn't in nconc. 2020-12-09T10:24:56Z no-defun-allowed: Frobbing how? 2020-12-09T10:25:03Z nij: Ok.. so I think I understand nconc correctly. 2020-12-09T10:25:09Z nij: Lemme post the correct code. 2020-12-09T10:25:28Z nij: https://bpa.st/EDOA 2020-12-09T10:26:05Z beach: nij: You are still not allowed to modify literal data. 2020-12-09T10:26:08Z nij: Now I should try to fix the style. As you suggested, no-defun-allowed, I should use "loop.. under" and "collect"? 2020-12-09T10:26:26Z nij: beach: Where did I modify literal data? 2020-12-09T10:26:28Z beach: '(0 0) is literal data and you are modifying it. 2020-12-09T10:26:43Z nij: Why shouldn't I modify '(0 0) 2020-12-09T10:26:45Z mfiano: Yes this is undefined behavior, and bad style all over the place. But undefined behavior could do anything at all. 2020-12-09T10:26:54Z no-defun-allowed: (loop for x below 10 collecting x) ⇒ (0 1 2 3 4 5 6 7 8 9) 2020-12-09T10:27:01Z beach: nij: Because '(0 0) is literal data and you are not allowed to modify literal data. 2020-12-09T10:27:20Z nij: beach: But it did work on my system.. 2020-12-09T10:27:23Z mfiano: '(0 0) is a list literal and the compiler can choose to do anything if you modify it. 2020-12-09T10:27:34Z mfiano: Did work, and will always work is a big difference. Undefined is undefined 2020-12-09T10:27:45Z beach: nij: "Undefined behavior" means that it may work on some implementations and not on others. 2020-12-09T10:27:51Z no-defun-allowed: nij: And on someone else's system, it is allowed to send them nasal demons instead. 2020-12-09T10:28:03Z mfiano: Or it may work on one implementation, and may not work at another time on the same implementation. 2020-12-09T10:28:07Z nij: So I shouldn't even do something like this? : 2020-12-09T10:28:07Z beach: nij: In this case, if you are using SBCL and you stick your code in a function it won't work the second time you run it. 2020-12-09T10:28:07Z nij: (nconc '(0 0) '(1 2)) 2020-12-09T10:28:36Z no-defun-allowed: For the avoidance of doubt, that is not a very nice thing to send someone. 2020-12-09T10:28:50Z nij: I see. I will take it seriously. How should I fix my code? 2020-12-09T10:28:59Z wxie quit (Ping timeout: 265 seconds) 2020-12-09T10:29:19Z nij: .. well I might just look into 'collect and use it. 2020-12-09T10:29:23Z beach: nij: Try (defun ff (x) (nconc '(0) x)) then (ff '(10)) and (ff '(20)) 2020-12-09T10:29:30Z mfiano: Start by forgetting SETQ even exists, and use SETF. Secondly, make proper use of lexical variables. You do not need global state here. 2020-12-09T10:29:41Z no-defun-allowed: You could use (list 0 0) to create a fresh list, or (ideally, in my opinion) use COLLECT in LOOP to create the list. But the latter won't produce the (0 0) prefix. 2020-12-09T10:29:44Z beach: nij: It is important that you understand why that does what it does. 2020-12-09T10:30:14Z nij: no-defun-allowed: You are suggesting I use (list 0 0) instead of '(0 0)? 2020-12-09T10:30:31Z no-defun-allowed: Yes. 2020-12-09T10:31:25Z nij: beach: Oh that did fail. Thanks for the example! 2020-12-09T10:31:29Z no-defun-allowed: Oh, if you don't use COLLECT but you create a list (without cleverly holding a reference to the end of the list somewhere), appending to the end will result in O(n^2) time complexity. 2020-12-09T10:31:50Z nij: no-defun-allowed: I see. 2020-12-09T10:32:23Z nij: mfiano: I used SETQ too much in elisp :( 2020-12-09T10:32:35Z nij: To use SETF I should understand what a place is. 2020-12-09T10:32:44Z nij: But I never succeeded. Will try again. 2020-12-09T10:32:44Z mfiano: Use setf in elisp too so you don't forget that SETQ is a historical artifact 2020-12-09T10:33:06Z no-defun-allowed: (setq x v) does the same thing as (setf x v) 2020-12-09T10:33:07Z nij: mfiano: that's surprising to know cuz SETQ appears so often in elisp 2020-12-09T10:34:47Z nij: So.. lessons learned: 1. Use (list 1 1) instead of '(1 1) if it is to be modified. 2. Use 'collect and "loop .. below". 3. Use 'setf instead of 'setq. 2020-12-09T10:34:59Z nij: Thank you all so much! 2020-12-09T10:37:03Z mfiano: Do not try to draw parallels to other dialects as a beginner. It will not end well. 2020-12-09T10:38:00Z Alfr_: nij, usually (nconc list lists) will modify list and you can skip the setf, but if list is nil, then list will still be nil and nconc's result may differ. 2020-12-09T10:38:57Z nij: I see. 2020-12-09T10:39:09Z nij: Yeah I am tring to forget elisp.. 2020-12-09T10:41:53Z nij` joined #lisp 2020-12-09T10:42:00Z nij quit (Remote host closed the connection) 2020-12-09T10:43:00Z treflip joined #lisp 2020-12-09T10:43:29Z rumbler31 quit (Read error: Connection reset by peer) 2020-12-09T10:44:07Z dim: mfiano: I think we can say this: setf is a macro that uses setq when needed, so any time you write setq, you can write setf and have the exact same effects ; then in some cases you can use setf where setq would not be supported 2020-12-09T10:44:17Z rumbler31 joined #lisp 2020-12-09T10:44:35Z dim: mmm, I guess that was for nij actually? 2020-12-09T10:44:42Z dim: not following closely enough sorry folks 2020-12-09T10:45:58Z nij`: Oh I got logged out :() 2020-12-09T10:46:05Z nij`: Hopefully I didn't miss too much. 2020-12-09T10:46:05Z nij`: 2020-12-09T10:46:22Z nij`: I will have to understand 'setf. 2020-12-09T10:54:40Z Stanley00 quit 2020-12-09T11:00:54Z phoe: nij`: no problem, this channel is logged 2020-12-09T11:00:58Z phoe: so you can see what you missed. 2020-12-09T11:02:04Z easye: "This will go down on your *permanent record*." 2020-12-09T11:03:39Z shinohai: "But muh GDPR!" 2020-12-09T11:06:49Z spal is now known as susam_ 2020-12-09T11:06:56Z susam_ is now known as spal 2020-12-09T11:07:24Z srandon111 quit (Ping timeout: 240 seconds) 2020-12-09T11:10:07Z GZJ0X_ quit (Remote host closed the connection) 2020-12-09T11:10:28Z GZJ0X_ joined #lisp 2020-12-09T11:14:55Z rumbler31 quit (Read error: Connection reset by peer) 2020-12-09T11:15:33Z rumbler31 joined #lisp 2020-12-09T11:17:40Z srandon111 joined #lisp 2020-12-09T11:19:50Z Posterdati quit (Ping timeout: 256 seconds) 2020-12-09T11:21:35Z galex-713 quit (Ping timeout: 272 seconds) 2020-12-09T11:21:39Z surabax joined #lisp 2020-12-09T11:23:18Z galex-713 joined #lisp 2020-12-09T11:28:39Z phoe: yes, GDPR stands for Global Data Permanent Record 2020-12-09T11:29:37Z galex-713 quit (Ping timeout: 264 seconds) 2020-12-09T11:32:24Z galex-713 joined #lisp 2020-12-09T11:32:53Z Posterdati joined #lisp 2020-12-09T11:35:24Z ljavorsk joined #lisp 2020-12-09T11:37:40Z mbomba quit (Quit: WeeChat 3.0) 2020-12-09T11:38:17Z harlchen: whats the easiest way to only get local package warnings/errors on test-op's in (asdf:defsystem '.../tests ... ) instead of redefining of external defgenerics e.g. 'WARNING: redefining LOG4CL-IMPL::PROPERTY-ALIST in DEFGENERIC' and 'cl-fad.asd" contains definition for system "cl-fad-test". Please only define "cl-fad" and secondary systems ....' ? 2020-12-09T11:39:49Z Xach: harlchen: if you find a way, please let me know. i would like something very similar. 2020-12-09T11:40:41Z tfb joined #lisp 2020-12-09T11:44:21Z hydan joined #lisp 2020-12-09T11:46:36Z dmiles quit (Ping timeout: 240 seconds) 2020-12-09T11:46:54Z vegansbane6 quit (Quit: The Lounge - https://thelounge.chat) 2020-12-09T11:50:02Z dmiles joined #lisp 2020-12-09T11:59:58Z urek__ quit (Ping timeout: 258 seconds) 2020-12-09T12:02:25Z orivej joined #lisp 2020-12-09T12:05:28Z jrm quit (Ping timeout: 260 seconds) 2020-12-09T12:11:11Z vegansbane6 joined #lisp 2020-12-09T12:14:07Z GZJ0X_ quit (Read error: Connection reset by peer) 2020-12-09T12:14:27Z GZJ0X_ joined #lisp 2020-12-09T12:18:45Z aartaka quit (Read error: Connection reset by peer) 2020-12-09T12:18:50Z aartaka_d joined #lisp 2020-12-09T12:19:07Z jrm joined #lisp 2020-12-09T12:22:03Z dmc00 quit (Remote host closed the connection) 2020-12-09T12:23:49Z dmc00 joined #lisp 2020-12-09T12:28:44Z oxum joined #lisp 2020-12-09T12:28:55Z oxum quit (Remote host closed the connection) 2020-12-09T12:28:57Z shifty joined #lisp 2020-12-09T12:30:31Z gaqwas joined #lisp 2020-12-09T12:30:31Z gaqwas quit (Changing host) 2020-12-09T12:30:31Z gaqwas joined #lisp 2020-12-09T12:44:14Z charlie770 joined #lisp 2020-12-09T12:46:16Z lotuseater quit (Ping timeout: 240 seconds) 2020-12-09T12:47:57Z cosimone joined #lisp 2020-12-09T12:49:01Z charlie770 quit (Client Quit) 2020-12-09T12:49:10Z cosimone quit (Remote host closed the connection) 2020-12-09T12:51:31Z hendursaga joined #lisp 2020-12-09T12:54:24Z amb007 quit (Read error: Connection reset by peer) 2020-12-09T12:55:13Z amb007 joined #lisp 2020-12-09T12:58:54Z aartaka joined #lisp 2020-12-09T13:00:55Z aartaka_d quit (Ping timeout: 246 seconds) 2020-12-09T13:05:31Z treflip quit (Ping timeout: 258 seconds) 2020-12-09T13:05:59Z treflip joined #lisp 2020-12-09T13:10:25Z narimiran quit (Ping timeout: 264 seconds) 2020-12-09T13:11:47Z narimiran joined #lisp 2020-12-09T13:15:08Z frost-lab quit (Quit: Connection closed) 2020-12-09T13:15:46Z Bike joined #lisp 2020-12-09T13:17:03Z frgo quit (Read error: Connection reset by peer) 2020-12-09T13:17:17Z frgo joined #lisp 2020-12-09T13:27:02Z frgo_ joined #lisp 2020-12-09T13:27:42Z frgo quit (Ping timeout: 260 seconds) 2020-12-09T13:29:01Z orivej quit (Ping timeout: 264 seconds) 2020-12-09T13:30:05Z kaftejiman joined #lisp 2020-12-09T13:31:50Z EvW joined #lisp 2020-12-09T13:32:39Z nij` quit (Remote host closed the connection) 2020-12-09T13:32:41Z nij`` joined #lisp 2020-12-09T13:32:42Z wsinatra joined #lisp 2020-12-09T13:39:08Z GZJ0X_ quit (Remote host closed the connection) 2020-12-09T13:39:29Z GZJ0X_ joined #lisp 2020-12-09T13:41:54Z nij``` joined #lisp 2020-12-09T13:46:03Z pfdietz joined #lisp 2020-12-09T13:46:04Z Necktwi quit (Ping timeout: 240 seconds) 2020-12-09T13:46:09Z nij`` quit (Ping timeout: 258 seconds) 2020-12-09T13:47:54Z Necktwi joined #lisp 2020-12-09T13:50:42Z urek joined #lisp 2020-12-09T13:52:34Z treflip quit (Ping timeout: 260 seconds) 2020-12-09T13:54:23Z treflip joined #lisp 2020-12-09T13:55:22Z toorevitimirp quit (Remote host closed the connection) 2020-12-09T13:55:53Z toorevitimirp joined #lisp 2020-12-09T13:56:17Z urek quit (Ping timeout: 260 seconds) 2020-12-09T13:57:44Z urek joined #lisp 2020-12-09T13:58:19Z srandon111: guys what are your favorite lisp books after PCL ? 2020-12-09T13:59:11Z flip214: "lisp" as in "lisp family" -- sicp with scheme 2020-12-09T13:59:42Z flip214: minion: tell srandon111 about sicp 2020-12-09T13:59:42Z minion: srandon111: look at sicp: The Structure and Interpretation of Computer Programs, a CS textbook using Scheme. Available under the CC-BY-NC Licence at (HTML), (Texinfo), and (PDF). Video lectures are available under the CC-BY-SA licence at 2020-12-09T14:00:34Z srandon111: flip214, i already know sicp, no no i mean lispy lisp :) 2020-12-09T14:00:49Z flip214: "lisp" as in "Common Lisp" - If you have some practice and want to learn about macros, Let Over Lambda 2020-12-09T14:01:01Z srandon111: flip214, why do you prefer common lisp over scheme ? 2020-12-09T14:01:33Z flip214: well, how about land of lisp? 2020-12-09T14:01:42Z flip214: minion: tell srandon111 about LoL 2020-12-09T14:01:42Z minion: srandon111: please look at LoL: Land of Lisp - http://landoflisp.com 2020-12-09T14:02:03Z flip214: srandon111: because it's an engineering language, with lots of libraries 2020-12-09T14:03:26Z phoe: srandon111: Common Lisp Recipes 2020-12-09T14:03:28Z srandon111: flip214, what do you mean by engineering lanaguge? 2020-12-09T14:03:33Z srandon111: flip214, yes land of lisp is cool 2020-12-09T14:03:40Z urek__ joined #lisp 2020-12-09T14:03:57Z flip214: well, scheme is a small, clean language, used to proof CS lemmas 2020-12-09T14:04:12Z flip214: CL is a heavy thing you can solve real-world issues with 2020-12-09T14:04:12Z aeth: Land of Lisp has the unfortunate distinction of being a Lisp book that didn't age well, even a few years after release. e.g. relying on CLISP right around when CLISP died, or mentioning Arc as an up-and-coming Lisp, etc. 2020-12-09T14:04:46Z aeth: really unfortunate timing for a bunch of things 2020-12-09T14:05:27Z flip214: aeth: well, write 1024 books with 10 forecasts, then you'll have 1 real hit 2020-12-09T14:07:08Z GZJ0X_ quit (Remote host closed the connection) 2020-12-09T14:07:25Z urek quit (Ping timeout: 264 seconds) 2020-12-09T14:07:29Z GZJ0X_ joined #lisp 2020-12-09T14:07:51Z wsinatra: Let over Lambda is a good read if you're curious about macros 2020-12-09T14:08:05Z wsinatra: I'll second CLR as well, good suggestion phoe 2020-12-09T14:08:10Z GZJ0X_ quit (Read error: Connection reset by peer) 2020-12-09T14:08:17Z flip214: minion: tell srandon111 about Loλ 2020-12-09T14:08:18Z minion: Loλ: An error was encountered in lookup: #\GREEK_SMALL_LETTER_LAMDA (code 955) is not a LATIN-1 character.. 2020-12-09T14:08:26Z flip214: minion: tell srandon111 about LOL 2020-12-09T14:08:27Z minion: srandon111: look at LOL: Land of Lisp - http://landoflisp.com 2020-12-09T14:08:29Z flip214: minion: tell srandon111 about lol 2020-12-09T14:08:30Z GZJ0X_ joined #lisp 2020-12-09T14:08:44Z flip214: hmmm, how would I address LoΛ? 2020-12-09T14:09:11Z GZJ0X_ quit (Remote host closed the connection) 2020-12-09T14:09:31Z GZJ0X_ joined #lisp 2020-12-09T14:09:46Z waleee-cl joined #lisp 2020-12-09T14:10:08Z GZJ0X_ quit (Read error: Connection reset by peer) 2020-12-09T14:10:31Z GZJ0X_ joined #lisp 2020-12-09T14:10:40Z tfb: flip214: I think ... 2020-12-09T14:10:59Z tfb: minion: tell srandon111 about let over lambda 2020-12-09T14:10:59Z minion: let over lambda: https://www.cliki.net/let%20over%20lambda 2020-12-09T14:11:44Z tfb: which is not really the right URL though 2020-12-09T14:12:11Z GZJ0X_ quit (Remote host closed the connection) 2020-12-09T14:12:32Z GZJ0X_ joined #lisp 2020-12-09T14:14:15Z GZJ0X_ quit (Remote host closed the connection) 2020-12-09T14:16:56Z judson_ joined #lisp 2020-12-09T14:21:11Z cosimone joined #lisp 2020-12-09T14:23:01Z malm quit (Ping timeout: 264 seconds) 2020-12-09T14:23:02Z pfdietz: How is CLISP dead? Not disputing that, but I want to know how that's defined. 2020-12-09T14:23:46Z Fare joined #lisp 2020-12-09T14:23:48Z malm joined #lisp 2020-12-09T14:23:57Z jackdaniel: from my experience on this channel: everything what is not hosted on github and doesn't have at least 3 commits / month is essentially dead, stinks and shouldn't be used by anyone 2020-12-09T14:24:05Z niceplaces quit (Ping timeout: 256 seconds) 2020-12-09T14:24:17Z jackdaniel: (I don't share that opinion) 2020-12-09T14:24:43Z surabax_ joined #lisp 2020-12-09T14:24:43Z niceplace joined #lisp 2020-12-09T14:25:52Z ioa: I thought common lisp projects are mainly hosted on gitlab.common-lisp.net not github :) 2020-12-09T14:26:15Z jackdaniel: what undeniably proves, that lisp is dead ;-) 2020-12-09T14:26:27Z ioa: XD 2020-12-09T14:26:36Z srandon111: minion, how racist is minion by only allowing latin chars and not greek chars??? 2020-12-09T14:26:36Z minion: i agree - how racist is minion by only allowing latin chars and not greek chars 2020-12-09T14:26:39Z ioa: (I disagree with that opinion as well btw ^^ ) 2020-12-09T14:27:19Z srandon111: minion, соме руссиан цхарацтерс фор ыоу 2020-12-09T14:27:19Z minion: соме руссиан цхарацтерс фор ыоу: An error was encountered in lookup: #\CYRILLIC_SMALL_LETTER_ES (code 1089) is not a LATIN-1 character.. 2020-12-09T14:27:25Z srandon111: damn 2020-12-09T14:27:49Z srandon111: it's also racist against russians... 2020-12-09T14:27:56Z srandon111: i wonder if minion is chinese 2020-12-09T14:28:14Z surabax quit (Ping timeout: 265 seconds) 2020-12-09T14:28:46Z srandon111 is now known as sookablyat 2020-12-09T14:29:03Z ioa waiting to see sookablyat's chinese phrase ^^ 2020-12-09T14:29:26Z orivej joined #lisp 2020-12-09T14:29:51Z aeth_ joined #lisp 2020-12-09T14:29:54Z shifty quit (Ping timeout: 256 seconds) 2020-12-09T14:29:57Z sookablyat: 奴才给你一些中文。! minion 2020-12-09T14:30:02Z sookablyat: take this 2020-12-09T14:30:19Z sookablyat: damn minion does not complain about chinese... so he definitely is half latin half chinese... 2020-12-09T14:30:42Z sookablyat: probably a chinese father and a latin mother... coming from romania... yes... this explains his hate for russian 2020-12-09T14:31:28Z aeth_: pfdietz: Technically, CLISP is more undead than dead. Last release 2010-07-07 (more than 10 years ago at this point). It still gets commits, but it's not active enough to push a new release so most people have moved on to other CLs. https://clisp.sourceforge.io/ 2020-12-09T14:31:35Z aeth quit (Disconnected by services) 2020-12-09T14:31:37Z aeth_ is now known as aeth 2020-12-09T14:32:01Z notzmv` joined #lisp 2020-12-09T14:32:06Z sookablyat: aeth, wait we were tralking about common lisp not clisp 2020-12-09T14:32:10Z aeth: jackdaniel: When SBCL is getting releases once-a-month and CLISP is getting releases once-a-decade, I can't help but compare the activity levels between the two. 2020-12-09T14:33:02Z phoe: clisp is not active enough to merge PLNs though 2020-12-09T14:33:16Z phoe: that's a pain because more and more code assumes that PLNs are present 2020-12-09T14:33:26Z sookablyat: minion, tell phoe to slow down 2020-12-09T14:33:26Z minion: phoe: does torturing a poor bot with things beyond its comprehension please you? 2020-12-09T14:33:39Z aeth: Right, CLISP was already behind major implementations on popular optional-but-not-mandated-by-the-standard features (e.g. it doesn't have double-float or single-float specialized arrays) 2020-12-09T14:33:46Z aeth: And it's only going further behind by not having stuff like PLN 2020-12-09T14:33:56Z aeth: More and more code will either not work well or not work on CLISP over time. 2020-12-09T14:34:00Z phoe: sookablyat: wait, how does that work 2020-12-09T14:34:03Z surabax_ is now known as surabax 2020-12-09T14:34:07Z sookablyat: phoe, what? 2020-12-09T14:34:20Z phoe: you told minion to tell me something and minion actually told me something 2020-12-09T14:34:24Z phoe: interesting 2020-12-09T14:34:44Z sookablyat: phoe, well you just use minion tell 2020-12-09T14:35:04Z phoe: minion: tell sookablyat something 2020-12-09T14:35:04Z minion: Sorry, I couldn't find anything in the database for ``thing''. 2020-12-09T14:35:17Z jackdaniel: I'm impressed with sbcl devs performance too; I'm still not sure how it maps on dying. I'm not dead because I don't run as fast as [put some athlet here]. I'm dead because they torture minion. 2020-12-09T14:35:18Z phoe: weird 2020-12-09T14:35:26Z sookablyat: minion, tell phoe how to use you 2020-12-09T14:35:26Z minion: phoe: does torturing a poor bot with things beyond its comprehension please you? 2020-12-09T14:35:33Z phoe hides 2020-12-09T14:35:39Z jackdaniel: sookablyat: please stop generating noise on the channel 2020-12-09T14:35:51Z sookablyat: jackdaniel, i was helping a comrade 2020-12-09T14:35:53Z jackdaniel: (you may query minion) 2020-12-09T14:36:02Z aeth: jackdaniel: If something is a tiny Common Lisp library written in portable CL with no CFFI dependencies, then it's very likely that it'll still run 15-25 years later, perhaps without modification. 2020-12-09T14:36:27Z jackdaniel: still not the part I disagree with 2020-12-09T14:36:45Z aeth: jackdaniel: If something is a Common Lisp implementation and it doesn't push out a release in the past 5 years, it's essentially dead. There are too many things that change over that time period. phoe brought up an excellent example in package-local-nicknames. Lots of libraries depend on those now, and thus can no longer run on CLISP. 2020-12-09T14:37:13Z Nilby: I think ECL has replaced CLisp's main ecological niche, being compiled from relatively portable C. 2020-12-09T14:37:17Z aeth: In a sense, you can have a tiny Common Lisp library run without modifications decades later because all of the burden to avoid bitrot is shifted to the implementations, which must receive updates. 2020-12-09T14:37:43Z jackdaniel: what can I tell, your description only fits what I've said at the beginning (of course not literally) 2020-12-09T14:37:45Z mfiano: I guess CL is dead since it hasn't release a new standard 2020-12-09T14:37:50Z jackdaniel: Nilby: clisp does not compile to portable C 2020-12-09T14:38:09Z ioa: what are PLNs? 2020-12-09T14:38:11Z phoe: but it compiles *from* portable C 2020-12-09T14:38:12Z jackdaniel: it is written in portable C (and ECL is not exactly portable - it could be with some push) 2020-12-09T14:38:14Z phoe: ioa: package-local nicknames 2020-12-09T14:38:17Z ioa: thanks 2020-12-09T14:38:31Z phoe: allowing you to e.g. use a:foo instead of alexandria:foo inside your package, and your package only 2020-12-09T14:38:41Z nij```` joined #lisp 2020-12-09T14:38:58Z phoe: these work similarly global nicknames, except they don't pollute the global namespace and therefore do not generate conflicts. 2020-12-09T14:39:01Z ioa: I know what are package local nicknames 2020-12-09T14:39:05Z phoe: oh! sorry 2020-12-09T14:39:05Z ioa: thanks :) 2020-12-09T14:39:16Z aeth: jackdaniel: Let's review. ... CLISP died ... How is CLISP dead? ... [strawman of what a "dead" project is, not what I meant to say] 2020-12-09T14:39:23Z ioa: I am just bad with shortcuts 2020-12-09T14:39:33Z ioa: s/shortcuts/abbreviations/ 2020-12-09T14:39:35Z Nilby: jackdaniel: the _from_ C is the important thing I think. Compiler output is less likely to be portable. 2020-12-09T14:39:56Z phoe6_ joined #lisp 2020-12-09T14:40:01Z jackdaniel: my snarky remark sense was: people dub things dead based on activity and I find that silly 2020-12-09T14:40:05Z ioa: np :P 2020-12-09T14:41:06Z aeth: jackdaniel: I'm not sure how I can even in good faith address your strawman. But let me. "from my experience on this channel" so you're just lumping my opinion in with a vague channel sentiment. "everything what is not hosted on github" I only use Gitlab. "and doesn't have at least 3 commits / month is essentially dead" how about 1 release in the past 5-10 years? Even 10 would make CLISP dead. 2020-12-09T14:41:18Z aeth: "stinks and shouldn't be used by anyone" I never said no one should use CLISP. 2020-12-09T14:41:47Z treflip quit (Quit: WeeChat 2.6) 2020-12-09T14:41:51Z aeth: "(I don't share that opinion)" I don't, either. You set up a strawman to debunk it. "what undeniably proves, that lisp is dead" and we're talking about CLISP, not CL 2020-12-09T14:41:54Z pfdietz: The niche of compiled from C is important for getting SBCL into Debian, right? 2020-12-09T14:42:20Z jackdaniel: as pointed out above, my remark was snarky - I've spelled out what it meant - I'm getting back to code because I'm not enjoying this discussion 2020-12-09T14:42:57Z nij``` quit (Ping timeout: 260 seconds) 2020-12-09T14:44:15Z aeth: Let me clarify what I meant: Project "death" from lack of releases has nothing to do with lack of activity. It's death from a thousand papercuts. While Common Lisp is a solid foundation and your *.lisp files won't break, Common Lisp implementations will bitrot over time as they lack non-standard features people start assuming (like PLN) and lack platform support that people start wanting (I'm guessing Apple M1 counts there). 2020-12-09T14:46:51Z aeth: The attitude that a project can have no updates in decades and still run only applies to Common Lisp code itself, not code that relies on FFI and not Common Lisp implementation code, and it's precisely because Common Lisp code shifts the burden to remain relevant and alive to the Common Lisp implementations. 2020-12-09T14:48:22Z Nilby: CLisp won't really die for a long time, since it can be basiclly built from a C compiler, it will live on in various distributions. The self-hosted lisps feel like they really need active development to keep a binary running on current versions of a bunch of platforms. 2020-12-09T14:48:22Z pfdietz: And even in Common Lisp code, rot can occur if you have dependencies to other systems. 2020-12-09T14:48:55Z aeth: pfdietz: Right, even if your dependency switches to package local nicknames and not your project, that will break it on CLISP 2020-12-09T14:49:15Z scymtym: or if the code is non-conforming in ways that implementations didn't catch before but now do 2020-12-09T14:50:03Z X-Scale quit (Quit: HydraIRC -> http://www.hydrairc.com <- Wibbly Wobbly IRC) 2020-12-09T14:50:13Z pfdietz: Type declarations in slots in sbcl, for example. 2020-12-09T14:51:10Z pfdietz: Another popular problem source is use of internal sbcl packages. 2020-12-09T14:51:42Z Josh_2 joined #lisp 2020-12-09T14:52:39Z wsinatra: aeth: at least with SBCL they're actively trying to get apple M1 hardware to port SBCL to the platform 2020-12-09T14:52:39Z aeth: pfdietz: There's still no portable equivalent to sb-unicode that does everything sb-unicode does. You could combine together maybe 2-3 libraries that are slower and have a worse API. 2020-12-09T14:52:39Z scymtym: (i'm not trying to point out flaws in aeth's argument, by the way. they said "portable CL") 2020-12-09T14:52:52Z wsinatra: people are very much trying to maintain and expand the implementations 2020-12-09T14:53:05Z cosimone quit (Remote host closed the connection) 2020-12-09T14:53:21Z cosimone joined #lisp 2020-12-09T14:53:47Z _death: my prediction is that 2021 will see a clisp release 2020-12-09T14:54:03Z pfdietz: That would be nice. 2020-12-09T14:54:23Z Nilby: Maybe keeping CLisp frozen in time is a good test for portable CL code. 2020-12-09T14:54:30Z aeth: _death: were we poking you a hundred times or does only "_death" poke you? 2020-12-09T14:55:12Z judson_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-09T14:55:12Z _death: only _death.. though the indicator is merely a color change 2020-12-09T14:56:21Z judson_ joined #lisp 2020-12-09T14:56:24Z aeth: pfdietz: I guess another way to think about things is that a portable Common Lisp project, even if it doesn't get active updates in 10-20 years, will still run... on *current* Lisp implementations. This is because the dependencies of the project can shift, thus making the project only run on current implementations. But it will still run. Unless, as scymtym said, it wasn't truly portable in the first place. 2020-12-09T14:57:39Z aeth: (Of course, FFI can still break this assumption since those foreign dependencies can break.) 2020-12-09T14:58:35Z pfdietz: I think this also puts constraints on other CL systems one depends on, that they not gratuitously change their APIs. For example, don't export new symbols from your packages. This implies that if you want to extend the API of such a system you need to create new packages containing the updates. Versioned packages? 2020-12-09T14:58:50Z toorevitimirp quit (Remote host closed the connection) 2020-12-09T14:59:14Z aeth: pfdietz: Well, generally, the advice to handle that is to not USE, which is why package local nicknames happened in the first place 2020-12-09T14:59:18Z toorevitimirp joined #lisp 2020-12-09T14:59:56Z aeth: Then the only issue is deleting changes, which is why some library ecosystems rely on things like semver (which, technically in CL, would have to be incremented with every new EXPORT as you said). 2020-12-09T15:01:46Z gko_ joined #lisp 2020-12-09T15:02:00Z aeth: ASDF (technically, UIOP) has the mechanisms for this by parsing version strings, but Quicklisp afaik does not. 2020-12-09T15:03:19Z aeth: Afaik, you would need versioned packages to make it work with Quicklisp because Quicklisp wants everything in a dist to be able to be loaded in one image. Either that, or local environments that can have incompatible packages. That would still be messy if you e.g. wanted to depend on two libraries that depended on two versions of uiop 2020-12-09T15:03:55Z dyelar joined #lisp 2020-12-09T15:05:30Z diamondbond quit (Ping timeout: 258 seconds) 2020-12-09T15:05:45Z X-Scale joined #lisp 2020-12-09T15:06:47Z _heisig joined #lisp 2020-12-09T15:07:10Z aeth: pfdietz: Thanks for raising the issue of "If semver is used in Common Lisp, should every new export in a package require a new major version in case someone USEs the package even though they shouldn't do that?" that I don't think anyone has thought about before. 2020-12-09T15:07:49Z aeth: I think versioned packages would be a given if you do this, though. Then the semver major version would be tied to the package, so e.g. foobar.3 would correspond to the interface of 3.x.y 2020-12-09T15:07:56Z diamondbond joined #lisp 2020-12-09T15:09:20Z heisig quit (Ping timeout: 258 seconds) 2020-12-09T15:12:01Z EvW quit (Ping timeout: 258 seconds) 2020-12-09T15:12:33Z jurov joined #lisp 2020-12-09T15:13:25Z scymtym quit (Ping timeout: 264 seconds) 2020-12-09T15:13:47Z zcheng3 joined #lisp 2020-12-09T15:17:01Z nij````` joined #lisp 2020-12-09T15:21:27Z nij```` quit (Ping timeout: 260 seconds) 2020-12-09T15:21:30Z mrchampion joined #lisp 2020-12-09T15:23:40Z jw4 quit (Quit: tot siens) 2020-12-09T15:24:35Z jw4 joined #lisp 2020-12-09T15:27:38Z Fare quit (Ping timeout: 264 seconds) 2020-12-09T15:28:19Z gxt__ quit (Remote host closed the connection) 2020-12-09T15:29:02Z gxt__ joined #lisp 2020-12-09T15:32:45Z nij````` wonders how to master LOOP. 2020-12-09T15:33:04Z phoe: nij`````: that's a lot of backticks 2020-12-09T15:33:13Z phoe: but anyway - just use it, and read the PCL chapter on loop 2020-12-09T15:33:24Z nij`````: I am using erc and it has logged me out too many times.. sorry. I should regain nij. 2020-12-09T15:33:24Z phoe: http://www.gigamonkeys.com/book/loop-for-black-belts.html 2020-12-09T15:33:54Z nij`````: Should one understand its source code at some point? 2020-12-09T15:33:59Z phoe: no 2020-12-09T15:34:06Z nij`````: Or it is really another language embedded in CL.. so don't bother. 2020-12-09T15:34:09Z phoe: LOOP is one really damn complicated thing 2020-12-09T15:34:13Z tfb quit (Remote host closed the connection) 2020-12-09T15:34:22Z phoe: you can read the SICL LOOP sources but the SBCL LOOP is complicated 2020-12-09T15:34:24Z tfb joined #lisp 2020-12-09T15:34:26Z phoe: and complex 2020-12-09T15:34:30Z nij`````: OK. Got it! 2020-12-09T15:34:33Z wsinatra_ joined #lisp 2020-12-09T15:34:35Z nij`````: Yeah I tried and failed. 2020-12-09T15:34:42Z phoe: that's because LOOP is a domain specific language embedded in Common Lisp. 2020-12-09T15:34:53Z nij`````: Ah.. I see. 2020-12-09T15:34:59Z tfb quit (Remote host closed the connection) 2020-12-09T15:35:01Z phoe: a language for iterating 2020-12-09T15:35:06Z phoe: and you were essentially peeking at the compiler for that language. 2020-12-09T15:35:10Z tfb joined #lisp 2020-12-09T15:35:22Z wsinatra quit (Read error: Connection reset by peer) 2020-12-09T15:35:23Z nij`````: I came to lisp with the curiosity of how lisp can beautifully builds it up. 2020-12-09T15:35:34Z phoe: well because it does build it up 2020-12-09T15:35:41Z nij`````: Most other macros seem to be doable. LOOP on the other hand seems to be an anamoly. 2020-12-09T15:35:43Z phoe: but it doesn't mean that the complexity just goes away 2020-12-09T15:35:46Z tfb quit (Remote host closed the connection) 2020-12-09T15:35:47Z skapata quit (Remote host closed the connection) 2020-12-09T15:35:55Z tfb joined #lisp 2020-12-09T15:36:07Z phoe: yes, that's because LOOP has tons of loop keywords inside it and it has to support various combinations and uses and use styles of them 2020-12-09T15:36:20Z phoe: it's really kind of a language of its own. 2020-12-09T15:36:21Z aeth: nij`````: DO is simple if you want to learn iteration 2020-12-09T15:36:27Z nij`````: Right.. 2020-12-09T15:36:32Z tfb quit (Remote host closed the connection) 2020-12-09T15:36:36Z nij`````: aeth: You mean its source code? 2020-12-09T15:36:38Z phoe: yes, DO and DOLIST and DOTIMES have pretty simple expansions 2020-12-09T15:36:41Z tfb joined #lisp 2020-12-09T15:36:48Z phoe: their source code too, I presume 2020-12-09T15:36:53Z nij`````: What are other amazing macros? I hope eventually I can learn all the major examples. 2020-12-09T15:37:03Z aeth: nij`````: In most implementations a DOLIST and a DOTIMES can expand into a DO which can expand into a TAGBODY with GO (i.e. contained gotos) with some SETFs and LETs and stuff 2020-12-09T15:37:15Z nij`````: phoe: Isn't do a keyword inside LOOP? 2020-12-09T15:37:18Z tfb quit (Remote host closed the connection) 2020-12-09T15:37:19Z aeth: LOOP on the other hand leaves room for arbitrarily complex implementations since you can always optimize your LOOP more. 2020-12-09T15:37:28Z tfb joined #lisp 2020-12-09T15:37:29Z scymtym joined #lisp 2020-12-09T15:37:29Z aeth: In fact, I doubt any LOOP is as complicated as it could be, e.g. loop unrolling 2020-12-09T15:37:31Z phoe: nij`````: it is, but we mean the macro CL:DO 2020-12-09T15:37:41Z nij`````: phoe aeth : GOT IT! 2020-12-09T15:37:56Z johnjay quit (Ping timeout: 240 seconds) 2020-12-09T15:38:04Z tfb quit (Remote host closed the connection) 2020-12-09T15:38:04Z phoe: still, these are macros, so reading and writing them might be complicated. try to macroexpand/macrostep them as well to get a feeling of what they expand into. 2020-12-09T15:38:05Z aeth: a LOOP that is known to iterate, say, 4 times could unroll in someone's implementation. Technically, DO could, too, but DO is far more likely just to forever stay that simple contained goto 2020-12-09T15:38:14Z tfb joined #lisp 2020-12-09T15:38:28Z nij`````: But can I say that CL-LOOP is amazing because it first got translated into lisp, and then to machine codes? 2020-12-09T15:38:44Z phoe: not really "translated" 2020-12-09T15:38:46Z nij`````: while in other languages LOOPs are directly translated into lower level codes. 2020-12-09T15:38:50Z tfb quit (Remote host closed the connection) 2020-12-09T15:39:00Z tfb joined #lisp 2020-12-09T15:39:11Z phoe: LOOP is just a big function that grabs a block of Lisp data and produces complex Lisp code that performs iteration 2020-12-09T15:39:25Z nij`````: Beautiful. 2020-12-09T15:39:27Z phoe: and that function is called at compilation-time, or more precisely, at macroexpansion-time 2020-12-09T15:39:29Z nij`````: I'm stunned. 2020-12-09T15:39:36Z tfb quit (Remote host closed the connection) 2020-12-09T15:39:47Z aeth: Common Lisp basically has a programmable compiler 2020-12-09T15:39:48Z phoe: and the result of that function is spliced into the surrounding raw lisp code, and then compiled. 2020-12-09T15:39:54Z aeth: Not just macros, you even have EVAL-WHEN 2020-12-09T15:39:59Z sjl joined #lisp 2020-12-09T15:40:07Z nij`````: aeth: Could you elaborate? 2020-12-09T15:40:08Z aeth: There are a bunch of known stages that can run arbitrary code (and who knows how many unknown stages) 2020-12-09T15:40:09Z tfb joined #lisp 2020-12-09T15:40:22Z nij`````: What's about EVAL-WHEN? 2020-12-09T15:40:25Z aeth: eval-when has some... compile, load, execute: http://www.lispworks.com/documentation/HyperSpec/Body/s_eval_w.htm 2020-12-09T15:40:30Z johnjay joined #lisp 2020-12-09T15:40:49Z aeth: the reader macro #. is used to evaluate at read time, e.g. #.(+ 1 1) 2020-12-09T15:41:05Z aeth: there are probably a few more known stages 2020-12-09T15:41:16Z nij`````: What do you mean by known stages? 2020-12-09T15:41:46Z aeth: The standard specifies some compiler stages because you can run arbitrary code during them. Of course, this doesn't stop compilers from adding their own, which I guess would be more "substages" than stages. 2020-12-09T15:41:53Z phoe: nij`````: stages of working on Lisp code, also known at times 2020-12-09T15:42:42Z phoe: read-time is when code is read; compilation- and macroexpansion-time is when code is compiled and macroexpanded; load-time is when code is loaded; execution-time is when code is executed 2020-12-09T15:43:11Z phoe: there's some other smaller ones, too, but they are only relevant sometimes 2020-12-09T15:43:32Z aeth: outside of EVAL-WHEN + the hyperspec, "execute time" or "execution time" is probably called "run time" or "runtime" 2020-12-09T15:44:29Z nij`````: oh there are so many 2020-12-09T15:44:46Z nij`````: I thought it's only macroexpand + run.. 2020-12-09T15:44:48Z tfb quit (Ping timeout: 260 seconds) 2020-12-09T15:44:58Z phoe: nope, it's more complex 2020-12-09T15:45:01Z nij`````: Will look into it.. 2020-12-09T15:45:06Z aeth: In general, if you can do something at compile time instead of runtime, you probably should, but compilers are probably smart enough to do it automatically most of the time. E.g. In an ancient, non-optimizing Lisp you might do #.(+ 1 2 3) to get 6 (this'll be at read time, not compile time, but it's still doing it in advance) but these days, you shouldn't do that because any decent compiler will turn (+ 1 2 3) into 6 2020-12-09T15:46:34Z nij`````: read -> macroexpand -> compile -> load -> execute? 2020-12-09T15:47:02Z nij`````: run = execute? 2020-12-09T15:47:41Z phoe: nij`````: most of the time, yes, but these can also happen independently of one another 2020-12-09T15:47:50Z phoe: and compile/load can not be there 2020-12-09T15:48:03Z phoe: because if you load precompiled files then the compile-time is null, it was already done 2020-12-09T15:48:25Z nij`````: Or for example when I'm working with repl? 2020-12-09T15:48:31Z phoe: and if you don't load precompiled files and only e.g. call COMPILE on some forms, hmmmm 2020-12-09T15:48:39Z phoe: does this invoke load-time logic? I don't recall 2020-12-09T15:48:49Z wsinatra_ quit (Ping timeout: 258 seconds) 2020-12-09T15:49:08Z phoe: nij`````: it's a bit more involved because usually when you work with the REPL then whatever you type is fed to the compiler and only then executed 2020-12-09T15:49:41Z nij`````: And different cl implementations have different behaviors. Is that correct? Eg. SBCL and ECL might behave differently? 2020-12-09T15:50:12Z phoe: hmmm 2020-12-09T15:50:20Z phoe: I need to re-read this part of the spec 2020-12-09T15:51:01Z phoe: usually the behavior is consistent between implementations 2020-12-09T15:51:39Z nij`````: I see. 2020-12-09T15:52:35Z KREYREEN quit (Remote host closed the connection) 2020-12-09T15:52:57Z KREYREEN joined #lisp 2020-12-09T15:53:14Z phoe: there's a post at https://fare.livejournal.com/146698.html that describes this thing 2020-12-09T15:53:30Z phoe: and in fact standard CL programmers only need one form of eval-when 2020-12-09T15:53:44Z phoe: namely, eval-always, which is (eval-when (:compile-toplevel :load-toplevel :execute) ...) 2020-12-09T15:54:28Z phoe: everything else is either redundant or completely unnecesssary unless you are writing your own programming language that compiles down to Lisp, or unless you are dealing with the implementation. 2020-12-09T15:55:54Z aeth: yes 2020-12-09T15:57:12Z aeth: in general, you see (eval-when (:compile-toplevel :load-toplevel :execute) ...) when you're defining a function that's directly used in DEFMACRO (rather than indirectly used, by being in the resulting expansion) 2020-12-09T15:57:23Z aeth: You can avoid this if you put it into a separate file that's loaded first, though. 2020-12-09T15:57:53Z nij`````: Woah quite involving. 2020-12-09T15:58:00Z nij`````: I will read that later. 2020-12-09T15:58:29Z aeth: It's actually very basic imo. It really makes macro writing very easy. (defmacro foo (a b c) (actually-implement-the-macro a b c)) 2020-12-09T15:58:38Z wsinatra joined #lisp 2020-12-09T15:58:58Z aeth: Then ACTUALLY-IMPLEMENT-THE-MACRO is just an ordinary, unit-testable/REPL-testable function that takes in input and returns some lists as output. 2020-12-09T16:00:00Z aeth: It gets complicated if you want it to return advanced objects because then you probably need a MAKE-LOAD-FORM defined for those objects, but in general you'd just be returning things like `(foo ,a ,b ,c) ; that example is so trivial that it shouldn't be its own function 2020-12-09T16:00:15Z nij`````: Oh! That's how many macros are defined? Using functions.. 2020-12-09T16:00:41Z nij`````: Why wouldn't one use DEFUN in the first place? 2020-12-09T16:00:45Z aeth: In general, a macro is just quoted s-expressions in, quasiquoted s-expressions out. So the more you move into helper functions, the more straightforward it is 2020-12-09T16:00:47Z phoe: nij`````: evaluation rules. 2020-12-09T16:00:56Z phoe: have you ever tried implementing your own IF using a function? 2020-12-09T16:01:07Z nij`````: NO! I should do that. 2020-12-09T16:01:10Z phoe: yes, please try it before going further 2020-12-09T16:01:23Z nij`````: Great exercise. Implement IF as a macro and as a function. 2020-12-09T16:01:26Z nij`````: Thanks :) 2020-12-09T16:01:30Z phoe: in particular, (if ... (print 42) (print 24)) - check what is printed and check what is returned. 2020-12-09T16:01:31Z galex-713 quit (Ping timeout: 272 seconds) 2020-12-09T16:01:38Z phoe: and then figure out why I told you to check those. 2020-12-09T16:01:47Z phoe: just, you know, use the symbol MY-IF instead of IF. 2020-12-09T16:01:51Z nij`````: yep 2020-12-09T16:01:58Z aeth: you can just do this... (%if (lambda () condition) (lambda () if-true-branch) (lambda () if-false-branch)) 2020-12-09T16:02:11Z nij`````: Eyes closed 2020-12-09T16:02:21Z beach: Oh, this is "confuse the newbie" time. 2020-12-09T16:02:21Z aeth: But then you could just make an IF macro that does this: `(%if (lambda () ,condition) (lambda () ,if-true-branch) (lambda () ,if-false-branch)) 2020-12-09T16:02:22Z phoe: aeth: hey cmon don't cheat 2020-12-09T16:02:38Z nij`````: I won't cheat ;) 2020-12-09T16:02:47Z phoe: let nij figure it out 2020-12-09T16:02:49Z aeth: phoe: I mean, higher order functions make macros unnecessary, but they're not particularly clean :-) 2020-12-09T16:03:18Z aeth: phoe: ah, sorry, I missed the context that you want to see if nij````` can do it 2020-12-09T16:03:23Z phoe: yes 2020-12-09T16:03:26Z phoe: that's the whole point :D 2020-12-09T16:03:33Z aeth: I thought it was rhetorical 2020-12-09T16:03:34Z nij`````: (I'd also like to come back to this point too: higher order functions make macros unnecessary.) 2020-12-09T16:03:37Z aeth: like "good luck making IF a function" 2020-12-09T16:03:50Z beach: nij`````: It isn't true. 2020-12-09T16:04:26Z beach: nij`````: Macros are used mainly to introduce new syntax. 2020-12-09T16:04:26Z phoe: "higher order functions make macros unnecessary" 2020-12-09T16:04:28Z aeth: nij`````: You can do almost everything with LAMBDA that you'd want to do with a reasonable macro (delay evaluation), but it's not going to look clean at all. 2020-12-09T16:04:30Z phoe: that's what java programmers say 2020-12-09T16:04:37Z phoe: and see where they are 2020-12-09T16:04:39Z nij`````: LOL 2020-12-09T16:04:40Z aeth: Macros make it look cleaner, and can even expand to the higher order function 2020-12-09T16:05:07Z phoe: they have 100% of their "functions" and 0% of the clean syntax. 2020-12-09T16:05:34Z beach: aeth: OK, so here is a challenge for you. Write a version of LOOP that uses higher-order functions rather than a macro. 2020-12-09T16:05:34Z phoe: as someone who recently reimplemented the condition system in Java I wholeheartedly hate the syntactical hell that is required to get a simple damn handler-case to work there 2020-12-09T16:06:00Z nij`````: phoe: sad 2020-12-09T16:06:10Z nij`````: Why don't people just use lisp.. 2020-12-09T16:06:18Z phoe: yes, that's so sad, alexa play land of lisp music video 2020-12-09T16:07:06Z nij`````: Alexa refuses as it is written in JAVA." 2020-12-09T16:07:25Z aeth: beach: if you let me use dynamic variables (or a hash table!) instead of lexical variables, then it's very doable, but not pretty 2020-12-09T16:07:38Z ck_: I see the backticks have become more plentiful. Are you making progress with your endeavours, nij````` ? 2020-12-09T16:07:41Z phoe: aeth: implement dynavars yourself 2020-12-09T16:08:01Z aeth: ck_: even two `` is a nightmare to remember how , interacts with it 2020-12-09T16:08:10Z aeth: I can't imagine seeing ````` in real code 2020-12-09T16:08:26Z beach: aeth: I think you are missing the point. Macros are used to introduce new syntax. If you are writing something that makes the use "not pretty" you haven't accomplished the task of making the macro unnecessary by using higher-order functions. 2020-12-09T16:09:01Z nij`````: OK I will hide this buffer and focus on writing myfun/if. 2020-12-09T16:09:10Z nij`````: You all are too fun to talk with. 2020-12-09T16:09:13Z nij`````: Bye. 2020-12-09T16:09:16Z aeth: beach: I guess I was unclear. My point is that you can do the same computations with a bunch of LAMBDAs, but the syntax will be uglier. 2020-12-09T16:09:48Z aeth: (It'll also probably be less efficient because the compiler probably isn't expecting code written in this style, but that's an implementation issue.) 2020-12-09T16:09:54Z surabax quit (Ping timeout: 258 seconds) 2020-12-09T16:10:47Z bitmapper joined #lisp 2020-12-09T16:11:06Z aeth: (Well, I suppose some things, perhaps even with a LOOP-equivalent, would have to interpret some things at runtime that could be done at macroexpansion time, too.) 2020-12-09T16:11:24Z beach: aeth: Two things. 1. There is no such thing as "a LAMBDA" 2. You don't even need anonymous functions to accomplish any computation. Common Lisp is Turing complete without anonymous functions. 2020-12-09T16:11:35Z nij`````: I'm back.... Wait! When writing 'myfun/if, am I allowed to use 'if? 2020-12-09T16:11:44Z phoe: yes 2020-12-09T16:11:54Z phoe: it's the external interface that matters 2020-12-09T16:12:10Z nij`````: LOL I thought one can do it without the special form IF. 2020-12-09T16:12:14Z phoe: it's the fact that it is a function instead of a macro 2020-12-09T16:12:16Z nij`````: That would be awesome. 2020-12-09T16:12:28Z beach: nij`````: Make sure you test it like this: (my-if (print "yes") (print "no")) 2020-12-09T16:12:28Z nij`````: OK lemme keep doing it. 2020-12-09T16:12:37Z nij`````: Sure 2020-12-09T16:12:41Z phoe: I mean, you can do that, but then things become a real hassle 2020-12-09T16:12:54Z phoe: because you dig all the way down into lambda calculus 2020-12-09T16:13:00Z phoe: and that's beyond the scope of this exercise 2020-12-09T16:14:18Z aeth: beach: Afaik, #2 is often only true if you write an interpreter, though. 2020-12-09T16:14:50Z beach: Oh, so a language without anonymous functions can't be Turing complete? 2020-12-09T16:14:53Z beach: That's news to me. 2020-12-09T16:15:42Z nij`````: DONE, and TESTED: https://bpa.st/OM6Q 2020-12-09T16:15:50Z nij`````: Did I cheat by using EVAL? 2020-12-09T16:16:15Z phoe: 1) eval is not required there 2020-12-09T16:16:18Z andreyorst` quit (Quit: andreyorst`) 2020-12-09T16:16:21Z phoe: and it will break 2020-12-09T16:16:29Z _death: nij: tested how? 2020-12-09T16:16:34Z phoe: (myfun/if 'foo (print "yes") (print "no")) 2020-12-09T16:17:23Z phoe: the symbol FOO is a true value, because it isn't NIL, so (if 'foo (print "yes") (print "no")) will work correctly 2020-12-09T16:17:26Z phoe: whereas your won't 2020-12-09T16:17:27Z nij`````: OH deer. 2020-12-09T16:17:36Z aeth: beach: Turing equivalents is only about what they're capable of computing. You're still capable of computing the same amount of things, but there's no guarantee as to the *efficiency* of doing so. I can definitely imagine a language without lambdas, higher order functions, macros, etc., where the only way to get equivalent behavior would be to interpret a sequence of commands and that would still be "an equivalent computation". 2020-12-09T16:17:46Z aeth: s/equivalents/equivalence/ 2020-12-09T16:17:53Z beach: aeth: But that is exactly what you said. 2020-12-09T16:18:19Z beach: "My point is that you can do the same computations with a bunch of LAMBDAs, but the syntax will be uglier." 2020-12-09T16:18:29Z dyelar quit (Quit: Leaving.) 2020-12-09T16:19:11Z beach: aeth: And I am saying, you can do the same computation without any "lambdas" whatsoever" 2020-12-09T16:19:33Z aeth: Yes, if you don't have lambdas (or good lambdas, in the case of Python) you can still do named internal functions (in the case of Python) and if you don't have that you still have other hacks you can do, and falling back on that you can just interpret a command language or something. 2020-12-09T16:19:35Z nij`````: Sigh. I don't know how to solve the 'foo problem. 2020-12-09T16:19:45Z phoe: nij`````: why even use eval 2020-12-09T16:20:21Z nij`````: because each argument is a list to be evaluated. 2020-12-09T16:20:26Z phoe: wait what 2020-12-09T16:20:36Z phoe: FOO is not a list 2020-12-09T16:20:40Z aeth: beach: My point, which was apparently poorly described, was that lambdas in higher order functions will give you the same functionality of essentially all macros you see in practice. This doesn't mean that there aren't other, even less elegant, ways of doing it. 2020-12-09T16:20:54Z nij`````: phoe: oh wait I'm wrong. HOld on. 2020-12-09T16:23:07Z nij`````: How about this? https://bpa.st/FBLA 2020-12-09T16:23:09Z beach: aeth: So now we qualify with "essentially all macros you see in practice". That is very different from "higher order functions make macros unnecessary" which is what I was reacting to. 2020-12-09T16:24:21Z aeth: beach: Higher order functions *do* make macros unnecessary, but they probably don't give you the API that you want and in some cases you might have to resort to dynamic instead of lexical variables. The implicit point in my original statement is that macros exist for syntactic sugar. 2020-12-09T16:24:34Z beach: *sigh* I give up. 2020-12-09T16:24:34Z abhixec joined #lisp 2020-12-09T16:24:43Z gaqwas quit (Remote host closed the connection) 2020-12-09T16:24:47Z cl-arthur: you can hammer in nails using a very old piece of dry cake, but using a hammer is pretty preferable. 2020-12-09T16:24:49Z phoe: uh guys you are actually agreeing with one another 2020-12-09T16:24:50Z aeth: Although you could put an asterisk by that and say that maybe sometimes the only straightforward way to maintain lexical scope is with a macro... 2020-12-09T16:24:55Z jackdaniel: a keyboard with 0 and 1 do make programming languages unnecessary, because machines interpret binary code 2020-12-09T16:24:59Z jackdaniel: that is this kind of argument 2020-12-09T16:25:00Z beach: nij`````: And did you test it? 2020-12-09T16:25:04Z nij`````: YES 2020-12-09T16:25:09Z beach: On what? 2020-12-09T16:25:20Z nij`````: O I should have posted. Hang on.. 2020-12-09T16:25:53Z nij`````: https://bpa.st/2T3Q 2020-12-09T16:26:06Z beach: nij`````: You were told to test it on something like (myfun/if (= *print-base* 10) (print "yes") (print "no")) 2020-12-09T16:26:16Z aeth: jackdaniel: A better analogy is probably that you can get by with a keyboard that doesn't have a numpad instead of a full keyboard... It's not going to be as nice in every case, but lots of people do it. 2020-12-09T16:26:34Z beach: nij`````: And what was the result. 2020-12-09T16:26:45Z beach: nij`````: You don't test the code by just typing the test. 2020-12-09T16:26:46Z phoe: nij`````: good! now test on (if t 42 (loop)) 2020-12-09T16:26:53Z beach: nij`````: You have to run it too. 2020-12-09T16:26:57Z aeth: jackdaniel: Or perhaps "compose key" would be a better keyboard analogy because it really is easier just to type é instead of having to insert the character through some GUI and copy and paste. 2020-12-09T16:27:06Z phoe: and test that with your my-if 2020-12-09T16:27:11Z nij`````: beach: I passed that test too.. lemme include it. 2020-12-09T16:27:13Z jackdaniel: OK, so what? if you use the numpad because you type a lot of numbers, it is worse. do you argue, that a programming language without macros like common lisp is possible? 2020-12-09T16:27:16Z jackdaniel: yes, IT IS :-) 2020-12-09T16:27:58Z jackdaniel: is it possible to type a program on a screen keyboard on your phone? YES 2020-12-09T16:28:25Z nij`````: phoe: UH NOOOOO! I'm suck into a infinite loop :( 2020-12-09T16:28:56Z ck_: how could this HAPPEN I'm not good with computer 2020-12-09T16:29:00Z beach: nij`````: And your tests can't have passed. They must have printed both branches, which is not what you expect from IF, now is it? 2020-12-09T16:29:21Z phoe: nij`````: well 2020-12-09T16:29:29Z phoe: the original IF doesn't loop 2020-12-09T16:29:42Z phoe: (cl:if t 42 (loop)) terminates and returns 42 2020-12-09T16:29:56Z aeth: jackdaniel: Not only is it possible that you should use a language without macros (or, even better, use Common Lisp, but restrict yourself from using DEFMACRO)... you actually should do it for a while. This will motivate you to use and appreciate macros in the future. 2020-12-09T16:30:20Z nij`````: beach: OH you're right. I read the output from the minibuffer, thinking I was right. 2020-12-09T16:30:22Z phoe: agreed, I programmed in Java 2020-12-09T16:30:24Z beach: nij`````: Actually, this is too trivial for #lisp, and perhaps even for #clschool. It should be in #basic-programming-language-facts. 2020-12-09T16:30:28Z phoe: I appreciate macros a lot 2020-12-09T16:30:47Z phoe: beach: that's sorta what #clschool is though 2020-12-09T16:30:54Z beach: I guess. 2020-12-09T16:30:55Z phoe: the difference between functions and macros is not trivial 2020-12-09T16:31:03Z beach: Let's take it to #clschool then. 2020-12-09T16:31:04Z phoe: so I wouldn't call it a basic programming language fact 2020-12-09T16:31:26Z jackdaniel: aeth: I don't understand what you said above. I understand words, but not the whole thing. 2020-12-09T16:31:34Z beach: This is the difference between a function and a special operator, and that is indeed basic programming stuff. 2020-12-09T16:32:02Z nij````` quit (Quit: ERC (IRC client for Emacs 27.1)) 2020-12-09T16:32:25Z nij joined #lisp 2020-12-09T16:32:33Z phoe: jackdaniel: I understood it as "if you program in e.g. Java for a long while, then you'll get so tired of its inability to abstract away syntax that you're going to really love it when you go back to e.g. lisp where abstracting away syntax is completely normal" 2020-12-09T16:32:33Z aeth: jackdaniel: The point of saying "macros are, technically speaking, not a necessary feature to get things done in Common Lisp" (which is probably what I should've just said) doesn't mean avoid macros entirely. It means, go ahead, try to avoid macros where macros would make sense. Try it. Then you will see why they're there. 2020-12-09T16:32:53Z aeth: s/macros/defining macros/ 2020-12-09T16:33:09Z hydan quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-09T16:34:31Z jackdaniel: that could be said about many things (i.e calling other functions, or using iteration instead of tagbody); saying that tagbody makes loop unnecessary boils down to saying that you may be a programmer without using physical keyboard 2020-12-09T16:34:36Z gko_ quit (Ping timeout: 240 seconds) 2020-12-09T16:34:49Z jackdaniel: technically correct, but that's the worst kind of correct 2020-12-09T16:35:41Z _death: siri, 10 goto 10 2020-12-09T16:36:01Z phoe: (with-siri () (tagbody 10 (go 10))) 2020-12-09T16:37:54Z ck_: _death: :D 2020-12-09T16:38:13Z ck_: "ok, going to 10! going to 10! going to 10! ..." 2020-12-09T16:38:41Z aeth: jackdaniel: I mean, yes. That's a good idea. Do it. Write one program with only TAGBODY for iteration. Every programmer should do it exactly once. 2020-12-09T16:38:56Z ck_: maybe we should put collective effort into program jmc, the digital assistant 2020-12-09T16:39:11Z phoe: actually for very simple state machines TAGBODY is sorta nice 2020-12-09T16:39:12Z ck_: aeth: *macroexpands a loop form* 2020-12-09T16:39:14Z aeth: It's like how so often in math classes they make you do something the slow way before introducing the shortcut. 2020-12-09T16:40:39Z Codaraxis__ quit (Remote host closed the connection) 2020-12-09T16:41:31Z Codaraxis__ joined #lisp 2020-12-09T16:41:41Z flavio joined #lisp 2020-12-09T16:42:04Z flavio is now known as defunkydrummer 2020-12-09T16:42:37Z aeth: jackdaniel: I think that you think that I think that these programs should be used in production or something. No. They're just exercises. 2020-12-09T16:44:26Z aeth: In fact, exercise 2 after "write a program with only TAGBODY for iteration" should be "now write macros that expand to those tagbodies but don't use preexisting iteration macros" 2020-12-09T16:44:34Z matryoshka quit (Quit: ZNC 1.8.2 - https://znc.in) 2020-12-09T16:44:34Z aeth: I think we're collaboratively writing a Lisp textbook! 2020-12-09T16:44:57Z Codaraxis__ quit (Remote host closed the connection) 2020-12-09T16:44:57Z amb007 quit (Read error: Connection reset by peer) 2020-12-09T16:44:57Z matryoshka joined #lisp 2020-12-09T16:45:18Z amb007 joined #lisp 2020-12-09T16:46:19Z Codaraxis__ joined #lisp 2020-12-09T16:46:19Z amb007 quit (Read error: Connection reset by peer) 2020-12-09T16:48:24Z galex-713 joined #lisp 2020-12-09T16:50:06Z amb007 joined #lisp 2020-12-09T16:50:24Z liberliver quit (Ping timeout: 272 seconds) 2020-12-09T16:51:59Z kagevf quit (Ping timeout: 256 seconds) 2020-12-09T16:53:27Z kagevf joined #lisp 2020-12-09T16:54:12Z rumbler31 quit (Read error: Connection reset by peer) 2020-12-09T16:54:53Z rumbler31 joined #lisp 2020-12-09T16:57:49Z andreyorst joined #lisp 2020-12-09T16:58:48Z Codaraxis__ quit (Remote host closed the connection) 2020-12-09T16:59:19Z Codaraxis__ joined #lisp 2020-12-09T16:59:55Z notzmv` quit (Read error: No route to host) 2020-12-09T17:02:15Z Codaraxis__ quit (Remote host closed the connection) 2020-12-09T17:02:26Z hnOsmium0001 joined #lisp 2020-12-09T17:02:42Z Codaraxis__ joined #lisp 2020-12-09T17:03:43Z Codaraxis__ quit (Remote host closed the connection) 2020-12-09T17:04:12Z Codaraxis__ joined #lisp 2020-12-09T17:06:34Z notzmv joined #lisp 2020-12-09T17:07:40Z Nilby left #lisp 2020-12-09T17:08:14Z hydan joined #lisp 2020-12-09T17:08:36Z Lord_Nightmare quit (Quit: ZNC - http://znc.in) 2020-12-09T17:09:18Z pve: Has anyone ever tried to index the #lisp logs? It could sometimes be pretty neat to be able to search them before asking certain questions. 2020-12-09T17:09:52Z nij: There's log here?! 2020-12-09T17:10:02Z nij: OH great T_T 2020-12-09T17:10:24Z Lord_Nightmare joined #lisp 2020-12-09T17:10:32Z nij: Then I probably shouldn't say as many trash words here as in #emacs.. sorry for my deed. 2020-12-09T17:10:44Z Gnuxie[m]: https://irclog.tymoon.eu/freenode/%23lisp 2020-12-09T17:11:17Z aeth: #lispcafe is where you swear 2020-12-09T17:11:42Z EvW joined #lisp 2020-12-09T17:14:01Z hydan quit (Ping timeout: 264 seconds) 2020-12-09T17:16:48Z Duuqnd joined #lisp 2020-12-09T17:19:21Z nij quit (Quit: ERC (IRC client for Emacs 27.1)) 2020-12-09T17:21:12Z rumbler31 quit (Ping timeout: 258 seconds) 2020-12-09T17:22:07Z flip214: aeth: wait, is this the Tea shop? 2020-12-09T17:23:48Z aeth: no, it only sells Lisps 2020-12-09T17:24:09Z aeth: want to buy a Lisp? https://franz.com/products/allegrocl/ 2020-12-09T17:24:11Z flip214: but at least with a smile, I hope 2020-12-09T17:24:19Z flip214: no thanks, I already have three 2020-12-09T17:26:04Z defunkydrummer: flip214: does any of your three lisps you already have at home, support AllegroCache? 2020-12-09T17:26:18Z defunkydrummer: everybody needs a little AllegroCache to spice up the morning 2020-12-09T17:26:29Z defunkydrummer: perhaps you haven't realized it yet 2020-12-09T17:26:45Z defunkydrummer: oops... this isn-t lispcafe... sorry 2020-12-09T17:27:03Z galex-713 quit (Quit: No Ping reply in 180 seconds.) 2020-12-09T17:28:14Z Cymew quit (Ping timeout: 256 seconds) 2020-12-09T17:28:23Z galex-713 joined #lisp 2020-12-09T17:30:21Z jrm quit (Quit: ciao) 2020-12-09T17:38:02Z aeth quit (Ping timeout: 256 seconds) 2020-12-09T17:39:47Z aeth joined #lisp 2020-12-09T17:44:11Z jrm joined #lisp 2020-12-09T17:54:33Z andreyorst quit (Quit: andreyorst) 2020-12-09T17:54:56Z andreyorst joined #lisp 2020-12-09T18:01:03Z urek joined #lisp 2020-12-09T18:04:23Z urek__ quit (Ping timeout: 272 seconds) 2020-12-09T18:15:24Z Steeve joined #lisp 2020-12-09T18:17:50Z sgibber2018 joined #lisp 2020-12-09T18:18:01Z rgherdt joined #lisp 2020-12-09T18:19:54Z lucasb joined #lisp 2020-12-09T18:23:03Z chrpape quit (Remote host closed the connection) 2020-12-09T18:23:03Z chrpape joined #lisp 2020-12-09T18:28:25Z andreyorst quit (Quit: andreyorst) 2020-12-09T18:28:37Z surabax joined #lisp 2020-12-09T18:28:51Z andreyorst joined #lisp 2020-12-09T18:34:03Z abhixec quit (Quit: Lost terminal) 2020-12-09T18:36:00Z liberliver joined #lisp 2020-12-09T18:38:10Z surabax_ joined #lisp 2020-12-09T18:38:26Z minion quit (Remote host closed the connection) 2020-12-09T18:38:26Z specbot quit (Remote host closed the connection) 2020-12-09T18:38:42Z KREYREEN quit (Remote host closed the connection) 2020-12-09T18:38:46Z specbot joined #lisp 2020-12-09T18:38:56Z Jesin quit (Quit: Leaving) 2020-12-09T18:39:08Z KREYREEN joined #lisp 2020-12-09T18:39:24Z minion joined #lisp 2020-12-09T18:40:02Z liberliver quit (Client Quit) 2020-12-09T18:40:13Z urek__ joined #lisp 2020-12-09T18:40:34Z Jesin joined #lisp 2020-12-09T18:41:33Z surabax quit (Ping timeout: 260 seconds) 2020-12-09T18:43:39Z urek quit (Ping timeout: 272 seconds) 2020-12-09T18:47:33Z surabax_ is now known as surabax 2020-12-09T18:55:58Z rpg joined #lisp 2020-12-09T18:58:38Z toorevitimirp quit (Remote host closed the connection) 2020-12-09T19:00:41Z eden joined #lisp 2020-12-09T19:01:49Z urek joined #lisp 2020-12-09T19:04:33Z urek__ quit (Ping timeout: 272 seconds) 2020-12-09T19:07:02Z urek__ joined #lisp 2020-12-09T19:07:47Z EvW quit (Ping timeout: 260 seconds) 2020-12-09T19:09:37Z urek quit (Ping timeout: 272 seconds) 2020-12-09T19:10:20Z natter joined #lisp 2020-12-09T19:11:36Z andreyorst quit (Ping timeout: 258 seconds) 2020-12-09T19:13:16Z abhixec joined #lisp 2020-12-09T19:13:57Z EvW joined #lisp 2020-12-09T19:17:44Z abhixec quit (Ping timeout: 258 seconds) 2020-12-09T19:19:15Z pbgc joined #lisp 2020-12-09T19:19:48Z aartaka quit (Ping timeout: 256 seconds) 2020-12-09T19:22:12Z Steeve quit (Quit: end) 2020-12-09T19:25:30Z phoe: Xach: turns out he's not really a person of only the Old Ways 2020-12-09T19:26:34Z cosimone quit (Quit: cosimone) 2020-12-09T19:27:38Z lotuseater joined #lisp 2020-12-09T19:28:33Z Jesin quit (Quit: Leaving) 2020-12-09T19:30:37Z Jesin joined #lisp 2020-12-09T19:35:35Z ljavorsk quit (Remote host closed the connection) 2020-12-09T19:36:55Z eden quit (Remote host closed the connection) 2020-12-09T19:39:11Z urek joined #lisp 2020-12-09T19:41:17Z urek__ quit (Ping timeout: 272 seconds) 2020-12-09T19:55:41Z EvW quit (Ping timeout: 258 seconds) 2020-12-09T19:58:43Z Rio6 joined #lisp 2020-12-09T20:02:47Z EvW joined #lisp 2020-12-09T20:03:54Z cosimone joined #lisp 2020-12-09T20:07:47Z Fare joined #lisp 2020-12-09T20:17:18Z phoe6_ quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) 2020-12-09T20:17:56Z orivej quit (Ping timeout: 240 seconds) 2020-12-09T20:20:15Z iskander- quit (Quit: bye) 2020-12-09T20:21:12Z iskander joined #lisp 2020-12-09T20:22:36Z tamarindo joined #lisp 2020-12-09T20:23:39Z nullman quit (Quit: Lost terminal) 2020-12-09T20:24:34Z orivej joined #lisp 2020-12-09T20:25:36Z narimiran quit (Ping timeout: 256 seconds) 2020-12-09T20:27:52Z Jesin quit (Quit: Leaving) 2020-12-09T20:29:42Z oni-on-ion quit (Read error: Connection reset by peer) 2020-12-09T20:31:36Z pbgc quit (Quit: Computer has gone to sleep.) 2020-12-09T20:32:13Z oni-on-ion joined #lisp 2020-12-09T20:32:57Z pfdietz: (reads discussion of LOOP) And then there's ITERATE. 2020-12-09T20:33:22Z Jesin joined #lisp 2020-12-09T20:33:59Z pfdietz: Which I disliked because it did not work with the shortcuts COVER takes. 2020-12-09T20:34:35Z phoe: does it work now? 2020-12-09T20:35:51Z pfdietz: I forked it and modified it (and my fork of COVER) to work together. 2020-12-09T20:36:16Z aeth: iirc, I didn't like ITERATE when I looked into it because the clauses are actually real 2020-12-09T20:36:32Z aeth: it doesn't really work well with the anti-USE modern culture of CL 2020-12-09T20:36:56Z aeth: Using keywords like (foo (:for whatever :in bar) ...) with DESTRUCTURING-BINDs would be much friendlier, except in extending it. 2020-12-09T20:37:15Z lotuseat` joined #lisp 2020-12-09T20:37:35Z aeth: I guess with a one-char package local nickname it would be marginally less annoying to use 2020-12-09T20:38:38Z aeth: That is, it's this part that I don't like: https://gitlab.common-lisp.net/iterate/iterate/-/blob/b6f7a48253c2a28293fbddc377c98f92abdad538/package.lisp#L11 2020-12-09T20:38:40Z pfdietz: https://github.com/pfdietz/iterate/tree/cover 2020-12-09T20:39:09Z aeth: I mean, it really wouldn't be that bad if you even used non-keywords for extensions and keywords for built-ins since you're probably not going to use many extensions, but there are a ton of built-ins. 2020-12-09T20:39:33Z lotuseater quit (Ping timeout: 272 seconds) 2020-12-09T20:39:44Z jw4 quit (Read error: Connection reset by peer) 2020-12-09T20:41:01Z aeth: pfdietz: what's the diff? 2020-12-09T20:41:17Z aeth: oh wait, I see how to do it. https://github.com/pfdietz/iterate/compare/cover 2020-12-09T20:41:26Z aeth: surprisingly, not much 2020-12-09T20:41:31Z jw4 joined #lisp 2020-12-09T20:42:14Z pfdietz: Basically, converting something to a generic function that other systems can extend with new methods. 2020-12-09T20:42:56Z pfdietz: And the extension to COVER: 2020-12-09T20:42:58Z pfdietz: https://github.com/pfdietz/cover/tree/iterate 2020-12-09T20:43:36Z Fare quit (Ping timeout: 258 seconds) 2020-12-09T20:44:29Z nullman joined #lisp 2020-12-09T20:45:16Z pfdietz: I want something where if I load system FOO, and also system BAR, then it automatically loads a system say FOO+BAR needed to make them work together, but that would not make sense if FOO and BAR are not already present. 2020-12-09T20:45:28Z abhixec joined #lisp 2020-12-09T20:46:42Z phoe: kinda sounds like an asdf extension?... I mean, new system class, load-op :around method on that system class that checks if other systems are also loaded and then loads their common dependency 2020-12-09T20:49:58Z aeth: That would be incredibly useful for me, but only if it doesn't have to exist in the same .asd file. That is, loading Airship Scheme + loading FOO could load a compatability layer between the two. Which would happen upon loading the second system if the first has been loaded (either order). 2020-12-09T20:50:47Z phoe: aeth: it wouldn't need to live in the same file 2020-12-09T20:51:04Z phoe: the two would need to have some sort of common system class 2020-12-09T20:51:26Z phoe: and metadata stored in either/both systems that allows the custom load-op to load more stuff. 2020-12-09T20:52:03Z Fare joined #lisp 2020-12-09T20:53:06Z aartaka joined #lisp 2020-12-09T20:53:49Z aeth: phoe: Having one of the two systems have to know about the compatability system with the other is less useful than anyone being able to write a compatability layer, even if it's not officially part of either. There might be some potential for abuse in a wide-open software repository (like Ultralisp?) but not the main Quicklisp dist. 2020-12-09T20:54:14Z Inline joined #lisp 2020-12-09T20:54:36Z aeth: phoe: But I think that the most important part would be that the compatability system can be loaded no matter which order the two systems that need compatability are loaded in. 2020-12-09T20:55:06Z phoe: aeth: I mean loading FOO then BAR should trigger loading FOO+BAR on the last load 2020-12-09T20:55:12Z phoe: I mean when loading BAR 2020-12-09T20:55:27Z phoe: same if I load BAR first and then FOO - this second load also loads FOO+BAR 2020-12-09T20:56:08Z pve: there used to be something called asdf-system-connections that may have done something like this 2020-12-09T20:56:33Z pfdietz: That sounds familiar. 2020-12-09T20:56:50Z phoe: "Note: this system is no longer being maintained. Use Quicklisp!" 2020-12-09T20:56:56Z phoe: wait a second, quicklisp doesn't solve this problem 2020-12-09T20:57:11Z mbomba joined #lisp 2020-12-09T20:57:45Z phoe: but yeah, https://github.com/gwkkwg/asdf-System-Connections 2020-12-09T20:57:49Z aartaka quit (Ping timeout: 264 seconds) 2020-12-09T20:57:53Z phoe: this seems "sorta fresh" 2020-12-09T20:58:09Z Bike: 63/100 on the tomatometer 2020-12-09T20:58:20Z ebrasca joined #lisp 2020-12-09T20:58:43Z hydan joined #lisp 2020-12-09T20:59:26Z hydan is now known as chkhd 2020-12-09T20:59:49Z chkhd is now known as chkhd_ 2020-12-09T21:00:19Z chkhd_ is now known as chkhd 2020-12-09T21:01:58Z vidak` quit (Read error: Connection reset by peer) 2020-12-09T21:12:16Z urek quit (Remote host closed the connection) 2020-12-09T21:12:46Z urek joined #lisp 2020-12-09T21:17:03Z shifty joined #lisp 2020-12-09T21:18:04Z rpg: ASDF system connections is morbid and should not be used 2020-12-09T21:18:33Z phoe: uh oh 2020-12-09T21:19:10Z rpg: Note that you could have the FOO + BAR system definition use CHANGE-CLASS on FOO and or BAR to make them be a kind of system that would know to trigger loading of the compatibility layer 2020-12-09T21:20:22Z rpg: I am in the middle of a system update, BTW, so I will be vanishing in a moment, and will lose any responses over the next 10 minutes or so.... 2020-12-09T21:20:30Z rpg quit (Quit: Textual IRC Client: www.textualapp.com) 2020-12-09T21:21:17Z pfdietz: Now there's an idea. 2020-12-09T21:22:12Z nkatte joined #lisp 2020-12-09T21:27:01Z rpg joined #lisp 2020-12-09T21:27:51Z lotuseat` is now known as lotuseater 2020-12-09T21:28:15Z pbgc joined #lisp 2020-12-09T21:30:45Z scymtym quit (Ping timeout: 258 seconds) 2020-12-09T21:32:10Z Xach: phoe: which old ways? who? 2020-12-09T21:39:12Z jibanes quit (Ping timeout: 272 seconds) 2020-12-09T21:39:34Z abhixec quit (Ping timeout: 258 seconds) 2020-12-09T21:40:14Z EvW quit (Ping timeout: 264 seconds) 2020-12-09T21:42:09Z pve: asdf-system-connections was weird because it always triggered a recompile of something even if all fasls were up-to-date 2020-12-09T21:42:20Z jeosol quit (Remote host closed the connection) 2020-12-09T21:43:04Z mathrick quit (Ping timeout: 240 seconds) 2020-12-09T21:45:19Z orivej quit (Ping timeout: 260 seconds) 2020-12-09T21:47:19Z EvW joined #lisp 2020-12-09T21:48:57Z kaftejiman quit (Remote host closed the connection) 2020-12-09T21:51:21Z orivej joined #lisp 2020-12-09T21:52:04Z wsinatra quit (Ping timeout: 240 seconds) 2020-12-09T21:57:40Z pbgc quit (Quit: Computer has gone to sleep.) 2020-12-09T22:00:34Z renzhi joined #lisp 2020-12-09T22:03:54Z loli quit (Quit: WeeChat 2.9) 2020-12-09T22:04:22Z galex-713 quit (Read error: Connection reset by peer) 2020-12-09T22:04:28Z shka_ quit (Ping timeout: 246 seconds) 2020-12-09T22:07:02Z loli joined #lisp 2020-12-09T22:08:20Z Rio6 left #lisp 2020-12-09T22:09:44Z mathrick joined #lisp 2020-12-09T22:09:47Z Blukunfando quit (Remote host closed the connection) 2020-12-09T22:12:40Z ebrasca: Hi 2020-12-09T22:14:03Z harlchen quit (Quit: WeeChat 2.9) 2020-12-09T22:14:50Z EvW quit (Ping timeout: 258 seconds) 2020-12-09T22:15:09Z dbotton joined #lisp 2020-12-09T22:15:10Z wsinatra joined #lisp 2020-12-09T22:15:35Z galex-713 joined #lisp 2020-12-09T22:17:22Z dbotton quit (Client Quit) 2020-12-09T22:17:58Z renzhi quit (Ping timeout: 260 seconds) 2020-12-09T22:18:48Z jibanes joined #lisp 2020-12-09T22:19:12Z phoe6_ joined #lisp 2020-12-09T22:23:26Z skapata joined #lisp 2020-12-09T22:25:44Z orivej quit (Ping timeout: 240 seconds) 2020-12-09T22:28:40Z EvW joined #lisp 2020-12-09T22:30:31Z amerigo joined #lisp 2020-12-09T22:34:49Z Oladon joined #lisp 2020-12-09T22:36:44Z Duuqnd quit (Ping timeout: 245 seconds) 2020-12-09T22:36:49Z hiroaki joined #lisp 2020-12-09T22:40:49Z scymtym joined #lisp 2020-12-09T22:49:25Z _heisig quit (Ping timeout: 264 seconds) 2020-12-09T22:50:01Z jibanes quit (Ping timeout: 264 seconds) 2020-12-09T22:50:47Z jibanes joined #lisp 2020-12-09T22:52:25Z igemnace quit (Quit: WeeChat 2.9) 2020-12-09T22:54:48Z igemnace joined #lisp 2020-12-09T22:57:01Z orivej joined #lisp 2020-12-09T23:00:38Z jeosol joined #lisp 2020-12-09T23:02:17Z KREYREEN quit (Remote host closed the connection) 2020-12-09T23:02:37Z aeth quit (Ping timeout: 264 seconds) 2020-12-09T23:02:41Z KREYREEN joined #lisp 2020-12-09T23:04:29Z aeth joined #lisp 2020-12-09T23:06:28Z sjl quit (Ping timeout: 256 seconds) 2020-12-09T23:07:41Z galex-713_ joined #lisp 2020-12-09T23:07:45Z galex-713 quit (Ping timeout: 272 seconds) 2020-12-09T23:08:33Z bendersteed joined #lisp 2020-12-09T23:15:36Z tessier quit (Remote host closed the connection) 2020-12-09T23:17:53Z pfdietz quit (Remote host closed the connection) 2020-12-09T23:22:52Z niceplace quit (Ping timeout: 246 seconds) 2020-12-09T23:23:28Z niceplace joined #lisp 2020-12-09T23:26:39Z pve quit (Quit: leaving) 2020-12-09T23:27:09Z galex-713_ quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) 2020-12-09T23:39:10Z defunkydrummer quit (Ping timeout: 258 seconds) 2020-12-09T23:39:56Z random-nick quit (Ping timeout: 258 seconds) 2020-12-09T23:47:40Z matta_ joined #lisp 2020-12-09T23:48:43Z matta_: Anybody available to help me decipher an error I get when compiling some code I found on github: Objects of type FUNCTION can't be dumped into fasl files. 2020-12-09T23:48:55Z matta_: The error occurs expanding a call to the OR-PARSER* macro on https://github.com/kyledewey/cl-parser-combinator-example/blob/master/combinators.lisp 2020-12-09T23:49:14Z rgherdt quit (Ping timeout: 264 seconds) 2020-12-09T23:49:34Z no-defun-allowed: I don't think there should be a comma before #'or-parser (ditto for #'and-parser) 2020-12-09T23:49:56Z jpli joined #lisp 2020-12-09T23:50:32Z no-defun-allowed: Otherwise you would expand to something like (funcall # ...) which isn't easy to dump to a file. 2020-12-09T23:51:29Z galex-713 joined #lisp 2020-12-09T23:52:26Z matta_: no-defun-allowed: Thanks, that fixed the compile, and it makes sense since those weren't args to the macro. I'm not even sure what a leading comma applied to a non-arg within a macro really means! 2020-12-09T23:52:49Z no-defun-allowed: It evaluates as per usual. 2020-12-09T23:53:45Z no-defun-allowed: The rules of evaluation do not change in a macro body; look at what `(funcall ,#'cons a b) evaluates to. 2020-12-09T23:55:42Z tisskenzen joined #lisp 2020-12-09T23:56:22Z matta_: What is the difference between #'CONS and #? I assume #'CONS names the function referenced by the CONS symbol, and # is that function? 2020-12-09T23:56:48Z no-defun-allowed: Yes, one evaluates to the other. 2020-12-09T23:57:33Z matta_: Great, thanks! I appreciate it. 2020-12-09T23:57:41Z no-defun-allowed: I don't think there is a benefit to trying to splice in a function object into a macroexpansion. 2020-12-09T23:57:47Z Inline quit (Ping timeout: 272 seconds) 2020-12-09T23:57:52Z White_Flame: #'CONS expands to (FUNCTION CONS), which is a form (ie a list of 2 symbols). Anything #<...> is an unreadable object being printed, namely the actual function object here 2020-12-09T23:59:02Z White_Flame: what you return from macros should be source code forms 2020-12-09T23:59:47Z tisskenzen left #lisp 2020-12-10T00:00:14Z White_Flame: and the comma is just an escape from the quoting, regardless if it's an arg or not 2020-12-10T00:00:49Z White_Flame: (let ((a 3)) `(1 a ,a)) => (1 A 3) 2020-12-10T00:02:19Z dxtr quit (Remote host closed the connection) 2020-12-10T00:02:22Z matta_: Yep, makes sense. I'm new to common lisp -- all my lisp experience is Emacs Lisp, where I learned only the minimum to get by. I'm not yet at the point where ,#'cons jumps out as probably wrong. 2020-12-10T00:02:52Z White_Flame: no problem. Also there's #clschool which focuses on beginner questions 2020-12-10T00:03:27Z matta_: oh, I'll check that out. 2020-12-10T00:03:52Z White_Flame: helpful if this place is busier, as such questions could get lost here 2020-12-10T00:04:10Z cosimone quit (Ping timeout: 246 seconds) 2020-12-10T00:07:57Z tisskenzen joined #lisp 2020-12-10T00:08:02Z fitzsim joined #lisp 2020-12-10T00:14:17Z jpli quit (Remote host closed the connection) 2020-12-10T00:14:35Z jpli joined #lisp 2020-12-10T00:17:23Z jeosol quit (Remote host closed the connection) 2020-12-10T00:18:12Z tisskenzen left #lisp 2020-12-10T00:21:30Z Oladon quit (Quit: Leaving.) 2020-12-10T00:21:37Z Fare quit (Ping timeout: 260 seconds) 2020-12-10T00:27:50Z bendersteed quit (Remote host closed the connection) 2020-12-10T00:32:50Z wsinatra quit (Quit: WeeChat 3.0) 2020-12-10T00:33:15Z jpli quit (Ping timeout: 272 seconds) 2020-12-10T00:34:23Z scymtym quit (Read error: Connection reset by peer) 2020-12-10T00:34:40Z jpli joined #lisp 2020-12-10T00:34:43Z scymtym joined #lisp 2020-12-10T00:38:35Z shifty quit (Ping timeout: 258 seconds) 2020-12-10T00:39:29Z Fare joined #lisp 2020-12-10T00:40:43Z jpli quit (Quit: No Ping reply in 180 seconds.) 2020-12-10T00:41:50Z jpli joined #lisp 2020-12-10T00:43:00Z cosimone joined #lisp 2020-12-10T00:53:16Z _heisig joined #lisp 2020-12-10T00:59:16Z cosimone quit (Quit: cosimone) 2020-12-10T00:59:20Z amerigo quit (Quit: Connection closed for inactivity) 2020-12-10T01:00:32Z nij joined #lisp 2020-12-10T01:01:16Z nij: Hello! I started writing a little cl script two days ago. It has been fun :D 2020-12-10T01:01:42Z nij: I wouldn't call it a project, but it has evolved to ~150 lines, and started to get messy.. 2020-12-10T01:02:04Z nij: How would you repackage it? Should I make it a full fledge cl package? 2020-12-10T01:02:16Z lucasb quit (Quit: Connection closed for inactivity) 2020-12-10T01:03:15Z rpg quit (Quit: Textual IRC Client: www.textualapp.com) 2020-12-10T01:10:38Z zcheng3 quit (Ping timeout: 260 seconds) 2020-12-10T01:23:32Z wxie joined #lisp 2020-12-10T01:23:54Z Blukunfando joined #lisp 2020-12-10T01:26:39Z jeosol joined #lisp 2020-12-10T01:27:50Z nij quit (Quit: ERC (IRC client for Emacs 27.1)) 2020-12-10T01:31:01Z rumbler31 joined #lisp 2020-12-10T01:39:38Z EvW quit (Ping timeout: 264 seconds) 2020-12-10T01:45:03Z Krystof quit (Ping timeout: 260 seconds) 2020-12-10T01:45:36Z Lord_of_Life joined #lisp 2020-12-10T01:45:42Z Josh_2 quit (Ping timeout: 256 seconds) 2020-12-10T01:47:28Z _heisig quit (Quit: Leaving) 2020-12-10T01:47:58Z Lord_of_Life_ quit (Ping timeout: 258 seconds) 2020-12-10T01:51:48Z orivej quit (Ping timeout: 258 seconds) 2020-12-10T01:59:32Z akoana joined #lisp 2020-12-10T02:02:59Z surabax quit (Quit: Leaving) 2020-12-10T02:07:23Z lotuseater: hm now nij is out, i would've told him about cl-launch 2020-12-10T02:10:59Z tempest_nox joined #lisp 2020-12-10T02:19:09Z judson_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-10T02:20:02Z semz quit (Ping timeout: 260 seconds) 2020-12-10T02:28:19Z judson_ joined #lisp 2020-12-10T02:33:26Z semz joined #lisp 2020-12-10T02:48:26Z ldbeth joined #lisp 2020-12-10T02:48:39Z ldbeth: good morning 2020-12-10T02:52:03Z Stanley00 joined #lisp 2020-12-10T02:57:58Z aeth quit (Ping timeout: 260 seconds) 2020-12-10T02:59:32Z aeth joined #lisp 2020-12-10T02:59:32Z wsinatra joined #lisp 2020-12-10T03:01:08Z wsinatra quit (Client Quit) 2020-12-10T03:02:02Z Oladon joined #lisp 2020-12-10T03:12:51Z mbomba quit (Quit: WeeChat 3.0) 2020-12-10T03:15:15Z ldbeth` joined #lisp 2020-12-10T03:16:39Z rumbler31 quit (Remote host closed the connection) 2020-12-10T03:18:40Z ldbeth quit (Ping timeout: 272 seconds) 2020-12-10T03:19:11Z urek quit (Ping timeout: 272 seconds) 2020-12-10T03:26:12Z aartaka joined #lisp 2020-12-10T03:27:32Z ldbeth`` joined #lisp 2020-12-10T03:28:12Z sookablyat quit (Remote host closed the connection) 2020-12-10T03:30:39Z ldbeth` quit (Ping timeout: 260 seconds) 2020-12-10T03:32:44Z ldbeth`` quit (Ping timeout: 240 seconds) 2020-12-10T03:35:12Z Hexstream joined #lisp 2020-12-10T03:35:19Z Hexstream: Please support the Common Lisp Revival 2020 Fundraiser!!! https://github.com/sponsors/Hexstream (Deadline is 10 december 2020 inclusive!) 2020-12-10T03:35:25Z Hexstream: Also see this hilarious thread: https://github.com/Hexstream/sponsors.hexstreamsoft.com/issues/1 2020-12-10T03:36:33Z oni-on-ion: hi hex. im the dude with the confusing email. sorry for the bother and thx for the response. but i may be continuing with ocaml instead, professionally. cl in sidelines 2020-12-10T03:36:47Z Hexstream: Alright, no problem. 2020-12-10T03:42:44Z mason quit (Quit: leaving) 2020-12-10T03:44:08Z mason joined #lisp 2020-12-10T03:49:11Z ldbeth`` joined #lisp 2020-12-10T03:54:34Z ldbeth`` quit (Ping timeout: 260 seconds) 2020-12-10T03:58:35Z aartaka quit (Read error: Connection reset by peer) 2020-12-10T03:58:40Z aartaka_d joined #lisp 2020-12-10T04:01:53Z no-defun-allowed: Hexstream: can I have money for CLOSOS 2020-12-10T04:02:54Z Bike quit (Quit: leaving) 2020-12-10T04:02:59Z Alfr joined #lisp 2020-12-10T04:04:27Z Alfr_ quit (Ping timeout: 260 seconds) 2020-12-10T04:05:14Z Oladon quit (Quit: Leaving.) 2020-12-10T04:07:17Z Oladon joined #lisp 2020-12-10T04:10:06Z Iolo quit (Quit: ZNC 1.7.5+deb4 - https://znc.in) 2020-12-10T04:11:22Z Fare: Hexstream, I love you, and thanks for reminding me that I'm not the most autistic programmer around. 2020-12-10T04:11:37Z Hexstream: Hahaha! Thank you! 2020-12-10T04:11:52Z Fare: But I fear your mental model of other people and how economics works is even wronger than mine. 2020-12-10T04:12:07Z Hexstream: That may be. 2020-12-10T04:12:40Z Fare: I'm all in in my startup right now, and don't have time (or money) at all for CL (indeed, I jumped ship to Gerbil). 2020-12-10T04:12:51Z Fare: But I hope you're successful. 2020-12-10T04:13:02Z Fare: (Though I suspect it will take a change in attitude) 2020-12-10T04:13:12Z Hexstream: Thank you! What an endorsement!! 2020-12-10T04:14:48Z Hexstream: I'm hoping to help bring the Common Lisp community to a dignified state worthy of your presence. ;) 2020-12-10T04:14:48Z Iolo joined #lisp 2020-12-10T04:14:52Z jeosol: Fare: Hard to catch you here I guess, perhaps time zone 2020-12-10T04:15:05Z jeosol: Fare: the startup is also Gerbil powered? 2020-12-10T04:15:36Z phoe6_ quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) 2020-12-10T04:16:29Z beach: Good morning everyone! 2020-12-10T04:16:39Z Hexstream: Wazzup! Long time no see! 2020-12-10T04:16:46Z lotuseater: good morning beach :) 2020-12-10T04:17:13Z jeosol: Good morning beach 2020-12-10T04:21:57Z shifty joined #lisp 2020-12-10T04:23:06Z Oladon quit (Read error: Connection reset by peer) 2020-12-10T04:23:29Z Hexstream: beach: By the way, there seems to have been a pretty unfortunate misunderstanding. I asked if you wanted to redirect your old CLOS MOP spec version to mine in large part to relieve you of the burden of continuing to maintain your older version, which some (presumably also yourself at the time) may now consider to be obsolete. 2020-12-10T04:24:16Z Oladon joined #lisp 2020-12-10T04:24:59Z Hexstream: Let's just say I have seen some pretty hilarious misinterpretations or misrepresentations of my reasonable offer. 2020-12-10T04:28:36Z wxie quit (Ping timeout: 240 seconds) 2020-12-10T04:30:01Z mbomba joined #lisp 2020-12-10T04:31:39Z chkhd quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-10T04:32:04Z Fare: jeosol, yes, the startup is Gerbil powered... see channel #gerbil-scheme for more discussions, I suppose. 2020-12-10T04:33:17Z beach: Hexstream: I see. Not important anymore. 2020-12-10T04:33:33Z Hexstream: Fare: I would need to see your list of "conditions" for you to return to Common Lisp, sometime. In fact, I would need to see that for everyone who left Common Lisp, basically. 2020-12-10T04:34:18Z Fare: Hexstream, everyone has different conditions. 2020-12-10T04:34:21Z Hexstream: beach: If it's important to you, that's enough for me. I'm not sure it should still be the "default", though. 2020-12-10T04:34:49Z Fare: I suppose that the community being unable and/or unwilling to evolve the base language is a big limitation. 2020-12-10T04:34:58Z Hexstream: Fare: Exactly, I want to help the most important ones globally. 2020-12-10T04:35:04Z aeth: Everyone has different conditions, but there's only one Common Lisp condition system. 2020-12-10T04:35:40Z Fare: CL is great, but a better language would introduce simplifications, with a backward-compatible upgrade path. And that's not going to happen. 2020-12-10T04:36:26Z Fare: The "community" is mainly made of lone wolves. I'm not going to cast stone at the other lone wolves, but that's it. 2020-12-10T04:37:18Z Fare: People with high tolerance for accumulated cruft, low tolerance to the costs of switching, low need for interaction, and often poor skills at interaction. 2020-12-10T04:37:36Z Fare: a lot of superproductive people, but with low synergy. 2020-12-10T04:37:57Z Fare: Nothing that you can help with by yourself, or anyone. 2020-12-10T04:39:12Z Fare: Bringing newbies to cl packages and pathnames and systems and case-converting symbols and high impedance mismatch to the underlying Unix or Windows OS? Why would you do that? 2020-12-10T04:39:28Z Fare: And if there are no newbies, it's the same old wolves. 2020-12-10T04:39:37Z Hexstream: Well, I do have a big first step on my roadmap for enabling us to evolve the language. https://roadmap.hexstreamsoft.com/far/#public-domain-spiritual-successor-to-the-clhs 2020-12-10T04:43:39Z srandon111 joined #lisp 2020-12-10T04:45:31Z fengshaun: is there a library which can parse a datetime string with an alternative timezone? neither local-time nor cl-date-time-parser allow me to specify an alternate timezone when parsing datetime strings 2020-12-10T04:45:40Z fengshaun: they just assume everything is in my local timezone 2020-12-10T04:46:16Z fengshaun: All times I have are in UTC, but it's not specified in the timestring 2020-12-10T04:46:27Z oni-on-ion: i can make a very succinct list. 2020-12-10T04:47:16Z spongiforma joined #lisp 2020-12-10T04:48:10Z edgar-rft: fengshaun: you're probably looking for this -> https://common-lisp.net/project/local-time/ 2020-12-10T04:48:18Z White_Flame: you could append the zone to the timestring before decode? 2020-12-10T04:48:26Z oni-on-ion: but to top the list of Pros: would be the community. i can get help or help others with CL a lot quicker and more often than most other "medium-popular" platforms. which are generally mailing list, web forums, in person in academic setting, or simply overpopulated. 2020-12-10T04:48:42Z scrungyforma joined #lisp 2020-12-10T04:48:56Z fengshaun: edgar-rft, I already have, even manually set *default-timezone* to +utc-zone+ to no avail 2020-12-10T04:49:39Z Gigolosu joined #lisp 2020-12-10T04:49:46Z fengshaun: White_Flame, I guess I could, but then formatting is going to be messed up if someone happens to have appended the timezone 2020-12-10T04:50:04Z White_Flame: yep, was going to mention, but it is fairly obviuos 2020-12-10T04:50:08Z fengshaun: ideally I'd want timezone from the timestring, but if not present, then use the timezone I specify 2020-12-10T04:50:19Z Hexstream: Fare: Frankly, we could make Common Lisp even more powerful with just a few simple changes. This way, each lone wolf could do even more alone. ;P 2020-12-10T04:50:21Z Hexstream: ((foo bar) baz) == (funcall (foo bar) baz) would really rock... 2020-12-10T04:50:23Z scrungyforma quit (Client Quit) 2020-12-10T04:50:27Z Gigolosu quit (Client Quit) 2020-12-10T04:50:59Z no-defun-allowed: Is it really that bothersome to type funcall? 2020-12-10T04:51:10Z oni-on-ion: is this like CL21 ? if its again another lone-wolf project, how can it go anywhere beyond dreamland ? 2020-12-10T04:51:15Z spongiforma quit (Client Quit) 2020-12-10T04:51:22Z fengshaun: I could copy-paste the parse-timestring code into my own project and modify it though 2020-12-10T04:51:33Z spongiforma joined #lisp 2020-12-10T04:51:38Z Hexstream: no-defun-allowed: Actually, yes. Although, much less bothersome than lisp-1. 2020-12-10T04:51:48Z oni-on-ion: CL is a big project by many many groups and individuals and also time. current hardcore common-lispers are maybe around 50 total worldwide ? 2020-12-10T04:52:24Z no-defun-allowed: Well, if there were reasons for adoption other than "cause the 'modern' programming languages do that and we want to look like them", then it may be worthwhile to put such modifications in a CLtL3. 2020-12-10T04:52:32Z no-defun-allowed: Hexstream: I see. 2020-12-10T04:52:43Z Hexstream: Speaking of which, it would be great if we had package-local symbol aliases, so we could import FUNCALL as CALL and stuff. 2020-12-10T04:53:04Z White_Flame: I've seen a number of function call chaining macros 2020-12-10T04:53:10Z Hexstream: As a bonus, it would make reading and printing even slower! 2020-12-10T04:53:26Z waleee-cl quit (Quit: Connection closed for inactivity) 2020-12-10T04:53:31Z White_Flame: Hexstream: that already exists 2020-12-10T04:53:37Z oni-on-ion: Hexstream, http://www.nhplace.com/kent/Papers/Technical-Issues.html 2020-12-10T04:53:40Z White_Flame: oh wait, package aliasing, not symbol, n/m 2020-12-10T04:53:41Z no-defun-allowed: What would the symbol-name of CALL be? 2020-12-10T04:53:53Z Hexstream: FUNCALL? 2020-12-10T04:54:05Z Hexstream: If you use an alias, I mean. 2020-12-10T04:54:14Z narimiran joined #lisp 2020-12-10T04:55:09Z Hexstream: It would be really great to be able to subclass ARRAY, PACKAGE, etc. 2020-12-10T04:55:31Z oni-on-ion: well there was a nice article about Lisp1 v. Lisp2 and all the many reasons for both sides. can't find it now, ironically 2020-12-10T04:55:55Z oni-on-ion: packages should be in a tree 2020-12-10T04:56:51Z no-defun-allowed: I can see why custom packages would be nice (I mostly want weak symbols, to be fair), but custom arrays and numeric types would get screwy with compiler optimisations, unless you start to over-specify types to get fast code, in which case you've kinda gained nothing. 2020-12-10T04:57:02Z oni-on-ion: root package: cl-user, keyword, etc; then symbols value can be package. idk if that is appropriate 2020-12-10T04:57:19Z Fare: Hexstream, but who is the target audience? And if you make changes to the language, what implementations will follow you? 2020-12-10T04:57:20Z Hexstream: I have many ideas for what I call "supercharged lisp-2", which would be like lisp-2 but with most of the advantages of lisp-1. 2020-12-10T04:57:53Z Fare: Especially if it's non-trivial changes. Or even simple changes, but with slightly different options than their legacy code relies on. 2020-12-10T04:58:24Z Fare: Things like first-class continuations? And how they interact with special variables? 2020-12-10T04:58:29Z oni-on-ion: it feels like CL21 but i dont know much about that. but there is an important fact here Hexstream : most of the great Schemes today (of which there are many more than CL implementations) have started as a "Better CL" -- and ended up scheme'd. perhaps start there first or find a meeting point half-way. 2020-12-10T04:58:32Z Fare: Or even just threads and special variables. 2020-12-10T04:58:41Z aartaka joined #lisp 2020-12-10T04:58:46Z no-defun-allowed: Oh, I also want green threads, so that "asynchronous" code doesn't look stupid. 2020-12-10T04:58:56Z Fare: Or even just standardizing the corner cases of the pathname spec 2020-12-10T04:59:09Z mbomba quit (Quit: WeeChat 3.0) 2020-12-10T04:59:10Z Fare: no-defun-allowed, welcome to Gambit. 2020-12-10T04:59:19Z oni-on-ion: or Guile or Chicken =) 2020-12-10T04:59:22Z White_Flame: right, CL isn't a language you can easily tweak at the fundamental feature level. More standard libraries would be nice, but QL is standard enough to allow any user to have the dependencies 2020-12-10T04:59:54Z no-defun-allowed: Fare: I mean, I'll take the rest of Common Lisp, but dammit I want nice socket code. 2020-12-10T04:59:57Z Fare: Or the ability to create symbol "aliases" 2020-12-10T05:00:53Z no-defun-allowed: And given that most of Common Lisp code has assumed synchronous/blocking sockets, it's difficult to use callback-based sockets with that code. Not so much for green threads; you could write blocking code like a normal person, and have an asynchronous backend. 2020-12-10T05:00:56Z Fare: Or to split the compiler from the rest of the system (yet pull it when needed?) (but not needed in surprising ways such as regular CLOS method evaluation) 2020-12-10T05:01:13Z oni-on-ion: so far Guile and Chicken have nearly all i'd want in a Lisp 2020-12-10T05:01:52Z Fare: I admit I didn't shop too much for a Scheme. I wanted Racket, or another Scheme with a good module system. Only Gerbil had it. 2020-12-10T05:01:56Z no-defun-allowed: I find myself using the compiler far too much to dispose of it. 2020-12-10T05:02:02Z oni-on-ion: no-defun-allowed, what we need is a feature to write code in Layers. so instead of (do-thing-1 ..) (do-thing-2 ..) for asynchronicity, they would be on the same line of code. like a Z layer in source files. 2020-12-10T05:02:13Z Fare: no-defun-allowed, I want to be able to deliver lean code. 2020-12-10T05:02:21Z Fare: Gambit allows that, for instance. 2020-12-10T05:02:26Z oni-on-ion: Chicken eggs have made me happy : but its the syntax changes there which are a huge boon for my useage. 2020-12-10T05:02:42Z aartaka_d quit (Ping timeout: 258 seconds) 2020-12-10T05:02:42Z Fare: oni-on-ion, what kind of changes? 2020-12-10T05:02:54Z no-defun-allowed: When/if I make a native compiler for Netfarm, I will consider writing a presentation for the online Lisp meetings about compiling to Common Lisp. 2020-12-10T05:03:09Z White_Flame: oni-on-ion: layers would lead you to Befunge 2020-12-10T05:03:13Z no-defun-allowed: Since I've written approximately two of those (one chip-8 compiler, and one regular expression compiler). 2020-12-10T05:03:32Z no-defun-allowed: oni-on-ion: No, we just need asynchronous code to look like synchronous code, and for them to interoperate. 2020-12-10T05:03:47Z oni-on-ion: Fare, support for both ":keyword" and "keyword:" (coming from smalltalk/obj-c/english) , and also able to mix up any type of parens -- () [] {} <> depending on one's purpose. i am a visual coder, and Common Lisp is a bit too much like reading Prose to be efficient 2020-12-10T05:04:13Z oni-on-ion: no-defun-allowed, dunno. Ocaml and Julia both can do "automatic vectorising" given the data and algorithm are reasonable 2020-12-10T05:04:21Z Fare: Hexstream, I believe the issues with CL are, ultimately, social, and that CL attracts precisely socially inept people (me included) who are incapable of navigating those precise issues. 2020-12-10T05:04:22Z Hexstream: Fare: First, you definitely need your own Common Lisp implementation to lead the changes, and then you specify opt-in switches that can be activated to make certain changes to the language. Legacy code just doesn't activate any switches... 2020-12-10T05:04:43Z oni-on-ion: White_Flame, heh, well with say a shift+mousewheel to zoom in/out. so there is an active layer, and ones below and above. a bit like onion skinning used in animation 2020-12-10T05:04:43Z no-defun-allowed: oni-on-ion: Is that related to hiding the continuation? 2020-12-10T05:05:05Z Fare: Hexstream, so now you're going to reimplement CL, too? 2020-12-10T05:05:07Z no-defun-allowed: {-# LANGUAGE Welcome to GHC #-} 2020-12-10T05:05:32Z thmprover joined #lisp 2020-12-10T05:05:32Z thmprover quit (Client Quit) 2020-12-10T05:06:12Z oni-on-ion: no-defun-allowed, not sure. but in the links i sent forth yesterday on the ocaml multicore work, it says stuff that sounds quite great 2020-12-10T05:07:20Z no-defun-allowed: Fare: I want to modify SICL to use m:n green threads, and I sort of have a plan to do that. But you could get away with modifying only the stuff above HIR to make language changes. 2020-12-10T05:08:05Z Hexstream: Fare: Well, a fork of SBCL would be sufficient, but Common Lisp on Cloudflare Workers (WebAssembly) would just kill everything. https://workers.cloudflare.com/ Even fucking Haskell is on Cloudflare Workers!! 2020-12-10T05:08:19Z oni-on-ion: before that i think CL needs to be able to do multiple images. prolog/erlang naturally do the green threading easily because of this "VM". oh and now there is ocaml for BEAM... 2020-12-10T05:08:33Z no-defun-allowed: No fucking way I'm ever putting anything on CloudFlare. 2020-12-10T05:08:51Z oni-on-ion: sounds like Geocities or MegaUpload 2020-12-10T05:09:43Z lotuseater: oh didn't knew OCaml runs now on BEAM too 2020-12-10T05:10:11Z no-defun-allowed: How do they compile reference cells? 2020-12-10T05:10:39Z oni-on-ion: ocaml is coming up /fast/ -- theres a software foundation now just created, too 2020-12-10T05:10:40Z Hexstream: no-defun-allowed: Why not? I have everything on Cloudflare. 25+ subdomains across 4 main websites. 2020-12-10T05:11:17Z Hexstream: Around 10% of the web is behind Cloudflare... 2020-12-10T05:12:04Z oni-on-ion: lotuseater, https://github.com/AbstractMachinesLab/caramel/ 2020-12-10T05:12:10Z no-defun-allowed: Hexstream: Well, they screw with people using Tor and centralises everything. A friend wrote about that in https://write.pixie.town/thufie/dont-trust-cloudflare 2020-12-10T05:12:24Z no-defun-allowed: But you appear to love centralisation, so that wouldn't convince you of anything. 2020-12-10T05:12:31Z Hexstream: They have native support for Tor these days, I seem to remember. 2020-12-10T05:12:48Z lotuseater: ah nice, thx oni-on-ion :) and i already tried LFE on BEAM too 2020-12-10T05:13:01Z oni-on-ion: lotuseater, cool, same here =) not elixir though, blech 2020-12-10T05:14:26Z jello_pudding quit (Ping timeout: 264 seconds) 2020-12-10T05:14:48Z no-defun-allowed: Furthermore, in its current state, WASM is a huge step back from compiling to machine code, insofaras it is difficult to implement Lisp control flow. (But phoe and ioa at least are trying to change that, so it's not all horrible.) 2020-12-10T05:15:17Z Hexstream: no-defun-allowed: I don't have time to read that, but: https://blog.cloudflare.com/cloudflare-onion-service/ 2020-12-10T05:15:28Z loke[m]: oni-on-ion: I have used Elixir for one project that didn't really go anywhere. It did make me want to use it again though. I just wish I had a project to use it with. My main two projects now is Common Lisp and Kotlin. 2020-12-10T05:16:14Z Hexstream: no-defun-allowed: I do love centralization, in fact I want to move my origin from DigitalOcean to Cloudflare Workers. 2020-12-10T05:16:20Z no-defun-allowed: Disgusting. 2020-12-10T05:16:37Z oni-on-ion: loke[m], cool. for BEAM i did mainly pure Erlang. i rather enjoyed it=) 2020-12-10T05:17:05Z Hexstream: Cloudflare is eating the world! Deal with it. 😎 2020-12-10T05:17:11Z lotuseater: ongoing centralization is programmed death of the web 2020-12-10T05:17:30Z oni-on-ion: meanwhile IRC 2020-12-10T05:17:34Z no-defun-allowed: I will deal with it, and I will deal with it promptly, should my own plans for 2021 transfer into reality. 2020-12-10T05:17:36Z loke[m]: oni-on-ion: I wanted to enjoy Erlang, but it had some rough edges. Also, the Emacs development environment for it had bugs and was unmaintained. Elixir is just more programmer-friendly, and the Emacs integration was nice. 2020-12-10T05:17:46Z jello_pudding joined #lisp 2020-12-10T05:18:03Z oni-on-ion: to be pendantic. are you guys talking about the world wide web? or the actual TCP/IP and IPvX network ? 2020-12-10T05:18:45Z oni-on-ion: loke[m], yep. there are a couple large offerings for erlang+emacs but they seemed to have faltered briefly. afaik today they are fine (distel being one?) 2020-12-10T05:18:55Z oni-on-ion: not sure, don't want to be off topic 2020-12-10T05:19:02Z no-defun-allowed: TCP/IP is pretty good - the Internet was funded cause it was sufficiently fault tolerant (owing in part to decentralisation, and clever abstraction over routing). 2020-12-10T05:19:30Z no-defun-allowed: But I abstract over that just to be sure. 2020-12-10T05:19:37Z loke[m]: oni-on-ion: I see. I haven't investigated Erlang on Emacs for a few years now. I do feel that Elixir only adds to what makes Erlang nice, and there seems to be no drawbacks. 2020-12-10T05:20:00Z oni-on-ion: the "WWW" aspect (interlinked http urls) is a whole other ball game. it is *mainly* an advertising platform. that's it. like a magazine. big sites are like television networks. then it makes more sense. websites suck. 2020-12-10T05:20:18Z yonkunas quit (Quit: Connection closed for inactivity) 2020-12-10T05:20:35Z oni-on-ion: loke[m], for me it is the syntax. i cannot stand begin,begin,begin [do something] end end end end end 2020-12-10T05:20:53Z loke[m]: *no-defun-allowed*: Are you on this channel via Matrix? I can see "...in typing" messages from you :-) 2020-12-10T05:20:54Z oni-on-ion: i can see open and closed brace/paren way more efficiently than reading prose 2020-12-10T05:21:06Z no-defun-allowed: loke: Yes. 2020-12-10T05:21:25Z loke[m]: *no-defun-allowed*: It works remarkably well, don't you think? 2020-12-10T05:21:28Z oni-on-ion: (i am a visual coder and ocaml is hyper-fast to read. like C to me, easy to instantly see a page of code and know what is going on. with CL for eg it has to be "readed" and thats just not my brain) 2020-12-10T05:22:03Z no-defun-allowed: loke: They disabled online/offline status markers on matrix.org because it was too performance-intensive. But I suppose typing notifications work. 2020-12-10T05:22:19Z loke[m]: *no-defun-allowed*: Yeah, I was surprised to see it. 2020-12-10T05:22:38Z oni-on-ion: yuck. so it turns into facebook 2020-12-10T05:22:51Z no-defun-allowed: oni-on-ion: "it turns into Discord" would be more correct. 2020-12-10T05:22:56Z loke[m]: I also like how it maps @-whatever to the typical IRC style with :. 2020-12-10T05:23:17Z loke[m]: *no-defun-allowed*: it means that people on IRC will br griding their teeth when someone from Matrix joins. 2020-12-10T05:23:20Z oni-on-ion: because Discord turned into facebook then ? "Typing... " and also "Seen msg" etc. 2020-12-10T05:23:57Z loke[m]: "will _not_ be grinding their teeth" 2020-12-10T05:24:08Z jrm quit (Quit: ciao) 2020-12-10T05:24:09Z Oladon quit (Quit: Leaving.) 2020-12-10T05:24:12Z no-defun-allowed: Interesting, when you ping me I still have earmuffs on my name. I don't have earmuffs on my IRC nick. 2020-12-10T05:24:37Z loke[m]: I see. That's a discrepancy then. 2020-12-10T05:24:44Z loke[m]: So the integration isn't perfect. 2020-12-10T05:24:57Z oni-on-ion: speaking of, should check email now 2020-12-10T05:24:59Z no-defun-allowed: It's surprisingly good, I only have to hop on irssi when matrix.org goes down. 2020-12-10T05:25:19Z akoana left #lisp 2020-12-10T05:25:26Z loke[m]: However, if you go the #apl channel, you'll see it's linked with the Stackoverflow chat. That integration is absolutely awful. There is a single user on the channel that relays messages from SO and vice versa. 2020-12-10T05:25:28Z wxie joined #lisp 2020-12-10T05:25:39Z lotuseater: so no-defun-allowed you're a parameter 2020-12-10T05:25:49Z loke[m]: no-defun-allowed: Run your own server, that's what I do. :-) 2020-12-10T05:26:12Z no-defun-allowed: I think some of the other bridges have less "hooks" into matrix.org, like they can't fabricate a user for each IRC user. 2020-12-10T05:26:27Z loke[m]: That said, the bridge is probably running on the matrix.org machine, so it probably doesn't matter. 2020-12-10T05:26:49Z no-defun-allowed: loke: I got bored enough of "run your own server" that I wrote a distributed object system, a manual for that object system, and then a nasty comment about it in the manual. 2020-12-10T05:27:15Z loke[m]: I don't run many servers, for the Matrix one is nice. 2020-12-10T05:27:46Z loke[m]: I want to set up my own Peertube and Pixelfed servers though, mainly as part of my project to degooglify myself. 2020-12-10T05:28:53Z oni-on-ion: err so back to erlang. i rather enjoyed its syntax, same with most of prolog. would like to see that on BEAM 2020-12-10T05:29:19Z no-defun-allowed: Nothing really personal, but federation is a bit stupid with one user per server. 2020-12-10T05:29:26Z jello_pudding quit (Ping timeout: 264 seconds) 2020-12-10T05:29:41Z no-defun-allowed: I'd rather have no central point of failure rather than own the central point of failure; the latter is too much work. 2020-12-10T05:29:54Z loke[m]: no-defun-allowed: Well, sure. For more people definitely. 2020-12-10T05:30:50Z no-defun-allowed: Well, the same goes for too many users per server. In my opinion, the sweet spot is 100-1000 users a server, but some people would say 10-100 is more appropriate. 2020-12-10T05:30:53Z loke[m]: *no-defun-allowed*: Sure, but then you have to trust that single point of failure. Right now, for example, my videos are mainly on peertube.mastodon.host, but there are some issues there and I'm not sure I can rely on them staying up. 2020-12-10T05:31:10Z loke[m]: *no-defun-allowed*: Which mastodon server are you on? 2020-12-10T05:31:31Z Hexstream left #lisp 2020-12-10T05:31:36Z no-defun-allowed: I am currently on eldritch.cafe, but I used to be on ponies.im (I still have a Matrix account there). Also, should we take it to #lispcafe? 2020-12-10T05:32:43Z no-defun-allowed: lotuseater: Yes, when you bind *no-defun-allowed\* to a truthy generalised boolean, you cannot DEFUN, as you might expect from the name. 2020-12-10T05:33:25Z no-defun-allowed: Matrix clients hate that name, and so does the IRC bridge; it didn't drop the escape \ to avoid italics. 2020-12-10T05:34:31Z loke[m]: *no-defun-allowed*: are you able to join #lispcafe from Matrix? It required a registered nick. 2020-12-10T05:34:36Z lotuseater: when using the freenode irc client earmuffs get things to bold 2020-12-10T05:34:40Z loke[m]: I'm not sure you can do that via matrix? 2020-12-10T05:35:01Z no-defun-allowed: Yes, you need to talk to talk to NickServ, and/or tell @appservice-irc:matrix.org to remember your password. 2020-12-10T05:35:06Z loke[m]: lotuseater: that's neat, because that's what *the Matrix bridge* also does. 2020-12-10T05:35:13Z loke[m]: Oh wait, it makes it italics. Horrible. 2020-12-10T05:35:25Z no-defun-allowed: Sure you can, the former just requires sending a private message to @freenode_NickServ:matrix.org 2020-12-10T05:36:43Z lotuseater: loke[m]: yes like in org mode, earmuffs for bold and slash for italics 2020-12-10T05:37:10Z no-defun-allowed: Matrix uses Markdown, so one set of earmuffs or underscores is italic, and two sets are bold. Three are both. 2020-12-10T05:37:43Z loke[m]: Horrible. 2020-12-10T05:37:59Z loke[m]: Markdown is an absolutely awful syntax,. 2020-12-10T05:38:01Z loke[m]: * Markdown is an absolutely awful syntax. 2020-12-10T05:38:29Z jrm joined #lisp 2020-12-10T05:38:38Z lotuseater: some may get the idea it's some kind of programming language 2020-12-10T05:39:05Z loke[m]: The real issue is that the format is non-deterministic. 2020-12-10T05:39:19Z loke[m]: I've come to really enjoy asciidoc. 2020-12-10T05:40:43Z terpri quit (Ping timeout: 260 seconds) 2020-12-10T05:41:08Z terpri joined #lisp 2020-12-10T05:42:00Z aartaka_d joined #lisp 2020-12-10T05:43:24Z tessier joined #lisp 2020-12-10T05:43:24Z tessier quit (Changing host) 2020-12-10T05:43:24Z tessier joined #lisp 2020-12-10T05:44:28Z no-defun-allowed: loke: Well, someone's bound to get annoyed if we keep talking about Matrix here. How about budget #lispcafe (#symbolics2:ponies.im) instead? 2020-12-10T05:46:14Z aartaka quit (Ping timeout: 272 seconds) 2020-12-10T05:51:47Z terpri quit (Ping timeout: 260 seconds) 2020-12-10T05:51:58Z zcheng3 joined #lisp 2020-12-10T05:53:36Z oni-on-ion: use YAML instead 2020-12-10T05:55:35Z frost-lab joined #lisp 2020-12-10T05:55:35Z terpri joined #lisp 2020-12-10T05:56:10Z jello_pudding joined #lisp 2020-12-10T05:59:20Z loke[m]: oni-on-ion: YAML for what? (I personally find YAML to be just as horrible as JSON (although, on different grounds). 2020-12-10T06:00:33Z no-defun-allowed: I want nothing to do with data representations. 2020-12-10T06:00:34Z oni-on-ion: instead of markdown. as just mentioned . 2020-12-10T06:11:05Z XachX quit (Read error: Connection reset by peer) 2020-12-10T06:11:40Z drmeister quit (Read error: Connection reset by peer) 2020-12-10T06:11:57Z drmeister joined #lisp 2020-12-10T06:12:00Z XachX joined #lisp 2020-12-10T06:14:10Z gzj joined #lisp 2020-12-10T06:14:56Z aeth quit (Ping timeout: 240 seconds) 2020-12-10T06:16:55Z srandon111: guys what do you think about clojure ? 2020-12-10T06:16:59Z srandon111: pros and cons ? 2020-12-10T06:17:02Z aeth joined #lisp 2020-12-10T06:17:11Z no-defun-allowed: cons: no CONS 2020-12-10T06:17:21Z lotuseater: :D 2020-12-10T06:17:23Z easye: no-defun-allowed: +1 2020-12-10T06:17:28Z no-defun-allowed: pros: gets you hired maybe 2020-12-10T06:17:52Z lotuseater: srandon111: by statistics one of the best paid languages 2020-12-10T06:18:30Z srandon111: no-defun-allowed, and then? what's the disadvantage of not having cons? 2020-12-10T06:18:44Z lotuseater: not CONSequent 2020-12-10T06:18:54Z srandon111: lotuseater, i don't understand 2020-12-10T06:19:07Z judson_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-10T06:19:09Z srandon111: lotuseater, i don't like the fact of having huge startup times 2020-12-10T06:19:10Z srandon111: damn 2020-12-10T06:19:14Z lotuseater: it's kind of a joke 2020-12-10T06:19:36Z no-defun-allowed: srandon111: Well, it was a pun on the name of the CONS cell, which Clojure doesn't really expose. But you also lose out on object-oriented programming, which I think can in fact be made concurrent (eg actors). 2020-12-10T06:19:39Z oni-on-ion: i had fun with clojure, its nice to work with. aside from the java errors/backtrace (which may be different now) and the startup times are abysmal 2020-12-10T06:19:41Z lotuseater: yeah but startup time is mostly once, as for using emacs 2020-12-10T06:20:22Z srandon111: lotuseater, i am into developing cli apps 2020-12-10T06:20:23Z oni-on-ion: ClojureScript was alright too 2020-12-10T06:20:33Z srandon111: and its startup time is making me want to learn common lisp 2020-12-10T06:20:56Z oni-on-ion: CL startup time isnt the greatest either, but much better than Clojure 2020-12-10T06:20:59Z lotuseater: yeah then first learn how everything fits together 2020-12-10T06:21:10Z srandon111: because i like clojure and its ecosystem, but it does not seem friendly for the kind of cli apps i want to make 2020-12-10T06:21:36Z srandon111: for example... i cannot wait 4 seconds to show the help of a ocmmand line app come on guys 2020-12-10T06:21:45Z oni-on-ion: ^ zactly 2020-12-10T06:23:19Z sgibber2018: Is it really that long? Why? 2020-12-10T06:23:39Z no-defun-allowed: I think it has to do with the Java virtual machine, because ABCL also leaves you hanging for a while. 2020-12-10T06:25:28Z sgibber2018: That was my guess, but I wanted to ask just to be sure 2020-12-10T06:25:48Z nkatte quit (Remote host closed the connection) 2020-12-10T06:25:50Z sgibber2018: The only LISP I've ever used is Scheme, if that counts. 2020-12-10T06:26:47Z srandon111: sgibber2018, why it should not count? 2020-12-10T06:26:47Z no-defun-allowed: oni-on-ion: I mean, I can start a SBCL image and start a few threads in 50ms, which is acceptable if you're not running it in a loop. 2020-12-10T06:27:03Z srandon111: schemes downside is the lack of 3rd party stuff and lack of good documentation imho 2020-12-10T06:27:06Z sgibber2018: srandon111: I assume it would, but that's how much of a non-expert I am. 2020-12-10T06:27:37Z sgibber2018: I just found a Scheme textbook at the used book store one day and went through it and loved it. Since then I've been bummed I can't find a use for it. 2020-12-10T06:27:48Z no-defun-allowed: And the other big con is that it's touted as "modern" and the community is a disaster for online discourse. But I digress. 2020-12-10T06:28:32Z scrungyforma joined #lisp 2020-12-10T06:28:39Z lotuseater: there are some good scheme native compilers 2020-12-10T06:29:01Z scrungyforma quit (Client Quit) 2020-12-10T06:29:43Z spongiforma quit (Ping timeout: 258 seconds) 2020-12-10T06:29:50Z srandon111: no-defun-allowed, yes it's true 2020-12-10T06:30:04Z srandon111: there is people who think that guile docs are good 2020-12-10T06:30:11Z srandon111: damn there isn't half of an example in that doc 2020-12-10T06:30:26Z bitmapper quit (Quit: Connection closed for inactivity) 2020-12-10T06:31:08Z sgibber2018: The book I found at the store was by the guy who wrote chez scheme so that's the one I've always used for fiddling around. I have no idea what the relative merits of them are. Except that chicken is supposed to be pretty neat. 2020-12-10T06:31:28Z no-defun-allowed: My favourite co-author and I have a bet that most of the "bags of unlabelled data" stuff would be better served with prototypes, and I can in fact model time quite well with CLOS. To some extent, the result looks, nay, is basically transactional OOP: https://gitlab.com/Theemacsshibe/cl-worlds 2020-12-10T06:34:04Z zcheng3 quit (Ping timeout: 246 seconds) 2020-12-10T06:36:23Z oni-on-ion: eh, on cold boot, SBCL took about 6 seconds but i am on regular HDD and quicklisp might have some stuff going on during load 2020-12-10T06:37:14Z oni-on-ion: average now after its in recent cache, 0.635 second (635 ms?) 2020-12-10T06:41:47Z andreyorst joined #lisp 2020-12-10T06:44:17Z wxie quit (Ping timeout: 258 seconds) 2020-12-10T06:48:44Z curiouscain quit (Ping timeout: 240 seconds) 2020-12-10T06:51:01Z curiouscain joined #lisp 2020-12-10T06:55:44Z no-defun-allowed: Yeah, try (save-lisp-and-die "/tmp/foo" :executable t :toplevel (lambda () (print "Hello world!"))) or something like that. 2020-12-10T06:56:18Z no-defun-allowed: Hey, that's <10ms from a tmpfs. 2020-12-10T06:59:15Z tempest_nox quit (Read error: Connection reset by peer) 2020-12-10T07:01:04Z beach: Does Clojure have an independent standard? 2020-12-10T07:03:29Z beach: As I emphasize in my talks to industry, a project leader who chooses a language without an independent standard should be fired. 2020-12-10T07:03:30Z beach: Unless, of course, that person made a risk analysis that takes into account the possibility of having to rewrite the project code when it turns out that the language that was chosen was abandoned, or was modified in such a radical way that the code no longer works. 2020-12-10T07:04:06Z beach: Or legal costs when the company is sued (by Oracle, maybe?) for using a proprietary language or tool set. 2020-12-10T07:05:13Z no-defun-allowed: I dunno, the former situation is apparently an advantage according to recent #lisp discussion. 2020-12-10T07:05:35Z beach: "former"? 2020-12-10T07:05:44Z beach: Which one is that? 2020-12-10T07:05:50Z flip214: no-defun-allowed: I'm arguing for SBCL images over Java software because the HTTP port is up after <15msec, which is great in a PaaS or SaaS... 2020-12-10T07:06:12Z no-defun-allowed: My apologies: "the possibility of having to rewrite the project code when it turns out that the language [...] was modified in such a radical way that the code no longer works" 2020-12-10T07:06:42Z beach: Hmm. 2020-12-10T07:10:26Z KREYREEN quit (Read error: Connection reset by peer) 2020-12-10T07:10:47Z andreyorst` joined #lisp 2020-12-10T07:10:50Z andreyorst` quit (Remote host closed the connection) 2020-12-10T07:10:52Z KREYREEN joined #lisp 2020-12-10T07:11:15Z andreyorst` joined #lisp 2020-12-10T07:11:16Z andreyorst` quit (Remote host closed the connection) 2020-12-10T07:11:51Z andreyorst` joined #lisp 2020-12-10T07:12:36Z vsync quit (Ping timeout: 265 seconds) 2020-12-10T07:14:01Z mgxm quit (Ping timeout: 264 seconds) 2020-12-10T07:14:07Z vsync joined #lisp 2020-12-10T07:14:31Z Nilby joined #lisp 2020-12-10T07:14:36Z andreyorst quit (Ping timeout: 256 seconds) 2020-12-10T07:17:39Z liberliver joined #lisp 2020-12-10T07:19:05Z loke[m]: *no-defun-allowed*: that sounds like Rust? 2020-12-10T07:20:21Z beach: loke[m]: Why do you give no-defun-allowed earmuffs? 2020-12-10T07:21:25Z loke[m]: beach: becaue n-d-f is using Matrix to connect to IRC, and the Matrix username is no-defun-allowed. The username is mapped to IRC as no-defun-allowed. 2020-12-10T07:22:15Z beach: I'm lost. But I guess it's not important. 2020-12-10T07:22:42Z wxie joined #lisp 2020-12-10T07:24:36Z loke[m]: beach: Matrix is a federated chat software. It can link to IRC quite effectively, and integrates quite well. However, there are some places where incompatibilities shine through. One of those cases is when your Matrix username is not compatible with IRC. n-d-f has asterisks in the Matrix username, which is not allowed in IRC. Since I also use Matrix, I see the asterisks. 2020-12-10T07:24:57Z jprajzne quit (Quit: jprajzne) 2020-12-10T07:24:58Z mbomba joined #lisp 2020-12-10T07:25:24Z jprajzne joined #lisp 2020-12-10T07:27:39Z beach: I see (I think). 2020-12-10T07:29:26Z jprajzne quit (Client Quit) 2020-12-10T07:29:49Z jprajzne joined #lisp 2020-12-10T07:33:37Z phoe: Xach: when I made a GECO repo you mentioned that gpwwjr was a person of the Old Ways 2020-12-10T07:33:59Z phoe: now there's an official git repo from him! 2020-12-10T07:35:50Z mbomba quit (Quit: WeeChat 3.0) 2020-12-10T07:38:03Z dmc00 quit (Remote host closed the connection) 2020-12-10T07:41:01Z shifty quit (Ping timeout: 258 seconds) 2020-12-10T07:41:20Z shifty joined #lisp 2020-12-10T07:42:49Z treflip joined #lisp 2020-12-10T07:46:38Z mgxm joined #lisp 2020-12-10T07:48:44Z Blukunfando quit (Ping timeout: 240 seconds) 2020-12-10T07:54:47Z Cymew joined #lisp 2020-12-10T07:56:03Z ebrasca: Morning! 2020-12-10T07:56:13Z aartaka joined #lisp 2020-12-10T07:57:07Z beach: Hello ebrasca. 2020-12-10T07:57:34Z phoe: hello 2020-12-10T07:58:17Z Duuqnd joined #lisp 2020-12-10T07:59:48Z aartaka_d quit (Ping timeout: 258 seconds) 2020-12-10T08:00:09Z KREYREEN quit (Remote host closed the connection) 2020-12-10T08:01:38Z shka_ joined #lisp 2020-12-10T08:05:24Z zacts joined #lisp 2020-12-10T08:05:37Z zacts quit (Client Quit) 2020-12-10T08:13:02Z mbomba joined #lisp 2020-12-10T08:14:10Z ljavorsk joined #lisp 2020-12-10T08:14:47Z mbomba quit (Client Quit) 2020-12-10T08:16:40Z jibanes quit (Ping timeout: 258 seconds) 2020-12-10T08:18:28Z jibanes joined #lisp 2020-12-10T08:18:58Z Fare quit (Ping timeout: 258 seconds) 2020-12-10T08:19:25Z shifty quit (Ping timeout: 264 seconds) 2020-12-10T08:26:34Z harlchen joined #lisp 2020-12-10T08:30:08Z Fare joined #lisp 2020-12-10T08:38:46Z pve joined #lisp 2020-12-10T08:46:04Z gproto23 joined #lisp 2020-12-10T08:48:49Z susam joined #lisp 2020-12-10T08:51:50Z no-defun-allowed: beach: My Matrix nick has earmuffs, and pinging me copies that instead of the IRC nick. 2020-12-10T08:52:13Z random-nick joined #lisp 2020-12-10T08:52:51Z no-defun-allowed: loke: Well, credit where credit is due, don't they have...three year epochs as "releases"? 2020-12-10T08:53:23Z beach: no-defun-allowed: Got it. 2020-12-10T08:53:54Z no-defun-allowed: It used to be #'no-defun-allowed, but why would that be a function? 2020-12-10T08:54:20Z beach: Yeah, no reason. 2020-12-10T08:54:26Z no-defun-allowed: (A rhetorical question. Earmuffs make some more sense.) 2020-12-10T08:54:52Z gproto23 quit (Quit: Leaving) 2020-12-10T08:59:44Z no-defun-allowed: Also, note that IRC nicks and Matrix nicks are usually not the same (which, from my reading, may be suggested by "mapping to IRC"). Usually they have [m] at the end, which is a story I told before - actually, no, they might be similar. 2020-12-10T09:01:14Z Fare quit (Ping timeout: 264 seconds) 2020-12-10T09:01:37Z no-defun-allowed: And Matrix nicks may also be different between rooms - I have my first name as a nick in some. What happens if I set a different nick for #lisp? 2020-12-10T09:02:18Z no-defun-allowed: Nothing. Maybe there is something else I have to change to change my IRC nick. 2020-12-10T09:03:01Z rdd joined #lisp 2020-12-10T09:03:03Z jonatack quit (Remote host closed the connection) 2020-12-10T09:03:21Z spal: This is my Freenode IRC nick ... 2020-12-10T09:03:23Z susam: ... and this is my Matrix nick (also registered in Freenode) 2020-12-10T09:03:42Z ck_: sounds a little off topic for #lisp 2020-12-10T09:04:06Z no-defun-allowed evacuates the contents of Matrix to newspace^W#lispcafe 2020-12-10T09:04:23Z jonatack joined #lisp 2020-12-10T09:05:03Z susam: On Matrix, you can open a private chat with @appservice-irc:matrix.org and run commands on it (like !nick) to change the Freenode-side nick of your Matrix user. 2020-12-10T09:05:37Z susam: ck_: Offtopic indeed. Sorry for the digression. 2020-12-10T09:05:38Z beach: I agree with ck_. 2020-12-10T09:07:29Z hendursa1 joined #lisp 2020-12-10T09:09:03Z hendursaga quit (Ping timeout: 240 seconds) 2020-12-10T09:10:58Z hnOsmium0001 quit (Quit: Connection closed for inactivity) 2020-12-10T09:11:25Z spxy-m left #lisp 2020-12-10T09:13:19Z Fare joined #lisp 2020-12-10T09:13:33Z spxy-m joined #lisp 2020-12-10T09:13:44Z spxy-m left #lisp 2020-12-10T09:19:27Z Fare quit (Ping timeout: 260 seconds) 2020-12-10T09:21:13Z gigetoo quit (Ping timeout: 264 seconds) 2020-12-10T09:22:52Z gigetoo joined #lisp 2020-12-10T09:24:07Z gzj quit (Remote host closed the connection) 2020-12-10T09:24:28Z gzj joined #lisp 2020-12-10T09:27:19Z rdd quit (Ping timeout: 246 seconds) 2020-12-10T09:32:42Z datajerk quit (Ping timeout: 256 seconds) 2020-12-10T09:32:53Z jpli quit (Remote host closed the connection) 2020-12-10T09:39:56Z aeth quit (Ping timeout: 272 seconds) 2020-12-10T09:40:10Z aeth joined #lisp 2020-12-10T09:40:27Z datajerk joined #lisp 2020-12-10T09:42:05Z Lord_of_Life quit (Changing host) 2020-12-10T09:42:05Z Lord_of_Life joined #lisp 2020-12-10T09:42:17Z waleee-cl joined #lisp 2020-12-10T09:42:34Z pve: beach: Hi, you've mentioned implementing a compiler using the "full language" (or something to that effect). Can I read more about this approach somewhere? 2020-12-10T09:43:29Z beach: pve: Let me check what I have written that might work. Hold on... 2020-12-10T09:44:55Z pve: beach: thanks, there's absolutely no rush 2020-12-10T09:46:15Z beach: I don't see anything that is specifically addressing this point. But if you join #sicl I can explain a bit more. If that way of doing it is convenient for you, of course. 2020-12-10T09:47:22Z pve: certainly 2020-12-10T09:47:26Z beach: There is not much to say about it, in fact. The main thing is to make the code idiomatic and to create a bootstrapping procedure to make it operational. 2020-12-10T09:48:28Z pbgc joined #lisp 2020-12-10T09:52:38Z orivej joined #lisp 2020-12-10T10:03:38Z phoe: @everyone: ELS 2021 is going to be online. I just got a response from Didier. 2020-12-10T10:03:52Z beach: Great! 2020-12-10T10:04:31Z easye: phoe: good. 2020-12-10T10:05:37Z heisig joined #lisp 2020-12-10T10:07:59Z phoe: ...maybe I should not have mailed Didier after all though 2020-12-10T10:08:00Z ljavorsk quit (Ping timeout: 256 seconds) 2020-12-10T10:08:02Z phoe: he asked me a tough question 2020-12-10T10:08:53Z phoe: the question was, given my experience with streaming Lisp stuff, would I like to stream more Lisp stuff 2020-12-10T10:09:09Z flip214: phoe: whether you'll cause fist fights with your presence? 2020-12-10T10:09:23Z flip214: oh, not that tragic then 2020-12-10T10:10:01Z phoe: flip214: not that, but I enjoyed your post in face of the current dynamic context 2020-12-10T10:10:06Z gzj quit (Remote host closed the connection) 2020-12-10T10:10:11Z easye: phoe: I'd be happy help stream ELS2021 2020-12-10T10:10:22Z phoe: easye: go tell Didier then! 2020-12-10T10:10:27Z gzj joined #lisp 2020-12-10T10:11:07Z phoe: I accepted his offer, but I'll surely need a backup in case my computer or connection decide to fail. 2020-12-10T10:11:09Z easye: I DM'd him yesterday on Twitter. Can you /MSG me the email address you are using. 2020-12-10T10:12:49Z phoe: easye: added you to the mail thread instead. 2020-12-10T10:12:52Z easye: Got it. 2020-12-10T10:14:27Z flip214: phoe: glad that I can enlighten your mood! 2020-12-10T10:15:52Z wxie quit (Remote host closed the connection) 2020-12-10T10:16:35Z phoe: Didier: «Thanks again for "volunteering" :D» 2020-12-10T10:16:46Z phoe: yeah, right 2020-12-10T10:17:36Z flip214: phoe: you got volunteered by all of us 2020-12-10T10:17:40Z flip214: by popular vote 2020-12-10T10:17:55Z shifty joined #lisp 2020-12-10T10:17:59Z flip214: and as soon as ELS happens in real world again, you might even get bought a beer or a half 2020-12-10T10:18:10Z flip214: but the current ETA for that is 2038 or so 2020-12-10T10:18:29Z phoe: isn't that when the unix time runs out? 2020-12-10T10:18:32Z phoe: which is kinda, uh 2020-12-10T10:18:33Z iskander- joined #lisp 2020-12-10T10:18:42Z beach: Nah, we will all be vaccinated by the end of 2021. 2020-12-10T10:18:49Z phoe: foreshadowing 2020-12-10T10:18:53Z flip214: only for 32bit values, which are more and more uncommon 2020-12-10T10:19:09Z flip214: even javascript has 53bit for integers defined 2020-12-10T10:19:10Z iskander quit (Ping timeout: 265 seconds) 2020-12-10T10:19:32Z phoe: okay then 2020-12-10T10:20:19Z wxie joined #lisp 2020-12-10T10:27:07Z flip214: and https://news.ycombinator.com/item?id=25310651, of course 2020-12-10T10:28:57Z mbomba joined #lisp 2020-12-10T10:35:48Z ljavorsk joined #lisp 2020-12-10T10:35:54Z urek joined #lisp 2020-12-10T10:37:18Z ljavorsk_ joined #lisp 2020-12-10T10:38:28Z mbomba quit (Quit: WeeChat 3.0) 2020-12-10T10:39:41Z Duuqnd quit (Remote host closed the connection) 2020-12-10T10:40:04Z ljavorsk quit (Ping timeout: 240 seconds) 2020-12-10T10:48:07Z quanta[m] joined #lisp 2020-12-10T10:48:34Z shifty quit (Ping timeout: 256 seconds) 2020-12-10T10:48:53Z shifty joined #lisp 2020-12-10T10:55:15Z skapata quit (Remote host closed the connection) 2020-12-10T10:56:10Z wxie quit (Ping timeout: 256 seconds) 2020-12-10T10:59:21Z urek__ joined #lisp 2020-12-10T11:01:07Z urek quit (Ping timeout: 258 seconds) 2020-12-10T11:10:59Z chkhd joined #lisp 2020-12-10T11:11:46Z tfb joined #lisp 2020-12-10T11:15:42Z sgibber2018 quit (Quit: WeeChat 2.9) 2020-12-10T11:28:15Z arduo joined #lisp 2020-12-10T11:28:42Z Stanley00 quit 2020-12-10T11:29:41Z surabax joined #lisp 2020-12-10T11:29:53Z vegansbane6 quit (Quit: The Lounge - https://thelounge.chat) 2020-12-10T11:33:35Z arduo quit (Remote host closed the connection) 2020-12-10T11:34:40Z arduo joined #lisp 2020-12-10T11:42:43Z amb007 quit (Read error: Connection timed out) 2020-12-10T11:43:19Z galex-713 quit (Ping timeout: 272 seconds) 2020-12-10T11:43:55Z flip214: is there a library that can bidirectionally relay data between two streams resp. sockets? 2020-12-10T11:44:00Z iskander- quit (Read error: Connection reset by peer) 2020-12-10T11:44:36Z amb007 joined #lisp 2020-12-10T11:44:43Z iskander joined #lisp 2020-12-10T11:46:57Z flip214: hmmm, perhaps cl-async 2020-12-10T11:48:07Z phoe: flip214: https://github.com/smithzvk/cl-plumbing connect-streams? 2020-12-10T11:48:26Z flip214: hmm, https://github.com/orthecreedence/cl-async/blob/master/examples/simple-proxy.lisp 2020-12-10T11:48:36Z flip214: phoe: thanks, will look at that as well! 2020-12-10T11:48:40Z iskander- joined #lisp 2020-12-10T11:49:31Z flip214: phoe: though the README sounds to me as if it requires two threads, one for each direction?! 2020-12-10T11:49:46Z iskander quit (Ping timeout: 256 seconds) 2020-12-10T11:51:42Z galex-713 joined #lisp 2020-12-10T11:51:49Z phoe: flip214: I actually don't know more details 2020-12-10T11:52:02Z flip214: might become unwieldy for 20 socket pairs or so... 2020-12-10T11:52:04Z phoe: something for sure needs to monitor the threads and perform the byte-copying 2020-12-10T11:52:24Z phoe: 20 socket pairs could be handled even by a single thread I guess, depending on traffic levels of course 2020-12-10T11:52:29Z phoe: hm 2020-12-10T11:55:58Z rumbler31 joined #lisp 2020-12-10T11:58:14Z vegansbane6 joined #lisp 2020-12-10T12:00:43Z rumbler31 quit (Ping timeout: 260 seconds) 2020-12-10T12:04:30Z shifty quit (Ping timeout: 256 seconds) 2020-12-10T12:05:52Z flip214: yeah, right - data rate isn't the issue 2020-12-10T12:06:40Z flip214: though latency and fairness might be - so I want some epoll or similar stuff, not "read until exhausted, next socket" 2020-12-10T12:09:47Z Lycurgus joined #lisp 2020-12-10T12:12:43Z frost-lab quit (Quit: Connection closed) 2020-12-10T12:22:11Z dmc00 joined #lisp 2020-12-10T12:30:37Z bitmapper joined #lisp 2020-12-10T12:31:52Z thuglifebro joined #lisp 2020-12-10T12:32:53Z thuglifebro left #lisp 2020-12-10T12:37:49Z arduo quit (Remote host closed the connection) 2020-12-10T12:39:42Z phoe: flip214: sounds like something based around wait-for-input then 2020-12-10T12:45:03Z orivej quit (Ping timeout: 260 seconds) 2020-12-10T12:45:22Z orivej joined #lisp 2020-12-10T12:47:45Z EvW joined #lisp 2020-12-10T12:48:24Z saganman quit (Ping timeout: 240 seconds) 2020-12-10T12:52:31Z Bike joined #lisp 2020-12-10T12:53:11Z treflip quit (Remote host closed the connection) 2020-12-10T12:54:50Z pfdietz joined #lisp 2020-12-10T12:57:47Z DGASAU quit (Read error: Connection reset by peer) 2020-12-10T13:05:53Z rumbler31 joined #lisp 2020-12-10T13:10:18Z rumbler31 quit (Ping timeout: 258 seconds) 2020-12-10T13:10:49Z pfdietz quit (Remote host closed the connection) 2020-12-10T13:20:37Z jeosol quit (Remote host closed the connection) 2020-12-10T13:24:36Z Lycurgus quit (Quit: Exeunt) 2020-12-10T13:32:13Z nij joined #lisp 2020-12-10T13:32:59Z nij: Any one using 'cl-ledger'? https://github.com/ledger/cl-ledger 2020-12-10T13:33:34Z cosimone joined #lisp 2020-12-10T13:43:07Z gzj quit (Remote host closed the connection) 2020-12-10T13:43:27Z gzj joined #lisp 2020-12-10T13:43:43Z jeosol joined #lisp 2020-12-10T13:44:08Z gzj quit (Remote host closed the connection) 2020-12-10T13:44:27Z gzj joined #lisp 2020-12-10T13:49:06Z nij quit (Quit: ERC (IRC client for Emacs 27.1)) 2020-12-10T13:51:09Z nij joined #lisp 2020-12-10T13:51:52Z nij: Nvm.. what is an object? According to lispworks doc, an object is any Lisp datum. 2020-12-10T13:52:00Z nij: But it doesn't say what a Lisp datum is. 2020-12-10T13:52:05Z nij: http://www.lispworks.com/documentation/HyperSpec/Body/26_glo_o.htm#object 2020-12-10T13:52:15Z phoe: a datum is singular of data 2020-12-10T13:52:16Z chkhd quit (Ping timeout: 240 seconds) 2020-12-10T13:52:30Z phoe: in yet other words, a value 2020-12-10T13:52:42Z nij: Yes so what are Lisp data, or Lisp values? 2020-12-10T13:52:51Z phoe: in yer yet other words, something that you can operate on, return from functions, pass to functions 2020-12-10T13:52:59Z chkhd joined #lisp 2020-12-10T13:53:16Z beach: Store in a variable. 2020-12-10T13:53:19Z phoe: in yet yet yet other words, a datum can be a number, a string, a list, an array, a symbol, a cons cell, a hash-table, a class, an instance, ..., ... 2020-12-10T13:53:52Z nij: phoe: I get that. Perhaps I really have to look into the source of Lisp to really grab what it is. I won't do that now. 2020-12-10T13:54:18Z beach: nij: There is no "source of Lisp". Only of individual implementations. 2020-12-10T13:54:24Z phoe: ^ 2020-12-10T13:54:34Z nij: Oh yes. should say source of any implementation. 2020-12-10T13:54:34Z Bike: don't overthink it. a datum is just a manipulable thing of some kind. 2020-12-10T13:54:36Z phoe: if anything, you might want to look into the tests of Lisp 2020-12-10T13:54:53Z phoe: to figure out how some operator or data structure should behave. 2020-12-10T13:54:56Z hiroaki quit (Ping timeout: 240 seconds) 2020-12-10T13:55:05Z beach: nij: But the concept of an object/datum is very simple. It is anything that you can pass to a function, return from a function, store as the value of a variable, store in an array, store in a slot. 2020-12-10T13:55:13Z Bike: defining "datum" for lisp is like trying to define the word "object" in normal english. it's like, a thing. 2020-12-10T13:55:25Z phoe: if you like grokking software this way, then you could search in https://gitlab.common-lisp.net/ansi-test/ansi-test for your favorite CL operator and check how it is supposed to work. 2020-12-10T13:55:33Z beach: nij: And you won't find anything by reading the source code of an implementation. 2020-12-10T13:55:37Z phoe: that would be a pretty unique way of using ansi-tests, but I guess whatever floats your boat. 2020-12-10T13:55:46Z nij: What are primitive types of data, eg in sbcl? 2020-12-10T13:56:32Z nij: Eg I think in C characters are modeled by integers. In this case I'd say integers are primitive, but characters are not. 2020-12-10T13:56:57Z nij: Similary by using 'defstruct, we can make many kinds of objects, out of the old ones. 2020-12-10T13:57:16Z phoe: nij: https://sellout.github.io/media/CL-type-hierarchy.png 2020-12-10T13:57:18Z nij: But there must be some of them that couldn't be implemented within lisp. 2020-12-10T13:57:42Z nij: OH THIS! ^^^^^^^^^^^^^ 2020-12-10T13:57:47Z phoe: good 2020-12-10T13:57:47Z Bike: what is the purpose of this definition? 2020-12-10T13:57:55Z Bike: of "primitive"? 2020-12-10T13:58:03Z nij: Bike: just curious 2020-12-10T13:58:27Z Bike: i mean, it depends, doesn't it? on a modern computer basically everything is going to be encoded as a small integer or series of small integers 2020-12-10T13:58:41Z Bike: that doesn't exactly help you with language semantics 2020-12-10T13:58:49Z nij: 0 and 1 2020-12-10T13:59:12Z nij: No it won't help indeed. 2020-12-10T13:59:17Z Bike: right, but this is like learning how to cook and starting by asking what quarks things are made out of 2020-12-10T13:59:32Z nij: I'm just curious what's happening at the bridging layer between lisp and one step below. 2020-12-10T14:00:08Z nij: Bike: I did that and became a researcher xD 2020-12-10T14:00:28Z nij: Academic people like me are doomed to procrastinate for stupid reasons :'( 2020-12-10T14:00:38Z Bike: it's not like chemistry isn't relevant to cooking, but if you're at the point of not knowing how to boil water it's not going to do you much good, you know what i mean? 2020-12-10T14:00:39Z nij: But I do like the graph phoe posted 2020-12-10T14:00:53Z nij: Bike: yeah I get you 2020-12-10T14:01:21Z Bike: phoe's graph has nothing whatsoever to do with the "bridging layer" you mentioned. it's just the language semantics. 2020-12-10T14:01:54Z nij: Uh.. at the top of each connected components.. aren't they the primitive types? 2020-12-10T14:01:54Z aartaka quit (Read error: Connection reset by peer) 2020-12-10T14:02:06Z Bike: nope, those are the superclasses. 2020-12-10T14:02:16Z Bike: for example this says that REAL and COMPLEX are NUMBERs 2020-12-10T14:02:19Z nij: :O :O :口 2020-12-10T14:02:32Z Bike: but that doesn't mean there's a "primitive" "number" type or anything 2020-12-10T14:02:49Z nij: I misunderstood, then.. 2020-12-10T14:03:35Z chkhd quit (Quit: Textual IRC Client: www.textualapp.com) 2020-12-10T14:04:01Z nij: I admit I'm just a miserable researcher who just start to realize that every theory is essentially empty within itself, and probably the most true thing are the objects in languages like Lisp.. at least a foundation can be fetched.. 2020-12-10T14:04:03Z hendursa1 quit (Quit: hendursa1) 2020-12-10T14:04:23Z hendursaga joined #lisp 2020-12-10T14:04:47Z kaftejiman joined #lisp 2020-12-10T14:05:00Z nij: (Don't take it too seriously :) but this is really what I am at.. it should go to #lispcafe though.. so I'll stop here. 2020-12-10T14:05:14Z Bike: i understand your thought process and i don't think it's going to work. lisp is an abstraction layer. there are any number of ways an implementation could decide to implement those semantics on actually existing computers. 2020-12-10T14:05:37Z Bike: this is true of C or any other language as well really, but the C virtual machine is relatively similar to actual machines, so people forget 2020-12-10T14:06:08Z gzj quit (Remote host closed the connection) 2020-12-10T14:06:10Z nij: Bike, you just destroyed my last hope. xD 2020-12-10T14:06:15Z tfb quit (Read error: Connection reset by peer) 2020-12-10T14:06:15Z nij: Nah just kidding. I get that.. 2020-12-10T14:06:28Z gzj joined #lisp 2020-12-10T14:06:31Z phoe: nij: do you understand what an axiom is? 2020-12-10T14:06:34Z nij: But somehow I feel the urge to get to understand the roots of the current abstraction level I'm at. 2020-12-10T14:06:37Z phoe: in logic, in proofs, in mathematical reasoning 2020-12-10T14:06:46Z nij: phoe: I am a mathematician. So.. yes. 2020-12-10T14:06:50Z phoe: good 2020-12-10T14:06:58Z phoe: then a lot about CL type theory is actually axioms. 2020-12-10T14:07:08Z gzj quit (Remote host closed the connection) 2020-12-10T14:07:09Z nij: Yeah but I don't really like axioms.. 2020-12-10T14:07:21Z Bike: what an odd thing to say. 2020-12-10T14:07:24Z tfb joined #lisp 2020-12-10T14:07:25Z phoe: symbols exist as a type and that type is allowed to be primitive so not defined in terms of anything else - or, in other words, via built-in-class. 2020-12-10T14:07:30Z gzj joined #lisp 2020-12-10T14:07:36Z phoe: s/that type/that class/ 2020-12-10T14:07:42Z phoe: s/type/class/ 2020-12-10T14:07:56Z phoe: that's all. there's no more proof, that's an axiom of ANSI Common Lisp. 2020-12-10T14:07:59Z nij: Bike: ? what's odd 2020-12-10T14:08:09Z gzj quit (Remote host closed the connection) 2020-12-10T14:08:21Z hiroaki joined #lisp 2020-12-10T14:08:24Z nij: phoe: thanks .. 2020-12-10T14:08:24Z phoe: there's a ton of other axioms like that, and what you're diving into when you jump into implementation sources is just details of their concrete implementation. 2020-12-10T14:08:29Z Bike: in math terms this is like you want to learn to multiply so you go "ok, so numbers are defined as sets of sets, right?" like no, that's just if you use set theory instead of category theory or whatever else, and even then there are any number of possible representations of numbers as sets 2020-12-10T14:08:31Z gzj joined #lisp 2020-12-10T14:09:08Z nij: Bike: that's exactly what made me feel void. 2020-12-10T14:10:09Z gzj quit (Remote host closed the connection) 2020-12-10T14:10:10Z nij: It feels like whether things exist isn't the point, but how they behave is. 2020-12-10T14:10:19Z Bike: well, yeah, pretty much. 2020-12-10T14:10:21Z phoe: obviously 2020-12-10T14:10:29Z gzj joined #lisp 2020-12-10T14:10:34Z phoe: can you prove you're self-aware? 2020-12-10T14:10:35Z Bike: sorry, i guess. but i can't fix that by lying to you and telling you that actually the one true way to represent numbers is like bla bla bla. 2020-12-10T14:10:45Z phoe: or is that only inferable from your behavior? 2020-12-10T14:11:09Z gzj quit (Remote host closed the connection) 2020-12-10T14:11:15Z nij: phoe: I don't even know what's self-aware.. (plus we don't need a proof for everything.. 2020-12-10T14:11:29Z nij: Bike: fair. 2020-12-10T14:11:30Z gzj joined #lisp 2020-12-10T14:11:49Z phoe: a Common Lisp implementation is allowed to implement CL:+ by sending the question over the Internet as a question to Amazon Mechanical Turk, waiting for the response, and returning the value that was produced this way 2020-12-10T14:12:12Z phoe: and that will work, ANSI-TEST are gonna pass on this 2020-12-10T14:12:47Z nij: :( 2020-12-10T14:13:00Z phoe: and the only downsides to it are that you're gonna be real puzzled when you look at the implementation sources for that. 2020-12-10T14:13:10Z phoe: and that it's gonna be slow and expensive like holy hell. 2020-12-10T14:13:54Z aeth: Just crowdsource it for free on Twitch chat. You could even use the name twitchplayscommonlisp 2020-12-10T14:13:55Z nij: phoe: I'm warned. I won't do that too soon! 2020-12-10T14:14:10Z gzj quit (Remote host closed the connection) 2020-12-10T14:14:29Z phoe: aeth: touche 2020-12-10T14:18:44Z wsinatra joined #lisp 2020-12-10T14:21:18Z beach: nij: What do you consider as being one step below Lisp? 2020-12-10T14:24:00Z aeth: the correct answer is (1- *lisp*) 2020-12-10T14:24:25Z nij: beach: The language used in the source code of whichever lisp implementation. 2020-12-10T14:24:39Z nij: aeth: approximately yeah, (1- *lisp*) 2020-12-10T14:24:43Z phoe: nij: well 2020-12-10T14:24:46Z beach: nij: So for SBCL and SICL, that would be Common Lisp. 2020-12-10T14:24:47Z phoe: beach gon teach you a lesson in a moment 2020-12-10T14:25:22Z phoe: the only parts of SBCL written in C would be the garbage collector and low-level stuff for interfacing with the OS API 2020-12-10T14:25:32Z phoe: and as far as I know SICL wants to get rid even of those 2020-12-10T14:25:45Z aeth: afaik, SBCL writes the GC in C so that you're able to debug it if things go wrong 2020-12-10T14:25:52Z aeth: it's absolutely not necessary to write a GC in C 2020-12-10T14:25:53Z beach: Indeed. The SICL garbage collector is written in Common Lisp. 2020-12-10T14:26:50Z nij: @@ how about the special forms? 2020-12-10T14:27:10Z nij: I get that most of any Lisp implementation can be writting in the Lisp 2020-12-10T14:27:15Z beach: The compiler (written in Common Lisp too) handles them specially. 2020-12-10T14:27:51Z nij: Who compiled the compiler? 2020-12-10T14:28:11Z phoe: the previous compiler 2020-12-10T14:28:18Z beach: It was compiled on a Common Lisp system. 2020-12-10T14:28:21Z phoe: e.g. SBCL 2020-12-10T14:28:23Z phoe: or CCL 2020-12-10T14:28:27Z phoe: or ECL, or CLISP, or ABCL 2020-12-10T14:28:46Z nij: Lol so Common Lisp has been used to bootstrap Common Lisp implementations several times? 2020-12-10T14:28:55Z phoe: it's used for that purpose all the time 2020-12-10T14:29:06Z phoe: like, SBCL compiles SBCL all the time 2020-12-10T14:29:36Z nij: Come on there must be a starting point when common lisp needs to be bootstrapped by other languages. 2020-12-10T14:29:48Z phoe: uh 2020-12-10T14:29:52Z phoe: what do you mean by "starting point"? 2020-12-10T14:29:55Z beach: nij: Maybe 50 years ago. 2020-12-10T14:30:04Z nij: beach: yeah then that's what I'm talking about 2020-12-10T14:30:16Z phoe: so, yes, obviously there was such a point somewhere someday 2020-12-10T14:30:19Z beach: But you won't find any trace of those anymore. 2020-12-10T14:30:22Z phoe: that's how evolution works 2020-12-10T14:30:23Z dbotton joined #lisp 2020-12-10T14:30:40Z phoe: following this logic there is also a point when humans weren't human, but suddenly, bam, there is a human 2020-12-10T14:30:54Z nij: beach: REALLY? It's so hard to find?! 2020-12-10T14:31:04Z nij: phoe: LOL 2020-12-10T14:31:13Z phoe: I mean, ECL compiles from portable C 2020-12-10T14:31:15Z shinohai: CLISP, bootstrapping you into sbcl since 1999 (tm) 2020-12-10T14:31:18Z phoe: so does CLISP 2020-12-10T14:31:29Z nij: This is what I'm looking for! 2020-12-10T14:31:37Z nij: I regain meaning from ignorance! 2020-12-10T14:31:38Z phoe: but other implementations don't do that because writing a lot of Lisp code in C is, uhh, ugly 2020-12-10T14:31:56Z phoe: that's why SBCL bootstraps from Lisp plus a small C module 2020-12-10T14:32:04Z phoe: CCL bootstraps from CCL plus a small C module 2020-12-10T14:32:17Z phoe: SICL bootstraps from Common Lisp and abhors C modules altogether 2020-12-10T14:32:29Z phoe: so, you know - it isn't universal. 2020-12-10T14:33:01Z phoe: and you still need a C compiler, too. 2020-12-10T14:33:09Z phoe: who's gonna bootstrap that one? 2020-12-10T14:33:16Z nij: You must love Lisp so much to know all the stories of the ancestors. 2020-12-10T14:33:37Z phoe: it's more like just common knowledge, it sinks into you over time as you chat with lispfolk and read about stuff 2020-12-10T14:33:53Z phoe: unless you're also interested in it, at which point it's 10% of the required time 2020-12-10T14:33:56Z phoe afk 2020-12-10T14:34:01Z nij: Someone should make a lisp out of machine code. 2020-12-10T14:34:22Z aeth: nij: It's the same issue with C. What compiled the first C compiler in a chain of C compilers? Well, just like with CL, it's either (1) another compiler of the same language, (2) a compiler written in another high level language, or (3) a compiler hand-written in assembly or machine code 2020-12-10T14:34:28Z phoe: nij: why 2020-12-10T14:34:32Z phoe: that would be counter productive 2020-12-10T14:34:33Z aeth: Ultimately, the chain of compilers has to be traced to #3 2020-12-10T14:34:43Z aeth: (OK, #3 might have also been an interpreter) 2020-12-10T14:35:07Z phoe: also, who created that machine code 2020-12-10T14:35:11Z nij: phoe it feels more meaningful 2020-12-10T14:35:12Z phoe: and who created the machine that executes it 2020-12-10T14:35:14Z aeth: nij: It's possible that some Common Lisp compiler chains trace their origin back to a pre-CL Lisp like Maclisp or Interlisp 2020-12-10T14:35:19Z phoe: nij: meaningful? wat 2020-12-10T14:35:21Z phoe: why 2020-12-10T14:35:29Z phoe: meaningful for what exactly 2020-12-10T14:35:44Z phoe: "If you wish to make apple pie from scratch, you must first create the universe." -- Carl Sagan 2020-12-10T14:35:52Z nij: HA! 2020-12-10T14:36:12Z nij: And then create yourself. 2020-12-10T14:37:25Z aeth: nij: This is C, not CL, but it's a similar issue. https://web.archive.org/web/20081126183008/http://cm.bell-labs.com/who/ken/trust.html 2020-12-10T14:37:46Z aartaka joined #lisp 2020-12-10T14:38:35Z aeth: The general solution to that issue is deterministic builds, but the CL community hasn't really talked about that yet afaik. And it's a harder problem in CL because the product is image-based 2020-12-10T14:39:23Z acolarh quit (Ping timeout: 260 seconds) 2020-12-10T14:39:32Z orivej_ joined #lisp 2020-12-10T14:39:42Z nij: aeth: What does deterministic builds mean? 2020-12-10T14:40:00Z orivej quit (Ping timeout: 256 seconds) 2020-12-10T14:40:29Z aeth: nij: In practice, it means that it makes it so you shouldn't care about how you got the resulting product (hand-compiled, a random C compiler, another CL compiler, etc.) because it should build the same every time. 2020-12-10T14:40:56Z nij: i see 2020-12-10T14:41:04Z acolarh joined #lisp 2020-12-10T14:41:06Z aeth: Well, for a given compiler. But it means you don't have to care about the prior chain, i.e. the compiler's compiler 2020-12-10T14:43:07Z ljavorsk_ quit (Ping timeout: 260 seconds) 2020-12-10T14:44:06Z defunkydrummer joined #lisp 2020-12-10T14:45:03Z aeth: nij: If a CL compiler is compiled in some CL implementation, and then it recompiles itself in a deterministic way (the same source producing byte-for-byte identical output) before it's used for anything else, then it doesn't matter how it got there. 2020-12-10T14:45:29Z aeth: It could've gotten there from a time-consuming hand-compilation process, CLISP, ECL, CCL, SBCL, etc., and it wouldn't matter. 2020-12-10T14:45:35Z notzmv quit (Read error: No route to host) 2020-12-10T14:46:18Z aeth: And you could compile it two different ways and compare to ensure that you can actually trust it. 2020-12-10T14:47:11Z notzmv joined #lisp 2020-12-10T14:48:26Z nij: (Beautiful read by Thompson :) 2020-12-10T14:49:07Z nij: I think I understand the chicken-egg problem at the next level today. 2020-12-10T14:49:10Z nij: Thanks folks. 2020-12-10T14:51:30Z EvW quit (Ping timeout: 258 seconds) 2020-12-10T14:51:33Z pbgc quit (Quit: Textual IRC Client: http://www.textualapp.com/) 2020-12-10T14:54:06Z nij left #lisp 2020-12-10T14:54:14Z aeth: https://en.wikipedia.org/wiki/Reproducible_builds 2020-12-10T14:56:42Z jackdaniel: yet another level is to realize, that the egg was before the chicken, because reptiles predate birds :) 2020-12-10T14:56:52Z hiroaki quit (Remote host closed the connection) 2020-12-10T15:00:10Z aartaka quit (Ping timeout: 256 seconds) 2020-12-10T15:01:12Z X-Scale` joined #lisp 2020-12-10T15:03:39Z X-Scale quit (Ping timeout: 260 seconds) 2020-12-10T15:03:39Z X-Scale` is now known as X-Scale 2020-12-10T15:03:42Z zcheng3 joined #lisp 2020-12-10T15:03:53Z pi123 joined #lisp 2020-12-10T15:05:05Z johnjay quit (Read error: Connection reset by peer) 2020-12-10T15:05:18Z bendersteed joined #lisp 2020-12-10T15:06:50Z Josh_2 joined #lisp 2020-12-10T15:07:13Z yitzi joined #lisp 2020-12-10T15:11:14Z saganman joined #lisp 2020-12-10T15:14:05Z random-nick quit (Quit: quit) 2020-12-10T15:17:02Z Fare joined #lisp 2020-12-10T15:23:05Z galex-713 quit (Ping timeout: 272 seconds) 2020-12-10T15:23:51Z jdz: Because they're predators? 2020-12-10T15:25:19Z shoshin: what a pun 2020-12-10T15:25:28Z sjl joined #lisp 2020-12-10T15:32:20Z toorevitimirp joined #lisp 2020-12-10T15:32:44Z nij joined #lisp 2020-12-10T15:33:33Z DGASAU joined #lisp 2020-12-10T15:38:22Z Lycurgus joined #lisp 2020-12-10T15:40:28Z aartaka joined #lisp 2020-12-10T15:42:55Z nij quit (Quit: ERC (IRC client for Emacs 27.1)) 2020-12-10T15:43:21Z Steeve joined #lisp 2020-12-10T15:44:48Z OlCe joined #lisp 2020-12-10T15:47:57Z judson_ joined #lisp 2020-12-10T15:49:04Z Cymew quit (Ping timeout: 240 seconds) 2020-12-10T15:49:28Z Lycurgus: beach, i think I may have seen you mentioned as a grad student in a text book 2020-12-10T15:51:07Z beach: Oh? 2020-12-10T15:51:10Z beach: What text book? 2020-12-10T15:51:36Z Lycurgus: Equational Logic as a Programming Language 2020-12-10T15:51:52Z beach: Oh, yes. Mike O'Donnell was my thesis director. 2020-12-10T15:52:33Z Lycurgus: Christoph Rhodes was in same dept? 2020-12-10T15:52:43Z beach: Not at all. Not on the same continent. 2020-12-10T15:52:59Z beach: And not at the same time either, I would think. 2020-12-10T15:53:01Z Lycurgus: someone named christoph was mentioned 2020-12-10T15:53:01Z judson_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-10T15:53:23Z Lycurgus: i think I confabulated rhodes, there's more than 1 i think 2020-12-10T15:53:47Z judson_ joined #lisp 2020-12-10T15:53:52Z beach: I have the book here. Hold on... 2020-12-10T15:54:08Z Lycurgus: yeah hoffman 2020-12-10T15:54:49Z beach: Right. Not a student. 2020-12-10T15:55:01Z Lycurgus: ah 2020-12-10T15:57:13Z hnOsmium0001 joined #lisp 2020-12-10T15:57:26Z jibanes quit (Ping timeout: 258 seconds) 2020-12-10T15:58:54Z beach: The title of my PhD thesis was "Compiling equational programs into efficient machine code" 2020-12-10T15:59:15Z jibanes joined #lisp 2020-12-10T15:59:23Z Lycurgus: was it Purdue? 2020-12-10T15:59:35Z beach: No, Johns Hopkins in Baltimore. 2020-12-10T15:59:40Z Lycurgus: ah 2020-12-10T16:00:12Z beach: Mike was there for two years only, then he moved to Chicago and I had to work on my own. 2020-12-10T16:00:24Z beach: Suited me just fine. :) 2020-12-10T16:00:31Z Lycurgus: :) 2020-12-10T16:01:46Z orivej_ quit (Ping timeout: 246 seconds) 2020-12-10T16:04:25Z dbotton quit (Quit: This computer has gone to sleep) 2020-12-10T16:05:43Z the-smug-one joined #lisp 2020-12-10T16:08:10Z __jrjsmrtn__ joined #lisp 2020-12-10T16:09:05Z dbotton joined #lisp 2020-12-10T16:10:04Z _jrjsmrtn quit (Ping timeout: 265 seconds) 2020-12-10T16:15:54Z galex-713 joined #lisp 2020-12-10T16:20:04Z toorevitimirp quit (Ping timeout: 256 seconds) 2020-12-10T16:21:40Z Lycurgus quit (Quit: Exeunt) 2020-12-10T16:25:54Z aartaka quit (Ping timeout: 272 seconds) 2020-12-10T16:28:08Z judson_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-10T16:29:00Z dbotton quit (Quit: This computer has gone to sleep) 2020-12-10T16:35:03Z tfb quit 2020-12-10T16:35:10Z dbotton joined #lisp 2020-12-10T16:35:18Z andreyorst` quit (Quit: andreyorst`) 2020-12-10T16:36:01Z andreyorst joined #lisp 2020-12-10T16:36:14Z EvW joined #lisp 2020-12-10T16:37:00Z EvW quit (Client Quit) 2020-12-10T16:37:19Z EvW joined #lisp 2020-12-10T16:38:52Z defunkydrummer quit (Ping timeout: 246 seconds) 2020-12-10T16:40:07Z flavio joined #lisp 2020-12-10T16:40:58Z nwoob joined #lisp 2020-12-10T16:42:57Z nwoob quit (Client Quit) 2020-12-10T16:44:27Z jibanes quit (Ping timeout: 260 seconds) 2020-12-10T16:44:39Z nwoob joined #lisp 2020-12-10T16:45:12Z judson_ joined #lisp 2020-12-10T16:46:21Z jibanes joined #lisp 2020-12-10T16:48:07Z flavio_ joined #lisp 2020-12-10T16:48:21Z hal99999 joined #lisp 2020-12-10T16:48:48Z luckless joined #lisp 2020-12-10T16:49:12Z judson_ quit (Client Quit) 2020-12-10T16:50:43Z flavio quit (Ping timeout: 258 seconds) 2020-12-10T16:52:07Z jibanes quit (Ping timeout: 265 seconds) 2020-12-10T16:52:23Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-10T16:53:08Z jibanes joined #lisp 2020-12-10T16:53:28Z rogersm joined #lisp 2020-12-10T16:56:53Z bendersteed quit (Quit: bye bye) 2020-12-10T16:57:50Z tlaxkit joined #lisp 2020-12-10T16:59:51Z nwoob: is it possible to have autocomplete while writing common lisp code in emacs. If yes can somone point me to documentation 2020-12-10T16:59:53Z nwoob: please 2020-12-10T17:00:10Z Bike: are you using slime? 2020-12-10T17:00:13Z random-nick joined #lisp 2020-12-10T17:00:20Z nwoob: yes 2020-12-10T17:00:54Z jibanes quit (Ping timeout: 260 seconds) 2020-12-10T17:01:25Z nwoob: I just know that I can do M-x slime and slime repl opens up. I don't even know how to write and compile program in a file 2020-12-10T17:01:41Z Bike: you might want a more comprehensive introduction then 2020-12-10T17:02:02Z mokulus joined #lisp 2020-12-10T17:02:10Z nwoob: yes, could you please point me to one Bike 2020-12-10T17:02:11Z beach: nwoob: You would typically split the Emacs frame with C-x 3 and with the source code buffer in one part and the REPL in the other part. 2020-12-10T17:02:25Z Bike: but if you have slime running and edit a lisp file, you can use M-TAB or C-M-i or whatever else complete-symbol is bound to 2020-12-10T17:02:35Z jibanes joined #lisp 2020-12-10T17:02:54Z Bike: https://common-lisp.net/project/slime/ the project page has a few tutorials linked 2020-12-10T17:03:13Z Josh_2: nwoob: I believe I use company mode for auto completion in my code writing buffer 2020-12-10T17:03:15Z Bike: https://www.cliki.net/slime-howto this page also links some 2020-12-10T17:06:50Z nwoob: ok, thank you. I'll read those documentation 2020-12-10T17:06:59Z nwoob: and look into company-mode also 2020-12-10T17:09:08Z _death: I use C-c C-i and a lot of M-/ 2020-12-10T17:09:48Z epony quit (Remote host closed the connection) 2020-12-10T17:11:12Z mokulus quit (Quit: WeeChat 2.9) 2020-12-10T17:14:47Z Jesin quit (Quit: Leaving) 2020-12-10T17:17:02Z OlCe quit (Remote host closed the connection) 2020-12-10T17:18:12Z OlCe joined #lisp 2020-12-10T17:22:45Z Jesin joined #lisp 2020-12-10T17:23:53Z the-smug-one quit (Remote host closed the connection) 2020-12-10T17:25:09Z skapata joined #lisp 2020-12-10T17:29:58Z jpli joined #lisp 2020-12-10T17:33:40Z OlCe quit (Remote host closed the connection) 2020-12-10T17:34:42Z OlCe joined #lisp 2020-12-10T17:37:21Z OlCe quit (Remote host closed the connection) 2020-12-10T17:37:42Z cosimone quit (Quit: cosimone) 2020-12-10T17:39:54Z flavio_ quit (Quit: Leaving) 2020-12-10T17:40:07Z flavio_ joined #lisp 2020-12-10T17:40:07Z flavio_ is now known as defunkydrummer 2020-12-10T17:44:19Z matta_ quit (Ping timeout: 246 seconds) 2020-12-10T17:45:55Z random-nick quit (Ping timeout: 258 seconds) 2020-12-10T17:48:00Z OlCe joined #lisp 2020-12-10T17:48:02Z abhixec joined #lisp 2020-12-10T17:51:50Z matta_ joined #lisp 2020-12-10T17:52:14Z random-nick joined #lisp 2020-12-10T17:55:07Z EvW quit (Ping timeout: 258 seconds) 2020-12-10T17:56:23Z EvW joined #lisp 2020-12-10T17:56:25Z matta_ quit (Remote host closed the connection) 2020-12-10T17:56:44Z matta_ joined #lisp 2020-12-10T17:59:42Z judson_ joined #lisp 2020-12-10T18:02:22Z matta_ quit (Remote host closed the connection) 2020-12-10T18:02:27Z andreyorst` joined #lisp 2020-12-10T18:02:28Z andreyorst` quit (Remote host closed the connection) 2020-12-10T18:02:35Z nwoob: what's wrong in this (setf tasty 'data) 2020-12-10T18:02:38Z matta_ joined #lisp 2020-12-10T18:02:54Z andreyorst` joined #lisp 2020-12-10T18:03:53Z nwoob: why does repl prints warning caught WARNING: 2020-12-10T18:03:54Z nwoob: ; undefined variable: COMMON-LISP-USER::TASTY 2020-12-10T18:04:14Z jackdaniel: probably because your code is not tasty ,) 2020-12-10T18:04:22Z jackdaniel: all variables must be defined before setting them 2020-12-10T18:04:27Z jackdaniel: i.e (defparameter tasty nil) 2020-12-10T18:04:48Z judson_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-10T18:04:52Z nwoob: oh ok 2020-12-10T18:04:56Z nwoob: thanks 2020-12-10T18:05:03Z jackdaniel: putting only (setf tasty nil) without defining the variable is like assigning a value to undeclared variable (but cl is more forgiving usually) 2020-12-10T18:05:06Z jackdaniel: sure 2020-12-10T18:05:37Z andreyorst` quit (Client Quit) 2020-12-10T18:07:34Z Steeve quit (Quit: end) 2020-12-10T18:08:26Z judson_ joined #lisp 2020-12-10T18:13:02Z Steeve joined #lisp 2020-12-10T18:13:07Z myall quit (Quit: ZNC 1.7.5 - https://znc.in) 2020-12-10T18:14:46Z myall joined #lisp 2020-12-10T18:14:46Z myall quit (Changing host) 2020-12-10T18:14:46Z myall joined #lisp 2020-12-10T18:15:17Z m1m0 joined #lisp 2020-12-10T18:16:03Z rogersm quit (Quit: Leaving...) 2020-12-10T18:22:22Z stzsch quit (Quit: stzsch) 2020-12-10T18:27:49Z matta_ quit (Ping timeout: 264 seconds) 2020-12-10T18:30:46Z defunkydrummer quit (Ping timeout: 258 seconds) 2020-12-10T18:35:23Z gaqwas joined #lisp 2020-12-10T18:40:03Z srandon111 quit (Ping timeout: 260 seconds) 2020-12-10T18:43:02Z tisskenzen joined #lisp 2020-12-10T18:44:02Z epony joined #lisp 2020-12-10T18:52:56Z srandon111 joined #lisp 2020-12-10T18:53:52Z nwoob quit (Ping timeout: 256 seconds) 2020-12-10T18:58:46Z harlchen: sry if this is the wrong chan, but hunchentoot/vanilla vs. hunch..+easy-routes vs. h..+ningle vs. clack+lack.component/+builder vs. ... ; for a new web-app/parenscript for a ~cl-noob ? 2020-12-10T19:00:40Z X-Scale` joined #lisp 2020-12-10T19:01:16Z Demosthenex quit (Ping timeout: 240 seconds) 2020-12-10T19:02:01Z X-Scale quit (Ping timeout: 264 seconds) 2020-12-10T19:02:02Z X-Scale` is now known as X-Scale 2020-12-10T19:03:11Z Demosthenex joined #lisp 2020-12-10T19:06:23Z gxt__ quit (Ping timeout: 240 seconds) 2020-12-10T19:08:50Z gxt__ joined #lisp 2020-12-10T19:08:53Z flip214: harlchen: I'm using HT + HT-quux - I'm happy enough with the easy-handlers, but if you have lots of routes you might wants some library on top 2020-12-10T19:10:14Z harlchen: will investigate quux, thx 2020-12-10T19:10:52Z harlchen: i'm still orienting myself partly by the cookbook and awesome-cl :) 2020-12-10T19:11:48Z flip214: minion: tell harlchen about hunchentoot-quux 2020-12-10T19:11:52Z minion: Sorry, I couldn't find anything in the database for ``hunchentoot-quux''. 2020-12-10T19:12:04Z flip214: https://www.cliki.net/quux-hunchentoot 2020-12-10T19:12:05Z harlchen: i found it on the gitlab 2020-12-10T19:12:34Z flip214: I like a) the performance (no new threads) b) that it has an upper limit on threads 2020-12-10T19:14:14Z tisskenzen quit (Quit: leaving) 2020-12-10T19:15:04Z yitzi quit (Remote host closed the connection) 2020-12-10T19:15:20Z yitzi joined #lisp 2020-12-10T19:18:50Z tisskenzen joined #lisp 2020-12-10T19:18:57Z tisskenzen quit (Client Quit) 2020-12-10T19:19:59Z tisskenzen joined #lisp 2020-12-10T19:20:51Z harlchen: i already like the extensive documentation in the source of ht-quu 2020-12-10T19:20:58Z harlchen: *x 2020-12-10T19:21:50Z judson_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-10T19:23:14Z judson_ joined #lisp 2020-12-10T19:24:12Z olle joined #lisp 2020-12-10T19:24:17Z olle: you guys have a lips bot? 2020-12-10T19:24:36Z deltab joined #lisp 2020-12-10T19:26:36Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-12-10T19:27:05Z akoana joined #lisp 2020-12-10T19:27:16Z Aurora_v_kosmose joined #lisp 2020-12-10T19:27:34Z flip214: harlchen: https://paste.debian.net/1176411/ 2020-12-10T19:28:10Z flip214: olle: https://github.com/stassats/lisp-bots 2020-12-10T19:28:36Z harlchen: nice, thank you, flip214 2020-12-10T19:28:51Z edgar-rft: olle: we all are lisp bots :-) 2020-12-10T19:30:36Z olle: :) 2020-12-10T19:30:39Z edgar-rft: Lisp is our master who makes us write code 2020-12-10T19:31:30Z lotuseater: I'm maybe also a bot from another planet. 2020-12-10T19:33:42Z EvW quit (Ping timeout: 260 seconds) 2020-12-10T19:37:06Z tlaxkit quit (Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/) 2020-12-10T19:39:27Z defunkydrummer joined #lisp 2020-12-10T19:39:46Z olle quit (Ping timeout: 256 seconds) 2020-12-10T19:44:01Z Nilby quit (Read error: Connection reset by peer) 2020-12-10T19:46:30Z EvW joined #lisp 2020-12-10T19:48:21Z tisskenzen quit (Quit: leaving) 2020-12-10T19:49:21Z loli quit (Quit: WeeChat 2.9) 2020-12-10T19:51:05Z nij joined #lisp 2020-12-10T19:51:13Z tisskenzen joined #lisp 2020-12-10T19:51:28Z aartaka joined #lisp 2020-12-10T19:52:17Z loli joined #lisp 2020-12-10T19:52:17Z amb007 quit (Read error: Connection reset by peer) 2020-12-10T19:52:39Z amb007 joined #lisp 2020-12-10T19:54:49Z amb007 quit (Read error: Connection reset by peer) 2020-12-10T19:55:06Z amb007 joined #lisp 2020-12-10T19:58:58Z aartaka_d joined #lisp 2020-12-10T19:58:58Z amb007 quit (Read error: Connection reset by peer) 2020-12-10T19:59:24Z rumbler31_ joined #lisp 2020-12-10T19:59:27Z abhixec quit (Quit: leaving) 2020-12-10T19:59:41Z amb007 joined #lisp 2020-12-10T19:59:42Z rumbler31_: anyone know of good gis plotting/manipulating libraries? 2020-12-10T20:00:22Z rumbler31_: my primary need right now is to just plot gps/utm data 2020-12-10T20:01:52Z amb007 quit (Read error: Connection reset by peer) 2020-12-10T20:02:21Z amb007 joined #lisp 2020-12-10T20:02:54Z aartaka quit (Ping timeout: 260 seconds) 2020-12-10T20:07:14Z defunkydrummer: rumbler31_ there is one or more interfaces to gnuplot 2020-12-10T20:07:50Z defunkydrummer: haven't tried anyone yet 2020-12-10T20:07:56Z defunkydrummer: rumbler31_ see this for a starting point: https://www.cliki.net/Common%20Lisp%20and%20gnuplot 2020-12-10T20:08:06Z aartaka_d quit (Ping timeout: 256 seconds) 2020-12-10T20:08:06Z amb007 quit (Read error: Connection reset by peer) 2020-12-10T20:08:17Z defunkydrummer: rumbler31_ oh, i didn't read the "GIS" part of your question 2020-12-10T20:08:29Z amb007 joined #lisp 2020-12-10T20:09:06Z defunkydrummer: rumbler31_: here's a list of GIS libs, https://www.cliki.net/geospatial . This is cliki (old site) so there must be some more libs too, but it gives you a starting point 2020-12-10T20:10:12Z srandon111 quit (Ping timeout: 256 seconds) 2020-12-10T20:12:49Z amb007 quit (Read error: Connection reset by peer) 2020-12-10T20:13:24Z amb007 joined #lisp 2020-12-10T20:16:44Z aartaka joined #lisp 2020-12-10T20:16:44Z amb007 quit (Read error: Connection reset by peer) 2020-12-10T20:17:23Z nij left #lisp 2020-12-10T20:18:20Z amb007 joined #lisp 2020-12-10T20:19:00Z hal99999 quit (Quit: hal99999) 2020-12-10T20:19:36Z zacts joined #lisp 2020-12-10T20:19:37Z amb007 quit (Read error: Connection reset by peer) 2020-12-10T20:20:20Z amb007 joined #lisp 2020-12-10T20:20:24Z amb007 quit (Read error: Connection reset by peer) 2020-12-10T20:20:42Z amb007 joined #lisp 2020-12-10T20:20:46Z aartaka quit (Ping timeout: 246 seconds) 2020-12-10T20:22:25Z karlosz quit (Ping timeout: 264 seconds) 2020-12-10T20:22:50Z rgherdt joined #lisp 2020-12-10T20:27:08Z aorst joined #lisp 2020-12-10T20:27:41Z narimiran quit (Ping timeout: 258 seconds) 2020-12-10T20:28:38Z orivej joined #lisp 2020-12-10T20:34:48Z andreyorst quit (Ping timeout: 272 seconds) 2020-12-10T20:35:42Z tisskenzen: okay, i'm writing a syntax-case macro for my pet guile script, and have found a need to add several keywords into the pattern of the clause, because this is much cleaner to read 2020-12-10T20:36:17Z jpli_ joined #lisp 2020-12-10T20:36:35Z jpli quit (Ping timeout: 272 seconds) 2020-12-10T20:36:54Z tisskenzen: there's a problem of keyword permutations and repeating the expression after the pattern is written 2020-12-10T20:38:16Z tisskenzen: nvm, maybe i'll solve this myself 2020-12-10T20:39:46Z jw4 quit (Read error: Connection reset by peer) 2020-12-10T20:41:01Z urek__ quit (Quit: urek__) 2020-12-10T20:41:02Z sgibber2018 joined #lisp 2020-12-10T20:41:45Z jw4 joined #lisp 2020-12-10T20:43:01Z ebrasca quit (Ping timeout: 258 seconds) 2020-12-10T20:47:43Z zulu-inuoe joined #lisp 2020-12-10T21:05:35Z hiroaki joined #lisp 2020-12-10T21:07:25Z yitzi quit (Quit: yitzi) 2020-12-10T21:08:11Z dbotton_ joined #lisp 2020-12-10T21:11:42Z dbotton quit (Ping timeout: 260 seconds) 2020-12-10T21:12:38Z shifty joined #lisp 2020-12-10T21:23:54Z dbotton_ quit (Quit: Leaving) 2020-12-10T21:35:32Z Fare quit (Ping timeout: 258 seconds) 2020-12-10T21:41:02Z harlchen: is there a native/eleganthttps://paste.debian.net/1176431/ 2020-12-10T21:41:15Z harlchen: elegant enough way to get what i want https://paste.debian.net/1176431/ 2020-12-10T21:41:40Z wsinatra quit (Quit: WeeChat 3.0) 2020-12-10T21:43:28Z lotuseater: did you mean (defvar *a* (make-hash-table))? 2020-12-10T21:44:02Z harlchen: ah sry no parameter >) 2020-12-10T21:45:05Z harlchen: sry i got confused 2020-12-10T21:45:16Z lotuseater: okay what's wrong? 2020-12-10T21:45:27Z harlchen: (defparameter *a* (make-hash-table)) 2020-12-10T21:45:40Z harlchen: i got it right in my code, but wrong in the example 2020-12-10T21:45:49Z lotuseater: yeah but if it's not initialised DEFVAR is also good 2020-12-10T21:46:24Z lotuseater: and if you don't want *a* to be overwritten at reload DEFVAR is better than DEFPARAMETER 2020-12-10T21:46:28Z harlchen: sure 2020-12-10T21:47:13Z Fare joined #lisp 2020-12-10T21:50:28Z harlchen: i wanted to pattern match the key of the hash table , do i have to transform it at the (match level or do i miss something obvious ? 2020-12-10T21:51:41Z White_Flame: since you're inside a PROGN, are you sure it needs to be global? would (let ((a (make-hash-table))) ...) work for you? 2020-12-10T21:53:08Z White_Flame: also, does trivia support peering into hashtables? 2020-12-10T21:53:09Z harlchen: i see my mistake 2020-12-10T21:53:20Z jpli_ quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) 2020-12-10T21:53:25Z harlchen: i think it should work with guard 2020-12-10T21:53:30Z m1m0 quit (Quit: Leaving) 2020-12-10T21:55:08Z heisig quit (Quit: Leaving) 2020-12-10T21:55:14Z harlchen: i can peer into the slots 2020-12-10T21:55:45Z harlchen: (match (make-hash-table) ((hash-table (:size c)) c)) 2020-12-10T21:56:37Z aorst quit (Quit: WeeChat 3.0) 2020-12-10T21:58:58Z pi123 quit (Quit: WeeChat 2.3) 2020-12-10T22:01:00Z zacts quit (Quit: leaving) 2020-12-10T22:01:34Z zacts joined #lisp 2020-12-10T22:15:27Z wwwww joined #lisp 2020-12-10T22:15:30Z shifty quit (Remote host closed the connection) 2020-12-10T22:15:35Z wwwww left #lisp 2020-12-10T22:15:44Z shifty joined #lisp 2020-12-10T22:16:41Z msk joined #lisp 2020-12-10T22:24:23Z zacts quit (Quit: leaving) 2020-12-10T22:31:08Z lucasb joined #lisp 2020-12-10T22:37:15Z gaqwas quit (Ping timeout: 258 seconds) 2020-12-10T22:44:34Z judson_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-10T22:48:14Z rumbler31_ quit (Ping timeout: 256 seconds) 2020-12-10T22:50:26Z jeosol quit (Remote host closed the connection) 2020-12-10T22:54:48Z judson_ joined #lisp 2020-12-10T22:57:06Z todun joined #lisp 2020-12-10T22:58:37Z sjl quit (Ping timeout: 246 seconds) 2020-12-10T23:04:53Z aartaka joined #lisp 2020-12-10T23:05:36Z shka_ quit (Ping timeout: 240 seconds) 2020-12-10T23:08:25Z jonatack quit (Ping timeout: 246 seconds) 2020-12-10T23:09:44Z jonatack joined #lisp 2020-12-10T23:15:14Z rumbler31_ joined #lisp 2020-12-10T23:17:08Z shifty quit (Ping timeout: 256 seconds) 2020-12-10T23:18:27Z pve quit (Quit: leaving) 2020-12-10T23:24:48Z judson_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-10T23:26:02Z judson_ joined #lisp 2020-12-10T23:29:51Z madage quit (Remote host closed the connection) 2020-12-10T23:30:44Z madage joined #lisp 2020-12-10T23:32:27Z aartaka quit (Ping timeout: 258 seconds) 2020-12-10T23:32:31Z todun quit (Quit: todun) 2020-12-10T23:33:30Z todun joined #lisp 2020-12-10T23:33:40Z todun quit (Client Quit) 2020-12-10T23:33:50Z todun joined #lisp 2020-12-10T23:34:15Z jonatack quit (Quit: jonatack) 2020-12-10T23:37:10Z todun quit (Remote host closed the connection) 2020-12-10T23:37:48Z todun joined #lisp 2020-12-10T23:38:29Z todun quit (Remote host closed the connection) 2020-12-10T23:40:01Z todun joined #lisp 2020-12-10T23:41:16Z todun quit (Client Quit) 2020-12-10T23:41:59Z todun joined #lisp 2020-12-10T23:43:43Z todun quit (Client Quit) 2020-12-10T23:47:59Z slyrus quit (Quit: Leaving) 2020-12-10T23:48:07Z lotuseater: funny, i was browsing the CLX lib on github and some files have "last commit 20 years ago" or more ^^ 2020-12-10T23:48:22Z phoe: if it works, don't touch it 2020-12-10T23:48:32Z phoe: 2020 wasn't a lot of time ago in CL years 2020-12-10T23:48:43Z phoe: in X years either 2020-12-10T23:49:56Z lotuseater: why should i touch it? 2020-12-10T23:51:33Z jpli joined #lisp 2020-12-10T23:51:44Z lotuseater: I don't even know a small subset of how to use it :D big lib 2020-12-10T23:54:10Z defunkydrummer: it's used on the StumpWM window manager. 2020-12-10T23:54:10Z amb007 quit (Read error: Connection reset by peer) 2020-12-10T23:54:18Z defunkydrummer: it 2020-12-10T23:54:18Z jonatack joined #lisp 2020-12-10T23:54:49Z defunkydrummer: it, as I understand it, interacts directly with your X server. 2020-12-10T23:54:56Z amb007 joined #lisp 2020-12-10T23:55:00Z lotuseater: yes I know :) and on McCLIM I think 2020-12-10T23:55:17Z lotuseater: yes direct bindings to X 2020-12-10T23:59:51Z jonatack quit (Ping timeout: 260 seconds) 2020-12-11T00:00:19Z random-nick quit (Ping timeout: 260 seconds) 2020-12-11T00:00:20Z jonatack joined #lisp 2020-12-11T00:01:16Z dilated_dinosaur quit (Ping timeout: 246 seconds) 2020-12-11T00:02:35Z defunkydrummer: lotuseater: no, i mean, as far as i know it's not a binding to a C library, but it implements the X protocol 100% in Lisp 2020-12-11T00:02:43Z defunkydrummer: so it directly talks to the X server 2020-12-11T00:03:13Z defunkydrummer: just as, for example, there's a postgres driver for clsql that implements the protocol directly, doesn't need any postgres lib installed previously 2020-12-11T00:03:14Z lotuseater: ahh okay, that would be even better, but I don't know 2020-12-11T00:03:56Z lotuseater: but yes that would fit to the motto "Now proudly done with 100% less C" 2020-12-11T00:04:12Z defunkydrummer: exactly 2020-12-11T00:04:21Z Steeve quit (Quit: end) 2020-12-11T00:04:22Z defunkydrummer: "the stuff boring dreams are made of" 2020-12-11T00:04:25Z defunkydrummer: well, gotta go 2020-12-11T00:04:26Z defunkydrummer: bye bye 2020-12-11T00:04:34Z defunkydrummer quit (Quit: Leaving) 2020-12-11T00:09:00Z harlchen quit (Quit: WeeChat 2.9) 2020-12-11T00:15:03Z tisskenzen quit (Ping timeout: 240 seconds) 2020-12-11T00:15:03Z gxt__ quit (Ping timeout: 240 seconds) 2020-12-11T00:15:03Z cantstanya quit (Ping timeout: 240 seconds) 2020-12-11T00:15:23Z luckless quit (Ping timeout: 240 seconds) 2020-12-11T00:15:23Z tamarindo quit (Ping timeout: 240 seconds) 2020-12-11T00:15:43Z madage quit (Ping timeout: 240 seconds) 2020-12-11T00:15:43Z Aurora_v_kosmose quit (Ping timeout: 240 seconds) 2020-12-11T00:15:43Z hendursaga quit (Ping timeout: 240 seconds) 2020-12-11T00:15:54Z aeth: lots of things are stable from the 90s 2020-12-11T00:16:19Z aeth: Windows probably has things last touched since then. Probably not entire files. They've probably run some automatic refactoring tool to change the header of the file or whatever. 2020-12-11T00:16:31Z aeth: s/last touched/not touched/ 2020-12-11T00:16:32Z EvW quit (Ping timeout: 258 seconds) 2020-12-11T00:16:55Z lotuseater: thanks to the standard specification! 2020-12-11T00:17:12Z lotuseater: ok I meant for CL stuff 2020-12-11T00:22:24Z lotuseater: aeth: and so some exploits for Windows NT kernel or so still have worked on XP/Vista/7/10 :D 2020-12-11T00:22:59Z luckless joined #lisp 2020-12-11T00:22:59Z gxt__ joined #lisp 2020-12-11T00:23:35Z aeth: I mean, as I've said before fairly recently here... CL shifts the burden of quite a few things onto the implementations. 2020-12-11T00:23:45Z hendursaga joined #lisp 2020-12-11T00:24:06Z aeth: Most stuff doesn't ever really need updating because the implementations themselves (or, more rarely, various key libraries) handle such things instead. 2020-12-11T00:24:10Z Aurora_v_kosmose joined #lisp 2020-12-11T00:24:12Z judson_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-11T00:24:19Z cantstanya joined #lisp 2020-12-11T00:25:05Z lotuseater: :) 2020-12-11T00:26:22Z judson_ joined #lisp 2020-12-11T00:26:36Z jpli quit (Quit: No Ping reply in 180 seconds.) 2020-12-11T00:27:16Z madage joined #lisp 2020-12-11T00:27:43Z jpli joined #lisp 2020-12-11T00:31:22Z phoe6_ joined #lisp 2020-12-11T00:32:45Z frost-lab joined #lisp 2020-12-11T00:36:52Z thmprover joined #lisp 2020-12-11T00:37:32Z lotuseater: How do you usually start writing a binding or reimplementing something from scratch? 2020-12-11T00:39:04Z thmprover: Like Johnny Cash put it, one piece at a time. 2020-12-11T00:39:39Z lotuseater: yes you're right 2020-12-11T00:40:15Z ioa___ joined #lisp 2020-12-11T00:41:01Z ioa___ left #lisp 2020-12-11T00:42:00Z tisskenzen joined #lisp 2020-12-11T00:43:49Z judson_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-11T00:46:02Z judson_ joined #lisp 2020-12-11T00:50:12Z judson_ quit (Client Quit) 2020-12-11T00:50:44Z Jesin quit (Quit: Leaving) 2020-12-11T00:53:45Z aeth: Find the smallest possible thing you could implement. Write it up as an issue in an issue tracker. Try to implement it. It'll take weeks/months because you could actually have picked a smaller increment. 2020-12-11T00:53:59Z aeth: But most importantly, never give up. 2020-12-11T00:55:00Z Jesin joined #lisp 2020-12-11T00:57:24Z Josh_2 quit (Ping timeout: 240 seconds) 2020-12-11T01:00:29Z jeosol joined #lisp 2020-12-11T01:01:33Z nij joined #lisp 2020-12-11T01:01:59Z nij: Despite the celebrated intro to loop (http://www.gigamonkeys.com/book/loop-for-black-belts.html), should I learn "iterate" instead? 2020-12-11T01:02:05Z nij: Or should I learn both? 2020-12-11T01:02:44Z thijso quit (Ping timeout: 260 seconds) 2020-12-11T01:05:27Z lotuseater: aeth: yes and understand more of the thing you want to (re)implement ^^ 2020-12-11T01:05:51Z lotuseater: nij: first learn LOOP and see how you like it 2020-12-11T01:05:54Z Xach: nij: you should learn loop and iterate if you like. nobody knows *only* iterate. 2020-12-11T01:07:01Z lotuseater: here is the two pages LOOP periodic table from land of lisp for you: https://trash.ctdo.de/file/e9c41bd6 2020-12-11T01:09:50Z lotuseater: and in PAIP one of the last chapters guides through how basic LOOP is implemented, but I must study it more in depth myself 2020-12-11T01:11:07Z nij: Thanks for the pointer to PAIP! 2020-12-11T01:11:13Z nij: Ok I will learn both. 2020-12-11T01:11:18Z nij: It's fun anyway. 2020-12-11T01:11:33Z nij: I just feel LOOP is little bit like DSL. But I came here for lisp's elegance. 2020-12-11T01:12:06Z lotuseater: yes it IS a DSL 2020-12-11T01:12:19Z lotuseater: same with FORMAT 2020-12-11T01:12:27Z no-defun-allowed: That is arguably part of the elegance. 2020-12-11T01:12:38Z nij: :( 2020-12-11T01:12:45Z nij: In a nutshell, how does iterate work? 2020-12-11T01:13:37Z lotuseater: hm, like LOOP but more lispy and extensible? 2020-12-11T01:14:01Z lotuseater: do a macroexpand on a simple LOOP expression and you'll see 2020-12-11T01:14:19Z nij: oh i mean 2020-12-11T01:14:30Z nij: does it work on first translating itself to LOOP? 2020-12-11T01:14:58Z lotuseater: no I don't think so, but maybe it could be 2020-12-11T01:17:40Z nij: Nvm I will look into that. Thanks :D 2020-12-11T01:18:19Z lotuseater: i don't see some call to LOOP in the source 2020-12-11T01:18:31Z wxie joined #lisp 2020-12-11T01:18:34Z nij: Must be some other elegant twists. 2020-12-11T01:18:38Z nij is excited. 2020-12-11T01:23:37Z gasby joined #lisp 2020-12-11T01:23:51Z gasby left #lisp 2020-12-11T01:24:05Z Xach: elegance is not a design goal 2020-12-11T01:25:28Z lotuseater: it's efficiency and expressiveness, isn't it? 2020-12-11T01:26:13Z lotuseater: or am I now stucked in the LOOP? :D 2020-12-11T01:26:25Z judson_ joined #lisp 2020-12-11T01:27:22Z nij: (loop (gtd (be-efficient))) 2020-12-11T01:27:42Z nij: (loop (feel-good (gtd (be-efficient)))) 2020-12-11T01:27:44Z nij: Sorry.. 2020-12-11T01:28:19Z nij: Yeah I hope one can achieve elegance + efficiency + expressiveness. 2020-12-11T01:30:36Z lucasb quit (Quit: Connection closed for inactivity) 2020-12-11T01:34:21Z nij quit (Ping timeout: 258 seconds) 2020-12-11T01:40:21Z jeosol quit (Remote host closed the connection) 2020-12-11T01:47:16Z Lord_of_Life quit (Ping timeout: 240 seconds) 2020-12-11T01:47:30Z Lord_of_Life joined #lisp 2020-12-11T01:58:16Z jpli quit (Quit: No Ping reply in 180 seconds.) 2020-12-11T01:58:25Z rumbler31 joined #lisp 2020-12-11T01:59:23Z jpli joined #lisp 2020-12-11T01:59:43Z rumbler31 quit (Remote host closed the connection) 2020-12-11T02:00:00Z rumbler31 joined #lisp 2020-12-11T02:09:09Z rumbler31 quit (Remote host closed the connection) 2020-12-11T02:11:32Z zcheng3 quit (Ping timeout: 258 seconds) 2020-12-11T02:12:24Z tisskenzen left #lisp 2020-12-11T02:15:17Z devon joined #lisp 2020-12-11T02:19:07Z semz quit (Ping timeout: 260 seconds) 2020-12-11T02:23:46Z surabax quit (Quit: Leaving) 2020-12-11T02:27:16Z Oladon joined #lisp 2020-12-11T02:32:16Z semz joined #lisp 2020-12-11T02:32:17Z semz quit (Changing host) 2020-12-11T02:32:17Z semz joined #lisp 2020-12-11T02:33:09Z orivej quit (Ping timeout: 260 seconds) 2020-12-11T02:33:50Z orivej joined #lisp 2020-12-11T02:34:28Z danielfar joined #lisp 2020-12-11T02:35:31Z danielfar left #lisp 2020-12-11T02:57:19Z karlosz joined #lisp 2020-12-11T02:58:25Z jibanes quit (Ping timeout: 264 seconds) 2020-12-11T02:59:53Z jibanes joined #lisp 2020-12-11T03:31:03Z jeosol joined #lisp 2020-12-11T03:33:56Z jpli quit (Quit: No Ping reply in 180 seconds.) 2020-12-11T03:35:03Z jpli joined #lisp 2020-12-11T03:43:25Z flip214 quit (Ping timeout: 264 seconds) 2020-12-11T03:43:39Z flip214 joined #lisp 2020-12-11T03:43:44Z jpli quit (Quit: No Ping reply in 180 seconds.) 2020-12-11T03:44:34Z jpli joined #lisp 2020-12-11T03:47:23Z madage quit (Ping timeout: 240 seconds) 2020-12-11T03:47:52Z Stanley00 joined #lisp 2020-12-11T03:54:06Z PuercoPop joined #lisp 2020-12-11T03:55:21Z PuercoPop: lotuseater: It says 20 years ago because that is when they where committed to version control. The some code is even older 2020-12-11T03:56:45Z thmprover: Random question: where can I read more about readtables? I'm curious about understanding how it works exactly, I don't want to do anything with reader macros, just understand them deeper. 2020-12-11T03:57:03Z judson_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-11T03:57:07Z igemnace quit (Ping timeout: 260 seconds) 2020-12-11T03:57:48Z PuercoPop: thmprover: you could checkout vacietis, which uses readtables to parse C into CL 2020-12-11T03:58:17Z thmprover: That's awesome! 2020-12-11T03:58:46Z aeth: PuercoPop: sometimes version control uses fake commits to provide the real date... I mean, that's basically what it has to be to some extent since 20 years ago predates git 2020-12-11T03:58:55Z thmprover: Also kind of amusing, because I'm tinkering around with implementing a toy lisp in C, and thinking about implementing a toy readtable is what prompted me to investigate this further. 2020-12-11T03:59:11Z PuercoPop: https://github.com/vsedach/Vacietis/blob/50c1b82a9f906c270cd8cbc7a1fe7f7281ebad2f/compiler/reader.lisp#L889 2020-12-11T03:59:29Z thmprover: PuercoPop: That is awesome, thanks :) 2020-12-11T04:00:01Z PuercoPop: aeth: Yeah, but the first commit says something like checking in FOO's version into CVS iirc. Some code there has 1985 in the headers iirc 2020-12-11T04:00:17Z lotuseater: PuercoPop: yup, with another system 2020-12-11T04:00:28Z madage joined #lisp 2020-12-11T04:01:19Z aeth: PuercoPop: heh, cvs 2020-12-11T04:01:26Z aeth: svn was quite the upgrade. 2020-12-11T04:01:56Z Alfr_ joined #lisp 2020-12-11T04:02:09Z aeth: So I guess a lot of projects went cvs->svn->git, and that's only if they didn't pick some losing thing before git, e.g. hg 2020-12-11T04:02:23Z lotuseater: PuercoPop: does f2cl also work with readtables? 2020-12-11T04:02:34Z beach: Good morning everyone! 2020-12-11T04:02:46Z PuercoPop: lotuseater: sorry I'm not familiar with f2cl, what is it? 2020-12-11T04:03:09Z thmprover: Good morning, beach! 2020-12-11T04:03:10Z lotuseater: it translates Fortran77 code 2020-12-11T04:03:11Z PuercoPop: aeth: most (all?) of hu.dwim uses darcs to this day! 2020-12-11T04:04:01Z aeth: we need to rewrite distributed version control in Lisp 2020-12-11T04:04:05Z lotuseater: darcs is great. some guy once told me "too slow for managing things like linux kernel" blabla. but that is not what it's primarily for 2020-12-11T04:04:27Z lotuseater: aeth: with patches please 2020-12-11T04:04:32Z aeth: lotuseater: ah, so darcs doesn't *scale* 2020-12-11T04:04:37Z Alfr quit (Ping timeout: 258 seconds) 2020-12-11T04:04:38Z PuercoPop: aeth: fiddlerwoaroof has started working on that! 2020-12-11T04:04:46Z aeth: lotuseater: you have to scale on the cloud to win 2020-12-11T04:05:22Z lotuseater: hm cloud 2020-12-11T04:05:51Z lotuseater: darcs has mathematical fundament 2020-12-11T04:05:59Z PuercoPop: lotuseater: the problem with darcs is that their worst case for resolving merge conflicts is n² iirc. 2020-12-11T04:06:46Z lotuseater: yes something like that was it 2020-12-11T04:07:09Z aeth: lotuseater: I was joking when I was talking about clouds. It's all about the edge computing blockchains for XR now. :-P 2020-12-11T04:07:52Z lotuseater: all this modern stuff :D 2020-12-11T04:08:18Z lotuseater: "Fundamentally good ideas are that which stand the test of time." 2020-12-11T04:09:04Z lotuseater: s/that/those 2020-12-11T04:09:10Z aeth: PuercoPop: is the project public yet? 2020-12-11T04:09:54Z lotuseater: one can also peek into pijul source 2020-12-11T04:10:16Z flip214 quit (Ping timeout: 240 seconds) 2020-12-11T04:10:20Z judson_ joined #lisp 2020-12-11T04:10:23Z flip214 joined #lisp 2020-12-11T04:10:37Z aeth: I'd say that the big problem with git is that it's distributed, but the issues, the wiki, and so on live in essentially just a handful of places (Github, Gitlab, Bitbucket, etc. And mostly just Github.) 2020-12-11T04:10:58Z PuercoPop: aeth: yeah, https://github.com/fiddlerwoaroof/cl-git 2020-12-11T04:11:19Z aeth: oh, just git :-/ 2020-12-11T04:11:26Z aeth: I guess it's more useful 2020-12-11T04:12:21Z PuercoPop: There is a problem parsing the pack files. I've started working on in a couple of weeks ago 2020-12-11T04:12:55Z PuercoPop: aeth: I mean, first we must embrace so we can extend and extinguish later ^_^ 2020-12-11T04:12:57Z lotuseater: PuercoPop: https://github.com/rtoy/f2cl 2020-12-11T04:14:00Z igemnace joined #lisp 2020-12-11T04:14:24Z PuercoPop: aeth: git is only a version control system, not a 'project manager system'. Wiki, issues seem out of scope. But you can build those on top of the same object database. If everything is in CL it would be easier to do so, or at least nicer to write imho 2020-12-11T04:17:01Z galex-713 quit (Ping timeout: 272 seconds) 2020-12-11T04:19:32Z shifty joined #lisp 2020-12-11T04:21:39Z notzmv quit (Remote host closed the connection) 2020-12-11T04:24:23Z galex-713 joined #lisp 2020-12-11T04:26:31Z lotuseater: îs DEFINE-SETF-EXPANDER the same as DEFINE-SETF-METHOD? 2020-12-11T04:26:47Z beach: clhs define-setf-method 2020-12-11T04:26:48Z specbot: Couldn't find anything for define-setf-method. 2020-12-11T04:26:53Z beach: See, there is no such thing. 2020-12-11T04:27:25Z lotuseater: yes I know ;) but I read about that in PAIP 2020-12-11T04:28:09Z no-defun-allowed: I guess it was called DEFINE-SETF-METHOD before ANSI Common Lisp? 2020-12-11T04:28:21Z beach: That's definitely possible. 2020-12-11T04:29:21Z no-defun-allowed: See SETF-METHOD-VS-SETF-METHOD: http://www.lispworks.com/documentation/HyperSpec/Issues/iss308_w.htm 2020-12-11T04:29:23Z lotuseater: ah yes that would fit :) and it's said it is a quite tricky macro ^^ 2020-12-11T04:29:39Z mfiano: What is the proper way to combine features with boolean logic to control the evaluation of the next form with reader conditionals? for example feature X and not feature Y 2020-12-11T04:29:53Z no-defun-allowed: "Rationale: Avoids massive terminological confusion." 2020-12-11T04:30:28Z mfiano: s/evaluation/reading/ 2020-12-11T04:31:12Z no-defun-allowed: Well, you can write #+(and x (not y)) (something), or is there something else you're thinking of? 2020-12-11T04:31:36Z mfiano: I infact did just that, but wasn't sure if the (not y) was going to behave as I'd expect. 2020-12-11T04:31:59Z mfiano: Thanks for the confirmation 2020-12-11T04:33:10Z narimiran joined #lisp 2020-12-11T04:33:38Z lotuseater: you can build conditionals which will never work unless you push some keywords on your own to *FEATURES* :) something like #+(and linux windows) 2020-12-11T04:34:12Z mfiano: True, implementations may use any such symbols. But, we have trivial-features for that. 2020-12-11T04:34:22Z gzj joined #lisp 2020-12-11T04:37:29Z lotuseater: as I got to know #+ and #- I first thought it expands the code into WHEN and UNLESS forms but because it doesn't even produces NIL for false forms you know it's really commented out 2020-12-11T04:40:25Z akoana quit (Quit: leaving) 2020-12-11T04:42:23Z lotuseater: OK you have runtime in between for checking the membership of the keyword 2020-12-11T04:43:32Z rumbler31_ quit (Ping timeout: 256 seconds) 2020-12-11T04:44:03Z mfiano: Every phase of the evaluation model can invoke any other. That's the main reason I have stayed with Lisp for 15 years. It allows for very interesting solutions to problems in my domain. 2020-12-11T04:46:07Z luckless quit (Quit: luckless) 2020-12-11T04:47:47Z lotuseater: yes I know 2020-12-11T04:53:32Z Bike quit (Quit: Lost terminal) 2020-12-11T05:05:25Z Oladon quit (Quit: Leaving.) 2020-12-11T05:06:10Z aaaaaa joined #lisp 2020-12-11T05:09:12Z PuercoPop: Is there a way to view/treat a multi-dimensional array as a sequence/vector? II want to use COUNT-IF on the array. 2020-12-11T05:10:38Z rumbler31_ joined #lisp 2020-12-11T05:15:20Z zcheng3 joined #lisp 2020-12-11T05:18:54Z beach: clhs make-array 2020-12-11T05:18:55Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_mk_ar.htm 2020-12-11T05:19:29Z beach: PuercoPop: See the :DISPLACED-TO keyword argument. 2020-12-11T05:21:08Z beach: PuercoPop: Alternatively, you can loop on the raw-major indices of the array and use the COUNT LOOP keyword. 2020-12-11T05:21:15Z zulu-inuoe_ joined #lisp 2020-12-11T05:22:40Z PuercoPop: beach: thanks, wasn't aware of displaced-to. I'll probably go the LOOP+COUNT clause now that you bring it up 2020-12-11T05:23:32Z beach: Sure. Good luck! 2020-12-11T05:24:40Z zulu-inuoe quit (Ping timeout: 265 seconds) 2020-12-11T05:26:04Z wxie quit (Ping timeout: 240 seconds) 2020-12-11T05:28:08Z Nilby joined #lisp 2020-12-11T05:30:49Z imode joined #lisp 2020-12-11T05:33:50Z Grue` quit (Quit: ZNC 1.7.5 - https://znc.in) 2020-12-11T05:37:31Z shka_ joined #lisp 2020-12-11T05:38:55Z wxie joined #lisp 2020-12-11T05:40:14Z Grue` joined #lisp 2020-12-11T05:49:56Z ex_nihilo joined #lisp 2020-12-11T05:54:02Z _whitelogger quit (Remote host closed the connection) 2020-12-11T05:56:11Z _whitelogger joined #lisp 2020-12-11T06:02:41Z zcheng3 quit (Ping timeout: 258 seconds) 2020-12-11T06:04:43Z wxie quit (Remote host closed the connection) 2020-12-11T06:05:08Z shka_ quit (Quit: Konversation terminated!) 2020-12-11T06:05:20Z shka_ joined #lisp 2020-12-11T06:12:01Z waleee-cl quit (Quit: Connection closed for inactivity) 2020-12-11T06:23:27Z aartaka joined #lisp 2020-12-11T06:28:34Z aartaka_d joined #lisp 2020-12-11T06:29:58Z perrier-jouet quit (Ping timeout: 260 seconds) 2020-12-11T06:30:28Z aartaka quit (Ping timeout: 260 seconds) 2020-12-11T06:36:08Z PuercoPop quit (Remote host closed the connection) 2020-12-11T06:37:33Z aartaka_d quit (Ping timeout: 260 seconds) 2020-12-11T06:38:43Z aartaka joined #lisp 2020-12-11T06:41:02Z mrchampion quit (Read error: Connection reset by peer) 2020-12-11T06:42:12Z perrier-jouet joined #lisp 2020-12-11T06:43:10Z aartaka quit (Ping timeout: 256 seconds) 2020-12-11T06:48:02Z _whitelogger quit (Remote host closed the connection) 2020-12-11T06:48:07Z aartaka joined #lisp 2020-12-11T06:50:10Z _whitelogger joined #lisp 2020-12-11T06:51:17Z aartaka_d joined #lisp 2020-12-11T06:51:24Z phantomics quit (Quit: Ex-Chat) 2020-12-11T06:52:31Z aartaka quit (Ping timeout: 258 seconds) 2020-12-11T06:55:42Z aartaka joined #lisp 2020-12-11T06:57:36Z aartaka_d quit (Ping timeout: 240 seconds) 2020-12-11T07:02:29Z aartaka quit (Ping timeout: 258 seconds) 2020-12-11T07:05:18Z Lord_of_Life quit (Changing host) 2020-12-11T07:05:18Z Lord_of_Life joined #lisp 2020-12-11T07:12:27Z aartaka joined #lisp 2020-12-11T07:18:12Z aartaka_d joined #lisp 2020-12-11T07:20:13Z judson_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-11T07:21:38Z aartaka quit (Ping timeout: 256 seconds) 2020-12-11T07:25:10Z ebrasca joined #lisp 2020-12-11T07:43:08Z sgibber2018 quit (Quit: WeeChat 2.9) 2020-12-11T07:43:51Z gaqwas joined #lisp 2020-12-11T07:43:51Z gaqwas quit (Changing host) 2020-12-11T07:43:51Z gaqwas joined #lisp 2020-12-11T07:45:02Z jibanes quit (Ping timeout: 258 seconds) 2020-12-11T07:46:59Z jibanes joined #lisp 2020-12-11T07:55:10Z phoe: morning 2020-12-11T07:56:01Z no-defun-allowed: Hello phoe. 2020-12-11T07:57:52Z beach: Hey phoe. 2020-12-11T08:00:30Z phoe: hi hey 2020-12-11T08:00:48Z infosec_yo joined #lisp 2020-12-11T08:00:59Z infosec_yo: i think lisp is bloated. 2020-12-11T08:01:14Z lotuseater: ok and now? 2020-12-11T08:01:18Z no-defun-allowed: Too bad. 2020-12-11T08:01:43Z infosec_yo: its also insecure. 2020-12-11T08:01:53Z thmprover quit (Quit: Goodnight, ladies, good night, sweet ladies, good night, good night) 2020-12-11T08:02:01Z flip214: infosec_yo: any more opinions we should know? 2020-12-11T08:02:16Z flip214: you'll excuse if our experience differs. 2020-12-11T08:02:33Z infosec_yo: when is lisp getting deprecated ? 2020-12-11T08:02:40Z ChanServ has set mode +o phoe 2020-12-11T08:02:42Z phoe has set mode +b *!*sid476935@gateway/web/irccloud.com/x-ezccxoibyygulirl 2020-12-11T08:02:42Z infosec_yo [~phoe@2001:19f0:5:689f:5400:2ff:fe77:b1de] has been kicked from #lisp by phoe (infosec_yo) 2020-12-11T08:02:43Z ChanServ has set mode -o phoe 2020-12-11T08:02:51Z phoe: please carry on 2020-12-11T08:02:57Z flip214: not enough patience lately, phoe? 2020-12-11T08:03:00Z flip214: ;) 2020-12-11T08:03:03Z lotuseater: thx phoe 2020-12-11T08:03:06Z no-defun-allowed: Aw, I was thinking of a retort, but "when is your big mouth getting deprecated" is a bit poor. 2020-12-11T08:03:07Z phoe: flip214: I kinda recognize the person. 2020-12-11T08:03:31Z phoe: they used to post the "lisp sucks" quality content from webchats multiple times before. 2020-12-11T08:03:54Z lotuseater: i think phoe ran out of patience with such bloated people since recently 2020-12-11T08:04:16Z phoe: and as for patience, well. I think you know everything. 2020-12-11T08:04:18Z flip214: I guess you just saved me quite a bit of time 2020-12-11T08:04:27Z flip214: that I'll now use for me tel conferences ;/ 2020-12-11T08:04:37Z phoe: ha, yes 2020-12-11T08:04:42Z flip214: no, I don't know everything.... but I can guess that small detail 2020-12-11T08:04:51Z phoe: flip214: so you know everything enough 2020-12-11T08:07:07Z lotuseater: maybe infosec_yo is one of those self-claimed experts with unlimited knowledge too 2020-12-11T08:10:43Z flip214: If you know all you see your horizon might be too near 2020-12-11T08:11:01Z Nilby: I'm pretty sure that's someone who's been trolling Lisp communities for like 20 years, saying "lisp is dead", etc. It's funny that there's still something to troll then. 2020-12-11T08:11:53Z norserob joined #lisp 2020-12-11T08:11:54Z lotuseater: there's always more to learn, even for a master 2020-12-11T08:15:44Z jibanes quit (Ping timeout: 240 seconds) 2020-12-11T08:17:26Z toorevitimirp joined #lisp 2020-12-11T08:17:50Z jibanes joined #lisp 2020-12-11T08:18:06Z gzj quit (Remote host closed the connection) 2020-12-11T08:18:26Z gzj joined #lisp 2020-12-11T08:24:30Z andreyorst joined #lisp 2020-12-11T08:25:45Z jibanes quit (Ping timeout: 256 seconds) 2020-12-11T08:27:10Z pve joined #lisp 2020-12-11T08:27:14Z jibanes joined #lisp 2020-12-11T08:31:58Z andreyorst quit (Ping timeout: 256 seconds) 2020-12-11T08:34:18Z skapata quit (Quit: Leaving) 2020-12-11T08:36:30Z random-nick joined #lisp 2020-12-11T08:38:17Z andreyorst joined #lisp 2020-12-11T08:39:40Z Cymew joined #lisp 2020-12-11T08:46:18Z jibanes quit (Ping timeout: 272 seconds) 2020-12-11T08:48:02Z jibanes joined #lisp 2020-12-11T08:53:40Z thijso joined #lisp 2020-12-11T09:01:27Z ljavorsk_ joined #lisp 2020-12-11T09:06:54Z hendursa1 joined #lisp 2020-12-11T09:09:09Z Iolo quit (Quit: ZNC 1.7.5+deb4 - https://znc.in) 2020-12-11T09:09:23Z hendursaga quit (Ping timeout: 240 seconds) 2020-12-11T09:10:33Z Iolo joined #lisp 2020-12-11T09:13:27Z mange joined #lisp 2020-12-11T09:19:07Z Fare quit (Ping timeout: 260 seconds) 2020-12-11T09:23:33Z rumbler31_ quit (Ping timeout: 258 seconds) 2020-12-11T09:23:36Z defunkydrummer joined #lisp 2020-12-11T09:24:36Z mathrick quit (Ping timeout: 240 seconds) 2020-12-11T09:26:11Z hnOsmium0001 quit (Quit: Connection closed for inactivity) 2020-12-11T09:28:44Z mathrick joined #lisp 2020-12-11T09:28:48Z shifty quit (Ping timeout: 256 seconds) 2020-12-11T09:29:51Z GZJ0X_ joined #lisp 2020-12-11T09:30:37Z zaquest joined #lisp 2020-12-11T09:33:10Z Krystof joined #lisp 2020-12-11T09:36:58Z zaquest quit (Remote host closed the connection) 2020-12-11T09:39:23Z Fare joined #lisp 2020-12-11T09:39:44Z andreyorst quit (Ping timeout: 240 seconds) 2020-12-11T09:40:06Z GZJ0X_ quit (Remote host closed the connection) 2020-12-11T09:40:06Z gzj quit (Remote host closed the connection) 2020-12-11T09:40:25Z GZJ0X_ joined #lisp 2020-12-11T09:40:26Z gzj joined #lisp 2020-12-11T09:40:27Z aartaka joined #lisp 2020-12-11T09:40:28Z imode quit (Ping timeout: 256 seconds) 2020-12-11T09:42:58Z aartaka_d quit (Ping timeout: 246 seconds) 2020-12-11T09:43:07Z ggole joined #lisp 2020-12-11T09:50:45Z splittist: It's so great having the Online Lisp Meetings recorded and available to watch. Thanks to all involved! 2020-12-11T09:51:25Z Stanley00 quit (Quit: Nice weekend) 2020-12-11T09:53:09Z phoe: splittist: <3 2020-12-11T09:53:26Z phoe: (if you want to talk about something yourself, I'm accepting videos all the time) 2020-12-11T09:53:42Z zaquest joined #lisp 2020-12-11T09:53:53Z scymtym_ joined #lisp 2020-12-11T09:54:08Z aartaka quit (Ping timeout: 256 seconds) 2020-12-11T09:54:20Z aartaka joined #lisp 2020-12-11T09:54:20Z aartaka quit (Read error: Connection reset by peer) 2020-12-11T09:54:44Z scymtym quit (Ping timeout: 240 seconds) 2020-12-11T09:57:08Z bendersteed joined #lisp 2020-12-11T09:57:12Z zaquest quit (Remote host closed the connection) 2020-12-11T10:00:03Z gxt__ quit (Ping timeout: 240 seconds) 2020-12-11T10:04:43Z galex-713 quit (Ping timeout: 272 seconds) 2020-12-11T10:04:55Z galex-713 joined #lisp 2020-12-11T10:11:04Z galex-713 quit (Ping timeout: 256 seconds) 2020-12-11T10:19:23Z rumbler31_ joined #lisp 2020-12-11T10:19:27Z aartaka joined #lisp 2020-12-11T10:24:44Z iskander- quit (Ping timeout: 260 seconds) 2020-12-11T10:25:23Z iskander joined #lisp 2020-12-11T10:26:01Z hiroaki quit (Ping timeout: 246 seconds) 2020-12-11T10:28:42Z scymtym_ quit (Remote host closed the connection) 2020-12-11T10:29:11Z aartaka_d joined #lisp 2020-12-11T10:30:41Z flip214: where can they be found? 2020-12-11T10:31:13Z phoe: the videos? 2020-12-11T10:31:20Z phoe: https://www.youtube.com/playlist?list=PLgq_B39Y_kKD9_sdCeE5SufaeAtbYPv80 2020-12-11T10:31:25Z aartaka quit (Ping timeout: 264 seconds) 2020-12-11T10:32:18Z splittist: Colleen should know this (if we want to keep the topic line clean). Perhaps she/it does... 2020-12-11T10:34:05Z gzj quit (Remote host closed the connection) 2020-12-11T10:34:05Z GZJ0X_ quit (Remote host closed the connection) 2020-12-11T10:34:23Z jibanes quit (Ping timeout: 260 seconds) 2020-12-11T10:34:25Z gzj joined #lisp 2020-12-11T10:34:25Z GZJ0X_ joined #lisp 2020-12-11T10:34:33Z phoe: minion: tell splittist about olm 2020-12-11T10:34:33Z minion: splittist: olm: Online Lisp Meetings: mailgroup at https://mailman.common-lisp.net/pipermail/online-lisp-meets/ and videos at https://www.youtube.com/playlist?list=PLgq_B39Y_kKD9_sdCeE5SufaeAtbYPv80 2020-12-11T10:34:37Z phoe: done 2020-12-11T10:35:03Z splittist is happy 2020-12-11T10:35:09Z phoe: me too, thanks; good idea 2020-12-11T10:36:09Z jibanes joined #lisp 2020-12-11T10:36:14Z pyc: What package does Portacle use to customize the status line and ask for additional confirmation while creating new files? 2020-12-11T10:38:06Z galex-713 joined #lisp 2020-12-11T10:38:21Z jeosol quit (Remote host closed the connection) 2020-12-11T10:38:54Z iskander quit (Ping timeout: 256 seconds) 2020-12-11T10:40:02Z hiroaki joined #lisp 2020-12-11T10:41:54Z rumbler31_ quit (Ping timeout: 256 seconds) 2020-12-11T10:43:44Z madage quit (Remote host closed the connection) 2020-12-11T10:46:49Z surabax joined #lisp 2020-12-11T10:48:08Z dilated_dinosaur joined #lisp 2020-12-11T10:49:54Z scymtym joined #lisp 2020-12-11T10:50:19Z flip214: thanks 2020-12-11T10:52:05Z madage joined #lisp 2020-12-11T10:55:05Z phantomics joined #lisp 2020-12-11T11:01:50Z Fare quit (Ping timeout: 264 seconds) 2020-12-11T11:03:32Z galex-713 quit (Ping timeout: 260 seconds) 2020-12-11T11:08:41Z rumbler31_ joined #lisp 2020-12-11T11:16:49Z vegansbane6 quit (Quit: The Lounge - https://thelounge.chat) 2020-12-11T11:18:15Z hugh_marera quit (Quit: Connection closed) 2020-12-11T11:20:03Z iskander joined #lisp 2020-12-11T11:20:48Z galex-713 joined #lisp 2020-12-11T11:21:02Z hugh_marera joined #lisp 2020-12-11T11:34:18Z gko_ joined #lisp 2020-12-11T11:34:39Z eschatologist_ joined #lisp 2020-12-11T11:35:38Z GreaseMonkey quit (Ping timeout: 260 seconds) 2020-12-11T11:36:02Z eschatologist quit (Ping timeout: 264 seconds) 2020-12-11T11:37:46Z luis: Hot take: UIOP is a pretty decent set of utilities. (I just wish the source was easier to navigate and read.) 2020-12-11T11:38:23Z greaser|q joined #lisp 2020-12-11T11:41:55Z uniminin joined #lisp 2020-12-11T11:42:17Z uniminin quit (Max SendQ exceeded) 2020-12-11T11:42:56Z uniminin joined #lisp 2020-12-11T11:43:02Z ebrasca quit (Read error: Connection reset by peer) 2020-12-11T11:43:56Z ebrasca joined #lisp 2020-12-11T11:44:04Z uniminin quit (Max SendQ exceeded) 2020-12-11T11:44:28Z uniminin joined #lisp 2020-12-11T11:45:11Z vegansbane6 joined #lisp 2020-12-11T11:45:21Z uniminin quit (Max SendQ exceeded) 2020-12-11T11:45:43Z uniminin joined #lisp 2020-12-11T11:46:07Z Lycurgus joined #lisp 2020-12-11T11:47:03Z uniminin quit (Max SendQ exceeded) 2020-12-11T11:47:27Z uniminin joined #lisp 2020-12-11T11:48:05Z Xach: Fewer people would use uiop if it were not tied inextricably to asdf. 2020-12-11T11:48:24Z phoe: ^ 2020-12-11T11:48:39Z uniminin quit (Max SendQ exceeded) 2020-12-11T11:48:41Z jackdaniel: fact that it is tied to asdf is slightly problematic, because you can't bundle it properly like other libraries 2020-12-11T11:48:51Z phoe: note that's not saying anything about the quality of uiop code, just about the way in which it is distributed 2020-12-11T11:48:51Z luis: That is true. But I'm enjoying its pathname utilities, for instance. 2020-12-11T11:48:56Z jackdaniel: for slad implementations it doesn't matter much though 2020-12-11T11:49:07Z uniminin joined #lisp 2020-12-11T11:49:13Z luis: jackdaniel: uiop is available standalone (in quicklisp too), isn't it? 2020-12-11T11:49:23Z jackdaniel: yes, but since it is a preloaded system, quicklisp won't download it 2020-12-11T11:49:24Z phoe: luis: by the time you have loaded quicklisp, uiop is already there. 2020-12-11T11:49:25Z Nilby: Somehow I usually find it easiest to investigate uiop code by looking at the catted asdf.lisp file. 2020-12-11T11:49:34Z jackdaniel: you must put it manually in the registry 2020-12-11T11:49:39Z uniminin quit (Client Quit) 2020-12-11T11:50:20Z luis: jackdaniel: perhaps ASDF should bundle a copy of UIOP (or the subset it uses) under a different package name. 2020-12-11T11:50:42Z jackdaniel: I've suggested that once, that suggestion wasn't accepted 2020-12-11T11:51:07Z jackdaniel: (back at the time when fare was still maintaining it) 2020-12-11T11:51:09Z luis: Well, we could fork UIOP and give it a new name. That would achieve the goal. :D 2020-12-11T11:51:40Z jackdaniel: I think that folks would still use /preloaded/ uiop assuming that it is always there 2020-12-11T11:52:02Z luis: Yeah, and the world probably doesn't need another utility library. :) 2020-12-11T11:52:03Z jackdaniel: that design decision (to bundle it with asdf) actively encourages bad practices 2020-12-11T11:52:30Z jackdaniel: (i.e not putting uiop in depends-on clause and assuming that it is always there along asdf) 2020-12-11T11:52:44Z mange quit (Remote host closed the connection) 2020-12-11T11:52:52Z jackdaniel: but that ship has already sailed years ago 2020-12-11T11:54:00Z varjag joined #lisp 2020-12-11T11:56:16Z varjag: so i have a macro which has required and keyword parameters 2020-12-11T11:56:52Z phoe: varjag: OK - I am imagining something like (defmacro foo ((bar &key baz quux) &body body) ...) 2020-12-11T11:56:52Z varjag: but i want it to pass on exta unspecified keyword parameters (which it could use internally for make-instance) 2020-12-11T11:56:59Z phoe: &allow-other-keys 2020-12-11T11:57:08Z troydm quit (Ping timeout: 260 seconds) 2020-12-11T11:57:14Z jackdaniel: &rest args &key a b c &allow-other-keys 2020-12-11T11:57:18Z phoe: or just use &rest kwargs &key ... &allow-other-kes 2020-12-11T11:57:23Z phoe: yes, what jackdaniel said 2020-12-11T11:57:43Z varjag: ah so it would wind up in &rest 2020-12-11T11:58:38Z phoe: yes, and then you either just (apply #'make-instance ... ',args) or (make-instance ... ,@args) 2020-12-11T11:58:43Z phoe: depending on how your macro is structured. 2020-12-11T11:58:55Z jackdaniel: if you have some keyword arguments that you don't want in make-instance (but they are important for the macro), you may use remf on args 2020-12-11T11:59:20Z varjag: thanks folks very helpful 2020-12-11T11:59:23Z phoe: jackdaniel: that's actually a bit troublesome because REMF only removes the first occurrence 2020-12-11T11:59:43Z phoe: alexandria:remove-from-plistf fixes this, AFAIR 2020-12-11T11:59:57Z phoe: the issue is that (foo :bar 2 :bar 3 :bar 4) is a well-formed plist 2020-12-11T12:00:10Z phoe: I mean, uhh, s/is/contains/ 2020-12-11T12:00:39Z jackdaniel: interesting, thanks for this information 2020-12-11T12:05:21Z amb007 quit (Read error: Connection reset by peer) 2020-12-11T12:07:31Z amb007 joined #lisp 2020-12-11T12:09:38Z amb007 quit (Read error: Connection reset by peer) 2020-12-11T12:10:58Z luis: phoe: that tip seems PSA-worthy 2020-12-11T12:11:33Z phoe: luis: I can blog about it sure thing 2020-12-11T12:12:02Z amb007 joined #lisp 2020-12-11T12:13:12Z phoe: or, uhhhh. maybe not. I'll pass and leave it to some other person because blogging in my current state of mind is dangerous. 2020-12-11T12:14:50Z Nilby has probably never been in a "not dangerous to blog" state of mind. 2020-12-11T12:16:19Z nij joined #lisp 2020-12-11T12:17:06Z GZJ0X_ quit (Remote host closed the connection) 2020-12-11T12:17:06Z gzj quit (Remote host closed the connection) 2020-12-11T12:17:26Z gzj joined #lisp 2020-12-11T12:17:26Z GZJ0X_ joined #lisp 2020-12-11T12:17:53Z Bike joined #lisp 2020-12-11T12:18:29Z cosimone joined #lisp 2020-12-11T12:20:48Z rixard joined #lisp 2020-12-11T12:21:08Z rixard_ quit (Read error: Connection reset by peer) 2020-12-11T12:25:56Z cosimone quit (Quit: cosimone) 2020-12-11T12:28:03Z OlCe quit (Remote host closed the connection) 2020-12-11T12:29:42Z OlCe joined #lisp 2020-12-11T12:30:19Z luis: phoe: I can review the blog post if you'd like or I could take the opportunity to blog for the first time in 2 years or so 2020-12-11T12:30:32Z jibanes quit (Ping timeout: 256 seconds) 2020-12-11T12:30:34Z jackdaniel: luis: do it! take the opportunity 2020-12-11T12:30:54Z jackdaniel: maybe you'll warm up and then you'll write something about cffi or slime :-) 2020-12-11T12:31:05Z phoe: luis: please take it 2020-12-11T12:31:22Z phoe: I need to find a new blogging platform because movim screws up code blocks even years after I highlighted it to them. 2020-12-11T12:31:43Z luis: I'm surprised Google hasn't killed Blogger yet. 2020-12-11T12:32:17Z luis: Must still be a source of AdSense revenew. 2020-12-11T12:32:21Z jibanes joined #lisp 2020-12-11T12:35:37Z aaaaaa quit (Quit: leaving) 2020-12-11T12:36:45Z jibanes quit (Ping timeout: 258 seconds) 2020-12-11T12:37:52Z jibanes joined #lisp 2020-12-11T12:44:16Z jibanes quit (Ping timeout: 240 seconds) 2020-12-11T12:46:37Z nij left #lisp 2020-12-11T12:46:47Z jibanes joined #lisp 2020-12-11T12:47:33Z FennecCode quit (Quit: IRCNow and Forever!) 2020-12-11T12:48:18Z jeosol joined #lisp 2020-12-11T12:52:38Z frost-lab quit (Quit: Connection closed) 2020-12-11T12:52:48Z orivej quit (Ping timeout: 256 seconds) 2020-12-11T12:56:09Z troydm joined #lisp 2020-12-11T12:56:50Z FennecCode joined #lisp 2020-12-11T13:01:16Z lotuseater quit (Ping timeout: 240 seconds) 2020-12-11T13:03:39Z ljavorsk_ quit (Remote host closed the connection) 2020-12-11T13:06:17Z ljavorsk joined #lisp 2020-12-11T13:10:10Z liberliver quit (Quit: liberliver) 2020-12-11T13:22:40Z iskander quit (Ping timeout: 256 seconds) 2020-12-11T13:27:34Z Lycurgus quit (Quit: Exeunt) 2020-12-11T13:29:39Z igemnace quit (Remote host closed the connection) 2020-12-11T13:33:01Z wsinatra joined #lisp 2020-12-11T13:37:08Z gzj quit (Remote host closed the connection) 2020-12-11T13:37:08Z GZJ0X_ quit (Remote host closed the connection) 2020-12-11T13:37:27Z GZJ0X_ joined #lisp 2020-12-11T13:37:27Z gzj joined #lisp 2020-12-11T13:42:20Z EvW joined #lisp 2020-12-11T13:44:41Z mrchampion joined #lisp 2020-12-11T13:52:44Z liberliver joined #lisp 2020-12-11T13:56:15Z gxt__ joined #lisp 2020-12-11T13:56:39Z scymtym quit (Read error: Connection reset by peer) 2020-12-11T14:00:46Z hendursa1 quit (Quit: hendursa1) 2020-12-11T14:01:05Z hendursaga joined #lisp 2020-12-11T14:03:23Z harlchen joined #lisp 2020-12-11T14:03:27Z devon: Howdy Lispers, how best to adapt a Scheme program to run in Common Lisp? 2020-12-11T14:03:41Z phoe: devon: depends on the Scheme program 2020-12-11T14:03:44Z phoe: how large is it? 2020-12-11T14:03:53Z phoe: what language features does it use? 2020-12-11T14:03:59Z waleee-cl joined #lisp 2020-12-11T14:03:59Z devon: Smallish and probably no Lisp1/2 issues. 2020-12-11T14:04:18Z phoe: call/cc? 2020-12-11T14:04:26Z beach: devon: It also depends on whether you want the result to just work, or whether you also want it to be maintainable as Common Lisp. 2020-12-11T14:04:57Z devon: Unlikely. The result should be maintainable CL code. 2020-12-11T14:04:58Z phoe: then just rewrite all DEFINEs to be DEFUNs and DEFVARs/DEFPARAMETERs and either adjust function names to CL or define your own mini-scheme-like environment. 2020-12-11T14:05:52Z aeth: You can progressively rewrite it if you do the latter, i.e. running a Scheme environment inside of CL. 2020-12-11T14:05:54Z devon: I'm amazed I can't find a tool for this. 2020-12-11T14:06:01Z aeth: I mean. 2020-12-11T14:06:07Z GZJ0X_ quit (Remote host closed the connection) 2020-12-11T14:06:07Z gzj quit (Remote host closed the connection) 2020-12-11T14:06:13Z phoe: a tool for automatic rewriting? I don't think there can exist one 2020-12-11T14:06:27Z GZJ0X_ joined #lisp 2020-12-11T14:06:27Z gzj joined #lisp 2020-12-11T14:06:27Z phoe: mostly because of lisp-1/lisp-2 issues and because of lack of continuations in CL. 2020-12-11T14:06:37Z phoe: you could get a compiler from scheme to CL, and this is what aeth will write about in a few seconds. 2020-12-11T14:07:07Z GZJ0X_ quit (Remote host closed the connection) 2020-12-11T14:07:08Z gzj quit (Remote host closed the connection) 2020-12-11T14:07:09Z aeth: The problem is that compiling Scheme to CL in a semantics-preserving way isn't just going to MACROEXPAND-1 you idiomatic CL. 2020-12-11T14:07:28Z gzj joined #lisp 2020-12-11T14:07:29Z GZJ0X_ joined #lisp 2020-12-11T14:07:35Z phoe: scheme and CL are only similar because of the parentheses and common operator name; they have different paradigms under the hood and this is what simple source translation is going to miss. 2020-12-11T14:08:06Z GZJ0X_ quit (Remote host closed the connection) 2020-12-11T14:08:06Z gzj quit (Remote host closed the connection) 2020-12-11T14:08:30Z aeth: There's only really two runtime incompatabilities. CL doesn't guarantee tail recursion to be optimized, while Scheme does, meaning that Scheme's idiomatic iteration relies on it while in CL it's implementation-specific, and even then relying on OPTIMIZE levels. 2020-12-11T14:08:42Z devon: LOL, sure. Punt in the face of call/cc, xref all the names to help resolve any Lisp1/2 issues, define ⟶ either defvar or defun, not too hairy. 2020-12-11T14:08:51Z aeth: And, of course, continuations, but if the program doesn't contain call/cc, then there doesn't have to be special handling. 2020-12-11T14:09:44Z aeth: And technically, both of these are "runtime-incompatabilities" only if you wanted to generate idiomatic CL. 2020-12-11T14:09:53Z aeth: Since you can emulate these without an interpreter. 2020-12-11T14:10:07Z nij joined #lisp 2020-12-11T14:10:21Z Bike: so all you need to redo is the entire macro system, local and nonlocal flow control, and call syntax 2020-12-11T14:10:24Z Bike: so easy 2020-12-11T14:10:42Z devon: LOL, that's why I'm asking. 2020-12-11T14:10:53Z edgar-rft: In my experience the main problem is that in Scheme only the core language is specified, there exist many Scheme implementations that's code doesn't run on other Scheme implementations. This means thet you always have to look what Scheme implementation the code was written for. 2020-12-11T14:10:57Z aeth: Bike: On the one hand, it's < 10,000 lines of code. On the other, it's < 10,000 lines of code of Common Lisp and Scheme, not C. 2020-12-11T14:11:01Z Bike: the standard libraries are also different, scheme has its "ports" or whatever instead of streams, record types instead of structs, etc... 2020-12-11T14:12:16Z Bike: oh, and scheme programs may try to distinguish the empty list and false. 2020-12-11T14:12:45Z eden joined #lisp 2020-12-11T14:13:29Z aeth: Well, (car nil) is an error in Scheme, so even CAR needs to be different. But the standard libraries mostly just have minor incompatabilities like that. You could in theory do it all at the macro level instead of defining trivial functions, but it wouldn't really give you much. 2020-12-11T14:13:42Z Bike: it's nice to be optimistic 2020-12-11T14:14:20Z aeth: #f is absolutely a good point because your Scheme program will reverse every IF to look like (if* (eq condition #f) false-path true-path) instead of (if condition true-path false-path) 2020-12-11T14:14:22Z devon: Perhaps the grass only looks greener an the Scheme side but I sense Scheme libraries are fewer but better, having glanced at an API or so. 2020-12-11T14:14:30Z nij quit (Ping timeout: 258 seconds) 2020-12-11T14:14:48Z defunkydrummer quit (Ping timeout: 260 seconds) 2020-12-11T14:15:25Z scymtym joined #lisp 2020-12-11T14:15:26Z aeth: devon: Well, the left-pads only come later. The initial libraries of any language are all important. 2020-12-11T14:17:50Z devon: The original Scheme was implemented in MacLisp, very close to Common Lisp, e.g., RABBIT by GLS IIRC. 2020-12-11T14:18:08Z wsinatra quit (Read error: Connection reset by peer) 2020-12-11T14:18:20Z aeth: And, more recently, there was Pseudoscheme for, I think, r4rs 2020-12-11T14:18:40Z wsinatra joined #lisp 2020-12-11T14:18:40Z aeth: Although it was only pseudo because it didn't actually address all of the interesting incompatabilities, which have only grown since then. 2020-12-11T14:19:53Z devon: So nobody's heard of any more recent effort, not in QL anyway. I'll start with C-M-% and see how it goes. 2020-12-11T14:19:55Z aeth: For instance, #f vs nil used to just be a recommendation. Same with case-sensitivity (which you can technically do in your Scheme-in-CL, if you want to have to CAPITALIZE every foreign CL call) and even hygienic macros, which iirc were an appendix in r4rs. 2020-12-11T14:20:31Z aeth: devon: I've heard of a more recent effort, but it's not going to be useful for you if you have any deadline because it's incomplete. 2020-12-11T14:21:00Z devon: LOL, well, cool, no deadline, please tell me more. 2020-12-11T14:21:11Z aeth: https://gitlab.com/mbabich/airship-scheme 2020-12-11T14:21:35Z aeth: I would've linked to it earlier, but I was hoping that Bike would elaborate more on why the task was impossible rather than just calling me optimistic. 2020-12-11T14:22:37Z andreyorst joined #lisp 2020-12-11T14:22:57Z devon: For this particular wee chunk of code, probably easy. 2020-12-11T14:26:30Z devon: Never ran into this author before but https://gitlab.com/mbabich/lisp-hello-world is hilarious. 2020-12-11T14:29:31Z random-nick quit (Quit: quit) 2020-12-11T14:31:20Z phoe: mbabich, ah yes 2020-12-11T14:31:25Z phoe: we know him around here 2020-12-11T14:31:43Z phoe: https://gitlab.com/mbabich/trivial-left-pad 2020-12-11T14:31:51Z phoe: his greatest contribution to Common Lisp library ecosystem 2020-12-11T14:33:25Z ebrasca quit (Remote host closed the connection) 2020-12-11T14:34:53Z aeth: devon: If there's a Scheme library that you want to run, the best thing to do would be to run it via Airship Scheme when it's ready, so you don't have to worry about translating it. Or, if it's code, librarify it. 2020-12-11T14:36:16Z gko_ quit (Ping timeout: 260 seconds) 2020-12-11T14:44:23Z hal99999 joined #lisp 2020-12-11T14:45:01Z jibanes quit (Ping timeout: 246 seconds) 2020-12-11T14:46:37Z luis: phoe: "left-pad is the perfect example of the new frontier of software engineering." nice 2020-12-11T14:46:56Z phoe: luis: the most important package on the Internet 2020-12-11T14:47:04Z phoe: remove it, and half of the world's software stops building! 2020-12-11T14:47:07Z jibanes joined #lisp 2020-12-11T14:47:10Z phoe: ;; /s 2020-12-11T14:47:19Z tmf joined #lisp 2020-12-11T14:49:15Z Nilby: t-l-p is so flawlessly executed with almost no hint of sarcasm. 2020-12-11T14:50:32Z EvW quit (Ping timeout: 258 seconds) 2020-12-11T14:55:16Z hal99999 quit (Ping timeout: 240 seconds) 2020-12-11T14:57:03Z hal99999 joined #lisp 2020-12-11T14:57:16Z phadthai quit (Ping timeout: 260 seconds) 2020-12-11T14:57:32Z edgar-rft: three-little-pigs ? 2020-12-11T14:58:42Z luis: edgar-rft: https://gitlab.com/mbabich/trivial-left-pad 2020-12-11T15:03:13Z phadthai joined #lisp 2020-12-11T15:14:58Z lotuseater joined #lisp 2020-12-11T15:17:47Z sjl joined #lisp 2020-12-11T15:26:09Z lotuseater quit (Quit: ERC (IRC client for Emacs 27.1)) 2020-12-11T15:26:49Z lotuseater joined #lisp 2020-12-11T15:27:54Z andreyorst quit (Ping timeout: 256 seconds) 2020-12-11T15:29:00Z devon: Airship-Scheme looks reasonable at a glance but why do I feel an vague sense of having been rick-rolled? 2020-12-11T15:29:33Z gaqwas quit (Read error: Connection reset by peer) 2020-12-11T15:37:14Z rumbler31 joined #lisp 2020-12-11T15:42:41Z rumbler31 quit (Remote host closed the connection) 2020-12-11T15:43:56Z narimiran quit (Quit: leaving) 2020-12-11T15:44:44Z rumbler31_ quit (Ping timeout: 240 seconds) 2020-12-11T15:46:16Z liberliver quit (Quit: liberliver) 2020-12-11T15:46:31Z Fare joined #lisp 2020-12-11T15:46:44Z ljavorsk quit (Ping timeout: 240 seconds) 2020-12-11T15:47:02Z ex_nihilo quit (Ping timeout: 260 seconds) 2020-12-11T15:53:02Z Nilby: If it works, who cares if it's a joke? 2020-12-11T15:54:01Z Nilby: but actually I think mbabich's coding is quite good 2020-12-11T15:54:59Z lotuseater: First thing I found to this is "Imperial Airship Scheme" :D 2020-12-11T15:55:48Z jibanes quit (Ping timeout: 260 seconds) 2020-12-11T15:57:37Z jibanes joined #lisp 2020-12-11T15:59:03Z gxt__ quit (Ping timeout: 240 seconds) 2020-12-11T16:01:00Z aeth_ joined #lisp 2020-12-11T16:01:04Z aeth quit (Disconnected by services) 2020-12-11T16:01:10Z aeth_ is now known as aeth 2020-12-11T16:01:40Z shifty joined #lisp 2020-12-11T16:02:43Z aeth: That made me wonder if anything on Github uses it. https://github.com/search?p=1&q=trivial-left-pad&type=Code 2020-12-11T16:04:05Z aeth_ joined #lisp 2020-12-11T16:04:11Z aeth quit (Disconnected by services) 2020-12-11T16:04:15Z aeth_ is now known as aeth 2020-12-11T16:04:43Z aeth: The answer is... sort of. A document uses it for some examples. https://github.com/40ants/lisp-project-of-the-day/blob/ea74c4c897e31a5f53ed45505538250531490431/content/2020/09/0181-trivial-left-pad.org 2020-12-11T16:05:28Z devon: Hmm, incompatible syntax… (define 2p⟵Invalid numerical syntax. [Condition of type AIRSHIP-SCHEME::SCHEME-READER-ERROR] 2020-12-11T16:06:00Z aeth: devon: chibi-scheme behaves the same way 2020-12-11T16:06:08Z devon: My vague sense of unease was not the Airship-Scheme code but skipping breakfast. 2020-12-11T16:06:43Z aeth: The issue is that R6RS specifies exactly what's an invalid number and what's a symbol. That is, 2p is invalid. Whereas R7RS leaves it up to the implementation. 2020-12-11T16:07:17Z aeth: On the other hand, both Racket and CL are a lot more lenient and permit '2p 2020-12-11T16:07:37Z aeth: (although it looks like SBCL prints '2p as |2P| so it escapes the output, but doesn't require it for the input) 2020-12-11T16:08:04Z Cymew quit (Ping timeout: 256 seconds) 2020-12-11T16:08:11Z lotuseater: typing '2p gives |2P| 2020-12-11T16:08:18Z lotuseater: oh you were faster :) 2020-12-11T16:09:40Z notzmv joined #lisp 2020-12-11T16:10:53Z nij joined #lisp 2020-12-11T16:11:45Z random-nick joined #lisp 2020-12-11T16:12:07Z devon: If R7RS affords the option, I'll make it configurable. 2020-12-11T16:12:56Z aeth: Airship Scheme can't use the host CL's reader for this because its symbol-vs-number syntax is different (e.g. Scheme has complex syntax for its complex numbers, and it has a literal infnan) and because it uses a hack to get compatible symbols. 2020-12-11T16:13:00Z aeth: It manually inverts the (hopefully just non-Unicode) case to read car as CAR and then print it back out again it as car (which as to be non-Unicode, or at least not fully Unicode, to be reversible). 2020-12-11T16:13:16Z aeth: s/which as/which has/ 2020-12-11T16:13:37Z devon: We're stuck with #C(0 1) instead of 0+1i 2020-12-11T16:13:51Z eden quit (Remote host closed the connection) 2020-12-11T16:14:22Z defunkydrummer joined #lisp 2020-12-11T16:16:57Z jackdaniel: #i2+3 ;) 2020-12-11T16:17:02Z aeth: The thing is, 2p isn't a problematic symbol. 2389748939023.0e34p is a problematic symbol. 2020-12-11T16:17:36Z aeth: My guess is both CLs and Racket have to build both the symbol string and the number in parallel. Or they build a string and then read it into a number. Neither are necessary if you don't permit such things. 2020-12-11T16:19:06Z aeth: jackdaniel: sorry, #i is for infix 2020-12-11T16:19:39Z jackdaniel: not in my readtable ^_^ 2020-12-11T16:19:54Z jackdaniel: in my readtable #i is not defined 2020-12-11T16:20:24Z aeth: jackdaniel: next thing you're going to tell me is that you don't have a #h reader macro for hash tables, either :o 2020-12-11T16:20:38Z jackdaniel: that's correct! 2020-12-11T16:20:41Z aeth: do you even reader macro? 2020-12-11T16:21:10Z jackdaniel: sure, #l(list 'literal-lambda %1), but only in repl 2020-12-11T16:27:25Z aeth: devon: In case you're wondering, I'm taking a week off from Airship Scheme now that the reader is standard (oh no, it has been a week now!) before attempting to fix the continuation passing style stuff (which will eventually provide if, lambda, and a hardcoded, inelegant define). The reader is R7RS standard, not CL standard. 2020-12-11T16:28:23Z aeth: I guess in the long run I could make it bilingual CL/Scheme, at least as an option, with a handful of exceptions, like the custom case inversion instead of case upcasing. 2020-12-11T16:29:16Z aeth: It seems like a lot of work, though, so it wouldn't be a plan for 1.0 2020-12-11T16:29:54Z shifty quit (Ping timeout: 272 seconds) 2020-12-11T16:30:32Z shifty joined #lisp 2020-12-11T16:33:00Z aeth: Maybe I could switch symbols to using an invert readtable case instead of manually doing it. The implementation does guarantee that it must be done in pairs (and thus can't be Unicode), which might be good enough. http://www.lispworks.com/documentation/HyperSpec/Body/13_adcd.htm 2020-12-11T16:33:20Z phoe: this part of CLHS is incompatible with unicode 2020-12-11T16:33:25Z aeth: It still has the problem of when something is a number in Scheme, but not in CL. 2020-12-11T16:33:44Z aeth: phoe: And it's the correct decision because it's the only thing that makes :invert possible. 2020-12-11T16:35:11Z aeth: Unicode case can't apply to characters, only to strings. The various issues in one line of non-portable SBCL: (values (sb-unicode:uppercase "ß") (sb-unicode:uppercase "i") (sb-unicode:uppercase "i" :locale :tr) (sb-unicode:lowercase (sb-unicode:uppercase "ς"))) 2020-12-11T16:36:28Z aeth: The only issue is that sb-unicode is, well, sb-unicode. Someone needs to make it portable because the equivalents aren't as good. 2020-12-11T16:36:52Z drl joined #lisp 2020-12-11T16:37:38Z mfiano: Did you know SBCL's reader also asciifies unicode? 2020-12-11T16:38:34Z aeth: By the way, the R7RS-small version of Scheme does it the wrong way, and tries to use full Unicode case algorithms on characters, which means that #\ß cannot possibly have a good upcase. 2020-12-11T16:39:01Z mfiano: (I'm not happy about that btw) 2020-12-11T16:39:47Z aeth: mfiano: Well, depending on what you mean, I guess I can't just assume that I can just use the implementation's :invert when it isn't a potential number, then. 2020-12-11T16:39:54Z mfiano: (char (symbol-name 'foo²) 3) => #\2 2020-12-11T16:40:42Z aeth: Not like it would be that good of a solution, anyway, since +foo+ is read as a potential number thanks to the + and a slight incompatability between my manual case-invert for '+foo+ vs. the implementation's :invert for 'foo+ would be really confusing 2020-12-11T16:40:51Z shifty quit (Ping timeout: 265 seconds) 2020-12-11T16:41:22Z aeth: or, in this case, I guess +foo²+ vs. foo²+ 2020-12-11T16:41:52Z nij left #lisp 2020-12-11T16:44:22Z toorevitimirp quit (Remote host closed the connection) 2020-12-11T16:44:25Z Nilby: If you want it bad enough, Lisp can read anything : ihttps://plaster.tymoon.eu/view/2189#2189 (read-from-string "0+1i") => #C(0 1) 2020-12-11T16:46:32Z aeth_ joined #lisp 2020-12-11T16:46:35Z lotuseater: i now think to try writing some dump readmacro with three components 2020-12-11T16:46:35Z aeth quit (Disconnected by services) 2020-12-11T16:46:39Z aeth_ is now known as aeth 2020-12-11T16:47:30Z lotuseater: Nilby: oh this is what *READ-INTERN* is for, never used it yet 2020-12-11T16:47:41Z aeth: So I guess if I want a bilingual reader I'm going to have to reinvent readtable case (to implement my own :invert) and have my own, incompatible readtable concept. 2020-12-11T16:47:59Z aeth: Alternatively, I guess that I could use the implementation's readtable; get the readtable case from it, using the READTABLE-CASE accessor; and then manually do symbol reading based on that information. 2020-12-11T16:48:20Z aeth: All of these are questions that I don't really want to deal with before I even have the basic, standards-compliant Scheme running, though. 2020-12-11T16:49:52Z Nilby: Darn. I forgot you guys don't have *read-intern* yet. You could substitute a set of #\0 - #\9 number reader macros, but it's quite a bit more involved. 2020-12-11T16:50:15Z lotuseater: yes now I see it's not part of the standard :D never mind 2020-12-11T16:50:21Z aeth: Nilby: re https://plaster.tymoon.eu/view/2189#2189 2020-12-11T16:50:24Z aeth: I mean it works 2020-12-11T16:50:36Z aeth: But it creates an intermediate symbol, I think? 2020-12-11T16:51:01Z aeth: This can be problematic, although it's technically case-insensitive in Scheme so supporting both 4+i and 4+I wouldn't be incompatible 2020-12-11T16:51:32Z Nilby: *read-intern* is a function the reader calles to intern symbols. it gets passed a string 2020-12-11T16:51:39Z notzmv quit (Remote host closed the connection) 2020-12-11T16:51:56Z notzmv joined #lisp 2020-12-11T16:52:36Z Nilby: I mean you wouldn't want to do this for real, e.g. ppcre:split is a bit heavy for a reader thing. 2020-12-11T16:53:25Z Nilby: I don't see where it creates an intermediate symbol. 2020-12-11T16:53:40Z aeth: There's probably a bunch of reader macro magic that can do exactly what I want to do (with the major issue being the semantics of certain things like mfiano's example in SBCL), but I went down that route for the initial cl-scheme (from which only standard-procedures.lisp survives) and even just doing #t and #f was hard. 2020-12-11T16:54:03Z aeth: (In that particular case, that's because they're dispatch reader macros, and that means you get to handle things like #43t. Additionally, balancing parentheses with them is a nightmare.) 2020-12-11T16:54:43Z aeth: Nilby: An intermediate string is still more than what I do. I go character-by-character and don't need to build up a string at all, except for symbols and, obviously, strings. 2020-12-11T16:54:44Z bendersteed quit (Ping timeout: 258 seconds) 2020-12-11T16:54:46Z hiroaki quit (Ping timeout: 256 seconds) 2020-12-11T16:55:16Z Nilby: aeth: That is quite sensible. I was just seeing how to do it for fun. 2020-12-11T16:55:17Z aeth: An advantage of our number system over Roman numerals is that you can just parse things character-by-character. 2020-12-11T16:56:24Z aeth: Parsing "IV" vs. "III" where the "I" means two different things is something that I guess could be done, but by the time you handle all of that type of syntax, you might as well just use cl-ppcre on a string 2020-12-11T16:56:26Z lotuseater: how do i catch the numarg in a dispatch macro character? 2020-12-11T16:57:13Z lotuseater: aeth: yes Romans weren't as good at math, maybe just for building stuff 2020-12-11T16:58:21Z aeth: The Romans had surprisingly advanced math that they stole from the Greeks, including a proto-calculus. This sort of thing didn't go away until centuries after the start of the empire. Everything's much harder with the wrong notation, though. Everything. 2020-12-11T16:58:30Z beach: lotuseater: It's the argument of the dispatch function. 2020-12-11T16:59:14Z lotuseater: ah hm alright 2020-12-11T16:59:55Z lotuseater: normally i do (lambda (stream char1 char2) ...) or something 2020-12-11T17:01:13Z beach: Let me see if I can find the information... 2020-12-11T17:01:57Z beach: clhs 2.1.4.4 2020-12-11T17:01:57Z specbot: Macro Characters: http://www.lispworks.com/reference/HyperSpec/Body/02_add.htm 2020-12-11T17:02:26Z aeth: There are three things in notation that really changed everything in a simplifying way that really could have come up at any time in history. Arabic numerals (with positional digits), algebra (using a bunch of letters instead of prose), and s-expressions (perfectly regular syntax instead of a mix of prefix/postfix/infix/etc. in the two-dimensional (because of e.g. fractions) language of written mathematics). 2020-12-11T17:02:48Z beach: lotuseater: Last sentence of next-to-last paragraph. 2020-12-11T17:03:29Z lotuseater: ah so it's written that the reader after reading the dispatch char reads in an integer as long as the second char shows up? 2020-12-11T17:03:38Z beach: "The reader macro function associated with the sub-character C2 is invoked with three arguments: the stream, the sub-character C2, and the infix parameter P. 2020-12-11T17:04:17Z beach: lotuseater: Something like that, yes. 2020-12-11T17:04:48Z beach: Either way, the infix parameter is passed as the last argument to the dispatch function. 2020-12-11T17:06:04Z jibanes quit (Ping timeout: 240 seconds) 2020-12-11T17:07:52Z Nilby: But Babylonian numbers are positional and almost homoiconic. But I love that I can do this (format t "~36r" #36rfizzle) 2020-12-11T17:08:35Z jibanes joined #lisp 2020-12-11T17:14:56Z jibanes quit (Ping timeout: 240 seconds) 2020-12-11T17:17:09Z jibanes joined #lisp 2020-12-11T17:25:43Z gaqwas joined #lisp 2020-12-11T17:25:43Z gaqwas quit (Changing host) 2020-12-11T17:25:43Z gaqwas joined #lisp 2020-12-11T17:27:12Z lotuseater: Nilby: i once did (setq *read-base* 36) and then i everything got messy :D 2020-12-11T17:28:02Z Nilby: lotuseater: Nice. That should be in a "code your way out of this" challenge. 2020-12-11T17:29:11Z Nilby: Another fun "code your way out of this" is (delete-package :cl). 2020-12-11T17:31:20Z lotuseater: yes a friend was over, we got laughing very much but didn't achieve it 2020-12-11T17:31:57Z lotuseater: he is not a lisper but recognizes and respects the power of it 2020-12-11T17:32:51Z Nilby: I wonder if there's any other language where you can do something like set *read-base* 2020-12-11T17:33:10Z lotuseater: hm sparely i think 2020-12-11T17:33:26Z Nilby: It seems like it's use is for reading data. 2020-12-11T17:34:39Z lotuseater: i have a package with functions to transform integers to base i-1 (#c(-1 1)), in default *READ-BASE* is limited to bases 2-36 but that's good so 2020-12-11T17:35:07Z lotuseater: yes you should change read-base just in lexical scopes 2020-12-11T17:38:01Z lotuseater: beach: ah yes now i recognize again, lambda lists for dispatch readmacros in Let over Lambda have (stream sub-char numarg) 2020-12-11T17:38:22Z judson_ joined #lisp 2020-12-11T17:38:53Z Blukunfando joined #lisp 2020-12-11T17:39:29Z Alfr_: lotuseater, (|SETF| |*READ-BASE*| a) will do the trick. 2020-12-11T17:39:59Z drl quit (Quit: Leaving) 2020-12-11T17:40:02Z lotuseater: thx Alfr_ :) 2020-12-11T17:40:16Z drl joined #lisp 2020-12-11T17:42:07Z lotuseater: hm if i do normal stuff after that it's stuck in base 36 o_O 2020-12-11T17:43:03Z Nilby: or #10r10 in case someone did (setf *read-base* (random 37)) 2020-12-11T17:43:48Z jasom: Nilby: or just 10. 2020-12-11T17:45:00Z EvW joined #lisp 2020-12-11T17:45:23Z Nilby: jasom: That doesn't seem to work. 2020-12-11T17:46:03Z Alfr_: jasom, in read-base > 10, "10" would be read to an integer with value read-base, not decimal 10. 2020-12-11T17:46:04Z aeth quit (Ping timeout: 240 seconds) 2020-12-11T17:46:19Z jasom: Not "10" "10." 2020-12-11T17:47:24Z beach: lotuseater: So it works? 2020-12-11T17:47:28Z Alfr_: That should work. Nice to be reminded of the one notation I really dislike. :D 2020-12-11T17:47:29Z jasom: http://clhs.lisp.se/Body/02_cbaa.htm 2020-12-11T17:47:38Z Nilby: Sorry, I read . as period not decimal_point 2020-12-11T17:48:13Z aeth joined #lisp 2020-12-11T17:48:16Z jasom: reasonable confuse 2020-12-11T17:48:20Z jasom: *confusion 2020-12-11T17:49:06Z Nilby: I strive for reasonableness in my confusion. :) 2020-12-11T17:52:16Z jasom: I assume the "." suffix is why there is #b #x #o but not #d 2020-12-11T17:53:03Z froggey quit (Remote host closed the connection) 2020-12-11T17:53:42Z dbotton joined #lisp 2020-12-11T17:54:01Z lotuseater: beach: no not entirely the way expected or hoped to :) 2020-12-11T17:54:04Z jibanes quit (Ping timeout: 240 seconds) 2020-12-11T17:55:54Z froggey joined #lisp 2020-12-11T17:56:18Z jibanes joined #lisp 2020-12-11T18:00:14Z banjomet joined #lisp 2020-12-11T18:01:04Z gareppa joined #lisp 2020-12-11T18:03:01Z gareppa quit (Remote host closed the connection) 2020-12-11T18:07:32Z orivej joined #lisp 2020-12-11T18:10:24Z dbotton: Is there a way to have a non dynamic defvar? (Ie a true global in the c sense) 2020-12-11T18:10:38Z Fare quit (Ping timeout: 258 seconds) 2020-12-11T18:11:33Z skapata joined #lisp 2020-12-11T18:12:57Z phoe: dbotton: yes 2020-12-11T18:12:59Z phoe: (ql:quickload :global-vars) 2020-12-11T18:13:10Z phoe: this defines a global lexical variable 2020-12-11T18:13:45Z dbotton: Usable between threads? 2020-12-11T18:15:02Z phoe: AFAIK yes 2020-12-11T18:16:40Z dbotton: Great thanks 2020-12-11T18:17:00Z aeth quit (Ping timeout: 260 seconds) 2020-12-11T18:18:47Z aeth joined #lisp 2020-12-11T18:20:04Z hnOsmium0001 joined #lisp 2020-12-11T18:20:20Z jibanes quit (Ping timeout: 256 seconds) 2020-12-11T18:22:02Z jibanes joined #lisp 2020-12-11T18:22:28Z dbotton quit (Quit: This computer has gone to sleep) 2020-12-11T18:23:36Z rumbler31_ joined #lisp 2020-12-11T18:26:36Z jonatack quit (Ping timeout: 240 seconds) 2020-12-11T18:27:49Z jibanes quit (Ping timeout: 264 seconds) 2020-12-11T18:28:14Z lotuseater quit (Ping timeout: 264 seconds) 2020-12-11T18:28:29Z jibanes joined #lisp 2020-12-11T18:29:12Z aartaka joined #lisp 2020-12-11T18:29:47Z andreyorst joined #lisp 2020-12-11T18:32:04Z aartaka_d quit (Ping timeout: 256 seconds) 2020-12-11T18:33:00Z mbomba joined #lisp 2020-12-11T18:34:16Z jibanes quit (Ping timeout: 240 seconds) 2020-12-11T18:34:33Z matryoshka quit (Ping timeout: 272 seconds) 2020-12-11T18:35:20Z jibanes joined #lisp 2020-12-11T18:38:08Z narimiran joined #lisp 2020-12-11T18:38:50Z shifty joined #lisp 2020-12-11T18:39:04Z eden joined #lisp 2020-12-11T18:39:45Z matryoshka joined #lisp 2020-12-11T18:39:54Z gzj joined #lisp 2020-12-11T18:40:54Z jibanes quit (Ping timeout: 260 seconds) 2020-12-11T18:41:23Z matryoshka quit (Client Quit) 2020-12-11T18:41:41Z jibanes joined #lisp 2020-12-11T18:42:20Z matryoshka joined #lisp 2020-12-11T18:42:50Z matryoshka quit (Client Quit) 2020-12-11T18:43:43Z matryoshka joined #lisp 2020-12-11T18:45:02Z shifty quit (Ping timeout: 256 seconds) 2020-12-11T18:46:42Z EvW quit (Ping timeout: 260 seconds) 2020-12-11T18:47:54Z jibanes quit (Ping timeout: 260 seconds) 2020-12-11T18:48:42Z jibanes joined #lisp 2020-12-11T18:50:21Z jonatack joined #lisp 2020-12-11T18:51:19Z nij joined #lisp 2020-12-11T18:53:10Z nij: Does anyone here have extensive experiences with both cl and clojure? 2020-12-11T18:53:22Z nij left #lisp 2020-12-11T18:53:39Z nij joined #lisp 2020-12-11T18:53:53Z nij: Uh internet got cut out. Not sure if my message went out.. 2020-12-11T18:53:53Z jackdaniel: I can denounce a few people, but I'm not sure if they are willing to be denounced ,) 2020-12-11T18:53:58Z jackdaniel: it went 2020-12-11T18:54:01Z nij: Oh 2020-12-11T18:54:08Z defunkydrummer: nij: Uh oh, the clojure versus common lisp debate again... 2020-12-11T18:54:20Z nij: Ok.. I just hope to get some comparison between them. 2020-12-11T18:54:21Z jackdaniel: not really versus, just overlapping experience 2020-12-11T18:54:28Z nij: defunkydrummer: no I had not experience with clojure. 2020-12-11T18:55:46Z defunkydrummer: nij: you can search the r/Lisp reddit, because the comparisons between CL and clojure have been done many times over and over again 2020-12-11T18:56:02Z nij: defunkydrummer: that sounds like a legit approach. 2020-12-11T18:56:09Z hiroaki joined #lisp 2020-12-11T18:56:13Z nij: Ok! Then I won't toxic this place xD 2020-12-11T18:56:33Z defunkydrummer: nij: suffice to say, i don't like benevolent dictators in my language, i like having many fully-featured implementations, and Java libs should be optional, not entangled within the language. Thus, i choose Common Lisp 2020-12-11T18:57:25Z defunkydrummer: nij: and if you need to interact between lisp and java libraries, there's a common lisp implementation called "Armed Bear Common Lisp" (ABCL) that lets you call java libs very easily; a piece of cake. So this isn't an advantage that is exclusive to Clojure. 2020-12-11T18:57:34Z jibanes quit (Ping timeout: 256 seconds) 2020-12-11T18:58:05Z defunkydrummer: nij: additionally, most or all the clever constructs for functional programming/etc are also available on common lisp by simply importing libraries, so no big deal either 2020-12-11T18:58:06Z jackdaniel: that resembles comparison I've heard in the past: clojure is an opinionated language (it helps the programmer to do the right thing, while the right thing is defiend by the clojure designer opinion), while common lisp gives you a large toolbox and lets you hang yourself 2020-12-11T18:58:18Z jackdaniel: (so it is up to the programmer to execute their opinions) 2020-12-11T18:58:26Z defunkydrummer: jackdaniel: Hooray for euthanasia! 2020-12-11T18:58:44Z jackdaniel: that's not what I meant of course :_) 2020-12-11T18:58:54Z nij: Yeah I get cl is great and minimal in that sense. 2020-12-11T18:59:09Z nij: But on the other hand, I also worry the size of the community. 2020-12-11T18:59:13Z jibanes joined #lisp 2020-12-11T19:00:30Z nij: jackdaniel: How about Scheme? 2020-12-11T19:00:36Z X-Scale` joined #lisp 2020-12-11T19:00:43Z nij: I've heard that Scheme is more minimal than common lisp. 2020-12-11T19:00:45Z jackdaniel: if you like lego it shoudl be fine 2020-12-11T19:00:55Z nij: Does it make Scheme even less opinionated? 2020-12-11T19:01:08Z jackdaniel: I need to spend now some time with my family, so I'm going afk 2020-12-11T19:01:08Z defunkydrummer: nij: size of the community is a plus. We know each other and we support each other in brotherly love, infinte kindness, and expansive wisdom. 2020-12-11T19:01:18Z nij: xD 2020-12-11T19:01:30Z jackdaniel: I'd say that scheme is opinionated: functional programming, purity, sterile macros etc 2020-12-11T19:01:36Z defunkydrummer: nij: scheme is a great language. Used to be small but with the latest scheme spec it might not be so small today 2020-12-11T19:01:38Z jackdaniel: that said, it is offtopic here :) 2020-12-11T19:01:45Z jackdaniel: have a good evening \o 2020-12-11T19:02:36Z X-Scale quit (Ping timeout: 256 seconds) 2020-12-11T19:02:37Z X-Scale` is now known as X-Scale 2020-12-11T19:02:53Z defunkydrummer: nij: common lisp used to be known as a very "big" language but only because it included a standard library within the language. When you compare it to the standard libraries of Python (which are part of the language as well), CL isn't big anymore. Yet its essentials provide more than what Python brings to the table, just to pick a lanugage for comparison. 2020-12-11T19:03:09Z jonatack quit (Read error: Connection reset by peer) 2020-12-11T19:03:38Z nij: I see. 2020-12-11T19:03:43Z defunkydrummer: nij: in 1984, when CL was defined in a book, languages didn't come with any big standard library, only minimal stuff. CL was one of the first "battery-included" languages 2020-12-11T19:04:05Z nij: I find myself caring less and less about minimalism as I grow :((((( 2020-12-11T19:04:16Z defunkydrummer: nij: good growth 2020-12-11T19:04:36Z jibanes quit (Ping timeout: 240 seconds) 2020-12-11T19:04:40Z defunkydrummer: nij: sometimes languages are designed minimal because this makes the implementation/compiler be easy to write. Those lazy compiler writers!! 2020-12-11T19:04:44Z nij: Then shouldn't I choose clojure then? I like lisp for its expressiveness.. and clojure has that too. 2020-12-11T19:04:45Z phoe: nij: that's good 2020-12-11T19:04:57Z defunkydrummer: nij: so the lazyness of compiler writers become extra effort for the everyday developer, the common man 2020-12-11T19:05:05Z phoe: clojure, compared to CL, is paradigmatically challenged 2020-12-11T19:05:14Z phoe: mostly because it has a pretty strict functional paradigm 2020-12-11T19:05:39Z aindilis` joined #lisp 2020-12-11T19:05:50Z aindilis quit (Ping timeout: 258 seconds) 2020-12-11T19:06:08Z nij: phoe: would you elaborate? 2020-12-11T19:06:12Z defunkydrummer: nij: Common Lisp is a very hard language to implement. Because it has a lot of powerful features. E 2020-12-11T19:06:21Z phoe: that's what makes it troublesome for me to write Clojure, I can't bend the language to my needs very easily. I can force myself to write functional code, it's just that I can't do it in the "mostly functional" style that I'm used to - where most of the code is functional and I use HOFs but I also have imperative logic, either in OO-like core or in mostly-functional but internally imperative functions 2020-12-11T19:07:35Z nij: phoe: it forces your code to be very functional? 2020-12-11T19:07:49Z phoe: nij: clojure? yes 2020-12-11T19:08:48Z nij: What are some bread and butter in cl that's not allowed in clojure, as an example? 2020-12-11T19:08:52Z phoe: CLOS 2020-12-11T19:09:12Z phoe: SETF 2020-12-11T19:09:25Z nij: Jeez. 2020-12-11T19:09:39Z phoe: reader macros ain't bread and butter but still 2020-12-11T19:09:49Z defunkydrummer: nij: and, some useful features for interactive programming. That are absent in clojure. 2020-12-11T19:10:03Z phoe: did clojure backtraces become any good now? 2020-12-11T19:10:08Z ck_: phoe: no 2020-12-11T19:10:35Z defunkydrummer: phoe: well, clojure has reader macros, but you're very limited in your choice of characters you can bind a reader macro to... The reader macro character has to start with #, if i recall correctly. Which is a big limitation! 2020-12-11T19:10:57Z jibanes joined #lisp 2020-12-11T19:11:05Z phoe: defunkydrummer: TIL! I thought they were completely erased from the language, I think I mentioned Rich saying that sometime 2020-12-11T19:11:14Z phoe: oh right 2020-12-11T19:11:16Z phoe: a condition system! 2020-12-11T19:11:23Z defunkydrummer: lol 2020-12-11T19:11:23Z ck_: phoe: but you just implemented that in Java 2020-12-11T19:11:26Z phoe: it doesn't have a condition system, just dumb Java exceptions 2020-12-11T19:11:32Z defunkydrummer: nah, but nobody needs a condition system... 2020-12-11T19:11:32Z phoe: ck_: yes, but not in Clojure 2020-12-11T19:11:36Z phoe: I didn't say it's impossible to implement 2020-12-11T19:11:43Z phoe: I said that Clojure considered it unnecessary 2020-12-11T19:12:03Z ck_: "not allowed in Clojure" was, I thought, the question you were asking 2020-12-11T19:12:09Z defunkydrummer: nij: the CL condition system is an awesome feature of CL. So awesome, some people even write books about it. And publish them on Apres. 2020-12-11T19:12:17Z ck_: since Clojure is a Java library technically, your implementation allows it 2020-12-11T19:12:26Z phoe: ck_: no, more like, which features of CL are not present in Clojure 2020-12-11T19:12:37Z phoe: there is a condition system available as a library for Clojure but that's still kinda eh 2020-12-11T19:12:42Z ck_: phoe: s/asking/answering/ sorry 2020-12-11T19:13:07Z phoe: but yes, it's possible to get a condition system in Clojure as a Java library; clojure macros would even make the syntax bearable! 2020-12-11T19:13:16Z phoe: .....I actually need to do that sometime 2020-12-11T19:13:18Z ck_: anyway I'd like to add to the list: the Clojure printer doesn't resolve circular structure 2020-12-11T19:14:00Z nij: ok......... how about JVM? I know little about it. My impression is that JVM is inevitable to deal with in "practical jobs". Can CL deal with it nicely? 2020-12-11T19:14:22Z ck_: nij: there's ABCL 2020-12-11T19:14:35Z varjag: jvm is legacy now 2020-12-11T19:14:46Z Nilby: JVM is by no means inevitable. 2020-12-11T19:14:48Z ck_: I don't know about 'nicely' though.. and also what you mean by "practical jobs" 2020-12-11T19:15:16Z defunkydrummer: nij: tons of practical jobs outside the jvm. The JVM is just a virtual machine. A big part of the computer servers and programs right now on the internet are NOT running on the jvm. 2020-12-11T19:15:40Z defunkydrummer: nij: for example the two most popular programming languages right now are Python and Javascript, and both have zero thing to do with the JVM 2020-12-11T19:16:18Z varjag: containerization killed vms 2020-12-11T19:16:18Z defunkydrummer: nij: That being said, the JVM is a virtual machine that runs Java bytecode and in this task it is extremely efficient. So it is a very good virtual machine, with very good garbage collectors, optimizations, etc. Good stuff. 2020-12-11T19:16:35Z phoe: defunkydrummer: "some people even write books about it" 2020-12-11T19:16:36Z phoe: touche 2020-12-11T19:16:45Z ck_: phoe: you should check it out 2020-12-11T19:16:54Z phoe: OK, I will. 2020-12-11T19:16:58Z defunkydrummer: phoe: and some people even buy those books!! 2020-12-11T19:17:04Z phoe: defunkydrummer: madmen 2020-12-11T19:17:30Z defunkydrummer: phoe: oh please don't get me started on my doctoral thesis: "Insanity in the Common Lisp Ecosystem" 2020-12-11T19:17:31Z Nilby: lol 2020-12-11T19:17:49Z phoe: defunkydrummer: I am both curious and scared of this thesis 2020-12-11T19:18:03Z phoe: let's discuss it, but on #lispcafe 2020-12-11T19:18:24Z jibanes quit (Ping timeout: 240 seconds) 2020-12-11T19:18:41Z defunkydrummer: nij: But clojure isn't a bad language when you compare with other popular languages like Python. Compared to most popular languages, it's good stuff. Very good stuff. However when compared with common lisp, there are things that are missed. 2020-12-11T19:19:27Z nij: lol 2020-12-11T19:19:34Z phoe: no, that's serious 2020-12-11T19:20:25Z jibanes joined #lisp 2020-12-11T19:22:20Z Nilby: "10 signs you may have caught a Lisp related mental illness" 2020-12-11T19:25:30Z defunkydrummer: LOL 2020-12-11T19:25:43Z jibanes quit (Ping timeout: 246 seconds) 2020-12-11T19:26:29Z jonatack joined #lisp 2020-12-11T19:26:50Z jibanes joined #lisp 2020-12-11T19:27:17Z eta quit (Ping timeout: 260 seconds) 2020-12-11T19:27:46Z defunkydrummer: nij: I think it's very good that Clojure exists, because it has been a source of some ideas that then were implemented afterwards into Common Lisp. 2020-12-11T19:28:10Z ck_: I agree, arrows are good for example 2020-12-11T19:28:23Z nij: Arrows? As the arrows in haskell? 2020-12-11T19:28:23Z defunkydrummer: nij: also, it gives companies where using Common Lisp scares the managers, an alternative to use some of the power of lisp without shocking anybody 2020-12-11T19:28:39Z nij: defunkydrummer: this is uplifting. 2020-12-11T19:28:42Z defunkydrummer: nij: i'd leave the arrow work to the indians. They know how to use them well. 2020-12-11T19:28:43Z ck_: nij: Clojure calls them "threading macros", -> and ->> are thread-first and thread-last 2020-12-11T19:28:49Z nij wants LISP TO SPREAD! 2020-12-11T19:29:13Z defunkydrummer: nij: lisp isn't butter or margarine 2020-12-11T19:29:14Z ck_: nij: it is spreading and has for a long time. The influences are far and wide 2020-12-11T19:29:26Z ck_: defunkydrummer: I can't believe it's not butter! 2020-12-11T19:29:40Z nij: ck_: I want parenthesis to spread! 2020-12-11T19:29:45Z defunkydrummer: nik: yeah, lisp influences are very very strong into Python, javascript... the most popular languages right now 2020-12-11T19:29:46Z phoe: nij: arrows as in Clojure 2020-12-11T19:29:51Z phoe: arrow macros, also known as threading macros. 2020-12-11T19:30:12Z phoe: I have a tutorial for my variant of them at https://github.com/phoe/binding-arrows/blob/main/doc/TUTORIAL.md 2020-12-11T19:30:30Z defunkydrummer: phoe: i'd leave the threading work to the tailors. They know how to thread those tiny threads well. 2020-12-11T19:30:44Z phoe: you should be able to understand the basic mechanism of how they are supposed to work from that. 2020-12-11T19:30:47Z defunkydrummer: phoe: and by the way let's leave the channel work to the civil engineers 2020-12-11T19:30:56Z phoe: defunkydrummer: channel work? what do you mean 2020-12-11T19:31:41Z defunkydrummer: phoe: i'm doing a pun on threads, channels and other concurrent constructs 2020-12-11T19:31:47Z phoe: :D 2020-12-11T19:31:47Z defunkydrummer: :/ 2020-12-11T19:31:51Z phoe: I understand now 2020-12-11T19:31:56Z nij: Besides threadings, are there other inspiring notions? 2020-12-11T19:31:56Z curiouscain: :^) 2020-12-11T19:31:57Z phoe: sorry, I'm still a bit tired 2020-12-11T19:32:06Z defunkydrummer: phoe: i see... 2020-12-11T19:32:09Z nij: reducers and transducers? (I'm still reading about them) 2020-12-11T19:32:19Z defunkydrummer: leave the transducers to the electronic engineers 2020-12-11T19:32:45Z defunkydrummer: nij: the problem is, Clojure introduces some slang for things that are better known by other names. I'd say this adds unnecessary difficulty 2020-12-11T19:33:01Z nij: oh oh ok. 2020-12-11T19:33:12Z ck_: oh yes .. in a way it is a good thing that Common Lisp has no single figure at the head of the organization 2020-12-11T19:33:14Z defunkydrummer: nij: to put a simple example, on ALL lisps except Clojure, the ATOM is exactly the same concept in all those lisps. Not in Clojure. :S 2020-12-11T19:33:20Z nij: I'm just curious. This is not particular about clojure. 2020-12-11T19:33:30Z nij: I would like to collect many powerful "utilities". 2020-12-11T19:33:36Z nij: (Like monads.) 2020-12-11T19:33:41Z nij: (in mathematics.) 2020-12-11T19:33:43Z eta joined #lisp 2020-12-11T19:33:45Z defunkydrummer: ooohh we have a HASKELLER here!! 2020-12-11T19:33:47Z harlchen: >>= 2020-12-11T19:33:53Z defunkydrummer presses the red button 2020-12-11T19:34:04Z nij kicks himself out! 2020-12-11T19:34:06Z phoe: monads in CL don't really work 2020-12-11T19:34:12Z nij: no no no no no 2020-12-11T19:34:17Z nij: I don't mean monad in haskell sense. 2020-12-11T19:34:23Z phoe: ooooh 2020-12-11T19:34:27Z nij: I mean the mathematical concept.. is really great. 2020-12-11T19:34:32Z nij: (well at the end they are the same thing) 2020-12-11T19:34:53Z nij: It's a notion that captures lots of thoughts in a slick way. 2020-12-11T19:35:02Z defunkydrummer: nij: and now that we're at it, let's also leave the purity for the chemists 2020-12-11T19:35:06Z nij: If you know about cohomology.. you'd appreciate more. 2020-12-11T19:35:18Z nij: ok so besides threading.. what can I learn more? 2020-12-11T19:35:20Z defunkydrummer: nij: and let's leave the "lazy evaluation" to careless teachers 2020-12-11T19:35:50Z defunkydrummer: nij: i'm just joking while I wait for my food to arrive 2020-12-11T19:35:56Z nij: loll 2020-12-11T19:36:16Z defunkydrummer: nij: a nice introductory book to Common Lisp is "Practical Common Lisp" which can be read for free online. Which is a proof that Lispers are nice people. 2020-12-11T19:36:28Z nij: haha 2020-12-11T19:36:42Z phoe: defunkydrummer: hah 2020-12-11T19:37:03Z nij: defunkydrummer: plz. Are there more slick notions that are nice to learn? 2020-12-11T19:37:18Z phoe: slick notions, you mean syntax tricks? 2020-12-11T19:37:18Z nij: Those that help you express yourself in a slicker way. 2020-12-11T19:37:29Z defunkydrummer: Common Lisp: The language for Nice People (Trademark) 2020-12-11T19:37:34Z ck_: paip is online now as well, isn't it 2020-12-11T19:37:45Z phoe: Gentle is online, too 2020-12-11T19:37:59Z defunkydrummer: ck_: i don't know... but that's a GREAT book 2020-12-11T19:37:59Z phoe: it's good especially for people who have not programmed much 2020-12-11T19:38:07Z phoe: and it starts from the very very beginning, so, hmmmmm 2020-12-11T19:38:20Z defunkydrummer: nij: Take note: Paradigms In Artificial Programming: Case studies in Common Lisp, by Peter Seibel 2020-12-11T19:38:25Z phoe: nij: if you're a mathematician, and you want to get to the bottom of all things, I wonder if you could benefit from gentle 2020-12-11T19:38:28Z defunkydrummer: minion: tell nij about PAIP 2020-12-11T19:38:28Z minion: nij: PAIP: Paradigms of Artificial Intelligence Programming. More about Common Lisp than Artificial Intelligence. Now freely available at https://github.com/norvig/paip-lisp 2020-12-11T19:38:30Z phoe: minion: tell nij about gentle 2020-12-11T19:38:30Z minion: nij: please look at gentle: "Common Lisp: A Gentle Introduction to Symbolic Computation" is a smoother introduction to lisp programming. http://www.cs.cmu.edu/~dst/LispBook/ 2020-12-11T19:38:42Z defunkydrummer: minion: tell nij about life, the universe and everything 2020-12-11T19:38:43Z nij: PAIP yes the huge book 2020-12-11T19:38:44Z minion: nij: you speak nonsense 2020-12-11T19:38:53Z defunkydrummer: lol 2020-12-11T19:38:54Z ck_: :o 2020-12-11T19:38:56Z phoe: minion: wait what 2020-12-11T19:38:56Z minion: watch out, you'll make krystof angry 2020-12-11T19:39:07Z phoe: oh shit I never thought I'd see the way when minion gets aggressive 2020-12-11T19:39:11Z phoe: s/way/day/ 2020-12-11T19:39:19Z defunkydrummer: nij: PAIP may be huge but it's rich in content, great book. Peter seibel is the director of AI research at Google! 2020-12-11T19:39:23Z dbotton joined #lisp 2020-12-11T19:39:55Z defunkydrummer: minion: will you help me in spearheading the nascent movement to make Common Lisp a top 5 programming language by 2040? I believe this is eminently achievable given proper approaches. 2020-12-11T19:39:55Z minion: will you help me in spearheading the nascent movement to make Common Lisp a top 5 programming language by 2040? I believe this is eminently achievable given proper approaches: An error was encountered in lookup: Parse error:URI "https://www.cliki.net/will%20you%20help%20me%20in%20spearheading%20the%20nascent%20movement%20to%20make%20Common%20Lisp%20a%20top%205%20programming%20language%20by%202040?%20I%20believe%20this%20is%20eminently%20achievable%20given%20p 2020-12-11T19:40:03Z nij: lol 2020-12-11T19:40:20Z phoe: okay defunkydrummer I think it might be time to calm down a bit 2020-12-11T19:40:29Z defunkydrummer: sorry dad 2020-12-11T19:40:34Z phoe: no problem son 2020-12-11T19:40:48Z nij: loll 2020-12-11T19:41:00Z phoe: let's just not abuse minion too much. it might be sentient. 2020-12-11T19:41:08Z defunkydrummer: i got carried away by the emotion of trolling minion 2020-12-11T19:41:16Z defunkydrummer: well back at clojure 2020-12-11T19:41:27Z phoe: and the last thing you want is a sentient bot who knows who you are and what is your IP address. 2020-12-11T19:41:31Z ck_: are you (eval-when '(:compile-toplevel))'ing yet, son? 2020-12-11T19:41:44Z defunkydrummer: i congratulate every developer that chooses clojure over many other languages. It's a step forward. A stepping stone for the Real Deal, the Uncut Lisp 2020-12-11T19:42:16Z defunkydrummer: ck_: wait, i'm your son too as well? 2020-12-11T19:42:19Z phoe: defunkydrummer: well, Java was originally a stepping stone for Lisp... it kinda worked 2020-12-11T19:42:27Z defunkydrummer is atreyu -- son of the people 2020-12-11T19:42:32Z phoe gently nudges the familial relationships to #lispcafe 2020-12-11T19:42:54Z defunkydrummer goes away to the lisp coffeeshop 2020-12-11T19:42:56Z notzmv quit (Remote host closed the connection) 2020-12-11T19:45:46Z notzmv joined #lisp 2020-12-11T19:45:55Z lotuseater joined #lisp 2020-12-11T19:48:32Z nij left #lisp 2020-12-11T19:48:44Z defunkydrummer: bij: I hope you can read PAIP or PCL and get a good idea of how to use the language. I'd say PCL is an easier read 2020-12-11T19:48:55Z defunkydrummer: nij; sorry, NIJ not BIJ 2020-12-11T19:49:24Z imode joined #lisp 2020-12-11T19:49:30Z defunkydrummer: nij: there are many books of course. 2020-12-11T19:51:17Z lotuseater: but not just so many all of them are very good 2020-12-11T19:51:31Z lotuseater: sry, without NOT 2020-12-11T19:52:11Z lotuseater: look at how much dozens of bad books for other stuff is out there 2020-12-11T19:53:07Z housel quit (Ping timeout: 256 seconds) 2020-12-11T19:54:56Z olle joined #lisp 2020-12-11T19:56:09Z EvW joined #lisp 2020-12-11T19:59:58Z ggole quit (Quit: Leaving) 2020-12-11T20:00:44Z andreyorst quit (Ping timeout: 240 seconds) 2020-12-11T20:01:05Z rixard quit (Read error: Connection reset by peer) 2020-12-11T20:01:57Z rixard joined #lisp 2020-12-11T20:03:13Z aeth quit (Ping timeout: 264 seconds) 2020-12-11T20:04:34Z aeth joined #lisp 2020-12-11T20:05:51Z Steeve joined #lisp 2020-12-11T20:06:17Z rgherdt quit (Remote host closed the connection) 2020-12-11T20:06:24Z aindilis` quit (Remote host closed the connection) 2020-12-11T20:08:02Z aindilis joined #lisp 2020-12-11T20:10:01Z judson_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-11T20:11:15Z judson_ joined #lisp 2020-12-11T20:11:18Z scymtym: mfiano: i don't whether this was said already, but after (setf (sb-ext:readtable-normalization *readtable*) nil) you get (char (symbol-name 'foo²) 3) => #\SUPERSCRIPT_TWO 2020-12-11T20:11:19Z orivej quit (Ping timeout: 260 seconds) 2020-12-11T20:11:46Z orivej joined #lisp 2020-12-11T20:11:54Z scymtym: *don't know 2020-12-11T20:14:04Z mrchampion quit (Ping timeout: 240 seconds) 2020-12-11T20:19:16Z mrchampion joined #lisp 2020-12-11T20:19:39Z nij joined #lisp 2020-12-11T20:21:16Z nij quit (Quit: ERC (IRC client for Emacs 27.1)) 2020-12-11T20:26:20Z EvW quit (Ping timeout: 258 seconds) 2020-12-11T20:26:21Z sgibber2018 joined #lisp 2020-12-11T20:37:49Z matryoshka quit (Quit: ZNC 1.8.2 - https://znc.in) 2020-12-11T20:39:56Z jw4 quit (Read error: Connection reset by peer) 2020-12-11T20:39:59Z sgibber2018 quit (Quit: WeeChat 2.9) 2020-12-11T20:40:16Z jibanes quit (Ping timeout: 246 seconds) 2020-12-11T20:41:32Z roelj joined #lisp 2020-12-11T20:41:36Z jw4 joined #lisp 2020-12-11T20:42:23Z jibanes joined #lisp 2020-12-11T20:43:54Z eschatologist_ is now known as eschatologist 2020-12-11T20:44:33Z narimiran quit (Ping timeout: 260 seconds) 2020-12-11T20:46:45Z roelj: Any recommendations for a HTML serializer for Common Lisp? 2020-12-11T20:46:56Z rumbler31_ quit (Ping timeout: 240 seconds) 2020-12-11T20:49:40Z jcd joined #lisp 2020-12-11T20:50:07Z jcd: howdy yall, can someone tell me what the "in" function/operator does? 2020-12-11T20:50:57Z Bike: there is no standard operator by that name. what context are you seeing it in? 2020-12-11T20:51:12Z Bike: do you mean the loop keyword? 2020-12-11T20:52:48Z jcd: yes! 2020-12-11T20:53:08Z jcd: I just wanna know what exactly it does 2020-12-11T20:53:21Z Bike: clhs 6.1.2.1.2 2020-12-11T20:53:21Z specbot: The for-as-in-list subclause: http://www.lispworks.com/reference/HyperSpec/Body/06_abab.htm 2020-12-11T20:53:27Z Bike: basically it lets you iterate over a list. 2020-12-11T20:53:45Z Bike: (loop for x in y do (print x)) prints the elements of the list y in order. 2020-12-11T20:53:52Z gxt__ joined #lisp 2020-12-11T20:54:23Z judson_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-11T20:54:43Z jcd: gotcha! thank you! 2020-12-11T20:56:00Z Bike: glad to be of assistance 2020-12-11T20:58:03Z eden quit (Ping timeout: 240 seconds) 2020-12-11T21:01:12Z judson_ joined #lisp 2020-12-11T21:01:57Z lotuseater: jcd: and across is the same for vectors 2020-12-11T21:02:40Z mrchampion quit (Ping timeout: 260 seconds) 2020-12-11T21:03:46Z EvW joined #lisp 2020-12-11T21:05:19Z kaftejiman_ joined #lisp 2020-12-11T21:06:26Z mrchampion joined #lisp 2020-12-11T21:07:18Z kaftejiman quit (Ping timeout: 272 seconds) 2020-12-11T21:12:54Z lotuseater: könnte jetzt auch schonmal das weltkompendium lesen 2020-12-11T21:13:41Z liberliver joined #lisp 2020-12-11T21:13:51Z liberliver quit (Client Quit) 2020-12-11T21:14:05Z dbotton quit (Quit: Leaving) 2020-12-11T21:14:08Z mrchampion quit (Ping timeout: 256 seconds) 2020-12-11T21:14:45Z lotuseater: oh sry wrong window o_O 2020-12-11T21:16:50Z ane: don't worry, a little bit of german every day keeps the doctor away 2020-12-11T21:17:46Z lotuseater: yes German can be weird :D I'm waiting currently for a big download to finish 2020-12-11T21:17:54Z mrchampion joined #lisp 2020-12-11T21:18:59Z phoe: pëöplë cän wrïtë gërmän ïn änÿ längüägë thöügh 2020-12-11T21:21:31Z lotuseater: hehe i like that. i remember that's one of the first exercises in "The TeXbook" by Don Knuth, finding an English word with äöü 2020-12-11T21:22:11Z ane: hungarians eating pörkölt 2020-12-11T21:23:04Z lotuseater: yes ane but every time i see Paul Erdös written via Tex with normal ö i'm mad 2020-12-11T21:23:27Z iskander joined #lisp 2020-12-11T21:23:51Z defunkydrummer: lotuseater: you're hungarian then? 2020-12-11T21:24:23Z lotuseater: no, I'm German, but mathematicians names must be written correct :) 2020-12-11T21:24:29Z ane: heh, did you know it should be written Erdős, not Erdös 2020-12-11T21:25:29Z defunkydrummer: according to the lisp demographics, german might as well be the #2 official language of the Lisp community 2020-12-11T21:25:39Z lotuseater: yes I meant that but don't have it in my layout. in TeX you can do \def\erdos{Erd\H os} 2020-12-11T21:25:45Z ane: ö is a letter in its own right, by adding the acute accent to a hungarian vowel like á makes it a loong vowel. so, ö has its long variant, ő 2020-12-11T21:26:03Z lotuseater: defunkydrummer: oh cool, but not in companies using it 2020-12-11T21:26:58Z lotuseater: yes it's something like plural for status, i think in latin it's u declination, so becomes u with bar on top 2020-12-11T21:27:37Z ane: but I agree with you, Erdös is good, Erdos is not 2020-12-11T21:28:44Z lotuseater: for here it's totally ok 2020-12-11T21:29:03Z lotuseater: but sorry i didn't want to go offtopic, have no lisp question atm 2020-12-11T21:29:36Z rumbler31_ joined #lisp 2020-12-11T21:32:35Z drl quit (Quit: Leaving) 2020-12-11T21:34:11Z rumbler31_ quit (Ping timeout: 258 seconds) 2020-12-11T21:35:12Z shka_ quit (Ping timeout: 265 seconds) 2020-12-11T21:36:44Z jibanes quit (Ping timeout: 256 seconds) 2020-12-11T21:38:01Z wsinatra quit (Ping timeout: 258 seconds) 2020-12-11T21:39:10Z vaporatorius__ joined #lisp 2020-12-11T21:39:39Z vaporatorius quit (Read error: Connection reset by peer) 2020-12-11T21:44:18Z jibanes joined #lisp 2020-12-11T21:47:38Z rumbler31_ joined #lisp 2020-12-11T21:47:38Z Fare joined #lisp 2020-12-11T21:52:04Z hal99999 quit (Ping timeout: 240 seconds) 2020-12-11T21:54:24Z gaqwas quit (Ping timeout: 240 seconds) 2020-12-11T21:55:08Z rumbler31_ quit (Ping timeout: 260 seconds) 2020-12-11T22:00:22Z scymtym quit (Ping timeout: 260 seconds) 2020-12-11T22:05:08Z akoana joined #lisp 2020-12-11T22:07:39Z PuercoPop joined #lisp 2020-12-11T22:08:38Z rumbler31_ joined #lisp 2020-12-11T22:11:09Z bjorkint0sh quit (Quit: Leaving) 2020-12-11T22:11:10Z Nilby quit (Read error: Connection reset by peer) 2020-12-11T22:11:15Z surabax quit (Quit: Leaving) 2020-12-11T22:16:17Z noobineer quit (Ping timeout: 265 seconds) 2020-12-11T22:19:30Z mokulus joined #lisp 2020-12-11T22:20:13Z scymtym joined #lisp 2020-12-11T22:27:29Z noobineer joined #lisp 2020-12-11T22:27:58Z olle quit (Ping timeout: 256 seconds) 2020-12-11T22:28:05Z zulu-inuoe_ quit (Read error: Connection reset by peer) 2020-12-11T22:28:56Z jibanes quit (Ping timeout: 256 seconds) 2020-12-11T22:30:25Z jibanes joined #lisp 2020-12-11T22:32:58Z Steeve quit (Quit: end) 2020-12-11T22:36:32Z Fare quit (Ping timeout: 260 seconds) 2020-12-11T22:43:08Z hal99999 joined #lisp 2020-12-11T22:49:37Z ebrasca joined #lisp 2020-12-11T22:51:55Z gxt__ quit (Quit: WeeChat 2.9) 2020-12-11T22:55:25Z jibanes quit (Ping timeout: 264 seconds) 2020-12-11T22:57:09Z jibanes joined #lisp 2020-12-11T22:58:17Z jcd quit (Remote host closed the connection) 2020-12-11T23:02:08Z sjl quit (Ping timeout: 260 seconds) 2020-12-11T23:02:51Z hal99999 quit (Quit: hal99999) 2020-12-11T23:08:07Z pve quit (Quit: leaving) 2020-12-11T23:11:36Z ape666 joined #lisp 2020-12-11T23:14:53Z ape666 quit (Remote host closed the connection) 2020-12-11T23:19:07Z EvW quit (Ping timeout: 260 seconds) 2020-12-11T23:19:36Z lotuseater: I wonder how complex it would be writing a game engine like that for Cyberpunk 2077 in CL :) 2020-12-11T23:20:34Z mokulus quit (Ping timeout: 246 seconds) 2020-12-11T23:21:16Z jibanes quit (Ping timeout: 260 seconds) 2020-12-11T23:22:40Z galex-713 quit (Ping timeout: 258 seconds) 2020-12-11T23:23:10Z ape666 joined #lisp 2020-12-11T23:24:29Z White_Flame: lotuseater: I don't know how much metaprogramming goes into one of those, as it appears it's a custom engine from cdpr, but lisp could be relatively simpler to write 2020-12-11T23:24:49Z White_Flame: but of course, much of the work would be getting a smooth frame rate and foiling garbage collection being triggered 2020-12-11T23:27:55Z jibanes joined #lisp 2020-12-11T23:29:13Z aartaka_d joined #lisp 2020-12-11T23:31:15Z frgo_ quit 2020-12-11T23:31:25Z lotuseater: White_Flame: yes it's custom 2020-12-11T23:32:33Z aartaka quit (Ping timeout: 260 seconds) 2020-12-11T23:33:09Z harlchen quit (Quit: WeeChat 2.9) 2020-12-11T23:34:10Z rumbler31_ quit (Ping timeout: 258 seconds) 2020-12-11T23:34:25Z galex-713 joined #lisp 2020-12-11T23:34:46Z lotuseater: John Carmack once has rewritten the wolfenstein3d engine in haskell, but I don't know how to do that stuff in lisp :( maybe combined with CEPL? 2020-12-11T23:35:41Z no-defun-allowed: It would have used some 2d library to be a "faithful" port, as it did its own rasterization/raycasting, no? 2020-12-11T23:36:25Z EvW joined #lisp 2020-12-11T23:37:05Z lotuseater: ehm you ask questions :D 2020-12-11T23:38:02Z jibanes quit (Ping timeout: 272 seconds) 2020-12-11T23:39:25Z jibanes joined #lisp 2020-12-11T23:41:36Z roelj quit (Remote host closed the connection) 2020-12-11T23:43:52Z White_Flame: wolf3d was just a simple 8-bit framebuffer 2020-12-11T23:44:01Z White_Flame: software renderer 2020-12-11T23:48:48Z jibanes quit (Ping timeout: 272 seconds) 2020-12-11T23:49:54Z lotuseater: the prototype for DOOM ^^ "Mein Leben!" 2020-12-11T23:49:58Z jibanes joined #lisp 2020-12-11T23:50:10Z aeth: They didn't have hardware rendering on PC until Quake 1, and even then they couldn't assume that everyone would have it so they had to ship parallel software renderers for some time, e.g. Half-Life 1 in late 1998 iirc. 2020-12-11T23:50:29Z aeth: (HL1 isn't an Id game, it's a Valve game, but it's based on Id's Quake engine) 2020-12-11T23:50:51Z galex-713 quit (Read error: Connection reset by peer) 2020-12-11T23:51:02Z galex-713 joined #lisp 2020-12-11T23:51:17Z lotuseater: ah cool to know 2020-12-11T23:53:32Z saturn2: if you were going to write game engine that elaborate in lisp it would probably be worth your time to extend your lisp implementation with arena-based memory management 2020-12-11T23:54:01Z Xach: quake 3 arena memory management? 2020-12-11T23:54:29Z natter quit (Remote host closed the connection) 2020-12-11T23:54:48Z lotuseater: saturn2: can you explain a little further plz? 2020-12-11T23:55:02Z saturn2: https://en.wikipedia.org/wiki/Region-based_memory_management 2020-12-11T23:55:24Z saturn2: similar to dynamic-extent except not as limited 2020-12-11T23:55:41Z lotuseater: ah didn't know about that. but at writing games so much comes together, from higher maths to AI 2020-12-11T23:55:55Z rumbler31_ joined #lisp 2020-12-11T23:56:18Z no-defun-allowed: Do games do much allocation at runtime? 2020-12-11T23:57:18Z lotuseater: now with SSD on PS5 (which I don't have) reloading is quite instant 2020-12-12T00:00:51Z White_Flame: also, I notice you're not in #lispgames, where certainly there's a lot of game engine goings on 2020-12-12T00:01:35Z White_Flame: saturn2: yes, one allocation region per frame would make much sense 2020-12-12T00:02:40Z White_Flame: sweep away everything at once 2020-12-12T00:02:49Z lotuseater: oh thx for that tip! 2020-12-12T00:02:54Z saturn2: right 2020-12-12T00:03:33Z White_Flame: I believe javascript does a shallow GC pass after leaving every "frame" as well 2020-12-12T00:03:58Z White_Flame: but that does still build up into some fuller GC stutters 2020-12-12T00:04:33Z White_Flame: obviously a per-frame region would be faster, but then you're dealing with taking greater care with references 2020-12-12T00:06:00Z jibanes quit (Ping timeout: 265 seconds) 2020-12-12T00:07:30Z jibanes joined #lisp 2020-12-12T00:09:41Z defunkydrummer quit (Quit: Leaving) 2020-12-12T00:12:49Z jibanes quit (Ping timeout: 260 seconds) 2020-12-12T00:13:41Z zcheng3 joined #lisp 2020-12-12T00:13:45Z jibanes joined #lisp 2020-12-12T00:17:56Z dilated_dinosaur quit (Ping timeout: 240 seconds) 2020-12-12T00:18:32Z matryoshka joined #lisp 2020-12-12T00:19:04Z eta quit (Ping timeout: 240 seconds) 2020-12-12T00:21:19Z jeosol quit (Ping timeout: 245 seconds) 2020-12-12T00:21:37Z judson_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-12T00:23:04Z jibanes quit (Ping timeout: 240 seconds) 2020-12-12T00:25:15Z jibanes joined #lisp 2020-12-12T00:25:21Z eta joined #lisp 2020-12-12T00:25:41Z mange joined #lisp 2020-12-12T00:26:53Z varjag quit (Quit: ERC (IRC client for Emacs 28.0.50)) 2020-12-12T00:28:56Z rumbler31_ quit (Ping timeout: 240 seconds) 2020-12-12T00:29:16Z zcheng3 quit (Ping timeout: 240 seconds) 2020-12-12T00:31:39Z dilated_dinosaur joined #lisp 2020-12-12T00:41:53Z kaftejiman joined #lisp 2020-12-12T00:42:01Z kaftejiman_ quit (Read error: Connection reset by peer) 2020-12-12T00:42:26Z rumbler31_ joined #lisp 2020-12-12T00:44:51Z GZJ0X_ joined #lisp 2020-12-12T00:45:44Z shifty joined #lisp 2020-12-12T00:46:33Z banjomet quit (Quit: Leaving) 2020-12-12T00:49:00Z gzj quit (Ping timeout: 260 seconds) 2020-12-12T00:51:13Z jibanes quit (Ping timeout: 258 seconds) 2020-12-12T00:53:04Z jibanes joined #lisp 2020-12-12T01:00:45Z herlocksholmes quit (Quit: Hasta la victoria, siempre!) 2020-12-12T01:00:46Z jealousmonk quit (Quit: Long live IRC! ) 2020-12-12T01:04:10Z jealousmonk joined #lisp 2020-12-12T01:04:17Z herlocksholmes joined #lisp 2020-12-12T01:07:29Z mfiano: no-defun-allowed: They can, but not typically. Good game development is about balancing the work between the CPU and the GPU. Usually you start with pre-allocating large buffers up front and sending them to the gpu, then referencing them with handles on both ends. It can be beneficial to do this at runtime though for some things (called batching). 2020-12-12T01:09:43Z mfiano: I can assure you, the GC, at least on SBCL, is not the issue you need to worry about with gamedev in Lisp 2020-12-12T01:10:06Z GZJ0X_ quit (Remote host closed the connection) 2020-12-12T01:10:26Z GZJ0X_ joined #lisp 2020-12-12T01:10:34Z no-defun-allowed: mfiano: Okay. I know that for audio processing, you can usually preallocate, but I've had mixed signals with video games. 2020-12-12T01:11:05Z mfiano: The issue is throwing away a lot of the niceties of the language (read: CLOS), as it's more than an order of magnitude slower. 2020-12-12T01:11:17Z mfiano: (among other dynamic language problems) 2020-12-12T01:12:18Z random-nick quit (Ping timeout: 256 seconds) 2020-12-12T01:13:44Z jibanes quit (Ping timeout: 240 seconds) 2020-12-12T01:15:46Z jibanes joined #lisp 2020-12-12T01:16:29Z jealousmonk quit (Quit: Long live IRC! ) 2020-12-12T01:16:29Z herlocksholmes quit (Quit: Hasta la victoria, siempre!) 2020-12-12T01:17:32Z bjorkintosh joined #lisp 2020-12-12T01:18:53Z mfiano: To give you an idea of what's possible, I can render tens of thousands of game objects per frame, where a frame is 1/60 seconds, on a single thread, which includes a ton of math and thousands of hash table lookups, and the only significant thing slowing that down is CLOS. Structs help a lot though :) 2020-12-12T01:19:13Z herlocksholmes joined #lisp 2020-12-12T01:19:58Z herlocksholmes quit (Client Quit) 2020-12-12T01:21:03Z skapata quit (Remote host closed the connection) 2020-12-12T01:21:24Z jibanes quit (Ping timeout: 265 seconds) 2020-12-12T01:21:56Z jibanes joined #lisp 2020-12-12T01:24:08Z herlocksholmes joined #lisp 2020-12-12T01:28:10Z jibanes quit (Ping timeout: 265 seconds) 2020-12-12T01:28:38Z orivej quit (Ping timeout: 260 seconds) 2020-12-12T01:28:59Z orivej joined #lisp 2020-12-12T01:29:06Z jibanes joined #lisp 2020-12-12T01:32:22Z jealousmonk joined #lisp 2020-12-12T01:36:40Z Oladon joined #lisp 2020-12-12T01:41:13Z jibanes quit (Ping timeout: 265 seconds) 2020-12-12T01:42:38Z jibanes joined #lisp 2020-12-12T01:46:58Z Lord_of_Life_ joined #lisp 2020-12-12T01:47:34Z Lord_of_Life quit (Ping timeout: 246 seconds) 2020-12-12T01:48:51Z akrl quit (Read error: Connection reset by peer) 2020-12-12T01:49:06Z akrl joined #lisp 2020-12-12T01:50:50Z Jeanne-Kamikaze joined #lisp 2020-12-12T01:55:48Z matryoshka quit (Quit: ZNC 1.8.2 - https://znc.in) 2020-12-12T01:56:11Z matryoshka joined #lisp 2020-12-12T01:57:31Z matryoshka quit (Client Quit) 2020-12-12T01:57:55Z matryoshka joined #lisp 2020-12-12T01:58:45Z Fare joined #lisp 2020-12-12T02:00:18Z kaftejiman quit (Remote host closed the connection) 2020-12-12T02:01:22Z shifty quit (Ping timeout: 256 seconds) 2020-12-12T02:08:13Z matryoshka quit (Quit: ZNC 1.8.2 - https://znc.in) 2020-12-12T02:09:18Z housel joined #lisp 2020-12-12T02:13:30Z jeosol joined #lisp 2020-12-12T02:17:37Z semz quit (Ping timeout: 260 seconds) 2020-12-12T02:18:13Z jibanes quit (Ping timeout: 264 seconds) 2020-12-12T02:19:35Z jibanes joined #lisp 2020-12-12T02:26:11Z matryoshka joined #lisp 2020-12-12T02:26:14Z ebrasca: Can you have distributed lisp image? 2020-12-12T02:30:49Z Xach: wohnmhmm 2020-12-12T02:30:49Z aaaaaa joined #lisp 2020-12-12T02:31:06Z semz joined #lisp 2020-12-12T02:32:48Z Xach: ( (yoinks)yoinks. 2020-12-12T02:33:21Z ebrasca: I have see this video https://www.youtube.com/watch?v=gnd9LPWv1U8 and I am thinking how it aplies to cl. ( Video about Barrelfish OS ) 2020-12-12T02:33:46Z mbomba quit (Quit: WeeChat 3.0) 2020-12-12T02:36:01Z Xach: sorry for the line noise. network problems. 2020-12-12T02:37:19Z Xach: I just had a function that does something like (list (ldb (byte 1 index) i) (ldb (byte 1 index) j) (ldb (byte 1 index) k)) so I thought, "i am a clever fellow, i hate typing (byte 1 index) so much, i will use LET and bind it once, then reuse it." 2020-12-12T02:37:55Z Xach: (let ((spec (byte 1 index))) (list (ldb spec i) (ldb spec j) (ldb spec k))) or so 2020-12-12T02:38:05Z Xach: the latter is way way slower on sbcl! 2020-12-12T02:38:31Z Xach: i am not *too* surprised, but i am a little surprised. 2020-12-12T02:46:36Z jpli quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) 2020-12-12T02:48:33Z lotuseater: oh I'll try that now. 2020-12-12T02:49:40Z FreeBirdLjj joined #lisp 2020-12-12T02:52:36Z ape666` joined #lisp 2020-12-12T02:53:08Z lotuseater: but why is it slower that way? 2020-12-12T02:53:30Z EvW quit (Ping timeout: 258 seconds) 2020-12-12T02:54:20Z Xach: lotuseater: i believe it inhibits compiler recognition/inlining of the BYTE call somehow. 2020-12-12T02:54:41Z GZJ0X_ quit (Remote host closed the connection) 2020-12-12T02:54:58Z lotuseater: hmmm 2020-12-12T02:55:00Z GZJ0X_ joined #lisp 2020-12-12T02:55:06Z Xach: guessing: the pattern (ldb (byte ...) ...) is recognized and transformed in a nice way, (ldb var ...) not. same with dpb. 2020-12-12T02:55:13Z Xach: does anything other than ldb and dpb use byte? 2020-12-12T02:55:57Z lotuseater: i don't know, not used them much yet. i even think i don't understand fully what is happening :) 2020-12-12T02:56:10Z rumbler31_ quit (Ping timeout: 246 seconds) 2020-12-12T02:56:39Z lotuseater: but clhs says LDB is also historically (like CAR and CDR) 2020-12-12T02:57:18Z dmiles quit (Ping timeout: 260 seconds) 2020-12-12T02:57:36Z Bike: sbcl recognizes (ldb (byte ...) ...) pretty literally i believe 2020-12-12T02:57:42Z Bike: rather than through inference stuff 2020-12-12T02:58:10Z Bike: (if (and (consp spec) (eq (car spec) 'byte)) ...) yeah i see 2020-12-12T02:59:04Z GZJ0X_ quit (Remote host closed the connection) 2020-12-12T02:59:13Z dmiles joined #lisp 2020-12-12T02:59:25Z GZJ0X_ joined #lisp 2020-12-12T03:05:20Z Oladon quit (Quit: Leaving.) 2020-12-12T03:05:24Z dmiles quit (Ping timeout: 240 seconds) 2020-12-12T03:05:58Z ape666` quit (Remote host closed the connection) 2020-12-12T03:10:38Z Xach: not too fancy 2020-12-12T03:12:36Z dmiles joined #lisp 2020-12-12T03:12:56Z PuercoPop quit (Quit: WeeChat 2.8) 2020-12-12T03:15:04Z eta quit (Ping timeout: 240 seconds) 2020-12-12T03:15:38Z ebrasca: Xach: Can't replicate in my sbcl. 2020-12-12T03:16:38Z matryoshka quit (Quit: ZNC 1.8.2 - https://znc.in) 2020-12-12T03:16:58Z matryoshka joined #lisp 2020-12-12T03:17:52Z dmiles quit (Ping timeout: 246 seconds) 2020-12-12T03:17:58Z ebrasca: Here how I tested http://ix.io/2HDJ 2020-12-12T03:18:27Z eta joined #lisp 2020-12-12T03:19:21Z Bike: you're doing few enough ldb operations that time may instead be dominated by consing 2020-12-12T03:19:41Z ape666 quit (Remote host closed the connection) 2020-12-12T03:20:04Z Bike: if you look the list calls a few thousand times you can see a difference 2020-12-12T03:20:19Z Bike: for me the ones with literal byte take ~27k cycles, whereas the ones with the let binding take ~100k 2020-12-12T03:20:33Z Bike: that's with 1000 iterations per 2020-12-12T03:20:56Z Bike: like, (loop repeat 1000 do (let ((spec 2020-12-12T03:22:33Z ape666 joined #lisp 2020-12-12T03:24:00Z matryoshka quit (Quit: ZNC 1.8.2 - https://znc.in) 2020-12-12T03:24:20Z matryoshka joined #lisp 2020-12-12T03:25:40Z ebrasca: I see now. 2020-12-12T03:26:31Z ebrasca: Maybe it creates some subroutine? 2020-12-12T03:27:22Z Bike: basically on sbcl you have (defun ldb (bytespec integer) (%ldb (byte-size byte) (byte-position byte) integer)) 2020-12-12T03:27:34Z Bike: and there's something that rewrites (ldb (byte ...) integer) calls directly into %ldb calls 2020-12-12T03:29:24Z GZJ0X_ quit (Remote host closed the connection) 2020-12-12T03:30:48Z nowhere_man joined #lisp 2020-12-12T03:37:53Z matryoshka quit (Quit: ZNC 1.8.2 - https://znc.in) 2020-12-12T03:38:17Z matryoshka joined #lisp 2020-12-12T03:39:37Z ebrasca: Is it inline vs not inlined code? 2020-12-12T03:48:33Z akrl quit (Read error: Connection reset by peer) 2020-12-12T03:48:53Z akrl joined #lisp 2020-12-12T03:49:32Z fiddlerwoaroof quit (Quit: Gone.) 2020-12-12T03:49:43Z nitrix quit (Quit: Genius is one percent inspiration and ninety-nine percent perspiration) 2020-12-12T03:50:02Z fiddlerwoaroof joined #lisp 2020-12-12T03:52:31Z ape666 quit (Remote host closed the connection) 2020-12-12T03:53:59Z FreeBird_ joined #lisp 2020-12-12T03:55:18Z matryoshka quit (Quit: ZNC 1.8.2 - https://znc.in) 2020-12-12T03:55:38Z matryoshka joined #lisp 2020-12-12T03:56:14Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2020-12-12T03:56:15Z fiddlerwoaroof quit (Quit: Gone.) 2020-12-12T03:56:23Z nitrix joined #lisp 2020-12-12T03:57:18Z fiddlerwoaroof joined #lisp 2020-12-12T03:58:45Z matryoshka quit (Client Quit) 2020-12-12T03:59:04Z matryoshka joined #lisp 2020-12-12T04:01:08Z fiddlerwoaroof quit (Client Quit) 2020-12-12T04:01:28Z FreeBirdLjj joined #lisp 2020-12-12T04:02:44Z fiddlerwoaroof joined #lisp 2020-12-12T04:03:01Z FreeBird_ quit (Ping timeout: 246 seconds) 2020-12-12T04:03:05Z Alfr joined #lisp 2020-12-12T04:04:25Z Alfr_ quit (Ping timeout: 258 seconds) 2020-12-12T04:05:47Z Jeanne-Kamikaze quit (Quit: Leaving) 2020-12-12T04:07:08Z Oladon joined #lisp 2020-12-12T04:07:18Z jibanes quit (Ping timeout: 260 seconds) 2020-12-12T04:08:38Z jibanes joined #lisp 2020-12-12T04:08:56Z __jrjsmrtn__ quit (Ping timeout: 240 seconds) 2020-12-12T04:09:10Z __jrjsmrtn__ joined #lisp 2020-12-12T04:11:19Z beach: Good morning everyone! 2020-12-12T04:12:08Z matryoshka quit (Quit: ZNC 1.8.2 - https://znc.in) 2020-12-12T04:12:09Z aaaaaa: beach: good 2020-12-12T04:12:21Z matryoshka joined #lisp 2020-12-12T04:13:24Z akrl quit (Ping timeout: 260 seconds) 2020-12-12T04:13:49Z akrl joined #lisp 2020-12-12T04:16:10Z narimiran joined #lisp 2020-12-12T04:21:32Z ldbeth joined #lisp 2020-12-12T04:23:32Z ebrasca: Morning beach! 2020-12-12T04:24:00Z ebrasca: beach: How are you doing today? 2020-12-12T04:24:32Z matryoshka quit (Quit: ZNC 1.8.2 - https://znc.in) 2020-12-12T04:25:07Z beach: ebrasca: I am doing quite well thank you very much. The past few days, I have made great progress with the SICL bootstrapping procedure, so I am very pleased with that. 2020-12-12T04:25:11Z beach: What about yourself? 2020-12-12T04:26:38Z ebrasca: beach: I am fine , just somewhat lost wichout an concrete goal or how to make Mezzano better. 2020-12-12T04:29:05Z beach: Hmm. I see. 2020-12-12T04:30:28Z aeth quit (Ping timeout: 256 seconds) 2020-12-12T04:31:17Z sgibber2018 joined #lisp 2020-12-12T04:32:18Z aeth joined #lisp 2020-12-12T04:36:20Z akrl quit (Read error: Connection reset by peer) 2020-12-12T04:36:33Z akrl joined #lisp 2020-12-12T04:38:43Z sgibber2018 quit (Quit: WeeChat 2.9) 2020-12-12T04:43:47Z skapata joined #lisp 2020-12-12T04:51:04Z shifty joined #lisp 2020-12-12T04:52:00Z mange quit (Ping timeout: 256 seconds) 2020-12-12T04:53:26Z jibanes quit (Ping timeout: 272 seconds) 2020-12-12T04:54:45Z jibanes joined #lisp 2020-12-12T04:56:39Z lotuseater: beach: so I now wrote a little test dispatch readmacro #? with the numarg summing to first n numbers e.g. #100? => 5050 :) 2020-12-12T04:57:44Z beach: I see. So you are fine with the signature of the dispatch function now? 2020-12-12T04:58:28Z lotuseater: yes I think so 2020-12-12T04:58:36Z beach: Excellent! 2020-12-12T04:58:49Z ldbeth: good afternnon 2020-12-12T04:58:55Z beach: Hello ldbeth. 2020-12-12T04:59:01Z jibanes quit (Ping timeout: 246 seconds) 2020-12-12T04:59:10Z lotuseater: step by step climbing the mountain ^^ 2020-12-12T04:59:18Z fiddlerwoaroof: ebrasca: any chance Mezzano works on arm64? 2020-12-12T05:00:02Z jibanes joined #lisp 2020-12-12T05:00:23Z lotuseater: from what i saw about Mezzano it's great. but something went wrong multiple times starting in qemu after successfully compiled 2020-12-12T05:01:05Z ebrasca: fiddlerwoaroof: Last think I read about arm64 is someone is working on making it work againg. I think it have bitroted. 2020-12-12T05:01:14Z fiddlerwoaroof: lotuseater: yeah, I've had an issue where the official boot images just don't work 2020-12-12T05:02:05Z fiddlerwoaroof: I haven't tried it recently, but I filed this issue: https://github.com/froggey/Mezzano/issues/99 2020-12-12T05:02:38Z lotuseater: and if I click in the window my window manager (xmonad) freezes :D 2020-12-12T05:02:39Z fiddlerwoaroof: if i remember correctly, there's a similar issue in the bootloader project 2020-12-12T05:03:54Z fiddlerwoaroof quit (Quit: Gone.) 2020-12-12T05:05:58Z fiddlerwoaroof joined #lisp 2020-12-12T05:06:33Z lotuseater: fiddlerwoaroof: nice fractal picture on your github 2020-12-12T05:07:30Z fiddlerwoaroof: Thanks 2020-12-12T05:08:00Z jibanes quit (Ping timeout: 272 seconds) 2020-12-12T05:08:01Z lotuseater: ah now I see your recently mentioned project cl-git. and you have lenses? :o they are a powerful tool in Haskell, but not easy in category theory 2020-12-12T05:09:47Z jibanes joined #lisp 2020-12-12T05:11:21Z Oladon quit (Quit: Leaving.) 2020-12-12T05:11:35Z zaquest joined #lisp 2020-12-12T05:11:50Z FreeBird_ joined #lisp 2020-12-12T05:13:12Z fiddlerwoaroof: lotuseater: the nice thing about lenses is that you don't have to think too hard about the theory to use them effectively 2020-12-12T05:13:12Z zaquest quit (Remote host closed the connection) 2020-12-12T05:13:21Z fiddlerwoaroof: that data-lens project is sort of badly named, though 2020-12-12T05:13:24Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2020-12-12T05:13:55Z fiddlerwoaroof: It does have an implementation of lenses (Van Laarhoven encoding, if that means anything) 2020-12-12T05:14:30Z lotuseater: ah okay. I'm stuck between those :D 2020-12-12T05:14:51Z fiddlerwoaroof: However, it's mostly about a style of programming I've found convenient: higher-order functions that produce functions that can be composed together to build up operations piecemeal 2020-12-12T05:15:16Z fiddlerwoaroof: So, instead of some complicated loop construct, I do: (alexandria:compose (data-lens:over '1+) (data-lens:over 'parse-integer)) 2020-12-12T05:16:04Z fiddlerwoaroof: (this one isn't so bad in loop, I guess) 2020-12-12T05:16:17Z lotuseater: yes i miss that opportunity sometimes 2020-12-12T05:18:42Z fiddlerwoaroof: If you have experience with Clojure, I plan to "eventually" rebuild it around transducers (maintaining backwards compatibility, because I'm opposed to the idea of breaking changes) 2020-12-12T05:18:54Z FreeBirdLjj joined #lisp 2020-12-12T05:21:28Z FreeBird_ quit (Ping timeout: 258 seconds) 2020-12-12T05:21:29Z lotuseater: hm not much, more with Haskell, my 2nd programming religion :) 2020-12-12T05:23:01Z fiddlerwoaroof: lotuseater: my path is sort of unusual. I got really into Haskell around '08, but learning CL cured me of most of my desires for statically checked types 2020-12-12T05:23:02Z lotuseater: I'll look it up 2020-12-12T05:23:33Z lotuseater: oh yes, mine sort of same ^^ 2020-12-12T05:23:38Z fiddlerwoaroof: Transducers are basically a cool trick with continuations to enable explicit stream fusion 2020-12-12T05:26:27Z jibanes quit (Ping timeout: 258 seconds) 2020-12-12T05:27:24Z lotuseater: ah continuations :) the "Mother of all Monads" ^^ 2020-12-12T05:28:05Z lotuseater: okay stream fusion I never did yet 2020-12-12T05:29:17Z fiddlerwoaroof: The basic problem is that MAPCAR and REMOVE-IF-NOT and friends all cons up intermediate collections. You can replace the CONS call with a callback that every intermediate operation calls with the next element to be produced. 2020-12-12T05:29:48Z lotuseater: I wrote some query 2020-12-12T05:29:55Z fiddlerwoaroof: Then, you pass in a base operation that actually builds up a collection to the composed stack of operations 2020-12-12T05:30:20Z lotuseater: phew sounds nontrivial 2020-12-12T05:32:52Z lotuseater: so they mess up the heap very quickly with non needed constructs? 2020-12-12T05:33:37Z akrl quit (Read error: Connection reset by peer) 2020-12-12T05:33:52Z akrl joined #lisp 2020-12-12T05:33:54Z jibanes joined #lisp 2020-12-12T05:35:10Z ecraven quit (Quit: bye) 2020-12-12T05:35:24Z ecraven joined #lisp 2020-12-12T05:35:29Z ldbeth: that's the whole point of beening lazy 2020-12-12T05:36:13Z ldbeth: and why iterators get handy 2020-12-12T05:36:15Z lotuseater: yees 2020-12-12T05:37:58Z lotuseater: combined with memoization it's powerful 2020-12-12T05:38:13Z ldbeth: i don't know why but I trend to get over think a lot about efficiency when write ML/Haskell 2020-12-12T05:39:26Z lotuseater: some people say liking this and lisp is kind of paradox 2020-12-12T05:41:49Z zcheng3 joined #lisp 2020-12-12T05:43:48Z igemnace joined #lisp 2020-12-12T05:47:40Z jibanes quit (Ping timeout: 260 seconds) 2020-12-12T05:49:23Z jibanes joined #lisp 2020-12-12T05:49:28Z Bike quit (Quit: Lost terminal) 2020-12-12T05:53:04Z fiddlerwoaroof: lotuseater: transducers are eager and also more efficient memory-wise 2020-12-12T05:53:23Z lotuseater: ah okay 2020-12-12T05:54:28Z fiddlerwoaroof: Laziness is great, until you try to profile your code 2020-12-12T05:55:22Z lotuseater: uff yeah, very nondeterministic 2020-12-12T05:56:57Z fiddlerwoaroof: This isn't the greatest explanatory sample, but here's my lisp implementation: https://github.com/fiddlerwoaroof/lisp-sandbox/blob/master/transduce.lisp 2020-12-12T05:57:22Z fiddlerwoaroof: The basic idea is that (reduce 'cons list) will build up a list 2020-12-12T05:57:51Z fiddlerwoaroof: (assuming reduce puts the accumulator into the second argument) 2020-12-12T05:57:53Z lotuseater: nice 2020-12-12T05:58:47Z fiddlerwoaroof: So, you can imagine mapping '1+ like this: (reduce (lambda (a acc) (cons (1+ a) acc)) list) 2020-12-12T05:58:52Z jibanes quit (Ping timeout: 246 seconds) 2020-12-12T05:58:58Z fiddlerwoaroof: And, adding parse-integer in: (reduce (lambda (a acc) [21:58] 2020-12-12T05:59:11Z aartaka joined #lisp 2020-12-12T05:59:35Z fiddlerwoaroof: 194 (cons (1+ (parse-integer a)) acc)) list) 2020-12-12T06:00:25Z fiddlerwoaroof: So, you can see the mapped functions keep getting built up: (1+ (parse-integer a)) 2020-12-12T06:00:53Z lotuseater: i try to get this into my head 2020-12-12T06:01:03Z shifty quit (Ping timeout: 260 seconds) 2020-12-12T06:01:50Z aartaka_d quit (Ping timeout: 272 seconds) 2020-12-12T06:02:34Z oxum joined #lisp 2020-12-12T06:02:39Z fiddlerwoaroof: I always think it'll be simple to explain, and it never is :) 2020-12-12T06:02:48Z fiddlerwoaroof: Probably means I don't understand it well enough :) 2020-12-12T06:03:35Z sgibber2018 joined #lisp 2020-12-12T06:05:06Z hugh_marera quit (Ping timeout: 256 seconds) 2020-12-12T06:05:13Z lotuseater: yes I like this principle , it's said coming from Feynman 2020-12-12T06:06:35Z jibanes joined #lisp 2020-12-12T06:07:38Z hugh_marera joined #lisp 2020-12-12T06:07:57Z lotuseater: don't worry I'm not so smart so that is the reason 2020-12-12T06:15:16Z zcheng3 quit (Ping timeout: 265 seconds) 2020-12-12T06:15:38Z jibanes quit (Ping timeout: 260 seconds) 2020-12-12T06:17:05Z jibanes joined #lisp 2020-12-12T06:23:11Z nowhere_man quit (Remote host closed the connection) 2020-12-12T06:26:26Z GZJ0X_ joined #lisp 2020-12-12T06:31:20Z GZJ0X_ quit (Ping timeout: 256 seconds) 2020-12-12T06:32:55Z abhixec joined #lisp 2020-12-12T06:36:20Z ldbeth quit (Quit: ERC (IRC client for Emacs 27.1)) 2020-12-12T06:38:40Z akrl quit (Read error: Connection reset by peer) 2020-12-12T06:38:52Z akrl joined #lisp 2020-12-12T06:39:16Z abhixec quit (Ping timeout: 256 seconds) 2020-12-12T06:39:32Z gaqwas joined #lisp 2020-12-12T06:39:32Z gaqwas quit (Changing host) 2020-12-12T06:39:32Z gaqwas joined #lisp 2020-12-12T06:41:54Z dmiles joined #lisp 2020-12-12T06:41:58Z waleee-cl quit (Quit: Connection closed for inactivity) 2020-12-12T07:13:31Z FreeBirdLjj quit (Remote host closed the connection) 2020-12-12T07:13:46Z FreeBirdLjj joined #lisp 2020-12-12T07:14:52Z fiddlerwoaroof: lotuseater: if you're interested in a bit more of a step-by-step derivation of the concept, maybe this will help: https://fwoar.co/pastebin/f95e2ee5afe5b44aa7047a9c12cc3e4a07025aaa.lisp.html 2020-12-12T07:15:57Z gaqwas quit (Remote host closed the connection) 2020-12-12T07:20:15Z hiroaki quit (Ping timeout: 272 seconds) 2020-12-12T07:24:17Z aartaka_d joined #lisp 2020-12-12T07:25:39Z jw4 quit (Quit: tot siens) 2020-12-12T07:27:46Z aartaka quit (Ping timeout: 256 seconds) 2020-12-12T07:29:22Z jw4 joined #lisp 2020-12-12T07:32:02Z hiroaki joined #lisp 2020-12-12T07:40:06Z karayan joined #lisp 2020-12-12T07:40:10Z ck_: nice work. I always try not to snoc so much as well 2020-12-12T07:40:11Z karayan quit (Client Quit) 2020-12-12T07:45:31Z akrl quit (Read error: Connection reset by peer) 2020-12-12T07:45:47Z akrl joined #lisp 2020-12-12T07:52:06Z fiddlerwoaroof: Here's an example using data-lens funcitonality to build up a hash-table from the input numbers to the results of a transformtion: https://fwoar.co/pastebin/6441f6ddec9ca1d7b1d5d4c5ab86dce59c78926d.lisp.html 2020-12-12T07:52:50Z Fare quit (Ping timeout: 264 seconds) 2020-12-12T07:53:37Z fiddlerwoaroof: I think one of the most interesting things here is that the data transformation (the composed calls to MAPPING) are completely decoupled from the code that's responsible for iterating down the input sequence and from the code that's responsible for building up the result value 2020-12-12T08:00:04Z momozor joined #lisp 2020-12-12T08:00:09Z g0d_shatter joined #lisp 2020-12-12T08:02:08Z momozor: Hi. I'm trying to remove an element from a specific index of an adjustable array, but I'm not really sure how I could do this without removing the array fill pointer (using setf) 2020-12-12T08:03:01Z beach: momozor: What do you want to happen with the elements that follow the one you remove? 2020-12-12T08:03:36Z beach: And why do you think you need to "remove the fill pointer" whatever that may mean? 2020-12-12T08:08:33Z g0d_shatter quit (Read error: Connection reset by peer) 2020-12-12T08:09:36Z beach: momozor: Hello? 2020-12-12T08:10:20Z phoe: morniiiing 2020-12-12T08:10:31Z beach: Hey phoe. 2020-12-12T08:11:02Z phoe: momozor: let's assume your array looks like #(1 2 3 4 5 6 7) and you want to remove 4 from it. do you want #(1 2 3 5 6 7) afterwards? 2020-12-12T08:11:08Z akrl quit (Read error: Connection reset by peer) 2020-12-12T08:11:22Z akrl joined #lisp 2020-12-12T08:11:24Z phoe: because this requires you to copy all elements followins 4 onto their new positions and is therefore O(n) in time 2020-12-12T08:11:53Z phoe: or can it look like #(1 2 3 7 5 6)? because that is O(1) so much cheaper, but does not maintain order 2020-12-12T08:13:01Z phoe: you can see a variant of that last technique in https://github.com/phoe/phoe-toolbox/blob/master/bag.lisp where I remove elements from an adjustable array at random so I don't care about order. 2020-12-12T08:13:25Z phoe: otherwise, you'll need to loop and copy. vectors are painful to remove non-last elements from. 2020-12-12T08:14:49Z fiddlerwoaroof: I guess you could maintain a list of the indices to remove, and then remove them all in one pass? 2020-12-12T08:15:09Z phoe: fiddlerwoaroof: oh, right - if you want to remove multiple elements 2020-12-12T08:15:12Z fiddlerwoaroof: Getting the code right might be a bit tricky 2020-12-12T08:15:33Z beach: Or, you can use a Flexichain. 2020-12-12T08:16:15Z fiddlerwoaroof: beach: basically a sequence of vectors? that was my other idea 2020-12-12T08:17:03Z beach: No, a Flexichain is a circular gap-buffer implemented as a vector. 2020-12-12T08:21:19Z momozor: beach: I was trying to do this to be exact - https://pastebin.com/wvYDYU2L 2020-12-12T08:22:26Z momozor: phoe: yes 2020-12-12T08:22:50Z momozor: sorry for the delayed replies, was crafting the paste 2020-12-12T08:23:09Z beach: momozor: Your problem is that you are using REMOVE-IF. 2020-12-12T08:23:11Z phoe: you likely don't want a vector as your data structure then. 2020-12-12T08:23:28Z beach: momozor: It creates a new vector and very likely copies all the elements from the old one to the new one. 2020-12-12T08:24:14Z momozor: ouh 2020-12-12T08:24:21Z beach: momozor: So then, you might as well copy the elements following the one you want to remove, if order matters to you. 2020-12-12T08:24:54Z beach: momozor: If order doesn't matter to you, just move the last element to the place of the element you want to remove, and decrement the fill pointer. 2020-12-12T08:25:11Z no-defun-allowed: Perhaps a hash table keyed by ID would be more appropriate? 2020-12-12T08:25:37Z beach: That works provided the order doesn't matter. 2020-12-12T08:26:02Z phoe: what no-defun-allowed said 2020-12-12T08:26:22Z beach: momozor: Is the order between the elements important? 2020-12-12T08:27:02Z beach: momozor: If not, you have a "dictionary" data type, and implementing a dictionary using a sequence is usually a bad idea. 2020-12-12T08:28:35Z beach: momozor: Another thing is that you seem to be using lists to define each entry. It would probably be more appropriate to use a standard class with slots for ID, TITLE, etc. 2020-12-12T08:28:51Z beach: s/define/represent/ 2020-12-12T08:29:22Z momozor: ah thanks..I'll try you guys suggestions. I thought vector for my purpose is quite suitable. 2020-12-12T08:29:37Z shifty joined #lisp 2020-12-12T08:30:21Z momozor quit (Remote host closed the connection) 2020-12-12T08:30:33Z no-defun-allowed: The time complexity of the operations for a dictionary type are probably not very good when using a vector--oh never mind. 2020-12-12T08:30:39Z momozor joined #lisp 2020-12-12T08:30:42Z toorevitimirp joined #lisp 2020-12-12T08:33:00Z akrl quit (Read error: Connection reset by peer) 2020-12-12T08:33:15Z akrl joined #lisp 2020-12-12T08:44:12Z ex_nihilo joined #lisp 2020-12-12T08:44:55Z momozor quit (Quit: leaving) 2020-12-12T08:45:31Z FreeBirdLjj quit (Remote host closed the connection) 2020-12-12T08:46:08Z FreeBirdLjj joined #lisp 2020-12-12T08:46:25Z shifty quit (Ping timeout: 264 seconds) 2020-12-12T08:46:48Z andreyorst joined #lisp 2020-12-12T08:50:54Z FreeBirdLjj quit (Ping timeout: 265 seconds) 2020-12-12T08:58:40Z akrl quit (Read error: Connection reset by peer) 2020-12-12T08:58:48Z akoana quit (Quit: leaving) 2020-12-12T08:58:53Z akrl joined #lisp 2020-12-12T09:06:53Z hendursa1 joined #lisp 2020-12-12T09:09:23Z hendursaga quit (Ping timeout: 240 seconds) 2020-12-12T09:10:21Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-12-12T09:11:21Z Aurora_v_kosmose joined #lisp 2020-12-12T09:14:27Z frgo joined #lisp 2020-12-12T09:14:56Z pve joined #lisp 2020-12-12T09:15:55Z Nilby joined #lisp 2020-12-12T09:27:53Z surabax joined #lisp 2020-12-12T09:38:55Z ogamita joined #lisp 2020-12-12T09:44:02Z shka_ joined #lisp 2020-12-12T09:47:50Z hugh_marera quit (Quit: Ping timeout (120 seconds)) 2020-12-12T09:49:20Z oxum_ joined #lisp 2020-12-12T09:50:31Z rogersm joined #lisp 2020-12-12T09:51:22Z oxum quit (Ping timeout: 256 seconds) 2020-12-12T09:51:41Z vaporatorius joined #lisp 2020-12-12T09:51:41Z vaporatorius quit (Changing host) 2020-12-12T09:51:41Z vaporatorius joined #lisp 2020-12-12T09:51:49Z vaporatorius__ quit (Ping timeout: 264 seconds) 2020-12-12T09:58:35Z ogamita quit (Ping timeout: 272 seconds) 2020-12-12T09:59:24Z kaftejiman joined #lisp 2020-12-12T10:04:30Z luckless joined #lisp 2020-12-12T10:05:52Z luckless quit (Remote host closed the connection) 2020-12-12T10:05:54Z rogersm quit (Quit: Leaving...) 2020-12-12T10:06:15Z luckless joined #lisp 2020-12-12T10:18:36Z Codaraxis_ joined #lisp 2020-12-12T10:22:46Z Codaraxis__ quit (Ping timeout: 258 seconds) 2020-12-12T10:25:54Z dilated_dinosaur quit (Ping timeout: 260 seconds) 2020-12-12T10:36:54Z aindilis` joined #lisp 2020-12-12T10:39:49Z aindilis quit (Ping timeout: 260 seconds) 2020-12-12T10:53:19Z dilated_dinosaur joined #lisp 2020-12-12T10:57:32Z random-nick joined #lisp 2020-12-12T10:57:32Z aartaka_d quit (Read error: Connection reset by peer) 2020-12-12T10:57:49Z hugh_marera joined #lisp 2020-12-12T10:57:52Z aartaka joined #lisp 2020-12-12T10:58:28Z hugh_marera quit (Client Quit) 2020-12-12T10:59:49Z harlchen joined #lisp 2020-12-12T11:02:16Z aartaka_d joined #lisp 2020-12-12T11:03:54Z vegansbane6 quit (Quit: The Lounge - https://thelounge.chat) 2020-12-12T11:04:33Z aartaka quit (Ping timeout: 260 seconds) 2020-12-12T11:04:54Z hugh_marera joined #lisp 2020-12-12T11:07:42Z jonatack quit (Ping timeout: 256 seconds) 2020-12-12T11:09:21Z hnOsmium0001 quit (Quit: Connection closed for inactivity) 2020-12-12T11:17:08Z iskander- joined #lisp 2020-12-12T11:17:22Z iskander quit (Ping timeout: 246 seconds) 2020-12-12T11:23:30Z EvW joined #lisp 2020-12-12T11:24:04Z jonatack joined #lisp 2020-12-12T11:27:11Z ralt joined #lisp 2020-12-12T11:28:28Z ogamita joined #lisp 2020-12-12T11:29:37Z jonatack quit (Ping timeout: 264 seconds) 2020-12-12T11:30:02Z jonatack joined #lisp 2020-12-12T11:31:35Z vegansbane6 joined #lisp 2020-12-12T11:32:47Z dmiles quit (Read error: Connection reset by peer) 2020-12-12T11:32:57Z EvW quit (Ping timeout: 260 seconds) 2020-12-12T11:34:15Z dmiles joined #lisp 2020-12-12T11:36:55Z ogamita quit (Remote host closed the connection) 2020-12-12T11:39:18Z ogamita joined #lisp 2020-12-12T11:42:55Z dmiles quit (Ping timeout: 246 seconds) 2020-12-12T11:49:29Z GZJ0X_ joined #lisp 2020-12-12T11:54:29Z galex-713 quit (Ping timeout: 272 seconds) 2020-12-12T11:55:16Z galex-713 joined #lisp 2020-12-12T12:01:20Z dmiles joined #lisp 2020-12-12T12:11:26Z PatchyBeardDwarf joined #lisp 2020-12-12T12:22:23Z PatchyBeardDwarf: Can elisp questions asked here? 2020-12-12T12:22:25Z PatchyBeardDwarf: Hello! 2020-12-12T12:23:48Z aindilis` quit (Remote host closed the connection) 2020-12-12T12:25:28Z beach: PatchyBeardDwarf: Nja,... 2020-12-12T12:25:34Z beach: this channel is dedicated to Common Lisp. 2020-12-12T12:25:43Z beach: Try #emacs. 2020-12-12T12:31:44Z Krystof: phoe: we dialed back minion's sarcasm from its original version 2020-12-12T12:32:03Z beach: That's too bad. :) 2020-12-12T12:33:44Z phoe: Krystof: there's still some significant traces of it left in all the proper places 2020-12-12T12:34:05Z phoe: I still love SBCL's "An attempt to access an array of element-type NIL was made. Congratulations!" 2020-12-12T12:34:12Z skangas quit (Quit: Leaving) 2020-12-12T12:34:21Z phoe: maybe related, maybe unrelated; I suspect some personal ties between those messages 2020-12-12T12:45:22Z PatchyBeardDwarf quit (Ping timeout: 258 seconds) 2020-12-12T12:49:04Z andreyorst quit (Ping timeout: 240 seconds) 2020-12-12T12:51:00Z imode quit (Ping timeout: 256 seconds) 2020-12-12T12:53:03Z hugh_marera quit (Quit: Connection closed) 2020-12-12T12:54:05Z EvW joined #lisp 2020-12-12T12:56:35Z hugh_marera joined #lisp 2020-12-12T13:05:53Z gaqwas joined #lisp 2020-12-12T13:05:53Z gaqwas quit (Changing host) 2020-12-12T13:05:53Z gaqwas joined #lisp 2020-12-12T13:07:39Z easye: Recommendations for AWS SDK scripting with our favorite CONS? seems the best I can find. 2020-12-12T13:22:24Z lotuseater quit (Remote host closed the connection) 2020-12-12T13:24:40Z Bike joined #lisp 2020-12-12T13:29:12Z lotuseater joined #lisp 2020-12-12T13:32:01Z eden joined #lisp 2020-12-12T13:39:33Z cosimone joined #lisp 2020-12-12T13:41:03Z the-smug-one joined #lisp 2020-12-12T13:41:06Z GZJ0X_ quit (Remote host closed the connection) 2020-12-12T13:41:26Z GZJ0X_ joined #lisp 2020-12-12T13:42:05Z GZJ0X_ quit (Read error: Connection reset by peer) 2020-12-12T13:42:25Z GZJ0X_ joined #lisp 2020-12-12T13:51:14Z akrl quit (Read error: Connection reset by peer) 2020-12-12T13:51:27Z akrl joined #lisp 2020-12-12T14:02:08Z andreyorst joined #lisp 2020-12-12T14:05:09Z GZJ0X_ quit (Remote host closed the connection) 2020-12-12T14:05:26Z Xach: easye: i have used https://github.com/xach/zaws in the past but it may be out of date with respect to auth these days 2020-12-12T14:05:30Z GZJ0X_ joined #lisp 2020-12-12T14:05:52Z Xach: It's also more of a building block for a tool than a tool 2020-12-12T14:06:09Z GZJ0X_ quit (Remote host closed the connection) 2020-12-12T14:06:30Z GZJ0X_ joined #lisp 2020-12-12T14:07:08Z GZJ0X_ quit (Remote host closed the connection) 2020-12-12T14:07:29Z GZJ0X_ joined #lisp 2020-12-12T14:07:54Z ogamita quit (Remote host closed the connection) 2020-12-12T14:08:08Z GZJ0X_ quit (Remote host closed the connection) 2020-12-12T14:08:29Z GZJ0X_ joined #lisp 2020-12-12T14:09:09Z GZJ0X_ quit (Remote host closed the connection) 2020-12-12T14:10:12Z akrl quit (Read error: Connection reset by peer) 2020-12-12T14:10:25Z akrl joined #lisp 2020-12-12T14:12:46Z EvW quit (Ping timeout: 258 seconds) 2020-12-12T14:13:49Z mrios222 joined #lisp 2020-12-12T14:14:35Z mrios222: hi, I have a question about hunchentoot. I set the content-type* variable to application/json, but the file that hunchentoot serves up is a html file -- an empty html file. 2020-12-12T14:15:12Z mrios222: should I try to restart the server to see if it gets it right the second time? How would I do that? 2020-12-12T14:15:16Z jibanes quit (Ping timeout: 256 seconds) 2020-12-12T14:15:48Z Xach: mrios222: it is hard to say for sure without seeing the code 2020-12-12T14:16:13Z the-smug-one: mrios222: It sounds like you (setf *content-type*) at the top-level 2020-12-12T14:16:32Z mrios222: It's the code that is on pages 638 and 639 of Common Lisp Recipess 2020-12-12T14:16:39Z Xach: mrios222: i don't have that book :( 2020-12-12T14:16:45Z jibanes joined #lisp 2020-12-12T14:16:47Z Xach: the-smug-one: normally that would error due to unbound reply 2020-12-12T14:17:23Z mrios222: (progn (hunchentoot:start (make-instance 'hunchentoot:easy-acceptor :document-root "~/Documents/programming/common-lisp/ajax/" :port 4242)) (hunchentoot:define-easy-handler (get-symbols :uri "/get-symbols") (term) (setf (hunchentoot:content-type*) "application/json") 2020-12-12T14:17:23Z mrios222: (with-output-to-string (*standard-output*) (yason:encode (sort (mapcar #'string-downcase (apropos-list term :cl)) 'string<)))))) 2020-12-12T14:17:25Z the-smug-one: Xach: Snap, you're right 2020-12-12T14:17:26Z iskander- quit (Quit: bye) 2020-12-12T14:17:36Z mrios222: Sorry, I'm not sure if there is a better way to share code 2020-12-12T14:17:39Z the-smug-one: Ouch, please use a pastebin next time mrios222 mr 2020-12-12T14:17:55Z mrios222: Sorry, didn't know about pastebin. 2020-12-12T14:18:16Z the-smug-one: https://pastebin.ubuntu.com/ <- this one for example (don't use pastebin.com) 2020-12-12T14:19:01Z mrios222: https://pastebin.ubuntu.com/p/js6HBZGCsF/ 2020-12-12T14:19:03Z mrios222: Thank you 2020-12-12T14:19:51Z sgibber2018 quit (Quit: WeeChat 2.9) 2020-12-12T14:20:02Z mrios222: when I tried to run the yason command in isolation, I got an error. It said that *json-output* was unbound. 2020-12-12T14:20:18Z Xach: mrios222: i cannot reproduce 2020-12-12T14:20:20Z iskander joined #lisp 2020-12-12T14:20:37Z mrios222: Initially this set of commands led to an internal server error at localhost:4242/get-symbols 2020-12-12T14:20:39Z Xach: mrios222: when i evaluate that code, and use curl localhost:4242/get-symbols?term=bool, i get a proper response 2020-12-12T14:20:55Z Xach: mrios222: how did you get hunchentoot and yason? 2020-12-12T14:21:03Z mrios222: quicklisp 2020-12-12T14:21:16Z Xach: Same here. Hmm. 2020-12-12T14:21:51Z Xach: https://pastebin.ubuntu.com/p/nmp7FN5QV6/ is what i get from curl 2020-12-12T14:21:53Z mrios222: I just tried command line curl. The debug messages in my repl say that the server received the request. 2020-12-12T14:22:02Z mrios222: However, the curl didn't give me any output. 2020-12-12T14:22:15Z Xach: mrios222: can you show the output of curl -v? 2020-12-12T14:23:14Z mrios222: https://pastebin.ubuntu.com/p/h8KtYSptFk/ 2020-12-12T14:23:43Z eden quit (Ping timeout: 240 seconds) 2020-12-12T14:23:48Z lottaquestions: phoe: In yoour book on page 141, in the macroexpansion of the def-condition, you return the name of the defclass'ed foo-condition. Why is this? 2020-12-12T14:24:37Z ldbeth joined #lisp 2020-12-12T14:24:47Z lottaquestions: phoe: The only explanation you give for this on the same page is "In addition, we return the name of the condition from the final form, as dictated by the Common Lisp standard." 2020-12-12T14:25:06Z Xach: mrios222: so it does set the content-type properly 2020-12-12T14:25:21Z lottaquestions: phoe: Where can I find this in the standard? 2020-12-12T14:25:46Z Xach: mrios222: what do you get from (ql:where-is-system "yason")? 2020-12-12T14:25:47Z lottaquestions: minion: When phoe comes online, please ask him to look at my questions. 2020-12-12T14:25:49Z minion: yesterday 2020-12-12T14:25:51Z ldbeth: unfortunately the naive implementation of finite state automata does not work at 500,000 words scale 2020-12-12T14:26:18Z Xach: lottaquestions: I have not read the book, but if the intent is to mimic define-condition, the spec dictates that the return value of that macro is the name. 2020-12-12T14:26:19Z lottaquestions: minion: Ask phoe to checkout my questions when he next comes online 2020-12-12T14:26:19Z minion: does torturing a poor bot with things beyond its comprehension please you? 2020-12-12T14:26:24Z mrios222: xach ultralisp 2020-12-12T14:26:44Z Xach: mrios222: normally it would give a pathname 2020-12-12T14:26:58Z aindilis joined #lisp 2020-12-12T14:26:58Z mrios222: #P"~/quicklisp/dists/ultralisp/software/hanshuebner-yason-20201112190411/" 2020-12-12T14:27:14Z Xach: mrios222: i think it is possible that you have an incompatible version of yason 2020-12-12T14:27:17Z mrios222: I edited out my home path and replaced it with ~ 2020-12-12T14:27:20Z Xach: sure 2020-12-12T14:27:42Z Xach: mrios222: what happens if you use the quicklisp-dist yason, version 0.7.8? 2020-12-12T14:27:54Z waleee-cl joined #lisp 2020-12-12T14:28:08Z mrios222: xach how can I make sure that I use that version instead of the one I have right now? 2020-12-12T14:28:36Z mrios222: xach sorry, I am still figuring out many basic things 2020-12-12T14:28:40Z Xach: mrios222: one way is to do ql-dist::(disable (dist "ultralisp")) and restart 2020-12-12T14:28:42Z lottaquestions: Xach: Gotta head out for some hiking. But will revisit this later. I have seen similar code not targetting conditions by stylewarning in his cl-algebraic-data-type project 2020-12-12T14:29:03Z Xach: lottaquestions: DEFUN, DEFCLASS, and many other DEF-things return the name of the thing that was defined. 2020-12-12T14:29:36Z hendursa1 quit (Quit: hendursa1) 2020-12-12T14:29:41Z Xach: mrios222: sure, no problem, i like to help out if i can. 2020-12-12T14:29:56Z hendursaga joined #lisp 2020-12-12T14:30:57Z mrios222: xach ql-dist::(disable (dist "ultralisp") gives me the error that there are too many :s 2020-12-12T14:31:57Z Xach: mrios222: oh, sorry, that is an sbcl feature. you can also do (ql-dist:disable (ql-dist:dist "ultralisp")) 2020-12-12T14:32:02Z Xach: what lisp are you using? 2020-12-12T14:32:35Z mrios222: xach sbcl 2020-12-12T14:32:41Z ldbeth: :D 2020-12-12T14:32:48Z Xach: i think then you may have typed something diferent than i did 2020-12-12T14:33:13Z mrios222: xach I just tried the most recent command you suggested and that one went through. 2020-12-12T14:33:29Z Xach: mrios222: ok, when you restart lisp, re-try your hunchentoot code, and see what happens. 2020-12-12T14:33:50Z Xach: jackdaniel: who broke clim?? 2020-12-12T14:34:34Z mrios222: xach If I'm using the repl in SLIME, how do I restart? 2020-12-12T14:34:56Z mrios222: xach slime-quit-lisp 2020-12-12T14:35:52Z Xach: mrios222: i use ,restart 2020-12-12T14:37:24Z mrios222: xach wow, it works! Thanks! You just saved me from a lot of frustration and confusion! I really appreciate it. 2020-12-12T14:37:46Z mrios222: xach It's great to see the example working :) 2020-12-12T14:37:53Z Xach: mrios222: no problem, glad to help. sorry to see that ultralisp has some kind of incompatible library. 2020-12-12T14:37:53Z matryoshka joined #lisp 2020-12-12T14:38:39Z mrios222: xach Well, I've definitely learned something important about libraries and debugging potential issues with them. From now on I'll stick with the vanilla quicklisp just to be safe ;) 2020-12-12T14:39:11Z Xach: mrios222: and remember... https://xach.com/tmp/slad.gif 2020-12-12T14:39:37Z phoe: Xach: is that one of your new GIFs? 2020-12-12T14:39:42Z mrios222: xach Amen! Thank you for all of your work. 2020-12-12T14:39:43Z Xach: it is 2020-12-12T14:40:06Z Xach: from https://github.com/xach/octree/blob/70c5ba6a5ddbf6d05540dad561e9ceffe6255da7/text-art.lisp#L50 2020-12-12T14:44:04Z jibanes quit (Ping timeout: 240 seconds) 2020-12-12T14:44:05Z phoe: nice 2020-12-12T14:45:04Z mrios222 quit (Ping timeout: 245 seconds) 2020-12-12T14:46:07Z jibanes joined #lisp 2020-12-12T14:52:02Z lottaquestions: Xach: I got slightly delayed. So still around. Here is an excerpt of the macroexpansion I am asking about: https://pastebin.com/qNfB3QYK 2020-12-12T14:52:38Z lottaquestions: phoe: phoe! Check out my question 2020-12-12T14:52:59Z lottaquestions: From Chapter 3 of your book 2020-12-12T14:53:43Z lottaquestions: which I am loving by the way 2020-12-12T15:04:31Z iskander quit (Ping timeout: 246 seconds) 2020-12-12T15:04:45Z iskander- joined #lisp 2020-12-12T15:08:17Z Codaraxis_ quit (Read error: Connection reset by peer) 2020-12-12T15:10:35Z liberliver joined #lisp 2020-12-12T15:10:55Z phoe: lottaquestions: ! 2020-12-12T15:10:58Z phoe: which question? 2020-12-12T15:11:02Z liberliver quit (Client Quit) 2020-12-12T15:11:07Z phoe: oooh, yes. 2020-12-12T15:11:26Z phoe: lottaquestions: http://clhs.lisp.se/Body/m_defi_5.htm 2020-12-12T15:11:30Z phoe: ;; => name 2020-12-12T15:11:34Z phoe: on the very top. 2020-12-12T15:11:45Z phoe: we need to return the name. so we do. 2020-12-12T15:11:45Z FreeBirdLjj joined #lisp 2020-12-12T15:13:10Z dmiles quit (Read error: Connection reset by peer) 2020-12-12T15:14:42Z dmiles joined #lisp 2020-12-12T15:15:01Z jibanes quit (Ping timeout: 246 seconds) 2020-12-12T15:16:04Z FreeBirdLjj quit (Ping timeout: 246 seconds) 2020-12-12T15:16:56Z jibanes joined #lisp 2020-12-12T15:18:26Z ogamita joined #lisp 2020-12-12T15:21:51Z dmiles quit 2020-12-12T15:22:48Z jibanes quit (Ping timeout: 260 seconds) 2020-12-12T15:23:42Z jibanes joined #lisp 2020-12-12T15:25:51Z ex_nihilo quit (Quit: Leaving) 2020-12-12T15:28:33Z ogamita quit (Ping timeout: 272 seconds) 2020-12-12T15:37:26Z jibanes quit (Ping timeout: 256 seconds) 2020-12-12T15:39:20Z jibanes joined #lisp 2020-12-12T15:45:11Z eden joined #lisp 2020-12-12T15:48:59Z jibanes quit (Ping timeout: 258 seconds) 2020-12-12T15:49:24Z lotuseater quit (Ping timeout: 240 seconds) 2020-12-12T15:56:00Z Blukunfando quit (Read error: Connection reset by peer) 2020-12-12T15:56:30Z jibanes joined #lisp 2020-12-12T15:58:57Z semz quit (Ping timeout: 260 seconds) 2020-12-12T16:00:53Z easye: Xach: I suppose was in your anti-ASDF phase... 2020-12-12T16:01:27Z ldbeth quit (Remote host closed the connection) 2020-12-12T16:02:08Z aindilis quit (Remote host closed the connection) 2020-12-12T16:04:24Z jonatack quit (Ping timeout: 240 seconds) 2020-12-12T16:05:09Z phoe: easye: why? 2020-12-12T16:05:22Z jibanes quit (Ping timeout: 256 seconds) 2020-12-12T16:06:12Z phoe: I see https://github.com/xach/zaws/blob/master/zaws.asd 2020-12-12T16:06:18Z phoe: nothing out of the ordinary there... 2020-12-12T16:06:22Z jonatack joined #lisp 2020-12-12T16:07:11Z jibanes joined #lisp 2020-12-12T16:08:28Z zcheng3 joined #lisp 2020-12-12T16:08:35Z easye: phoe: Xach: my apologies. For some reason I missed that. 2020-12-12T16:08:57Z easye should have done a (directory (asdf:system-relative-pathname :zaws "**/*.asd")) 2020-12-12T16:09:00Z marcoxa joined #lisp 2020-12-12T16:09:37Z the-smug-one quit (Ping timeout: 246 seconds) 2020-12-12T16:09:55Z marcoxa: Hi guys... I just posted a new thing on my blog. 2020-12-12T16:10:21Z beach: What are those things about? 2020-12-12T16:10:23Z marcoxa: https://within-parens.blogspot.com/2020/12/with-what-are-we-contextualizing.html 2020-12-12T16:11:51Z Oladon joined #lisp 2020-12-12T16:12:27Z semz joined #lisp 2020-12-12T16:12:27Z semz quit (Changing host) 2020-12-12T16:12:27Z semz joined #lisp 2020-12-12T16:13:48Z phoe: marcoxa: I've seen it! I really enjoy that 2020-12-12T16:13:56Z Oladon: phoe: So I asked a friend the other day, "happen to have any _good_ examples of the condition system in use?" He said "Yes" and a few days later I got your book in the mail :D 2020-12-12T16:14:06Z phoe: Oladon: :D 2020-12-12T16:14:17Z phoe: there are even more examples in the online appendix, please remember to check it out 2020-12-12T16:14:33Z Oladon: Sweet, will do. I'm enjoying it so far! 2020-12-12T16:15:08Z phoe: marcoxa: I've allowed to crosspost it to /r/Common_Lisp 2020-12-12T16:15:20Z easye: _CLCS_ is the stocking stuffer for the CONS fans in the 2020 holidays... 2020-12-12T16:15:28Z Oladon: Hehe 2020-12-12T16:21:46Z astronavt quit (Quit: ...) 2020-12-12T16:23:20Z astronavt joined #lisp 2020-12-12T16:25:09Z astronavt quit (Remote host closed the connection) 2020-12-12T16:25:49Z astronavt joined #lisp 2020-12-12T16:25:50Z phoe: oh no, a typo in the title 2020-12-12T16:25:52Z phoe fixes 2020-12-12T16:27:03Z EvW joined #lisp 2020-12-12T16:27:44Z jibanes quit (Ping timeout: 240 seconds) 2020-12-12T16:29:53Z jibanes joined #lisp 2020-12-12T16:30:39Z easye: Hmm. What's the difference between CHAR and SCHAR? CLHS just sez CHAR ignores the fill-pointer 2020-12-12T16:31:14Z easye: Ah SCHAR only works on SIMPLE-CHAR. Duh. 2020-12-12T16:31:34Z easye: err SIMPLE-STRINGs 2020-12-12T16:32:04Z gutter joined #lisp 2020-12-12T16:39:11Z kenran joined #lisp 2020-12-12T16:40:06Z patrickp joined #lisp 2020-12-12T16:41:00Z kenran: I recently found the lispPackages attribute in nixpkgs, now I'm wondering whether there are working setups for CL (using SBCL) that leverage nix integration for packages yet. I wasn't able to find one googling around, but since I'm new to common lisp I might not have looked in the right places. Do you have any hints for me? 2020-12-12T16:41:58Z thmprover joined #lisp 2020-12-12T16:42:59Z jonatack quit (Quit: jonatack) 2020-12-12T16:46:57Z aindilis joined #lisp 2020-12-12T16:53:22Z akrl quit (Read error: Connection reset by peer) 2020-12-12T16:53:36Z akrl joined #lisp 2020-12-12T17:00:10Z fiddlerwoaroof: easye: I have a fork of that https://github.com/fiddlerwoaroof/aws-sdk-lisp that has some patches 2020-12-12T17:01:36Z fiddlerwoaroof: I used it extensively at my last job and fixed a couple bugs I found 2020-12-12T17:02:12Z fiddlerwoaroof: One issue with AWS APIs is that even official clients like boto don't always work as the documentation specifies 2020-12-12T17:05:54Z jonatack joined #lisp 2020-12-12T17:10:16Z jonatack quit (Ping timeout: 240 seconds) 2020-12-12T17:10:42Z jonatack joined #lisp 2020-12-12T17:15:38Z eta quit (Ping timeout: 256 seconds) 2020-12-12T17:16:14Z Fare joined #lisp 2020-12-12T17:17:24Z amerigo joined #lisp 2020-12-12T17:20:51Z eta joined #lisp 2020-12-12T17:27:13Z matryoshka quit (Read error: Connection reset by peer) 2020-12-12T17:27:21Z matryoshka` joined #lisp 2020-12-12T17:28:25Z Jeanne-Kamikaze joined #lisp 2020-12-12T17:29:19Z zulu-inuoe joined #lisp 2020-12-12T17:30:42Z zcheng3 quit (Ping timeout: 256 seconds) 2020-12-12T17:35:36Z jibanes quit (Ping timeout: 260 seconds) 2020-12-12T17:37:17Z jibanes joined #lisp 2020-12-12T17:39:59Z matryoshka` quit (Read error: Connection reset by peer) 2020-12-12T17:40:15Z matryoshka joined #lisp 2020-12-12T17:46:21Z ralt quit (Quit: Connection closed for inactivity) 2020-12-12T17:49:06Z thmprover: For Emacs, is sly really that much better than slime? 2020-12-12T17:49:21Z loke[m]: thmprover: no. It's worse. 2020-12-12T17:49:48Z jpli joined #lisp 2020-12-12T17:49:57Z loke[m]: Sly intentionally removed support for presentations, mainly because the author never used them. It makes it much less powerful. 2020-12-12T17:50:06Z thmprover: Ah, I see. 2020-12-12T17:50:50Z thmprover: It looks like, if I were completely new to programming and Lisp, I may want to use sly instead of slime...but that's the only case that came to mind. I wasn't sure if there was any "extra batteries" not mentioned or discussed. 2020-12-12T17:51:00Z hnOsmium0001 joined #lisp 2020-12-12T17:51:22Z fiddlerwoaroof: Slime has output streams that let you stream text to an emacs buffer 2020-12-12T17:51:34Z fiddlerwoaroof: To my knowledge, this hasn't been ported to Sly 2020-12-12T17:52:06Z loke[m]: I don't see the point of sly. It's a version of slime where half the useful features are removed. 2020-12-12T17:52:10Z fiddlerwoaroof: Also, swank supports graphics in the repl 2020-12-12T17:52:39Z loke[m]: fiddlerwoaroof: yeah, that's pretty cool, although I've never used it in practice. 2020-12-12T17:52:54Z loke[m]: But you can build your own presentations to display Lisp objects. 2020-12-12T17:53:04Z jpli quit (Client Quit) 2020-12-12T17:53:44Z loke[m]: No just images. 2020-12-12T17:54:34Z fiddlerwoaroof: https://twitter.com/fwoaroof/status/1086806083916554240?s=20 2020-12-12T17:54:51Z fiddlerwoaroof: I've used the image stuff a bit 2020-12-12T17:54:55Z fiddlerwoaroof: but mostly toys 2020-12-12T17:55:43Z fiddlerwoaroof: loke[m]: I'm curious about this presentation stuff, though: I've used the basic stuff in the repl 2020-12-12T17:56:47Z jpli joined #lisp 2020-12-12T17:57:31Z ogamita joined #lisp 2020-12-12T17:58:19Z ogamita is now known as Guest41741 2020-12-12T17:58:50Z Guest41741 quit (Remote host closed the connection) 2020-12-12T18:02:30Z matryoshka` joined #lisp 2020-12-12T18:02:48Z matryoshka quit (Read error: Connection reset by peer) 2020-12-12T18:03:48Z amb007 quit (Read error: Connection reset by peer) 2020-12-12T18:04:11Z amb007 joined #lisp 2020-12-12T18:05:23Z loke[m]: fiddlerwoaroof: I mainly use it to copy/paste the output as an argument to another call. 2020-12-12T18:06:03Z loke[m]: A few commands above the output of some function may have returned some class instance, and it's useful to be able paste it into the arguments to a later call) 2020-12-12T18:06:17Z fiddlerwoaroof: Ah, yeah, I use that alot 2020-12-12T18:06:46Z fiddlerwoaroof: I was thinking there was some way to define custom displays, besides PRINT-OBJECT and friends 2020-12-12T18:07:05Z loke[m]: There is. 2020-12-12T18:08:16Z matryoshka` quit (Quit: ZNC 1.8.2 - https://znc.in) 2020-12-12T18:09:11Z matryoshka joined #lisp 2020-12-12T18:10:12Z matryoshka quit (Read error: Connection reset by peer) 2020-12-12T18:10:29Z matryoshka joined #lisp 2020-12-12T18:15:45Z jibanes quit (Ping timeout: 260 seconds) 2020-12-12T18:17:22Z jibanes joined #lisp 2020-12-12T18:19:45Z matryoshka quit (Quit: ZNC 1.8.2 - https://znc.in) 2020-12-12T18:19:57Z fiddlerwoaroof: j 2020-12-12T18:24:22Z rogersm joined #lisp 2020-12-12T18:30:00Z amk quit (Read error: Connection reset by peer) 2020-12-12T18:30:09Z amk joined #lisp 2020-12-12T18:30:55Z ralt joined #lisp 2020-12-12T18:33:41Z rogersm quit (Quit: Leaving...) 2020-12-12T18:34:56Z jibanes quit (Ping timeout: 240 seconds) 2020-12-12T18:37:14Z jibanes joined #lisp 2020-12-12T18:40:46Z matryoshka joined #lisp 2020-12-12T18:44:53Z hiroaki quit (Ping timeout: 272 seconds) 2020-12-12T18:49:25Z jibanes quit (Ping timeout: 264 seconds) 2020-12-12T18:50:51Z jibanes joined #lisp 2020-12-12T18:51:25Z Xach: loke[m]: sly's trace dialog has been a real helper to me. i'm working on a threaded applicaton and the separate tracing with object persistence is very handy. 2020-12-12T18:53:26Z phoe: we need to merge them back someday 2020-12-12T18:53:30Z phoe: into something called... slyme 2020-12-12T18:56:35Z hiroaki joined #lisp 2020-12-12T18:56:56Z catern quit (Ping timeout: 240 seconds) 2020-12-12T18:57:29Z jibanes quit (Ping timeout: 265 seconds) 2020-12-12T18:59:19Z jibanes joined #lisp 2020-12-12T18:59:41Z catern joined #lisp 2020-12-12T18:59:59Z X-Scale` joined #lisp 2020-12-12T19:00:13Z eden quit (Killed (Sigyn (Spam is off topic on freenode.))) 2020-12-12T19:02:15Z aartaka joined #lisp 2020-12-12T19:03:13Z X-Scale quit (Ping timeout: 264 seconds) 2020-12-12T19:03:13Z X-Scale` is now known as X-Scale 2020-12-12T19:04:00Z gproto23 joined #lisp 2020-12-12T19:04:43Z aaaaaa quit (Quit: leaving) 2020-12-12T19:04:44Z aartaka_d quit (Ping timeout: 240 seconds) 2020-12-12T19:04:58Z gproto23 quit (Client Quit) 2020-12-12T19:05:06Z eden joined #lisp 2020-12-12T19:05:14Z a0 joined #lisp 2020-12-12T19:05:25Z a0 quit (Remote host closed the connection) 2020-12-12T19:06:12Z phantomics quit (Read error: Connection reset by peer) 2020-12-12T19:07:53Z imode joined #lisp 2020-12-12T19:09:13Z jibanes quit (Ping timeout: 264 seconds) 2020-12-12T19:09:34Z mokulus joined #lisp 2020-12-12T19:10:53Z jibanes joined #lisp 2020-12-12T19:10:58Z easye: phoe: +1 for slyme: time to end another schism! 2020-12-12T19:12:21Z ck_: will it work on lucid emacs? 2020-12-12T19:12:36Z easye: ck_: OFC. 2020-12-12T19:14:39Z easye: slyme will work everywhere. Eventually it will replace cider for Clojure while working in VSCode, Atom, and whatever else the flavor of the month becomes. 2020-12-12T19:15:02Z ck_: I'm convinced 2020-12-12T19:15:09Z _death: ynferior modes everywhere 2020-12-12T19:15:33Z eta quit (Ping timeout: 260 seconds) 2020-12-12T19:15:42Z lilgopher joined #lisp 2020-12-12T19:16:02Z narimiran quit (Ping timeout: 272 seconds) 2020-12-12T19:16:02Z amb007 quit (Read error: Connection reset by peer) 2020-12-12T19:16:19Z amb007 joined #lisp 2020-12-12T19:18:16Z amb007 quit (Read error: Connection reset by peer) 2020-12-12T19:18:58Z amb007 joined #lisp 2020-12-12T19:19:13Z jibanes quit (Ping timeout: 260 seconds) 2020-12-12T19:19:48Z eden quit (Quit: Leaving) 2020-12-12T19:20:23Z jibanes joined #lisp 2020-12-12T19:20:30Z eden joined #lisp 2020-12-12T19:20:34Z eta joined #lisp 2020-12-12T19:20:56Z varjag joined #lisp 2020-12-12T19:21:25Z phantomics joined #lisp 2020-12-12T19:23:10Z amb007 quit (Read error: Connection reset by peer) 2020-12-12T19:23:35Z amb007 joined #lisp 2020-12-12T19:26:37Z EvW quit (Ping timeout: 260 seconds) 2020-12-12T19:42:39Z igemnace quit (Remote host closed the connection) 2020-12-12T19:43:11Z lilgopher quit (Quit: Computer went to sleep.) 2020-12-12T19:44:40Z amb007 quit (Read error: Connection reset by peer) 2020-12-12T19:44:49Z amb007 joined #lisp 2020-12-12T19:44:51Z andreyorst quit (Ping timeout: 265 seconds) 2020-12-12T19:46:24Z skapata quit (Remote host closed the connection) 2020-12-12T19:46:24Z amb007 quit (Read error: Connection reset by peer) 2020-12-12T19:46:42Z marcoxa quit (Ping timeout: 256 seconds) 2020-12-12T19:46:44Z amb007 joined #lisp 2020-12-12T19:49:07Z lilgopher joined #lisp 2020-12-12T19:51:51Z akoana joined #lisp 2020-12-12T19:54:14Z EvW joined #lisp 2020-12-12T19:55:18Z thmprover quit (Ping timeout: 272 seconds) 2020-12-12T19:55:55Z Codaraxis joined #lisp 2020-12-12T19:57:26Z zabow joined #lisp 2020-12-12T20:00:49Z amb007 quit (Read error: Connection reset by peer) 2020-12-12T20:01:55Z amb007 joined #lisp 2020-12-12T20:06:03Z jibanes quit (Ping timeout: 256 seconds) 2020-12-12T20:06:23Z eden quit (Ping timeout: 240 seconds) 2020-12-12T20:07:02Z eden joined #lisp 2020-12-12T20:10:25Z amb007 quit (Read error: Connection reset by peer) 2020-12-12T20:11:05Z karlosz quit (Quit: karlosz) 2020-12-12T20:11:22Z karlosz joined #lisp 2020-12-12T20:12:09Z amb007 joined #lisp 2020-12-12T20:12:27Z fiddlerwoaroof: One thing I find is that slime-scratch is often better than the slie-repl 2020-12-12T20:12:56Z fiddlerwoaroof: I personally like the ability to just tweak the code and get the output inline in the bufer 2020-12-12T20:13:06Z jibanes joined #lisp 2020-12-12T20:15:24Z asarch joined #lisp 2020-12-12T20:16:03Z eden quit (Ping timeout: 240 seconds) 2020-12-12T20:16:09Z asarch: One very very stupid question: roughly, how many lines was the Lisp written in Lisp from back old days? 2020-12-12T20:16:34Z phoe: I don't fully understand it 2020-12-12T20:16:36Z asarch: And, does that Lisp written in Lisp still exist? 2020-12-12T20:16:50Z phoe: which Lisp do you mean? LISP 1.5? 2020-12-12T20:17:51Z asarch: As far I know, there was the first Lisp. Then, there was a Lisp written in Lisp itself 2020-12-12T20:18:46Z asarch: I guess that was long before Common Lisp 2020-12-12T20:18:53Z easye: fiddlerwoaroof: next level after slime-scratch is using org-mode to evaluate code. 2020-12-12T20:19:08Z jeosol quit (Remote host closed the connection) 2020-12-12T20:19:13Z karlosz quit (Quit: karlosz) 2020-12-12T20:22:12Z easye: for org-mode to use lisp eval (org-babel-do-load-languages 'org-babel-load-languages '((dot . t) (lisp . t))) 2020-12-12T20:22:23Z thmprover joined #lisp 2020-12-12T20:24:13Z asarch quit (Remote host closed the connection) 2020-12-12T20:24:33Z asarch joined #lisp 2020-12-12T20:24:40Z easye: Then in any babel source block marked as lisp via `#+begin_src lisp` you can simply C-c C-c to run in the active SLIME repl. 2020-12-12T20:26:26Z zabow quit (Ping timeout: 256 seconds) 2020-12-12T20:26:47Z sugarwren joined #lisp 2020-12-12T20:27:14Z asarch quit (Remote host closed the connection) 2020-12-12T20:27:37Z asarch joined #lisp 2020-12-12T20:27:42Z easye: Errat: the `(dot . t)` form isn't necessary, but it is nice to bring graphviz along for the ride... 2020-12-12T20:31:41Z Alfr: asarch, you mean those twenty odd lines for an (not CL) evaluator form the LISP 1.5 Programmer's Manual? 2020-12-12T20:36:21Z ralt quit (Quit: Connection closed for inactivity) 2020-12-12T20:40:01Z jw4 quit (Read error: Connection reset by peer) 2020-12-12T20:42:00Z jw4 joined #lisp 2020-12-12T20:49:06Z Nilby: asarch: The first Lisp was written on paper by McCarthy, only a couple of pages. The second Lisp was written in machine code by Russell, translated from the paper. From then on Lisps were written in Lisp, as you can see the core of the Lisp 1.5 code is very small. 2020-12-12T20:50:26Z toorevitimirp quit (Remote host closed the connection) 2020-12-12T20:50:43Z Nilby: But some people say the first lisp was actually written by Gödel in his most famous paper. 2020-12-12T20:53:21Z thmprover: Who says this? 2020-12-12T20:53:26Z matryoshka quit (Quit: ZNC 1.8.2 - https://znc.in) 2020-12-12T20:53:41Z thmprover: (I heard "Godel" and knew it was my time to shine) 2020-12-12T20:54:27Z easye: Which machine did Betrand Russell write the code for? 2020-12-12T20:54:49Z thmprover: Godel's paper arguably was the first instance of a compiler, since he used Godel numbers to encode logic. 2020-12-12T20:55:23Z easye: Naw, Ada had the basics of compilers a good half-century before. 2020-12-12T20:55:29Z easye: Ada Lovelace 2020-12-12T20:55:51Z thmprover: True, I forgot about that. 2020-12-12T20:56:25Z thmprover: Er, well, Russell didn't write code. Arguably the Principia should be read as source code, the reader was the "machine". 2020-12-12T20:56:47Z luckless quit (Quit: luckless) 2020-12-12T20:57:21Z easye: Goedel essentially proved theoretically that the _Principia_ was an impossible project. Practically it had been abandoned a decade before. 2020-12-12T20:57:52Z thmprover: That was his first incompleteness theorem, but he used Godel numbering to prove it. 2020-12-12T20:57:56Z choegusung joined #lisp 2020-12-12T20:58:20Z thmprover: It would be exciting if he used Lisp, but no :( 2020-12-12T20:58:48Z easye: The Primes are perhaps marginally more foundational than the CONS. 2020-12-12T20:58:49Z thmprover: He fruitlessly spent the remaining 18 years of his life trying to build a time machine to reach a period when Lisp could be enjoyed as freely as today. 2020-12-12T20:58:57Z easye: hah 2020-12-12T20:59:14Z sugarwren quit (Quit: Leaving) 2020-12-12T20:59:27Z Nilby: Steve Russell, also write the first video game Spacewar 2020-12-12T20:59:35Z thmprover: Wouldn't multiplication be the cons? 2020-12-12T21:00:13Z karlosz joined #lisp 2020-12-12T21:00:25Z easye: Once you know the CONS, you see it everywhere. 2020-12-12T21:00:40Z easye: Until you start dealing with RDF triples, and then you ain't so sure. 2020-12-12T21:01:40Z easye: Steve Russel wrote Spacewars? Wow. I remember somehow seeing it in an arcade in a pizza parlor in the DC beltway in 1978. 2020-12-12T21:02:06Z easye: By random chance. I was entranced. Vector graphics rule! 2020-12-12T21:02:40Z easye: Asteroids appeared shortly afterwards, which was definitely more ubiquitous. 2020-12-12T21:03:17Z easye: As far as I know, Spacewars was never released as in an arcade machine from what I could determine. 2020-12-12T21:04:14Z easye: So, I have no idea how I saw it in a pizza parlor. But it was definitely 1978, as I had just seen _Star Wars_. 2020-12-12T21:04:15Z Nilby: Weirdly, Steve Russell also taught a little Billy Gates how to program. 2020-12-12T21:04:32Z easye: Gee, was Steve Russell at Harvard? 2020-12-12T21:04:56Z Nilby: MIT 2020-12-12T21:05:51Z matryoshka joined #lisp 2020-12-12T21:05:56Z easye: So Gates went to MIT to code? He was a Seattle new-money scion who was in Boston for Harvard where he met Ballmer. Gates never officially attended MIT from what I know. 2020-12-12T21:07:04Z Nilby: No, Russell was in Seattle after MIT. 2020-12-12T21:07:05Z easye: Was Spacewars in Lisp? 2020-12-12T21:07:26Z Jesin quit (Quit: Leaving) 2020-12-12T21:07:30Z easye: Ah. So after Billy flunked out, and slunked back to the Left Coast. 2020-12-12T21:07:53Z Nilby: Spacewars was in PDP-1,8,10 assembly I think. 2020-12-12T21:07:58Z jonatack quit (Ping timeout: 256 seconds) 2020-12-12T21:08:02Z easye: Yeah, that's what I remember. 2020-12-12T21:08:03Z entre-parenteses joined #lisp 2020-12-12T21:08:05Z deltab: easye: I'm reading that Spacewar! (1962) inspired Space Wars, the 1977 arcade game 2020-12-12T21:08:21Z Nilby: Right. 2020-12-12T21:08:30Z easye: Ah, I didn't know Spacewar! was 1962. That makes sense. 2020-12-12T21:08:47Z easye: That arcade cabinet couldn't even hold a Soviet PDP-8 clone... 2020-12-12T21:09:14Z Jesin joined #lisp 2020-12-12T21:09:16Z Nilby: I played it on a PDP-10 filling 2 rooms with a raised floor. 2020-12-12T21:09:22Z scymtym_ joined #lisp 2020-12-12T21:09:34Z scymtym_ quit (Remote host closed the connection) 2020-12-12T21:09:46Z easye: Although the Soviet clones of the PDP-8 and PDP-11 where definitely *different* than DEC's 2020-12-12T21:10:00Z easye: Er, wait, DEC didn't do PDPs. 2020-12-12T21:10:17Z matryoshka` joined #lisp 2020-12-12T21:10:22Z easye: Oh, yes they did. 2020-12-12T21:10:31Z matryoshka quit (Read error: Connection reset by peer) 2020-12-12T21:10:48Z scymtym quit (Ping timeout: 256 seconds) 2020-12-12T21:10:58Z scymtym joined #lisp 2020-12-12T21:11:18Z Nilby: PDP-10s ran a lot of cool stuff like the original Spacewar, Lisp, and Emacs. 2020-12-12T21:11:29Z izh_ joined #lisp 2020-12-12T21:11:41Z easye: 2020-12-12T21:13:51Z varjag: i have two soviet sbc pdp-11 clones here 2020-12-12T21:14:22Z easye: varjag: wow. Can I come see them after the pandemic is over? 2020-12-12T21:14:24Z varjag: still haven't got around to building the psu and current loop terminal adapter 2020-12-12T21:14:33Z Nilby: I love all those switches. 2020-12-12T21:14:55Z varjag: easye: it's not much to see, they are just PCBs 2020-12-12T21:15:32Z varjag: were commonly used as controllers in CNC and industrial systems 2020-12-12T21:15:32Z easye: varjag: Alright. But someday I'd like to. 2020-12-12T21:17:24Z Nilby: Of course you emulate, but it's not the same without the noise, smell, and glowy phosphor monitors. 2020-12-12T21:20:43Z ebrasca quit (Remote host closed the connection) 2020-12-12T21:22:13Z easye: I once spoke to an engineer who served on Soviet Boomers (ballistic missile subs). He described the "computers" that were just mechanical pieces of wire that rotated that provided all the nuke targeting they needed. The good thing was they were resistant to EMP. 2020-12-12T21:22:29Z aeth quit (Ping timeout: 265 seconds) 2020-12-12T21:23:03Z easye: That and the description of being able to throw a tarp over a Flunker interceptor in a field, come back in six-months, and it would fly just made my jaw drop. 2020-12-12T21:23:14Z izh_ quit (Quit: Leaving) 2020-12-12T21:23:59Z aeth joined #lisp 2020-12-12T21:24:00Z easye: For say, an F-15 it was common to have to have the entire ground crew line up to sweep the 100m around the plane for stray bolts that would otherwise get sucked into the engines and destroy it. 2020-12-12T21:24:50Z varjag: easye: this was on the very early missiles only 2020-12-12T21:25:12Z varjag: the guidance design itself copied from v-2 2020-12-12T21:26:56Z Nilby: Last time I saw people standing on the plane, sweeping with brooms, I got a little worried. 2020-12-12T21:28:22Z easye: I didn't realize that the Soviets also used V-2 stuff. Makes sense, as the Americans didn't get everyone with Operation Paperclip . Without that, the US wouldn't have had any chance to match Sputnik. The Redstone was essentially a V-2. 2020-12-12T21:28:50Z zabow joined #lisp 2020-12-12T21:29:41Z varjag: the first two soviet ballistic missiles, r-1 and r-2, were complete faithful copies of v-2 2020-12-12T21:29:47Z easye: But there was a lot more native talent rocket enthusiasts in Russia. It was really Sputnik that kick-started the whole "build a solid state missile in your garage" movement in the 1950-60s 2020-12-12T21:30:00Z varjag: up to r-5 they remained v-2 for the most part 2020-12-12T21:30:06Z bitmapper quit (Quit: Connection closed for inactivity) 2020-12-12T21:30:13Z varjag: r-5 introduced warhead separation and was bigger 2020-12-12T21:31:04Z easye: Yeah, I think the Soviets actually overran Pennemuende, right? 2020-12-12T21:31:06Z varjag: r-7 (the predecessor of soyuz) still had some of design elements from v-2 2020-12-12T21:31:29Z varjag: i think so yes, but it was abandoned relatively early in the war 2020-12-12T21:32:00Z srandon111 joined #lisp 2020-12-12T21:32:11Z srandon111: guys does clojure have cons ? 2020-12-12T21:32:19Z srandon111: https://clojuredocs.org/clojure.core/cons 2020-12-12T21:32:23Z srandon111: i mean i didn't know 2020-12-12T21:32:35Z srandon111: why there is people saying that clojure does not have cons ? 2020-12-12T21:32:57Z thmprover: People are *wrong* on the internet?! 2020-12-12T21:33:39Z ane: srandon111: maybe they mean clojure lists aren't based on cons cells? 2020-12-12T21:33:46Z thmprover: Clojure is a weird lisp/haskell/java hybrid. 2020-12-12T21:33:46Z Nilby: Clojure has a cons function but it returns a seq not a cons. 2020-12-12T21:36:25Z varjag: it appears to take sequence as its 2nd arg too 2020-12-12T21:36:30Z gaqwas quit (Ping timeout: 265 seconds) 2020-12-12T21:36:35Z varjag: can you (cons 1 2) in clojure? 2020-12-12T21:36:41Z travv0: nope 2020-12-12T21:36:53Z travv0: also a seq and sequence are two different concepts in clojure 2020-12-12T21:36:56Z travv0: but this is pretty off-topic 2020-12-12T21:37:30Z easye: So was rockets, for which I apologize. 2020-12-12T21:37:33Z thmprover: Well, `cons` creates a new Cons object 2020-12-12T21:37:43Z thmprover: OR a new PersistentList object. 2020-12-12T21:38:02Z thmprover: But the second-argument to Clojure's "cons" must be a seq of some kind. 2020-12-12T21:38:58Z EvW quit (Ping timeout: 258 seconds) 2020-12-12T21:41:06Z Nilby: Clojure conses up seqs with cons. CONS conses up conses that can be sequences. 2020-12-12T21:41:39Z thmprover: Now that's reasonable, I can get behind a proposal like that. 2020-12-12T21:42:02Z Nilby: :D 2020-12-12T21:42:39Z zcheng3 joined #lisp 2020-12-12T21:43:42Z Nilby : striving towards reasonable confusion since 2024. 2020-12-12T21:46:04Z jibanes quit (Ping timeout: 260 seconds) 2020-12-12T21:46:25Z matryoshka` quit (Read error: Connection reset by peer) 2020-12-12T21:46:29Z matryoshka joined #lisp 2020-12-12T21:47:58Z jibanes joined #lisp 2020-12-12T21:48:00Z deltab watches a game of Spacewar! and more: https://www.youtube.com/watch?v=1EWQYAfuMYw 2020-12-12T21:48:24Z shka_ quit (Ping timeout: 240 seconds) 2020-12-12T21:50:53Z entre-parenteses quit (Quit: ERC (IRC client for Emacs 27.1)) 2020-12-12T21:51:22Z thmprover: Lisp in small pieces is on sale for...$547.77... 2020-12-12T21:51:34Z entre-parenteses joined #lisp 2020-12-12T21:52:22Z choegusung quit (Quit: leaving) 2020-12-12T21:52:51Z curiouscain: Bargain! 2020-12-12T21:53:43Z jibanes quit (Ping timeout: 256 seconds) 2020-12-12T21:54:31Z jibanes joined #lisp 2020-12-12T21:58:40Z travv0: i'd be willing to part with my copy for $400 2020-12-12T21:59:46Z easye: _LiSP_ is a very cool text. I didn't make it through the last few chapters. 2020-12-12T22:00:39Z thmprover: Eh, looking through the preview, it's the same dialog style as "The little prover", which...well, it didn't work for me. 2020-12-12T22:01:14Z jibanes quit (Ping timeout: 256 seconds) 2020-12-12T22:01:36Z no-defun-allowed: I don't remember that, but I read LiSP approximately too long ago. 2020-12-12T22:01:51Z jibanes joined #lisp 2020-12-12T22:03:40Z travv0: lisp in small pieces isn't dialogue-style like the little prover/schemer 2020-12-12T22:04:07Z thmprover: Oh wait, I'm mixing up LiSP with the Little Lisper, gah 2020-12-12T22:04:07Z EvW joined #lisp 2020-12-12T22:04:34Z thmprover: (Amazon recommended the Little Lisper as a consolation prize) 2020-12-12T22:06:09Z easye: _LiSP_ starts out easy, but really ramps up in difficulty towards the end. 2020-12-12T22:07:13Z hendursaga: thmprover: That's just the hard-cover though? 2020-12-12T22:07:51Z easye: But _LiSP_ definitely is one of my "Desert Island Lisp Books". No other book that I know of actually goes into such detail about implementation. 2020-12-12T22:08:45Z thmprover: henursaga: yeah, though I prefer hard-cover when possible (since paperbacks tend to get badly mangled by the ravages of time...at least, in my care) 2020-12-12T22:08:49Z Nilby: I'm offically voiding copyright on long out of print books. Cheers. 2020-12-12T22:09:19Z thmprover: easye: yeah, that's what piqued my interest. 2020-12-12T22:11:22Z thmprover: I'm trying to write a "case study" of a literate program which is a verified implementation of a Lisp interpreter...which is how LiSP came across my radar. 2020-12-12T22:12:26Z srandon111: ane, thmprover do you think common lisp has advantages over clojure these days ? 2020-12-12T22:12:38Z no-defun-allowed: What verification would you do? 2020-12-12T22:12:59Z thmprover: srandon111: Common Lisp's performance is much better than Clojure (I work with Clojure and Clojurescript for a living) 2020-12-12T22:13:10Z no-defun-allowed: The CL condition and object systems are unparalleled, and Clojure doesn't even try. 2020-12-12T22:13:33Z easye is an old dog at this point, who doesn't want to learn new Clojure tricks. 2020-12-12T22:13:56Z thmprover: no-defun-allowed: I would need to write a spec for the small Lisp fragment, then use a theorem prover to demonstrate the interpreter faithfully implements the spec. Or do it by hand. 2020-12-12T22:15:19Z no-defun-allowed: I see. What could you specify? 2020-12-12T22:15:44Z thmprover: This is just a writing experiment to see if I could write a literate program, combined with some form of "literate formal proof". 2020-12-12T22:15:56Z Nilby: srandon111: A programming language is for you to express programs, so why should it matter what other people think? If you like a language, then it's good for you. 2020-12-12T22:16:46Z pve quit (Quit: leaving) 2020-12-12T22:16:54Z thmprover: no-defun-allowed: I would probably have several coupled together. A spec for an SECD machine, then a spec for compiling Lisp to the SECD machine instructions, and a third spec for the syntax & semantics of my Lisp fragment. 2020-12-12T22:18:05Z thmprover: I would then need to prove formally that "the diagram commutes" (i.e., if I had a Lisp tree-walking interpreter which faithfully adhered to the semantics of the spec, it would produce the same behavior as the SECD interpreted bytecode). 2020-12-12T22:18:14Z no-defun-allowed: Righteo. 2020-12-12T22:18:52Z no-defun-allowed: I recall that from an ACL2 tutorial. They wrote a stack machine, an interpreter for a language, and a compiler, and proved that the interpreter and stack machine did the same thing. 2020-12-12T22:19:36Z thmprover: srandon111: also the STM for Clojure, while really sophisticated, leads to bloated memory usage UNLESS you are very careful about managing memory with various coding conventions. 2020-12-12T22:21:17Z thmprover: no-defun-allowed: Fascinating! My own experiment stems from a larger project I'm working on, namely, writing a book on theorem provers for mathematicians "from scratch". I'll have to look at that ACL2 tutorial, but I'm basically working with a Blub language + Hoare triples. 2020-12-12T22:22:42Z thmprover: srandon111: in short, unless you are very diligent with your programming, CL is a friendlier language (in my mind) 2020-12-12T22:26:16Z ane: srandon111: yes, the condition system and CLOS make it easier to build large scale programs 2020-12-12T22:26:44Z jibanes quit (Ping timeout: 256 seconds) 2020-12-12T22:29:10Z jibanes joined #lisp 2020-12-12T22:30:44Z zcheng3 quit (Ping timeout: 240 seconds) 2020-12-12T22:33:07Z srandon111 quit (Quit: leaving) 2020-12-12T22:33:23Z entre-parenteses 2020-12-12T22:33:37Z phoe: entre-parenteses: yes 2020-12-12T22:33:41Z kenran quit (Quit: leaving) 2020-12-12T22:33:57Z entre-parenteses: Sorry, new to IRC and testing stuff out... 2020-12-12T22:34:18Z phoe: welcome to IRC then! to the channel #lisp on IRC network Freenode, to be exact 2020-12-12T22:34:28Z jibanes quit (Ping timeout: 260 seconds) 2020-12-12T22:35:11Z entre-parenteses: Many thanks! Hopefully I'm not being too disruptive with my fiddling. 2020-12-12T22:35:18Z jibanes joined #lisp 2020-12-12T22:36:33Z amerigo quit (Quit: Connection closed for inactivity) 2020-12-12T22:39:06Z thmprover: entre-parenteses: I fear you are too polite for the internet. 2020-12-12T22:39:32Z lisperature joined #lisp 2020-12-12T22:39:52Z Nilby: We do have fiddlers here. 2020-12-12T22:40:17Z easye watches Rome burn. 2020-12-12T22:41:31Z entre-parenteses: thmprover: Haha, maybe. Just don't want to break too many rules from the get-go. I'm relatively new to CL and hoping to not burn bridges (or Rome) with the community. 2020-12-12T22:42:10Z entre-parenteses: There's a lot to learn. 2020-12-12T22:44:00Z phoe: well then, welcome 2020-12-12T22:44:14Z phoe: #lisp is for general CL discussion, ##lisp is for discussion of all Lisp dialects 2020-12-12T22:44:14Z gaqwas joined #lisp 2020-12-12T22:44:14Z gaqwas quit (Changing host) 2020-12-12T22:44:14Z gaqwas joined #lisp 2020-12-12T22:44:33Z phoe: #lispcafe is for off-topic chat and #clschool is a place where beginners can ask questions 2020-12-12T22:46:24Z phoe: if #clschool is silent, then go to #lisp; if #lisp is occupied with elsething, go to #clschool 2020-12-12T22:46:28Z phoe: that's the summary of everything. 2020-12-12T22:46:45Z Nilby: The more Lisp you learn, the less Lisp you know. 2020-12-12T22:46:54Z easye watches phoe drop the mic, 2020-12-12T22:46:56Z ane: the more lisp, the more lisp 2020-12-12T22:47:29Z phoe: easye: wait, where do I drop the mic and how 2020-12-12T22:47:31Z Nilby: e.g. #s 2020-12-12T22:47:45Z phoe: wait, this implies that pathnames are unreadable' 2020-12-12T22:47:50Z phoe: ...oh, I see 2020-12-12T22:47:53Z phoe: touche, I enjoyed that one 2020-12-12T22:48:23Z easye: kick it on over here baby-pops, and let the old-school rule. 2020-12-12T22:48:58Z phoe: :( 2020-12-12T22:49:05Z phoe mic drops, goes to sleep 2020-12-12T22:50:49Z aartaka quit (Ping timeout: 260 seconds) 2020-12-12T22:52:22Z Lord_Nightmare quit (Remote host closed the connection) 2020-12-12T22:52:45Z Lord_Nightmare joined #lisp 2020-12-12T22:57:10Z jibanes quit (Ping timeout: 258 seconds) 2020-12-12T22:59:32Z jibanes joined #lisp 2020-12-12T23:00:51Z lotuseater joined #lisp 2020-12-12T23:05:26Z zabow quit (Ping timeout: 265 seconds) 2020-12-12T23:05:52Z lotuseater: good evening. hope all your parentheses are balanced :) 2020-12-12T23:06:00Z phoe: ( 2020-12-12T23:08:45Z no-defun-allowed: ) 2020-12-12T23:09:25Z phoe: sike, I caught your nickname between the parens 2020-12-12T23:09:29Z phoe goes to sleep, it's about time. 2020-12-12T23:10:58Z thmprover: I guess that means you'll be executed :o 2020-12-12T23:11:50Z no-defun-allowed: The function COMMON-LISP:*NO-DEFUN-ALLOWED* is undefined. 2020-12-12T23:12:38Z jibanes quit (Ping timeout: 256 seconds) 2020-12-12T23:13:04Z lisperature quit (Remote host closed the connection) 2020-12-12T23:14:02Z jibanes joined #lisp 2020-12-12T23:15:36Z gaqwas quit (Ping timeout: 240 seconds) 2020-12-12T23:16:42Z phoe: (defun no-defun-allowed () (setf (macro-function 'cl:defun) nil) (unintern 'cl:defun :cl) nil) 2020-12-12T23:19:25Z Nilby: (save-lisp-and-sleep) 2020-12-12T23:20:19Z Nilby left #lisp 2020-12-12T23:20:43Z jcguu95 joined #lisp 2020-12-12T23:31:25Z surabax quit (Quit: Leaving) 2020-12-12T23:31:58Z cosimone quit (Quit: cosimone) 2020-12-12T23:34:27Z asarch: "Abstract 2020-12-12T23:34:28Z asarch: In 1935/1936 Kurt Gödel wrote three notebooks on the foundations of quantum mechanics, which have now been entirely transcribed for the first time. Whereas a lot of the material is rather technical in character, many of Gödel's remarks have a philosophical background and concentrate on Leibnizian monadology as well as on vitalism. Obviously influenced by the vitalistic writings of Hans Driesch and his ‘proofs’ for the exis 2020-12-12T23:34:28Z asarch: tence of an entelechy in every living organism, Gödel briefly develops the idea of a computing machine which closely resembles Turing's groundbreaking conception. After introducing the notebooks on quantum mechanics, this article describes Gödel's vitalistic Weltbild and the ideas leading to the development of his computing machine. It investigates a notion of lawlike sequence which closely resembles Turing's concept of a computabl 2020-12-12T23:34:31Z asarch: e number and which Gödel himself calls ‘problematic’, and compares it to the opposed concept of randomness, drawing upon the notion of program-size complexity. Finally, Gödel's machine is implemented in a dialect of the Lisp programing language." 2020-12-12T23:34:41Z asarch: Oh, sorry 2020-12-12T23:34:50Z lilgopher quit (Ping timeout: 264 seconds) 2020-12-12T23:34:52Z asarch: This Gödel? 2020-12-12T23:36:54Z lotuseater: asarch: his notebooks on QM are more on the logic, aren't they? 2020-12-12T23:38:06Z ralt joined #lisp 2020-12-12T23:38:45Z Bike: sounds like a neat paper though. 2020-12-12T23:39:12Z EvW quit (Ping timeout: 260 seconds) 2020-12-12T23:39:14Z lotuseater: oh funny: Penrose–Lucas argument "Claim that human mathematicians are not describable as formal proof systems" 2020-12-12T23:39:14Z lotuseater: 2020-12-12T23:41:25Z lotuseater: the more beginning mathematical foundations for how to calculate in QM were given mostly by John von Neumann or let's say condensed 2020-12-12T23:44:02Z EvW joined #lisp 2020-12-12T23:46:01Z jibanes quit (Ping timeout: 246 seconds) 2020-12-12T23:47:55Z jibanes joined #lisp 2020-12-12T23:48:01Z asarch_ joined #lisp 2020-12-12T23:48:15Z asarch quit (Ping timeout: 272 seconds) 2020-12-12T23:48:41Z asarch_ is now known as asarch 2020-12-12T23:49:09Z asarch: XBox + Fornite = a nightmare for your Internet connection here in México 2020-12-12T23:49:09Z guanohhh joined #lisp 2020-12-12T23:51:27Z lotuseater: so how's the situation with lisp in México? :) 2020-12-12T23:52:47Z moon-child is now known as heats-flamesman 2020-12-12T23:53:24Z heats-flamesman is now known as moon-chilled 2020-12-12T23:53:51Z asarch: Well, a friends of mine were discussing about Hamilton code for landing on the moon: https://upload.wikimedia.org/wikipedia/commons/d/db/Margaret_Hamilton_-_restoration.jpg 2020-12-12T23:54:32Z asarch: And I just was wondered about the programming language she used for that 2020-12-12T23:54:46Z lotuseater: oh I like that picture :3 2020-12-12T23:55:03Z defunkydrummer joined #lisp 2020-12-12T23:55:24Z jibanes quit (Ping timeout: 240 seconds) 2020-12-12T23:55:30Z asarch: Because it seem to much for me because, well, the processors that were available back old days, you know 2020-12-12T23:56:25Z asarch: I mean, that was the reason of the size of Lisp written in Lisp 2020-12-12T23:57:23Z jibanes joined #lisp 2020-12-12T23:57:49Z lotuseater: yes or when you look on Stuart Russell handcompiling the stuff on IBM704 for writing EVAL 2020-12-12T23:58:34Z asarch: Is it still available the Lisp on Lisp code? 2020-12-12T23:58:57Z asarch: Or even Russell's code? 2020-12-13T00:00:55Z lotuseater: hm don't know. but the goal was the metacircular evaluator. even John McCarthy said first it isn't intended to do :D 2020-12-13T00:01:39Z lotuseater: then in a paper of Timothy Hart in 1963 macros came to lisp, but what i found online is not readable 2020-12-13T00:03:17Z sgibber2018 joined #lisp 2020-12-13T00:03:17Z harlchen quit (Quit: WeeChat 2.9) 2020-12-13T00:04:33Z bitmapper joined #lisp 2020-12-13T00:07:40Z lilgopher joined #lisp 2020-12-13T00:08:12Z entre-parenteses quit (Remote host closed the connection) 2020-12-13T00:12:30Z defunkydrummer: lotuseater: Steve Russell 2020-12-13T00:12:45Z thecoffemaker quit (Quit: So long and thanks for all the fish!) 2020-12-13T00:12:51Z defunkydrummer: not Stuart 2020-12-13T00:13:12Z lotuseater: defunkydrummer: damn how came Stuart to my mind? o_O thx so much 2020-12-13T00:13:16Z jibanes quit (Ping timeout: 256 seconds) 2020-12-13T00:14:01Z thecoffemaker joined #lisp 2020-12-13T00:14:41Z lotuseater: as long as not to confuse with Bertrand Russell :) 2020-12-13T00:15:00Z jibanes joined #lisp 2020-12-13T00:15:29Z thecoffemaker quit (Max SendQ exceeded) 2020-12-13T00:18:02Z thmprover: Ah yes, Cambridge personality Bertie "Mad Dog" Russell, who famously said, "It all depends on what the meaning of 'is' is." 2020-12-13T00:18:37Z elflng: i always thought that was the expresident trying to defend himself in the impeachment trials. 2020-12-13T00:18:40Z elflng: (clinton) 2020-12-13T00:19:17Z Bike: nah it's in On Denoting 2020-12-13T00:19:34Z thecoffemaker joined #lisp 2020-12-13T00:23:25Z Fare quit (Ping timeout: 258 seconds) 2020-12-13T00:25:51Z lilgopher quit (Quit: Computer went to sleep.) 2020-12-13T00:28:12Z todun joined #lisp 2020-12-13T00:28:39Z thecoffemaker quit (Quit: So long and thanks for all the fish!) 2020-12-13T00:29:01Z lilgopher joined #lisp 2020-12-13T00:33:17Z random-nick quit (Ping timeout: 260 seconds) 2020-12-13T00:33:46Z jibanes quit (Ping timeout: 258 seconds) 2020-12-13T00:35:02Z thecoffemaker joined #lisp 2020-12-13T00:35:37Z jibanes joined #lisp 2020-12-13T00:38:18Z thecoffemaker quit (Max SendQ exceeded) 2020-12-13T00:38:33Z Jesin quit (Quit: Leaving) 2020-12-13T00:39:00Z lilgopher quit (Quit: Computer went to sleep.) 2020-12-13T00:40:11Z Jesin joined #lisp 2020-12-13T00:40:50Z thecoffemaker joined #lisp 2020-12-13T00:42:46Z marusich joined #lisp 2020-12-13T00:44:30Z varjag quit (Ping timeout: 258 seconds) 2020-12-13T00:44:44Z devon quit (Ping timeout: 272 seconds) 2020-12-13T00:47:11Z varjag joined #lisp 2020-12-13T00:49:05Z todun quit (Quit: todun) 2020-12-13T00:49:50Z thecoffemaker quit (Quit: So long and thanks for all the fish!) 2020-12-13T00:50:54Z thecoffemaker joined #lisp 2020-12-13T00:54:02Z _whitelogger quit (Remote host closed the connection) 2020-12-13T00:56:10Z _whitelogger joined #lisp 2020-12-13T00:57:36Z jpli quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) 2020-12-13T00:58:52Z elflng quit (Quit: leaving) 2020-12-13T01:00:27Z sgibber2018 quit (Quit: WeeChat 2.9) 2020-12-13T01:00:33Z thecoffemaker quit (Quit: So long and thanks for all the fish!) 2020-12-13T01:03:17Z marusich quit (Ping timeout: 258 seconds) 2020-12-13T01:03:36Z thecoffemaker joined #lisp 2020-12-13T01:04:00Z thecoffemaker is now known as thecoffem 2020-12-13T01:05:15Z varjag quit (Ping timeout: 256 seconds) 2020-12-13T01:07:26Z kaftejiman quit (Remote host closed the connection) 2020-12-13T01:09:39Z Fare joined #lisp 2020-12-13T01:12:30Z thecoffem quit (Quit: So long and thanks for all the fish!) 2020-12-13T01:14:58Z marusich joined #lisp 2020-12-13T01:18:22Z skapata joined #lisp 2020-12-13T01:21:55Z Jeanne-Kamikaze quit (Quit: Leaving) 2020-12-13T01:22:12Z Jeanne-Kamikaze joined #lisp 2020-12-13T01:23:01Z thecoffemaker joined #lisp 2020-12-13T01:25:53Z fiddlerwoaroof: easye: org-mode is great, I find there's too much ceremony for getting my thoughts into the computer when I'm in the flow 2020-12-13T01:26:12Z fiddlerwoaroof: (coding, that is) 2020-12-13T01:29:50Z rumbler31 joined #lisp 2020-12-13T01:30:17Z rumbler31 quit (Remote host closed the connection) 2020-12-13T01:31:58Z thecoffemaker quit (Quit: So long and thanks for all the fish!) 2020-12-13T01:36:01Z rumbler31 joined #lisp 2020-12-13T01:37:10Z thecoffemaker joined #lisp 2020-12-13T01:41:56Z jibanes quit (Ping timeout: 240 seconds) 2020-12-13T01:43:56Z badcfe joined #lisp 2020-12-13T01:44:05Z jibanes joined #lisp 2020-12-13T01:44:28Z gzj joined #lisp 2020-12-13T01:45:05Z gzj quit (Remote host closed the connection) 2020-12-13T01:45:27Z gzj joined #lisp 2020-12-13T01:46:13Z EvW quit (Ping timeout: 258 seconds) 2020-12-13T01:47:29Z thecoffemaker quit (Quit: So long and thanks for all the fish!) 2020-12-13T01:47:51Z ralt quit (Quit: Connection closed for inactivity) 2020-12-13T01:48:53Z Lord_of_Life joined #lisp 2020-12-13T01:49:16Z Lord_of_Life_ quit (Ping timeout: 240 seconds) 2020-12-13T01:51:24Z orivej quit (Ping timeout: 240 seconds) 2020-12-13T01:51:38Z perrier-jouet quit (Ping timeout: 260 seconds) 2020-12-13T01:51:57Z thecoffemaker joined #lisp 2020-12-13T01:52:53Z emacsomancer: fiddlerwoaroof: org-capture templates make it a lot easier to quickly dump from short-term wetware memory into org 2020-12-13T01:54:19Z thecoffemaker quit (Max SendQ exceeded) 2020-12-13T01:59:19Z lilgopher joined #lisp 2020-12-13T01:59:40Z jcguu95 quit (Quit: ERC (IRC client for Emacs 27.1)) 2020-12-13T02:01:28Z fiddlerwoaroof: emacsomancer: yeah, my problem is different: scratch-style code evaluation is great for quickly iterating to a solution to a set problem 2020-12-13T02:01:34Z perrier-jouet joined #lisp 2020-12-13T02:01:56Z jibanes quit (Ping timeout: 258 seconds) 2020-12-13T02:01:57Z fiddlerwoaroof: org SRC blocks also work, but I've found them a bit awkward during the prototyping phase 2020-12-13T02:02:05Z nij joined #lisp 2020-12-13T02:02:29Z emacsomancer: fiddlerwoaroof: I see. so not the initial creation of the blocks, but subsequent interactions? 2020-12-13T02:03:09Z hiroaki quit (Ping timeout: 272 seconds) 2020-12-13T02:03:48Z jibanes joined #lisp 2020-12-13T02:05:14Z aeth quit (Ping timeout: 265 seconds) 2020-12-13T02:06:44Z aeth joined #lisp 2020-12-13T02:08:01Z defunkydrummer quit (Ping timeout: 264 seconds) 2020-12-13T02:09:15Z jxy quit (Quit: leaving) 2020-12-13T02:09:35Z jxy joined #lisp 2020-12-13T02:09:55Z rumbler31 quit (Remote host closed the connection) 2020-12-13T02:12:02Z thecoffemaker joined #lisp 2020-12-13T02:12:15Z sgibber2018 joined #lisp 2020-12-13T02:13:21Z wildlander joined #lisp 2020-12-13T02:16:20Z elflng joined #lisp 2020-12-13T02:21:03Z thecoffemaker quit (Quit: So long and thanks for all the fish!) 2020-12-13T02:22:26Z thecoffemaker joined #lisp 2020-12-13T02:23:38Z fiddlerwoaroof: emacsomancer: yeah, I really like org-mode for documentation and "blogging" about code. 2020-12-13T02:29:01Z zulu-inuoe quit (Read error: Connection reset by peer) 2020-12-13T02:33:05Z gzj quit (Remote host closed the connection) 2020-12-13T02:33:26Z gzj joined #lisp 2020-12-13T02:34:23Z eden joined #lisp 2020-12-13T02:36:03Z mister_m: I saw it mentioned in the upscroll; is the book lisp in small pieces suitable for someone relatively new to lisp? 2020-12-13T02:36:20Z Bike: probably not, honestly 2020-12-13T02:38:36Z jibanes quit (Ping timeout: 240 seconds) 2020-12-13T02:39:35Z thecoffemaker quit (Read error: Connection timed out) 2020-12-13T02:40:39Z jibanes joined #lisp 2020-12-13T02:43:43Z lilgopher quit (Ping timeout: 258 seconds) 2020-12-13T02:44:10Z thecoffemaker joined #lisp 2020-12-13T02:45:31Z thecoffemaker quit (Max SendQ exceeded) 2020-12-13T02:47:48Z mister_m: Bike: thanks 2020-12-13T02:49:25Z thecoffemaker joined #lisp 2020-12-13T02:50:14Z gzj quit (Ping timeout: 258 seconds) 2020-12-13T02:53:04Z aeth quit (Ping timeout: 256 seconds) 2020-12-13T02:54:02Z semz quit (Ping timeout: 260 seconds) 2020-12-13T02:54:49Z aeth joined #lisp 2020-12-13T02:58:26Z thecoffemaker quit (Quit: So long and thanks for all the fish!) 2020-12-13T02:59:40Z thecoffemaker joined #lisp 2020-12-13T03:01:41Z thmprover: I'm actually having some difficulty getting into the hang of literate programming in org-mode. 2020-12-13T03:04:11Z lotuseater: so what problem specifically? 2020-12-13T03:06:04Z thmprover: Literate programming (in the Knuth sense) is difficult, but getting org-mode to export the correct HTML is tedious. It feels like I'm fighting against the tide. 2020-12-13T03:06:30Z lotuseater: do you know pandoc? 2020-12-13T03:06:55Z thmprover: Yes, I dislike it. 2020-12-13T03:06:59Z lotuseater: why? 2020-12-13T03:07:24Z semz joined #lisp 2020-12-13T03:07:34Z thmprover: I take advantage of a lot of custom TeX macros, and they don't play nice with pandoc. 2020-12-13T03:07:50Z abhixec joined #lisp 2020-12-13T03:07:59Z lotuseater: ah yes that's a tradeoff 2020-12-13T03:08:41Z thmprover: I mean, I can see pandoc's appeal to the generic user, but I'm the "crazed TeX survivalist"-type user. 2020-12-13T03:08:56Z no-defun-allowed: Yes, pandoc doesn't properly run TeX. So I use htlatex and fix up a bit of the nonsense it emits with a script that runs sed. 2020-12-13T03:09:16Z jibanes quit (Ping timeout: 240 seconds) 2020-12-13T03:10:05Z thmprover: I'm starting to explore htlatex to translate this manuscript I'm writing on theorem provers to HTML, it's a nifty program, but so...niche. 2020-12-13T03:10:56Z no-defun-allowed: Specifically, we use https://gitlab.com/cal-coop/netfarm/documentation/-/blob/master/make-htlatex.sh and that ends up making https://cal-coop.gitlab.io/netfarm/documentation/ which is...bearable. 2020-12-13T03:11:02Z lotuseater: a friend of mine also showed me this half a year ago, maybe it's of use for anyone else: https://latex.now.sh/ 2020-12-13T03:11:24Z jibanes joined #lisp 2020-12-13T03:11:36Z lotuseater: no-defun-allowed: nice look! 2020-12-13T03:12:36Z no-defun-allowed: It seems likely thmprover wants to use a LaTeX document to make HTML. 2020-12-13T03:12:42Z thmprover: lotuseater: the rendering is, I can't quite put my finger on it, the fonts are slightly mismatched. The CMR is too light compared to the monotype font weight. 2020-12-13T03:12:57Z lotuseater: ok 2020-12-13T03:13:11Z thmprover: It's nifty, but not for me. 2020-12-13T03:14:18Z lotuseater: how do i in org-mode set globally to tangle all blocks? except the ones with ":tangle no" 2020-12-13T03:15:04Z nij quit (Remote host closed the connection) 2020-12-13T03:16:34Z thmprover: "#+OPTION: :tangle " 2020-12-13T03:16:36Z jibanes quit (Ping timeout: 240 seconds) 2020-12-13T03:16:37Z thmprover: (I think) 2020-12-13T03:16:49Z lotuseater: ah yes thx 2020-12-13T03:17:10Z thmprover: np 2020-12-13T03:17:22Z lotuseater: just taking org-mode and all its features is soo much :D 2020-12-13T03:17:55Z jibanes joined #lisp 2020-12-13T03:18:23Z thmprover: I'm trying to work with it to write my notes on earth science, but it's...I don't know... 2020-12-13T03:19:04Z thmprover: I sense I am doing things wrong with org-mode, but I don't know what "doing things right" looks like, and the only talks on it seem to be excited users talking about how great it is. 2020-12-13T03:21:20Z thmprover: Maybe I should go complain on #org-mode about org-mode 2020-12-13T03:29:15Z akoana left #lisp 2020-12-13T03:30:07Z fiddlerwoaroof: Hmm, I used custom TeX macros all the time with pandoc 2020-12-13T03:31:34Z thmprover: fiddlerwoaroof: I'm doing pretty tricky macro stuff, which takes advantage of the dynamic scoping of TeX (and I think confuses pandoc) 2020-12-13T03:31:47Z fiddlerwoaroof: Interesting 2020-12-13T03:32:39Z fiddlerwoaroof: The most complicated I had were Tikz diagrams 2020-12-13T03:33:03Z PuercoPop joined #lisp 2020-12-13T03:34:22Z fiddlerwoaroof: But, I was writing humanities papers, which are somewhat less involved 2020-12-13T03:38:42Z skapata quit (Remote host closed the connection) 2020-12-13T03:40:10Z no-defun-allowed: Well, I don't know if pandoc does any macroexpansion. It just ignored my \Defun commands. 2020-12-13T03:46:44Z Jeanne-Kamikaze quit (Quit: Leaving) 2020-12-13T03:53:02Z fiddlerwoaroof: Yeah, I mostly relied on latex being passed through in md -> latex conversion 2020-12-13T03:53:09Z fiddlerwoaroof: I've never tried latex as an input format 2020-12-13T03:53:31Z loke quit (Remote host closed the connection) 2020-12-13T03:54:34Z loke joined #lisp 2020-12-13T03:54:39Z asarch quit (Remote host closed the connection) 2020-12-13T03:55:54Z fiddlerwoaroof: One thing I find interesting about SLIME, is that it doesn't seem to make much use of generic functions or EIEIO 2020-12-13T03:56:29Z fiddlerwoaroof: Maybe it's too old, but I've found it pretty useful for managing my emacs configuration 2020-12-13T03:56:43Z fiddlerwoaroof: (eq it 'SLIME) 2020-12-13T03:57:41Z waleee-cl quit (Quit: Connection closed for inactivity) 2020-12-13T04:01:58Z Alfr_ joined #lisp 2020-12-13T04:03:06Z jibanes quit (Ping timeout: 256 seconds) 2020-12-13T04:04:38Z Alfr quit (Ping timeout: 260 seconds) 2020-12-13T04:05:04Z jibanes joined #lisp 2020-12-13T04:10:57Z beach: Good morning everyone! 2020-12-13T04:11:04Z fiddlerwoaroof: morning, beach 2020-12-13T04:16:24Z akoana_ joined #lisp 2020-12-13T04:16:32Z akoana_ quit (Client Quit) 2020-12-13T04:16:56Z akoana joined #lisp 2020-12-13T04:19:52Z karlosz quit (Quit: karlosz) 2020-12-13T04:20:08Z karlosz joined #lisp 2020-12-13T04:22:58Z leo_song joined #lisp 2020-12-13T04:25:44Z matryoshka quit (Quit: ZNC 1.8.2 - https://znc.in) 2020-12-13T04:27:09Z a0 joined #lisp 2020-12-13T04:29:23Z eden quit (Ping timeout: 240 seconds) 2020-12-13T04:30:50Z oni-on-ion quit (Read error: Connection reset by peer) 2020-12-13T04:32:44Z oni-on-ion joined #lisp 2020-12-13T04:36:24Z akoana left #lisp 2020-12-13T04:38:52Z phadthai quit (Quit: bbl) 2020-12-13T04:40:48Z phoe6_ quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) 2020-12-13T04:41:34Z zcheng3 joined #lisp 2020-12-13T04:49:27Z narimiran joined #lisp 2020-12-13T04:50:13Z jibanes quit (Ping timeout: 256 seconds) 2020-12-13T04:52:07Z jibanes joined #lisp 2020-12-13T04:56:28Z hvxgr quit (Remote host closed the connection) 2020-12-13T05:04:31Z phadthai joined #lisp 2020-12-13T05:18:23Z dmiles joined #lisp 2020-12-13T05:18:39Z aaaaaa joined #lisp 2020-12-13T05:26:45Z terrorjack quit (Remote host closed the connection) 2020-12-13T05:26:56Z jibanes quit (Ping timeout: 240 seconds) 2020-12-13T05:28:04Z jibanes joined #lisp 2020-12-13T05:28:28Z orivej joined #lisp 2020-12-13T05:33:11Z Bike quit (Quit: Lost terminal) 2020-12-13T05:34:10Z jibanes quit (Ping timeout: 272 seconds) 2020-12-13T05:34:54Z jibanes joined #lisp 2020-12-13T05:37:27Z saganman: Morning beach 2020-12-13T05:37:32Z saganman: Morning Everyone! 2020-12-13T05:37:41Z beach: Hello saganman. 2020-12-13T05:38:00Z saganman: Hey beach. 2020-12-13T05:40:26Z jibanes quit (Ping timeout: 258 seconds) 2020-12-13T05:41:14Z jibanes joined #lisp 2020-12-13T05:41:43Z notzmv quit (Remote host closed the connection) 2020-12-13T05:45:18Z zcheng3 quit (Quit: leaving) 2020-12-13T05:46:28Z gzj joined #lisp 2020-12-13T05:46:43Z a0 quit (Ping timeout: 240 seconds) 2020-12-13T05:47:43Z jibanes quit (Ping timeout: 258 seconds) 2020-12-13T05:49:04Z PuercoPop quit (Remote host closed the connection) 2020-12-13T05:49:05Z gzj quit (Remote host closed the connection) 2020-12-13T05:49:42Z jibanes joined #lisp 2020-12-13T05:54:36Z aaaaaa left #lisp 2020-12-13T05:55:42Z astronavt quit (Quit: ...) 2020-12-13T05:56:16Z MightyJoe joined #lisp 2020-12-13T05:56:51Z galex-713 quit (Ping timeout: 272 seconds) 2020-12-13T05:56:56Z jibanes quit (Ping timeout: 240 seconds) 2020-12-13T05:58:08Z cyraxjoe quit (Ping timeout: 256 seconds) 2020-12-13T05:59:09Z jibanes joined #lisp 2020-12-13T06:01:10Z dmiles quit (Remote host closed the connection) 2020-12-13T06:02:49Z dmiles joined #lisp 2020-12-13T06:06:13Z galex-713 joined #lisp 2020-12-13T06:06:55Z uniminin joined #lisp 2020-12-13T06:07:16Z sgibber2018 quit (Quit: WeeChat 2.9) 2020-12-13T06:16:17Z imode quit (Ping timeout: 260 seconds) 2020-12-13T06:17:16Z abhixec quit (Ping timeout: 240 seconds) 2020-12-13T06:25:16Z jibanes quit (Ping timeout: 265 seconds) 2020-12-13T06:25:30Z gutter quit (Remote host closed the connection) 2020-12-13T06:26:59Z jibanes joined #lisp 2020-12-13T06:27:50Z badcfe: in 'on lisp' fig 14.3 there's a aif2 that seems wrong to me. but i see this is not in the errata, and i'm not really a lisper, hence i am guessing i'm wrong 2020-12-13T06:28:54Z beach: Let me check 2020-12-13T06:30:16Z badcfe: on the forth line there, i see (if (or it ,win) ,then ,else)) .. and i am thinking it should be (if ,win ,then ,else) 2020-12-13T06:31:05Z beach: I guess that depends on how he specified what should happen with the values of the test. 2020-12-13T06:32:06Z frost-lab joined #lisp 2020-12-13T06:32:16Z badcfe: yes, and it's not even specified, but there's also a usage example, which makes me think what i mention here 2020-12-13T06:32:30Z badcfe: s/even/only/ 2020-12-13T06:32:38Z wxie joined #lisp 2020-12-13T06:32:43Z badcfe: s/forth/fourth/ 2020-12-13T06:32:56Z badcfe: late for me. sorry 2020-12-13T06:32:59Z beach: Ah, yes, let me look at the example. 2020-12-13T06:33:44Z beach: Won't the two versions have the same effect for GETHASH. 2020-12-13T06:33:46Z beach: ? 2020-12-13T06:34:09Z beach: If the first value is true, then so is the second. 2020-12-13T06:34:48Z beach: But, yes, I think you may be right. 2020-12-13T06:35:13Z beach: Then, I just barely finished my morning coffee, so opinions of others are welcome. 2020-12-13T06:38:02Z jibanes quit (Ping timeout: 256 seconds) 2020-12-13T06:39:29Z jibanes joined #lisp 2020-12-13T06:43:10Z beach: It was a while ago that I read On Lisp, but now I see that AIF2 solves a major problem with the single-value version, namely that, if you respect the advice of Norvig and Pitman of using only Boolean expressions as the test in IF, then the "IT" of AIF will never be a useful value. 2020-12-13T06:44:09Z badcfe: i see now, that it doesn't matter, because both are null iff we shall branch to ,else -- if we can assume that any function indicating not-found on second return value will always have a null first return value as well, in other words that we have a functional dependency (sorry to use database theory term here). however, i think my variant is more intuitive in addition to be shorter 2020-12-13T06:44:36Z beach: I agree with your assessment. 2020-12-13T06:47:50Z badcfe: hey thanks. maybe i should submit as errata. 2020-12-13T06:48:36Z beach: Sure. It can't hurt. 2020-12-13T06:48:52Z badcfe: about that advice you mention, you suggest it as practice? i'm just curious 2020-12-13T06:49:53Z beach: Which one? 2020-12-13T06:50:21Z thmprover quit (Read error: Connection reset by peer) 2020-12-13T06:50:31Z beach: I try as much as possible to follow the advice of page 13 of the LUV slides by Norvig and Pitman, if that's what you are asking. 2020-12-13T06:50:34Z thmprover joined #lisp 2020-12-13T06:50:48Z jibanes quit (Ping timeout: 272 seconds) 2020-12-13T06:50:52Z beach: So yes, I use only Boolean values for tests. 2020-12-13T06:51:15Z badcfe: yes, that's what i was asking. i guess my next read should be LUV 2020-12-13T06:51:23Z thmprover quit (Client Quit) 2020-12-13T06:51:58Z beach: I like it very much. It was written by two people with a lot more experience with software development in larger teams than I will ever have. 2020-12-13T06:52:06Z jibanes joined #lisp 2020-12-13T06:52:44Z beach: Many #lisp participants contest their advice, but I think I know for a fact that the people who do contest it have way less experience than these two people have. 2020-12-13T07:07:48Z jibanes quit (Ping timeout: 260 seconds) 2020-12-13T07:09:40Z jibanes joined #lisp 2020-12-13T07:14:46Z a0 joined #lisp 2020-12-13T07:14:57Z a0 quit (Remote host closed the connection) 2020-12-13T07:15:29Z a0 joined #lisp 2020-12-13T07:15:46Z jibanes quit (Ping timeout: 256 seconds) 2020-12-13T07:16:35Z jibanes joined #lisp 2020-12-13T07:18:24Z badcfe quit (Quit: Lost terminal) 2020-12-13T07:19:38Z skapata joined #lisp 2020-12-13T07:21:22Z jibanes quit (Ping timeout: 246 seconds) 2020-12-13T07:22:41Z jibanes joined #lisp 2020-12-13T07:29:02Z jibanes quit (Ping timeout: 256 seconds) 2020-12-13T07:30:36Z jibanes joined #lisp 2020-12-13T07:35:50Z jibanes quit (Ping timeout: 256 seconds) 2020-12-13T07:36:38Z jibanes joined #lisp 2020-12-13T07:49:45Z gaqwas joined #lisp 2020-12-13T07:50:09Z housel quit (Read error: Connection reset by peer) 2020-12-13T07:53:09Z Oladon quit (Quit: Leaving.) 2020-12-13T08:02:12Z aartaka joined #lisp 2020-12-13T08:09:59Z gaqwas quit (Remote host closed the connection) 2020-12-13T08:11:07Z theBlackDragon quit (Ping timeout: 272 seconds) 2020-12-13T08:11:39Z theBlackDragon joined #lisp 2020-12-13T08:15:44Z wxie quit (Remote host closed the connection) 2020-12-13T08:16:01Z wxie joined #lisp 2020-12-13T08:16:47Z fiddlerwoaroof: If these are the notes you're talking about, they're pretty interesting: https://www.cs.umd.edu/~nau/cmsc421/norvig-lisp-style.pdf 2020-12-13T08:18:02Z beach: Yes, that's it. 2020-12-13T08:18:09Z igemnace joined #lisp 2020-12-13T08:19:42Z fiddlerwoaroof: I always forget CATCH/THROW exist 2020-12-13T08:20:20Z shka_ joined #lisp 2020-12-13T08:21:06Z phoe: regarding 4.3? that's sorta good 2020-12-13T08:21:23Z fiddlerwoaroof: Yeah 2020-12-13T08:21:42Z mbomba joined #lisp 2020-12-13T08:21:52Z phoe: they very rarely need to be used, given that non-local GO/RETURN-FROM also exist and are slightly safer to use 2020-12-13T08:22:17Z fiddlerwoaroof: Yeah, the main difference is dynamic extent of CATCH, right? 2020-12-13T08:22:20Z phoe: ...unless they leak out of their dynamic scope, but that is usually not very hard to spot in code 2020-12-13T08:22:23Z phoe: yes 2020-12-13T08:22:38Z phoe: CATCH is fully dynamic, which also means it's a wee bit slower 2020-12-13T08:22:52Z fiddlerwoaroof: I actually just had a problem that is shaped this way :) 2020-12-13T08:22:54Z phoe: but THROW doesn't need to lexically match a CATCH form, which is also much more general 2020-12-13T08:23:21Z phoe: so if you don't feel like passing a closure all the way to your non-local jump site, THROW might be a good option 2020-12-13T08:24:38Z Lord_of_Life quit (Changing host) 2020-12-13T08:24:38Z Lord_of_Life joined #lisp 2020-12-13T08:27:14Z aartaka quit (Ping timeout: 256 seconds) 2020-12-13T08:35:54Z zabow joined #lisp 2020-12-13T08:36:44Z fiddlerwoaroof: phoe: I needed to figure out a good way to avoid doing extra work with taking here: https://fwoar.co/pastebin/3cf12f4c0037cce4021a1da07bf2da76051bc425.lisp.html 2020-12-13T08:37:27Z phoe: what do you mean, extra work? 2020-12-13T08:37:33Z fiddlerwoaroof: Obviously, with the LABELS implementation I can just use a block, but this is just for convenient prototyping 2020-12-13T08:38:02Z fiddlerwoaroof: The lines beginning with `>>>` show every invocation of the inner function in TAKING 2020-12-13T08:38:22Z fiddlerwoaroof: TAKING is supposed to only process N elements of the collection being worked on, and ignore the rest 2020-12-13T08:38:47Z phoe: is the second code block good then? the outut seems consistent with what is processed 2020-12-13T08:39:05Z fiddlerwoaroof: Yeah, THROW allowed me to implement EXIT-EARLY 2020-12-13T08:39:11Z phoe: yes 2020-12-13T08:39:37Z phoe: the only other option is to pass a closure all the way to TAKING, which might or might not be viable in your case 2020-12-13T08:39:45Z phoe: or use conditions, which will be slower. 2020-12-13T08:39:52Z phoe: so THROW seems like a decent fit in this case 2020-12-13T08:40:14Z fiddlerwoaroof: Yeah, I thought of conditions but those also just feel semantically wrong for this 2020-12-13T08:40:27Z fiddlerwoaroof: maybe a signal that doesn't inherit from condition would be ok 2020-12-13T08:40:29Z pve joined #lisp 2020-12-13T08:40:36Z jibanes quit (Ping timeout: 265 seconds) 2020-12-13T08:40:36Z phoe: you mean from warning/error? 2020-12-13T08:40:49Z phoe: all conditions, by definition, inherit from type CONDITION 2020-12-13T08:41:03Z phoe: and those non-error ones would be semantically valid to use here 2020-12-13T08:41:05Z fiddlerwoaroof: Sorry, I think I was confused 2020-12-13T08:41:20Z phoe: you signal a situation that you found a match of some sort 2020-12-13T08:41:35Z fiddlerwoaroof: Yeah, I meant using SIGNAL instead of ERROR/WARN 2020-12-13T08:41:40Z phoe: and it's up to the code around this call to handle or ignore it. this includes optionally performing a non-local jump. 2020-12-13T08:42:03Z jibanes joined #lisp 2020-12-13T08:42:13Z phoe: so using HANDLER-CASE over SIGNAL would be equivalent to THROW/CATCH, but also very likely it would be slower because of walking the handler stack and performing runtime type checks. 2020-12-13T08:42:37Z phoe: see https://gist.github.com/nikodemus/b461ab9146a3397dd93e 2020-12-13T08:42:49Z fiddlerwoaroof: Yeah 2020-12-13T08:43:10Z phoe: so you're good with THROW/CATCH in this case, it seems like the proper primitive for bailing out early in this case. 2020-12-13T08:43:43Z Nilby joined #lisp 2020-12-13T08:44:15Z fiddlerwoaroof: Yeah, I just never actually think about it 2020-12-13T08:44:38Z phoe: well now you did think about it, most likely because you actually found a use case for it 2020-12-13T08:44:49Z phoe: and CL delivers. :D 2020-12-13T08:45:08Z fiddlerwoaroof: One reason I like CL is that every programmer/team has their own dialect 2020-12-13T08:45:22Z fiddlerwoaroof: This is true in most languages, but I find the variations in CL more interesting 2020-12-13T08:49:53Z phoe: that's both a boon and a challenge 2020-12-13T08:49:53Z amb007 quit (Read error: Connection reset by peer) 2020-12-13T08:50:08Z phoe: synchronizing different minds is real tricky in Common Lisp because of that trait. 2020-12-13T08:53:08Z amb007 joined #lisp 2020-12-13T08:56:00Z sgibber2018 joined #lisp 2020-12-13T08:56:31Z no-defun-allowed: Hypothetically, you at least have a definition of all the dialect-y stuff in a common language, which may not be the case for human languages. 2020-12-13T08:59:35Z hnOsmium0001 quit (Quit: Connection closed for inactivity) 2020-12-13T08:59:48Z zabow left #lisp 2020-12-13T08:59:48Z mbomba quit (Quit: WeeChat 3.0) 2020-12-13T09:00:24Z Lord_of_Life quit (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine) 2020-12-13T09:00:48Z Lord_of_Life joined #lisp 2020-12-13T09:04:26Z jibanes quit (Ping timeout: 272 seconds) 2020-12-13T09:05:48Z jibanes joined #lisp 2020-12-13T09:07:38Z hendursa1 joined #lisp 2020-12-13T09:09:23Z hendursaga quit (Ping timeout: 240 seconds) 2020-12-13T09:14:09Z catchme joined #lisp 2020-12-13T09:15:09Z ralt joined #lisp 2020-12-13T09:15:34Z orivej quit (Ping timeout: 256 seconds) 2020-12-13T09:16:05Z jonatack joined #lisp 2020-12-13T09:16:51Z aartaka joined #lisp 2020-12-13T09:20:24Z jonatack quit (Ping timeout: 240 seconds) 2020-12-13T09:29:20Z ldb joined #lisp 2020-12-13T09:29:22Z ldb: good evening 2020-12-13T09:29:35Z beach: Hello ldb. 2020-12-13T09:31:35Z ldb: my spell check program prototype takes very long time to input a dictionary of 10,000 words 2020-12-13T09:32:04Z phoe: I remember that beach and I collaborated on a spellchecker once; https://github.com/robert-strandh/Spell 2020-12-13T09:32:25Z beach: ldb: I suggest you save as a Common Lisp data structure so that you can just do a READ. 2020-12-13T09:34:37Z ldb: it is due to the data structure I use requires a lot of comparison between nodes when build from a list of sorted words 2020-12-13T09:34:49Z phoe: ldb: what is your data structure? 2020-12-13T09:35:10Z beach: ldb: So don't build it every time you load it. 2020-12-13T09:35:28Z harlchen joined #lisp 2020-12-13T09:35:42Z beach: ldb: Build it once from the source data, and save the built data structure using PRINT. 2020-12-13T09:36:43Z phoe: beach: currently, Spell saves it to a FASL. It has no facilities for printing that data. 2020-12-13T09:36:43Z Nilby: as you may known, things with lists can unintentionally get O(n^2) or worse very quickly 2020-12-13T09:37:23Z ldb: it requires 2 minitues on a test input of 10,000 words, but my actual input is 500,000 words, and building from larger dictionary takes extra comparsions 2020-12-13T09:38:28Z beach: ldb: Maybe you have some non-linear algorithm in your build code. 2020-12-13T09:38:43Z ldb: phoe: https://www.researchgate.net/publication/220355507_Incremental_Construction_of_Minimal_Acyclic_Finite-State_Automata 2020-12-13T09:39:47Z ldb: beach: yes, I realized every time a new node is added it has to be compared by almost every existed nodes, to minimize the data structure 2020-12-13T09:40:09Z waht joined #lisp 2020-12-13T09:41:28Z beach: Not surprising then. 2020-12-13T09:41:54Z waht quit (Client Quit) 2020-12-13T09:45:05Z phoe: that's painful - and O(n²) 2020-12-13T09:46:42Z ldb: ok, instead of a naive list, I can keep a lookup table with a bool and the number of children as index keys to do a pre-filtering 2020-12-13T09:48:15Z checco joined #lisp 2020-12-13T09:48:41Z checco quit (Remote host closed the connection) 2020-12-13T09:49:08Z wxie quit (Read error: Connection reset by peer) 2020-12-13T09:49:20Z wxie joined #lisp 2020-12-13T09:49:29Z ldb: is there a quick way to compare two assoc lists? the order doesn't matter, then only requirement is that each pair with #'eql keys should be has #'eq values 2020-12-13T09:49:48Z ldb: and the number of pairs are same 2020-12-13T09:49:49Z wxie quit (Client Quit) 2020-12-13T09:50:18Z olle joined #lisp 2020-12-13T09:51:15Z fiddlerwoaroof: compare? 2020-12-13T09:51:53Z Nilby: Usually if you have more than about 12 elements in a alist it will be faster with a hash table. 2020-12-13T09:52:11Z fiddlerwoaroof: You're going to have to check every key/value pair, no? 2020-12-13T09:52:20Z fiddlerwoaroof: It'll be O(n) regardless 2020-12-13T09:53:02Z ldb: *check equality 2020-12-13T09:53:29Z ldb: Nilby: mostly 1~5 pairs 2020-12-13T10:03:50Z leo_song quit (Read error: Connection reset by peer) 2020-12-13T10:06:16Z dmiles quit (Ping timeout: 240 seconds) 2020-12-13T10:07:44Z dmiles joined #lisp 2020-12-13T10:08:24Z liberliver joined #lisp 2020-12-13T10:11:01Z narimiran quit (Ping timeout: 264 seconds) 2020-12-13T10:11:14Z liberliver1 joined #lisp 2020-12-13T10:13:28Z liberliver quit (Ping timeout: 272 seconds) 2020-12-13T10:13:28Z liberliver1 is now known as liberliver 2020-12-13T10:15:28Z jibanes quit (Ping timeout: 256 seconds) 2020-12-13T10:17:18Z jibanes joined #lisp 2020-12-13T10:24:28Z uniminin quit (Quit: Leaving) 2020-12-13T10:26:52Z jibanes quit (Ping timeout: 246 seconds) 2020-12-13T10:28:48Z jibanes joined #lisp 2020-12-13T10:28:53Z Nilby: Hmm. I have 1gb databse with 10m words that takes about 20 secs to load and full regexp search, and I thought it's way too slow. 2020-12-13T10:29:25Z varjag joined #lisp 2020-12-13T10:31:08Z ldb: 1gb takes long time to do IO 2020-12-13T10:35:16Z marcoxa joined #lisp 2020-12-13T10:42:08Z hiroaki joined #lisp 2020-12-13T10:45:16Z heisig joined #lisp 2020-12-13T10:52:51Z Nilby: The raw IO for 1gb only takes about 1.6 secs for me, and that's longer than it should. 2020-12-13T10:53:35Z Nilby: (on an old laptop, but with an ssd) 2020-12-13T11:03:37Z jibanes quit (Ping timeout: 246 seconds) 2020-12-13T11:04:54Z leo_song joined #lisp 2020-12-13T11:05:35Z mokulus quit (Quit: WeeChat 2.9) 2020-12-13T11:05:44Z jibanes joined #lisp 2020-12-13T11:09:09Z a0 quit (Remote host closed the connection) 2020-12-13T11:13:39Z andreyorst joined #lisp 2020-12-13T11:14:21Z surabax joined #lisp 2020-12-13T11:18:55Z jrm quit (Ping timeout: 258 seconds) 2020-12-13T11:20:48Z rgherdt joined #lisp 2020-12-13T11:21:45Z karlosz quit (Quit: karlosz) 2020-12-13T11:23:24Z frgo_ joined #lisp 2020-12-13T11:24:58Z ralt quit (Quit: Connection closed for inactivity) 2020-12-13T11:24:58Z olle quit (Ping timeout: 246 seconds) 2020-12-13T11:25:49Z frgo quit (Ping timeout: 258 seconds) 2020-12-13T11:27:11Z random-nick joined #lisp 2020-12-13T11:28:10Z Inline joined #lisp 2020-12-13T11:36:35Z dolphin5430 joined #lisp 2020-12-13T11:37:41Z dolphin5430 quit (Client Quit) 2020-12-13T11:43:41Z wildlander quit (Quit: Konversation terminated!) 2020-12-13T11:47:17Z jrm joined #lisp 2020-12-13T11:48:51Z gaqwas joined #lisp 2020-12-13T11:48:51Z gaqwas quit (Changing host) 2020-12-13T11:48:51Z gaqwas joined #lisp 2020-12-13T11:50:43Z vegansbane6 quit (Quit: The Lounge - https://thelounge.chat) 2020-12-13T12:10:37Z aindilis quit (Read error: Connection reset by peer) 2020-12-13T12:16:41Z vegansbane6 joined #lisp 2020-12-13T12:16:54Z ldb quit (Quit: ERC (IRC client for Emacs 26.1)) 2020-12-13T12:18:58Z liberliver1 joined #lisp 2020-12-13T12:19:15Z liberliver quit (Read error: Connection reset by peer) 2020-12-13T12:19:16Z liberliver1 is now known as liberliver 2020-12-13T12:20:28Z orivej joined #lisp 2020-12-13T12:21:19Z iskander- quit (Quit: bye) 2020-12-13T12:24:12Z iskander joined #lisp 2020-12-13T12:26:31Z surabax_ joined #lisp 2020-12-13T12:30:16Z surabax quit (Ping timeout: 272 seconds) 2020-12-13T12:32:12Z frgo joined #lisp 2020-12-13T12:36:13Z frgo_ quit (Ping timeout: 264 seconds) 2020-12-13T12:53:42Z heisig quit (Ping timeout: 272 seconds) 2020-12-13T12:55:37Z EvW joined #lisp 2020-12-13T12:58:32Z akrl quit (Read error: Connection reset by peer) 2020-12-13T12:58:47Z akrl joined #lisp 2020-12-13T12:59:15Z aartaka_d joined #lisp 2020-12-13T13:00:56Z kaftejiman joined #lisp 2020-12-13T13:02:36Z aartaka quit (Ping timeout: 240 seconds) 2020-12-13T13:03:34Z aartaka joined #lisp 2020-12-13T13:05:36Z aartaka_d quit (Ping timeout: 240 seconds) 2020-12-13T13:08:16Z iskander quit (Ping timeout: 240 seconds) 2020-12-13T13:09:27Z iskander joined #lisp 2020-12-13T13:16:47Z CEnnis91 quit (Ping timeout: 260 seconds) 2020-12-13T13:17:15Z marcoxa: Just pitched in some Euros for CLCS :) 2020-12-13T13:17:21Z villanella joined #lisp 2020-12-13T13:17:29Z phoe: <3 2020-12-13T13:18:09Z marcoxa: I swear. It'a a gift for my mother in law :) 2020-12-13T13:18:32Z austincummings[m quit (Ping timeout: 260 seconds) 2020-12-13T13:18:33Z ms[m] quit (Ping timeout: 260 seconds) 2020-12-13T13:18:38Z heisig joined #lisp 2020-12-13T13:19:27Z ms[m] joined #lisp 2020-12-13T13:19:30Z austincummings[m joined #lisp 2020-12-13T13:19:43Z phoe: does your mother in law know Lisp? 2020-12-13T13:19:51Z CEnnis91 joined #lisp 2020-12-13T13:21:07Z lotuseat` joined #lisp 2020-12-13T13:22:46Z marcoxa: she know how to order people around. 2020-12-13T13:23:21Z lotuseater quit (Ping timeout: 272 seconds) 2020-12-13T13:25:50Z Fare quit (Ping timeout: 264 seconds) 2020-12-13T13:26:48Z puchacz joined #lisp 2020-12-13T13:27:08Z puchacz: hi, is hash-table in abcl synchronized? 2020-12-13T13:27:34Z surabax_ is now known as surabax 2020-12-13T13:31:31Z ggole joined #lisp 2020-12-13T13:31:59Z toorevitimirp joined #lisp 2020-12-13T13:33:13Z gzj joined #lisp 2020-12-13T13:37:18Z matzesc joined #lisp 2020-12-13T13:39:24Z Nilby: puchacz: It looks synchronized to me from reading the code, but I haven't tried it. If you want your code to work on other implementations you could wrap in bordeaux-threads:with-lock-held . 2020-12-13T13:39:35Z puchacz: Nilby - thanks 2020-12-13T13:39:46Z puchacz: the manual does not say anything, but the code is better than manual 2020-12-13T13:40:01Z puchacz: and yeah, wrapping with bt will solve ambiguities 2020-12-13T13:42:03Z hvxgr joined #lisp 2020-12-13T13:42:06Z Nilby: The problem is it's still a race condition if your code does a (gethash val table) and then later does a (setf (gethash val table) ..) presuming the results of the previous gethash are still valid. 2020-12-13T13:42:17Z Inline quit (Ping timeout: 258 seconds) 2020-12-13T13:43:02Z puchacz: yes 2020-12-13T13:44:09Z Fare joined #lisp 2020-12-13T13:47:48Z Nilby: I looked in abcl/src/org/armedbear/lisp/HashTable.java in case you want to check. 2020-12-13T13:48:00Z puchacz: tks 2020-12-13T13:51:16Z lucasb joined #lisp 2020-12-13T13:54:13Z toorevitimirp quit (Remote host closed the connection) 2020-12-13T13:56:20Z toorevitimirp joined #lisp 2020-12-13T14:01:06Z gzj quit (Remote host closed the connection) 2020-12-13T14:01:27Z gzj joined #lisp 2020-12-13T14:06:07Z gzj quit (Remote host closed the connection) 2020-12-13T14:06:28Z gzj joined #lisp 2020-12-13T14:07:08Z gzj quit (Remote host closed the connection) 2020-12-13T14:07:29Z gzj joined #lisp 2020-12-13T14:08:47Z aindilis joined #lisp 2020-12-13T14:09:08Z gzj quit (Remote host closed the connection) 2020-12-13T14:09:20Z phoe: puchacz: hmmmm, maybe easye can answer that 2020-12-13T14:09:29Z gzj joined #lisp 2020-12-13T14:09:46Z toorevitimirp quit (Remote host closed the connection) 2020-12-13T14:11:08Z gzj quit (Remote host closed the connection) 2020-12-13T14:11:29Z gzj joined #lisp 2020-12-13T14:11:40Z puchacz: phone - if undocumented, for more serious work I would rather wrap it 2020-12-13T14:11:50Z phoe: so would I, yes 2020-12-13T14:12:12Z phoe: but still, maybe that needs to be clarified in the abcl docs. 2020-12-13T14:12:15Z aartaka_d joined #lisp 2020-12-13T14:13:08Z gzj quit (Remote host closed the connection) 2020-12-13T14:13:30Z gzj joined #lisp 2020-12-13T14:14:08Z aartaka quit (Ping timeout: 272 seconds) 2020-12-13T14:14:38Z puchacz: sorry, Michał, typo, "phoe" of course :) 2020-12-13T14:15:08Z gzj quit (Remote host closed the connection) 2020-12-13T14:15:33Z gzj joined #lisp 2020-12-13T14:16:14Z aartaka joined #lisp 2020-12-13T14:18:36Z aartaka_d quit (Ping timeout: 240 seconds) 2020-12-13T14:21:05Z nwoob joined #lisp 2020-12-13T14:21:41Z phoe: :D 2020-12-13T14:22:07Z sgibber2018 quit (Quit: WeeChat 2.9) 2020-12-13T14:23:25Z ym joined #lisp 2020-12-13T14:28:48Z liberliver quit (Ping timeout: 260 seconds) 2020-12-13T14:31:06Z nwoob: is there a better programming experience for CL from emacs? 2020-12-13T14:31:21Z beach: Better than what? 2020-12-13T14:31:27Z nwoob: better than emacs 2020-12-13T14:31:39Z beach: Oh, better THAN Emacs? 2020-12-13T14:31:46Z beach: Not at the moment I think. 2020-12-13T14:31:55Z beach: But we are working on it. :) 2020-12-13T14:31:58Z phoe: nwoob: depends on your definition of "better" 2020-12-13T14:32:02Z beach: Give us few more years. 2020-12-13T14:32:16Z phoe: there are swank/sly clients for VSCode, Atom, and Sublime Text 2020-12-13T14:32:21Z phoe: there's also slimv/vlime for Vim. 2020-12-13T14:32:32Z nwoob: I looked how to compile CL program and found C-c C-k to evaluate buffer, but C-c C-k is undefined 2020-12-13T14:32:50Z beach: Are you using SLIME? 2020-12-13T14:32:53Z nwoob: yes 2020-12-13T14:33:25Z nwoob: I have a scratch opened and it says Lisp interaction at the bottom right 2020-12-13T14:33:53Z nwoob: in there i'm typing CL code and trying to compile the function so that I can use that function in aline-repl 2020-12-13T14:33:59Z beach: No, it should be a buffer *slime-repl...* 2020-12-13T14:34:29Z phoe: you should be able to type something in the scratch buffer, like (defun foo (x) (+ x 42)) and then hit C-c C-c on it 2020-12-13T14:34:31Z narimiran joined #lisp 2020-12-13T14:34:43Z phoe: it should get compile-and-loaded and you should be able to call (foo 24) in the REPL. 2020-12-13T14:34:50Z EvW quit (Ping timeout: 264 seconds) 2020-12-13T14:35:10Z nwoob: phoe: that's what I'm trying to do. but C-c C-k is undefined 2020-12-13T14:35:39Z beach: nwoob: That command is valid in a Lisp source code buffer. 2020-12-13T14:35:40Z phoe: in the lisp buffer, M-x lisp-mode 2020-12-13T14:35:55Z beach: nwoob: In the REPL buffer, just type forms. 2020-12-13T14:36:18Z heisig quit (Ping timeout: 256 seconds) 2020-12-13T14:37:44Z gzj quit (Ping timeout: 240 seconds) 2020-12-13T14:39:11Z EvW joined #lisp 2020-12-13T14:41:04Z hendursa1 quit (Quit: hendursa1) 2020-12-13T14:41:13Z marcoxa: Where can I find a link for swank/slime for VS Studio 2019? 2020-12-13T14:41:23Z hendursaga joined #lisp 2020-12-13T14:41:38Z nwoob: Turns out I need to save scratch buffer code. I saved code in test.lisp and then did C-c C-k and it is working 2020-12-13T14:41:44Z phoe: marcoxa: https://marketplace.visualstudio.com/items?itemName=rheller.alive 2020-12-13T14:41:52Z phoe: nwoob: oh, good 2020-12-13T14:42:13Z nwoob: I thought I could evaluate buffer without saving 2020-12-13T14:42:21Z phoe: only individual expressions within a buffer 2020-12-13T14:42:31Z phoe: C-c C-c should work in there 2020-12-13T14:42:40Z phoe: but C-c C-k requires a saved file. 2020-12-13T14:42:47Z nwoob: in scratch buffer, right 2020-12-13T14:42:51Z marcoxa: Thanks phoe 2020-12-13T14:42:58Z nwoob: which emacs puts by default in lisp mode 2020-12-13T14:44:05Z hendursaga: Besides SBCL, what other implementations have the disassemble function disassemble to assembly language, not bytecode or C? 2020-12-13T14:45:28Z phoe: CCL? 2020-12-13T14:46:01Z X-Scale` joined #lisp 2020-12-13T14:46:10Z puchacz: btw, why do people choose CCL over SBCL? 2020-12-13T14:46:22Z phoe: blazing fast compiler compared to SBCL's 2020-12-13T14:46:37Z Fare quit (Ping timeout: 260 seconds) 2020-12-13T14:46:38Z phoe: also a nice macOS IDE built-in. 2020-12-13T14:46:44Z X-Scale quit (Ping timeout: 240 seconds) 2020-12-13T14:46:45Z X-Scale` is now known as X-Scale 2020-12-13T14:46:58Z phoe: and AFAIK some Cocoa/ObjC bindings that SBCL does not have. 2020-12-13T14:47:30Z Nilby: CCL aslo has no memory limits, and can call C code with structs by value without libffi 2020-12-13T14:50:22Z hendursaga: sounds cool 2020-12-13T14:51:02Z beach: hendursaga: I would think any Common Lisp implementation that generates native code would disassemble to assembly language for the platform it is running on. 2020-12-13T14:51:40Z EvW quit (Ping timeout: 258 seconds) 2020-12-13T14:52:46Z hineios quit (Ping timeout: 265 seconds) 2020-12-13T14:53:01Z hendursaga: so I guess that excludes ECL then 2020-12-13T14:53:57Z beach: Good question. I suppose jackdaniel would know since he is the maintainer of ECL 2020-12-13T14:56:28Z hendursaga: I tried it and it outputs C code, so unless there's an additional setting somewhere.. 2020-12-13T14:57:50Z waleee-cl joined #lisp 2020-12-13T15:02:27Z nwoob: it is bad programming style to change local variable values, so why is it ok to change global variable values? 2020-12-13T15:02:47Z beach: It is not bad to change the value of lexical (local) variables. 2020-12-13T15:02:54Z phoe: nwoob: what do you mean, change? 2020-12-13T15:02:58Z phoe: you mean mutate or rebind? 2020-12-13T15:03:08Z beach: nwoob: It is known as "imperative programming". 2020-12-13T15:03:08Z nwoob: mutate 2020-12-13T15:03:39Z nwoob: I'm learning CL from book called CL: a gentle guide to symbolic programming and it is written there 2020-12-13T15:03:41Z nwoob: beach: 2020-12-13T15:03:48Z phoe: hmmm, global mutable state comes with obvious multithreading issues 2020-12-13T15:03:59Z beach: nwoob: I am sorry to hear that. 2020-12-13T15:04:03Z phoe: which chapter is that? maybe I can get some context 2020-12-13T15:04:27Z nwoob: phoe: chapter 5 page 140 2020-12-13T15:04:44Z nwoob: beach: why are you saying sorry to hear? 2020-12-13T15:05:45Z nwoob left #lisp 2020-12-13T15:06:18Z nwoob joined #lisp 2020-12-13T15:06:25Z nwoob: sorry I got disconnected 2020-12-13T15:06:29Z beach: nwoob: Because it is not generally bad to change the value of lexical variables, so if this advice is presented as a general rule, then that is very sad indeed. 2020-12-13T15:06:43Z nwoob: oh 2020-12-13T15:06:46Z beach: But I am guessing that there is some context that phoe will find. 2020-12-13T15:07:01Z nwoob: phoe: I am on chapter 5 page 140 2020-12-13T15:07:14Z beach: nwoob: Like I said, that's what "imperative programming" generally does. 2020-12-13T15:07:29Z nwoob: yes 2020-12-13T15:08:59Z Bike joined #lisp 2020-12-13T15:09:14Z puchacz: people who think "imperative programming" is badder than functional invent (crazy?) languages without mutation.... 2020-12-13T15:09:20Z nwoob: beach: CL has more imperative approach or functional approach? 2020-12-13T15:09:32Z puchacz: I use a lot of imperative programming 2020-12-13T15:10:02Z phoe: nwoob: neither 2020-12-13T15:10:06Z phoe: it's up to the programmer to decide. 2020-12-13T15:10:49Z nwoob: do generally programmer mix those style? 2020-12-13T15:10:55Z phoe: yes 2020-12-13T15:10:59Z puchacz: I do 2020-12-13T15:11:02Z nwoob: or is it better to stick to one? 2020-12-13T15:11:08Z phoe: why? 2020-12-13T15:11:18Z phoe: if a problem looks like a functional one, solve it with functional tools 2020-12-13T15:11:25Z phoe: if a problem looks like an object-oriented one, solve it with OO tools 2020-12-13T15:11:42Z phoe: if your problem is a mixture of those two problems, then use those as appropriate 2020-12-13T15:12:03Z nwoob: ok 2020-12-13T15:12:14Z phoe: https://www.cs.cmu.edu/~dst/LispBook/book.pdf PDF page 152 2020-12-13T15:12:45Z phoe: I see the reasoning there; it seems to prefer the single-assignment approach in general 2020-12-13T15:12:58Z phoe: but then again, this makes e.g. iteration very hard to perform. 2020-12-13T15:13:07Z nwoob: I think, I have a long way to go before I know what approach is better for this problem 2020-12-13T15:14:36Z jibanes quit (Ping timeout: 256 seconds) 2020-12-13T15:15:13Z matryoshka joined #lisp 2020-12-13T15:16:32Z jibanes joined #lisp 2020-12-13T15:21:22Z kenran joined #lisp 2020-12-13T15:27:14Z aartaka quit (Read error: Connection reset by peer) 2020-12-13T15:27:20Z aartaka_d joined #lisp 2020-12-13T15:27:49Z imode joined #lisp 2020-12-13T15:37:07Z akrl quit (Read error: Connection reset by peer) 2020-12-13T15:37:08Z amb007 quit (Read error: Connection reset by peer) 2020-12-13T15:37:16Z amb007 joined #lisp 2020-12-13T15:37:32Z akrl joined #lisp 2020-12-13T15:39:25Z amb007 quit (Read error: Connection reset by peer) 2020-12-13T15:39:46Z amb007 joined #lisp 2020-12-13T15:41:28Z entre-parenteses joined #lisp 2020-12-13T15:46:42Z jibanes quit (Ping timeout: 260 seconds) 2020-12-13T15:47:09Z kenran: What would be the best way to call low-level functions from glibc using SBCL? I found sb-posix, but it doesn't seem to have the calls I need (select, posix_openpt, ...). 2020-12-13T15:47:18Z kenran: I also stumbled over CFFI, is that the way to go? 2020-12-13T15:48:13Z phoe: CFFI 2020-12-13T15:48:25Z jibanes joined #lisp 2020-12-13T15:49:02Z akrl quit (Ping timeout: 260 seconds) 2020-12-13T15:50:11Z akrl joined #lisp 2020-12-13T15:52:13Z phadthai: there was an equivalent of select in the sb sockets or such lib also 2020-12-13T15:54:29Z nwoob quit (Quit: Lost terminal) 2020-12-13T15:55:10Z orivej quit (Ping timeout: 246 seconds) 2020-12-13T15:55:12Z nwoob joined #lisp 2020-12-13T15:55:50Z aartaka joined #lisp 2020-12-13T15:57:11Z phadthai: ah it was iolib I think 2020-12-13T15:57:47Z aartaka_d quit (Ping timeout: 260 seconds) 2020-12-13T16:01:07Z jibanes quit (Ping timeout: 246 seconds) 2020-12-13T16:03:02Z jibanes joined #lisp 2020-12-13T16:08:10Z thmprover joined #lisp 2020-12-13T16:09:36Z _jrjsmrtn joined #lisp 2020-12-13T16:10:45Z akrl quit (Read error: Connection reset by peer) 2020-12-13T16:10:58Z akrl joined #lisp 2020-12-13T16:11:28Z __jrjsmrtn__ quit (Ping timeout: 260 seconds) 2020-12-13T16:12:38Z hiroaki quit (Ping timeout: 264 seconds) 2020-12-13T16:16:58Z skapate joined #lisp 2020-12-13T16:18:09Z skapata quit (Ping timeout: 272 seconds) 2020-12-13T16:20:13Z entre-parenteses quit (Quit: ERC (IRC client for Emacs 27.1)) 2020-12-13T16:20:52Z entre-parenteses joined #lisp 2020-12-13T16:20:58Z jibanes quit (Ping timeout: 256 seconds) 2020-12-13T16:22:43Z jibanes joined #lisp 2020-12-13T16:25:03Z jackdaniel: iolib are cffi bindings 2020-12-13T16:25:06Z puchacz quit (Remote host closed the connection) 2020-12-13T16:25:13Z jackdaniel: while serve-event is built on top of select (at least on unix) 2020-12-13T16:25:47Z jackdaniel: serve-event extension is also available in ecl contribs (a different implementation of the same [or then-the-same] protocol) 2020-12-13T16:26:36Z jackdaniel: iolib relies on libfixposix, so remember to install it first (libfixposix unifies some differences across different posix implementations) 2020-12-13T16:26:39Z jackdaniel: kenran: ^ 2020-12-13T16:27:55Z jonatack joined #lisp 2020-12-13T16:32:16Z jonatack quit (Ping timeout: 240 seconds) 2020-12-13T16:32:48Z jonatack joined #lisp 2020-12-13T16:37:34Z jonatack quit (Ping timeout: 256 seconds) 2020-12-13T16:38:18Z jonatack joined #lisp 2020-12-13T16:40:36Z zaquest joined #lisp 2020-12-13T16:40:41Z zaquest quit (Remote host closed the connection) 2020-12-13T16:42:16Z jibanes quit (Ping timeout: 240 seconds) 2020-12-13T16:43:48Z jonatack quit (Ping timeout: 256 seconds) 2020-12-13T16:44:14Z jonatack joined #lisp 2020-12-13T16:44:26Z jibanes joined #lisp 2020-12-13T16:54:58Z random-nick quit (Ping timeout: 256 seconds) 2020-12-13T16:55:40Z Oladon joined #lisp 2020-12-13T16:58:05Z lotuseat` is now known as lotuseater 2020-12-13T17:05:33Z EvW joined #lisp 2020-12-13T17:11:51Z nij joined #lisp 2020-12-13T17:14:59Z leo_song quit (Quit: ZNC 1.7.2+deb3 - https://znc.in) 2020-12-13T17:16:20Z nij left #lisp 2020-12-13T17:18:16Z leo_song joined #lisp 2020-12-13T17:21:24Z liberliver joined #lisp 2020-12-13T17:23:57Z kenran: jackdaniel: thanks! I first have to figure out how to actually work with a common lisp project :D but I've gotten cffi to work at least, so the rest will probably be similar. 2020-12-13T17:24:51Z kenran: I'm trying to write a simple terminal emulator for educational purposes, so I'll need some low-level POSIX calls. 2020-12-13T17:24:58Z Jeanne-Kamikaze joined #lisp 2020-12-13T17:29:04Z andreyorst quit (Ping timeout: 260 seconds) 2020-12-13T17:30:17Z jackdaniel: good luck, if you blog aboit it please let us know 2020-12-13T17:30:25Z jackdaniel: about* 2020-12-13T17:32:40Z aeth: autowrapping can be done with autowrap [1] or claw [2] or you can do manual wrapping with CFFI, which is usually faster (especially faster than autowrap, which adds runtime indirection on the pointers that the fork, claw, removes because it's supposed to enable finalizers, which are... well, hard to get right), but obviously takes more time to write. [1] https://github.com/rpav/cl-autowrap/ [2] https://github.com/borodust/claw 2020-12-13T17:33:23Z defdom0 joined #lisp 2020-12-13T17:34:20Z gzj joined #lisp 2020-12-13T17:35:14Z aeth: Generally, manually wrapped stuff has two layers: a direct low-level wrapping, and an attempt to make it a bit more idiomatic. e.g. cl-opengl has a %gl package (where %foo means low level or internal, like Python's _foo). The high level one will probably do conversions and wrap the errors. Doing the conversions each time is less efficient than doing it manually, though. 2020-12-13T17:36:16Z aeth: If a C API uses arrays, you might have to use a library like static-vectors. It's better than the alternatives I know of because it creates "bilingual" arrays. The catch is that you have to free them. https://github.com/sionescu/static-vectors/ 2020-12-13T17:36:41Z orivej joined #lisp 2020-12-13T17:39:13Z gzj quit (Ping timeout: 264 seconds) 2020-12-13T17:39:14Z aeth: In general, the issue with interfacing with C stuff is having to remember to free them. This generally means something like this, except sometimes the LET binding actually creates it, too, instead of just binding it: (defmacro with-foo ((foo) &body body) (let ((gensym (gensym))) `(let ((,gensym ,foo)) (unwind-protect (progn ,@body) (free-foo ,gensym))))) 2020-12-13T17:40:05Z phoe: you could take a look at https://github.com/phoe/cl-lzma/blob/master/cl-lzma.lisp - I wrote this code some time ago and I think that it shows the basics of how to use static-vectors, as well as CFFI (with little bits of cl-autowrap) 2020-12-13T17:40:10Z slyrus joined #lisp 2020-12-13T17:41:19Z Fare joined #lisp 2020-12-13T17:43:08Z _death: static-vectors uses remf on &rest lists :/ 2020-12-13T17:43:54Z srandon111 joined #lisp 2020-12-13T17:43:58Z aeth: static-vectors has various issues. For instance, it seems to destroy type inference in SBCL, so you're forced to declare for efficient code if you use it in the same function where you create it (although I usually pass them in and thus have to use declarations anyway). I think it has a mistake in its inlining or something. 2020-12-13T17:44:08Z mingus joined #lisp 2020-12-13T17:45:10Z aeth: someone definitely needs to go through its source 2020-12-13T17:45:29Z defdom0 quit (Quit: defdom0) 2020-12-13T17:45:46Z defdom0 joined #lisp 2020-12-13T17:45:53Z phoe: _death: gasp 2020-12-13T17:46:12Z phoe: file an issue! 2020-12-13T17:46:19Z defdom0 quit (Client Quit) 2020-12-13T17:46:39Z _death: I don't file issues.. maybe pull requests 2020-12-13T17:46:52Z puchacz joined #lisp 2020-12-13T17:50:10Z puchacz: phoe, about abcl and postmodern - I think ABCL handles unicode ok, I was even checking length of a string that is not from basic multilingual plane, and it answered correctly (unlike Java). 2020-12-13T17:50:29Z phoe: huh. Completely no idea then. 2020-12-13T17:50:40Z phoe: Oh! WRITE-BYTE! 2020-12-13T17:51:07Z phoe: Yes, WRITE-BYTE on a stream of (unsigned-byte 8)s requires to receive an (unsigned-byte 8). 2020-12-13T17:51:35Z phoe: This means that you need to convert this character into multiple bytes. Perhaps via babel. 2020-12-13T17:51:50Z cosimone joined #lisp 2020-12-13T17:52:02Z puchacz: I will check how it works for other implementations 2020-12-13T17:52:32Z puchacz: I just checked now on ABCL 1.7.1 an ancient egiptian hieroglyph, and it works correctly 2020-12-13T17:52:35Z puchacz: (length (format nil "~a" (code-char 13000))) ---> 1 2020-12-13T17:52:38Z puchacz: Java would say 2 2020-12-13T17:52:47Z phoe: no 2020-12-13T17:52:52Z phoe: this is a string of one character 2020-12-13T17:52:54Z phoe: so its length is 1 2020-12-13T17:53:01Z phoe: that's consistent with the CL standard 2020-12-13T17:53:20Z puchacz: ABCL is right, I agree, Java would have said 2 (wrong) 2020-12-13T17:54:40Z puchacz: Java has hardwired concept of character being 16 bits exactly, which is not correct for many unicode characters, in this example Java would have been wrong, ABCL is right 2020-12-13T17:56:02Z puchacz: I am not sure how to check type details of TWO-WAY-STREAM.... 2020-12-13T17:56:05Z puchacz: sly is saying 2020-12-13T17:56:21Z puchacz: #--------------------The object is of type SOCKET-STREAM.class: # 2020-12-13T17:58:08Z phoe: hmmmmmmm... 2020-12-13T17:58:36Z puchacz: describe is saying the same 2020-12-13T17:58:38Z phoe: I don't know how to debug that one at the moment 2020-12-13T17:58:43Z puchacz: no problem :) 2020-12-13T17:58:49Z borodust: avoid :claw for autowrapping - that's a secret tool 2020-12-13T17:59:07Z puchacz: I have just been playing with ABCL 2020-12-13T17:59:10Z marcoxa quit (Ping timeout: 256 seconds) 2020-12-13T17:59:22Z Xach: a Forbidden Tool! 2020-12-13T17:59:28Z borodust: YES 2020-12-13T17:59:42Z entre-parenteses quit (Ping timeout: 260 seconds) 2020-12-13T17:59:45Z Xach added a Forbidden Parameter to vecto to support his GIF goofabouts - https://github.com/xach/vecto/commit/312dea5860c04739d872e21ee9fdb2c759ac5f45 2020-12-13T17:59:59Z slyrus: howdy everyone 2020-12-13T18:00:33Z jibanes quit (Ping timeout: 260 seconds) 2020-12-13T18:00:39Z puchacz: thanks phoe 2020-12-13T18:00:51Z borodust: only serious, but :claw has no docs and it's far from simple - spare fellow lispers ;p 2020-12-13T18:01:00Z Xach: hi slyrus 2020-12-13T18:01:26Z rumbler31 joined #lisp 2020-12-13T18:02:02Z jibanes joined #lisp 2020-12-13T18:03:58Z matzesc quit (Quit: Leaving) 2020-12-13T18:05:35Z matryoshka quit (Quit: ZNC 1.8.2 - https://znc.in) 2020-12-13T18:05:55Z matryoshka joined #lisp 2020-12-13T18:09:37Z galex-713 quit (Ping timeout: 272 seconds) 2020-12-13T18:11:53Z rogersm joined #lisp 2020-12-13T18:14:16Z rogersm quit (Client Quit) 2020-12-13T18:14:21Z hendursaga: jackdaniel: Does ECL only compile to C, or can it be configured for assembly, too? 2020-12-13T18:14:45Z aeth: "~A has no docs" is a fairly common situation in the ecosystem. 2020-12-13T18:15:25Z random-nick joined #lisp 2020-12-13T18:16:59Z marcoxa joined #lisp 2020-12-13T18:17:58Z liberliver quit (Ping timeout: 246 seconds) 2020-12-13T18:18:13Z galex-713 joined #lisp 2020-12-13T18:19:59Z luckless joined #lisp 2020-12-13T18:26:04Z jw4 quit (Ping timeout: 240 seconds) 2020-12-13T18:26:46Z rogersm joined #lisp 2020-12-13T18:28:25Z amb007 quit (Read error: Connection reset by peer) 2020-12-13T18:31:46Z jw4 joined #lisp 2020-12-13T18:34:06Z andreyorst joined #lisp 2020-12-13T18:38:06Z amb007 joined #lisp 2020-12-13T18:43:11Z marcoxa quit (Quit: Time to sleep) 2020-12-13T18:47:32Z rogersm quit (Quit: Leaving...) 2020-12-13T18:48:21Z jackdaniel: hendursaga: to C, alternatively to a bytecode - there is no assembly compliler backend 2020-12-13T19:01:14Z dmiles quit (Ping timeout: 260 seconds) 2020-12-13T19:02:13Z jpli joined #lisp 2020-12-13T19:08:05Z dmiles joined #lisp 2020-12-13T19:11:10Z saganman quit (Ping timeout: 272 seconds) 2020-12-13T19:22:45Z ym quit (Quit: Leaving) 2020-12-13T19:24:01Z MightyJoe quit (Quit: I'm out!) 2020-12-13T19:35:04Z andreyorst quit (Ping timeout: 240 seconds) 2020-12-13T19:43:41Z drl joined #lisp 2020-12-13T19:45:17Z EvW quit (Ping timeout: 260 seconds) 2020-12-13T19:47:02Z puchacz quit (Remote host closed the connection) 2020-12-13T19:58:42Z Fare quit (Ping timeout: 260 seconds) 2020-12-13T20:04:17Z entre-parenteses joined #lisp 2020-12-13T20:07:18Z EvW joined #lisp 2020-12-13T20:08:11Z rogersm joined #lisp 2020-12-13T20:09:16Z narimiran quit (Ping timeout: 256 seconds) 2020-12-13T20:10:53Z Jesin quit (Quit: Leaving) 2020-12-13T20:12:40Z Jesin joined #lisp 2020-12-13T20:13:37Z matryoshka quit (Quit: ZNC 1.8.2 - https://znc.in) 2020-12-13T20:13:53Z matryoshka joined #lisp 2020-12-13T20:18:34Z ggole quit (Quit: Leaving) 2020-12-13T20:19:12Z hiroaki joined #lisp 2020-12-13T20:21:02Z srandon111: guys what are use cases for writing DSLs ? 2020-12-13T20:22:10Z ck_: srandon111: on this topic, I can recommend an excellent video 2020-12-13T20:22:50Z karlosz joined #lisp 2020-12-13T20:22:55Z ck_: srandon111: https://www.youtube.com/watch?v=5FlHq_iiDW0 2020-12-13T20:23:54Z hnOsmium0001 joined #lisp 2020-12-13T20:29:37Z entre-parenteses quit (Ping timeout: 260 seconds) 2020-12-13T20:30:44Z Xach: hey, i recognize that channel 2020-12-13T20:33:41Z ck_: Xach: it's pretty good you should check it out 2020-12-13T20:38:10Z thmprover quit (Quit: This parting was well made) 2020-12-13T20:38:56Z the-smug-one joined #lisp 2020-12-13T20:40:13Z jw4 quit (Read error: Connection reset by peer) 2020-12-13T20:41:52Z jw4 joined #lisp 2020-12-13T20:44:16Z rogersm quit 2020-12-13T20:47:42Z jibanes quit (Ping timeout: 260 seconds) 2020-12-13T20:49:06Z jibanes joined #lisp 2020-12-13T20:50:54Z mingus quit (Ping timeout: 260 seconds) 2020-12-13T20:51:49Z surabax quit (Quit: Leaving) 2020-12-13T20:52:23Z oxum_ quit (Remote host closed the connection) 2020-12-13T20:52:54Z borodust: aeth: true, but :claw is being slightly completely revamped to include C++ support (literally, no cl-autowrap code left there, no c2ffi too) and it's dangerous to use it 2020-12-13T20:52:56Z oxum joined #lisp 2020-12-13T20:53:12Z borodust: API won't change much, but still gonna transform a bit to incorporate some C++ stuff 2020-12-13T20:55:03Z jeosol joined #lisp 2020-12-13T20:55:44Z aeth quit (Ping timeout: 240 seconds) 2020-12-13T20:56:55Z borodust: that's what happens if you try to run :claw xD 2020-12-13T20:57:40Z oxum quit (Ping timeout: 256 seconds) 2020-12-13T20:57:43Z kenran: what in cffi do I use to access C constants like O_RDWR? how do I reference them? 2020-12-13T20:57:52Z aeth joined #lisp 2020-12-13T20:57:55Z akoana joined #lisp 2020-12-13T20:58:18Z phoe: you usually redefine them in CL because they are not a part of C 2020-12-13T20:58:23Z phoe: they're a part of the C preprocessor 2020-12-13T20:59:02Z phoe: so there is nothing to refer to once the code is preprocessed or compiled. 2020-12-13T20:59:56Z kenran: does that mean I'd just find out what value they have by looking at the C code then writa definition 2020-12-13T21:00:54Z phoe: yes; I don't know if the CFFI groveller is capable of auto-defining those. probably it is, I just never used it. 2020-12-13T21:01:11Z phoe: but a lot of people just redefine all the constants in Lisp code. 2020-12-13T21:01:26Z no-defun-allowed: I think you can. Let me check... 2020-12-13T21:02:13Z no-defun-allowed: See constant in https://common-lisp.net/project/cffi/manual/html_node/Groveller-Syntax.html 2020-12-13T21:03:27Z phoe: what are the origins of the name "groveller", anyway? is it used outside Lisp as well? 2020-12-13T21:03:45Z phoe: s/ll/l/ 2020-12-13T21:04:16Z EvW quit (Ping timeout: 258 seconds) 2020-12-13T21:04:27Z entre-parenteses joined #lisp 2020-12-13T21:05:04Z no-defun-allowed: grovel, verb: to humble oneself or act in an abject manner, as in great fear or utter servility. 2020-12-13T21:05:21Z phoe: yes, I understand the meaning, but how does it refer to parsing C code? 2020-12-13T21:06:20Z jeosol quit (Ping timeout: 245 seconds) 2020-12-13T21:06:28Z no-defun-allowed: One must imagine the groveller happy. 2020-12-13T21:06:38Z phoe: ... 2020-12-13T21:06:45Z phoe: This answer is both satisfying and unsatisfying 2020-12-13T21:06:53Z phoe: I guess this is enough for now 2020-12-13T21:08:01Z skapate quit (Quit: Leaving) 2020-12-13T21:11:10Z ane: is there any scenario where doing (defvar *x*) (setf (documentation '*x* 'variable) "foo") is more appropriate than (defvar *x* nil "Foo") ? 2020-12-13T21:11:33Z ane: i.e. using setf documentation over defvar 2020-12-13T21:11:44Z no-defun-allowed: In the first example, *X* will be unbound. In the second, it will be bound to NIL. These are different. 2020-12-13T21:11:46Z phoe: yes, when you want the symbol to remain unbound 2020-12-13T21:12:00Z kenran: phoe: no-defun-allowed: thanks! 2020-12-13T21:12:07Z the-smug-one: Also when you want to separate your docstrings from your variable declaration 2020-12-13T21:12:21Z phoe: evaluating *x* in the first case will signal an error; evaluating *x* in the second case will return NIL. 2020-12-13T21:12:49Z ane: right, ok 2020-12-13T21:14:01Z jibanes quit (Ping timeout: 264 seconds) 2020-12-13T21:16:28Z jibanes joined #lisp 2020-12-13T21:17:12Z shka_ quit (Ping timeout: 272 seconds) 2020-12-13T21:27:55Z badcfe joined #lisp 2020-12-13T21:30:19Z jeosol joined #lisp 2020-12-13T21:36:21Z jibanes quit (Ping timeout: 265 seconds) 2020-12-13T21:38:07Z jibanes joined #lisp 2020-12-13T21:42:23Z the-smug-one quit (Remote host closed the connection) 2020-12-13T21:44:41Z nij joined #lisp 2020-12-13T21:47:10Z GuerrillaMonkey joined #lisp 2020-12-13T21:48:26Z nwoob quit (Ping timeout: 265 seconds) 2020-12-13T21:49:36Z Xach: phoe: i don't know the original intent, but i have thought of "groveling around" as something a creater might do to search for something. and interpreted it in lisp to mean to look through the C system for things. 2020-12-13T21:49:43Z Xach: creater? creature. 2020-12-13T21:49:53Z Jeanne-Kamikaze quit (Ping timeout: 265 seconds) 2020-12-13T21:50:10Z Xach: "grovel" being roughly "search" 2020-12-13T21:50:16Z Nilby: I think it's called the groveler because it's humiliating for Lisp to have to beg C code for something. I refuse to have my code grovel at the feet of some C preprocessor macros. 2020-12-13T21:51:17Z Nilby: It's also that double meaning and perhaps a bit of acknowledgment of the indignity. 2020-12-13T21:57:34Z phoe: I can dig this explanation 2020-12-13T21:57:42Z badcfe: are? the value of the expression 0 the same as of the expression '0 2020-12-13T21:58:34Z phoe: badcfe: yes, because '0 evaluates to 0 and 0 evaluates to 0 2020-12-13T21:58:52Z badcfe: phoe: thanks! 2020-12-13T21:58:53Z scymtym quit (Remote host closed the connection) 2020-12-13T21:59:02Z phoe: badcfe: do you know how quoting works? 2020-12-13T21:59:12Z phoe: this trick only works because 0 is a so-called self-evaluating object 2020-12-13T21:59:26Z phoe: doing this trick with x and 'x won't work! 2020-12-13T21:59:27Z jibanes quit (Ping timeout: 260 seconds) 2020-12-13T22:00:52Z jibanes joined #lisp 2020-12-13T22:01:47Z EvW joined #lisp 2020-12-13T22:02:16Z GuerrillaMonkey quit (Ping timeout: 256 seconds) 2020-12-13T22:02:36Z badcfe: phoe: i think the quote is to not evaluate. but if you evaluate a literal integer, then the result is exactly itself, the very same thing, is that correct? 2020-12-13T22:03:27Z phoe: yes 2020-12-13T22:03:46Z phoe: this doesn't work with lists and this doesn't work with symbols, because they don't self-evaluate in the general case 2020-12-13T22:04:42Z badcfe: a list would evaluate to i.e a function form, right? unless first symbol is special or a macro. 2020-12-13T22:05:00Z badcfe: s/a function form/function application/ 2020-12-13T22:06:27Z phoe: yes 2020-12-13T22:06:41Z phoe: and symbols generally evaluate to their values in the current environment. 2020-12-13T22:06:55Z phoe: unless they're constants, at which point the above still holds 2020-12-13T22:07:17Z phoe: unless they're symbol macros, at which point the above doesn't really hold - the symbol macro is expanded in place and that gets evaluated again. 2020-12-13T22:07:49Z harlchen quit (Quit: WeeChat 2.9) 2020-12-13T22:08:57Z scymtym joined #lisp 2020-12-13T22:13:34Z nij quit (Remote host closed the connection) 2020-12-13T22:13:52Z nij joined #lisp 2020-12-13T22:19:50Z amb007 quit (Read error: Connection reset by peer) 2020-12-13T22:22:21Z nij quit (Quit: ERC (IRC client for Emacs 27.1)) 2020-12-13T22:23:42Z amb007 joined #lisp 2020-12-13T22:23:43Z cosimone quit (Quit: cosimone) 2020-12-13T22:23:52Z kenran quit (Quit: leaving) 2020-12-13T22:29:47Z jibanes quit (Ping timeout: 260 seconds) 2020-12-13T22:30:43Z jibanes joined #lisp 2020-12-13T22:42:13Z gaqwas quit (Ping timeout: 264 seconds) 2020-12-13T22:47:49Z flazh quit (Ping timeout: 246 seconds) 2020-12-13T22:48:17Z flazh joined #lisp 2020-12-13T22:58:32Z hineios joined #lisp 2020-12-13T23:00:16Z thecoffemaker quit (Ping timeout: 240 seconds) 2020-12-13T23:10:17Z galex-713 quit (Ping timeout: 260 seconds) 2020-12-13T23:10:18Z jibanes quit (Ping timeout: 260 seconds) 2020-12-13T23:10:51Z Oladon quit (Quit: Leaving.) 2020-12-13T23:11:12Z EvW quit (Ping timeout: 260 seconds) 2020-12-13T23:11:59Z jibanes joined #lisp 2020-12-13T23:12:45Z cosimone joined #lisp 2020-12-13T23:13:40Z random-nick quit (Ping timeout: 256 seconds) 2020-12-13T23:15:18Z thecoffemaker joined #lisp 2020-12-13T23:16:08Z villanella quit (Ping timeout: 258 seconds) 2020-12-13T23:18:28Z jibanes quit (Ping timeout: 260 seconds) 2020-12-13T23:18:29Z amb007 quit (Read error: Connection reset by peer) 2020-12-13T23:18:43Z amb007 joined #lisp 2020-12-13T23:23:15Z dtb joined #lisp 2020-12-13T23:25:23Z jibanes joined #lisp 2020-12-13T23:27:56Z aartaka quit (Ping timeout: 240 seconds) 2020-12-13T23:29:49Z EvW joined #lisp 2020-12-13T23:30:17Z ksixty joined #lisp 2020-12-13T23:32:01Z jibanes quit (Ping timeout: 264 seconds) 2020-12-13T23:32:37Z cosimone quit (Quit: cosimone) 2020-12-13T23:32:45Z jibanes joined #lisp 2020-12-13T23:34:07Z joast quit (Quit: Leaving.) 2020-12-13T23:39:38Z joast joined #lisp 2020-12-13T23:39:42Z rumbler31 quit (Remote host closed the connection) 2020-12-13T23:41:00Z thmprover joined #lisp 2020-12-13T23:45:36Z galex-713 joined #lisp 2020-12-13T23:47:59Z thmprover: Is there some way to determine how many bits the significand has for a double? 2020-12-13T23:48:00Z jibanes quit (Ping timeout: 256 seconds) 2020-12-13T23:49:22Z jibanes joined #lisp 2020-12-13T23:50:32Z Alfr_: thmprover, (float-precision 1d0) 2020-12-13T23:51:52Z thmprover: Awesome, thanks :) 2020-12-13T23:54:57Z Alfr_: thmprover, I don't think there are other implementations, but you should also check that float-radix is 2. The standard allows for other bases. 2020-12-13T23:55:44Z Nilby quit (Ping timeout: 240 seconds) 2020-12-13T23:56:24Z thmprover: Oh man, that's a good catch, thanks 2020-12-14T00:02:17Z varjag quit (Read error: Connection reset by peer) 2020-12-14T00:12:27Z jibanes quit (Ping timeout: 260 seconds) 2020-12-14T00:14:09Z jibanes joined #lisp 2020-12-14T00:17:57Z Bike: if you find a trinary float implementation, do share 2020-12-14T00:18:41Z no-defun-allowed stares in ENIAC 2020-12-14T00:21:51Z notzmv joined #lisp 2020-12-14T00:22:34Z jeosol quit (Ping timeout: 245 seconds) 2020-12-14T00:25:55Z mbomba joined #lisp 2020-12-14T00:28:59Z v3ga quit (Quit: WeeChat 2.8) 2020-12-14T00:29:36Z defunkydrummer joined #lisp 2020-12-14T00:30:24Z frost-lab quit (Ping timeout: 240 seconds) 2020-12-14T00:31:47Z rumbler31 joined #lisp 2020-12-14T00:35:01Z Oladon joined #lisp 2020-12-14T00:35:01Z jibanes quit (Ping timeout: 264 seconds) 2020-12-14T00:35:17Z luckless quit (Quit: luckless) 2020-12-14T00:36:52Z jibanes joined #lisp 2020-12-14T00:40:34Z kaftejiman quit (Remote host closed the connection) 2020-12-14T00:52:02Z jibanes quit (Ping timeout: 256 seconds) 2020-12-14T00:53:38Z jibanes joined #lisp 2020-12-14T00:55:09Z nij joined #lisp 2020-12-14T00:56:09Z nij: Is it possible to interfere a local variable within a loop? 2020-12-14T00:56:18Z gzj joined #lisp 2020-12-14T00:56:38Z defunkydrummer: nij: what's interfere? 2020-12-14T00:56:58Z defunkydrummer: nij: you can use local variables of the same scope where the loop is 2020-12-14T00:57:15Z nij: (let ((..)) (loop blah blah))? 2020-12-14T00:57:38Z defunkydrummer: nij yes those vars are available and can be SETF as well 2020-12-14T00:58:09Z nij: (let ((belief 'nil)) (loop (progn (live-on) (dream-on)))) 2020-12-14T00:58:38Z nij: Yeah.. how to SETF BELIEF, after the loop has begun? 2020-12-14T00:59:07Z defunkydrummer: nij: don't quote NIl 2020-12-14T00:59:15Z defunkydrummer: nij: nil is a value 2020-12-14T00:59:26Z nij: oh oh yes!! sorry.. 2020-12-14T00:59:28Z no-defun-allowed: You can still set it.. 2020-12-14T00:59:32Z nij: (let ((belief nil)) (loop (progn (live-on) (dream-on)))) 2020-12-14T00:59:41Z defunkydrummer: nij: yes, you just set it 2020-12-14T00:59:50Z no-defun-allowed: Loosely, nil = boolean, 'nil = the symbol NIL, '() = empty list, () = weird 2020-12-14T01:00:09Z defunkydrummer: (let ((donations 1)) (loop repeat do (incf donations))) 2020-12-14T01:00:42Z nij: How to alter BELIEF after the loop has begun? 2020-12-14T01:01:06Z no-defun-allowed: (let ((belief ...)) (loop ... (setf belief ...))) 2020-12-14T01:01:38Z defunkydrummer: nij: sorry if my example wasn't so good. INCF also alters the value of a variable. 2020-12-14T01:01:40Z no-defun-allowed: Unless you explicitly do so, no control flow construct interferes with how you modify variable bindings. 2020-12-14T01:01:43Z nij: Oh! I cannot even detach the loop...... 2020-12-14T01:02:04Z nij: I was thinking of letting a loop running in a background, and alter BELIEF from the outside. 2020-12-14T01:02:33Z nij: So.. how to even run a detachable loop? Is it possible in cl? 2020-12-14T01:03:16Z jibanes quit (Ping timeout: 246 seconds) 2020-12-14T01:03:18Z catchme quit (Quit: Connection closed for inactivity) 2020-12-14T01:03:48Z no-defun-allowed: You could create a thread to do that, and the function will close over any* variables referenced. (*Excluding special variables, which includes DEFVAR-ed and DEFPARAMETER-ed variables. Bind them again.) 2020-12-14T01:04:35Z no-defun-allowed: But if you do that, you probably would have to deal with concurrent access, and either make sure to use a mutex while reading and writing, or use compare-and-swap to set BELIEF from another thread (and read as normal). 2020-12-14T01:05:13Z jibanes joined #lisp 2020-12-14T01:05:45Z nij: Uh it sounds very advanced. Lemme search the keywords. 2020-12-14T01:05:50Z notzmv quit (Remote host closed the connection) 2020-12-14T01:07:18Z no-defun-allowed: Threads are annoying, yes. What I did was to make a "locked box" which gives a thread exclusive access to some variable. 2020-12-14T01:08:09Z nij quit (Remote host closed the connection) 2020-12-14T01:08:27Z nij joined #lisp 2020-12-14T01:08:57Z no-defun-allowed: It looks something like https://gitlab.com/cal-coop/netfarm/cl-decentralise2/-/blob/master/Code/Utilities/thread-box.lisp; you would write (let ((belief (box nil))) (bt:make-thread (lambda () ... use (box-value belief))) belief) 2020-12-14T01:09:20Z nij: I'm kicked out.. might have missed message. 2020-12-14T01:09:37Z no-defun-allowed: Then another thread could use (setf (box-value belief) ...) or (with-unlocked-box (value belief) ... use value ...) to modify the value. 2020-12-14T01:09:41Z nij: But the missing concept of mine was indeed "thread". I will read more on that and ask questions. 2020-12-14T01:09:42Z no-defun-allowed: I don't think you missed anything. 2020-12-14T01:10:23Z no-defun-allowed: A thread runs some action, and starting a thread allows you to run multiple actions concurrently. 2020-12-14T01:10:35Z nij: Indeed. 2020-12-14T01:10:48Z nij: I thought a life is a loop. But it's actually a thread. 2020-12-14T01:11:31Z thmprover: Because it terminates/ 2020-12-14T01:11:47Z thmprover: Bad-um bum 2020-12-14T01:11:58Z nij: lolllolll 2020-12-14T01:11:59Z no-defun-allowed: However, when you share data between threads, you have to make sure they don't trample over each other. There are a few techniques for doing that, and using locks is one of them. 2020-12-14T01:12:24Z jibanes quit (Ping timeout: 240 seconds) 2020-12-14T01:14:43Z jibanes joined #lisp 2020-12-14T01:16:20Z notzmv joined #lisp 2020-12-14T01:17:10Z defunkydrummer: nij: another alternative is to use channels. See the ChanL library. 2020-12-14T01:17:21Z nij: Nice! Will learn! 2020-12-14T01:17:52Z defunkydrummer: nij: When you use channels, you don't share variables; you send information (or messages, or events) through a channel to the other thread 2020-12-14T01:18:35Z nij: This seems to be a better way. 2020-12-14T01:18:37Z defunkydrummer: https://github.com/zkat/chanl 2020-12-14T01:18:50Z notzmv quit (Remote host closed the connection) 2020-12-14T01:19:03Z notzmv joined #lisp 2020-12-14T01:19:05Z defunkydrummer: nij: there's no "better" way except for the way that is more suitable to your problem 2020-12-14T01:19:25Z defunkydrummer: another way is software transactional memory. See the STMX library 2020-12-14T01:19:37Z nij: I feel like sharing variables is very dangerous. 2020-12-14T01:19:48Z defunkydrummer: i haven't used stmx yet 2020-12-14T01:20:00Z defunkydrummer: nij: not if only one thread acceses it at a given time 2020-12-14T01:20:36Z nij: What happens when it's accessed by multiple instances?! 2020-12-14T01:21:01Z todun joined #lisp 2020-12-14T01:21:59Z no-defun-allowed: Multiple reads are fine, but multiple writes and one writer with non-zero readers are bad. 2020-12-14T01:22:56Z no-defun-allowed: Another option is to use atomics and have the writer repeatedly compare-and-swap in the new value. It is admittedly pretty low-level; you might use that to implement mutexes (and then channels), or you might just use them straight. 2020-12-14T01:23:47Z nij: I feel the most comfortable with "signal sending".. will check out chanl :) 2020-12-14T01:26:00Z defunkydrummer: i tbink it's easy to learn 2020-12-14T01:26:22Z defunkydrummer: there's some tutorial out there i think; you can google it 2020-12-14T01:26:43Z pve quit (Quit: leaving) 2020-12-14T01:28:01Z nij: thanks :D 2020-12-14T01:28:04Z nij quit (Quit: ERC (IRC client for Emacs 27.1)) 2020-12-14T01:36:28Z jibanes quit (Ping timeout: 256 seconds) 2020-12-14T01:38:24Z jibanes joined #lisp 2020-12-14T01:44:15Z v3ga joined #lisp 2020-12-14T01:47:44Z jibanes quit (Ping timeout: 240 seconds) 2020-12-14T01:48:06Z Lord_of_Life_ joined #lisp 2020-12-14T01:48:42Z Lord_of_Life quit (Ping timeout: 256 seconds) 2020-12-14T01:49:26Z Lord_of_Life_ is now known as Lord_of_Life 2020-12-14T01:49:45Z astronavt joined #lisp 2020-12-14T01:49:54Z jibanes joined #lisp 2020-12-14T01:56:52Z todun quit (Quit: todun) 2020-12-14T01:57:50Z defunkydrummer quit (Quit: (save-lisp-and-die)) 2020-12-14T01:59:05Z gzj quit (Remote host closed the connection) 2020-12-14T02:07:28Z Bike quit (Quit: Lost terminal) 2020-12-14T02:09:47Z EvW quit (Ping timeout: 258 seconds) 2020-12-14T02:20:24Z lottaquestions quit (Remote host closed the connection) 2020-12-14T02:20:50Z lottaquestions joined #lisp 2020-12-14T02:25:44Z jibanes quit (Ping timeout: 240 seconds) 2020-12-14T02:27:51Z jibanes joined #lisp 2020-12-14T02:37:24Z _atomik joined #lisp 2020-12-14T02:38:09Z Oddity joined #lisp 2020-12-14T02:38:56Z jibanes quit (Ping timeout: 272 seconds) 2020-12-14T02:40:23Z jibanes joined #lisp 2020-12-14T02:41:00Z lucasb quit (Quit: Connection closed for inactivity) 2020-12-14T02:45:56Z jibanes quit (Ping timeout: 256 seconds) 2020-12-14T02:46:32Z thmprover: Out of curiosity, has anyone really gotten into literate programming here? 2020-12-14T02:46:52Z Demosthenex quit (Ping timeout: 246 seconds) 2020-12-14T02:46:54Z jibanes joined #lisp 2020-12-14T02:48:58Z Demosthenex joined #lisp 2020-12-14T02:50:23Z pfdietz joined #lisp 2020-12-14T02:53:07Z semz quit (Ping timeout: 260 seconds) 2020-12-14T02:56:02Z abhixec joined #lisp 2020-12-14T02:56:37Z jibanes quit (Ping timeout: 264 seconds) 2020-12-14T02:57:32Z bren joined #lisp 2020-12-14T02:57:49Z galex-713 quit (Ping timeout: 272 seconds) 2020-12-14T02:57:50Z Demosthenex quit (Ping timeout: 256 seconds) 2020-12-14T02:58:26Z jibanes joined #lisp 2020-12-14T02:59:21Z Demosthenex joined #lisp 2020-12-14T03:05:54Z oni-on-ion: thmprover, i've tried it a little. but i am more of an engineer than a scholar 2020-12-14T03:06:42Z semz joined #lisp 2020-12-14T03:06:52Z bren quit (Remote host closed the connection) 2020-12-14T03:11:18Z Demosthenex quit (Ping timeout: 265 seconds) 2020-12-14T03:11:31Z mbomba quit (Quit: WeeChat 3.0) 2020-12-14T03:12:23Z thmprover: oni-on-ion: So you probably don't have any pointers about the best way to organize the presentation of material in a Cweb program? 2020-12-14T03:12:47Z Demosthenex joined #lisp 2020-12-14T03:17:10Z jibanes quit (Ping timeout: 256 seconds) 2020-12-14T03:19:07Z jibanes joined #lisp 2020-12-14T03:19:56Z thmprover: Like, I'm trying it out now, and I'm getting to the point where I'm writing chunks of code on quarter-slips of paper, so I can see what's easier to read (as a reader, rather than as a programmer). 2020-12-14T03:29:07Z jeosol joined #lisp 2020-12-14T03:31:36Z aartaka joined #lisp 2020-12-14T03:32:37Z froggey quit (Ping timeout: 260 seconds) 2020-12-14T03:39:21Z froggey joined #lisp 2020-12-14T03:44:46Z skapata joined #lisp 2020-12-14T03:47:23Z oxum joined #lisp 2020-12-14T03:49:30Z badcfe: with two operands, IF and AND are equivalent right? 2020-12-14T03:55:38Z FreeBirdLjj joined #lisp 2020-12-14T03:59:37Z aeth: iirc (if c a b) is (or (and c a) b) 2020-12-14T03:59:50Z aeth: so if b's implicitly nil that seems to be the case 2020-12-14T04:00:07Z lotuseater: badcfe: did you already recognize AND & OR are macros? :) 2020-12-14T04:00:14Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2020-12-14T04:00:39Z lotuseater: and I'll bet in a few minutes beach appears with a good morning ^^ 2020-12-14T04:00:57Z ck_: how many parentheses are you betting 2020-12-14T04:01:16Z lotuseater: all of them? 2020-12-14T04:02:13Z ck_: all right, keep your riches! :) have a good monday too. 2020-12-14T04:02:35Z lotuseater: I should sleep first :D you too 2020-12-14T04:03:20Z Alfr joined #lisp 2020-12-14T04:04:10Z badcfe: lotuseater: yes .. so they wont evaluate that second operand iff first is nil 2020-12-14T04:04:39Z badcfe: alright, so with two operands they're equivalent in all ways, thanks 2020-12-14T04:05:10Z Alfr_ quit (Ping timeout: 258 seconds) 2020-12-14T04:05:50Z lotuseater: yeah can be seen as some kind of lazy evaluation ^^ 2020-12-14T04:06:22Z a0 joined #lisp 2020-12-14T04:06:47Z nwoob joined #lisp 2020-12-14T04:08:32Z beach: Good morning everyone! 2020-12-14T04:09:01Z Iolo quit (Quit: ZNC 1.7.5+deb4 - https://znc.in) 2020-12-14T04:09:17Z abhixec quit (Quit: leaving) 2020-12-14T04:10:09Z lotuseater: morning beach :) 2020-12-14T04:10:22Z Iolo joined #lisp 2020-12-14T04:10:34Z lotuseater: i learned a word today. do you know what banana-software is? 2020-12-14T04:13:32Z badcfe: parentheses can look like bananas, maybe? 2020-12-14T04:13:39Z sgibber2018 joined #lisp 2020-12-14T04:13:41Z sgibber2018: scheme 2020-12-14T04:13:48Z lotuseater: hehe yes that could be 2020-12-14T04:14:06Z lotuseater: No, it's a word for software that matures with customer 2020-12-14T04:14:10Z sgibber2018: whoops sorry didn't mean to type "scheme" in there. Hit enter on accident 2020-12-14T04:14:57Z sgibber2018: Or wrong window rather 2020-12-14T04:15:33Z notzmv quit (Remote host closed the connection) 2020-12-14T04:15:33Z lotuseater: ah no problem, i did it some days myself, german sentence in an english speaking channel 2020-12-14T04:15:47Z notzmv joined #lisp 2020-12-14T04:18:45Z slyrus quit (Quit: Leaving) 2020-12-14T04:20:23Z ck_: lotuseater: and did you read it or not? 2020-12-14T04:22:01Z lotuseater: ehm what do you mean exactly? I'm a bit confused 2020-12-14T04:22:13Z euandreh joined #lisp 2020-12-14T04:23:43Z Stanley00 joined #lisp 2020-12-14T04:24:27Z ck_: if I remember correctly the sentence you just referenced read something like "could read the Weltenalmanach" 2020-12-14T04:24:37Z rumbler31 quit (Remote host closed the connection) 2020-12-14T04:25:24Z rumbler31 joined #lisp 2020-12-14T04:26:02Z lotuseater: no i didn't mean anything like that 2020-12-14T04:26:20Z lotuseater: have so many books to read ._. 2020-12-14T04:26:30Z jpli quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) 2020-12-14T04:27:44Z akoana quit (Quit: leaving) 2020-12-14T04:28:22Z ck_: Kompendium, not Almanach, I misremembered. But I know the feeling 2020-12-14T04:33:31Z saganman joined #lisp 2020-12-14T04:38:43Z a0 quit (Ping timeout: 240 seconds) 2020-12-14T04:40:04Z badcfe: if i insist on not using the comma-at notation, and thus have (defmacro lm (&rest x) (cons 'list x)), but i want the operands to not get evaluated, can i accomplish this? 2020-12-14T04:40:25Z skapata quit (Ping timeout: 272 seconds) 2020-12-14T04:40:38Z beach: badcfe: There is nothing special with ,@. 2020-12-14T04:41:02Z beach: badcfe: ` is just a reader macro that turns the expression into APPEND, etc. 2020-12-14T04:41:18Z beach: badcfe: So you can always express the same thing without ,@. 2020-12-14T04:41:43Z beach: badcfe: The main difference being that if you don't use ` and , then your code will be fairly hard to read. 2020-12-14T04:42:00Z drl quit (Quit: Leaving) 2020-12-14T04:42:06Z lotuseater: and even harder to get right :) 2020-12-14T04:42:09Z badcfe: beach: when i evaluate a form with the above macro, the operands get evaluated, but as a newb i dont know how to prevent that, to mimick the comma-at 2020-12-14T04:42:16Z beach: lotuseater: Indeed. 2020-12-14T04:42:25Z badcfe: beach: so the context is that i am a newb fiddling and exploring 2020-12-14T04:42:42Z beach: badcfe: You can't mimic ,@ if you are inside ` 2020-12-14T04:42:58Z badcfe: beach: you see i didn 2020-12-14T04:43:04Z badcfe: t enter the ` 2020-12-14T04:44:03Z beach: So tell us what expression with ` and , works and we can tell you the equivalent expression without them. 2020-12-14T04:44:48Z lotuseater: badcfe: but imagine when writing macros that write macros 2020-12-14T04:44:56Z skapata joined #lisp 2020-12-14T04:45:06Z badcfe: (defmacro listm (&rest x) `(list ,@x)) 2020-12-14T04:45:29Z beach: Let's see... 2020-12-14T04:45:50Z beach: (append '(list) x) maybe. 2020-12-14T04:45:55Z beach: Something like that. 2020-12-14T04:46:31Z badcfe: but x would be evaluated wouldnt it 2020-12-14T04:46:47Z beach: It would be in the first case too. 2020-12-14T04:47:18Z mingus joined #lisp 2020-12-14T04:47:21Z badcfe: the behavior of the macro i wrote above using back-tick, is to not evaluate it 2020-12-14T04:47:36Z beach: ? 2020-12-14T04:47:51Z beach: Anything after , is evaluated. That's the idea. 2020-12-14T04:47:58Z badcfe: i'm sorry. stand by. 2020-12-14T04:48:11Z beach: Try typing `(hello ,*standard-output*) to the REPL. 2020-12-14T04:48:39Z lotuseater: badcfe: imagine using , as having a little bit of runtime in macroexpansion 2020-12-14T04:49:07Z badcfe: here is the one with the behavior i want 2020-12-14T04:49:07Z badcfe: (defmacro listm (&rest x) `(list ',@x)) 2020-12-14T04:49:44Z beach: That's a bit trickier. 2020-12-14T04:50:40Z beach: (append '(list) (list 'quote x)) something like that. 2020-12-14T04:51:35Z narimiran joined #lisp 2020-12-14T04:52:10Z beach: Let me verify... 2020-12-14T04:52:25Z badcfe: seems to werk. i am mentally chewing on it now 2020-12-14T04:52:35Z badcfe: my computer was happy with it 2020-12-14T04:52:42Z beach: OK, good. 2020-12-14T04:54:30Z beach: I think rather (append '(list) (append '(quote) x)) 2020-12-14T04:54:34Z beach: But you get the idea. 2020-12-14T04:55:39Z beach: You can try doing (defparameter *x* '(a b c)) and then try the two with *x* replacing x. No need for a macro. Just try it at the REPL. 2020-12-14T04:55:58Z aartaka_d joined #lisp 2020-12-14T04:56:33Z waleee-cl quit (Quit: Connection closed for inactivity) 2020-12-14T04:56:56Z badcfe: good technique. thanks 2020-12-14T04:57:17Z beach: (append '(list) (list (append '(quote) x))) is the best I can do. 2020-12-14T04:58:03Z beach: As you can see, it is always possible, but the code is unreadable. And as lotuseater pointed out, incredibly hard to write as well. 2020-12-14T04:58:21Z beach: ... which is of course why they invented the backquote reader macro. 2020-12-14T04:59:10Z thmprover quit (Quit: ...and miles to go before I sleep.) 2020-12-14T04:59:44Z aartaka quit (Ping timeout: 240 seconds) 2020-12-14T05:00:24Z ex_nihilo joined #lisp 2020-12-14T05:02:58Z badcfe: beach: i think the initial '(list) should go away 2020-12-14T05:03:10Z badcfe: i tried the following which seems to do it 2020-12-14T05:03:12Z badcfe: (defmacro lm (&rest x) (list 'quote x)) 2020-12-14T05:06:52Z uniminin joined #lisp 2020-12-14T05:07:45Z beach: I don't think that is the same as your original form. 2020-12-14T05:07:50Z beach: In fact I am sure it is not. 2020-12-14T05:08:05Z beach: Again, try the 2 (or 3) at the REPL. 2020-12-14T05:08:32Z beach: In your original form, the top-level result is (list ...). 2020-12-14T05:08:46Z beach: But in the latest one, there is no LIST. 2020-12-14T05:10:11Z badcfe: yes i am sorry in my confusion i have shown forms that may not be what i targetted, which is a macro that lists its operands unevaluated, i.e (m 1 (+ 1 1)) gives (1 (+ 1 1)) when expanded and evaluated 2020-12-14T05:10:46Z beach: Again, the equivalence is independent of whether it is a macro or not. 2020-12-14T05:10:54Z lotuseater: beach: can you tell me in short the technical differences between &BODY and &REST? i recognize &REST more used on functions and &BODY in macros 2020-12-14T05:11:05Z beach: And I can't guess your intentions. I can only follow what you tell me. 2020-12-14T05:11:21Z beach: lotuseater: That's the only difference. 2020-12-14T05:11:41Z beach: Is &REST even allowed in a macro lambda list? Let me check... 2020-12-14T05:12:01Z beach: Yes it is. 2020-12-14T05:12:04Z lotuseater: ha ok :) but of course in eg AND &REST is used for it has no "body" 2020-12-14T05:12:26Z beach: Ah but &BODY is not allowed in ordinary lambda lists. 2020-12-14T05:12:53Z beach: They have different "moral" meaning. 2020-12-14T05:13:01Z beach: AND does not have a "body". 2020-12-14T05:13:09Z beach: Only an arbitrary number of arguments. 2020-12-14T05:13:37Z beach: Plus, how AND is implemented is not specified in the standard. 2020-12-14T05:13:43Z lotuseater: yes i remember. and &WHOLE just in macros? i did get it when experimenting with compiler macros 2020-12-14T05:14:00Z lotuseater: yes i mean that, did just express it weird 2020-12-14T05:14:09Z beach: clhs 3.4 2020-12-14T05:14:09Z specbot: Lambda Lists: http://www.lispworks.com/reference/HyperSpec/Body/03_d.htm 2020-12-14T05:14:22Z lotuseater: and how is it in SICL? 2020-12-14T05:14:26Z badcfe: i would like to write (defmacro lm (&rest x) (list 'quote x)) using the conventional syntax for macros having back-tick and comma-at 2020-12-14T05:14:39Z beach: lotuseater: Making great progress lately. Thanks. 2020-12-14T05:15:14Z beach: badcfe: Why do you insist on the macro context. 2020-12-14T05:15:16Z beach: ? 2020-12-14T05:15:27Z lotuseater: good, but the question was in connection with how you implement AND 2020-12-14T05:15:43Z badcfe: beach: it 2020-12-14T05:15:47Z beach: lotuseater: Oh, I don't remember. Let me check... 2020-12-14T05:16:00Z beach: badcfe: (list 'quote x) is likely ',x 2020-12-14T05:16:01Z badcfe: s my way of learning. i found a wall and therefore i hit my head against it 2020-12-14T05:17:03Z badcfe: or rather, your head against it. sorry about that 2020-12-14T05:17:37Z badcfe: beach: yes, thats it. thank you. so skipping the @ will leave it a list 2020-12-14T05:19:13Z beach: lotuseater: Look in Code/Conditionals/support.lisp for AND-EXPANDER. 2020-12-14T05:19:23Z lotuseater: ok thx 2020-12-14T05:19:37Z beach: lotuseater: I am currently separating the macro itself from its expander function, but that will likely change. 2020-12-14T05:20:01Z beach: I did that so that the expander function could be executed by the host during bootstrapping, which is faster. 2020-12-14T05:20:37Z beach: But now I have a bootstrapping technique for which the difference in performance won't matter much, so I will likely stick the expander code in the macro again. 2020-12-14T05:22:49Z lotuseater: i see, good idea 2020-12-14T05:22:54Z mingus quit (Ping timeout: 256 seconds) 2020-12-14T05:22:59Z beach: Thanks. 2020-12-14T05:23:21Z lotuseater: but i still must get it right to boot SICL :/ 2020-12-14T05:23:59Z lotuseater: that's just my general incompetence 2020-12-14T05:24:20Z beach: It is broken most of the time. But currently, you should be able to do (asdf:load-system '#:sicl-boot) then (in-package #:sicl-boot) and then (boot). 2020-12-14T05:24:32Z lotuseater: yay 2020-12-14T05:24:42Z beach: The you can do (repl *e5*) and you have a repl, but one that is very brittle. 2020-12-14T05:25:04Z beach: And the printer is not yet there, so many values will just show up as
. 2020-12-14T05:25:09Z lotuseater: no problem, it's a big project 2020-12-14T05:25:09Z semz: Okay, so according to clhs 4.3.6, updates to an instance of a redefined class may happen as late as when one of its slots is accessed. Let's assume the implementation does that and the class is redefined twice. Assume also that the relevant methods on update-instance-for-redefined-class are different during the two redefinitions. 2020-12-14T05:25:41Z semz: It's possible that there will be instances that only get to see the second definition of update-instance-for-redefined-class, right? 2020-12-14T05:36:51Z badcfe: at last. to conclude, i find the following seems equivalent 2020-12-14T05:36:51Z badcfe: (defmacro lm (&rest x) (list 'quote x)) 2020-12-14T05:36:56Z badcfe: (defmacro ln (&rest x) `(list ',x)) 2020-12-14T05:36:59Z beach: lotuseater: I have had a lot of help with several modules such as Cleavir (compiler framework), Clostrum (global environments), Trucler (lexical environments), Eclector (reader), Incless (printer), and probably several that I forgot. 2020-12-14T05:38:09Z beach: badcfe: They are not. 2020-12-14T05:38:23Z beach: badcfe: As a simple experiment at the REPL will show. 2020-12-14T05:39:18Z beach: The first one expands to ' and the second one to (list '). 2020-12-14T05:40:03Z badcfe: oh i see, ln has one more parenthesis, there. not a trained eye here 2020-12-14T05:40:23Z beach: badcfe: Look, anything inside ` but not inside , will appear in the result, so the LIST symbol will be in the result of the second one. 2020-12-14T05:41:24Z beach: badcfe: I am not sure why you refuse to try this out at the REPL. 2020-12-14T05:42:46Z badcfe: beach: i am trying it, and i missed that extra parenthesis 2020-12-14T05:43:46Z badcfe: beach: i have the delusion that just by removing something from ln i will peal off that wrapping list there, but i seem too unfamiliar with this to be able to do it yet 2020-12-14T05:43:48Z beach: badcfe: It is more than an extra parenthesis. The symbol LIST will appear in one expansion and not in the other. 2020-12-14T05:44:20Z badcfe: beach: no, i dont see the symbol LIST in neither 2020-12-14T05:44:26Z Khisanth quit (Ping timeout: 256 seconds) 2020-12-14T05:45:08Z badcfe: * (ln 1 (+ 1 1)) 2020-12-14T05:45:08Z badcfe: ((1 (+ 1 1))) 2020-12-14T05:45:08Z badcfe: * (lm 1 (+ 1 1)) 2020-12-14T05:45:08Z badcfe: (1 (+ 1 1)) 2020-12-14T05:45:10Z beach: badcfe: That's because you typed a form using the macro as opposed to macroexpanding it, or trying it out at the REPL as I have suggested several times. 2020-12-14T05:45:37Z White_Flame: `(list ,@(mapcar (lambda (y) `(quote y)) x) :-P 2020-12-14T05:45:41Z beach: badcfe: Evaluating a form with the macro as the operator means one more evaluation. 2020-12-14T05:46:06Z beach: badcfe: I am trying to teach you about the equivalence between a form with ` and one without. 2020-12-14T05:47:01Z beach: badcfe: And as I have also suggested several times, the backquote reader macro is independent of macros. 2020-12-14T05:47:06Z badcfe: beach: yes i get the macro expansion part, and am looking at above ln and lm and imagining i can easily make ln skip that extra wraping, in what i pasted from my repl above 2020-12-14T05:47:22Z beach: Whatever. 2020-12-14T05:48:00Z badcfe: beach: i see. yes, i can try out the parts in this, one by one 2020-12-14T05:50:49Z lotuseater: beach: i respect the good modularity of SICL 2020-12-14T05:50:55Z beach: badcfe: If you continue thinking in terms of parentheses, it will all be magic to you. I suggest you start thinking in terms of data structures in the form of (nested) lists. 2020-12-14T05:51:02Z beach: lotuseater: Thanks. 2020-12-14T05:51:38Z lotuseater: but seems tricky not to have circular dependencies between the projects :) 2020-12-14T05:51:48Z beach: lotuseater: Over time, we have learned a lot about how to write implementation-independent modules. 2020-12-14T05:51:56Z lotuseater: i saw once your talk about ANSI LOOP on YT 2020-12-14T05:52:07Z lotuseater: sounds good 2020-12-14T05:52:21Z beach: lotuseater: SICL is full of circular dependencies. 2020-12-14T05:52:48Z beach: LOOP uses a lot of CLOS and so does FORMAT. And CLOS definitely uses LOOP. 2020-12-14T05:52:58Z badcfe: beach: thanks for that guidance for me on how to look at this 2020-12-14T05:53:00Z badcfe: (defmacro ln (&rest x) `',x) 2020-12-14T05:53:02Z lotuseater: uii hm 2020-12-14T05:53:07Z beach: lotuseater: And CLOS is written using a lot of CLOS. 2020-12-14T05:53:14Z badcfe: this ones seems to do it tho 2020-12-14T05:53:15Z lotuseater: hehe 2020-12-14T05:53:33Z White_Flame: badcfe: the conversion of LM into backquote form would simply be `(quote ,x) 2020-12-14T05:53:46Z White_Flame: which of course is equivalent to `',x but IMO a bit more readable 2020-12-14T05:53:48Z beach: lotuseater: For instance (defclass t () () (:metaclass built-in-class)) 2020-12-14T05:54:33Z lotuseater: CLOS is so deep in CL it's difficult to program without it 2020-12-14T05:54:47Z beach: lotuseater: I found that my brain is too small to imagine a subset of Common Lisp that I am allowed to use for each module, so I am using the full language for every such module. 2020-12-14T05:54:57Z beach: lotuseater: Exactly. 2020-12-14T05:55:15Z lotuseater: yours too small?! o_O 2020-12-14T05:55:45Z beach: lotuseater: So instead I invented a bootstrapping technique that makes all those circular dependencies operational. 2020-12-14T05:56:25Z beach: lotuseater: I am not as smart as some people might think. But I compensate by being thorough and take the time the task requires. 2020-12-14T05:57:07Z lotuseater: i think experience outweighs smartness sometimes 2020-12-14T05:57:17Z beach: That's what I am hoping. :) 2020-12-14T05:57:20Z lotuseater: oh yes i see 2020-12-14T05:57:40Z Khisanth joined #lisp 2020-12-14T05:57:49Z beach: But it means VERY SLOW progress with SICL. 2020-12-14T05:58:16Z beach: I just finished rewriting the bootstrapping procedure a second time, so now it's version 3. 2020-12-14T05:58:35Z beach: Simply because I was unable to see the negative consequences of versions 1 and 2. 2020-12-14T05:58:37Z beach: Oh well. 2020-12-14T05:58:44Z lotuseater: nice. beside your other dozen of nontrivial and big projects 2020-12-14T05:58:57Z beach: Yeah. :( 2020-12-14T06:00:05Z badcfe quit (Quit: Lost terminal) 2020-12-14T06:15:25Z lotuseater: hehe i tried (defclass sorted-list (list) ()) but CLOS complains :) 2020-12-14T06:16:19Z a0 joined #lisp 2020-12-14T06:16:27Z no-defun-allowed: clhs built-in-class 2020-12-14T06:16:27Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/t_built_.htm 2020-12-14T06:16:42Z no-defun-allowed: Oh, is LIST even a class? 2020-12-14T06:16:56Z no-defun-allowed: clhs list 2020-12-14T06:16:56Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/a_list.htm 2020-12-14T06:17:17Z no-defun-allowed: It is indeed a system class, so it cannot be subclassed. 2020-12-14T06:17:43Z lotuseater: oki :) 2020-12-14T06:18:22Z lotuseater: CONS and NULL are listed as subclasses 2020-12-14T06:20:14Z orivej quit (Ping timeout: 260 seconds) 2020-12-14T06:25:29Z entre-parenteses: beach: As someone trying to learn to write (and very intersted in specifically writing) well-designed software in Common Lisp, is this the SICL of which you speak? 2020-12-14T06:25:33Z entre-parenteses: https://gitlab.common-lisp.net/sicl/SICL 2020-12-14T06:26:27Z entre-parenteses: Or should I look for it somewhere else? 2020-12-14T06:26:50Z beach: That looks old. 2020-12-14T06:27:17Z entre-parenteses: Yes, I see that it's about 9-10 years old. 2020-12-14T06:27:19Z beach: https://github.com/robert-strandh/SICL. 2020-12-14T06:27:33Z entre-parenteses: Ah, very much appreciated! 2020-12-14T06:27:52Z beach: Pleasure. 2020-12-14T06:28:44Z beach: lotuseater: (defclass sorted-list (list) ()) works in SICL. :) 2020-12-14T06:30:18Z lotuseater: cool! 2020-12-14T06:30:48Z gaqwas joined #lisp 2020-12-14T06:30:48Z gaqwas quit (Changing host) 2020-12-14T06:30:48Z gaqwas joined #lisp 2020-12-14T06:31:55Z lotuseater: so i would do (make-instance 'sorted-list ...)? 2020-12-14T06:32:52Z beach: Yes. 2020-12-14T06:33:45Z beach: It doesn't have any slots, since LIST is a built-in class with no slots. 2020-12-14T06:34:02Z jackdaniel: I gather that such sorted list would not be built from conses, so it would violate the list class protocol ("for each elemnt of a list there is a /cons/.", and "type cons and null form an exhaustive partition of the type list" 2020-12-14T06:34:19Z jackdaniel: or do I miss something? 2020-12-14T06:34:25Z beach: I am pretty sure it won't be useful. 2020-12-14T06:34:44Z lotuseater: okok 2020-12-14T06:35:08Z jackdaniel: right, I imagine that someone writes a method specialized on a list, and passing a sorted-list would indeed work in the dispatch mechanism, but not adhering to the list protocol will probably lead to a broken code 2020-12-14T06:35:51Z no-defun-allowed: Is allowing subclasses of built-in-class legal behaviour? 2020-12-14T06:36:14Z beach: no-defun-allowed: STANDARD-OBJECT is a subclass if T, so yes. 2020-12-14T06:36:15Z lotuseater: i just tried when thinking about dependent types 2020-12-14T06:36:50Z jackdaniel: "Attempting to use defclass to define subclasses of a built-in class signals an error of type error" 2020-12-14T06:36:54Z beach: no-defun-allowed: In SICL, all combinations are valid except a built-in class can not be a subclass of a standard class. 2020-12-14T06:37:00Z no-defun-allowed: I see. 2020-12-14T06:37:26Z beach: jackdaniel: Oh, so I have to disable that once the system is built. 2020-12-14T06:37:58Z jackdaniel: the page with built-in-class mandates some other errors too (i.e change-class is not allowed, redefinition etc) 2020-12-14T06:38:00Z beach: But clearly standard classes must be possible as subclasses of built-in classes. 2020-12-14T06:38:49Z jackdaniel: isn't a standard-class a subclass of class? 2020-12-14T06:38:56Z Khisanth quit (Ping timeout: 240 seconds) 2020-12-14T06:39:16Z beach: "a standard-class" is different from STANDARD-CLASS. 2020-12-14T06:39:23Z beach: The former is an instance of the latter. 2020-12-14T06:39:43Z beach: Like STANDARD-OBJECT is "a standard class" and it is a subclass of T. 2020-12-14T06:39:48Z jackdaniel: (ecl disables subclassing the built-in-class as the last step during compilation) 2020-12-14T06:39:59Z beach: Yes, that's what I plan to do too. 2020-12-14T06:40:01Z jackdaniel: you are right, my mistake 2020-12-14T06:44:40Z nwoob quit (Ping timeout: 272 seconds) 2020-12-14T06:44:42Z hiroaki quit (Ping timeout: 260 seconds) 2020-12-14T06:46:03Z andreyorst joined #lisp 2020-12-14T06:51:52Z saturn2 quit (Ping timeout: 256 seconds) 2020-12-14T06:52:49Z Khisanth joined #lisp 2020-12-14T06:54:30Z ex_nihilo_ joined #lisp 2020-12-14T06:57:17Z ex_nihilo quit (Ping timeout: 260 seconds) 2020-12-14T06:58:21Z hiroaki joined #lisp 2020-12-14T07:06:13Z beach: It would be silly not to use the possibility of using DEFCLASS to define subclasses of built-in classes during system bootstrapping, but sure, at the end, this feature has to be disabled in a conforming implementation. 2020-12-14T07:06:57Z andreyorst` joined #lisp 2020-12-14T07:06:58Z andreyorst` quit (Remote host closed the connection) 2020-12-14T07:07:27Z andreyorst` joined #lisp 2020-12-14T07:07:42Z vutral is now known as webkiller 2020-12-14T07:07:55Z nwoob joined #lisp 2020-12-14T07:08:13Z webkiller is now known as vutral 2020-12-14T07:09:02Z beach: Oh, but could LIST be a standard class? 2020-12-14T07:10:02Z beach: I mean, it isn't in SICL, because CONS is not a standard class. 2020-12-14T07:10:11Z beach: But could it be? 2020-12-14T07:10:14Z andreyorst quit (Ping timeout: 256 seconds) 2020-12-14T07:10:59Z ksixty quit (Ping timeout: 260 seconds) 2020-12-14T07:11:02Z flazh quit (Ping timeout: 265 seconds) 2020-12-14T07:12:14Z Oladon quit (Quit: Leaving.) 2020-12-14T07:12:17Z saturn2 joined #lisp 2020-12-14T07:19:05Z jprajzne1 joined #lisp 2020-12-14T07:19:06Z jackdaniel: sure, system class is a class that *may* be of type but-in-class in a conforming implementation (...) 2020-12-14T07:19:16Z jackdaniel: it is not mandated 2020-12-14T07:19:29Z jackdaniel: built-in* 2020-12-14T07:19:33Z jackdaniel: not but :) 2020-12-14T07:19:47Z jackdaniel: it is in the glossary under "system class" 2020-12-14T07:20:08Z jackdaniel: beach: ^ 2020-12-14T07:22:12Z phadthai: if I understand not allowing it as part of the standard was also so that the implementation of standard ones can be more efficient (and more limited) than clos permits, i.e. changing a struct would normally require all dependent code to be recompiled 2020-12-14T07:22:17Z beach: Yeah, I am just thinking that it probably could not be a subclass of STANDARD-OBJECT. 2020-12-14T07:22:42Z gzj joined #lisp 2020-12-14T07:22:47Z beach: Because that would violate the class precedence list in the specification. 2020-12-14T07:23:51Z beach: phadthai: I assume by "not allowing it" you mean "not requiring it", yes? 2020-12-14T07:24:10Z jackdaniel: beach: what do you mean that it would violate the class precedence list? 2020-12-14T07:24:14Z phadthai: I'm not sure, sorry 2020-12-14T07:24:21Z beach: clhs list 2020-12-14T07:24:21Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/a_list.htm 2020-12-14T07:24:59Z jackdaniel: sequence is also a /system class/ 2020-12-14T07:25:34Z beach: Yes, but is it allowed to stick in standard-object in the class precedence list? 2020-12-14T07:26:01Z beach: I know it is allowed to stick in implementation-specific classes, but specified ones? 2020-12-14T07:26:09Z harlchen joined #lisp 2020-12-14T07:26:18Z jackdaniel: I don't think that it is a problem, but I don't have anything to back that up 2020-12-14T07:26:31Z beach: It's an interesting question. 2020-12-14T07:26:51Z jackdaniel: phadthai: it is also to enable implementers to use some less obvious constructs for built-in-classes, i.e to directly map to underlying java class, or c++ class (if the runtime is shared) 2020-12-14T07:27:02Z jackdaniel: then you don't have control over said class (i.e its layout etc) 2020-12-14T07:27:43Z beach: phadthai: So the question is interesting in the context of the BOCL (BOotstrap Common Lisp) the goal of which is a system that is a simple and maintainable as possible, without many performance constraints at all. 2020-12-14T07:28:30Z beach: The fewer special cases requiring specific code, the better. 2020-12-14T07:29:15Z beach: the BOCL (...) idea, ... 2020-12-14T07:29:17Z shka_ joined #lisp 2020-12-14T07:31:18Z phadthai: yes I can certainly see the convenience 2020-12-14T07:31:44Z beach: In fact, it would be a fun project for someone to work on. 2020-12-14T07:31:59Z beach: It has to be written in C. 2020-12-14T07:33:14Z Cymew joined #lisp 2020-12-14T07:33:17Z phadthai: jackdaniel: thanks 2020-12-14T07:33:19Z gaqwas quit (Remote host closed the connection) 2020-12-14T07:33:25Z beach: Fun, because it has totally different goals from any Common Lisp implementation meant for production. 2020-12-14T07:34:22Z beach: I know it has been suggested that ECL kind of *is* a BOCL, but ECL has completely different goals, and performance is one of them. 2020-12-14T07:34:26Z imode quit (Ping timeout: 256 seconds) 2020-12-14T07:34:52Z no-defun-allowed: I have never managed to build it myself, but what about CLISP? 2020-12-14T07:35:00Z hiroaki quit (Ping timeout: 256 seconds) 2020-12-14T07:37:23Z beach: It is also a Common Lisp implementation meant for "production" use, so there must be compromises in there for reasons of performance. And such compromises can make maintenance more complicated. 2020-12-14T07:38:38Z beach: Also, to take but one example, BOCL probably does not have to signal an error for the DEFCLASS example above. As long as it has conforming behavior for conforming code, that should be enough. 2020-12-14T07:38:49Z no-defun-allowed: I see, but I have read that CLISP is/was considered the most portable implementation around. There is still a bytecode compiler which could be tossed out for BOCL. 2020-12-14T07:39:03Z beach: Sure. 2020-12-14T07:40:06Z beach: Bytecodes would probably be a requirement since native code would be way to complicated. 2020-12-14T07:40:11Z beach: too 2020-12-14T07:41:02Z no-defun-allowed: As opposed to directly interpreting Common Lisp code? 2020-12-14T07:41:53Z beach: Sure, that would be possible too. Maybe even better. I didn't think of that. 2020-12-14T07:41:54Z flip214: well, the CL forms could be scheduled like forth as well... 2020-12-14T07:42:13Z beach: "scheduled? 2020-12-14T07:42:34Z beach: "scheduled"? I mean. 2020-12-14T07:43:09Z no-defun-allowed: To be fair though, I would rather write a bytecode interpreter instead of a tree-walking interpreter in C. But then you have to write the bytecode compiler. 2020-12-14T07:43:37Z beach: Indeed. Hard to tell a priori what gives the best code. 2020-12-14T07:45:09Z beach: Maybe the interpreter would not be too bad. 2020-12-14T07:45:39Z flazh joined #lisp 2020-12-14T07:46:38Z no-defun-allowed: One thing I recall is that precise GC gets tedious without virtual machine registers placed somewhere convenient, but it wouldn't be a problem if you use Boehm (or decide that leaking is a feature of a BOCL). 2020-12-14T07:47:27Z beach: Yes, either Boehm or leaking is fine. Though the latter may make it run out of memory, so I would go for Boehm. 2020-12-14T07:48:54Z flip214: beach: AFAIK the technical term for Forth code is "scheduling", yes. 2020-12-14T07:49:16Z beach: flip214: I see. I guess I don't know what it means then, 2020-12-14T07:49:51Z no-defun-allowed: I recall some batch compilers would just allocate without freeing, because they wouldn't live very long and would generate significant garbage. That wouldn't work for Common Lisp, as we don't run one process per file, of course. 2020-12-14T07:50:21Z beach: Yeah, bootstrapping SICL would very likely run out of memory. 2020-12-14T07:51:52Z beach: So here is an example of what BOCL could do that no production Common Lisp system would: Function calls are all in the form of (APPLY ). 2020-12-14T07:51:54Z no-defun-allowed: You mean to tell me that I bought more primary memory to bootstrap HIR-to-CL SICL with a 10GB heap and without swapping, then you reduce the memory consumption of SICL, and now I can't even utilise it for BOCL? (Kidding...) 2020-12-14T07:52:41Z beach: Heh! 2020-12-14T07:52:55Z beach: I'll reimburse you if you like. 2020-12-14T07:53:05Z gzj quit (Remote host closed the connection) 2020-12-14T07:53:24Z uniminin quit (Ping timeout: 240 seconds) 2020-12-14T07:53:26Z gzj joined #lisp 2020-12-14T07:53:52Z uniminin joined #lisp 2020-12-14T07:54:35Z no-defun-allowed: Well, that was one influence, but I got it for cheap, and I also needed it to run modded (read: extended with third-party mechanics) Minecraft on a real-time GC with a sufficiently large heap. So I don't actually mind at all. 2020-12-14T07:56:16Z phoe: good morning 2020-12-14T07:56:39Z beach: Hello phoe. 2020-12-14T07:56:54Z no-defun-allowed: Hello phoe. 2020-12-14T07:56:58Z phoe: hey hi 2020-12-14T07:59:40Z beach: no-defun-allowed: The more I think about it, the more I am convinced that a straight interpreter is the best solution. 2020-12-14T08:01:11Z White_Flame: implement a bootstrap CL in a Forth, as the native code required for forth is tiny 2020-12-14T08:01:54Z beach: That might be a possibility. I'll let someone else think about that one, though. I don't have much experience writing Forth. 2020-12-14T08:02:48Z phoe: hmmmm, isn't the ECL interpreter kinda forthesque? 2020-12-14T08:03:04Z phoe: or the bytecode compiler? 2020-12-14T08:03:16Z no-defun-allowed: It also convinced me that space-time tradeoffs exist in plenty of places, which was a point I failed to make in one writeup once. 2020-12-14T08:03:18Z phoe: I don't remember, plus I'm sleepy so I might be speaking nonsense 2020-12-14T08:03:28Z no-defun-allowed: Well, a lot of bytecode machines use stack machines. 2020-12-14T08:04:10Z no-defun-allowed: At least the Smalltalk, Self, Java, CLISP, CPython, and Netfarm machines are stack oriented for temporaries, but have some environment register too. 2020-12-14T08:07:13Z liberliver joined #lisp 2020-12-14T08:07:22Z no-defun-allowed: Notable exceptions are the Lua and Erlang (BEAM) machines, which use some number of registers. 2020-12-14T08:10:15Z beach: Maybe you are talking about something different now, but all such systems have performance as a significant goal, I would think. That makes BOCL unique, and more fun, too. :) 2020-12-14T08:11:04Z no-defun-allowed: Perhaps, but I meant to say that, if you look at it that way, "most" bytecodes look like Forth. 2020-12-14T08:11:15Z beach: Oh, I see. 2020-12-14T08:11:30Z no-defun-allowed: I still think they look more like the SECD machine than a Forth call stack-data stack machine. 2020-12-14T08:12:01Z ex_nihilo__ joined #lisp 2020-12-14T08:14:17Z beach: So, imagine writing only cons_car in C, and then write CAR by doing read_from_string("(defun car (x) (if (null x) x (cons-car x)))"); 2020-12-14T08:14:40Z no-defun-allowed: But most performance-oriented implementations of those languages achieve their performance by abandoning the bytecode machine, and generating machine code instead. I see the point, though. 2020-12-14T08:14:41Z beach: ... and EVAL-ing that of course 2020-12-14T08:14:43Z ex_nihilo_ quit (Ping timeout: 258 seconds) 2020-12-14T08:15:27Z loke[m] quit (Ping timeout: 260 seconds) 2020-12-14T08:15:28Z beach: ... or, I guess loading it from file. 2020-12-14T08:15:35Z srandon111: guys any resource on netowrk programming with common lisp? 2020-12-14T08:15:48Z MrFantastik joined #lisp 2020-12-14T08:16:18Z no-defun-allowed: You can use usocket for programming sockets. 2020-12-14T08:16:21Z beach: srandon111: Are you excluding the women here, or are you using "guys" as a gender-neutral term? 2020-12-14T08:16:54Z Cymew quit (*.net *.split) 2020-12-14T08:16:54Z jonatack quit (*.net *.split) 2020-12-14T08:16:54Z X-Scale quit (*.net *.split) 2020-12-14T08:16:54Z hvxgr quit (*.net *.split) 2020-12-14T08:16:54Z loke quit (*.net *.split) 2020-12-14T08:16:54Z OlCe quit (*.net *.split) 2020-12-14T08:16:54Z Krystof quit (*.net *.split) 2020-12-14T08:16:54Z norserob quit (*.net *.split) 2020-12-14T08:16:55Z Necktwi quit (*.net *.split) 2020-12-14T08:16:55Z quazimodo quit (*.net *.split) 2020-12-14T08:16:55Z lad quit (*.net *.split) 2020-12-14T08:16:55Z Firedancer_ quit (*.net *.split) 2020-12-14T08:16:55Z ineiros quit (*.net *.split) 2020-12-14T08:16:55Z APic quit (*.net *.split) 2020-12-14T08:16:55Z bacterio quit (*.net *.split) 2020-12-14T08:16:55Z tychoish quit (*.net *.split) 2020-12-14T08:16:55Z Colleen quit (*.net *.split) 2020-12-14T08:16:56Z cyberlard quit (*.net *.split) 2020-12-14T08:16:56Z Robdgreat quit (*.net *.split) 2020-12-14T08:16:56Z lavaflow quit (*.net *.split) 2020-12-14T08:16:56Z alandipert quit (*.net *.split) 2020-12-14T08:16:56Z ck_ quit (*.net *.split) 2020-12-14T08:17:13Z loke[m] joined #lisp 2020-12-14T08:17:21Z srandon111: beach, damn of course i am using "guys" as a gender-neutral term, let's not start a discussion on this please... 2020-12-14T08:17:44Z phoe: what kind of network programming guide are you looking for? 2020-12-14T08:17:49Z no-defun-allowed: Would you ever consider dating a "guy"? 2020-12-14T08:17:51Z phoe: if it's just sockets, then usocket, as no-defun-allowed mentioned 2020-12-14T08:18:03Z srandon111: no-defun-allowed, if i ever would be attracted to a guy why not 2020-12-14T08:18:13Z srandon111: thank no-defun-allowed 2020-12-14T08:18:18Z phoe gently nudges the dating topic aside 2020-12-14T08:18:26Z no-defun-allowed: Okay, fair enough. 2020-12-14T08:18:31Z andreyorst joined #lisp 2020-12-14T08:18:38Z phoe: is it anything broader than that though? like writing whole servers or something? 2020-12-14T08:18:43Z srandon111: phoe, i would like to write a gopher server 2020-12-14T08:18:55Z srandon111: so is usocket the right place to go? 2020-12-14T08:19:02Z phoe: I think so, yes, you can use it 2020-12-14T08:19:14Z srandon111: beach, could you suggest a more gender-neutral greeting? (I am serious, english is not my mother tongue) 2020-12-14T08:19:26Z no-defun-allowed: "Good morning everyone!" 2020-12-14T08:19:28Z srandon111: phoe, are there more high level network programming libraries? 2020-12-14T08:19:29Z phoe: srandon111: folks, everyone, people, lispers 2020-12-14T08:19:32Z srandon111: no-defun-allowed, ok thanks 2020-12-14T08:19:35Z srandon111: phoe, thanks 2020-12-14T08:19:43Z amk quit (Ping timeout: 246 seconds) 2020-12-14T08:19:51Z easye: srandon111: "folks" works, but is perhaps a little homespun. 2020-12-14T08:20:01Z aartaka_d quit (Ping timeout: 264 seconds) 2020-12-14T08:20:01Z thecoffemaker quit (Ping timeout: 264 seconds) 2020-12-14T08:20:01Z srandon111: easye, homespun? 2020-12-14T08:20:07Z no-defun-allowed: Well, usocket is at the level that programming sockets looks like programming normal file or console I/O, because you can get streams and use the normal Common Lisp stream functions with them. 2020-12-14T08:20:11Z andreyorst quit (Client Quit) 2020-12-14T08:20:16Z easye: Well, folk-sy. 2020-12-14T08:20:25Z srandon111: folks, i am careful to these kind of things, i also renamed my default branches on git from "master" to "main" 2020-12-14T08:20:35Z andreyorst joined #lisp 2020-12-14T08:20:49Z phoe: srandon111: I'm not aware of any; networking is a broad topic so higher-level libraries might be specializations rather than generalizations - and therefore not work for the majority of all cases. 2020-12-14T08:21:10Z amk joined #lisp 2020-12-14T08:21:10Z phoe: like, of any higher-level libraries. 2020-12-14T08:21:38Z phoe: but I think that if you're implementing a simple protocol like gopher, then usocket should work just fine 2020-12-14T08:21:45Z srandon111: ok thank phoe 2020-12-14T08:21:51Z srandon111: *thanks 2020-12-14T08:21:53Z phoe: I'd write a single-threaded version of the server first and then optionally generalize to multiple threads. 2020-12-14T08:22:04Z srandon111: any good tutorial/examples on how to use it outside the common lisp cookbook 2020-12-14T08:22:20Z Cymew joined #lisp 2020-12-14T08:22:20Z jonatack joined #lisp 2020-12-14T08:22:20Z X-Scale joined #lisp 2020-12-14T08:22:20Z hvxgr joined #lisp 2020-12-14T08:22:20Z loke joined #lisp 2020-12-14T08:22:20Z OlCe joined #lisp 2020-12-14T08:22:20Z Krystof joined #lisp 2020-12-14T08:22:20Z norserob joined #lisp 2020-12-14T08:22:20Z Necktwi joined #lisp 2020-12-14T08:22:20Z quazimodo joined #lisp 2020-12-14T08:22:20Z lad joined #lisp 2020-12-14T08:22:20Z Firedancer_ joined #lisp 2020-12-14T08:22:20Z ineiros joined #lisp 2020-12-14T08:22:20Z APic joined #lisp 2020-12-14T08:22:20Z bacterio joined #lisp 2020-12-14T08:22:20Z tychoish joined #lisp 2020-12-14T08:22:20Z Colleen joined #lisp 2020-12-14T08:22:20Z cyberlard joined #lisp 2020-12-14T08:22:20Z Robdgreat joined #lisp 2020-12-14T08:22:20Z lavaflow joined #lisp 2020-12-14T08:22:20Z alandipert joined #lisp 2020-12-14T08:22:20Z ck_ joined #lisp 2020-12-14T08:22:28Z thecoffemaker joined #lisp 2020-12-14T08:22:39Z OlCe quit (Max SendQ exceeded) 2020-12-14T08:22:43Z phoe: I think you can get inspired by a server for a similar protocol, one sec... 2020-12-14T08:23:15Z srandon111: ok thanks phoe i'll wait 2020-12-14T08:23:23Z phoe: https://git.carcosa.net/jmcbray/germinal/ 2020-12-14T08:23:49Z phoe: this one is for Gemini. GPLv3 code. 2020-12-14T08:24:08Z bitmapper quit (Quit: Connection closed for inactivity) 2020-12-14T08:24:19Z andreyorst quit (Remote host closed the connection) 2020-12-14T08:24:43Z andreyorst joined #lisp 2020-12-14T08:26:01Z mbrumlow quit (Ping timeout: 246 seconds) 2020-12-14T08:27:11Z mbrumlow joined #lisp 2020-12-14T08:28:05Z gzj quit (Remote host closed the connection) 2020-12-14T08:28:11Z srandon111: phoe, what is gemini? 2020-12-14T08:28:26Z gzj joined #lisp 2020-12-14T08:28:47Z no-defun-allowed: A protocol that looks roughly like Gopher. 2020-12-14T08:28:48Z phoe: srandon111: a pretty new protocol that aims to be Gopher, except with better encryption by default and some other nice tweaks. It is slowly but steadily gains popularity. 2020-12-14T08:28:56Z no-defun-allowed: "new" 2020-12-14T08:28:58Z phoe: s/gains/gaining/ 2020-12-14T08:29:23Z no-defun-allowed: The introduction says it's explicitly not a substitute for Gopher (or HTTP). 2020-12-14T08:29:35Z random-nick joined #lisp 2020-12-14T08:30:37Z andreyorst quit (Ping timeout: 260 seconds) 2020-12-14T08:31:27Z kenran joined #lisp 2020-12-14T08:32:37Z no-defun-allowed: But it looks sufficiently like Gopher, that you could glean off how to implement a Gopher server. 2020-12-14T08:32:47Z srandon111: ook thanks no-defun-allowed 2020-12-14T08:33:28Z srandon111: the thing is always, will it be available through lynx 2020-12-14T08:33:29Z srandon111: i hope so 2020-12-14T08:34:01Z phoe: if lynx gets support for this new protocol, possibly! terminal browsers for gemini also exist by now. 2020-12-14T08:34:06Z phoe: but that's no longer a strictly #lisp discussion 2020-12-14T08:34:08Z galex-713 joined #lisp 2020-12-14T08:38:39Z entre-parenteses: srandon111: From the "Gopher (protocol)" wikipedia page (I had to look up what Gopher was), I came across this repo that may be an interesting resource for you: https://github.com/heddwch/geomyid 2020-12-14T08:38:47Z andreyorst joined #lisp 2020-12-14T08:38:59Z phoe: oooooh 2020-12-14T08:39:01Z entre-parenteses: It's a bit old but written in CL so it may be helpful 2020-12-14T08:39:04Z phoe: entre-parenteses: nice! I wasn't aware of that 2020-12-14T08:40:28Z entre-parenteses: It was just chance that I came upon it. Hopefully it helps. 2020-12-14T08:41:32Z villanella joined #lisp 2020-12-14T08:42:26Z atomik_dog joined #lisp 2020-12-14T08:43:10Z harlchen: i get 'The function QUUX-HUNCHENTOOT::WRAPPED-ERROR-P is undefined. ' if i try to connect to a running acceptor , what is a :good way to start and debug it ? emacs/sly/sbcl 2020-12-14T08:43:16Z srandon111: thanks entre-parenteses 2020-12-14T08:43:39Z harlchen: from looking through the debugger/inspector i don't even see what tries to call it 2020-12-14T08:43:46Z srandon111: phoe, what's this git service ? https://git.carcosa.net/ 2020-12-14T08:43:56Z srandon111: i mean is it something commonly used by lispers ? 2020-12-14T08:43:59Z phoe: srandon111: seems like a random Gitea instance. 2020-12-14T08:44:20Z phoe: nope, not really. lots of lispers use github, some use the official gitlab, some use gitlab.common-lisp.net, some use other services. 2020-12-14T08:44:24Z phoe: git is decentralized, after all. 2020-12-14T08:44:30Z nostoi joined #lisp 2020-12-14T08:44:49Z phoe: harlchen: what's the backtrace? 2020-12-14T08:45:46Z _atomik quit (Ping timeout: 258 seconds) 2020-12-14T08:46:26Z harlchen: http://paste.debian.net/1176831/ 2020-12-14T08:46:54Z phoe: what's the HTTP-THREAD package? 2020-12-14T08:47:43Z andreyorst quit (Ping timeout: 246 seconds) 2020-12-14T08:48:59Z harlchen: ah sorry, my local-nickname for quux-hunchentoot 2020-12-14T08:50:34Z pve joined #lisp 2020-12-14T08:50:57Z phoe: where does the symbol QUUX-HUNCHENTOOT::WRAPPED-ERROR-P even come from? it does not exist in https://gitlab.common-lisp.net/qitab/quux-hunchentoot/-/blob/master/thread-pooling.lisp 2020-12-14T08:51:16Z phoe: where did you get quux-hunchentoot from? how old is it? 2020-12-14T08:51:46Z harlchen: i did look there first, it appears in https://github.com/lmj/lparallel/blob/9c11f40018155a472c540b63684049acc9b36e15/src/kernel/handling.lisp#L33 2020-12-14T08:52:13Z harlchen: and it came from ql:quickload 2020-12-14T08:52:15Z phoe: no, this is the wrong package 2020-12-14T08:52:25Z phoe: 1) this is package LPARALLEL.KERNEL, not QUUX-HUNCHENTOOT 2020-12-14T08:52:39Z phoe: 2) this symbol is named WRAPPED-ERROR, not WRAPPED-ERROR-P 2020-12-14T08:52:47Z entre-parenteses quit (Ping timeout: 260 seconds) 2020-12-14T08:53:44Z OlCe joined #lisp 2020-12-14T08:53:45Z harlchen: there is this structure https://gitlab.common-lisp.net/qitab/quux-hunchentoot/-/blob/master/thread-pooling.lisp#L262 2020-12-14T08:54:39Z phoe: yes, but this symbol once again comes from LPARALLEL, not from QUUX-HUNCHENTOOT. 2020-12-14T08:54:55Z harlchen: yep 2020-12-14T08:55:07Z phoe: so, no idea. 2020-12-14T08:55:22Z harlchen: :) 2020-12-14T09:00:04Z lspr[m] quit (Quit: Idle for 30+ days) 2020-12-14T09:05:56Z harlchen: the symbol also doesn't appear anywhere in my quicklisp directory 2020-12-14T09:06:42Z phoe: wtf then 2020-12-14T09:06:52Z phoe: (ql:update-all-dists) or something? 2020-12-14T09:06:53Z hendursa1 joined #lisp 2020-12-14T09:09:23Z hendursaga quit (Ping timeout: 240 seconds) 2020-12-14T09:19:00Z hnOsmium0001 quit (Quit: Connection closed for inactivity) 2020-12-14T09:22:39Z nostoi quit (Quit: Verlassend) 2020-12-14T09:23:01Z datajerk quit (Ping timeout: 264 seconds) 2020-12-14T09:27:39Z olle joined #lisp 2020-12-14T09:28:49Z orivej joined #lisp 2020-12-14T09:32:32Z ljavorsk joined #lisp 2020-12-14T09:33:07Z sgibber2018 quit (Quit: WeeChat 2.9) 2020-12-14T09:42:06Z gzj quit (Remote host closed the connection) 2020-12-14T09:42:27Z gzj joined #lisp 2020-12-14T09:45:12Z datajerk joined #lisp 2020-12-14T09:45:14Z hugh_marera quit (Quit: Connection closed) 2020-12-14T09:46:40Z iskander- joined #lisp 2020-12-14T09:48:20Z iskander quit (Ping timeout: 272 seconds) 2020-12-14T09:48:54Z dim quit (Ping timeout: 256 seconds) 2020-12-14T09:50:48Z harlchen: if a (let ((p package) is :use'ing a (s system) would it then be reported as a missing symbol from p ? 2020-12-14T09:51:39Z phoe: wait a second 2020-12-14T09:51:49Z phoe: this sentence doesn't really make sense. 2020-12-14T09:52:04Z phoe: a package cannot use a system. 2020-12-14T09:52:16Z phoe: there's nothing about symbols there, anyway. 2020-12-14T09:52:20Z phoe: could you show us the code in question? 2020-12-14T09:52:27Z harlchen: https://gitlab.common-lisp.net/qitab/quux-hunchentoot/-/blob/master/pkgdcl.lisp#L5 2020-12-14T09:53:07Z phoe: it only uses the exported symbols of lparallel. 2020-12-14T09:53:08Z hugh_marera joined #lisp 2020-12-14T09:53:37Z phoe: so, https://github.com/lmj/lparallel/blob/master/src/package.lisp 2020-12-14T09:54:13Z harlchen: hmm, k. 2020-12-14T09:54:43Z harlchen: thanks 2020-12-14T09:55:03Z phoe: one second though 2020-12-14T09:55:16Z phoe: hidden behind macrology, there is a symbol named LPARALLEL.KERNEL::WRAPPED-ERROR-P 2020-12-14T09:55:20Z phoe: and it is fbound! 2020-12-14T09:55:54Z phoe: https://github.com/lmj/lparallel/blob/9c11f40018155a472c540b63684049acc9b36e15/src/kernel/handling.lisp#L33-L37 2020-12-14T09:56:08Z phoe: this expands into DEFSTRUCT WRAPPED-ERROR that defines the predicate WRAPPED-ERROR-P 2020-12-14T09:56:15Z phoe: so that's the definition. 2020-12-14T09:56:36Z phoe: but where does QUUX-HUNCHENTOOT::WRAPPED-ERROR-P come from? 2020-12-14T09:56:44Z toorevitimirp joined #lisp 2020-12-14T09:56:49Z saganman quit (Ping timeout: 265 seconds) 2020-12-14T09:57:12Z Nilby joined #lisp 2020-12-14T09:57:13Z jonathanschlink quit (Quit: fBNC - https://bnc4free.com) 2020-12-14T10:00:05Z gzj quit (Remote host closed the connection) 2020-12-14T10:00:27Z gzj joined #lisp 2020-12-14T10:01:12Z ebrasca joined #lisp 2020-12-14T10:02:54Z phoe: I am starting to suspect Trivia 2020-12-14T10:05:44Z phoe: hmmm 2020-12-14T10:05:57Z phoe: (trivia:ematch x ((structure trivia::adasdsd-) 42)) macroexpands into something that uses a symbol named ADASDSD-P 2020-12-14T10:06:09Z phoe: highly suspicious 2020-12-14T10:06:23Z harlchen: interesting 2020-12-14T10:06:27Z phoe: please feel free to take this further from here; I'll pass on it now 2020-12-14T10:08:58Z harlchen: sure, thanks for the hint, that would have taken me a while of looking at the call from quux-hunchentoot (structure lparallel.kernel::wrapped-error-)) to follow the ematch and suspect (an expansion in ?) trivia 2020-12-14T10:10:44Z phoe: that would take me a while too 2020-12-14T10:11:02Z phoe: try going to the file thread-pooling.lisp and try to manually compile DEFMETHOD RUN-DISPATCHER-THREAD 2020-12-14T10:11:07Z uniminin quit (Quit: Leaving) 2020-12-14T10:11:11Z phoe: let's see if this pops up a compilation warning. 2020-12-14T10:11:17Z phoe: with the symbol in question, too. 2020-12-14T10:11:23Z harlchen: k 2020-12-14T10:19:51Z hiroaki joined #lisp 2020-12-14T10:28:47Z frost-lab joined #lisp 2020-12-14T10:28:59Z aartaka joined #lisp 2020-12-14T10:30:47Z villanella quit (Ping timeout: 260 seconds) 2020-12-14T10:36:44Z splittist: I'm always amazed at how a couple of minutes scribbling a note and a diagram can replace hours of typing and staring at a screen. And how a couple of minutes typing and looking at a screen can replace hours of scribbling notes and diagrams. If only I knew which would help when (: 2020-12-14T10:37:21Z phoe: :D 2020-12-14T10:37:45Z Madvax joined #lisp 2020-12-14T10:37:52Z skapata quit (Remote host closed the connection) 2020-12-14T10:38:34Z srandon111 is now known as sookablyat 2020-12-14T10:51:47Z rumbler31 quit (Ping timeout: 260 seconds) 2020-12-14T10:53:18Z Stanley00 quit (Remote host closed the connection) 2020-12-14T10:56:54Z _death: (let ((p (lp:promise))) (mapc (lambda (action) (lp:future (sleep (random 10)) (lp:fulfill p action))) '(code scribble)) (lp:force p)) 2020-12-14T11:01:34Z Nilby: One hand code, one hand scrible. 2020-12-14T11:02:05Z phoe: Head smash keyboard to produce IRC messages. 2020-12-14T11:02:37Z surabax joined #lisp 2020-12-14T11:03:15Z Nilby: But the whatever the hands do, solution sems to be skulking obsucred in the back of my mind. 2020-12-14T11:11:18Z olle quit (Ping timeout: 272 seconds) 2020-12-14T11:13:11Z _death: after minutes of code, lp:por presents itself 2020-12-14T11:23:49Z orivej quit (Ping timeout: 265 seconds) 2020-12-14T11:26:23Z adlai wonders whether there's a quickway to revert a project fetched by quicklisp 2020-12-14T11:27:11Z phoe: revert? what do you mean? 2020-12-14T11:27:28Z phoe: you mean local-projects or a QL-downloaded one? 2020-12-14T11:27:35Z jackdaniel: probably downgrade the dist 2020-12-14T11:27:40Z Codaraxis quit (Remote host closed the connection) 2020-12-14T11:27:43Z adlai: a ql-downloaded 2020-12-14T11:28:00Z Codaraxis joined #lisp 2020-12-14T11:28:26Z adlai has a bad habit of M-. to read, then making edits 2020-12-14T11:28:43Z jackdaniel: ah, that's what you mean 2020-12-14T11:29:01Z iskander joined #lisp 2020-12-14T11:29:02Z jackdaniel: just remove ~/quicklisp/software/dists/quicklisp/library-name 2020-12-14T11:29:05Z gzj quit (Remote host closed the connection) 2020-12-14T11:29:08Z aartaka_d joined #lisp 2020-12-14T11:29:13Z jackdaniel: ql will then "re-download it" when needed 2020-12-14T11:29:26Z gzj joined #lisp 2020-12-14T11:29:46Z adlai: there's a #'ql:uninstall , I was wondering whether there's an idiomatic way to only reset an existing system to the downloaded state 2020-12-14T11:30:13Z iskander- quit (Ping timeout: 264 seconds) 2020-12-14T11:30:23Z adlai: it looks like the dists/quicklisp/archives/ directory has the tarballs 2020-12-14T11:31:48Z kaftejiman joined #lisp 2020-12-14T11:32:36Z aartaka quit (Ping timeout: 256 seconds) 2020-12-14T11:32:45Z Nilby thinks fixing things, even with M-. , is good habit. 2020-12-14T11:33:30Z Nilby: But maybe there should be an emacs command to move it to a properly checked out repo. 2020-12-14T11:34:32Z phoe: the issue is that quicklisp works on tarballs, not git repos 2020-12-14T11:34:41Z vegansbane6 quit (Quit: The Lounge - https://thelounge.chat) 2020-12-14T11:34:48Z phoe: some quicklisp projects don't even have git repos 2020-12-14T11:36:04Z adlai: what I want is (find-method #'ql::install () '(ql-dist:release)) 2020-12-14T11:37:06Z adlai: s/want/$1ed/ , and now I wonder whether this is a Bad Idea because what I wanted is neither in an exported symbol, and is only one specific method out of a generic function that is usually called on the system rather than the release. 2020-12-14T11:37:49Z adlai didn't quite complete that "neither... nor", although the confusion should be perfectly clear 2020-12-14T11:39:29Z adlai: Nilby: welllll yes, in principle 2020-12-14T11:40:06Z oni-on-ion: (not "either ... or") 2020-12-14T11:40:56Z adlai: in practice, what might best suit my current workflow, without changing the way quicklisp works, is to `git init` in the dists//software directory, and automatically `git commit` after each update of the dist 2020-12-14T11:41:19Z Codaraxis quit (Ping timeout: 246 seconds) 2020-12-14T11:41:27Z Nilby likes to imagine a world of principled and integrated CL software. 2020-12-14T11:41:39Z adlai: then if I edit things, even in a few different projects, I can easily revert; and perhaps output patches, if things are worth sending upstream. 2020-12-14T11:43:12Z adlai: quicklisp's upstream projects aren't all using the same version control system, and my local preference shouldn't care what the upstream projects are using 2020-12-14T11:44:35Z adlai likes to imagine some future day when the CL implementation's pathnames include native support for common version control systems 2020-12-14T11:45:24Z Codaraxis joined #lisp 2020-12-14T11:48:07Z flip214: adlai: well, package-local-nicknames are already done, so next step is surely non-local-pathnames, right? (webdav, git, sftp, ...) 2020-12-14T11:49:25Z adlai: e.g., the standard allows pathname-version to be any non-negative integer; the ANSI committee may not have had (unsigned-byte 256) in mind, although that is iirc the actual output space of git tree IDs. 2020-12-14T11:50:10Z Codaraxis quit (Ping timeout: 256 seconds) 2020-12-14T11:50:40Z harlchen: i have mito/sxql in my .asd mito/sxql -> optima ; in my loaded system run-dispatcher expands into http://paste.debian.net/1176847/ (by redefining) it only sees optima:ematch from the namespace quux-hunchentoot it also only sees optimas ematch even tough it is never used or referenced in any way, as far as i can see. 2020-12-14T11:51:01Z adlai: flip214: I'm content limiting myself to dealing with version control hell within my own local computer, and leave those who care about retconning standardized access to non-local files to their own devices... 2020-12-14T11:51:44Z Codaraxis joined #lisp 2020-12-14T11:58:10Z adlai goes back to poking at cl-pdf , wondering how well it'll deal with 15 years of new standards 2020-12-14T11:58:21Z kaftejiman_ joined #lisp 2020-12-14T12:00:03Z oni-on-ion: good thing CL is standardised 2020-12-14T12:00:21Z adlai: if I now waste the next two weeks on updating its parser to support linearized documents, instead of just submitting paperwork right away, and have patches to the upstream library by the end of the year, then maybe at least one good thing happened in 2020 2020-12-14T12:00:36Z kaftejiman quit (Ping timeout: 240 seconds) 2020-12-14T12:00:40Z FreeBirdLjj joined #lisp 2020-12-14T12:00:46Z Nilby: Adobe intentionally made conforming exactly to the PDF standard basically impossible. 2020-12-14T12:01:57Z kaftejiman__ joined #lisp 2020-12-14T12:01:58Z adlai refuses to print, scribble, and scan; and fortunately now has an indefinite deadline, so it is permissible to get sidetracked 2020-12-14T12:03:45Z adlai: cl-pdf does not only support writing documents! it does actually have pdf-parser.lisp hiding in pdf-parser.asd 2020-12-14T12:04:08Z adlai: the author's homepage seems down, though. 2020-12-14T12:04:44Z kaftejiman_ quit (Ping timeout: 256 seconds) 2020-12-14T12:05:17Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2020-12-14T12:05:24Z adlai: it is a wonderful example of lazy CL programming... defines a root condition class, pdf-parse-error; and then all "other" conditions are just functions that give it a different :message arg 2020-12-14T12:06:00Z phoe reads the above, becomes somewhat angry 2020-12-14T12:06:07Z vegansbane6 joined #lisp 2020-12-14T12:09:00Z gxt joined #lisp 2020-12-14T12:11:19Z gxt quit (Remote host closed the connection) 2020-12-14T12:14:54Z gzj quit (Quit: Leaving) 2020-12-14T12:17:24Z _death: anger2patch phoe >cl-pdf 2020-12-14T12:24:02Z Bike joined #lisp 2020-12-14T12:24:39Z phoe: _death: for now I've only made a https://github.com/mbattyani/cl-pdf/issues/18 2020-12-14T12:25:18Z luckless joined #lisp 2020-12-14T12:27:54Z nij joined #lisp 2020-12-14T12:28:11Z nij: I'm having problem with the notion of thread.. as the cl cookbook seems to be too involving. 2020-12-14T12:28:33Z phoe: nij: you mean "thread" in the multiprocessing context? 2020-12-14T12:28:59Z semz: Are there "best practices" about how to describe error conditions through the condition system in CL? The whole "one condition with ten million messages" thing strikes a little too close to home, both for my own code and for code I've used in the past. 2020-12-14T12:29:00Z nij: Is there a minimal working example? I hope to create a thread that has one local variable, initially at 0, which increases by 1 each second. 2020-12-14T12:29:29Z nij: The thread should terminate itself after it reaches 60. User can query the value, and send signals for the value to change. 2020-12-14T12:29:55Z nij: phoe: Yes, in multiprocessing context. 2020-12-14T12:30:26Z phoe: semz: just create subtypes wherever applicable, especially when you'd like to pass new arguments to them. 2020-12-14T12:30:40Z phoe: nij: a thread is something that is capable of executing code on its own, independently of everything else. 2020-12-14T12:31:08Z phoe: (bt:make-thread (lambda () (let ((x 0)) (loop (print x) (incf x) (sleep 1))))) 2020-12-14T12:31:33Z phoe: that's a thread that will loop forever and print an increasing counter. 2020-12-14T12:31:43Z villanella joined #lisp 2020-12-14T12:31:54Z phoe: it will print to the *inferior-lisp* buffer most likely unless you rebind its special variables. 2020-12-14T12:32:27Z nij: Without asking it printing, can one access to its X? 2020-12-14T12:32:52Z beach: Luckily, no. 2020-12-14T12:33:06Z beach: If one could, then the compiler could make no optimizations. 2020-12-14T12:33:19Z phoe: not really; you'd need some mailbox sort of logic to be able to request the value of X and so the thread can send it back. 2020-12-14T12:33:30Z phoe: that is doable, just requires more code. 2020-12-14T12:33:42Z nij: Oh.. no wonder it's more involving than I thought. 2020-12-14T12:33:55Z nij: Or is there other thing that helps achieve the same thing? 2020-12-14T12:34:07Z phoe: achieve what exactly? 2020-12-14T12:34:07Z beach: I don't think #lisp is the best place to learn about threads. 2020-12-14T12:34:26Z phoe: you can define *x* as a global variable and have one thread increase it while the other threads get its value. 2020-12-14T12:34:27Z nij: I just want to create a friend in cl, and ask/change the value of its local variable by sending signals. 2020-12-14T12:34:37Z nij: beach: #clschool? 2020-12-14T12:34:39Z phoe: oh, something like that 2020-12-14T12:34:49Z beach: nij: I was thinking of CS-101. 2020-12-14T12:34:53Z phoe: you could try to look at cl-actors for such sort of behavior 2020-12-14T12:35:04Z _death: nij: you can create a queue where you pass commands like (:set-x 123) 2020-12-14T12:35:15Z phoe: actors, by definition, are entities that can send, receive, and react to messages. 2020-12-14T12:35:43Z nij: beach: there's no one in #cs-101 2020-12-14T12:36:19Z phoe: it's a course name 2020-12-14T12:36:20Z semz: lol 2020-12-14T12:36:45Z nij: lol cs-101 teaches common-lisp? I will enroll in that University. 2020-12-14T12:36:46Z phoe: beach meant the basics of computer science - that's where the notion of a thread is usually introduced 2020-12-14T12:37:19Z nij: Yeah but I want it in cl.. 2020-12-14T12:37:37Z nij: I know what a thread is (roughly), but I want a working example in cl. 2020-12-14T12:37:53Z nij: cl-actor seems legit. I will look into that :) thanks! 2020-12-14T12:41:13Z aartaka joined #lisp 2020-12-14T12:42:50Z nij left #lisp 2020-12-14T12:44:12Z semz quit (Ping timeout: 258 seconds) 2020-12-14T12:45:02Z aartaka_d quit (Ping timeout: 272 seconds) 2020-12-14T12:48:12Z semz joined #lisp 2020-12-14T12:49:48Z yitzi joined #lisp 2020-12-14T12:51:55Z EvW joined #lisp 2020-12-14T12:52:36Z rogersm joined #lisp 2020-12-14T12:53:01Z semz quit (Ping timeout: 258 seconds) 2020-12-14T12:56:02Z saganman joined #lisp 2020-12-14T13:12:38Z frost-lab quit (Quit: Connection closed) 2020-12-14T13:13:36Z cosimone joined #lisp 2020-12-14T13:17:37Z EvW quit (Ping timeout: 260 seconds) 2020-12-14T13:23:32Z dim joined #lisp 2020-12-14T13:24:39Z orivej joined #lisp 2020-12-14T13:27:56Z fanta1 joined #lisp 2020-12-14T13:31:06Z EvW joined #lisp 2020-12-14T13:34:19Z Codaraxis quit (Remote host closed the connection) 2020-12-14T13:34:42Z Codaraxis joined #lisp 2020-12-14T13:41:54Z Codaraxis quit (Remote host closed the connection) 2020-12-14T13:42:13Z Codaraxis joined #lisp 2020-12-14T13:44:05Z Codaraxis quit (Remote host closed the connection) 2020-12-14T13:44:06Z jonathan| joined #lisp 2020-12-14T13:44:25Z Codaraxis joined #lisp 2020-12-14T13:44:53Z harlchen: deleted all old .fasl and it works , i guess some link went stale 2020-12-14T13:45:47Z wsinatra joined #lisp 2020-12-14T13:47:40Z harlchen: but an interesting debugging excursus 2020-12-14T13:48:25Z hendursa1 quit (Quit: hendursa1) 2020-12-14T13:48:45Z hendursaga joined #lisp 2020-12-14T13:50:12Z Codaraxis quit (Remote host closed the connection) 2020-12-14T13:50:31Z Codaraxis joined #lisp 2020-12-14T13:50:44Z kenran: dang, I can't decide which language to use for a "recreational" terminal emulator... It seems like lisp has the most mature libraries to use, that is, seemingly a good freetype wrapper, and nice graphics stuff as well as good c ffi in general. but I'm a little turned off by how large the executables seem to become. 2020-12-14T13:51:04Z kenran: do you think it's worth trying different compilers? So far I've only given sbcl a try. 2020-12-14T13:51:12Z phoe: did you use core compression with SBCL? 2020-12-14T13:51:19Z orivej_ joined #lisp 2020-12-14T13:51:27Z orivej quit (Ping timeout: 260 seconds) 2020-12-14T13:51:33Z phoe: if not, try to use it, and then compare the sizes. 2020-12-14T13:51:53Z jackdaniel: kenran: ecl produces small binaries and levereges shared library model (the implementation is a shared library itself) if you are that much concerned about size 2020-12-14T13:52:04Z kenran: phoe: that's on my list to try. there's no terminal yet, so it's not much use only looking at my hello world stuff :D 2020-12-14T13:52:06Z jackdaniel: that said, given we have 1tb drives practically for free nowday 2020-12-14T13:52:28Z jackdaniel: having a binary taking 100mb is like a binary taking 1mb on back-then 1gb drives 2020-12-14T13:52:44Z jackdaniel: s/100mb/1gb/ 2020-12-14T13:52:53Z jackdaniel: so come on, don't be that cheap! ;-) 2020-12-14T13:53:07Z kenran: I'm actually not much concerned about executables being 30mb+ in size, as you said, that's not much of a problem at all nowadays (I haven't checked how big those electron-based things even are) 2020-12-14T13:53:35Z EvW quit (Ping timeout: 258 seconds) 2020-12-14T13:53:39Z kenran: I think I'm just subconsciously looking for reasons to switch languages all the time and never doing the hard work... 2020-12-14T13:53:47Z jackdaniel: ah 2020-12-14T13:54:27Z jackdaniel: either way, I wouldn't bother with how much executables take produced by sbcl (and if you are i.e because you have 128mb nand flash on the embedded device, switch to i.e ecl) 2020-12-14T13:54:38Z kenran: I'm really interested in CL though, as I like the interactive way of development via REPL very much. I've only recently begun doing functional programming at my job 2020-12-14T13:55:05Z jackdaniel: common lisp does not encourage functional programming in any particular way 2020-12-14T13:55:26Z Nilby: I guarantee the executable size of a terminal emulator in C/C++ is the same or bigger if you include the shared libraries and development system. 2020-12-14T13:55:38Z kenran: ah yeah ofc, but I learned FP via racket and haskell, and then used clojure a bit. so I learned to love LISPs :) 2020-12-14T13:56:12Z jackdaniel: (there are a few common lisp libraries which embrace that particular kind of the programming style, but they are in minority given sheer volume of different libraries in the ecosystem) 2020-12-14T13:56:15Z kenran: but I'm still not hating on OOP, so CL seems like a great language to do "what fits the problems" 2020-12-14T13:58:23Z galex-713 quit (Ping timeout: 272 seconds) 2020-12-14T13:58:36Z kenran: the idea would be to learn a bit about: low-level and POSIX stuff, graphics stuff via opengl, maybe vulkan later? performance would be a small concern, but learning is the main goal. It feels like CL is just a great language (on paper, as I haven't done enough with it yet) to do all that and learn a lot. 2020-12-14T13:59:02Z dmiles quit (Ping timeout: 260 seconds) 2020-12-14T13:59:15Z kenran: my boss is a scheme/racket guy though, so he's hating on CL a bit :D no reason not to learn it for me in any way 2020-12-14T14:00:58Z dmiles joined #lisp 2020-12-14T14:01:40Z jackdaniel: usually people I've met who use scheme/recket are not really hating cl, they just love their language (and vice versa) 2020-12-14T14:02:22Z kenran: 'hating' was a rough term, yes, but there were a couple of 'derogatory' comments (in good humour though) 2020-12-14T14:02:24Z jackdaniel: I think that language-wars were a thing in the past, but I have not witnessed any (escept for trolling and innocent jokes) 2020-12-14T14:03:08Z jackdaniel: and somewhat biased framing of concepts: hygienic macros vs non-higienic macros (from my perspective they are sterile macros vs organic macros :) 2020-12-14T14:03:54Z kenran: ha, I have to write that down :) a colleague of mine is often talking about this and he'd surely love to hear this perspective 2020-12-14T14:04:13Z gaqwas joined #lisp 2020-12-14T14:04:13Z gaqwas quit (Changing host) 2020-12-14T14:04:13Z gaqwas joined #lisp 2020-12-14T14:04:27Z jackdaniel: be my guest ,) 2020-12-14T14:05:00Z bitmapper joined #lisp 2020-12-14T14:05:54Z olle joined #lisp 2020-12-14T14:06:51Z lucasb joined #lisp 2020-12-14T14:08:02Z Nilby: jackdaniel: ^ Comma not inside a backquote. 2020-12-14T14:08:30Z jackdaniel: that's how I invoke commands at top-level 2020-12-14T14:10:17Z hal99999 joined #lisp 2020-12-14T14:10:34Z Nilby: sorry I got syntax triggered. I guess I should sya ,sayonara 2020-12-14T14:11:06Z aartaka_d joined #lisp 2020-12-14T14:14:12Z aartaka quit (Ping timeout: 260 seconds) 2020-12-14T14:21:58Z nij joined #lisp 2020-12-14T14:22:38Z aartaka_d quit (Ping timeout: 260 seconds) 2020-12-14T14:36:19Z aartaka joined #lisp 2020-12-14T14:43:59Z X-Scale` joined #lisp 2020-12-14T14:46:34Z X-Scale quit (Ping timeout: 260 seconds) 2020-12-14T14:46:34Z X-Scale` is now known as X-Scale 2020-12-14T14:51:48Z ex_nihilo joined #lisp 2020-12-14T14:52:07Z ex_nihilo__ quit (Ping timeout: 260 seconds) 2020-12-14T14:53:52Z hal99999 quit (Ping timeout: 260 seconds) 2020-12-14T14:56:57Z dbotton joined #lisp 2020-12-14T14:58:50Z hal99999 joined #lisp 2020-12-14T15:02:54Z Stanley00 joined #lisp 2020-12-14T15:09:31Z waleee-cl joined #lisp 2020-12-14T15:12:28Z nij left #lisp 2020-12-14T15:15:57Z skapata joined #lisp 2020-12-14T15:17:43Z yitzi quit (Quit: yitzi) 2020-12-14T15:18:36Z luckless quit (Remote host closed the connection) 2020-12-14T15:19:05Z luckless joined #lisp 2020-12-14T15:19:06Z aartaka quit (Read error: Connection reset by peer) 2020-12-14T15:19:23Z aartaka joined #lisp 2020-12-14T15:19:50Z Codaraxis quit (Ping timeout: 256 seconds) 2020-12-14T15:21:26Z Codaraxis joined #lisp 2020-12-14T15:25:09Z gko_ joined #lisp 2020-12-14T15:26:48Z Codaraxis quit (Ping timeout: 260 seconds) 2020-12-14T15:28:43Z Codaraxis joined #lisp 2020-12-14T15:29:53Z sjl joined #lisp 2020-12-14T15:30:11Z kapil_ quit (Quit: ZNC 1.7.5 - https://znc.in) 2020-12-14T15:32:06Z kapil_ joined #lisp 2020-12-14T15:35:06Z reis_r joined #lisp 2020-12-14T15:45:06Z entre-parenteses joined #lisp 2020-12-14T15:45:44Z galex-713 joined #lisp 2020-12-14T15:49:36Z sjl quit (Quit: WeeChat 2.3-dev) 2020-12-14T15:57:37Z Aurora_v_kosmose quit (Quit: Пока, мир.) 2020-12-14T15:59:21Z andreyorst` quit (Quit: andreyorst`) 2020-12-14T15:59:25Z dbotton quit (Quit: This computer has gone to sleep) 2020-12-14T15:59:28Z jibanes quit (Ping timeout: 272 seconds) 2020-12-14T16:00:12Z andreyorst joined #lisp 2020-12-14T16:01:00Z jibanes joined #lisp 2020-12-14T16:03:30Z hnOsmium0001 joined #lisp 2020-12-14T16:05:21Z Aurora_v_kosmose joined #lisp 2020-12-14T16:07:10Z sjl joined #lisp 2020-12-14T16:09:23Z a0 quit (Ping timeout: 240 seconds) 2020-12-14T16:10:52Z dbotton joined #lisp 2020-12-14T16:11:27Z Codaraxis quit (Ping timeout: 260 seconds) 2020-12-14T16:11:57Z terrorjack joined #lisp 2020-12-14T16:11:58Z igemnace quit (Remote host closed the connection) 2020-12-14T16:12:55Z Codaraxis joined #lisp 2020-12-14T16:13:28Z Cymew quit (Ping timeout: 260 seconds) 2020-12-14T16:16:21Z yonkunas joined #lisp 2020-12-14T16:16:30Z madand_ quit (Quit: ZNC 1.8.2 - https://znc.in) 2020-12-14T16:17:58Z jibanes quit (Ping timeout: 256 seconds) 2020-12-14T16:18:07Z madand joined #lisp 2020-12-14T16:18:16Z Codaraxis quit (Ping timeout: 240 seconds) 2020-12-14T16:19:39Z jibanes joined #lisp 2020-12-14T16:21:56Z Codaraxis joined #lisp 2020-12-14T16:29:14Z dbotton quit (Quit: This computer has gone to sleep) 2020-12-14T16:30:30Z jibanes quit (Ping timeout: 256 seconds) 2020-12-14T16:31:39Z OptimusMKD joined #lisp 2020-12-14T16:32:11Z jibanes joined #lisp 2020-12-14T16:32:46Z rogersm_ joined #lisp 2020-12-14T16:32:47Z rogersm_ quit (Client Quit) 2020-12-14T16:34:58Z rogersm quit (Ping timeout: 258 seconds) 2020-12-14T16:37:15Z reis_r quit (Quit: Leaving) 2020-12-14T16:40:04Z Steeve joined #lisp 2020-12-14T16:40:37Z ljavorsk quit (Ping timeout: 260 seconds) 2020-12-14T16:42:53Z nij joined #lisp 2020-12-14T16:43:27Z nij: I have written a print-function for my structure DATE. https://bpa.st/U7IQ 2020-12-14T16:43:49Z nij: How do I transform an instance of DATE into a string, as printed? 2020-12-14T16:44:17Z dbotton joined #lisp 2020-12-14T16:44:17Z phoe: clhs prin1-to-string 2020-12-14T16:44:18Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_wr_to_.htm 2020-12-14T16:44:49Z nij: This is the cleanest way? 2020-12-14T16:45:17Z jibanes quit (Ping timeout: 260 seconds) 2020-12-14T16:45:37Z phoe: https://plaster.tymoon.eu/view/2192#2192 2020-12-14T16:45:39Z phoe: yes 2020-12-14T16:45:53Z phoe: but beware, this format is not going to be readable back into Lisp. 2020-12-14T16:46:15Z phoe: I'd try using print-unreadable-object to get something like # instead. 2020-12-14T16:46:47Z jibanes joined #lisp 2020-12-14T16:48:50Z luckless_ joined #lisp 2020-12-14T16:49:13Z nij: Readable? 2020-12-14T16:50:48Z aeth: my guess is something like (read-from-string "#") 2020-12-14T16:50:54Z lotuseater: phoe means like having #S for reading in structs 2020-12-14T16:50:55Z aeth: or, of course, just literally using it in source 2020-12-14T16:51:10Z phoe: readable, as in, understandable by CL:READ 2020-12-14T16:51:23Z gko_ quit (Ping timeout: 260 seconds) 2020-12-14T16:51:50Z sookablyat: guys is there anything similar to racket universe libraries to make games in a functional way? 2020-12-14T16:52:01Z nij: Oh yeah.. I want to print that into a text file :) so I think I'm fine. 2020-12-14T16:52:16Z jibanes quit (Ping timeout: 240 seconds) 2020-12-14T16:52:23Z nij: sookablyat: #racket? 2020-12-14T16:52:23Z luckless quit (Ping timeout: 240 seconds) 2020-12-14T16:53:16Z jibanes joined #lisp 2020-12-14T16:54:00Z sookablyat: nij, i think that in order to search something in lisp i should ask in #lisp 2020-12-14T16:54:22Z dbotton_ joined #lisp 2020-12-14T16:54:41Z beach: nij: I think sookablyat is asking all male #lisp participants who also know Racket about a library for Common Lisp that is described by a Racket library. 2020-12-14T16:57:05Z ex_nihilo quit (Quit: Leaving) 2020-12-14T16:57:32Z dbotton quit (Ping timeout: 260 seconds) 2020-12-14T16:58:00Z nij: oh! 2020-12-14T16:58:07Z aeth quit (Ping timeout: 260 seconds) 2020-12-14T16:59:27Z aeth joined #lisp 2020-12-14T16:59:46Z easye: nij: #lisp is (mostly) Common Lisp specific. Maybe you can help those of us who don't know Racket that well what the set "racket universe libraries" contains? 2020-12-14T17:00:25Z beach: easye: Aww, you don't know that one? 2020-12-14T17:00:38Z easye: heh 2020-12-14T17:01:02Z jibanes quit (Ping timeout: 260 seconds) 2020-12-14T17:01:13Z beach: #lisp participants are supposed to know not only Racket, but also Clojure, Java, JavaScript, Python, C, and C++. 2020-12-14T17:01:23Z aeth: sookablyat: Common Lisp is about doing things efficiently in whichever paradigm is suitable for the task, and for games, that's certainly *not* a pure functional style with lots of immutable data structures being created and destroyed 30+ times a second. 2020-12-14T17:01:42Z easye: I try, but struggle in forgetting all the stuff I remember. 2020-12-14T17:02:44Z jibanes joined #lisp 2020-12-14T17:02:48Z lotuseater: oh i must learn Java and JS? :D 2020-12-14T17:04:27Z Nilby: Of course we know every blub language: blub.blub(blub+blub()); 2020-12-14T17:04:31Z nij: How did people make games in haskell then? Eg. https://soupi.github.io/rfc/pfgames/ 2020-12-14T17:05:47Z olle: nij: the game engine is probably in C 2020-12-14T17:05:51Z olle: the rendering parts 2020-12-14T17:05:57Z aeth: nij: Three points. One, people there care about optimizing something that's inherently the suboptimal way to do it (not just pure FP, also lazy evaluation). Two, the compiler helps out by optimizing immutable data structures (while CL doesn't even really let you declare anything as immutable). Three, almost certainly 2D games. You can do things the "wrong" way in 2D because computers today are so much faster than 80s computers. 2020-12-14T17:06:15Z lotuseater: nij: maybe with lenses? :) 2020-12-14T17:06:47Z aeth: And, yeah, the rendering parts either have to be in C/C++ (probably the latter) or they have to be written in a heavily mutable, non-idiomatic style and wrapped. (Even CL engines do the latter, even though mutability itself isn't non-idiomatic in CL.) 2020-12-14T17:06:49Z shka_: why would you write game in a functional style? 2020-12-14T17:06:52Z lotuseater: see this: https://github.com/rainbyte/frag 2020-12-14T17:06:55Z shka_: there is little benefits to it 2020-12-14T17:07:34Z shka_: unless you are doing something weird 2020-12-14T17:07:39Z olle: aeth: the language Clean allow for destructive update, by opt-in ownership system. 2020-12-14T17:07:48Z olle: So in such a language, maybe. 2020-12-14T17:07:54Z aeth: Writing a game in a *declarative* style has many benefits, but functional is a poor fit for the domain imo. 2020-12-14T17:08:04Z davros: quite a lot of a game can look good in FP, its just the low level side of rendering (filling command buffers etc) that looks ugly there 2020-12-14T17:08:06Z aeth: Alternatively, you can write an entire language implementation around it. 2020-12-14T17:08:17Z aeth: There is a 3D engine in Haskell, though, afaik. 2020-12-14T17:08:23Z davros: shaders are pretty much pure functional, and physics update looks good too 2020-12-14T17:08:32Z aeth: Yeah, I was about to bring up shaders. 2020-12-14T17:08:42Z aeth: Writing a pure FP shader language is totally doable. 2020-12-14T17:08:47Z davros: next_frame_state = pure_fundction(inputs, previous_frame_state) 2020-12-14T17:08:48Z madage quit (Remote host closed the connection) 2020-12-14T17:08:56Z aeth: C is a really poor fit for shaders, and stuff like GLSL are unnecessarily confusing because of it. 2020-12-14T17:09:06Z aeth: The model isn't anything close to C, it's just what people are familiar with. 2020-12-14T17:09:22Z davros: i've grown up around C so it looks good to me but i know what you're saying 2020-12-14T17:09:36Z andreyorst quit (Quit: andreyorst) 2020-12-14T17:09:43Z davros: shader language is "C-inspired" rathat than really being C with all the pointer stuff 2020-12-14T17:09:43Z nij: I have no idea what you folks are saying.. nevermind :'( 2020-12-14T17:09:57Z lotuseater: yeah it's quite about using functional programming concepts at the right parts 2020-12-14T17:10:06Z andreyorst joined #lisp 2020-12-14T17:10:19Z aeth: davros: Yeah, GLSL has no pointers, but is otherwise very C-style, with a bunch of implicit, hidden global variables that you set. 2020-12-14T17:10:33Z davros: john carmack pointed out.. a game state is really a few mb out of gigabytes of RAM these days. there'd be no harm in keeping the whole previous frame gamestate around immutable, read only, for update to generate the next frame 2020-12-14T17:10:48Z davros: aeth yeah thats ugly 2020-12-14T17:10:51Z aeth: In reality, you can think of shaders as function-like objects (instead of tiny programs with hidden globals), where the "globals" are now the inputs and the outputs 2020-12-14T17:11:06Z aeth: And that means put all of the inputs and outputs at the top imo. 2020-12-14T17:11:06Z davros: i really think of that as a hack for getting multiple values out 2020-12-14T17:11:11Z shka_: davros: the point is: why bother? 2020-12-14T17:11:16Z davros: its really like "writing to those is the return values" 2020-12-14T17:11:18Z shka_: what are you even getting out of it 2020-12-14T17:11:19Z shka_: ? 2020-12-14T17:11:22Z jibanes quit (Ping timeout: 246 seconds) 2020-12-14T17:11:26Z davros: shka_, massive parallelism 2020-12-14T17:11:37Z shka_: in a game state? 2020-12-14T17:11:42Z shka_: :P 2020-12-14T17:11:44Z davros: and the solidity of FP generally 2020-12-14T17:11:51Z davros: yes, a game state is a lot of objects that can update in parallel 2020-12-14T17:11:51Z shka_: IN A GAME STATE? 2020-12-14T17:12:16Z shka_: i am not buying this 2020-12-14T17:12:23Z davros: game update can get quite intensive if you want huge physics and AI 2020-12-14T17:12:31Z aeth: davros: you do keep the previous state around in any networked game since you need to compensate for the finite speed of light introducing latency that's usually much larger than any frame is. Unless your ping is < 20 ms, of course. 2020-12-14T17:12:35Z davros: the ambition is there to do it massively parallel 2020-12-14T17:12:39Z aeth: (But even then, most of your frame time would be eaten by the lag.) 2020-12-14T17:12:45Z shka_: i mean, FP is good fit for a lot of things, but for games? 2020-12-14T17:12:46Z shka_: nah 2020-12-14T17:12:58Z shka_: unless you need something weird 2020-12-14T17:13:12Z shka_: for instance you need reservable game state 2020-12-14T17:13:18Z shka_: or something like that 2020-12-14T17:13:18Z jibanes joined #lisp 2020-12-14T17:13:22Z davros: shka_ it's a good fit for large parts of games . i agree trying to do rendering code gets ugly in haskell though, that's where I stalled. (haskel gl bindings are just horrible) 2020-12-14T17:13:23Z aeth: shka_: FP can work in places, like shaders. 2020-12-14T17:13:35Z davros: it can work in game update too with previous immutable frame :) 2020-12-14T17:13:49Z aeth: But asking for a fully immutable game engine would be like asking for a fully immutable database or something. 2020-12-14T17:14:10Z aeth: Clearly, a database is all about state, so you're going to have to break that fiction somewhere. 2020-12-14T17:14:14Z davros: Rust is a really nice sweetspot, imperative with a good pure subset (more solid than C/C++ with const, because rust immutable realyl does mean immutable) 2020-12-14T17:14:14Z shka_: davros: i want to point out, that this immutable game state means that every update will cons 2020-12-14T17:14:28Z shka_: which may or may not be a problem 2020-12-14T17:14:35Z davros: every update will consturct a new frame - yes , thats no problem really 2020-12-14T17:14:50Z shka_: anyway, i don't buy functional video game concept 2020-12-14T17:14:51Z davros: 4gb of game state typically - double buffering it for parallel update is probably needed anyway 2020-12-14T17:15:01Z shka_: for stuff like aviation software? 2020-12-14T17:15:29Z shka_: sure, FP and formal validation is really compelling 2020-12-14T17:15:30Z aeth: davros: Written naively, it's not that every update cycle will cons, it's that every single update operation will cons, which is... probably several tens of thousands of times more consing at a minimum. 2020-12-14T17:15:40Z shka_: video games? nah 2020-12-14T17:15:59Z davros: aeth / shka_ are you talking about a specific way of doing it in lisp ("cons") ?? 2020-12-14T17:16:15Z shka_: davros: cons has two meaning in lisp world 2020-12-14T17:16:19Z davros: just blasting out a new gamestate from reading an old one should not be a problem 2020-12-14T17:16:20Z shka_: or even three actually 2020-12-14T17:16:37Z shka_: there is CONS data type, there is a CONS function, and there is general verb consing 2020-12-14T17:16:39Z aeth: davros: "cons" = allocate new things on the garbage collected heap, potentially triggering a new GC pause which will stop the world for potentially longer than the time you have to do a frame's worth of calculations 2020-12-14T17:16:44Z davros: 4mb, even copying the unchanging parts, out of 4+gigs of ram is not a problem 2020-12-14T17:16:45Z shka_: that translates to allocation for normal people 2020-12-14T17:17:09Z madage joined #lisp 2020-12-14T17:17:14Z davros: i'm pretty sure GC could be given usful per-frame hints or something 2020-12-14T17:17:16Z aeth: It's called consing because the easiest way to cons is to just (cons :foo whatever) and add a tag in front of whatever 2020-12-14T17:17:19Z aeth: I'm guessing. 2020-12-14T17:17:50Z shka_: aeth: i suspect that this comes from waaaay back LISP 1.0 2020-12-14T17:18:13Z shka_: but it stucked 2020-12-14T17:18:18Z aeth: davros: as for giving the GC hints... that's... kind of what I said something along the lines of "you could probably write a whole language implementation around it" 2020-12-14T17:18:25Z aeth: It's too niche to be supported in a mainstream implementation, though 2020-12-14T17:18:25Z davros: ok 2020-12-14T17:18:58Z davros: realtime interactice is pretty important these days eg phone UI's are all animated, and AR/VR might get more popular 2020-12-14T17:19:37Z shka_: anyway, the cool thing about the common lisp is that it does not force you in a specific direction 2020-12-14T17:19:40Z davros: ah this conversation is happeningin #lisp sorry i thought i was talknig in #gamedev lmao. hence the lispy focus 2020-12-14T17:19:42Z shka_: this has some drawbacks 2020-12-14T17:19:42Z aeth: Languages like Haskell are superior for immutable FP over languages like Common Lisp because the Haskell compiler will optimize away a lot of the "consing", while the CL one won't since there's no guaranteed immutability except for literals that don't leave the scope of a function (since literals aren't tagged and are thus only immutable by convention because they'll cause issues if you mutate them) 2020-12-14T17:19:58Z shka_: but most of the time it is beyond useful 2020-12-14T17:20:08Z X-Scale` joined #lisp 2020-12-14T17:20:14Z aeth: However, Haskell isn't optimized for real time or gamedev, so it won't necessarily make the correct decisions if you wanted to write a full FP game engine. 2020-12-14T17:20:24Z aeth: So if you wanted to write a full FP game engine, the first step would probably be to write a full language. 2020-12-14T17:20:50Z shka_: ... or use CL and isolate mutable parts manually 2020-12-14T17:20:55Z aeth: Or at least e.g. a CL implementation that makes the right tradeoffs for GC and adds the right immutability/pure declarations 2020-12-14T17:21:27Z X-Scale quit (Ping timeout: 260 seconds) 2020-12-14T17:21:27Z X-Scale` is now known as X-Scale 2020-12-14T17:21:34Z shka_: CL allows you to do evil things, like for instance have a memory pool for game states 2020-12-14T17:21:39Z aeth: shka_: Fully pure FP can only be done if the mutability is outsourced to the language implementation level, since you're going to have to cheat at some point. I guess you could also do it at the hardware level, of course, but that would be the most C CISC ever so it's not a popular idea in the era of RISCs. 2020-12-14T17:22:22Z lotuseater: aeth: as i said above, don't forget about lenses 2020-12-14T17:22:35Z shka_: aeth: sure, but my point is that you don't even have to be 100% pure FP to have 99% benefits of FP 2020-12-14T17:22:53Z shka_: so that's why i prefer hybrid approach 2020-12-14T17:23:33Z aeth: Yes, but these days, most people talk about "FP" as in immutable data structures while in CL game engines, you're probably doing "FP" as in pure functions being used purely for their return values, which will ultimately end up in mutable data structures for efficiency. 2020-12-14T17:23:41Z aeth: The most trivial example, of course, is + 2020-12-14T17:23:45Z shka_: sure 2020-12-14T17:23:58Z shka_: and as long interfaces are done right, it is fine 2020-12-14T17:24:04Z olle: https://clean.cs.ru.nl/Language_features 2020-12-14T17:24:11Z shka_: stop worry, embrace the mutation! :P 2020-12-14T17:24:55Z jprajzne quit (Quit: jprajzne) 2020-12-14T17:24:58Z shka_: boycott the purity! 2020-12-14T17:25:10Z jackdaniel: and don't eat the yellow snow 2020-12-14T17:25:19Z shka_: yeah, that as well 2020-12-14T17:25:30Z lotuseater: and dynamic strong typing even fits game writing better imo 2020-12-14T17:26:44Z jibanes quit (Ping timeout: 240 seconds) 2020-12-14T17:26:52Z aeth: As for types... It really depends on the part of the engine you're writing. You want to precompute as much as possible, which means writing tons of macros, and there, the type doesn't really matter since most of the time you only really care if it's a list or not. 2020-12-14T17:27:36Z aeth: But the part that most people would probably write in C or C++... that's probably very C-like. Including full type declarations, using structs with slots with :type in them, using arrays of single-float or some optimized finite integer size, etc. 2020-12-14T17:27:51Z aeth: And most places are somewhere in between. CL, of course, lets you do it all. 2020-12-14T17:27:52Z davros: i do prefer to qualify "pureFP" 2020-12-14T17:29:19Z jibanes joined #lisp 2020-12-14T17:29:48Z jprajzne joined #lisp 2020-12-14T17:29:54Z olle quit (Ping timeout: 260 seconds) 2020-12-14T17:30:08Z slyrus joined #lisp 2020-12-14T17:30:08Z shka_: davros: well, i can't convince you 2020-12-14T17:31:08Z davros: what can i say .. i code in c++ and i'm always trying to increase the amout of read-onlyness to increase parallelisability .. 2020-12-14T17:31:35Z davros: i was convinced of the potential for pure FP when the xbox360 and PS3 hit us some years ago 2020-12-14T17:31:58Z davros: "write efficient code for modern parallel machiens" = "make as much of it as pure-functional as you can" 2020-12-14T17:32:21Z adlai: some sorta compromise: keep a fixed number of state, and compute as much as possible of your algorithms in-place; the leftover bits of consing, in the actual, might be small enough that you can afford the default GC 2020-12-14T17:32:23Z davros: doing explicit double-buffering in c++ is an option 2020-12-14T17:32:34Z Steeve quit (Quit: end) 2020-12-14T17:32:36Z adlai: fixed number of frames 2020-12-14T17:32:37Z jackdaniel: wasn't it rather mutate in a map-reduce fashion though? 2020-12-14T17:32:38Z ebrasca quit (Read error: No route to host) 2020-12-14T17:32:39Z jasom: davros: the problem is allocations are expensive and a simulation (like a game) involves generating sequences of rapidly changing world states; doing that with mutation reduces allocations greatly 2020-12-14T17:32:54Z ebrasca joined #lisp 2020-12-14T17:33:08Z dvdmuckle quit (Quit: Bouncer Surgery) 2020-12-14T17:33:50Z davros: there's a middle ground if the data is well organise ,e.g. 'generate a new versino of a collection' (array = 1 allocation for many things) 2020-12-14T17:34:01Z White_Flame: davros: modern parallel machines also all compete for the same memory bus 2020-12-14T17:34:11Z toorevitimirp quit (Quit: Konversation terminated!) 2020-12-14T17:34:13Z davros: and the optino of explicitly doublebuffering (previous and next) 2020-12-14T17:34:45Z dvdmuckle joined #lisp 2020-12-14T17:34:45Z White_Flame: as well as shared cache pools 2020-12-14T17:34:49Z davros: update in place is ok but precludes the abiltiy to read anything from the other objects, so you need to have seperated out quite a bit of functionality for that to work in parallel 2020-12-14T17:34:52Z jibanes quit (Ping timeout: 260 seconds) 2020-12-14T17:35:24Z jibanes joined #lisp 2020-12-14T17:35:44Z jasom: davros: pipelining is one solution to this (perhaps that's what you mean by double-buffering?) 2020-12-14T17:36:48Z aeth: davros: Well-written games have two timers going simultaneously. The logic is probably going at 100 FPS (10 ms) or 50 FPS (20 ms) while the rendering is probably going somewhere between 30 FPS (33.3 ms) and 144 FPS (6.9 ms) 2020-12-14T17:36:55Z jmercouris: P I P E L I N I N G 2020-12-14T17:36:59Z ebrasca quit (Read error: Connection reset by peer) 2020-12-14T17:37:12Z ebrasca joined #lisp 2020-12-14T17:37:13Z aeth: davros: It doesn't sound like a lot, but computers are fast, so you can do an incredible amount of stuff in a few ms 2020-12-14T17:37:17Z jmercouris: and they are also usually two different threads, not just timers 2020-12-14T17:37:22Z aeth: But... that's assuming you write it in an optimized, mutable way. 2020-12-14T17:37:46Z jmercouris: though I should say, OFTEN enough, theree is a single thread... 2020-12-14T17:38:11Z davros: if you want a seperate render thraed, stratigh away you need to make some sort of immutable copy (or generate some output) for the rendering to be reading. double buffering could come into this in many ways sure 2020-12-14T17:38:15Z aeth: jmercouris: If it runs on a single thread, and most things you'd want to do will, then multithreading it will just slow it down. 2020-12-14T17:38:22Z toorevitimirp joined #lisp 2020-12-14T17:38:31Z davros: i need to draw a timeline to explain clearly 2020-12-14T17:38:38Z Inline joined #lisp 2020-12-14T17:38:38Z jmercouris: aeth: I don't think we can say that with certainty 2020-12-14T17:38:43Z aeth: Most game simulations don't really do that much. You'll only have a few moving objects. 2020-12-14T17:38:57Z jmercouris: lots of collision bounding checks depending on the genre 2020-12-14T17:38:59Z aeth: jmercouris: Yes, certainly. Unless your architecture was bad in the first place. It'll add overhead. 2020-12-14T17:39:01Z davros: depends on the game, games can get insanely complex 2020-12-14T17:39:27Z jmercouris: ah the good old days when I was writing game engines 2020-12-14T17:39:31Z jmercouris: so glad those days are behind me 2020-12-14T17:39:34Z ebrasca quit (Read error: Connection reset by peer) 2020-12-14T17:39:46Z jackdaniel: how many did you write? 2020-12-14T17:39:51Z ebrasca joined #lisp 2020-12-14T17:39:53Z jmercouris: 2 2020-12-14T17:40:10Z jibanes quit (Ping timeout: 272 seconds) 2020-12-14T17:40:18Z aeth: davros: Genres that require complicated CPU computations aren't really popular because they can only run on desktops/laptops, which is just a fraction of the market. A huge fraction, but still a fraction. https://i.redd.it/7e4t7o4irk161.jpg 2020-12-14T17:40:30Z EvW joined #lisp 2020-12-14T17:40:40Z davros: aeth consoles 2020-12-14T17:40:42Z aeth: Graphics quality can be scaled up/down based on the platform, so games are far more likely to push the graphics to the limit. 2020-12-14T17:40:50Z davros: consoles are quite powerful,and theyre all multicore 2020-12-14T17:41:01Z beach: Maybe there are more game engines than games not only in Common Lisp, but in general? 2020-12-14T17:41:12Z pfdietz quit (Remote host closed the connection) 2020-12-14T17:41:23Z dbotton__ joined #lisp 2020-12-14T17:41:23Z davros: sure there's more game engines in rust than games in rust 2020-12-14T17:41:24Z jibanes joined #lisp 2020-12-14T17:41:27Z jmercouris: different cores are used for general I/O mostly I believe 2020-12-14T17:41:34Z jmercouris: one core to load assets, one for networking, etc 2020-12-14T17:41:35Z aeth: davros: All of the consoles were quite weak in the CPU department relative to comparable PCs. Or if not necessarily weak, then at least too weird to be worth learning (e.g. PS3) 2020-12-14T17:41:48Z jmercouris: the game loads themselves are still typically not utilizing multiple threads well 2020-12-14T17:41:56Z davros: the fact that consoles went multicore a few gens ago forced the games industry to write parallelisable code 2020-12-14T17:42:30Z davros: xbox 360/ps3 was the transition (3, cores and the weird spus on the ps3) ps4/xbox-one were 8 core, and now we're onto the ps5 2020-12-14T17:42:41Z aeth: davros: Sure, the Xbox One has an "8-core" CPU, but it's an "8-core" CPU from an architecture family so bad that it almost killed AMD... And I put "8-core" in quotes because AMD lost a lawsuit... They're sort of 8 and sort of 4 cores; they're only 4 cores relative to the FPU, which games absolutely use. 2020-12-14T17:42:52Z aeth: PS4 is identical. 2020-12-14T17:43:01Z davros: 4 cores with 2 threads whatever it is - 8 threads 2020-12-14T17:43:05Z nij: Are there functions or macros that turn a list into an ascii spread sheet? https://bpa.st/UOYA 2020-12-14T17:43:16Z aeth: So, they were 8* cores (* actually 4 for the part that's important for games, and a contemporary Intel quad core would demolish it) 2020-12-14T17:43:28Z davros: point is this is the situation for over 10 years.. cutting edge games went multicore long ago 2020-12-14T17:43:37Z aeth: davros: No, it wasn't even SMT. It was 8 integer units and 4 FPUs. Games use floats way more than ints. 2020-12-14T17:43:38Z phoe: nij: you want to format tables or some sort 2020-12-14T17:43:44Z phoe: hmmmmm 2020-12-14T17:43:48Z aeth: It was a really weird, failure of an architecture. 2020-12-14T17:44:09Z aeth: This new generation is the first generation where powerful PC CPUs are actually in the "basically just PC" consoles. 2020-12-14T17:44:09Z davros: even if its 4 cores.. thats a need for 4 threads 2020-12-14T17:44:12Z phoe gently nudges console talk towards #lispcafe 2020-12-14T17:44:14Z nij: phoe: Oh the term I missed is "table".. 2020-12-14T17:44:37Z phoe: nij: https://40ants.com/lisp-project-of-the-day/2020/05/0084-cl-ascii-table.html 2020-12-14T17:44:47Z dbotton_ quit (Ping timeout: 260 seconds) 2020-12-14T17:45:07Z aeth: davros: The thing is, with quad cores you can have a main thread and some helper threads. It's only since 2017 that we're starting to approach manycore, forcing people to actually have a properly-designed 2-to-infinity threading architecture. 2020-12-14T17:45:11Z nij: FANTASTIC. 2020-12-14T17:45:23Z nij: I kept searching term like ascii columns, ascii spread sheets.. 2020-12-14T17:45:33Z aeth: (The main thread in a designed-for-quad-cores program is a bottleneck that bottlenecks things by the per-core performance.) 2020-12-14T17:46:13Z davros: aeth quad core is enough for "real" threaded architecture to work well and people (admittedly not everyone) have been doing that since the xbox 360 (with 3=6 threads) 2020-12-14T17:46:34Z nij: Ascii anything is duper lovely. 2020-12-14T17:46:39Z phoe gently nudges aeth and davros towards #lispcafe 2020-12-14T17:46:54Z aeth: Yes, you can have a real threaded architecture on a quad core, but it's harder than having a main thread bottleneck, so what we're seeing is that people didn't start caring about doing things properly until 2017, even though a real architecture can scale down to 4 (or 2) cores and an improper architecture can't really scale up well. 2020-12-14T17:47:04Z davros: we are in #gamedev - we can continue this discussion there 2020-12-14T17:47:12Z phoe: that also works! 2020-12-14T17:47:24Z aeth: davros: well, more #lispgames than anything else 2020-12-14T17:48:34Z wsinatra quit (Read error: Connection reset by peer) 2020-12-14T17:53:14Z nij left #lisp 2020-12-14T17:54:54Z jprajzne quit (Quit: jprajzne) 2020-12-14T17:56:14Z aartaka_d joined #lisp 2020-12-14T17:56:26Z wsinatra joined #lisp 2020-12-14T17:59:49Z jprajzne joined #lisp 2020-12-14T18:00:02Z aartaka quit (Ping timeout: 256 seconds) 2020-12-14T18:02:56Z jibanes quit (Ping timeout: 240 seconds) 2020-12-14T18:05:11Z jibanes joined #lisp 2020-12-14T18:12:12Z jibanes quit (Ping timeout: 260 seconds) 2020-12-14T18:13:42Z jibanes joined #lisp 2020-12-14T18:14:54Z jprajzne quit (Quit: jprajzne) 2020-12-14T18:16:40Z defunkydrummer joined #lisp 2020-12-14T18:19:51Z jprajzne joined #lisp 2020-12-14T18:27:18Z greisean joined #lisp 2020-12-14T18:29:37Z housel joined #lisp 2020-12-14T18:39:51Z jprajzne quit (Quit: jprajzne) 2020-12-14T18:40:17Z jprajzne joined #lisp 2020-12-14T18:43:44Z pfdietz joined #lisp 2020-12-14T18:44:37Z jprajzne quit (Client Quit) 2020-12-14T18:45:02Z jprajzne joined #lisp 2020-12-14T18:45:08Z jonatack quit (Quit: jonatack) 2020-12-14T18:45:27Z Aurora_v_kosmose quit (Quit: Пока, мир.) 2020-12-14T18:45:32Z eden joined #lisp 2020-12-14T18:45:57Z dbotton__: I started work on my first common list system - CLOG - The Common Lisp Omnificent GUI - For local and web apps. https://github.com/rabbibotton/clog 2020-12-14T18:46:15Z dbotton__: So far it is just the round trip websocket communications. I was hoping that maybe someone would look at it and give me some feedback for Lispiness. I’ve only spent so far a couple of days on it, so before investing a lot more time.. 2020-12-14T18:47:02Z dbotton__: I wrote a similar library for Ada called gnoga which is used in tons of apps. (Commercial and not) 2020-12-14T18:48:03Z Aurora_v_kosmose joined #lisp 2020-12-14T18:49:55Z jprajzne quit (Quit: jprajzne) 2020-12-14T18:51:59Z shka_: dbotton__: weeeeeeee docstrings 2020-12-14T18:52:03Z shka_: <3 2020-12-14T18:52:14Z jonatack joined #lisp 2020-12-14T18:52:57Z shka_: having said that, nobody does formatting like you do in the line 194 2020-12-14T18:53:14Z shka_: actually, maybe i will comment on the github 2020-12-14T18:53:31Z rogersm joined #lisp 2020-12-14T18:53:50Z shka_: eh, i can't do that 2020-12-14T18:53:58Z Codaraxis quit (Read error: Connection reset by peer) 2020-12-14T18:55:28Z shka_: dbotton__: anyway, usually, CL programmers prefer to use defgeneric and defmethod instead of hook style 2020-12-14T18:55:50Z shka_: nowadays at least 2020-12-14T18:56:08Z jackdaniel: they are orthogonal 2020-12-14T18:56:21Z jackdaniel: hooks allow you to register any number of functions for the same kind of object 2020-12-14T18:57:03Z jackdaniel: while generic functions allow you to distinguish different kinds of objects 2020-12-14T18:57:27Z shka_: something in this ilk 2020-12-14T18:57:36Z rogersm quit (Ping timeout: 240 seconds) 2020-12-14T18:57:41Z phoe: I implemented hooks in terms of methods once, by abusing a multiple-value-or method combination with distinct qualifiers 2020-12-14T18:57:49Z jonatack quit (Ping timeout: 264 seconds) 2020-12-14T18:58:18Z hendursaga quit (Remote host closed the connection) 2020-12-14T18:58:20Z jackdaniel: how do you add two hooks for the object integer? 2020-12-14T18:58:36Z jonatack joined #lisp 2020-12-14T18:58:43Z phoe: (defmethod my-hook :foo ((object integer)) ...) 2020-12-14T18:58:48Z phoe: (defmethod my-hook :bar ((object integer)) ...) 2020-12-14T18:58:48Z shka_: however, in this specific example, hook is launched on connection id, user can then find connection by id... 2020-12-14T18:58:55Z jackdaniel: uhm 2020-12-14T18:59:01Z jibanes quit (Ping timeout: 264 seconds) 2020-12-14T18:59:11Z hendursaga joined #lisp 2020-12-14T18:59:43Z shka_: jackdaniel: or you can use multimethod with eql specializer 2020-12-14T18:59:52Z shka_: kinda overkill though 2020-12-14T19:00:00Z jackdaniel: multimethod with eql specializer? 2020-12-14T19:00:19Z shka_: ((a integer) (mode (eql 'something)) 2020-12-14T19:00:22Z shka_: like this 2020-12-14T19:00:34Z shka_: anyway 2020-12-14T19:00:40Z jackdaniel: and how do I call all hooks? 2020-12-14T19:00:51Z jackdaniel: (foo 42 'something-or-something-else) ;? 2020-12-14T19:00:56Z jibanes joined #lisp 2020-12-14T19:01:14Z shka_: or just define everything as :after 2020-12-14T19:01:17Z shka_: anyway! 2020-12-14T19:01:30Z jackdaniel: but you can't because then you have only one method 2020-12-14T19:01:45Z phoe: https://github.com/phoe/riichi-evaluator/blob/f978aa240a8cb4a0fb0a6cc457fd10725839779e/src/constants.lisp#L96-L99 2020-12-14T19:01:46Z jackdaniel: phoe's solution seems plausible 2020-12-14T19:01:51Z Codaraxis joined #lisp 2020-12-14T19:01:53Z phoe: https://github.com/phoe/riichi-evaluator/blob/18743d511c3e932b5f8fdf1b21b16791cfe4b7fc/src/hand.lisp#L293-L308 2020-12-14T19:01:55Z White_Flame: dbotton__: cool, that is exactly the type of large project I've been mumbling about starting for a long time :) 2020-12-14T19:02:10Z jackdaniel: but adding after method for integer, and then another after method -- the latter will overwrite the former 2020-12-14T19:02:15Z phoe: in this case, method-combination chained-or executes methods until one of them returns non-nil 2020-12-14T19:02:32Z White_Flame: dbotton__: oh, does this just expose HTML, or is it a generalized UI that happens to have an HTML backend? 2020-12-14T19:02:36Z oni-on-ion quit (Remote host closed the connection) 2020-12-14T19:02:40Z shka_: i was mentioning this, because passing id to hook, then you can query connections for that id seems to be awkward ways of doing it 2020-12-14T19:03:03Z jackdaniel still doesn't understand, but let's leave it at that 2020-12-14T19:03:06Z shka_: why not simply pass whole connection object to the handler? 2020-12-14T19:03:55Z mbomba joined #lisp 2020-12-14T19:04:05Z liberliver quit (Ping timeout: 256 seconds) 2020-12-14T19:04:15Z liberliver1 joined #lisp 2020-12-14T19:04:25Z dbotton__: Sorry had to run out back and reading 2020-12-14T19:04:29Z shka_: jackdaniel: notice that in the said project, connect-handler is just a singular function 2020-12-14T19:04:31Z Nilby: I think hooks are still good for some use cases. Mostly when you don't want or need you potential extender to care about what classes you're using. And especially zero arg functions. 2020-12-14T19:04:35Z shka_: jackdaniel: not a list 2020-12-14T19:04:41Z shka_: context matters 2020-12-14T19:05:47Z shka_: in general, i feel like there is a little bit to much, of global variables in the project 2020-12-14T19:05:58Z shka_: this can be a matter of my personal preferences though 2020-12-14T19:06:29Z Blukunfando joined #lisp 2020-12-14T19:06:42Z dbotton__: White_Flame it will first bind generalized html and then the focus will be on a more Widget style GUI using that binding 2020-12-14T19:06:52Z shka_: as for minor tricks 2020-12-14T19:07:02Z jibanes quit (Ping timeout: 260 seconds) 2020-12-14T19:07:05Z liberliver joined #lisp 2020-12-14T19:07:26Z shka_: one thing that probably could be global are logging streams 2020-12-14T19:07:31Z jibanes joined #lisp 2020-12-14T19:07:38Z Codaraxis_ joined #lisp 2020-12-14T19:08:17Z shka_: instead of logging to the *standard-output* 2020-12-14T19:08:35Z shka_: you can define your own *logging-output* 2020-12-14T19:08:41Z dbotton__: The GUI that will sit on top of this (including the HTML bindings will be more CLOS oriented 2020-12-14T19:08:47Z liberliver1 quit (Ping timeout: 265 seconds) 2020-12-14T19:08:47Z shka_: and by default bind it to the *standard-output* 2020-12-14T19:09:20Z shka_: but this will allow you to redirect output to file, excluding other output to the standard-output 2020-12-14T19:09:32Z shka_: that's how trace works for instance 2020-12-14T19:10:00Z shka_: there is actually *trace-output* in CL standard 2020-12-14T19:10:11Z dbotton__: ahka_ the truth is this entire piece will not be used by the user and will sit behind the actual GUI widgets etc 2020-12-14T19:10:25Z shka_: and it occasionally quite useful to redirect trace to the file 2020-12-14T19:10:47Z dbotton__: I'll take a look at logging is there any libraries currently used for logging? 2020-12-14T19:11:41Z Codaraxis quit (Ping timeout: 265 seconds) 2020-12-14T19:12:00Z ck_: there is log4cl 2020-12-14T19:13:50Z shka_: dbotton__: anyway, i love how you put docstrings on everything 2020-12-14T19:14:07Z liberliver quit (Quit: liberliver) 2020-12-14T19:14:25Z shka_: and i don't have all that much to add other then i would rather pack most of this into some kind of objects 2020-12-14T19:14:31Z dbotton__: One of my favorite parts of CL 2020-12-14T19:14:37Z shka_: but this is based 2020-12-14T19:15:23Z Steeve joined #lisp 2020-12-14T19:15:40Z White_Flame: heh, this is my typical form of websocket JS stuff. Eval whatever message comes in ;) 2020-12-14T19:15:47Z dbotton__: The mgl-pax packages is nice also as it generates DOCs 2020-12-14T19:16:29Z dbotton__: There is work that needs to be done to "secure" things a bit for sure 2020-12-14T19:16:38Z dbotton__: Eval is always a flag 2020-12-14T19:16:44Z dbotton__: Any language 2020-12-14T19:17:32Z harlchen quit (Quit: WeeChat 2.9) 2020-12-14T19:17:34Z dbotton__: But it works 2020-12-14T19:18:45Z White_Flame: I'm not knocking it 2020-12-14T19:19:36Z dbotton__: I am going to start now working on the user land layer about this, I'll try and clean up more with everyones suggestions 2020-12-14T19:20:28Z White_Flame: what's your plan for actually issuing HTML-level changes from the user perspective? 2020-12-14T19:20:51Z White_Flame: eg, change lisp-side objects and trigger a sync to the client? 2020-12-14T19:20:57Z dbotton__: More that it offers an imperative programming model 2020-12-14T19:21:03Z dbotton__: yes 2020-12-14T19:21:12Z dbotton__: And events etc on the lisp side 2020-12-14T19:21:42Z todun joined #lisp 2020-12-14T19:21:48Z todun quit (Client Quit) 2020-12-14T19:21:57Z dbotton__: So you can say create a few inputs for a from and a button - click the bottom first an event , use the result start something else etc 2020-12-14T19:22:26Z dbotton__: My first app on the ada version was a snake game using the canvas etc 2020-12-14T19:23:42Z dbotton__: http://gnoga.com/ everything is done in ada code even the site - the lisp version will be I think nicer and easier to use 2020-12-14T19:23:45Z luis: Does any of the URI libraries (PURI, QURI, ?) support converting a pathname into a file:// URI? 2020-12-14T19:24:26Z dbotton__: Here is the source of the snake game - http://www.gnoga.com:8889/source 2020-12-14T19:24:35Z dbotton__: Actually running in an online editor 2020-12-14T19:24:41Z dbotton__: Controlled by the code 2020-12-14T19:25:25Z dbotton__: Snake-connection.adb is the main logic 2020-12-14T19:25:43Z rogersm joined #lisp 2020-12-14T19:25:47Z dbotton__: My point is just to get idea of what will be 2020-12-14T19:33:23Z adlai: the bad news is that cl-pdf-parser is unable to parse the PDF 1.7 specification document; the good news is that my refactored conditions are working properly 2020-12-14T19:36:33Z Jesin quit (Remote host closed the connection) 2020-12-14T19:37:05Z zacts joined #lisp 2020-12-14T19:37:25Z aeth: is there a verbose print? 2020-12-14T19:37:47Z Jesin joined #lisp 2020-12-14T19:38:07Z zacts quit (Client Quit) 2020-12-14T19:38:51Z jasom: adlai: not sure what the context is, but for simple tasks on PDFs, I wrote this: https://github.com/jasom/pdfparse because cl-pdf-parser wasn't able to handle the PDFs I wanted to parse and when a library doesn't do what you want, writing your own 20% solution from scratch rather than fixing the existing library is the Common Lisp Way(TM) 2020-12-14T19:41:07Z EvW quit (Ping timeout: 260 seconds) 2020-12-14T19:41:08Z Nilby: You know that they threw public key cryptography, javascript, and audio and video playing and 3d rendering into PDF. 2020-12-14T19:41:24Z andreyorst quit (Ping timeout: 240 seconds) 2020-12-14T19:41:50Z Nilby: Even the viewers in web browsers can't do all the things. 2020-12-14T19:42:02Z a0 joined #lisp 2020-12-14T19:43:23Z eden quit (Ping timeout: 240 seconds) 2020-12-14T19:44:03Z rogersm quit (Quit: Leaving...) 2020-12-14T19:44:19Z Nilby: But that said, it's still very cool to use base PDFs from Lisp. 2020-12-14T19:44:57Z jibanes quit (Ping timeout: 260 seconds) 2020-12-14T19:46:30Z jibanes joined #lisp 2020-12-14T19:46:55Z defunkydrummer: Nilby: well, postscript (ps) was already a quasi-fully fledged execution environment... able to do almost anything... 2020-12-14T19:47:14Z aeth: jasom: If you wanted a 100% solution, you'd have to write your own solution from scratch because you'd basically have to bring in a whole web browser style environment. 2020-12-14T19:47:47Z aeth: However, if you did have a web browser, it probably wouldn't be too hard to extend your support to PDF stuff. 2020-12-14T19:48:11Z aeth: It'd basically just take a web browser (full browser, including the rendering engine), a game engine, and a database to handle most of the CL application needs. 2020-12-14T19:48:15Z jasom: aeth: I just wanted something that wouldn't OOM on some PDFs 2020-12-14T19:48:29Z Nilby: defunkydrummer: Right, but PDFs were supposed to be easier than PostScript. PostScript is quite hard to get right. Oh, and also PDFs can include PostScript too. 2020-12-14T19:48:49Z aeth: fonts can include postscript, too, can't they? 2020-12-14T19:49:18Z aeth: So by the time you're done with your application suite, you'll have had to implement JS, Postscript, and probably a bunch of other stuff, too, like sh and Lua. 2020-12-14T19:50:08Z Nilby: Yes, the JS PDF viewers in the like 2-3 browswers engines are quite fairly capable for reading now. 2020-12-14T19:51:22Z Nilby: I'm just mad that there's a ubiquitous important archive format that nearly impossible to fully support. 2020-12-14T19:52:00Z nwoob quit (Ping timeout: 258 seconds) 2020-12-14T19:52:06Z greisean quit (Quit: greisean) 2020-12-14T19:52:19Z aeth: I mean, Adobe used to have two uibiquitous and important formats that were nearly impossible to fully support: Flash and PDF. 2020-12-14T19:52:53Z aeth: must be part of their business model... 2020-12-14T19:54:07Z Nilby: It's a weird kind of file format battle tragedy. 2020-12-14T19:54:09Z rogersm joined #lisp 2020-12-14T19:54:18Z aeth: Technically, Adobe would actually have three (counting Photoshop's internal PSD file format), but artists rarely post their sources. 2020-12-14T19:54:34Z aeth: (But when they do, it's a Photoshop file) 2020-12-14T19:56:06Z jeosol quit (Remote host closed the connection) 2020-12-14T19:56:08Z jackdaniel: shka_: context matters, but the term "hooks" has a well estabilished meaning 2020-12-14T19:56:34Z Nilby: Yeah. Between Adobe and Microsoft much of the worlds base content is nearly impossible to manipulate well. 2020-12-14T19:56:42Z aeth: Microsoft Office is worse. Technically, I should add "office suite" to the list of things that are large enough projects that their dependencies handle most other entire projects (browser engine, game engine, database), but that's just so painful (basically *only* about compatability with arcane formats) that I doubt anyone will ever attempt it. 2020-12-14T19:58:12Z aeth: Other projects that interest people like Emacs clone or a terminal emulator or whatever are trivial by comparison (although still hard) 2020-12-14T19:58:23Z greisean joined #lisp 2020-12-14T19:58:24Z Nilby: Indeed. 2020-12-14T19:58:57Z rogersm quit (Ping timeout: 260 seconds) 2020-12-14T19:59:52Z aeth: Maybe I could throw a CAS on the list as well, but Maxima is written in such a way that its internals aren't very useful for other CL projects afaik. Mainly because it's really, really old, though. 2020-12-14T20:01:30Z Nilby: It's true I wish I could easily use Maxima's stuff. wxMaxima is so cool, but I wish it was all in Lisp. 2020-12-14T20:02:20Z aeth: It doesn't help that iirc a huge chunk of Maxima is written in (probably ancient) Fortran and then compiled (in a poorly optimized way) to CL 2020-12-14T20:03:19Z aeth: The way you'd want to do it if you started from scratch is probably to write a BLAS in CL, which is mostly just porting a permissive licensed BLAS (if there is one) to use CL inline asm on implementations that support it, and using the slow path for the rest of the implementation x architecture grid. 2020-12-14T20:03:24Z guanohhh quit (Read error: Connection reset by peer) 2020-12-14T20:03:30Z alanz quit (Ping timeout: 258 seconds) 2020-12-14T20:03:46Z guanohhh joined #lisp 2020-12-14T20:03:51Z jerme_ quit (Read error: Connection reset by peer) 2020-12-14T20:04:02Z alanz joined #lisp 2020-12-14T20:04:06Z Nilby: And written in mathematicians and physicists coding styles. 2020-12-14T20:04:12Z jerme_ joined #lisp 2020-12-14T20:05:28Z lotuseater: Nilby: in one talk of Robert Smith about maths with CL he says "don't look at maxima source" :D 2020-12-14T20:06:27Z Nilby: Yes. I like to, but it's not for the faint of heart. 2020-12-14T20:06:27Z lotuseater: maybe the same goes for ROOT, but it seems to work well 2020-12-14T20:07:12Z lotuseater: I don't like the not expressive names in maxima, it could improve doing that like Mathematica (just imo) 2020-12-14T20:07:38Z lotuseater: but then no maxima code written will work 2020-12-14T20:08:16Z guanohhh quit (Ping timeout: 240 seconds) 2020-12-14T20:10:25Z Nilby: One of my favorite *old* Lisp code is SHRDLU. It's sometimes written almost in a Haskell style. When I first read it I was like "WT-holy-F is this??" Total nonsense. Now I can read it and see it's fairly brilliant. 2020-12-14T20:10:32Z jibanes quit (Ping timeout: 256 seconds) 2020-12-14T20:10:56Z lotuseater: oooh yes i like the dialogue in gödel escher bach with SHRDLU 2020-12-14T20:11:10Z lotuseater: do you have a link? 2020-12-14T20:11:30Z White_Flame: it really helps to read the phd thesis along with the shrdlu source code, at least to begin understanding it 2020-12-14T20:11:47Z lotuseater: maybe i'll finally get then how to do ai in CL ._. 2020-12-14T20:11:51Z White_Flame: https://github.com/stuartpb/shrdlu 2020-12-14T20:12:03Z White_Flame: shrdlu is not really extensible 2020-12-14T20:12:05Z lotuseater: what was the original dialect? 2020-12-14T20:12:16Z jibanes joined #lisp 2020-12-14T20:12:38Z White_Flame: old 2020-12-14T20:12:51Z gareppa joined #lisp 2020-12-14T20:13:00Z Steeve quit (Quit: end) 2020-12-14T20:13:30Z White_Flame: maclisp according to that github link 2020-12-14T20:13:53Z White_Flame: enjoy your fexprs 2020-12-14T20:14:09Z noobineer1 joined #lisp 2020-12-14T20:14:41Z lotuseater: hmm 2020-12-14T20:15:04Z narimiran quit (Ping timeout: 256 seconds) 2020-12-14T20:15:42Z Nilby is looking for his shrdlu that works in CL. 2020-12-14T20:17:10Z noobineer quit (Ping timeout: 256 seconds) 2020-12-14T20:17:34Z adlai: jasom: you just made me read CL code that has defmethod with self as an argument name 2020-12-14T20:17:37Z jibanes quit (Ping timeout: 260 seconds) 2020-12-14T20:17:42Z White_Flame: the original source is almost like assembly code. I'm sure it could be rewritten to less than 1/10th the size in modern style 2020-12-14T20:17:54Z adlai is angered 2020-12-14T20:18:09Z jibanes joined #lisp 2020-12-14T20:18:41Z lotuseater: yes it reads not very condense 2020-12-14T20:19:05Z scymtym_ joined #lisp 2020-12-14T20:19:12Z White_Flame: old CL code is extremely mutating to avoid blowing memory on 70s hardware 2020-12-14T20:19:36Z White_Flame: erm, 1960s :-P 2020-12-14T20:19:54Z guanohhh joined #lisp 2020-12-14T20:20:23Z daphnis joined #lisp 2020-12-14T20:20:37Z scymtym quit (Ping timeout: 264 seconds) 2020-12-14T20:21:18Z White_Flame: s/CL/Lisp/ 2020-12-14T20:22:39Z waleee-cl: is there anyone using parinfer-rust-mode in emacs? 2020-12-14T20:22:41Z villanella quit (Read error: Connection reset by peer) 2020-12-14T20:22:45Z daphnis: what do you do when emacs indents badly; just correct it manually and avoid auto-indenting? e.g. the first form in Practical p. 330 is illogically indented by emacs. 2020-12-14T20:22:56Z phoe: daphnis: which chapter is that? 2020-12-14T20:22:57Z villanella joined #lisp 2020-12-14T20:23:04Z daphnis: parsing binary files 2020-12-14T20:23:27Z phoe: defun read-u2? 2020-12-14T20:23:33Z dbotton__: (First thing I do is assume I am wrong not emacs :) 2020-12-14T20:23:35Z White_Flame: indentation can also change if for instance the code uses a macro, but the macro hasn't been loaded in yet 2020-12-14T20:23:39Z daphnis: (define-binary-type iso-88 ..... 2020-12-14T20:23:40Z phoe: which form do you mean? 2020-12-14T20:24:06Z phoe: oh! have you called DEFMACRO DEFINE-BINARY-TYPE? 2020-12-14T20:24:16Z daphnis: hm, no 2020-12-14T20:24:33Z noobineer1 quit (Ping timeout: 256 seconds) 2020-12-14T20:24:56Z White_Flame: SLIME knows about the &body field in macros and indents them as code instead of data 2020-12-14T20:25:00Z daphnis: now i have, indentation is unchanged 2020-12-14T20:25:35Z daphnis: the (let in the third line is aligned with the (in in the 2nd 2020-12-14T20:26:00Z Nilby: Yes, I just correct it and avoid. Emacs can never duplicate the indenting artistry you can achive with multiple-cursor mode. 2020-12-14T20:26:19Z phoe: oh, like that! 2020-12-14T20:26:21Z phoe: yes, I see 2020-12-14T20:26:48Z White_Flame: daphnis: yep, there's no way for slime to know the intent here 2020-12-14T20:27:07Z White_Flame: so it makes some guesses 2020-12-14T20:27:07Z Nilby: but, yeah, always use &body when you want that. 2020-12-14T20:27:29Z White_Flame: this is nested underneat macro parameters, though 2020-12-14T20:27:32Z villanella quit (Ping timeout: 256 seconds) 2020-12-14T20:27:53Z phoe: let me check if trivial-indent can fix this 2020-12-14T20:27:56Z White_Flame: nested forms inside "&body spec)" 2020-12-14T20:29:16Z _death: there is some broken indentation in default slime.. try for example (incf place RET 2020-12-14T20:30:27Z jprajzne joined #lisp 2020-12-14T20:30:47Z phoe: ! 2020-12-14T20:30:50Z phoe: (trivial-indent:define-indentation define-binary-type (4 4 &rest (&whole 2 4 4 &body))) 2020-12-14T20:30:54Z phoe: this thing seems to kinda work 2020-12-14T20:31:16Z phoe: https://plaster.tymoon.eu/view/2193#2193 2020-12-14T20:33:48Z fanta1 quit (Quit: fanta1) 2020-12-14T20:34:26Z jprajzne quit (Client Quit) 2020-12-14T20:34:49Z jprajzne joined #lisp 2020-12-14T20:37:43Z PuercoPop joined #lisp 2020-12-14T20:38:49Z daphnis: phoe: thanks! 2020-12-14T20:40:12Z jw4 quit (Read error: Connection reset by peer) 2020-12-14T20:40:25Z phoe: trivial-indentation needs to get a proper manual someday 2020-12-14T20:41:06Z imode joined #lisp 2020-12-14T20:41:47Z jw4 joined #lisp 2020-12-14T20:43:41Z stzsch joined #lisp 2020-12-14T20:44:54Z jprajzne quit (Quit: jprajzne) 2020-12-14T20:45:03Z varjag joined #lisp 2020-12-14T20:45:21Z jprajzne joined #lisp 2020-12-14T20:47:22Z tomaw quit (Ping timeout: 606 seconds) 2020-12-14T20:47:33Z tomaw_ joined #lisp 2020-12-14T20:48:53Z tomaw_ is now known as tomaw 2020-12-14T20:49:26Z jprajzne quit (Client Quit) 2020-12-14T20:49:52Z jprajzne joined #lisp 2020-12-14T20:50:35Z gareppa quit (Quit: Leaving) 2020-12-14T20:54:23Z White_Flame: Nilby: ever find your CL SHRDLU? 2020-12-14T20:55:07Z rogersm joined #lisp 2020-12-14T20:55:27Z euandreh quit (Remote host closed the connection) 2020-12-14T20:56:24Z orivej_ quit (Ping timeout: 240 seconds) 2020-12-14T20:56:43Z a0 quit (Ping timeout: 240 seconds) 2020-12-14T20:57:28Z euandreh joined #lisp 2020-12-14T20:58:00Z Nilby: I did. But it failed to load, and I'm trying to avoid getting lost for days in the past again. I should post it someday. I think I started with this: https://github.com/tsgouros/www-shrdlu.git 2020-12-14T20:58:40Z White_Flame: yeah, I found that one 2020-12-14T20:59:02Z jibanes quit (Ping timeout: 272 seconds) 2020-12-14T20:59:12Z White_Flame: if I were to throw my hand into Yet Another SHRDLU Resurrection, I'd just start from first principles from the thesis and not from the code 2020-12-14T20:59:34Z rogersm quit (Ping timeout: 246 seconds) 2020-12-14T21:00:13Z jibanes joined #lisp 2020-12-14T21:00:16Z Nilby: Yes. My interest was mostly historical not so much as practical. 2020-12-14T21:01:57Z gaqwas quit (Ping timeout: 260 seconds) 2020-12-14T21:02:10Z Nilby: Someday I'll feel the clock ticking slowly enough to finish it. 2020-12-14T21:03:42Z Stanley|00 joined #lisp 2020-12-14T21:04:24Z Stanley00 quit (Ping timeout: 240 seconds) 2020-12-14T21:04:53Z Nilby: It's like museum code. 2020-12-14T21:06:13Z jibanes quit (Ping timeout: 264 seconds) 2020-12-14T21:06:36Z jibanes joined #lisp 2020-12-14T21:07:44Z orivej joined #lisp 2020-12-14T21:12:13Z Inline quit (Ping timeout: 272 seconds) 2020-12-14T21:13:16Z jibanes quit (Ping timeout: 256 seconds) 2020-12-14T21:14:05Z pfdietz quit (Remote host closed the connection) 2020-12-14T21:14:28Z Jesin quit (Quit: Leaving) 2020-12-14T21:14:28Z daphnis quit (Ping timeout: 260 seconds) 2020-12-14T21:15:02Z jibanes joined #lisp 2020-12-14T21:16:10Z Jesin joined #lisp 2020-12-14T21:19:51Z jprajzne quit (Quit: jprajzne) 2020-12-14T21:20:10Z dbotton__ quit (Quit: Leaving) 2020-12-14T21:20:17Z jprajzne joined #lisp 2020-12-14T21:21:12Z aartaka_d quit (Ping timeout: 260 seconds) 2020-12-14T21:23:51Z jeosol joined #lisp 2020-12-14T21:26:24Z luckless joined #lisp 2020-12-14T21:26:43Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-14T21:27:38Z wsinatra quit (Quit: WeeChat 3.0) 2020-12-14T21:30:40Z Stanley|00 quit (Remote host closed the connection) 2020-12-14T21:31:28Z OptimusMKD quit (Read error: Connection reset by peer) 2020-12-14T21:33:44Z shka_ quit (Ping timeout: 240 seconds) 2020-12-14T21:34:25Z greisean quit (Quit: greisean) 2020-12-14T21:36:00Z aartaka joined #lisp 2020-12-14T21:36:17Z hiroaki quit (Ping timeout: 272 seconds) 2020-12-14T21:37:04Z jibanes quit (Ping timeout: 256 seconds) 2020-12-14T21:38:42Z jibanes joined #lisp 2020-12-14T21:39:26Z jprajzne quit (Quit: jprajzne) 2020-12-14T21:39:51Z jprajzne joined #lisp 2020-12-14T21:40:39Z EvW joined #lisp 2020-12-14T21:49:54Z jprajzne quit (Quit: jprajzne) 2020-12-14T21:56:06Z rogersm joined #lisp 2020-12-14T21:59:01Z mbomba quit (Quit: WeeChat 3.0) 2020-12-14T21:59:06Z jasom: adlai: you're welcome :D 2020-12-14T21:59:49Z jprajzne joined #lisp 2020-12-14T22:00:16Z rogersm quit (Ping timeout: 240 seconds) 2020-12-14T22:03:43Z grumble quit (Quit: Well, would you look at the time. I've almost missed my ambiguous, non-existent appointment that I have scheduled just when I start to lose interest in my current conversation.) 2020-12-14T22:04:20Z jasom: It also has a tagbody inside of a block, so it was written before I knew that prog has an implicit tagbody 2020-12-14T22:04:54Z jprajzne quit (Quit: jprajzne) 2020-12-14T22:05:29Z jprajzne joined #lisp 2020-12-14T22:06:45Z euandreh quit (Remote host closed the connection) 2020-12-14T22:09:04Z Xach: jasom: i just learned that lesson today! 2020-12-14T22:09:14Z greisean joined #lisp 2020-12-14T22:09:16Z Xach: what a coincidence 2020-12-14T22:09:26Z jprajzne quit (Client Quit) 2020-12-14T22:10:10Z gareppa joined #lisp 2020-12-14T22:10:15Z dbotton joined #lisp 2020-12-14T22:12:05Z grumble joined #lisp 2020-12-14T22:12:46Z dim quit (Ping timeout: 256 seconds) 2020-12-14T22:14:25Z euandreh joined #lisp 2020-12-14T22:15:15Z gareppa quit (Remote host closed the connection) 2020-12-14T22:16:16Z villanella joined #lisp 2020-12-14T22:18:29Z pve quit (Quit: leaving) 2020-12-14T22:20:54Z fivo joined #lisp 2020-12-14T22:21:22Z jibanes quit (Ping timeout: 272 seconds) 2020-12-14T22:22:47Z jibanes joined #lisp 2020-12-14T22:24:47Z dbotton quit (Ping timeout: 260 seconds) 2020-12-14T22:25:02Z luni joined #lisp 2020-12-14T22:25:08Z nij joined #lisp 2020-12-14T22:25:32Z nij: Is using data as config a common practice among LISPers? 2020-12-14T22:26:09Z jasom: nij: configuration is data, can you clarify what you mean? 2020-12-14T22:27:15Z nij: Hmm.. instead of using formats like .YAML, why not just use .LISP? 2020-12-14T22:27:52Z jasom: ah, as in use a source-file as configuration? It's definitely a thing. 2020-12-14T22:28:07Z nij: Something like this: '("Monday" "Upper" ("Push-ups 15" "Pull-up 1" "Push-ups 15" "Pull-up 1")) 2020-12-14T22:28:16Z nij: jasom: anything 2020-12-14T22:28:24Z jibanes quit (Ping timeout: 240 seconds) 2020-12-14T22:29:31Z jibanes joined #lisp 2020-12-14T22:29:33Z jasom: nij: I've seen it like (defparameter *some-config-option* some-value) and the configuration file loaded with cl:load and I've also seen it like ((:some-config-option . some-value)) and the configuration file loaded with cl:read 2020-12-14T22:29:37Z nij: I wonder why it isn't common practice. Like.. is it error-prone? 2020-12-14T22:29:38Z mbomba joined #lisp 2020-12-14T22:29:40Z jasom: nij: there's probably other was its done as well. 2020-12-14T22:30:54Z jasom: I do it that way unless someone else is going to configure the file; people unused to lisp are more likely to be comfortable editing a .yaml or .json file (and their editor is more likely to be configured to help them do so) 2020-12-14T22:31:46Z luni left #lisp 2020-12-14T22:32:02Z orivej quit (Ping timeout: 256 seconds) 2020-12-14T22:32:07Z badcfe joined #lisp 2020-12-14T22:34:15Z badcfe: is there an "international standard" for lisp? maybe X3J13/94-101R equals CLT2 but is ansi only. is ISLISP the thing, but there's no "public domain" implementations? 2020-12-14T22:35:39Z mbomba quit (Quit: WeeChat 3.0) 2020-12-14T22:36:00Z jibanes quit (Ping timeout: 256 seconds) 2020-12-14T22:36:55Z no-defun-allowed: Well, ISLISP isn't Common Lisp. 2020-12-14T22:37:02Z dim joined #lisp 2020-12-14T22:37:25Z badcfe: no-defun-allowed: but is it the closest one, with an international standard? 2020-12-14T22:37:29Z jasom: I don't think X3.226 was ever ISO standardized 2020-12-14T22:37:43Z no-defun-allowed: I don't know how close ISLISP is to Common Lisp, but my guess is it is quite different. 2020-12-14T22:38:03Z jibanes joined #lisp 2020-12-14T22:38:25Z bilegeek joined #lisp 2020-12-14T22:39:04Z badcfe: i came across this which seems really nice 2020-12-14T22:39:05Z badcfe: https://franz.com/support/documentation/cl-ansi-standard-draft-w-sidebar.pdf 2020-12-14T22:39:26Z badcfe: but thats ansi common lisp i see 2020-12-14T22:39:38Z jasom: ISLISP is pretty close to a subset of common lisp 2020-12-14T22:39:56Z badcfe: oh, that sounds good then. 2020-12-14T22:40:12Z edgar-rft: The original idea of the ANSI folks was to include Europe and Japan into the specification process but the ARPA-net was too slow for that, so I think the ANSI spec ist the only official specification until today. 2020-12-14T22:40:16Z jasom: though I can't for the life of me remember if it's lisp-1 or lisp2 2020-12-14T22:40:18Z badcfe: i mean, as a newb i could learn it, and then be fine in CL as well 2020-12-14T22:40:55Z jasom: badcfe: I would recommend learning common lisp instead; islisp is a smaller community than CL, and it's not like the CL community is large 2020-12-14T22:41:00Z badcfe: "arpa net was too slow for that" ? 2020-12-14T22:42:02Z edgar-rft: badcfe: the email communication took too long, Kent Pitman wrote up the details somewhere in his homepage 2020-12-14T22:43:09Z badcfe: is CL community small because learning to think in it you become a compiler writer for other languages to get away from the parenths and then resulting in popularity and bringing in nice ideas to those other languages? 2020-12-14T22:43:46Z kenran quit (Remote host closed the connection) 2020-12-14T22:44:07Z no-defun-allowed: What the fuck? 2020-12-14T22:44:09Z Xach: badcfe: no 2020-12-14T22:44:19Z badcfe: why does not ieee iso or anyone raise ansi spec up to international standard instead of this ISLISP thing? 2020-12-14T22:44:31Z jasom: badcfe: who will pay for it? 2020-12-14T22:44:58Z no-defun-allowed: Does it really matter if it's an ANSI standard or an ISO standard? 2020-12-14T22:44:59Z Xach: badcfe: ANSI Common Lisp exists because a big customer demanded it. there is no big customer in sight to do it these days. 2020-12-14T22:45:00Z White_Flame: besides, we're in a post-standards world for the most part (love it or hate it) 2020-12-14T22:45:10Z badcfe: they can just trust ansi and fetch the pdf and stamp it 2020-12-14T22:46:04Z quazimodo quit (Ping timeout: 260 seconds) 2020-12-14T22:46:20Z orivej joined #lisp 2020-12-14T22:46:28Z White_Flame: regarding size of the community, a lot of that has to do with commercializing the community as well 2020-12-14T22:46:54Z Alfr: badcfe, why are you looking for a lisp w/ international standard? 2020-12-14T22:46:56Z badcfe: i am trying to understand why lisp is not more 'endoursed' (or term like that) 2020-12-14T22:47:01Z White_Flame: lisp really offers developer empowerment directly, so you don't have the "support groups" of people trying to get around limitations as much as other langs do, and that activity drives engagement 2020-12-14T22:47:34Z Xach: badcfe: many reasons 2020-12-14T22:47:54Z quazimodo joined #lisp 2020-12-14T22:48:12Z badcfe: White_Flame: right, maybe 'popular' languages as measured by frusts in stackoverflow is not the best measure 2020-12-14T22:48:40Z badcfe: and maybe to have an ansi spec should be good enough. 2020-12-14T22:48:56Z White_Flame: having a spec at all is heads and shoulders above many other languages 2020-12-14T22:49:11Z White_Flame: even disregarding standards bodies 2020-12-14T22:49:29Z FreeBirdLjj joined #lisp 2020-12-14T22:49:47Z badcfe: White_Flame: "commercializing teh community" ? 2020-12-14T22:49:52Z White_Flame: and again, good enough for what? 2020-12-14T22:50:19Z jprajzne joined #lisp 2020-12-14T22:50:21Z edgar-rft: languages are only popular when they are used by the pope 2020-12-14T22:50:28Z White_Flame: sure, running businesses around supporting language dev groups, with websites, instruction, libraries, etc 2020-12-14T22:50:36Z badcfe: good enough for having similar compiler implementations around, for the language to be practical and valuable to know 2020-12-14T22:50:42Z random-nick quit (Ping timeout: 260 seconds) 2020-12-14T22:50:57Z badcfe: edgar-rft: hence pope-ular 2020-12-14T22:51:05Z Nilby: I think the Lisp community and programming communties in general are wise emough not to get stupid semi-political organizations involved in designing languages. And even though Common Lisp is a great achievement, designing by committee isn't so good. 2020-12-14T22:51:06Z White_Flame: well, I think it already met that criteria 2020-12-14T22:51:13Z jasom: badcfe: I mean Python lacks even an ANSI standard, which probably explains why nobody uses it 2020-12-14T22:51:16Z sjl quit (Ping timeout: 240 seconds) 2020-12-14T22:51:34Z jibanes quit (Ping timeout: 246 seconds) 2020-12-14T22:51:54Z White_Flame: does python not even have a written standard, besides a reference implementation? 2020-12-14T22:52:23Z phoe: not really, AFAIR 2020-12-14T22:52:26Z badcfe: jasom: you proove having standard is not important. okay. 2020-12-14T22:52:27Z jasom: White_Flame: it has reference documentation; whether or not that is sufficient to be called a "standard" is an open question. 2020-12-14T22:53:22Z Nilby: e.g. ECMAscript seem rather pointless and isn't defacto Javascript 2020-12-14T22:53:24Z jasom: White_Flame: anything not mentioned in the reference documentation is de-facto decided by the reference implementation, so if you were to write a novel implementation that conforms to the reference documentation, but differs from the reference implementation, would it be a Python implementation? 2020-12-14T22:53:30Z White_Flame: badcfe: having a standard is beneficial. but most people seem to skip that, as is common with programmers and anything prose :-P 2020-12-14T22:53:38Z jibanes joined #lisp 2020-12-14T22:54:00Z nij quit (Quit: ERC (IRC client for Emacs 27.1)) 2020-12-14T22:54:10Z badcfe: if you write something in lisp teh thing is generally going to be faster than if you do the thing in python right? even pypy, cython, or whatever 2020-12-14T22:54:12Z White_Flame: (comments, documentation, actually reading up on things, etc) 2020-12-14T22:54:13Z FreeBirdLjj quit (Ping timeout: 264 seconds) 2020-12-14T22:54:32Z White_Flame: python is generally a slow-to-execute language 2020-12-14T22:54:37Z badcfe: White_Flame: yeah, except .. programming is prose right 2020-12-14T22:54:43Z White_Flame: no 2020-12-14T22:54:59Z no-defun-allowed: There are a few things that are hard to compile in Python, but usually PyPy does pretty well at compiling it. 2020-12-14T22:55:00Z jasom: conversely there was a 6 year period in which there was an ALGOL 68 standard, but no conforming implementations 2020-12-14T22:55:33Z no-defun-allowed: However, I think PyPy uses type information gathered at runtime, but (all?) Common Lisp implementations rely on the programmer to provide type declarations if they need to specialize. 2020-12-14T22:55:33Z badcfe: jasom: you have another good point about standard ther. 2020-12-14T22:55:46Z srandon111 joined #lisp 2020-12-14T22:56:09Z srandon111 is now known as sukablyat 2020-12-14T22:56:12Z Nilby: or programming is functioning poetry ? or incomprehensible scratches ? 2020-12-14T22:56:24Z jasom: no-defun-allowed: sbcl definitely does type-inference based optimizations, particularly around numeric functions 2020-12-14T22:56:26Z White_Flame: it's closer to mathematical representation 2020-12-14T22:56:45Z White_Flame: it's a formal representation, not a human language 2020-12-14T22:57:01Z rogersm joined #lisp 2020-12-14T22:57:14Z no-defun-allowed: jasom: Yes, but that is still determined at compile-time. Compare to Smalltalk or Self (or Java even), where code is specialized at runtime. 2020-12-14T22:57:57Z jasom: no-defun-allowed: IIRC There was some experimenting of donig that with method-invocations in sbcl, not sure if it's in the current release or not 2020-12-14T22:58:09Z edgar-rft: Nilby: "programming is like incomprehensible poetry" will become my favourite idiom of the day :-) 2020-12-14T22:58:19Z Nilby: :D 2020-12-14T22:58:21Z jasom: but it was fairly straightforward caching of method lookups, nothing fancy like JIT specialization IIRC 2020-12-14T22:58:57Z no-defun-allowed: Ah yes. 2020-12-14T22:59:05Z sukablyat quit (Client Quit) 2020-12-14T22:59:24Z sookablyat quit (Ping timeout: 256 seconds) 2020-12-14T22:59:25Z jprajzne quit (Quit: jprajzne) 2020-12-14T22:59:45Z fivo quit (Quit: WeeChat 1.9.1) 2020-12-14T22:59:50Z jprajzne joined #lisp 2020-12-14T23:00:56Z hal99999 quit (Quit: hal99999) 2020-12-14T23:01:32Z rogersm quit (Ping timeout: 260 seconds) 2020-12-14T23:07:32Z defunkydrummer: no-defun-allowed: in many cases PyPy doesn't really do a dramatic speedup, Python still ends up being a slow platform 2020-12-14T23:08:17Z no-defun-allowed: defunkydrummer: I recall a decent speedup on a few programs. Not quite close to Lisp (or C even), but still a large speedup nonetheless. 2020-12-14T23:08:28Z defunkydrummer: no-defun-allowed: only Cython brings real speed to Python, but Cython isn't really 100% python language, and there is no compatibility with the popular libraries 2020-12-14T23:09:10Z edgar-rft: badcfe: The good thing of having a standard is that the language doesn't change every other year. In physics or medicine I have maintainance contracts over ten or twenty years and I wouldn't want to maintain C code over such a long time. 2020-12-14T23:09:10Z edgar-rft: The disadvantage of having a "non-changing" language is that it oftenn needs some work to deal with more modern things like threads or distributed network computing. 2020-12-14T23:11:27Z jibanes quit (Ping timeout: 260 seconds) 2020-12-14T23:12:00Z badcfe: edgar-rft: but i would guess lisp (you mention network) is quite good for a io event loop with protocol handlers doing some kinds of continuations 2020-12-14T23:13:20Z jibanes joined #lisp 2020-12-14T23:13:28Z jasom: edgar-rft: I've seen 99 year support contracts based on C; the compiler in question will support the version C it was based upon for that long. 2020-12-14T23:13:47Z badcfe: White_Flame: 'it's a formal representation, not a human language' refers to lisp? 2020-12-14T23:14:55Z jprajzne quit (Quit: jprajzne) 2020-12-14T23:15:21Z edgar-rft: jasom: of course *you* are free to do whatever you want, but maybe *I* wouldn't do the same :-) 2020-12-14T23:16:22Z edgar-rft: jasom: what if your old C compiler doesn't work anymore after an OS update? 2020-12-14T23:17:44Z jasom: edgar-rft: pretty sure the compiler vendor was included in the contract 2020-12-14T23:18:47Z Nilby: Eventually I think Common Lisp will have enough defacto extensions, like unicode, PLN, getenv, run-program, etc. which every implementation already supports, that it'll just be useful write them all up. 2020-12-14T23:18:53Z jasom: plus I have code I wrote that is older than the C ANSI standard that most compilers will still compile with the correct flags. 2020-12-14T23:19:53Z jibanes quit (Ping timeout: 260 seconds) 2020-12-14T23:20:47Z edgar-rft: jasom: I din't mean that it's impossible, I only said that *I* wouldn't want to do it, maybe for just the simple reasom that I'm a complete idiot. 2020-12-14T23:21:51Z jibanes joined #lisp 2020-12-14T23:22:17Z jasom: I get your point; I just think C was a poor example given that Python is actually this terrible. I have a build-system that some components won't work with anything newer than 2.3 and other components require 2.7; it's terrible. 2020-12-14T23:23:45Z oni-on-ion joined #lisp 2020-12-14T23:24:26Z edgar-rft: I agree that there are things in life that are even more terrible than C :-) 2020-12-14T23:24:52Z oni-on-ion: i like C =) 2020-12-14T23:25:10Z oni-on-ion: but grew up on it; mother tongue. 2020-12-14T23:27:00Z jibanes quit (Ping timeout: 256 seconds) 2020-12-14T23:28:08Z jibanes joined #lisp 2020-12-14T23:29:17Z surabax quit (Quit: Leaving) 2020-12-14T23:29:44Z villanella quit (Ping timeout: 258 seconds) 2020-12-14T23:29:49Z jprajzne joined #lisp 2020-12-14T23:31:37Z edgar-rft: jasom: Python made Adam and Eve getting banned from paradise. 2020-12-14T23:32:12Z edgar-rft: okay, this definitely going -> #lispcafe :-) 2020-12-14T23:35:36Z jibanes quit (Ping timeout: 240 seconds) 2020-12-14T23:37:37Z jibanes joined #lisp 2020-12-14T23:37:47Z ebrasca quit (Remote host closed the connection) 2020-12-14T23:39:28Z adlai: badcfe: there are a few hidden assumptions at play when you try to answer a question like that 2020-12-14T23:40:47Z defunkydrummer left #lisp 2020-12-14T23:41:00Z greisean quit (Quit: greisean) 2020-12-14T23:43:03Z Oladon joined #lisp 2020-12-14T23:43:45Z imode quit (Quit: WeeChat 2.9) 2020-12-14T23:47:37Z jibanes quit (Ping timeout: 264 seconds) 2020-12-14T23:49:12Z jibanes joined #lisp 2020-12-14T23:49:22Z EvW quit (Ping timeout: 260 seconds) 2020-12-14T23:55:30Z igemnace joined #lisp 2020-12-15T00:00:18Z EvW joined #lisp 2020-12-15T00:02:32Z gxt joined #lisp 2020-12-15T00:14:20Z oni-on-ion: jackdaniel, https://nyxt.atlas.engineer/ ? 2020-12-15T00:17:09Z jibanes quit (Ping timeout: 265 seconds) 2020-12-15T00:19:02Z jibanes joined #lisp 2020-12-15T00:22:43Z varjag quit (Quit: ERC (IRC client for Emacs 28.0.50)) 2020-12-15T00:24:52Z jprajzne quit (Quit: jprajzne) 2020-12-15T00:25:17Z jprajzne joined #lisp 2020-12-15T00:27:44Z akoana joined #lisp 2020-12-15T00:27:52Z badcfe: am i wrong in assuming i can become fluent in common lisp, and go ahead and write whatever program in common lisp? someone mentioned it was more of a methematical thingy, not for humans ... 2020-12-15T00:28:10Z phoe: what 2020-12-15T00:28:19Z jasom: badcfe: yes, you can go ahead and write whatever program in common lisp 2020-12-15T00:28:20Z phoe: Lisp is a language for humans 2020-12-15T00:28:32Z phoe: and a pretty nice and useful and interactive one, to add. 2020-12-15T00:28:37Z oni-on-ion: it is much more for humans than most other programming languages, for sure. 2020-12-15T00:28:45Z patrickp left #lisp 2020-12-15T00:28:54Z oni-on-ion: (ironically one of the reasons it is not my #1) 2020-12-15T00:28:57Z badcfe: the restart facility just bothers me, because i dont appretiate its value. 2020-12-15T00:29:14Z phoe: don't use it, then 2020-12-15T00:29:34Z phoe: you might appreciate it e.g. when you end up in the debugger but don't want to kill the lisp process 2020-12-15T00:29:51Z phoe: or when you want to gracefully recover from some error situation without breaking it altogether. 2020-12-15T00:30:06Z badcfe: but it's extremely interesting, and surprising this kind of thing doesnt exist in other langs/envs 2020-12-15T00:30:38Z phoe: they don't find much value in interactive restarting facilities because they usually have no interactivity baked into the language 2020-12-15T00:30:41Z badcfe: i just dont have it in my workflow or something like that 2020-12-15T00:30:48Z phoe: same with programmatic recovery actions. 2020-12-15T00:31:16Z phoe: usually it's "oh shit, we're dead, throw an exception and hope something catches it" 2020-12-15T00:31:17Z badcfe: so it was impossible to inherit this nice restart concept in other langs/envs? 2020-12-15T00:31:30Z phoe: badcfe: it's possible to implement it in other languages as a library 2020-12-15T00:31:44Z phoe: see e.g. https://github.com/phoe-trash/cafe-latte - Java 2020-12-15T00:31:53Z badcfe: can i programatically restart in clisp? 2020-12-15T00:32:01Z phoe: you mean the CLISP implementation? 2020-12-15T00:32:11Z phoe: uh, sure? it implements common lisp, so it has restarts too 2020-12-15T00:32:13Z badcfe: no. i meant common lisp 2020-12-15T00:32:18Z phoe: oh, that's a different thing 2020-12-15T00:32:19Z phoe: yes 2020-12-15T00:32:31Z phoe: you can use functions COMPUTE-RESTARTS and FIND-RESTART to grab a hold of a restart object 2020-12-15T00:32:39Z badcfe: phoe: you refer to gnu with clisp right? 2020-12-15T00:32:48Z phoe: and then use INVOKE-RESTART or INVOKE-RESTART-INTERACTIVELY to call it 2020-12-15T00:32:57Z phoe: badcfe: yes, I refer to the GNU CLISP implementation when I think "CLISP" 2020-12-15T00:33:06Z phoe: CLISP is not a good acronym for Common Lisp though; CL is better. 2020-12-15T00:33:37Z badcfe: is programatic restart the way to go in c-lisp, as kind of an exception handling, but where the throw-site defines teh action 2020-12-15T00:33:56Z badcfe: i'll use CL to refer to common lisp from now on 2020-12-15T00:34:09Z phoe: I need to run to sleep now 2020-12-15T00:34:20Z phoe: so I can't provide in-depth answers 2020-12-15T00:34:46Z badcfe: don't run to hard .. it might take away potential for good sleep 2020-12-15T00:34:46Z phoe: if you're fine with grabbing a book, I can point you towards "The Common Lisp Condition System" that describes restarts as well as conditions and handlers 2020-12-15T00:34:51Z phoe: :D 2020-12-15T00:34:58Z phoe: ;; warning: the book is by me, so this is a shameless plug 2020-12-15T00:35:10Z badcfe: i saw this link which looked nice https://franz.com/support/documentation/cl-ansi-standard-draft-w-sidebar.pdf 2020-12-15T00:35:26Z badcfe: point me to your book please 2020-12-15T00:35:33Z phoe: https://www.apress.com/us/book/9781484261330 2020-12-15T00:35:46Z badcfe: thank you. and have a good sleep 2020-12-15T00:35:48Z phoe: the standard is OK, but it doesn't tell you about how it's implemented or what are its common use cases 2020-12-15T00:35:55Z phoe: that's where I tried to fill the void. 2020-12-15T00:36:00Z phoe waves, goes for the night 2020-12-15T00:36:19Z badcfe: i find that perspective very interesting to me as well. 2020-12-15T00:36:32Z badcfe: ciao 2020-12-15T00:42:43Z Oladon quit (Quit: Leaving.) 2020-12-15T00:43:29Z edgar-rft: phoe: your answers will be as deep as your sleep :-) 2020-12-15T00:44:26Z jprajzne quit (Quit: jprajzne) 2020-12-15T00:44:51Z jprajzne joined #lisp 2020-12-15T00:44:54Z edgar-rft: badcfe: the standard link for "Howto Get Started with Common Lisp" -> https://www.cliki.net/Getting%20Started 2020-12-15T00:51:43Z edgar-xyz joined #lisp 2020-12-15T00:53:22Z edgar-rft quit (Ping timeout: 246 seconds) 2020-12-15T00:59:37Z jibanes quit (Ping timeout: 264 seconds) 2020-12-15T00:59:51Z jprajzne quit (Quit: jprajzne) 2020-12-15T01:00:16Z jprajzne joined #lisp 2020-12-15T01:00:32Z skapata quit (Remote host closed the connection) 2020-12-15T01:01:03Z jibanes joined #lisp 2020-12-15T01:01:53Z thecoffemaker quit (Quit: So long and thanks for all the fish!) 2020-12-15T01:04:15Z thecoffemaker joined #lisp 2020-12-15T01:04:26Z jprajzne quit (Client Quit) 2020-12-15T01:04:51Z jprajzne joined #lisp 2020-12-15T01:06:50Z orivej quit (Quit: No Ping reply in 180 seconds.) 2020-12-15T01:07:59Z orivej joined #lisp 2020-12-15T01:14:41Z nij joined #lisp 2020-12-15T01:15:11Z imode joined #lisp 2020-12-15T01:18:51Z dbotton joined #lisp 2020-12-15T01:18:51Z Nilby quit (Read error: Connection reset by peer) 2020-12-15T01:19:21Z bilegeek_ joined #lisp 2020-12-15T01:19:55Z jprajzne quit (Quit: jprajzne) 2020-12-15T01:20:19Z Stanley00 joined #lisp 2020-12-15T01:21:16Z nij: I have a common lisp file that is growing, and getting messier. I don't mean to package it, but have a need to separate the codes into different files. What's the next step I should look into? Should I start learning how to use ASD? 2020-12-15T01:21:37Z Stanley00 quit (Remote host closed the connection) 2020-12-15T01:22:42Z bilegeek quit (Ping timeout: 260 seconds) 2020-12-15T01:22:59Z no-defun-allowed: Usually you have files in packages, then packages in systems. But then you load all the files with an ASDF system. 2020-12-15T01:24:23Z nij: Hm! OK It seems the right time for me to know all these things anyway: a file, a package, a file, and an ASDF system. I know where to look into these :) Thanks!!! 2020-12-15T01:27:24Z badcfe: the set of function in onlisp seems practical to have. is there a package that has this, or only his source which was extracted from the latix and has a copiright notice that makes it feel like i should not fix up the mentioned problems with CTL1 and redefinitions 2020-12-15T01:28:24Z nij: Any hope to deal with common lisp smoothly without using emacs? Just curious as my friend is asking. 2020-12-15T01:28:32Z badcfe: s/function/lisp functions and macros/ 2020-12-15T01:28:42Z no-defun-allowed: There's SLIMV for Vim and something for Atom too. 2020-12-15T01:29:27Z nij: Nice. I need to brainwash him to use vim first anyways. 2020-12-15T01:29:49Z jprajzne joined #lisp 2020-12-15T01:31:15Z PuercoPop: nij: yeah, defining a system sounds like a good idea. You can start with $ echo '(defsystem "foo" :components ((:file "foo")))' > foo.asd 2020-12-15T01:31:49Z wxie joined #lisp 2020-12-15T01:34:19Z nij quit (Ping timeout: 258 seconds) 2020-12-15T01:47:18Z orivej_ joined #lisp 2020-12-15T01:47:26Z orivej quit (Read error: Connection reset by peer) 2020-12-15T01:48:57Z Lord_of_Life_ joined #lisp 2020-12-15T01:49:32Z jibanes quit (Ping timeout: 260 seconds) 2020-12-15T01:49:56Z Lord_of_Life quit (Ping timeout: 240 seconds) 2020-12-15T01:50:18Z Lord_of_Life_ is now known as Lord_of_Life 2020-12-15T01:51:15Z jibanes joined #lisp 2020-12-15T01:54:15Z epony quit (Quit: upgrades) 2020-12-15T01:58:38Z rogersm joined #lisp 2020-12-15T01:58:43Z entre-parenteses: nlj: If you're planning to brainwash him to use Vim anyways, you could always try to get him hooked on Spacemacs - https://www.spacemacs.org/ 2020-12-15T01:59:16Z entre-parenteses: * nij: 2020-12-15T02:00:19Z entre-parenteses: Then you'd get him hooked on Emacs *and* Vim ;D 2020-12-15T02:03:03Z badcfe: is this spacemacs built on emacs and has the elisp inside? 2020-12-15T02:03:32Z rogersm quit (Ping timeout: 260 seconds) 2020-12-15T02:03:36Z badcfe: is there a hello world lisp system containing asd and all, kind of a template project to start with? 2020-12-15T02:04:00Z badcfe: also, i wonder how to kind of "make" the system into an executable. 2020-12-15T02:04:23Z badcfe: found this but its dated so no asdf there .. http://www.peter-herth.de/ltk/ltkdoc/node51.html 2020-12-15T02:04:57Z entre-parenteses: badcfe: The way I think about it, Spacemacs is a lot of configuration on top of emacs (so, yes, it's elisp). 2020-12-15T02:05:07Z toorevitimirp quit (Ping timeout: 246 seconds) 2020-12-15T02:05:40Z lucasb quit (Quit: Connection closed for inactivity) 2020-12-15T02:06:04Z entre-parenteses: I may be wrong but I think ASDF generally comes with many implementations - I know it comes with SBCL, at least. 2020-12-15T02:06:49Z entre-parenteses: To turn systems into executables, I've used roswell before. https://github.com/roswell/roswell 2020-12-15T02:07:15Z entre-parenteses: But I think ASDF can do this, too (although I haven't done it, myself). 2020-12-15T02:08:44Z Bike: man 2020-12-15T02:12:52Z no-defun-allowed: On SBCL, you can run (save-lisp-and-die "program" :executable t :toplevel #'program:main) 2020-12-15T02:13:40Z solideogloria[m]: :compression t for binary compression 2020-12-15T02:14:14Z curiouscain: ASDF can create executables, here's an asd file from a project of mine. Look at the three lines starting at line 6: https://paste.sr.ht/~cain/d39f6b89d2fa733326af86ba67962d031ffbd5b4 2020-12-15T02:14:41Z badcfe: wow in sbcl i did (ql:quickload :ltk) and then (in-package :ltk) and then i can program all these GUI things, nice 2020-12-15T02:14:52Z curiouscain: I think (asdf:make) will trigger it, but I can't remember 2020-12-15T02:14:54Z jprajzne quit (Quit: jprajzne) 2020-12-15T02:15:08Z badcfe: my problem is, if i learn this, then snap! and it becomes unmaintained and unavailable 2020-12-15T02:16:07Z lotuseater: badcfe: then you have a way better chance (and maybe more awesome experience) with McCLIM 2020-12-15T02:16:40Z badcfe: but it will go away again faster than something based on TK i would think 2020-12-15T02:16:55Z defunkydrummer joined #lisp 2020-12-15T02:17:06Z lotuseater: ehm no, McCLIM not 2020-12-15T02:17:07Z no-defun-allowed: I don't think Tk is going away soon. 2020-12-15T02:17:39Z badcfe: tk is decent. i dont like flies that snapps hype and then dies 2020-12-15T02:17:51Z solideogloria[m]: I just use cl-cffi-gtk 2020-12-15T02:18:12Z defunkydrummer: no-defun-allowed: tk got a new life lease thanks to Python (TkInter). It is also rather easy to use. 2020-12-15T02:18:18Z badcfe: cffi to gtk sounds like a decent approach 2020-12-15T02:18:19Z defunkydrummer: I like LTK. 2020-12-15T02:18:34Z defunkydrummer: LTK works fine and it's multiplatform 2020-12-15T02:18:41Z defunkydrummer: fine for simple UIs 2020-12-15T02:18:42Z badcfe: i had some fun with tcltk way back 2020-12-15T02:18:57Z badcfe: and also py tkinter yes 2020-12-15T02:19:33Z EvW quit (Ping timeout: 258 seconds) 2020-12-15T02:19:52Z jprajzne joined #lisp 2020-12-15T02:19:54Z badcfe: ltk seems good, but should i take last update 2006 as a bad sign. or not 2020-12-15T02:20:33Z no-defun-allowed: Again, Tk isn't going anywhere, so there's no reason for it to be bad. 2020-12-15T02:20:38Z badcfe: maybe bindings to ltk is not problematic, and this package will stay around. i dont even know about this quicklisp ecosystem, im not confident to rely on these things. 2020-12-15T02:20:53Z lotuseater: badcfe: I'm annoying I know https://common-lisp.net/project/mcclim/ 2020-12-15T02:21:44Z badcfe: lotuseater: i must say it seems decent 2020-12-15T02:22:00Z lotuseater: ok 2020-12-15T02:22:38Z epony joined #lisp 2020-12-15T02:22:48Z lotuseater: can someone explain to me in simple words what an interface manager advances from just doing guis? 2020-12-15T02:23:03Z badcfe: are there some cairo kind of thing for drawing (i am abs newb in the lisp world) 2020-12-15T02:23:16Z solideogloria[m]: there is cairo itself 2020-12-15T02:23:22Z moon-chilled is now known as moon-child 2020-12-15T02:23:32Z badcfe: solideogloria[m]: via ffi ? 2020-12-15T02:23:38Z solideogloria[m]: yeah 2020-12-15T02:23:45Z solideogloria[m]: http://www.crategus.com/books/cl-gtk/gtk-tutorial.html 2020-12-15T02:23:52Z lotuseater: badcfe: don't worry, there is so much stuff 2020-12-15T02:23:56Z solideogloria[m]: it has some on the cairo stuff 2020-12-15T02:24:27Z defunkydrummer: badcfe: bad sign, why? 2020-12-15T02:24:41Z defunkydrummer: badcfe: tk hasn't changed and lisp neither 2020-12-15T02:25:24Z defunkydrummer: badcfe: and besides that, it has been maintained on github, I'm certain last commit isn't that old, perhaps 2018 2020-12-15T02:25:31Z badcfe: defunkydrummer: but how can i be confident some module that i get my hands on through this quicklisp today will be available forward 2020-12-15T02:26:18Z solideogloria[m]: depends on the module 2020-12-15T02:26:23Z kaftejiman__ quit (Remote host closed the connection) 2020-12-15T02:26:25Z badcfe: defunkydrummer: maybe with lisp its easier to grab some lisp system and it will work without a bunch of various broken system deps and things 2020-12-15T02:26:25Z solideogloria[m]: tk isn't going to go away because of python 2020-12-15T02:26:33Z curiouscain: Unless it fails to compile or is devoid of features, I think that's not a worry you really need to have 2020-12-15T02:27:19Z lotuseater: badcfe: phew one can really tell that you are a newbie :) 2020-12-15T02:27:43Z defunkydrummer: badcfe: i don't understand your concerns. How is this different to using an external dependency on any other language? 2020-12-15T02:27:58Z defunkydrummer: lotuseater: let's be kind to newbies 2020-12-15T02:28:13Z lotuseater: defunkydrummer: it was meant very kind! 2020-12-15T02:28:42Z badcfe: wow, that cl-cffi-gtk has WAY more contents and deps than the ltk 2020-12-15T02:29:14Z solideogloria[m]: well it is gtk at the end of the day which is huge of itself 2020-12-15T02:29:22Z solideogloria[m]: * well it is gtk at the end of the day which is huge 2020-12-15T02:31:51Z badcfe: (defcstruct g-object-class ... wow this is advanced stuff 2020-12-15T02:32:16Z solideogloria[m]: glib stuff 2020-12-15T02:32:20Z badcfe: really wrapping gtk decently. and it has some bordeaux threads thing inside there? 2020-12-15T02:33:17Z solideogloria[m]: glib has its own threading stuff iirc 2020-12-15T02:33:54Z badcfe: so i'm guessing lisp structures are used as builders of the gobjects and structures in the gui event loop here, and on callbacks there are lisp accessors to the gui engine things 2020-12-15T02:34:27Z solideogloria[m]: to gtk libraries, yes 2020-12-15T02:34:38Z solideogloria[m]: it's cffi 2020-12-15T02:34:41Z badcfe: so lisp is kind of arm-waving at, and getting shadows from, the gui engine including those gobjects and all 2020-12-15T02:34:53Z solideogloria[m]: kind of, yes 2020-12-15T02:34:58Z badcfe: facinating. i am positively surprised. 2020-12-15T02:35:22Z badcfe: this could be a motivator to play a little more with lisp here. have fun 2020-12-15T02:35:47Z lotuseater: you have this with CFFI in general :) 2020-12-15T02:36:04Z badcfe: s/have fun/to have fun exploring this and building some neat thing as a side effect/ 2020-12-15T02:36:36Z solideogloria[m]: yeah, its the same thing for libaries using CFFI 2020-12-15T02:37:01Z badcfe: is there some hello world around? kind of a template project i could start with? 2020-12-15T02:37:04Z solideogloria[m]: interfacing with the C libraries with lisp and giving bindings for their respective stuff in C 2020-12-15T02:37:15Z solideogloria[m]: http://www.crategus.com/books/cl-gtk/gtk-tutorial.html#GTK+_and_Cairo 2020-12-15T02:37:18Z solideogloria[m]: > <@freenode_badcfe:matrix.org> is there some hello world around? kind of a template project i could start with? 2020-12-15T02:37:18Z solideogloria[m]: * http://www.crategus.com/books/cl-gtk/gtk-tutorial.html 2020-12-15T02:37:21Z solideogloria[m]: its all in here 2020-12-15T02:37:30Z badcfe: (i still wonder if its common to build an executable in lisp, i now use sbcl) 2020-12-15T02:37:48Z solideogloria[m]: you build an executable only when you release 2020-12-15T02:37:57Z solideogloria[m]: till the, you test with the repl itself 2020-12-15T02:38:01Z solideogloria[m]: * till then, you test with the repl itself 2020-12-15T02:38:24Z lotuseater: there is also this about CFFI: https://www.youtube.com/watch?v=A5CnYlG7sc8 2020-12-15T02:38:25Z solideogloria[m]: Example 1.2 btw badcfe 2020-12-15T02:39:14Z solideogloria[m] sent a long message: < https://matrix.org/_matrix/media/r0/download/matrix.org/GDMtYnwTMhYxdFktBecuLjYC/message.txt > 2020-12-15T02:39:23Z solideogloria[m]: just substitute asdf:load-system with ql:quickload 2020-12-15T02:41:09Z jibanes quit (Ping timeout: 260 seconds) 2020-12-15T02:42:33Z jibanes joined #lisp 2020-12-15T02:43:09Z badcfe: debugger invoked on a SB-INT:SIMPLE-PROGRAM-ERROR in thread 2020-12-15T02:43:09Z badcfe: #: 2020-12-15T02:43:09Z badcfe: invalid number of arguments: 2 2020-12-15T02:43:28Z orivej_ quit (Ping timeout: 260 seconds) 2020-12-15T02:44:00Z solideogloria[m]: are you using SLIME ? 2020-12-15T02:44:09Z badcfe: hmm. i tried the A simple application. example, and (in-package :gtk) and tehn (simple-application) 2020-12-15T02:44:37Z solideogloria[m]: :gtk-tutorial, :gtk is already another package 2020-12-15T02:45:09Z pfdietz joined #lisp 2020-12-15T02:46:30Z solideogloria[m]: if you are using slime, you have to do something different 2020-12-15T02:46:31Z badcfe: okay i got that window up. good 2020-12-15T02:46:50Z solideogloria[m]: nice to hear :) 2020-12-15T02:47:20Z Stanley00 joined #lisp 2020-12-15T02:47:24Z solideogloria[m]: I remember that I had to do something to get it working on SLIME, can't recall what exactly 2020-12-15T02:47:34Z solideogloria[m]: when I used to use SLIME 2020-12-15T02:47:54Z badcfe: but when i try to run that gtk_class_gtk-application i get above err, and seems to have some thread due to what i observe in my job control there 2020-12-15T02:48:15Z badcfe: i use rlwrap sbcl 2020-12-15T02:48:33Z badcfe: 8 - / 2020-12-15T02:48:36Z defunkydrummer: badcfe: no, it's not common 2020-12-15T02:49:37Z solideogloria[m]: gtk_class_gtk-application from the tutorial ? 2020-12-15T02:50:12Z jibanes quit (Ping timeout: 260 seconds) 2020-12-15T02:50:21Z badcfe: http://www.crategus.com/books/cl-cffi-gtk/pages/gtk_class_gtk-application.html 2020-12-15T02:52:05Z jibanes joined #lisp 2020-12-15T02:54:08Z PuercoPop: badcfe: for a template there is https://github.com/xach/quickproject or https://github.com/guicho271828/eazy-project 2020-12-15T02:57:58Z mfiano quit (Ping timeout: 256 seconds) 2020-12-15T02:59:33Z rogersm joined #lisp 2020-12-15T02:59:51Z solideogloria[m]: its (g-application-run app argc argv) I think 2020-12-15T02:59:52Z jprajzne quit (Quit: jprajzne) 2020-12-15T03:00:18Z jprajzne joined #lisp 2020-12-15T03:00:26Z solideogloria[m]: it needs an argc 2020-12-15T03:04:12Z rogersm quit (Ping timeout: 256 seconds) 2020-12-15T03:05:22Z entre-parenteses quit (Remote host closed the connection) 2020-12-15T03:07:33Z luckless quit (Quit: luckless) 2020-12-15T03:09:26Z jprajzne quit (Quit: jprajzne) 2020-12-15T03:16:05Z epony quit (Read error: Connection reset by peer) 2020-12-15T03:19:46Z devon joined #lisp 2020-12-15T03:23:15Z epony joined #lisp 2020-12-15T03:23:32Z badcfe quit (Quit: Lost terminal) 2020-12-15T03:26:21Z slyrus quit (Quit: Leaving) 2020-12-15T03:36:19Z ldbeth joined #lisp 2020-12-15T03:36:22Z ldbeth: good morning 2020-12-15T03:36:32Z no-defun-allowed: Hello ldbeth. 2020-12-15T03:37:18Z PuercoPop quit (Ping timeout: 260 seconds) 2020-12-15T03:38:30Z loli quit (Quit: WeeChat 2.9) 2020-12-15T03:43:02Z loli joined #lisp 2020-12-15T03:43:50Z galex-713 quit (Ping timeout: 264 seconds) 2020-12-15T03:46:47Z ldbeth: can I use #'eq hash table if keys are assumed to be fixnum? 2020-12-15T03:47:02Z no-defun-allowed: You want #'eql for fixnums. 2020-12-15T03:49:19Z ldbeth: ok, so is there a way to utilize the result of #'sxhash to make hash tables with custom hash function? 2020-12-15T03:50:28Z ldbeth: say if i want a list of character as keys, and the order doesn't matter 2020-12-15T03:51:31Z Oladon joined #lisp 2020-12-15T03:51:33Z Stanley00 quit (Remote host closed the connection) 2020-12-15T03:51:38Z devon: Define gethash* to sxhash the key. 2020-12-15T03:52:06Z Bike: there's no standard way to do that. sbcl has an extension for it. dunno about other implementations. 2020-12-15T03:52:24Z galex-713 joined #lisp 2020-12-15T03:53:51Z ldbeth uses CCL 2020-12-15T03:55:26Z no-defun-allowed: I think you can provide a custom :test and :hash-function on Clozure. 2020-12-15T03:55:32Z jprajzne joined #lisp 2020-12-15T03:55:48Z ldbeth: no-defun-allowed: thank you for the info 2020-12-15T03:55:57Z no-defun-allowed: eg (make-hash-table :test '= :hash-function 'round) 2020-12-15T03:59:27Z jprajzne quit (Client Quit) 2020-12-15T03:59:52Z jprajzne joined #lisp 2020-12-15T04:00:13Z ldbeth: no-defun-allowed: but how do you know with kind of tests are avaliable? 2020-12-15T04:00:29Z no-defun-allowed: I think you can pass any predicate function. 2020-12-15T04:00:36Z rogersm joined #lisp 2020-12-15T04:01:30Z no-defun-allowed: However, I recall custom hash tables being much slower on SBCL than standard hash tables; which is a pity, because otherwise I could do (make-hash-table :test 'string= :hash-function 'djb2) 2020-12-15T04:02:09Z ldbeth: ah, i see, only the #'eql #'eq etc can be passed as argument as in CL standard, others should be passed as 'char= 'string= etc 2020-12-15T04:02:28Z Alfr_ joined #lisp 2020-12-15T04:03:07Z dbotton quit (Ping timeout: 260 seconds) 2020-12-15T04:04:24Z beach: Good morning everyone! 2020-12-15T04:04:34Z ldbeth: beach: heloo 2020-12-15T04:04:58Z Alfr quit (Ping timeout: 258 seconds) 2020-12-15T04:05:01Z rogersm quit (Ping timeout: 264 seconds) 2020-12-15T04:10:25Z defunkydrummer quit (Quit: (save-lisp-and-die)) 2020-12-15T04:10:42Z _jrjsmrtn quit (Ping timeout: 260 seconds) 2020-12-15T04:10:57Z __jrjsmrtn__ joined #lisp 2020-12-15T04:11:11Z no-defun-allowed: Yes, only those test functions are allowed by the Common Lisp standard. 2020-12-15T04:13:24Z cl-arthu1 joined #lisp 2020-12-15T04:14:09Z no-defun-allowed: But SICL hash tables and Luckless permit any hash and test functions, and are basically drop-in replacements for Common Lisp hash tables. (Except that hash functions based on the address of an object will not work in either, if your implementation moves objects.) 2020-12-15T04:15:21Z Stanley00 joined #lisp 2020-12-15T04:16:10Z cl-arthur quit (Ping timeout: 256 seconds) 2020-12-15T04:16:54Z bitmapper quit (Quit: Connection closed for inactivity) 2020-12-15T04:21:16Z quazimodo quit (Ping timeout: 246 seconds) 2020-12-15T04:23:05Z quazimodo joined #lisp 2020-12-15T04:25:14Z ldbeth: no-defun-allowed: at least sxhash should be guaranteed to work 2020-12-15T04:28:43Z nwoob joined #lisp 2020-12-15T04:30:55Z narimiran joined #lisp 2020-12-15T04:33:42Z ldbeth` joined #lisp 2020-12-15T04:35:26Z ldbeth quit (Ping timeout: 256 seconds) 2020-12-15T04:37:29Z Bike quit (Quit: Lost terminal) 2020-12-15T04:38:02Z easye: Mornin' #lisp. Time to make CONS. 2020-12-15T04:38:58Z beach: Hello easye. 2020-12-15T04:39:12Z beach: How are your projects going? 2020-12-15T04:39:55Z jprajzne quit (Quit: jprajzne) 2020-12-15T04:40:18Z jprajzne joined #lisp 2020-12-15T04:42:14Z wxie quit (Ping timeout: 256 seconds) 2020-12-15T04:42:45Z ldbeth` left #lisp 2020-12-15T04:46:08Z easye: beach: I just joined RavenPack, so right now most of my energy is going into learning the code base. 2020-12-15T04:46:21Z beach: Oh, nice! Did you move? 2020-12-15T04:46:27Z easye: I will try to get an abcl-1.8.1 out over the holidays. 2020-12-15T04:46:57Z beach: Great! 2020-12-15T04:47:00Z easye: I am working with phoe to get ELS 2021 airborne, hopefully to get the CFP out before the holidays. 2020-12-15T04:47:22Z easye: So, a lot of stuff. 2020-12-15T04:47:26Z beach: Yes, I see. 2020-12-15T04:48:00Z easye: Moving isn't possible at the moment. I will evaluate things when the pandemic starts to tamper off, which probably won't be until late 2021. 2020-12-15T04:48:13Z beach: OK. 2020-12-15T04:48:49Z easye: But I think living in dense urban cities isn't necessarily my thing anymore, so Southern Spain sounds quite attractive at this point. 2020-12-15T04:49:17Z beach: Yeah, I wouldn't mind living there at all. 2020-12-15T04:49:18Z easye: "Cites are so 20th century" and all that. 2020-12-15T04:49:25Z beach: I agree, yes. 2020-12-15T04:49:32Z saganman: Morning beach 2020-12-15T04:49:38Z beach: easye: Where do you live now? 2020-12-15T04:49:58Z easye: Really, if I had to pick a beach, I would move in your neck of the woods, to around an hour north of Biaritz. 2020-12-15T04:50:05Z easye lives in Vienna, Austria. 2020-12-15T04:50:51Z beach: Yes, our region is pretty nice actually. 2020-12-15T04:51:28Z easye: French food, and the sheer amount of great stuff y'all have in your hypermarks is magnitudes better than what is available in Austria. 2020-12-15T04:51:44Z easye: And it has gotten much better over the last couple decades here. 2020-12-15T04:51:54Z easye: s/hypermarks/hypermarts/ 2020-12-15T04:52:15Z beach: Hmm, yes, I see. 2020-12-15T04:52:59Z Cthulhux quit (Quit: ne praeteriverit priusquam obesa cantaverit) 2020-12-15T04:53:18Z easye: And groceries in France are considerably cheaper than in Austria. When I have been shopping in France, a full basket of great stuff rarely breaks 100EUR. In Austria, the same stuff at less quality would easily break 300 EUR. 2020-12-15T04:53:18Z Cthulhux joined #lisp 2020-12-15T04:53:46Z beach: Wow, quite a big difference. 2020-12-15T04:54:06Z easye: Yeah, I was very surprised that there is such a differential in the EU. 2020-12-15T04:54:26Z jprajzne quit (Quit: jprajzne) 2020-12-15T04:54:39Z easye: And how are your projects going, beach? 2020-12-15T04:54:47Z beach: Very well thank you. 2020-12-15T04:54:51Z jprajzne joined #lisp 2020-12-15T04:55:11Z beach: I just finished version 3 of the SICL bootstrapping procedure. 2020-12-15T04:55:25Z beach: Too bad it had to take three trials to get it right. 2020-12-15T04:55:39Z easye: Third time's the charm. 2020-12-15T04:55:40Z beach: But that's life. Nobody has done this before, so I had to learn by doing. 2020-12-15T04:55:56Z jeosol: Good morning all! 2020-12-15T04:56:03Z beach: Hello jeosol. 2020-12-15T04:56:08Z easye: Mornin' jeosol 2020-12-15T04:56:12Z jeosol: beach: congrats on that 2020-12-15T04:56:18Z beach: Thanks. 2020-12-15T04:56:22Z jeosol: easye, beach: hello 2020-12-15T04:56:43Z beach: There is still a lot of work left. How much is hard to say. 2020-12-15T05:00:01Z jeosol: beach: going through my CL archives, I came across a document you author, in 2000 or compiled by Loic Lacomme: "Symbolic programming using Common Lisp" 2020-12-15T05:00:15Z Oladon quit (Quit: Leaving.) 2020-12-15T05:01:00Z jeosol: it does contain good points when I was trying to justify CL for choice of a project back then - I no longer do this anyway, following advice here and elsewhere 2020-12-15T05:02:39Z jeosol: beach: the bootstrapping procedure, version 3, that's also probably in the spirit of iterative CL development 2020-12-15T05:12:13Z beach: I can't remember having written that document, but I am not surprised either. 2020-12-15T05:12:28Z wxie joined #lisp 2020-12-15T05:12:42Z jeosol: I think the person mentioned compiled it from notes, it seems but attributed the content to you 2020-12-15T05:12:53Z beach: jeosol: In this case, it is just that I was unable to predict the negative consequences of the choices I made for versions 1 and 2. 2020-12-15T05:13:03Z beach: Oh, I see. 2020-12-15T05:13:22Z jeosol: I see. So v1 and v2 are different from v3 2020-12-15T05:13:42Z beach: Similar in spirit, but different in the details. 2020-12-15T05:14:07Z beach: To the untrained eye, they look the same. 2020-12-15T05:14:57Z jeosol: I recently did some refactoring also using "layering" of problems and macros to automatically generate functions - always good feeling afterwards 2020-12-15T05:16:40Z jeosol: beach: oh ok. I saw a thread on reddit about parallel gc's or something a few of the lispers chiming in. Did you see it? 2020-12-15T05:17:09Z jeosol: Is parallel GC something you are looking into? FYI, I am not a compiler guy - not an expert in that space 2020-12-15T05:17:10Z beach: I don't think I did. 2020-12-15T05:17:26Z easye: 2020-12-15T05:17:41Z beach: Yes, the GC I designed for SICL is parallel and concurrent, but it hasn't been tested in real life yet. 2020-12-15T05:17:42Z jeosol: thanks easye, that's the link 2020-12-15T05:17:42Z easye: As I just commented, ABCL has parallel GC with the right JVM implementation. 2020-12-15T05:17:58Z beach: Oh, yes, I get the Pro mailing list. 2020-12-15T05:19:10Z beach: I need to vanish for a while. Busy morning today, with tasks unrelated to Common Lisp. 2020-12-15T05:19:22Z easye: l8r beach 2020-12-15T05:19:23Z jeosol: ok, we'll be here. 2020-12-15T05:20:35Z jeosol: easye: what are you working on these days? 2020-12-15T05:20:58Z easye: At the moment, commercial work with my new position at RavenPack. 2020-12-15T05:21:12Z easye: But I plan to get an abcl-1.8.1 out over the holidays. 2020-12-15T05:21:54Z jeosol: That's nice. You just got the role? 2020-12-15T05:22:26Z easye: no-defun-allowed managed to get ABCL working with the Project Loom green threads which I would like to add. 2020-12-15T05:22:26Z samebchase quit (Ping timeout: 260 seconds) 2020-12-15T05:22:45Z easye: jeosol: Yes, I joined RavenPack at the beginning of December. 2020-12-15T05:23:24Z jeosol: Sweet. Congrats. Is this the company based in Spain? I forget 2020-12-15T05:23:47Z easye: RavenPack has a mature CL codebase with lots of stuff to learn. 2020-12-15T05:24:46Z easye: Yes, RavenPack is based in Spain. We do "sentiment analysis" of data, providing structured feeds of unstructured data. 2020-12-15T05:25:33Z easye: The bread and butter at the moment is providing machine-readable "signals" for financial news, but we are actively expanding into general analysis of textual data. 2020-12-15T05:26:47Z lotuseater: sounds nice 2020-12-15T05:27:48Z easye: It is very nice, indeed, especially after a long drought of commerical work for me personally. To be doing it in our favorite CONS makes it extra so. 2020-12-15T05:29:20Z easye: And the people at RavenPack are top-notch to boot. 2020-12-15T05:29:55Z jprajzne quit (Quit: jprajzne) 2020-12-15T05:30:06Z lotuseater: oh that's a big plus. money isn't everything 2020-12-15T05:31:38Z zacts joined #lisp 2020-12-15T05:31:47Z zacts quit (Client Quit) 2020-12-15T05:32:55Z lotuseater: so you combine also data science and natural language processing (in text form) 2020-12-15T05:34:21Z jeosol: easye: favorite cons haha. very nice 2020-12-15T05:34:27Z easye: Exactly, and we are starting to incorporate Machine Learning for the buzzword trifecta. 2020-12-15T05:34:49Z jeosol: Are you guys using python for some of the ML work or it's all CL 2020-12-15T05:34:52Z jprajzne joined #lisp 2020-12-15T05:34:59Z lotuseater: oh that buzzword is new to me 2020-12-15T05:35:14Z easye: Yes, we are using Python for Machine Learning (Tensorflow). 2020-12-15T05:35:23Z jeosol: lotuseater: which? trifecta? 2020-12-15T05:35:57Z jeosol: easye: I see, I once looked at Gabor Melis's code and I realized he integrated with python do some of the ML work. 2020-12-15T05:36:04Z lotuseater: i worked a while for a data science company where mostly python is used, the libs are very mature :) 2020-12-15T05:36:05Z easye: And we actually use Java to massage the input sources into our classifiers. 2020-12-15T05:36:10Z aartaka_d joined #lisp 2020-12-15T05:36:18Z lotuseater: jeosol: yes trifecta 2020-12-15T05:36:20Z jeosol: lotuseater: true about the MLs. 2020-12-15T05:36:43Z jeosol: lotuseater: generally meaning three-pronged, three things, etc 2020-12-15T05:37:33Z lotuseater: yes and also pandas is cool for example. but back then (2018) i just was new to functional programming and far away from CL 2020-12-15T05:37:43Z lotuseater: ah okay 2020-12-15T05:37:57Z jeosol: easye: regarding your commercial statement, I seem to recall that some defense companies (US side) are using allegro works, I was in a few of their talks on Ontology and knowledge graphs 2020-12-15T05:38:20Z aartaka quit (Ping timeout: 256 seconds) 2020-12-15T05:38:53Z jeosol: lotuseater: pandas is nice. I recall someone (i forgot who) was developing a similar dataframe-based library in CL and has some applications 2020-12-15T05:39:30Z easye: RavenPack is an Allegro shop. Our semantic taxonomies are mostly home-grown, mainly for efficiency/speed. 2020-12-15T05:40:30Z easye: I did a lot of semantic web research in a former life, and really like processing things with RDF, so will bring that perspective, slowly, into focus. 2020-12-15T05:41:20Z lotuseater: allegro shop? 2020-12-15T05:41:42Z easye: RavenPack uses Allegro Common Lisp exclusively. 2020-12-15T05:42:15Z lotuseater: ah ok, was too obvious so i asked :D 2020-12-15T05:43:02Z lotuseater: i never tried on one of the commercial implementations 2020-12-15T05:43:34Z easye: This is my second job using commercial implementations, the previous one was using LispWorks. 2020-12-15T05:43:35Z jeosol: I see, there's a statement by RavenPack's Jason Cornez on Franz's site 2020-12-15T05:44:13Z easye: If you have the money, and you have a job to get done, it is nice having commericial support. 2020-12-15T05:44:20Z lotuseater: i would give everything even landing one 2020-12-15T05:44:38Z jeosol: I recall the talks by Jans talked about their rdfs 2020-12-15T05:45:22Z jeosol: easye: so you'd recommend Allegro. I hear it's slower compared to SBCL, I haven't done a test. 2020-12-15T05:45:46Z jeosol: I only used it briefly many years when starting out and figuring which compiler to start using 2020-12-15T05:46:02Z easye: I wouldn't recommend anything without knowing the context (how much money do you want to spend? What are your developers used to? etc.) 2020-12-15T05:46:23Z jeosol: what about their single digit revenue "clause". I thought there was something like that. May be different now. 2020-12-15T05:46:43Z easye: SBCL is a fine implementation. GOOG uses it for the air flight search application they acquired from ITA. 2020-12-15T05:46:56Z jeosol: easye: Fair point. What I meant about recommended is all within CL sphere, and in relation to LispWorks 2020-12-15T05:47:19Z easye: jeosol: Franz is definitely the ORCL of Common Lisp implementations in terms of cost and licensing, but their support is nicer. 2020-12-15T05:47:20Z jeosol: SBCL is what I have used primarily all through 2020-12-15T05:47:35Z jeosol: easye: Thanks for that. It's good to know 2020-12-15T05:48:01Z jeosol: My contact then stressed the support part. 2020-12-15T05:48:20Z easye: Anyways, nice chatting. I'm gonna start my "commute" to work now. 2020-12-15T05:48:33Z jeosol: Safe trip. Have a nice day 2020-12-15T05:48:48Z easye: Already there--it's more of mental thing. Take care. 2020-12-15T05:48:57Z jeosol: hahaha, ok 2020-12-15T05:49:13Z samebchase joined #lisp 2020-12-15T05:54:46Z aeth quit (Ping timeout: 256 seconds) 2020-12-15T05:54:46Z orivej joined #lisp 2020-12-15T05:55:13Z aeth joined #lisp 2020-12-15T05:55:35Z waleee-cl quit (Quit: Connection closed for inactivity) 2020-12-15T05:55:47Z UM-Li joined #lisp 2020-12-15T05:57:05Z no-defun-allowed: easye: Hey, sorry for the delay, I was gardening, but using Loom is not backwards compatible with OS threads. 2020-12-15T05:57:22Z no-defun-allowed: Or, more specifically, you have the same methods to spawn OS threads, then you have another method to spawn a green thread. 2020-12-15T05:58:08Z akoana quit (Quit: leaving) 2020-12-15T05:58:28Z no-defun-allowed: The change I made was to put `javaThread = Thread.startVirtualThread(r);` in the constructor for LispThread(Function, LispObject) instead of the other stuff to make a Java thread. 2020-12-15T05:59:14Z parjanya joined #lisp 2020-12-15T05:59:44Z easye: no-defun-allowed: cool. Would you recommend that as the way to spawn all threads when running on Loom then? 2020-12-15T05:59:54Z jprajzne quit (Quit: jprajzne) 2020-12-15T06:00:00Z no-defun-allowed: I don't see why not, currently. 2020-12-15T06:00:04Z easye: Gardening is a nice alternative. 2020-12-15T06:00:19Z easye: no-defun-allowed: Thanks. I'll get to that soon, then. 2020-12-15T06:01:02Z no-defun-allowed: But again, it's not backwards compatible with older Java, and Loom is based off a test of JDK 16, so it's not even compatible with anything stable. 2020-12-15T06:01:16Z rogersm joined #lisp 2020-12-15T06:01:35Z easye: Detecting the presence of the Thread.startVirtualThread() method should be sufficient. 2020-12-15T06:02:29Z easye: Do you know if Loom openjdk16 EAs are multi-platform? (I assume you are running Linux) 2020-12-15T06:02:33Z UM-Li quit (Quit: Konversation terminated!) 2020-12-15T06:02:43Z madage quit (Ping timeout: 240 seconds) 2020-12-15T06:04:00Z easye: looks pretty multi-platform. 2020-12-15T06:05:18Z galex-713_ joined #lisp 2020-12-15T06:05:29Z galex-713 quit (Ping timeout: 272 seconds) 2020-12-15T06:05:36Z rogersm quit (Ping timeout: 240 seconds) 2020-12-15T06:09:52Z jprajzne joined #lisp 2020-12-15T06:10:10Z UM-Li joined #lisp 2020-12-15T06:10:11Z jonatack quit (Read error: Connection reset by peer) 2020-12-15T06:11:50Z no-defun-allowed: I suppose so then. 2020-12-15T06:13:02Z bilegeek__ joined #lisp 2020-12-15T06:15:32Z bilegeek_ quit (Ping timeout: 260 seconds) 2020-12-15T06:16:00Z jonatack joined #lisp 2020-12-15T06:16:16Z bilegeek__ quit (Client Quit) 2020-12-15T06:19:14Z rgherdt quit (Ping timeout: 264 seconds) 2020-12-15T06:20:16Z frost-lab joined #lisp 2020-12-15T06:22:59Z no-defun-allowed: easye: I still wish there was an incremental and/or concurrent _and_ generational GC on Java. The first generational collector (to my knowledge, the Liebermann-Hewitt collector) was an extension of an incremental collector (Baker copying), so this feels like a bit of a step back. 2020-12-15T06:24:44Z easye: I thought GC1 was concurrent and generational, but without realtime guarantees. But I trust you have looked at the current state of JVM GCs a lot harder than I have in recent years. 2020-12-15T06:25:29Z no-defun-allowed: G1GC? I thought it stopped the world, at least for major GCs when not apparently in a failure mode. 2020-12-15T06:26:25Z no-defun-allowed: No, it is concurrent, but I always got pauses when...using it with large heaps with...soft-realtime stuff. 2020-12-15T06:26:38Z easye: sez: G1, however, will only “stop-the-world” during a full garbage collection. In addition to this, it also offers a variety of tuning options so that full collections can be avoided outright. 2020-12-15T06:26:54Z easye: But again, my knowledge of GCs on the JVM is pretty superficial. 2020-12-15T06:27:57Z easye: And my knowledge of the taxonomy of garbage collection algorithms is even lighter. 2020-12-15T06:28:49Z no-defun-allowed: I see. I think I got a major GC every few minutes, which was no fun to play on-- er, I mean no good for my...latency-sensitive application. 2020-12-15T06:29:17Z easye: Minecraft is a perfectly good application, training the next generation of Lispers... 2020-12-15T06:29:40Z easye: If it works for Minecraft, it oughta work for HFT 2020-12-15T06:29:54Z jprajzne quit (Quit: jprajzne) 2020-12-15T06:30:16Z no-defun-allowed: You got me. But a decent Minecraft modpack demands a large heap, and thus a clever GC. From what I heard, recent Minecraft conses up a lot of useless stuff like point objects, so the generational hypothesis would hold. 2020-12-15T06:30:18Z jprajzne joined #lisp 2020-12-15T06:32:09Z adlai: easye: to what extent does your employer have access to the signals and classifications? 2020-12-15T06:33:02Z adlai: one pervasive idiocy in finance is that you should sell signals, instead of trading on them yourself, then your signals are worth whatever your the willing sucker pays the happy seller 2020-12-15T06:33:13Z no-defun-allowed: But my observation could have been due to swapping as well; as I mentioned a few days ago, I got more memory around the same time I got into JVM occultism. And I read that G1 only stops the world when it's completely out of memory. 2020-12-15T06:34:16Z adlai: my question could be rephrased as "Does RavenPack sell its customers the actual signals, or a tool for building their own signal classifier and alert system" 2020-12-15T06:35:36Z easye: There is nothing trivial with games, their playing, or their optimization. Conway was a famous gamer. And according to all computer programs are isomorphic to a two-player static agmes. 2020-12-15T06:35:54Z saganman quit (Ping timeout: 256 seconds) 2020-12-15T06:36:18Z adlai incidentally is from the polar opposite finance dogmas, where the only possible good use of human-generated text is for consumption by humans, and anything automating human judgement is automatically suspect 2020-12-15T06:36:31Z no-defun-allowed: I had read a lot of the Handbook, but all the cool Java collectors do some clever analysis that I could describe as "they do the marking and count up the marks in regions, then lazily sweep the most unmarked regions", which I don't recall. 2020-12-15T06:36:34Z easye: adlai: RavenPack buys feeds like DowJones, and sells our own feeds enriched with semantics for the signals. 2020-12-15T06:37:29Z easye: That transformation is mostly proprietary, mainly because our customers have been interesting it things working well/fast rather than how they work. 2020-12-15T06:37:57Z easye: err "have been interested in" 2020-12-15T06:38:18Z adlai: it's also simpler to build and develop things that way 2020-12-15T06:39:03Z easye: We sell tools for enriching the signals to some extent primarily an online Juptyer-like notebook. 2020-12-15T06:39:26Z jprajzne quit (Quit: jprajzne) 2020-12-15T06:39:44Z easye: But I have only been at the company for a couple weeks now, and am engaged primarily as a CL hacker, so my statements may not entirely accurate. 2020-12-15T06:39:52Z jprajzne joined #lisp 2020-12-15T06:40:05Z no-defun-allowed: So what can I say, that's kinda neat. And they use mark information to decide what needs to be compacted, but moving regions and not large amounts of a heap sounds tedious. 2020-12-15T06:42:00Z easye: no-defun-allowed: What is the "Handbook" you refer to? 2020-12-15T06:42:10Z no-defun-allowed: It may be too much to hope for, but I would hope for another edition of the Handbook that covers these collectors in depth. 2020-12-15T06:42:30Z no-defun-allowed: easye: The Garbage Collection Handbook by Jones, Hosking and Moss 2020-12-15T06:42:49Z easye puts that on his reading list. 2020-12-15T06:44:51Z adlai: so RavenPack itself never touches any of the exchanges? I guess it is still possible to simulate a signal's effects, for reinforcement. 2020-12-15T06:45:34Z easye: adlai: "touching the exchanges" not as far as I know. We certainly don't have realtime/historical equity prices. 2020-12-15T06:46:06Z no-defun-allowed: beach told me that it is not the clearest to read at times, and I have to agree sadly. But it is still very useful to read. 2020-12-15T06:47:28Z froggey quit (Ping timeout: 256 seconds) 2020-12-15T06:47:47Z mrcom joined #lisp 2020-12-15T06:48:57Z adlai: easye: I'd expect that the market feed is an important factor for distinguishing noise about an event (where various [anti-]correlations in the time series reduce towards absolute zero), from noise about noise (where [anti-]correlations increase away from absolute zero, and you'd detect human amplification of e.g. a surprising quarterly report) 2020-12-15T06:49:14Z froggey joined #lisp 2020-12-15T06:49:58Z adlai: although I am probably "teaching to the choir", here, and should go study something myself 2020-12-15T06:53:07Z easye: Well, we are just transmitting the structure of events related to companies; e.g. "Oracle just poached so-and-so as SVP of marketing from Salesforce". What these events have to pricing doesn't really factor into such knowledge. The companies which use our feeds add that sort of information. 2020-12-15T06:54:26Z adlai finds the company's pandemic dashboard... that is probably a good free demo of what your paying customers get, for other contexts 2020-12-15T06:54:29Z easye: If we added pricing information to our decision, that would presuppose a pricing model. 2020-12-15T06:54:39Z hugh_marera quit (Quit: Connection closed) 2020-12-15T06:54:42Z easye: Yeah, the pandemic dashboard is a good public facing example. 2020-12-15T06:54:54Z jprajzne quit (Quit: jprajzne) 2020-12-15T06:55:14Z easye: But it is an interesting line to pursue about correlations. 2020-12-15T06:55:36Z mbomba joined #lisp 2020-12-15T06:55:49Z adlai: hmm, you could call yourselves a quality-pass filter between the data science garbage pipelines; although somehow "big data" is a more popular meme than "gigo" these days :( 2020-12-15T06:57:28Z hugh_marera joined #lisp 2020-12-15T06:58:51Z easye just calls himself "employed" at this point. 2020-12-15T06:59:45Z adlai: I think your employer's big group photo is a good site design choice, as a background to the executive mugshots... 2020-12-15T06:59:50Z jprajzne joined #lisp 2020-12-15T07:00:35Z adlai: when I see an "About Us" page that only lists half a dozen names, my own internal automated sentiment processor starts giving false positives along the lines of "wow, a statistically significant percentage of these people must have a passing familiarity with common lisp" 2020-12-15T07:01:19Z adlai: then I see the photo that enables estimating the denomenator more accurately, and laugh 2020-12-15T07:02:33Z UM-Li quit (Ping timeout: 256 seconds) 2020-12-15T07:02:55Z andreyorst` joined #lisp 2020-12-15T07:03:05Z adlai wonders whether the dashboard website is also built by a CL program? 2020-12-15T07:03:20Z easye: No the website is Python (Flask I believe). 2020-12-15T07:04:02Z adlai: ahh. I was gonna say, it has all the other dynamic sites that I've encountered lately completely beaten as far as working reasonably on an overworked computer 2020-12-15T07:04:56Z easye: I don't think having an entire company knowing the technology intimately is a reasonable standard. I doubt the majority of Intel knows much about chip design, lets say. 2020-12-15T07:05:08Z adlai: believe it or not, there are actually sketchy cryptocurrency bucket shops that put sentiment feeds into the same one webpage of their site that the traders use for charting and commands 2020-12-15T07:05:59Z easye: Cryptocurrency is definitely the Wild West. I had been ranging on it for the past half-decade before joining RavenPack. 2020-12-15T07:07:08Z adlai: there is not really anything to join. there are various companies although the well-managed ones are almost invariably providing services that have existed in the digital finance world for half a century, maybe more. (e.g., the kind of service your employer offers) 2020-12-15T07:07:17Z shka_ joined #lisp 2020-12-15T07:08:48Z easye: The "social movement" aspect of crypto is more interesting, reminding me of the pre-commercial Internet. 2020-12-15T07:08:49Z adlai: it has been quite interesting to see how the folks who make a name for themselves doing manually, what RavenPack does programmatically, end up moving in one of two directions once they have attracted their audience 2020-12-15T07:10:24Z adlai exceeds #lisp topic by three sigma, issues ACTION to correct error 2020-12-15T07:10:42Z easye goes back to keep on being employed. 2020-12-15T07:12:02Z marusich quit (Ping timeout: 258 seconds) 2020-12-15T07:12:04Z notzmv` joined #lisp 2020-12-15T07:13:06Z mbomba quit (Quit: WeeChat 3.0) 2020-12-15T07:15:38Z notzmv quit (Ping timeout: 256 seconds) 2020-12-15T07:17:25Z adlai: let's go back to talking about garbage collection for reclamation, as opposed to filtering for noise... no-defun-allowed, I can never figure out if you are referring to "ANSI Standard Minecraft", your own client implementation, some de-facto standardized upstream client, etc 2020-12-15T07:18:05Z no-defun-allowed: X3J13 ANSI Common Minecraft 2020-12-15T07:18:31Z adlai: no-defun-allowed: I tripped up reading your previous message that "recent Minecraft... conses up a lot of point objects" 2020-12-15T07:19:13Z no-defun-allowed: Yes, I heard that Minecraft conses a lot of short-lived objects from the OptiFine developer, who was very pissy about it, and somehow didn't sound familiar with GCs at all despite what they make. 2020-12-15T07:19:31Z easye: no-defun-allowed's work on Minecraft 2020-12-15T07:19:58Z adlai wonders whether there's already a name existing for the subalgorithm of hash-consing, in the context of ... for lack of a more general context, flat euclidean space. 2020-12-15T07:20:11Z no-defun-allowed: They said that you have to scan all the dead objects, which no sane GC does these days. 2020-12-15T07:21:09Z adlai: so a CL minecraft client could have points use a metaclass, where allocate-instance reuses the hash-consed point objects, and behind the scenes are a handful of multidimensional bit arrays 2020-12-15T07:21:44Z aartaka joined #lisp 2020-12-15T07:22:53Z adlai: ... this kind of hash-point-consing, as opposed to the algorithms where you cons up points and shapes explicitly, and then end up having to maintain heaps of them, sorted by various geometrical constraints 2020-12-15T07:23:28Z aartaka_d quit (Ping timeout: 260 seconds) 2020-12-15T07:23:40Z marusich joined #lisp 2020-12-15T07:24:20Z no-defun-allowed: That could be doable. 2020-12-15T07:24:56Z adlai: my guess is that most who are "familiar with GCs" are familiar with them in a manner similar to the guy who drives the truck, rather than the one who troubleshoots the compactor after it stops crushing 2020-12-15T07:24:57Z aartaka_d joined #lisp 2020-12-15T07:26:07Z aartaka quit (Ping timeout: 260 seconds) 2020-12-15T07:27:19Z aartaka joined #lisp 2020-12-15T07:27:32Z adlai: I guess my thinking of this as related to hash-consing might be a false positive, too; because, "hash" is almost certainly the wrong metaphor in contexts where the sparse data behaves contiguously 2020-12-15T07:28:26Z rogersm joined #lisp 2020-12-15T07:29:18Z aartaka_d quit (Ping timeout: 260 seconds) 2020-12-15T07:31:18Z aartaka_d joined #lisp 2020-12-15T07:33:36Z aartaka quit (Ping timeout: 240 seconds) 2020-12-15T07:35:31Z aartaka_d quit (Ping timeout: 246 seconds) 2020-12-15T07:36:13Z orivej quit (Ping timeout: 246 seconds) 2020-12-15T07:36:16Z adlai: easye: that photo probably contains ... i dunno, strictly within (3,27) common lisp programmers; although, my semantic operational conclusion is that the bus factor evidenced by that photo is "only one backpack was important enough to not be out of sight for one second, ever?" 2020-12-15T07:39:13Z flip214: which photo? 2020-12-15T07:41:17Z Cymew joined #lisp 2020-12-15T07:41:22Z random-nick joined #lisp 2020-12-15T07:44:55Z jprajzne quit (Quit: jprajzne) 2020-12-15T07:45:04Z aartaka joined #lisp 2020-12-15T07:45:22Z marusich quit (Ping timeout: 260 seconds) 2020-12-15T07:45:30Z jprajzne joined #lisp 2020-12-15T07:47:38Z marusich joined #lisp 2020-12-15T07:49:12Z mfiano joined #lisp 2020-12-15T07:49:37Z jprajzne quit (Client Quit) 2020-12-15T07:51:12Z galex-713_ quit (Read error: Connection reset by peer) 2020-12-15T07:51:34Z adlai: flip214: the big background image of view-source:https://www.ravenpack.com/about/ where you see dozens of people doing something outdoorsy, rather than mugshots of executives 2020-12-15T07:52:29Z galex-713 joined #lisp 2020-12-15T07:53:32Z marusich quit (Ping timeout: 260 seconds) 2020-12-15T07:54:28Z adlai: easye: hmmm, there is still a bit of GIGO: localizing the pandemic dashboard causes display of headlines from the english-language sites of local newspapers, and the local newspapers are garbage :) 2020-12-15T07:54:43Z cosimone quit (Quit: cosimone) 2020-12-15T07:55:50Z marusich joined #lisp 2020-12-15T07:55:50Z adlai: e.g., it appears that haaretz.com double-published an article with a mistake in one copy's headline; and both links appear in the dashboard. 2020-12-15T07:56:45Z treflip joined #lisp 2020-12-15T07:58:02Z adlai: I guess it is a problematic error to expect that such a service would catch. 2020-12-15T08:02:12Z rogersm_ joined #lisp 2020-12-15T08:02:38Z adlai: minion: memo for nij: earlier someone pointed you at chanl, for writing parallelized code; you should be warned that it is unsuitable for production use (there are a few race conditions, that should be detected by test failures) 2020-12-15T08:02:39Z minion: Remembered. I'll tell nij when he/she/it next speaks. 2020-12-15T08:04:38Z adlai: adlai: memo for adlai: the ABCL+JVM green threads might be a good choice for the next platform for hunting down the race condition 2020-12-15T08:04:58Z phoe: you likely meant minion 2020-12-15T08:06:13Z adlai forgets. He'll think through whether it's a worthwhile hunting tactic, when the bug next speaks. 2020-12-15T08:06:16Z rogersm_ quit (Ping timeout: 240 seconds) 2020-12-15T08:10:29Z jprajzne joined #lisp 2020-12-15T08:12:23Z liberliver joined #lisp 2020-12-15T08:14:26Z jprajzne quit (Client Quit) 2020-12-15T08:14:36Z rogersm quit (Quit: Leaving...) 2020-12-15T08:14:48Z jprajzne joined #lisp 2020-12-15T08:15:26Z cross quit (Quit: Lost terminal) 2020-12-15T08:18:59Z gaqwas joined #lisp 2020-12-15T08:18:59Z gaqwas quit (Changing host) 2020-12-15T08:18:59Z gaqwas joined #lisp 2020-12-15T08:19:16Z galex-713 quit (Ping timeout: 256 seconds) 2020-12-15T08:19:23Z galex-713_ joined #lisp 2020-12-15T08:20:58Z a0 joined #lisp 2020-12-15T08:21:30Z shka_ quit (Quit: Konversation terminated!) 2020-12-15T08:21:34Z aartaka_d joined #lisp 2020-12-15T08:21:46Z shka_ joined #lisp 2020-12-15T08:22:53Z pve joined #lisp 2020-12-15T08:24:04Z aartaka quit (Ping timeout: 240 seconds) 2020-12-15T08:25:36Z nwoob quit (Ping timeout: 240 seconds) 2020-12-15T08:28:18Z no-defun-allowed: Where do people draw the line on "large" Lisp programs? I found that my full network stack is about 8,500 lines of non-test code, and 1,300 lines of test code, and I'm worried that I've done something wrong by approaching 10,000 lines total. 2020-12-15T08:29:22Z no-defun-allowed: I don't know how many lines it should be, but it feels larger than it should be. But, then again, it's also ridiculous to me that I only wrote that much over two years. 2020-12-15T08:29:35Z midre quit (Ping timeout: 260 seconds) 2020-12-15T08:30:25Z ljavorsk joined #lisp 2020-12-15T08:32:00Z midre joined #lisp 2020-12-15T08:32:30Z atomik joined #lisp 2020-12-15T08:32:54Z White_Flame: large team commercial projects are always going to be way larger than smaller or solo codebases 2020-12-15T08:33:05Z White_Flame: since they're by default much less holistic 2020-12-15T08:34:06Z no-defun-allowed: Right. 2020-12-15T08:34:29Z White_Flame: Our biggest codebase (of multiple interconnected projects) is 30k, and does a ton 2020-12-15T08:34:33Z villanella joined #lisp 2020-12-15T08:34:37Z White_Flame: *30kloc 2020-12-15T08:36:02Z atomik_dog quit (Ping timeout: 264 seconds) 2020-12-15T08:36:24Z midre quit (Ping timeout: 240 seconds) 2020-12-15T08:37:21Z easye: adlai: thanks for the report. I've forwarded to the pandemic dashboard group. 2020-12-15T08:37:50Z midre joined #lisp 2020-12-15T08:39:03Z no-defun-allowed: I see. Part of my fear is that it's harder to sell, and no one would want to write another implementation of it. Some ACME Network Protocol supposedly requires a hundred times less code to implement; even though I think it does much less, it's not likely someone would begin duplicating a 10kLOC codebase if they want their own implementation. 2020-12-15T08:39:39Z no-defun-allowed: As in, they would be much more hesitant to pick it up as a weekend project, though I hope there isn't a need to reimplement it :) 2020-12-15T08:39:53Z olle joined #lisp 2020-12-15T08:40:40Z ober quit (Quit: Emacs must have died) 2020-12-15T08:41:20Z adlai: it is not a continuous topology, no-defun-allowed 2020-12-15T08:42:06Z flip214: adlai: thanks 2020-12-15T08:42:41Z no-defun-allowed: In any case, it's at a size where I'm not sure if it's too large, and I've played myself into picking up a lot of bloat; or if it's too small, and despite the time I put into it, I've been incredibly unproductive for two years. 2020-12-15T08:42:44Z adlai: e.g., 10ksloc was also a magic number that weighed heavily on my mind when I began building scalpl, and I often deleted gangrenous waste just so I could tell myself that the entire thing is less than ten thousand lines. 2020-12-15T08:43:32Z adlai: ... then one day, I tried using SBCL instead of CCL, and discovered that my project also uses Ironclad... and OpenSSL! 2020-12-15T08:43:51Z no-defun-allowed: Thanks to DuckDuckGo for showing me some lovely images of gangrene, after searching for a definition of "gangrenous", as I forgot what it was. 2020-12-15T08:44:26Z Nilby joined #lisp 2020-12-15T08:44:40Z no-defun-allowed: I don't have to maintain Ironclad, SBCL or OpenSSL though, and neither does some other implementor. 2020-12-15T08:44:46Z adlai: scalpl is probably the only app that uses chanl; so, is chanl's linecount tax-deductible because it supports the ecosystem by existing as a separate library? 2020-12-15T08:46:07Z srandon111 joined #lisp 2020-12-15T08:46:15Z no-defun-allowed: Or on the other hand, I could say I have three projects, and none of them are disconcertingly large. 2020-12-15T08:46:45Z adlai: recently I broke apart scalpl into separate systems, because it was making http requests at compile- and load-time, so the systems for each exchange are now separate, and the linecount space is arguably also not euclidean. 2020-12-15T08:47:09Z srandon111 is now known as sukablyat 2020-12-15T08:47:23Z sukablyat is now known as facksheet 2020-12-15T08:47:33Z facksheet is now known as fackshiet 2020-12-15T08:47:42Z fackshiet is now known as fuuckshiit 2020-12-15T08:47:49Z nij joined #lisp 2020-12-15T08:48:32Z adlai used the word 'gangrenous' to describe code that is actively bitrotting, by being an unchanged implementation of unstandardized protocols; e.g., reading a data feed published by a sketchy exchange 2020-12-15T08:49:25Z no-defun-allowed: To be fair, I have gone on an anti-minimalist streak, with enough abstractions and polymorphism to scare aeth at least. But it's somewhere around 30 to 100 times larger than an implementation of a more stupid protocol! That just seems wrong. 2020-12-15T08:49:54Z jprajzne quit (Quit: jprajzne) 2020-12-15T08:50:03Z adlai: considering scalpl as a central library, along with half a dozen exchange implementations, gives a much better picture of the same lines' counts; and a similar split is probably possible with games and game engines 2020-12-15T08:50:36Z adlai: complexity of class and method hierarchy is a much better metric 2020-12-15T08:50:40Z aartaka joined #lisp 2020-12-15T08:51:55Z adlai: what exactly are you considering as part of the "full network stack"? 2020-12-15T08:52:27Z adlai: [e.g., "upwards of firmware; both client, and server"] 2020-12-15T08:53:06Z hiroaki joined #lisp 2020-12-15T08:53:13Z no-defun-allowed: I have a distributed hash table and a protocol for handling wire protocols, a distributed object system, a bytecode interpreter for reproducible computing, a server and client that glue those together, and a filesystem-backed "database" for the server. 2020-12-15T08:53:26Z phoe: in only 10k lines of code? 2020-12-15T08:53:48Z no-defun-allowed: Okay, I guess 10k is small for those then? 2020-12-15T08:53:51Z adlai raises floor to... "upwards of data layer" ? 2020-12-15T08:54:04Z aartaka_d quit (Ping timeout: 272 seconds) 2020-12-15T08:54:05Z phoe: separate those projects from one another 2020-12-15T08:54:11Z phoe: on the interface layer 2020-12-15T08:54:16Z phoe: count LoC separately for each of them 2020-12-15T08:54:40Z phoe: that'll that should give you a somewhat better picture 2020-12-15T08:55:15Z no-defun-allowed: I have, I have three projects. Then I have 3,200 lines, 3,400 and 1,700. 2020-12-15T08:55:46Z phoe: that's not much, given that you have clean interface boundaries between those 2020-12-15T08:56:04Z phoe: and you likely do, knowing your programming style 2020-12-15T08:56:16Z no-defun-allowed: I hope so. 2020-12-15T08:56:18Z adlai: which is which? netfarm, cl-decentralize2, ...? 2020-12-15T08:56:41Z no-defun-allowed: My size ratio was wrong; it's closer to my implementation being 20× larger. 2020-12-15T08:58:02Z no-defun-allowed: adlai: Well, cl-decentralise2 (3200 lines) does DHT and wire protocol, Netfarm (3400 lines) does object system and bytecodes, and I have "glue code" (without a better name -- 1700 lines) which extends decentralise2 server and client to work with Netfarm. 2020-12-15T08:58:14Z hiroaki quit (Ping timeout: 264 seconds) 2020-12-15T08:58:14Z nostoi joined #lisp 2020-12-15T08:58:52Z adlai: I like the third item of https://gitlab.com/cal-coop/netfarm/netfarm#todo ; it reminds me of the ending of Animal Farm. 2020-12-15T08:59:00Z flip214: I've written a snippet that counts forms (recursively) instead of lines, and takes ' and ` as single items (as they're mostly data, not logic) 2020-12-15T08:59:34Z no-defun-allowed: I may need to update that README for the next release. I've done all three of those. 2020-12-15T08:59:34Z flip214: LOC doesn't help much for things like (LET ((a 1)\n(b 2)) or long parameter lists in DEFUN and so on 2020-12-15T09:00:18Z no-defun-allowed: Yeah, I get a lot of additional lines from using long names, such as UPDATE-SYSTEM-FOR-NEW-INTERESTING-OBJECT-PREDICATE 2020-12-15T09:00:32Z adlai: the unit of mental load is the screenfull; and if your widescreen battlestation has three windows of your IDE open, then that is three screenfulls in one monitor. 2020-12-15T09:00:46Z Nilby: cl-linecount-geometer - a multi-dimensional code density mapper 2020-12-15T09:00:50Z easye: And a screenful should be 80x25 damnit. 2020-12-15T09:01:24Z adlai: both LOC and SLOC are worthless metrics when you have lots of utilities; decide to use alexandria, or anaphora, etc, and suddenly have your linecount vanishes, and the other half - has to be rewritten 2020-12-15T09:02:25Z adlai: 80x25, that's what... eighty columns, twenty three rows, a docstring, and a modeline? 2020-12-15T09:02:29Z Nilby: adlai: Yes, I agree, and that proably why that package won't exist. 2020-12-15T09:02:51Z easye has a small brain. 2020-12-15T09:03:04Z rogersm joined #lisp 2020-12-15T09:06:01Z adlai: Nilby: no, I disagree; the friction for that package's creation is that the topologists are busy catching up on twentieth-century technical debt; all those junk categories and complexity classes of linear algebra optimizations 2020-12-15T09:07:07Z hendursa1 joined #lisp 2020-12-15T09:08:00Z rogersm quit (Ping timeout: 272 seconds) 2020-12-15T09:08:06Z Nilby: adlai: hmmmm, that could be. It seems almost everyone, including me, is still mired in 20th cen. debt. 2020-12-15T09:08:29Z Nilby: tech debt that is 2020-12-15T09:09:23Z hendursaga quit (Ping timeout: 240 seconds) 2020-12-15T09:10:20Z jprajzne joined #lisp 2020-12-15T09:11:40Z frost-lab quit (Quit: Connection closed) 2020-12-15T09:12:50Z Nilby: easye: I've been trying to hang in there for years considering terminals at 80x25, but sometimes that window just needs to be expanded. emojis and non-latin chars can bring it down closer to 40x25 too. 2020-12-15T09:13:17Z Nilby: ascii art sometimes needs a bigger canvas too 2020-12-15T09:14:26Z jprajzne quit (Client Quit) 2020-12-15T09:14:37Z rogersm joined #lisp 2020-12-15T09:14:48Z jprajzne joined #lisp 2020-12-15T09:14:59Z Nilby: Of course the small assumtion works well coding on the phone 2020-12-15T09:19:13Z mrcom quit (Quit: Leaving) 2020-12-15T09:19:29Z adlai: the tablet's 80x25 is "one paragraph of a Paul Graham essay", because you should not be editing, nor source code, on a touchscreen 2020-12-15T09:19:29Z edgar-xyz quit (Quit: Leaving) 2020-12-15T09:20:36Z amb007 quit (Read error: Connection reset by peer) 2020-12-15T09:20:38Z edgar-rft joined #lisp 2020-12-15T09:20:49Z amb007 joined #lisp 2020-12-15T09:20:50Z housel quit (Ping timeout: 258 seconds) 2020-12-15T09:21:03Z hnOsmium0001 quit (Quit: Connection closed for inactivity) 2020-12-15T09:21:13Z rgherdt joined #lisp 2020-12-15T09:21:21Z marusich quit (Quit: Leaving) 2020-12-15T09:23:45Z Nilby: Coding in the repl with good completion is not as bad as one might imagine on a tiny device. I've also been tinkering an audio only repl for a while. 2020-12-15T09:25:06Z olle left #lisp 2020-12-15T09:25:15Z luni joined #lisp 2020-12-15T09:27:13Z Nilby: but I like how PG admitted he coded much of hackernews at the repl of the live running site. 2020-12-15T09:27:13Z amb007 quit (Read error: Connection reset by peer) 2020-12-15T09:27:52Z skapata joined #lisp 2020-12-15T09:28:15Z amb007 joined #lisp 2020-12-15T09:29:21Z housel joined #lisp 2020-12-15T09:29:26Z adlai: the failure mode of repl+production is harmless, you just ask someone to go reboot the server; failure more of touchscreen IDE is that suddenly you start counting how many pixels your code is, and your unit of measurement is nonlinear and called the fingersmudge 2020-12-15T09:31:15Z Nilby ... addding fingersmudge to the units database 2020-12-15T09:31:21Z adlai: Nilby: if I understood correctly, that you have actually developed code in a repl from a touchscreen: you use the system keyboard, or something smarter that the IDE provides? 2020-12-15T09:32:04Z adlai: fingersmudge has a biometrically precise definition, it's just one quantum of uncertainty in a police fingerprint database 2020-12-15T09:32:37Z adlai: in square arrangement, the fingersmudge is approximately equal to the area of a cell in minesweeper. 2020-12-15T09:32:57Z luni left #lisp 2020-12-15T09:33:14Z Nilby: Yes. I used the stupid on screen keyboard. sbcl with my custom shell/repl running on a linux phone. 2020-12-15T09:34:43Z Nilby: I can see you would quickly be assigned keeper of units in my imaginary kingdom. As long as it's non-cheating minesweeper based units. 2020-12-15T09:37:24Z ljavorsk quit (Ping timeout: 240 seconds) 2020-12-15T09:38:56Z villanella quit (Ping timeout: 240 seconds) 2020-12-15T09:46:47Z Nilby: but the thing i'm loathe to admit, is that it made me want to make "vi" bindings, since emacs chords are a bit much for smudge based input. 2020-12-15T09:57:11Z nij left #lisp 2020-12-15T09:58:14Z atomik quit (Killed (adams.freenode.net (Nickname regained by services))) 2020-12-15T09:58:44Z Guest6090 joined #lisp 2020-12-15T10:00:01Z flip214: Did somebody already extend prometheus.cl to give HT request latencies as well? I just added the thread count and am wondering whether I'm the first to work on that 2020-12-15T10:04:01Z rogersm_ joined #lisp 2020-12-15T10:05:00Z wxie quit (Ping timeout: 272 seconds) 2020-12-15T10:08:16Z rogersm_ quit (Ping timeout: 240 seconds) 2020-12-15T10:09:54Z jprajzne quit (Quit: jprajzne) 2020-12-15T10:10:35Z quadrassel4321 joined #lisp 2020-12-15T10:12:03Z quadrassel4321 quit (Quit: Leaving) 2020-12-15T10:26:42Z srandon111 joined #lisp 2020-12-15T10:27:20Z srandon111 is now known as fuukshiit 2020-12-15T10:29:45Z orivej joined #lisp 2020-12-15T10:29:49Z fuuckshiit quit (Ping timeout: 246 seconds) 2020-12-15T10:30:19Z nostoi quit (Quit: Verlassend) 2020-12-15T10:37:16Z adlai mumbles something about editor mode entropy flux interacting badly with translucent capacitors 2020-12-15T10:37:36Z fuukshiit: adlai, what are youo mumbling ? 2020-12-15T10:38:42Z adlai: a response to something that was written just before you joined, about editing lisp code using a touchscreen peripheral instead of a separate keyboard 2020-12-15T10:39:35Z fuukshiit: adlai, damn don't use touch screen just use a keyboard 2020-12-15T10:40:14Z adlai: once srandon111's connection stabilises, maybe I can remember what parts of the idea were signal and what parts were noise 2020-12-15T10:40:54Z fuukshiit: adlai, what do you mean? 2020-12-15T10:41:08Z adlai: it probably boils down to "modal editors oughtta waste at least one highly-visible pixel on the mode indicator" 2020-12-15T10:41:32Z adlai: fuukshiit was once known as srandon111, and is now known as fuukshiit, and I have internat enough for 2020. 2020-12-15T10:41:49Z adlai left #lisp 2020-12-15T10:42:08Z fuukshiit: adlai, please don't use an offensive language 2020-12-15T10:44:48Z jprajzne joined #lisp 2020-12-15T10:55:34Z aartaka_d joined #lisp 2020-12-15T10:57:49Z aartaka quit (Ping timeout: 264 seconds) 2020-12-15T10:58:01Z madage joined #lisp 2020-12-15T11:00:25Z aartaka joined #lisp 2020-12-15T11:03:58Z Blukunfando quit (Ping timeout: 260 seconds) 2020-12-15T11:04:30Z aartaka_d quit (Ping timeout: 256 seconds) 2020-12-15T11:04:52Z jprajzne quit (Quit: jprajzne) 2020-12-15T11:04:52Z rogersm_ joined #lisp 2020-12-15T11:05:16Z jprajzne joined #lisp 2020-12-15T11:06:25Z aartaka_d joined #lisp 2020-12-15T11:06:48Z fuukshiit is now known as the_emeritous_ni 2020-12-15T11:07:22Z the_emeritous_ni is now known as the_doctor_night 2020-12-15T11:07:28Z aartaka quit (Ping timeout: 260 seconds) 2020-12-15T11:07:32Z the_doctor_night is now known as doc_nightmare 2020-12-15T11:09:26Z jprajzne quit (Client Quit) 2020-12-15T11:09:49Z jprajzne joined #lisp 2020-12-15T11:09:49Z rogersm_ quit (Ping timeout: 264 seconds) 2020-12-15T11:11:36Z doc_nightmare quit (Quit: leaving) 2020-12-15T11:17:19Z jackdaniel: oni-on-ion: ? 2020-12-15T11:18:59Z jello_pudding quit (Ping timeout: 272 seconds) 2020-12-15T11:20:06Z gaqwas quit (Remote host closed the connection) 2020-12-15T11:21:10Z srandon111 joined #lisp 2020-12-15T11:21:47Z oni-on-ion: jackdaniel, it was about your browser, hmm 2020-12-15T11:23:37Z jello_pudding joined #lisp 2020-12-15T11:26:09Z imode quit (Ping timeout: 260 seconds) 2020-12-15T11:34:27Z jackdaniel: I don't remember working on any browser 2020-12-15T11:34:45Z jackdaniel: I've built firefox once, but it was because I was using gentoo :) 2020-12-15T11:35:49Z jackdaniel: you probably mean a person with a nick with the same number of letters and starting with "j" (quite misleading coincidence): jmercouris 2020-12-15T11:37:39Z rgherdt_ joined #lisp 2020-12-15T11:38:48Z toorevitimirp joined #lisp 2020-12-15T11:39:39Z oni-on-ion: i am very emberassed 2020-12-15T11:39:43Z srandon111 quit (Quit: leaving) 2020-12-15T11:39:55Z jprajzne quit (Quit: jprajzne) 2020-12-15T11:40:06Z surabax joined #lisp 2020-12-15T11:40:46Z oni-on-ion: it was not anything important. but i sincerely apologise for mistaking you ! dont think i have dyslexia but my brain sorts words with first letter. thank you for clarifying 2020-12-15T11:41:02Z jackdaniel: (fun fact: our irc passwords also start with the same letter and have the same number of letters!) 2020-12-15T11:41:19Z jeosol quit (Remote host closed the connection) 2020-12-15T11:41:20Z rgherdt quit (Ping timeout: 256 seconds) 2020-12-15T11:41:45Z jackdaniel: no worries, I will bear it 2020-12-15T11:43:04Z oni-on-ion: =) 2020-12-15T11:43:16Z hugh_marera quit (Quit: Ping timeout (120 seconds)) 2020-12-15T11:44:18Z nij joined #lisp 2020-12-15T11:44:49Z jprajzne joined #lisp 2020-12-15T11:44:58Z nij: I have a function 'f that works as (f x y z). But now I have a list (list x y z). How would I pass the list to f? 2020-12-15T11:44:58Z minion: nij, memo from adlai: earlier someone pointed you at chanl, for writing parallelized code; you should be warned that it is unsuitable for production use (there are a few race conditions, that should be detected by test failures) 2020-12-15T11:45:15Z kaftejiman joined #lisp 2020-12-15T11:45:44Z oni-on-ion: ,clhs values 2020-12-15T11:45:49Z oni-on-ion: clhs values 2020-12-15T11:45:49Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/a_values.htm 2020-12-15T11:46:24Z jackdaniel: (if (first list) (second list) (third list)) 2020-12-15T11:46:44Z oni-on-ion: http://www.lispworks.com/documentation/HyperSpec/Body/m_destru.htm 2020-12-15T11:47:02Z jackdaniel: and if you are doing something terribly wrong, then (if (eval (first list)) (eval (second list)) (eval (third list))) 2020-12-15T11:47:38Z fanta1 joined #lisp 2020-12-15T11:47:38Z no-defun-allowed: Not apply? 2020-12-15T11:47:49Z OlCe: nij: (apply #'f list) 2020-12-15T11:47:51Z no-defun-allowed: (apply #'f '(x y z)) 2020-12-15T11:48:04Z jackdaniel: ah! it was f, not IF! sorry 2020-12-15T11:48:17Z jackdaniel: ignore what I have said above 2020-12-15T11:48:23Z nij: Oh! lemme try 2020-12-15T11:50:26Z flip214: you can't FUNCALL #'IF, oh, you just have to wait.... they said EVAL don't come easy ... 2020-12-15T11:50:44Z jackdaniel: flip214: but it is not #'IF, it is #'F 2020-12-15T11:50:50Z flip214: thanks, now I've got an earwig 2020-12-15T11:50:52Z jackdaniel: I made the same mistake (see above) 2020-12-15T11:51:34Z flip214: jackdaniel: that's what I parodied above. https://www.youtube.com/watch?v=C9IwBJYTwQ0 2020-12-15T11:53:20Z nij: Sigh.. there's no currying here. 2020-12-15T11:53:28Z villanella joined #lisp 2020-12-15T11:53:43Z nij: Actuall what I want is (concatenate 'string "a" "b"), but I only have (list "a" "b") 2020-12-15T11:53:43Z minion: nij, memo from pjb: As I told you, don't leave early, people may be long to answer. 2020-12-15T11:54:14Z jackdaniel: youtube asks me to give my consent for some really long terms of service (and I don't have time to read it) - I can't watch it then, sorry 2020-12-15T11:54:22Z flip214: nij: (FORMAT NIL "~{~a~}" (list "a" "b")) 2020-12-15T11:54:30Z nij: But since there's no currying, I cannot (apply #'(concatenate 'string) '("a" "b")) 2020-12-15T11:54:30Z minion: nij, memo from pjb: Sometimes, it will take them a few seconds to type their answer! 2020-12-15T11:54:56Z flip214: nij: ALEXANDRIA provides CURRY and RCURRY 2020-12-15T11:54:59Z jackdaniel: nij: the library alexandria has functions curry and rcurry (writing your own is also trivial) 2020-12-15T11:55:00Z nij: flip214: yeah.. that's what I tried to avoid. The format syntax is not clear. 2020-12-15T11:55:05Z solideogloria[m]: https://invidious.snopyta.org/watch?v=C9IwBJYTwQ0 2020-12-15T11:55:10Z flip214: jackdaniel: "you can't hurry love", Phil Collins 2020-12-15T11:55:20Z jackdaniel: thanks 2020-12-15T11:55:25Z flip214: np 2020-12-15T11:55:31Z nij: flip214: I've just learned format and is comfortable with that. But 10 years later I won't understand it. 2020-12-15T11:55:40Z nij: The syntax is simply ugly. 2020-12-15T11:55:50Z flip214: nij: yeah, I understand your point. 2020-12-15T11:55:59Z jackdaniel: (defun curry (function &rest args) (lambda (other-args) (apply function (append args other-args))) 2020-12-15T11:56:00Z solideogloria[m]: % signs everywhere 2020-12-15T11:56:02Z jackdaniel: naive implementation 2020-12-15T11:56:06Z nij: So I rather curry-apply (concatenate 'string) to '("a" "b"). 2020-12-15T11:56:25Z jackdaniel: (lambda (&rest other-args) …) * 2020-12-15T11:56:25Z flip214: still, have a one-line thing (that's "common" and standardized) or many more lines of code? Same as with Regexp! 2020-12-15T11:56:41Z saganman joined #lisp 2020-12-15T11:56:52Z nij: i prefer many more lines 2020-12-15T11:56:59Z nij: clarity and simplicity is my goto 2020-12-15T11:57:16Z nij: (unless the macroexpansion is clear) 2020-12-15T11:57:22Z nij: is it? actually lemme try 2020-12-15T11:57:52Z jackdaniel: if you have a well-estabilished construct that takes one line and it is recognizable, then it is simpler and clearer 2020-12-15T11:58:11Z jackdaniel: in the same way as using "functions" instead of bunch of gotos in a single state machine 2020-12-15T11:58:24Z jackdaniel: s/single// 2020-12-15T11:58:44Z random-nick quit (Ping timeout: 240 seconds) 2020-12-15T11:58:48Z vegansbane6 quit (Quit: The Lounge - https://thelounge.chat) 2020-12-15T11:58:50Z nij: hmm that's a good point 2020-12-15T11:58:58Z nij: or i can just add a comment say what it does 2020-12-15T11:59:06Z edgar-rft: nij: what's with (apply #'concatenate 'string (list "a" "b")) ? 2020-12-15T11:59:23Z nij: ! haven't tried 2020-12-15T11:59:53Z nij: OHHHHHHH! 2020-12-15T12:00:13Z nij: I did not know you can use 'apply like this. 2020-12-15T12:02:43Z jackdaniel: apply treats the first argument as a function and the last one as a list, everything inbetween is treated as a single argument 2020-12-15T12:02:58Z nij: no.. cuz this doesn't work: (defun testing (a b c) (+ a b c)) (apply #'testing 1 2 '(2 3)) 2020-12-15T12:03:19Z jackdaniel: you pass four arguments to testing there 2020-12-15T12:03:22Z nij: Oh ofc. 2020-12-15T12:03:25Z jackdaniel: and the function accepts three 2020-12-15T12:03:48Z nij: That's much better. I won't use ~a{~a~} anymore. 2020-12-15T12:04:24Z nij: (apply #'concatenate 'string (list "a" "b")) is much clearer, and it's a one-liner! 2020-12-15T12:05:54Z rogersm_ joined #lisp 2020-12-15T12:06:31Z jackdaniel: what unclear do you find in (format t "~x~f~1234,2314sd,dsf~{fasd~[~{~a~}~]~}~%" args #'format-function 'string "xxx") ; hm? 2020-12-15T12:07:04Z nij: LOL is it a joke? Or are you serious? 2020-12-15T12:07:09Z nij: nothing is clear! 2020-12-15T12:07:21Z Stanley00 quit (Remote host closed the connection) 2020-12-15T12:09:33Z flip214: nij: please be aware that the maximum argument count limit applies to apply! 2020-12-15T12:10:28Z rogersm_ quit (Ping timeout: 256 seconds) 2020-12-15T12:12:40Z random-nick joined #lisp 2020-12-15T12:19:55Z jprajzne quit (Quit: jprajzne) 2020-12-15T12:23:03Z loke[m]: nij: Yes, flip is right. Your APPLY solution is not great. You can, however, do the following: (reduce (lambda (a b) (concatenate 'string a b)) '("foo" "bar" "test")) 2020-12-15T12:23:34Z aartaka joined #lisp 2020-12-15T12:23:51Z loke[m]: Another solution: (with-output-to-string (*standard-output*) (mapc #'princ '("foo" "bar" "test"))) 2020-12-15T12:24:32Z mrios222 joined #lisp 2020-12-15T12:24:43Z harlchen joined #lisp 2020-12-15T12:25:04Z aartaka_d quit (Ping timeout: 240 seconds) 2020-12-15T12:25:29Z nij: @@ I don't understand the comment.. coul you please elaborate? Why isn't apply good? 2020-12-15T12:25:39Z mrios222: Hi, if I want to use SQL in a program, what is the best library to choose? My first guess is clqsl, but the links to the documentation and tutorials are dead. Any recommendations? 2020-12-15T12:25:56Z vegansbane6 joined #lisp 2020-12-15T12:27:54Z aartaka quit (Ping timeout: 258 seconds) 2020-12-15T12:29:14Z nij: Also, I dunno why but suddenly 'SLY' starts taking over 'SLIME'.. I like SLIME more.. what could have happened? SLY elision of strings is quite annoying.. 2020-12-15T12:31:20Z CookE[] joined #lisp 2020-12-15T12:33:35Z flip214: nij: http://clhs.lisp.se/Body/v_call_a.htm 2020-12-15T12:34:04Z flip214: there's an (implementation-specific) limit to how many arguments a function call may have -- and that also applies to APPLY 2020-12-15T12:34:23Z a0 quit (Ping timeout: 240 seconds) 2020-12-15T12:34:39Z flip214: so if your list contains 1M strings (most of them could even be empty, ""), the APPLY call might fail with an error 2020-12-15T12:34:51Z nij: OH I see :O!!! 2020-12-15T12:35:58Z iskander quit (Quit: bye) 2020-12-15T12:38:52Z iskander joined #lisp 2020-12-15T12:40:01Z jprajzne joined #lisp 2020-12-15T12:41:14Z Codaraxis_ quit (Read error: Connection reset by peer) 2020-12-15T12:43:06Z CookE[] quit (Quit: Leaving) 2020-12-15T12:48:16Z hugh_marera joined #lisp 2020-12-15T12:50:03Z Xach: nij: you can (apply 'concatenate 'string '("a" "b")) 2020-12-15T12:50:08Z Xach: oh man, i'm way behind. 2020-12-15T12:50:16Z jackdaniel: :-) 2020-12-15T12:50:32Z Xach must keep an eye on his scroll bar next time 2020-12-15T12:50:44Z jackdaniel: it would be better if you have had started: you can't apply to the operator if ^_^ 2020-12-15T12:51:12Z Xach: mrios222: i use postmodern+postgresql 2020-12-15T12:54:55Z jprajzne quit (Quit: jprajzne) 2020-12-15T12:55:34Z jprajzne joined #lisp 2020-12-15T12:55:49Z mrios222: Xach: thanks, I will do that. 2020-12-15T12:59:52Z jprajzne quit (Client Quit) 2020-12-15T12:59:57Z Nilby: (format t "~@:(~s~) is~:[n't~;~] ~c ~(~s~) ~(~s~)~v,,,va~%" (car -) t #\u61 (cadr (pathname-directory #p"/*/")) (car '#'_) 8 #\! #\!) 2020-12-15T13:00:46Z oni-on-ion: =/ 2020-12-15T13:02:22Z amb007 quit (Ping timeout: 256 seconds) 2020-12-15T13:04:04Z Bike joined #lisp 2020-12-15T13:05:34Z amb007 joined #lisp 2020-12-15T13:06:09Z yitzi joined #lisp 2020-12-15T13:06:47Z rogersm_ joined #lisp 2020-12-15T13:07:49Z cosimone joined #lisp 2020-12-15T13:08:06Z _death: (constantia:out "Better " (car -) " than some " (:dc (cadr (pathname-directory #p"/**/")))) 2020-12-15T13:08:45Z amb007 quit (Read error: Connection reset by peer) 2020-12-15T13:09:08Z amb007 joined #lisp 2020-12-15T13:09:28Z gargaml joined #lisp 2020-12-15T13:11:01Z notzmv` is now known as notzmv 2020-12-15T13:11:22Z notzmv quit (Changing host) 2020-12-15T13:11:22Z notzmv joined #lisp 2020-12-15T13:11:40Z rogersm_ quit (Ping timeout: 256 seconds) 2020-12-15T13:13:18Z amb007 quit (Read error: Connection reset by peer) 2020-12-15T13:13:25Z devon quit (Ping timeout: 264 seconds) 2020-12-15T13:13:48Z amb007 joined #lisp 2020-12-15T13:16:02Z Nilby: I know it's wrong, but I love format. YTools is some interesting reading though. 2020-12-15T13:16:56Z sharo joined #lisp 2020-12-15T13:18:02Z _death: I use format often, since it's in the standard 2020-12-15T13:20:32Z oni-on-ion: surely a macro can be made to 'decide' the best format string 2020-12-15T13:22:19Z _death: indeed my OUT macro uses format that way 2020-12-15T13:27:29Z _death: although it creates some quirks that I didn't bother with.. for example (let ((n 16) (c #\0) (w 4)) (outs (:d 12345 :width w :base n :pad-char c))) works, but add a (commas t) binding and :commas commas and you get an error 2020-12-15T13:30:27Z hendursa1 quit (Quit: hendursa1) 2020-12-15T13:30:47Z hendursaga joined #lisp 2020-12-15T13:32:35Z wsinatra joined #lisp 2020-12-15T13:38:32Z nij left #lisp 2020-12-15T13:38:50Z Nilby: _death: Your out macro certainly seems clearer, more extensible, and more constructable. I try to resist the allure of most non-standtard constructs, because I fear getting a bit too far into a remote realm, like ytools seems. 2020-12-15T13:43:09Z Nilby: Unfortunately I've probably gone too far. 2020-12-15T13:43:18Z _death: yeah, even if operator X could be useful and make code pretty, still doesn't mean that it's a good idea to now depend on its library and use it everywhere 2020-12-15T13:44:50Z jprajzne joined #lisp 2020-12-15T13:45:36Z FreeBirdLjj joined #lisp 2020-12-15T13:46:00Z jw4 quit (Quit: tot siens) 2020-12-15T13:46:43Z jw4 joined #lisp 2020-12-15T13:48:28Z cross joined #lisp 2020-12-15T13:49:54Z jprajzne quit (Quit: jprajzne) 2020-12-15T13:49:58Z FreeBirdLjj quit (Ping timeout: 256 seconds) 2020-12-15T13:53:57Z sharo quit (Quit: rcirc on GNU Emacs 27.1) 2020-12-15T13:53:58Z rgherdt_ quit (Quit: Leaving) 2020-12-15T13:54:19Z rgherdt joined #lisp 2020-12-15T13:54:58Z jprajzne joined #lisp 2020-12-15T13:56:46Z freedddd joined #lisp 2020-12-15T13:58:26Z freedddd: Hi. I'm trying to create a function which creates a subclass that overrides all ':allocation :class' slots of the superclass (the reason is that there will be further subclasses of this subclass that share their allocation of these slots). Is there some way to do this without re-writing all the slot definitions? 2020-12-15T13:58:31Z freedddd: In CL btw 2020-12-15T14:08:22Z Stanley00 joined #lisp 2020-12-15T14:09:19Z nij joined #lisp 2020-12-15T14:09:46Z notzmv` joined #lisp 2020-12-15T14:10:40Z nij: How to format '("a" "b" "c") to "a\nb\nc"? I used (format nil "~{~%~a~}" lst) but got "\n\na\nb\nc".. and cannot find the working variant. 2020-12-15T14:12:38Z _death: "~{~A~^~%~}" 2020-12-15T14:12:41Z phoe: (format nil "~{~A~^\\n~}" '("a" "b" "c")) 2020-12-15T14:12:42Z notzmv quit (Ping timeout: 256 seconds) 2020-12-15T14:12:45Z EvW joined #lisp 2020-12-15T14:12:55Z phoe: I assume you want \n and not newlines 2020-12-15T14:13:00Z phoe: if you want newlines, what _death said 2020-12-15T14:13:14Z Stanley00 quit (Ping timeout: 264 seconds) 2020-12-15T14:14:24Z beach: freedddd: I am sure there is a solution using the MOP. 2020-12-15T14:14:26Z Alfr_ points in the general direction of _death and phoe: "Witches!" 2020-12-15T14:15:53Z _death: as an alfr you should accept some format galdrs 2020-12-15T14:16:36Z beach: mop class-slots 2020-12-15T14:16:36Z specbot: http://metamodular.com/CLOS-MOP/class-slots.html 2020-12-15T14:16:46Z beach: mop slot-definition-allocation 2020-12-15T14:16:47Z specbot: http://metamodular.com/CLOS-MOP/slot-definition-allocation.html 2020-12-15T14:17:02Z beach: freedddd: ^ 2020-12-15T14:17:05Z beach: There's a start. 2020-12-15T14:18:47Z freedddd: Thank you. I will have a look. Btw can I use MOP out of the box with CL implementations? 2020-12-15T14:19:05Z beach: You can use the compatibility library named CLOSER-MOP. 2020-12-15T14:19:19Z beach: You would have to install it using Quicklisp. 2020-12-15T14:19:30Z beach: Otherwise, most major Common Lisp implementations are supported. 2020-12-15T14:19:59Z freedddd: Thanks. I want my application to be usable on some different implementations such as SBCL, CCL, ECL 2020-12-15T14:20:15Z beach: Yes, they should all be supported. 2020-12-15T14:21:30Z freedddd: Is it hard to use basics of MOP without much study, e.g. reading AMOP? Already a rookie with CL 2020-12-15T14:22:28Z beach: You could use that metamodular site. It is based on chapters 5 and 6 of the AMOP. 2020-12-15T14:22:47Z beach: But it is better organized with links and such. 2020-12-15T14:23:07Z beach: And you can come here and ask. 2020-12-15T14:23:59Z nij: _death, phoe thanks :D 2020-12-15T14:24:41Z treflip quit (Quit: WeeChat 2.6) 2020-12-15T14:24:50Z freedddd: Thanks. Will give it a try and reevaluate my approach if it turns out to be too much 2020-12-15T14:25:01Z beach: Sounds good. Good luck! 2020-12-15T14:27:41Z Nilby: Every time I thought I should use :allocation :class slots, it turned out I didn't really want that. It happened mostly when I first starting using Lisp instead of C++. 2020-12-15T14:27:59Z waleee-cl joined #lisp 2020-12-15T14:28:31Z beach: Yes, it is often better to just define a method. 2020-12-15T14:29:46Z freedddd: Yeah I'm not quite sure myself. I'm trying to create "views" which contain references to underlying data structures based on certain specification (e.g. "a b c" points to structures a, b and c, while "a d" points to structures a and d). The idea is that several subclasses may share the same view (e.g. "a b c") but implement a different generic run method that acts differently. 2020-12-15T14:29:55Z jprajzne quit (Quit: jprajzne) 2020-12-15T14:30:25Z jprajzne joined #lisp 2020-12-15T14:33:33Z freedddd: Now that you're mentioning it, I could instead have a single class and several differently named methods instead (rather than the generic run method). Should be easier to implement.. 2020-12-15T14:34:26Z jprajzne quit (Client Quit) 2020-12-15T14:34:33Z nij quit (Ping timeout: 260 seconds) 2020-12-15T14:34:50Z jprajzne joined #lisp 2020-12-15T14:34:51Z rumbler31 joined #lisp 2020-12-15T14:36:14Z Nilby: Also keep in mind that a generic run method can specialize on various classes. (run a b c) (run a x y) (run b c d) can all be totally different methods, or not. 2020-12-15T14:36:56Z toorevitimirp quit (Remote host closed the connection) 2020-12-15T14:37:34Z Nilby: And even call and combine eachother in different ways. 2020-12-15T14:38:38Z Necktwi quit (Ping timeout: 260 seconds) 2020-12-15T14:39:16Z rumbler31 quit (Ping timeout: 256 seconds) 2020-12-15T14:41:23Z freedddd: I might have explained it a bit poorly. Imagine a, b, c, etc. are just arrays with values belonging to some "entity" defined by an ID. Then I want some class that acts on values of all common entities (defined by IDs) across several such arrays. That's where the idea of a view comes in, such that I don't have to rediscover and duplicately store which entities and values each class should operate on. However the logic in the run method 2020-12-15T14:41:23Z freedddd: may operate differently (but should only take the class instance as an argument in the case I was planning on). 2020-12-15T14:42:08Z freedddd: Trying to implement a dreaded entity-component system for a simple game engine 2020-12-15T14:42:46Z jackdaniel: isn't it that you want presentations in your system? 2020-12-15T14:43:12Z freedddd: jackdaniel: I'm not sure what you mean by presentations 2020-12-15T14:43:16Z jackdaniel: a presentation is an object, that associates arbitrary object with a presentation type (of course the object must be presentation-typep to said presentation type) 2020-12-15T14:43:45Z jackdaniel: it is a concept embraced by clim, but explained earlier 2020-12-15T14:43:54Z jackdaniel: give me a second, I'll look for a link 2020-12-15T14:44:14Z freedddd: Sounds about right 2020-12-15T14:44:17Z Nilby: Yes. The idea of presentations is very cool. 2020-12-15T14:44:35Z jackdaniel: http://www.textfiles.com/bitsavers/pdf/mit/ai/aim/AITR-794.pdf 2020-12-15T14:44:54Z jackdaniel: this is a description of the concept 2020-12-15T14:44:54Z jprajzne quit (Quit: jprajzne) 2020-12-15T14:45:20Z jackdaniel: CLIM incorporates presentations as one of its core abstractions 2020-12-15T14:45:20Z freedddd: The idea was: Combination of component types (e.g. "a b c") -> view with shared storage -> implement subclass which defines the generic run method to act on entities which have component types a, b and c 2020-12-15T14:45:21Z jprajzne joined #lisp 2020-12-15T14:46:20Z loke[m]: jackdaniel: eugene cicarelli. Why does that name ring a bell? 2020-12-15T14:46:21Z dbotton joined #lisp 2020-12-15T14:46:22Z loke[m]: Was he on IRC or something? 2020-12-15T14:46:24Z jackdaniel: this may be of some interest: http://www.jucs.org/jucs_14_20/an_implementation_of_clim/jucs_14_20_3358_3369_moore.pdf 2020-12-15T14:46:46Z jackdaniel: beats me, I've read the paper because I was grokking CLIM 2020-12-15T14:47:04Z loke[m]: I'm sure I've communicated with him in the past. 2020-12-15T14:47:25Z Nilby: Totally awesome paper. I'm suprised I haven't read it. 2020-12-15T14:47:53Z jackdaniel: very useful, because presentations in the clim spec are simply described, without explaining how useful concept that may be 2020-12-15T14:49:26Z jprajzne quit (Client Quit) 2020-12-15T14:49:49Z jprajzne joined #lisp 2020-12-15T14:55:00Z Necktwi joined #lisp 2020-12-15T14:58:40Z luckless joined #lisp 2020-12-15T15:02:32Z EvW quit (Ping timeout: 260 seconds) 2020-12-15T15:02:37Z freedddd: From some skimreading presentations isn't exactly what I was looking for. Interesting resources nevertheless :) 2020-12-15T15:02:40Z gko_ joined #lisp 2020-12-15T15:05:11Z Bike: yeah, this is interesting, thanks for linking 2020-12-15T15:05:21Z jackdaniel: sure 2020-12-15T15:06:48Z Nilby: I guess I knew the contents of the Moore paper already, but the Ciccarelli paper really explores the foundations of lispm/emacs style of UI. 2020-12-15T15:07:40Z rogersm_ joined #lisp 2020-12-15T15:07:53Z miasuji joined #lisp 2020-12-15T15:12:13Z rogersm_ quit (Ping timeout: 264 seconds) 2020-12-15T15:12:54Z EvW joined #lisp 2020-12-15T15:15:44Z beach: I had no idea Tim had published his work as a journal paper. 2020-12-15T15:18:06Z EvW quit (Ping timeout: 258 seconds) 2020-12-15T15:19:55Z jprajzne quit (Quit: jprajzne) 2020-12-15T15:24:03Z mrios222 quit (Remote host closed the connection) 2020-12-15T15:28:29Z UM-Li joined #lisp 2020-12-15T15:29:50Z jprajzne joined #lisp 2020-12-15T15:32:54Z freedddd: What is the term for things prefixed with colon in CL? E.g. :thing 2020-12-15T15:33:46Z Nilby: A keyword, which is also a just symbol in the keyword package. 2020-12-15T15:34:06Z freedddd: Ah of course. Thank you. 2020-12-15T15:34:49Z UM-Li left #lisp 2020-12-15T15:39:02Z noobineer joined #lisp 2020-12-15T15:42:36Z sjl joined #lisp 2020-12-15T15:43:07Z waleee-cl quit (Ping timeout: 260 seconds) 2020-12-15T15:46:47Z waleee-cl joined #lisp 2020-12-15T15:48:06Z stux|RC quit (Quit: Aloha!) 2020-12-15T15:48:59Z UM-Li joined #lisp 2020-12-15T15:49:18Z stux|RC joined #lisp 2020-12-15T15:49:30Z andreyorst` quit (Quit: andreyorst`) 2020-12-15T15:50:07Z UM-Li quit (Client Quit) 2020-12-15T15:50:26Z andreyorst joined #lisp 2020-12-15T15:58:14Z hiroaki joined #lisp 2020-12-15T15:58:20Z dbotton quit (Quit: Leaving) 2020-12-15T16:00:56Z stux|RC quit (Quit: Aloha!) 2020-12-15T16:01:37Z stux|RC joined #lisp 2020-12-15T16:16:52Z Steeve joined #lisp 2020-12-15T16:18:32Z bitmapper joined #lisp 2020-12-15T16:21:08Z eden joined #lisp 2020-12-15T16:24:11Z hnOsmium0001 joined #lisp 2020-12-15T16:28:02Z andreyorst quit (Ping timeout: 260 seconds) 2020-12-15T16:29:01Z gko_ quit (Ping timeout: 264 seconds) 2020-12-15T16:29:55Z jprajzne quit (Quit: jprajzne) 2020-12-15T16:32:16Z villanella quit (Ping timeout: 240 seconds) 2020-12-15T16:34:52Z jprajzne joined #lisp 2020-12-15T16:38:00Z iskander quit (Quit: bye) 2020-12-15T16:39:55Z jprajzne quit (Quit: jprajzne) 2020-12-15T16:40:28Z jprajzne joined #lisp 2020-12-15T16:41:19Z entre-parenteses joined #lisp 2020-12-15T16:42:38Z Cymew quit (Ping timeout: 264 seconds) 2020-12-15T16:44:26Z jprajzne quit (Client Quit) 2020-12-15T16:44:50Z jprajzne joined #lisp 2020-12-15T16:48:44Z orivej quit (Ping timeout: 240 seconds) 2020-12-15T16:49:19Z scymtym_ quit (Remote host closed the connection) 2020-12-15T16:51:32Z notzmv` is now known as notzmv 2020-12-15T16:51:52Z notzmv quit (Changing host) 2020-12-15T16:51:52Z notzmv joined #lisp 2020-12-15T16:53:04Z frgo_ joined #lisp 2020-12-15T16:53:57Z aeth: :foo is short for 'keyword:foo 2020-12-15T16:56:01Z frgo quit (Ping timeout: 264 seconds) 2020-12-15T16:56:57Z eden left #lisp 2020-12-15T16:57:44Z miasuji quit (Remote host closed the connection) 2020-12-15T16:58:01Z miasuji joined #lisp 2020-12-15T16:58:11Z scymtym joined #lisp 2020-12-15T16:58:33Z aeth: (list :buffalo ':buffalo keyword:buffalo 'keyword:buffalo ::buffalo '::buffalo keyword::buffalo 'keyword::buffalo) => (:BUFFALO :BUFFALO :BUFFALO :BUFFALO :BUFFALO :BUFFALO :BUFFALO :BUFFALO) 2020-12-15T16:58:44Z aeth: using a perfectly valid sentence as an example... https://en.wikipedia.org/wiki/Buffalo_buffalo_Buffalo_buffalo_buffalo_buffalo_Buffalo_buffalo 2020-12-15T16:59:41Z miasuji quit (Remote host closed the connection) 2020-12-15T16:59:47Z Steeve quit (Quit: end) 2020-12-15T17:00:02Z miasuji joined #lisp 2020-12-15T17:00:56Z White_Flame: :foo is short for keyword:foo, unquoted. which would then evaluate to itself 2020-12-15T17:02:14Z freedddd: neat 2020-12-15T17:02:14Z entre-parenteses: aeth: what a sentence :D 2020-12-15T17:05:20Z aeth: The other one is https://en.wikipedia.org/wiki/James_while_John_had_had_had_had_had_had_had_had_had_had_had_a_better_effect_on_the_teacher 2020-12-15T17:05:43Z t0mmc4t joined #lisp 2020-12-15T17:06:46Z aeth: either much better than just mindlessly repeating "foo" 2020-12-15T17:07:20Z noobineer quit (Read error: Connection reset by peer) 2020-12-15T17:08:21Z rogersm_ joined #lisp 2020-12-15T17:09:41Z gareppa joined #lisp 2020-12-15T17:09:45Z entre-parenteses: O_O 2020-12-15T17:09:57Z entre-parenteses: That's the English language for you, I guess... 2020-12-15T17:10:06Z aeth: that's recursion 2020-12-15T17:10:28Z entre-parenteses: Ah, interesting point! I hadn't thought of it in those terms. 2020-12-15T17:11:13Z aeth: sentences like those exists for the same reason that if you balance the parentheses at the end, this is going to be valid, no matter how long it is: (+ 1 2 (+ 3 (+ 4 (+ 5 6 7 (+ 8 (+ 9 (+ 10 ... 2020-12-15T17:11:40Z gareppa quit (Remote host closed the connection) 2020-12-15T17:11:44Z noobineer joined #lisp 2020-12-15T17:13:04Z rogersm_ quit (Ping timeout: 256 seconds) 2020-12-15T17:13:51Z entre-parenteses: Well that makes more sense. I guess I never thought of natural language from a mathematical perspective. Thanks for helping me expand my mind. :) 2020-12-15T17:14:22Z aeth: This is #lisp so we usually are here because we want to avoid complicated grammars. :-) 2020-12-15T17:17:39Z akoana joined #lisp 2020-12-15T17:19:54Z jprajzne quit (Quit: jprajzne) 2020-12-15T17:20:48Z X-Scale quit (Ping timeout: 260 seconds) 2020-12-15T17:20:57Z X-Scale` joined #lisp 2020-12-15T17:21:43Z X-Scale` is now known as X-Scale 2020-12-15T17:21:53Z pyc: hey sjl. would you please share your Vim + Vlime setup again? do you have the startup script or ~/.vimrc shared somewhere? 2020-12-15T17:23:52Z noobineer quit (Read error: Connection reset by peer) 2020-12-15T17:25:02Z jprajzne joined #lisp 2020-12-15T17:25:46Z jeosol joined #lisp 2020-12-15T17:32:55Z Steeve joined #lisp 2020-12-15T17:35:07Z EvW joined #lisp 2020-12-15T17:48:32Z miasuji quit (Ping timeout: 260 seconds) 2020-12-15T17:51:50Z andreyorst joined #lisp 2020-12-15T17:53:58Z Nilby quit (Read error: Connection reset by peer) 2020-12-15T17:55:49Z freedddd: How would you get all keys of an alist? loop and collect? 2020-12-15T17:58:11Z scymtym: (map 'list #'car alist) is one way 2020-12-15T17:59:25Z jackdaniel: (mapcar #'car car) ; if your list is named car :) 2020-12-15T17:59:35Z noobineer joined #lisp 2020-12-15T17:59:47Z freedddd: Thank you! 2020-12-15T18:05:47Z sjl: pyc: my vimrc is at https://hg.stevelosh.com/dotfiles/file/tip/vim/vimrc but here be dragons 2020-12-15T18:06:33Z EvW1 joined #lisp 2020-12-15T18:06:33Z sjl: pyc: lisp/vlime section starts at https://hg.stevelosh.com/dotfiles/file/tip/vim/vimrc#l913 and uses some of the wrapper scripts in my ~/bin like https://hg.stevelosh.com/dotfiles/file/tip/bin/sbcl-vlime 2020-12-15T18:06:46Z lotuseater quit (Ping timeout: 265 seconds) 2020-12-15T18:08:50Z sjl: some of this is definitely outdated, e.g. I use vlime's disassemble key instead of schlepping a (disassemble ...) form to the debugger. I should probably clean it up at some point. 2020-12-15T18:09:12Z EvW quit (Ping timeout: 260 seconds) 2020-12-15T18:09:55Z jprajzne quit (Quit: jprajzne) 2020-12-15T18:11:45Z EvW1 quit (Ping timeout: 258 seconds) 2020-12-15T18:13:51Z Inline joined #lisp 2020-12-15T18:14:49Z pyc: sjl: wow! that's a lot of setup work in .vimrc. so if I understand it right, you don't use \rr to connect Vlime to Swank. 2020-12-15T18:14:51Z jprajzne joined #lisp 2020-12-15T18:15:41Z EvW joined #lisp 2020-12-15T18:16:03Z sjl: That's correct, I don't use Vlime to start up the Lisp process, I do it myself (via sbcl-vlime, usually but not always running inside a Neovim terminal buffer). 2020-12-15T18:16:34Z sjl: The whole start-a-lisp-process-from-within Vlime has always felt too magic to me. I like managing the Lisp process myself and then just telling Vlime to connect to it. 2020-12-15T18:16:38Z pyc: sjl: Is NeoRepl something you have defined or is it defined by NeoVim? 2020-12-15T18:17:05Z sjl: Ah, that's a little wrapper I wrote https://hg.stevelosh.com/dotfiles/file/tip/vim/bundle/neorepl/ 2020-12-15T18:17:42Z pyc: sjl: makes a lot of sense now. thanks for sharing 2020-12-15T18:17:43Z sjl: The only thing I use it for on the Lisp side is sending `(ql:quickload ...)` forms to the REPL. I probably don't even need that TBH, I could probably do that through Vlime now that I think about it. 2020-12-15T18:19:55Z jprajzne quit (Quit: jprajzne) 2020-12-15T18:24:51Z jprajzne joined #lisp 2020-12-15T18:33:59Z villanella joined #lisp 2020-12-15T18:34:55Z jprajzne quit (Quit: jprajzne) 2020-12-15T18:39:04Z cosimone quit (Quit: cosimone) 2020-12-15T18:39:31Z glamas quit (Quit: ZNC 1.7.4 - https://znc.in) 2020-12-15T18:39:36Z andreyorst quit (Ping timeout: 240 seconds) 2020-12-15T18:40:08Z jprajzne joined #lisp 2020-12-15T18:40:53Z glamas joined #lisp 2020-12-15T18:42:32Z andreyorst joined #lisp 2020-12-15T18:44:56Z jprajzne quit (Quit: jprajzne) 2020-12-15T18:45:25Z jprajzne joined #lisp 2020-12-15T18:45:42Z berchn joined #lisp 2020-12-15T18:48:48Z berchn left #lisp 2020-12-15T18:49:27Z jprajzne quit (Client Quit) 2020-12-15T18:49:51Z jprajzne joined #lisp 2020-12-15T18:49:59Z C-16 joined #lisp 2020-12-15T18:53:43Z C-16 quit (Client Quit) 2020-12-15T18:54:29Z orivej joined #lisp 2020-12-15T18:54:56Z cosimone joined #lisp 2020-12-15T18:58:16Z hiroaki quit (Ping timeout: 272 seconds) 2020-12-15T19:00:25Z amb007 quit (Read error: Connection reset by peer) 2020-12-15T19:00:32Z amb007 joined #lisp 2020-12-15T19:02:39Z gareppa joined #lisp 2020-12-15T19:03:40Z Jesin quit (Quit: Leaving) 2020-12-15T19:09:07Z rogersm_ joined #lisp 2020-12-15T19:09:07Z amb007 quit (Read error: Connection reset by peer) 2020-12-15T19:09:23Z amb007 joined #lisp 2020-12-15T19:09:52Z jprajzne quit (Quit: jprajzne) 2020-12-15T19:10:16Z jprajzne joined #lisp 2020-12-15T19:11:18Z hiroaki joined #lisp 2020-12-15T19:11:37Z t0mmc4t quit (Quit: Leaving) 2020-12-15T19:13:58Z rogersm_ quit (Ping timeout: 260 seconds) 2020-12-15T19:15:04Z srandon111 joined #lisp 2020-12-15T19:16:30Z gareppa quit (Quit: Leaving) 2020-12-15T19:16:58Z Jesin joined #lisp 2020-12-15T19:24:26Z jprajzne quit (Quit: jprajzne) 2020-12-15T19:25:01Z jprajzne joined #lisp 2020-12-15T19:31:02Z liberliver quit (Quit: liberliver) 2020-12-15T19:31:41Z amb007 quit (Read error: Connection reset by peer) 2020-12-15T19:32:18Z amb007 joined #lisp 2020-12-15T19:32:30Z freedddd quit (Remote host closed the connection) 2020-12-15T19:32:44Z Jesin quit (Quit: Leaving) 2020-12-15T19:32:45Z amb007 quit (Read error: Connection reset by peer) 2020-12-15T19:33:18Z amb007 joined #lisp 2020-12-15T19:34:55Z jprajzne quit (Quit: jprajzne) 2020-12-15T19:34:55Z amb007 quit (Read error: Connection reset by peer) 2020-12-15T19:35:40Z amb007 joined #lisp 2020-12-15T19:39:55Z X-Scale` joined #lisp 2020-12-15T19:39:55Z amb007 quit (Read error: Connection reset by peer) 2020-12-15T19:40:42Z X-Scale quit (Ping timeout: 272 seconds) 2020-12-15T19:40:43Z X-Scale` is now known as X-Scale 2020-12-15T19:40:51Z amb007 joined #lisp 2020-12-15T19:41:39Z Jesin joined #lisp 2020-12-15T19:43:27Z andreyorst quit (Ping timeout: 260 seconds) 2020-12-15T19:43:42Z EvW quit (Ping timeout: 260 seconds) 2020-12-15T19:45:32Z imode joined #lisp 2020-12-15T19:46:05Z EvW joined #lisp 2020-12-15T19:49:07Z amb007 quit (Read error: Connection reset by peer) 2020-12-15T19:49:14Z gargaml quit (Ping timeout: 264 seconds) 2020-12-15T19:49:16Z amb007 joined #lisp 2020-12-15T19:49:21Z rogersm quit (Quit: Leaving...) 2020-12-15T19:49:39Z gargaml joined #lisp 2020-12-15T19:51:55Z villanella quit (Ping timeout: 246 seconds) 2020-12-15T19:54:31Z rippa joined #lisp 2020-12-15T19:54:49Z arbv quit (Ping timeout: 264 seconds) 2020-12-15T19:58:03Z rumbler31_ joined #lisp 2020-12-15T19:58:04Z amb007 quit (Read error: Connection reset by peer) 2020-12-15T19:58:16Z berchn joined #lisp 2020-12-15T19:58:17Z amb007 joined #lisp 2020-12-15T19:59:31Z berchn: Has anyone on the CFFI team had a chance to checkout MR #171 on GitHub? 2020-12-15T19:59:31Z amb007 quit (Read error: Connection reset by peer) 2020-12-15T19:59:47Z jprajzne joined #lisp 2020-12-15T20:00:18Z amb007 joined #lisp 2020-12-15T20:00:31Z arbv joined #lisp 2020-12-15T20:01:42Z amb007 quit (Read error: Connection reset by peer) 2020-12-15T20:02:13Z amb007 joined #lisp 2020-12-15T20:04:45Z villanella joined #lisp 2020-12-15T20:06:04Z rumbler31_ quit (Ping timeout: 240 seconds) 2020-12-15T20:08:03Z amk quit (Remote host closed the connection) 2020-12-15T20:10:06Z rogersm joined #lisp 2020-12-15T20:11:05Z amk joined #lisp 2020-12-15T20:12:18Z rogersm quit (Read error: Connection reset by peer) 2020-12-15T20:12:21Z rogersm_ joined #lisp 2020-12-15T20:12:53Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2020-12-15T20:14:14Z hendursa1 joined #lisp 2020-12-15T20:14:56Z trittweiler quit (Ping timeout: 240 seconds) 2020-12-15T20:15:04Z hendursa1 quit (Client Quit) 2020-12-15T20:15:17Z hendursa1 joined #lisp 2020-12-15T20:15:18Z hendursa1 quit (Remote host closed the connection) 2020-12-15T20:16:03Z hendursaga quit (Ping timeout: 240 seconds) 2020-12-15T20:16:56Z narimiran quit (Ping timeout: 240 seconds) 2020-12-15T20:17:31Z hendursaga joined #lisp 2020-12-15T20:18:42Z dbotton joined #lisp 2020-12-15T20:18:49Z rumbler31_ joined #lisp 2020-12-15T20:22:35Z cosimone quit (Quit: cosimone) 2020-12-15T20:27:12Z shka_ quit (Ping timeout: 260 seconds) 2020-12-15T20:29:55Z jprajzne quit (Quit: jprajzne) 2020-12-15T20:31:26Z cosimone joined #lisp 2020-12-15T20:34:49Z jprajzne joined #lisp 2020-12-15T20:36:01Z kenran joined #lisp 2020-12-15T20:37:04Z hiroaki quit (Ping timeout: 246 seconds) 2020-12-15T20:38:01Z hiroaki joined #lisp 2020-12-15T20:38:52Z hiroaki quit (Max SendQ exceeded) 2020-12-15T20:39:50Z hiroaki joined #lisp 2020-12-15T20:40:39Z jw4 quit (Read error: Connection reset by peer) 2020-12-15T20:42:24Z jw4 joined #lisp 2020-12-15T20:44:36Z orivej quit (Ping timeout: 240 seconds) 2020-12-15T20:48:28Z hiroaki quit (Ping timeout: 272 seconds) 2020-12-15T20:48:28Z amb007 quit (Read error: Connection reset by peer) 2020-12-15T20:49:25Z amb007 joined #lisp 2020-12-15T20:50:27Z nullman quit (Ping timeout: 258 seconds) 2020-12-15T20:50:56Z b3rb joined #lisp 2020-12-15T20:51:06Z mrcom joined #lisp 2020-12-15T20:52:03Z nullman joined #lisp 2020-12-15T20:55:15Z Alfr_ quit (Quit: Leaving) 2020-12-15T20:55:36Z wsinatra quit (Ping timeout: 256 seconds) 2020-12-15T21:00:02Z EvW quit (Ping timeout: 258 seconds) 2020-12-15T21:01:09Z hiroaki joined #lisp 2020-12-15T21:04:15Z galex-713_ quit (Ping timeout: 258 seconds) 2020-12-15T21:04:54Z bilegeek joined #lisp 2020-12-15T21:05:40Z b3rb quit (Remote host closed the connection) 2020-12-15T21:08:11Z jprajzne1 quit (Quit: Leaving.) 2020-12-15T21:08:56Z Alfr joined #lisp 2020-12-15T21:14:22Z Nilby joined #lisp 2020-12-15T21:27:29Z ccl-logbot joined #lisp 2020-12-15T21:27:29Z 2020-12-15T21:27:29Z names: ccl-logbot zacts nullman EvW galex-713 Nilby Alfr hiroaki mrcom amb007 jw4 kenran jprajzne cosimone rumbler31_ dbotton hendursaga amk villanella arbv berchn gargaml imode Jesin X-Scale srandon111 glamas Inline noobineer Steeve jeosol akoana scymtym frgo_ entre-parenteses hnOsmium0001 bitmapper stux|RC waleee-cl sjl luckless Necktwi notzmv rgherdt cross yitzi Bike hugh_marera vegansbane6 harlchen random-nick saganman fanta1 kaftejiman surabax jello_pudding 2020-12-15T21:27:29Z names: madage Guest6090 housel skapata edgar-rft midre pve mfiano froggey jonatack parjanya aeth samebchase Cthulhux quazimodo cl-arthu1 __jrjsmrtn__ loli epony jibanes pfdietz Lord_of_Life thecoffemaker gxt igemnace oni-on-ion dim euandreh grumble tomaw stzsch guanohhh jerme_ alanz Aurora_v_kosmose dvdmuckle madand yonkunas terrorjack kapil_ dmiles jonathan| Madvax datajerk OlCe mbrumlow ck_ alandipert lavaflow Robdgreat cyberlard Colleen tychoish bacterio APic 2020-12-15T21:27:29Z names: ineiros Firedancer_ lad norserob Krystof loke hvxgr loke[m] MrFantastik flazh saturn2 Khisanth Iolo oxum Demosthenex Oddity lottaquestions astronavt v3ga joast dtb hineios karlosz matryoshka leo_song akrl aindilis CEnnis91 austincummings[m ms[m] jrm theBlackDragon phadthai elflng jxy perrier-jouet _whitelogger Lord_Nightmare phantomics eta catern dilated_dinosaur vaporatorius ecraven fiddlerwoaroof nitrix jealousmonk herlocksholmes bjorkintosh mrchampion 2020-12-15T21:27:29Z names: rixard tmf FennecCode troydm greaser|q eschatologist mathrick thijso Grue` flip214 cantstanya msk deltab myall DGASAU acolarh dmc00 quanta[m] gigetoo susam mgxm vsync curiouscain XachX drmeister terpri tessier mason fitzsim niceplace minion specbot chrpape kagevf jurov diamondbond malm Posterdati luna_is_here moon-child buoy49 banjiewen_ kilimanjaro gaze__ mjl beach cods xantoz cg505 fengshaun jdz easye SAL9000 lukego zstest3[m] wooden clar[m] jbgg lonjil 2020-12-15T21:27:29Z names: idxu ckoz[m] Inoperable mankaev raamdev[m] sm2n_ psebcc[m] santiagopim[m] emys[m] kinope shenghi1 travv0 billstclair DanielCheng[m] spal mgr_ notandinus hhdave_ kini esotericalgo kbtr hiredman hdasch_ fc2020apt[m] jonjitsu[m] MrtnDk[m] ThaEwat Jach[m] infra_red[m] even4void[m] solideogloria[m] Gnuxie[m] camlriot42 no-defun-allowed katco exit70[m] etimmons malaclyps_ cairn arichiardi[m] patrixl ggoes oldtopman davros heredoc Blkt devrtz @fe[nl]ix srji 2020-12-15T21:27:29Z names: penguwin thonkpod larme gingerale russell-- mgsk ffwacom chewbranca jlpeters gjnoonan abbe_ Ekho luis pyc drot ilmu physpi stylewarning l1x pent splittist White_Flame vydd vhost- shoshin save-lisp-or-die cmatei bmansurov_ mister_m dddddd Qudit314159 stux|RC-only gabiruh CrazyEdd yottabyte cranes remexre ski AdmiralBumbleBee micro mgsk_ gpiero borodust samebchase- cognemo gko nckx bqv zagura Xach TMA ozzloy rotty also_uplime matijja xlei Fade ft _Ark_ 2020-12-15T21:27:29Z names: drewc jackdaniel vutral Patzy mtd hjudt summerisle |3b| mr_yogurt sveit Mandus bkst voidlily jackhill sbryant winny knobo cpt_nemo sgithens rvirding selwyn johs femi copec ane mood Ziemas null_ptr lieven jgkamat rumpelszn [df] eagleflo azrazalea dale mikecheck jfb4 kingcons mseddon simplegauss HDurer swflint Nikotiini wigust Patternmaster xi natj212 zigpaw10 rme guaqua gum pok MetaYan add^_ grfn Grauwolf antoszka sebboh beaky creat justinmcp cpape snits 2020-12-15T21:27:29Z names: dwts docl cgay grobe0ba madnificent vert2 brass _death aap gensym interruptinuse payphone ferada ult eMBee Ankhers mrSpec gendl trn mpontillo avicenna dnm shinohai jasom phoe shrysr bonz060 markasoftware xristos kim\ felideon himmAllRight gabot nightfly spacebat2 bytesighs conjunctive HiRE_ emacsomancer entel Yardanico Papa seisatsu ramus Tordek Kabriel parisienne p_l jsatk z0d zymurgy SumoSud0 bgardner krjst ioa ravndal jmercouris otwieracz d4ryus 2020-12-15T21:27:29Z names: daniel1302 RagnarDanneskjol Balooga sukaeto brandonz 2020-12-15T21:30:06Z nullman quit (Ping timeout: 256 seconds) 2020-12-15T21:31:41Z nullman joined #lisp 2020-12-15T21:32:37Z hiroaki quit (Ping timeout: 264 seconds) 2020-12-15T21:37:08Z rumbler31_ quit (Ping timeout: 256 seconds) 2020-12-15T21:39:55Z jprajzne quit (Quit: jprajzne) 2020-12-15T21:41:36Z the-smug-one joined #lisp 2020-12-15T21:45:21Z hiroaki joined #lisp 2020-12-15T21:58:03Z hendursaga quit (Ping timeout: 240 seconds) 2020-12-15T21:59:21Z banjomet joined #lisp 2020-12-15T21:59:38Z UM-Li joined #lisp 2020-12-15T21:59:48Z jprajzne joined #lisp 2020-12-15T22:00:52Z hendursaga joined #lisp 2020-12-15T22:00:58Z hendursaga quit (Client Quit) 2020-12-15T22:01:10Z hendursaga joined #lisp 2020-12-15T22:04:54Z jprajzne quit (Quit: jprajzne) 2020-12-15T22:05:30Z jprajzne joined #lisp 2020-12-15T22:09:52Z jprajzne quit (Client Quit) 2020-12-15T22:10:14Z jprajzne joined #lisp 2020-12-15T22:11:24Z dbotton quit (Quit: This computer has gone to sleep) 2020-12-15T22:12:50Z defunkydrummer joined #lisp 2020-12-15T22:13:03Z villanella quit (Ping timeout: 260 seconds) 2020-12-15T22:16:25Z fanta1 quit (Quit: fanta1) 2020-12-15T22:18:37Z jonatack quit (Ping timeout: 260 seconds) 2020-12-15T22:19:02Z jonatack joined #lisp 2020-12-15T22:24:18Z kenran quit (Quit: leaving) 2020-12-15T22:24:52Z hugh_marera quit (Quit: Connection closed) 2020-12-15T22:25:18Z hugh_marera joined #lisp 2020-12-15T22:27:27Z harlchen quit (Remote host closed the connection) 2020-12-15T22:28:26Z notzmv` joined #lisp 2020-12-15T22:30:33Z notzmv quit (Ping timeout: 260 seconds) 2020-12-15T22:32:45Z notzmv` quit (Ping timeout: 240 seconds) 2020-12-15T22:33:36Z todun joined #lisp 2020-12-15T22:33:40Z cantstanya quit (Remote host closed the connection) 2020-12-15T22:34:03Z pve quit (Quit: leaving) 2020-12-15T22:35:34Z cantstanya joined #lisp 2020-12-15T22:38:28Z mbomba joined #lisp 2020-12-15T22:39:34Z Jesin quit (Quit: Leaving) 2020-12-15T22:42:18Z hiroaki quit (Ping timeout: 256 seconds) 2020-12-15T22:42:23Z Jesin joined #lisp 2020-12-15T22:44:20Z dbotton joined #lisp 2020-12-15T22:46:09Z parjanya quit (Ping timeout: 272 seconds) 2020-12-15T22:52:20Z sjl quit (Ping timeout: 256 seconds) 2020-12-15T22:52:46Z zacts quit (Quit: leaving) 2020-12-15T22:53:07Z beach quit (Ping timeout: 272 seconds) 2020-12-15T22:53:12Z zacts joined #lisp 2020-12-15T22:53:48Z zacts quit (Client Quit) 2020-12-15T22:55:02Z hiroaki joined #lisp 2020-12-15T22:56:01Z amb007 quit (Ping timeout: 246 seconds) 2020-12-15T22:59:55Z jprajzne quit (Quit: jprajzne) 2020-12-15T23:00:26Z jprajzne joined #lisp 2020-12-15T23:01:28Z miasuji joined #lisp 2020-12-15T23:01:37Z thmprover joined #lisp 2020-12-15T23:04:26Z jprajzne quit (Client Quit) 2020-12-15T23:04:51Z jprajzne joined #lisp 2020-12-15T23:06:26Z defunkydrummer2 joined #lisp 2020-12-15T23:06:31Z defunkydrummer quit (Ping timeout: 246 seconds) 2020-12-15T23:09:34Z cosimone quit (Quit: cosimone) 2020-12-15T23:10:46Z zulu-inuoe joined #lisp 2020-12-15T23:12:05Z dbotton quit (Quit: This computer has gone to sleep) 2020-12-15T23:15:46Z ravndal quit (Quit: WeeChat 2.9) 2020-12-15T23:16:14Z Inline quit (Ping timeout: 264 seconds) 2020-12-15T23:16:37Z galex-713 quit (Ping timeout: 260 seconds) 2020-12-15T23:17:41Z ravndal joined #lisp 2020-12-15T23:18:24Z random-nick quit (Ping timeout: 256 seconds) 2020-12-15T23:19:54Z jprajzne quit (Quit: jprajzne) 2020-12-15T23:20:19Z jprajzne joined #lisp 2020-12-15T23:20:39Z galex-713 joined #lisp 2020-12-15T23:20:55Z amb007 joined #lisp 2020-12-15T23:22:46Z defunkydrummer2 is now known as defunkydrummer 2020-12-15T23:24:33Z todun quit (Read error: Connection reset by peer) 2020-12-15T23:26:05Z the-smug-one quit (Remote host closed the connection) 2020-12-15T23:32:50Z todun joined #lisp 2020-12-15T23:34:25Z jprajzne quit (Quit: jprajzne) 2020-12-15T23:34:50Z jprajzne joined #lisp 2020-12-15T23:39:55Z jprajzne quit (Quit: jprajzne) 2020-12-15T23:40:28Z jprajzne joined #lisp 2020-12-15T23:40:37Z rgherdt quit (Ping timeout: 272 seconds) 2020-12-15T23:41:56Z mbomba quit (Quit: WeeChat 3.0) 2020-12-15T23:43:16Z hiroaki quit (Ping timeout: 240 seconds) 2020-12-15T23:44:26Z jprajzne quit (Client Quit) 2020-12-15T23:44:49Z jprajzne joined #lisp 2020-12-15T23:46:03Z karlosz quit (Quit: karlosz) 2020-12-15T23:47:37Z UM-Li quit (Quit: Konversation terminated!) 2020-12-15T23:48:26Z Oladon joined #lisp 2020-12-15T23:50:29Z Steeve quit (Quit: end) 2020-12-15T23:51:12Z berchn quit (Remote host closed the connection) 2020-12-15T23:51:23Z hiroaki joined #lisp 2020-12-15T23:59:55Z jprajzne quit (Quit: jprajzne) 2020-12-16T00:03:13Z hiroaki quit (Ping timeout: 264 seconds) 2020-12-16T00:05:01Z jprajzne joined #lisp 2020-12-16T00:09:55Z jprajzne quit (Quit: jprajzne) 2020-12-16T00:10:33Z matryoshka quit (Ping timeout: 258 seconds) 2020-12-16T00:14:50Z jprajzne joined #lisp 2020-12-16T00:14:50Z Nilby quit (Read error: Connection reset by peer) 2020-12-16T00:15:32Z hiroaki joined #lisp 2020-12-16T00:16:08Z EvW quit (Ping timeout: 260 seconds) 2020-12-16T00:16:18Z matryoshka joined #lisp 2020-12-16T00:20:28Z todun quit (Quit: todun) 2020-12-16T00:20:45Z miasuji quit (Ping timeout: 240 seconds) 2020-12-16T00:22:51Z todun joined #lisp 2020-12-16T00:26:07Z EvW joined #lisp 2020-12-16T00:28:02Z defunkydrummer quit (Quit: Leaving) 2020-12-16T00:42:44Z parjanya joined #lisp 2020-12-16T00:47:52Z zulu-inuoe quit (Read error: Connection reset by peer) 2020-12-16T00:48:07Z Oladon quit (Quit: Leaving.) 2020-12-16T00:48:56Z skapata quit (Remote host closed the connection) 2020-12-16T00:49:10Z todun quit (Quit: todun) 2020-12-16T00:52:49Z hiroaki quit (Ping timeout: 272 seconds) 2020-12-16T00:58:25Z hendursa1 joined #lisp 2020-12-16T00:59:43Z hendursaga quit (Ping timeout: 240 seconds) 2020-12-16T00:59:52Z jprajzne quit (Quit: jprajzne) 2020-12-16T01:00:16Z jprajzne joined #lisp 2020-12-16T01:00:48Z igemnace quit (Remote host closed the connection) 2020-12-16T01:01:55Z nij joined #lisp 2020-12-16T01:03:08Z nij: For my need so far, I find DEFSTRUCT nice enough. However, CLOS seems to be the full-fledge + superior stuff one ultimately should use. It is a bit involving though. Would someone explain (just a bit) what I am missing by using DEFSTRUCT but not CLOS? 2020-12-16T01:04:27Z no-defun-allowed: Arguably structure-classes are part of CLOS, as is any other class, but standard-classes allow for multiple inheritance, and the accessor names provided are generic functions. 2020-12-16T01:04:31Z Bike: multiple inheritance, more control over accessor names, ability to extend the object system, uhhhhh what else 2020-12-16T01:04:49Z Bike: yeah generic accessors is a big one 2020-12-16T01:05:04Z no-defun-allowed: You can also subclass standard-class to work with the meta-object protocol, which in the words of Tony Visconti, "fucks with the fabric of time". 2020-12-16T01:05:13Z hiroaki joined #lisp 2020-12-16T01:06:54Z Bike: oh and you can redefine classes 2020-12-16T01:06:58Z Bike: that's pretty nice 2020-12-16T01:07:06Z no-defun-allowed: That is also convenient, yes. 2020-12-16T01:07:26Z igemnace joined #lisp 2020-12-16T01:09:26Z jprajzne quit (Quit: jprajzne) 2020-12-16T01:09:49Z jprajzne joined #lisp 2020-12-16T01:10:16Z miasuji joined #lisp 2020-12-16T01:14:46Z wxie joined #lisp 2020-12-16T01:14:55Z jprajzne quit (Quit: jprajzne) 2020-12-16T01:15:22Z miasuji quit (Ping timeout: 260 seconds) 2020-12-16T01:15:28Z nij: wow i have no idea what these means 2020-12-16T01:15:41Z nij: just learned about generic functions, but pretty much it.. 2020-12-16T01:15:59Z nij: I mean.. I know what they mean, but I cannot tell why they are good. 2020-12-16T01:16:11Z nij: Perhaps I need to get involved in some projects that naturally require those. 2020-12-16T01:19:05Z no-defun-allowed: You can use generic functions with structure classes, but supposing you have (defstruct thing foo) then THING-FOO is not generic. The THING-FOO generated by (defclass thing () ((foo ... :accessor thing-foo))) is generic. 2020-12-16T01:22:04Z oni-on-ion: however making structs makes classes 2020-12-16T01:23:13Z no-defun-allowed: You also get CHANGE-CLASS with standard instances, which has its uses. 2020-12-16T01:27:27Z nij: I have recorded the buzzwords.. will learn. 2020-12-16T01:27:34Z nij: Sorry folks @@" 2020-12-16T01:32:15Z lotuseater joined #lisp 2020-12-16T01:34:36Z nij quit (Ping timeout: 268 seconds) 2020-12-16T01:38:48Z mfiano: CLOS is better for prototyping, which falls under just about all of the reasons above 2020-12-16T01:38:55Z mfiano: shared-initialize, and therfor initialize-instance etc and the big ones for me. 2020-12-16T01:41:13Z troydm quit (Ping timeout: 246 seconds) 2020-12-16T01:42:42Z troydm joined #lisp 2020-12-16T01:44:51Z jprajzne joined #lisp 2020-12-16T01:46:36Z luckless quit (Remote host closed the connection) 2020-12-16T01:47:06Z luckless joined #lisp 2020-12-16T01:49:26Z rumbler31_ joined #lisp 2020-12-16T01:49:55Z jprajzne quit (Quit: jprajzne) 2020-12-16T01:50:26Z Lord_of_Life_ joined #lisp 2020-12-16T01:50:38Z Lord_of_Life quit (Ping timeout: 260 seconds) 2020-12-16T01:51:47Z Lord_of_Life_ is now known as Lord_of_Life 2020-12-16T01:53:07Z jibanes quit (Ping timeout: 246 seconds) 2020-12-16T01:54:50Z jprajzne joined #lisp 2020-12-16T01:55:01Z notaname joined #lisp 2020-12-16T01:55:09Z jibanes joined #lisp 2020-12-16T01:56:12Z rumbler31_ quit (Ping timeout: 260 seconds) 2020-12-16T01:59:55Z jprajzne quit (Quit: jprajzne) 2020-12-16T02:00:20Z jprajzne joined #lisp 2020-12-16T02:04:26Z jprajzne quit (Client Quit) 2020-12-16T02:04:49Z jprajzne joined #lisp 2020-12-16T02:06:04Z Necktwi quit (Ping timeout: 246 seconds) 2020-12-16T02:06:25Z karlosz joined #lisp 2020-12-16T02:09:13Z quazimodo quit (Ping timeout: 264 seconds) 2020-12-16T02:09:58Z bilegeek joined #lisp 2020-12-16T02:09:59Z quazimodo joined #lisp 2020-12-16T02:13:27Z EvW quit (Ping timeout: 268 seconds) 2020-12-16T02:18:07Z Necktwi joined #lisp 2020-12-16T02:18:56Z miasuji joined #lisp 2020-12-16T02:19:59Z toorevitimirp joined #lisp 2020-12-16T02:26:02Z toorevitimirp quit (Remote host closed the connection) 2020-12-16T02:26:27Z toorevitimirp joined #lisp 2020-12-16T02:29:59Z hendursa1 quit (Quit: hendursa1) 2020-12-16T02:30:26Z hendursaga joined #lisp 2020-12-16T02:31:23Z jeosol quit (Remote host closed the connection) 2020-12-16T02:32:37Z jibanes quit (Ping timeout: 264 seconds) 2020-12-16T02:34:09Z jibanes joined #lisp 2020-12-16T02:34:54Z jprajzne quit (Quit: jprajzne) 2020-12-16T02:38:44Z zstest3[m] quit (Ping timeout: 268 seconds) 2020-12-16T02:38:45Z etimmons quit (Ping timeout: 268 seconds) 2020-12-16T02:39:21Z santiagopim[m] quit (Ping timeout: 268 seconds) 2020-12-16T02:39:21Z solideogloria[m] quit (Ping timeout: 268 seconds) 2020-12-16T02:39:22Z katco quit (Ping timeout: 268 seconds) 2020-12-16T02:39:47Z solideogloria[m] joined #lisp 2020-12-16T02:39:49Z jprajzne joined #lisp 2020-12-16T02:39:53Z santiagopim[m] joined #lisp 2020-12-16T02:40:20Z katco joined #lisp 2020-12-16T02:41:54Z zstest3[m] joined #lisp 2020-12-16T02:42:08Z etimmons joined #lisp 2020-12-16T02:42:59Z pfdietz quit (Ping timeout: 245 seconds) 2020-12-16T02:45:00Z rumbler31_ joined #lisp 2020-12-16T02:49:25Z aeth: it's for polymorphism 2020-12-16T02:49:45Z aeth: (whatever 42) vs. (foo-whatever 42) and (bar-whatever 42) and (baz-whatever 42) 2020-12-16T02:50:19Z aeth: There are other ways to get what you want, including libraries that implement alternative generic systems, but probably just something like a TYPECASE. 2020-12-16T02:50:45Z no-defun-allowed: You can specialise on structure-classes. 2020-12-16T02:50:59Z aeth: Note, though, that a TYPECASE isn't as flexible since adding to it requires recompiling the function. 2020-12-16T02:51:02Z notaname quit (Ping timeout: 260 seconds) 2020-12-16T02:51:24Z aeth: no-defun-allowed: yes, and you can also get foo-whatever, bar-whatever, and baz-whatever through things other than structures 2020-12-16T02:51:31Z aeth: It's harder to get one WHATEVER, though 2020-12-16T02:51:40Z aeth: Without DEFGENERIC/DEFMETHOD, I mean 2020-12-16T02:53:56Z hendursa1 joined #lisp 2020-12-16T02:54:01Z orivej joined #lisp 2020-12-16T02:55:43Z hendursaga quit (Ping timeout: 240 seconds) 2020-12-16T02:55:50Z thmprover: Say, is there any subtleties I should be aware of with ABCL? 2020-12-16T02:56:03Z surabax quit (Quit: Leaving) 2020-12-16T02:56:28Z thmprover: I may be forced to use a language targetting the JVM, and I think ABCL may be fun to work with...assuming, y'know, it doesn't have any horrible gotchas. 2020-12-16T02:57:13Z no-defun-allowed: To my knowledge, there aren't any problems with ABCL. On the contrary, it helped me find bugs in my code, as I relied on some behaviour (somewhere in the MOP) that other implementations had. 2020-12-16T02:57:53Z srandon111: no-defun-allowed, don't do that 2020-12-16T02:57:59Z kaftejiman quit (Remote host closed the connection) 2020-12-16T02:59:59Z Misha_B joined #lisp 2020-12-16T03:02:49Z no-defun-allowed: srandon111: Yes, I try not to do that. 2020-12-16T03:04:07Z aeth: I suppose the main problem with an obscure implementation like ABCL is that by the time you intersect a lot of libraries if you have dozens, even though they all support many implementations, you'll probably wind up with just SBCL and CCL and maybe ECL as supported implementations. 2020-12-16T03:05:00Z aeth: The likelihood of every dependency-of-dependency supporting ABCL (once such a list grows to hundreds) is low 2020-12-16T03:05:15Z aeth: CLISP has similar issues here, even though it was incredibly popular 10 years ago. 2020-12-16T03:06:09Z thmprover: Well, I'm probably going to have to interop with the Java ecosystem; the other guy wants to use Scala, so I'm trying to meet him half way. 2020-12-16T03:06:32Z no-defun-allowed: There aren't that many libraries that don't have a #-(or sbcl clozure) ... if they do implementation-specific stuff. 2020-12-16T03:06:58Z aeth: no-defun-allowed: everything has to *work*, though. 2020-12-16T03:09:34Z hiroaki quit (Ping timeout: 268 seconds) 2020-12-16T03:10:06Z hiroaki joined #lisp 2020-12-16T03:10:42Z aeth: no-defun-allowed: My game engine's probably one of the worst cases because it has to FFI, but a long time ago I tested it in Roswell on basically every implementation (it doesn't have MKCL and I didn't test the commercial ones) and it only ran in SBCL, CCL, and ECL... and in ECL it ran so slowly that it was a slideshow. 2020-12-16T03:11:36Z aeth: Also, a lot of the time the #-(or sbcl clozure) path isn't just a slow path, it just plain doesn't work. 2020-12-16T03:13:49Z aeth: The most notable is probably bordeaux-threads, whose portable path mostly seems to be implemented as ERRORs, but fortunately that one in particular runs on most implementations. 2020-12-16T03:20:28Z jibanes quit (Ping timeout: 260 seconds) 2020-12-16T03:22:12Z jibanes joined #lisp 2020-12-16T03:26:32Z jibanes quit (Ping timeout: 256 seconds) 2020-12-16T03:27:24Z Stanley00 joined #lisp 2020-12-16T03:27:31Z jibanes joined #lisp 2020-12-16T03:28:00Z Oladon joined #lisp 2020-12-16T03:28:41Z rumbler31_ quit (Ping timeout: 268 seconds) 2020-12-16T03:29:01Z entre-pa` joined #lisp 2020-12-16T03:29:32Z entre-parenteses quit (Ping timeout: 260 seconds) 2020-12-16T03:29:42Z rumbler31_ joined #lisp 2020-12-16T03:30:01Z moon-child: aeth: isn't there a portable cffi abstraction thingy? 2020-12-16T03:34:20Z aeth: moon-child: Yes 2020-12-16T03:37:43Z aeth: moon-child: But CFFI itself is rarely the only library used. For instance, while CFFI supports CLISP, static-vectors (a library for an easier way to do foreign arrays with CFFI) does not. That's not the only implementation that it doesn't support, either. 2020-12-16T03:38:30Z aeth: Now intersect the supported implementation of every library that's a dependency (and CFFI stuff just make it more likely for this to be the case) and you'll probably just wind up with SBCL and CCL once you add enough. 2020-12-16T03:39:10Z jibanes quit (Ping timeout: 246 seconds) 2020-12-16T03:39:55Z jprajzne quit (Quit: jprajzne) 2020-12-16T03:40:06Z aeth: On the one hand, it's unlikely. On the other, if you aren't selective about dependencies-of-dependencies, then you can easily wind up with enough to make the improbable probable. 2020-12-16T03:41:12Z jibanes joined #lisp 2020-12-16T03:43:38Z sharo joined #lisp 2020-12-16T03:44:18Z aeth: ABCL doesn't seem to be that bad in library support, though. It supports the example library (static-vectors) and it supports package-local-nicknames (which is probably the most likely thing to exclude niche implementations) 2020-12-16T03:44:52Z jprajzne joined #lisp 2020-12-16T03:51:13Z jibanes quit (Ping timeout: 264 seconds) 2020-12-16T03:52:43Z jibanes joined #lisp 2020-12-16T03:54:51Z Aurora_v_kosmose: Any semi-obvious reason uiop:getenv would be unable to get any variables when compiled into an executable? 2020-12-16T03:58:20Z Aurora_v_kosmose: I'm going to assume my copies of asdf/uiop are outdated, sb-ext:posix-getenv works just fine. 2020-12-16T03:58:34Z Aurora_v_kosmose: So much for portable APIs though. 2020-12-16T03:59:17Z Kaisyu joined #lisp 2020-12-16T03:59:36Z flip214 quit (Ping timeout: 240 seconds) 2020-12-16T03:59:55Z jprajzne quit (Quit: jprajzne) 2020-12-16T04:00:10Z jibanes quit (Ping timeout: 246 seconds) 2020-12-16T04:00:14Z sharo quit (Remote host closed the connection) 2020-12-16T04:01:43Z flip214 joined #lisp 2020-12-16T04:02:08Z Alfr_ joined #lisp 2020-12-16T04:02:13Z jibanes joined #lisp 2020-12-16T04:04:47Z jprajzne joined #lisp 2020-12-16T04:04:47Z Alfr quit (Ping timeout: 260 seconds) 2020-12-16T04:09:55Z jprajzne quit (Quit: jprajzne) 2020-12-16T04:10:56Z flip214 quit (Ping timeout: 240 seconds) 2020-12-16T04:11:05Z flip214 joined #lisp 2020-12-16T04:11:17Z Aurora_v_kosmose left #lisp 2020-12-16T04:11:48Z thmprover quit (Quit: For He Was Great of Heart) 2020-12-16T04:12:38Z sharo joined #lisp 2020-12-16T04:13:36Z jibanes quit (Ping timeout: 240 seconds) 2020-12-16T04:15:47Z jibanes joined #lisp 2020-12-16T04:19:51Z jprajzne joined #lisp 2020-12-16T04:22:18Z jibanes quit (Ping timeout: 260 seconds) 2020-12-16T04:22:56Z jibanes joined #lisp 2020-12-16T04:26:51Z beach joined #lisp 2020-12-16T04:26:52Z beach: Good morning everyone! 2020-12-16T04:31:19Z jibanes quit (Ping timeout: 246 seconds) 2020-12-16T04:32:19Z narimiran joined #lisp 2020-12-16T04:33:26Z jibanes joined #lisp 2020-12-16T04:35:08Z rumbler31_ quit (Ping timeout: 260 seconds) 2020-12-16T04:41:34Z wxie quit (Ping timeout: 272 seconds) 2020-12-16T04:48:56Z jibanes quit (Ping timeout: 240 seconds) 2020-12-16T04:49:41Z sharo left #lisp 2020-12-16T04:50:34Z notaname joined #lisp 2020-12-16T04:51:00Z jibanes joined #lisp 2020-12-16T04:52:43Z ex_nihilo joined #lisp 2020-12-16T04:53:52Z ldbeth` joined #lisp 2020-12-16T04:54:20Z entre-pa` quit (Quit: ERC (IRC client for Emacs 27.1)) 2020-12-16T04:54:54Z jprajzne quit (Quit: jprajzne) 2020-12-16T04:56:42Z jibanes quit (Ping timeout: 256 seconds) 2020-12-16T04:57:20Z jibanes joined #lisp 2020-12-16T04:57:55Z bilegeek quit (Quit: Leaving) 2020-12-16T05:03:36Z wxie joined #lisp 2020-12-16T05:07:22Z Bike quit (Quit: Lost terminal) 2020-12-16T05:10:04Z akoana left #lisp 2020-12-16T05:12:47Z miasuji quit (Ping timeout: 260 seconds) 2020-12-16T05:14:54Z jprajzne joined #lisp 2020-12-16T05:15:18Z srandon111: Hello beach!!!! 2020-12-16T05:15:23Z srandon111 hugs beach! 2020-12-16T05:16:40Z srandon111 tells beach to prepare some breakfast 2020-12-16T05:19:09Z srandon111 asks where is beach 2020-12-16T05:19:33Z beach: Bordeaux. 2020-12-16T05:19:53Z srandon111: beach, cool! 2020-12-16T05:20:04Z srandon111: beach, let's prepare some breakfast in lisp 2020-12-16T05:24:50Z ldbeth`: good afternnon 2020-12-16T05:25:04Z beach: Hello ldbeth`. 2020-12-16T05:26:23Z srandon111: ldbeth`, where are you ??? afternoon ? 2020-12-16T05:26:30Z srandon111: i was having breakfast with beach 2020-12-16T05:27:23Z ldbeth`: srandon111: GPT+8 2020-12-16T05:27:31Z srandon111: ldbeth`, damn 2020-12-16T05:27:37Z srandon111: japan? 2020-12-16T05:27:41Z srandon111: or something like that 2020-12-16T05:27:46Z ldbeth`: china 2020-12-16T05:27:48Z srandon111: some russian republic ldbeth` 2020-12-16T05:27:51Z srandon111: china? 2020-12-16T05:27:56Z srandon111: that's crazy 2020-12-16T05:28:17Z bitmapper quit (Quit: Connection closed for inactivity) 2020-12-16T05:28:31Z beach: srandon111: There are people from all over here. You'll learn after a while who is where. 2020-12-16T05:28:36Z srandon111: ldbeth`, well we were having breakfast, do you want to join ? 2020-12-16T05:28:55Z srandon111 offers breakfast to ldbeth` and some jiao zi 2020-12-16T05:28:56Z ldbeth`: sure , why not 2020-12-16T05:29:08Z srandon111: ldbeth`, jiao zi is my favorite food 2020-12-16T05:29:20Z beach: Let's stick to the topic, please. 2020-12-16T05:29:41Z srandon111: beach, wait which topic? we were talking about our breakfast 2020-12-16T05:29:47Z srandon111: no discussion was ongoing 2020-12-16T05:29:55Z jprajzne quit (Quit: jprajzne) 2020-12-16T05:30:23Z easye: We try to restrict ourselves to discussing Common Lisp here. 2020-12-16T05:30:41Z easye: We tyr to use #lispcafe for more pure socializing. 2020-12-16T05:31:40Z srandon111: easye, ok thanks for suggestion 2020-12-16T05:33:16Z jibanes quit (Ping timeout: 246 seconds) 2020-12-16T05:33:56Z phoe6_ joined #lisp 2020-12-16T05:34:28Z beach: So, apparently, I started writing SICL FORMAT some 12 years ago, and I am only now getting prepared to use it as native SICL code. I am looking for an experienced Lisper who might want to extract this module to a separate repository, maintain it, supply the code for the remaining directives, document it, etc. 2020-12-16T05:34:49Z jprajzne joined #lisp 2020-12-16T05:35:07Z beach: My coding standard have changed the past 12 years, so there may be some updates as well, even to code that is working. 2020-12-16T05:35:15Z jibanes joined #lisp 2020-12-16T05:35:38Z beach: FORMAT was one of the first modules I wrote, I think. 2020-12-16T05:36:17Z charlie770 joined #lisp 2020-12-16T05:37:44Z waleee-cl quit (Quit: Connection closed for inactivity) 2020-12-16T05:38:36Z srandon111: beach, what's SICL ? 2020-12-16T05:39:00Z beach: minion: Please tell srandon111 about SICL. 2020-12-16T05:39:00Z minion: srandon111: 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-12-16T05:39:02Z no-defun-allowed: minion: tell srandon111 about SICL 2020-12-16T05:39:10Z no-defun-allowed: 😳 2020-12-16T05:39:34Z srandon111: thanks minion 2020-12-16T05:39:41Z beach: minion: Thanks! 2020-12-16T05:39:42Z minion: no problem 2020-12-16T05:39:54Z jprajzne quit (Quit: jprajzne) 2020-12-16T05:42:17Z mrcom quit (Read error: Connection reset by peer) 2020-12-16T05:42:39Z mrcom joined #lisp 2020-12-16T05:43:18Z ramenbytes joined #lisp 2020-12-16T05:43:51Z mrcom quit (Client Quit) 2020-12-16T05:44:09Z mrcom joined #lisp 2020-12-16T05:44:56Z jprajzne joined #lisp 2020-12-16T05:45:39Z ramenbytes quit (Remote host closed the connection) 2020-12-16T05:45:44Z beach: It looks like the entire FORMAT module is around 2kLOC, comments excluded, so it's not very big. But it needs to be split up into smaller files, perhaps one file per directive. 2020-12-16T05:46:17Z amenbytesr joined #lisp 2020-12-16T05:47:07Z ldbeth` quit (Ping timeout: 265 seconds) 2020-12-16T05:48:16Z lotuseater: beach: did you get the ideas on how to write all SICL code from looking at other implementations? (may be a bit rhetorical question) 2020-12-16T05:48:41Z lotuseater: yes i have format.lisp file open, a big one :) 2020-12-16T05:48:48Z beach: Yeah. 2020-12-16T05:49:18Z beach: lotuseater: Only very briefly. But I knew that my ideas weren't going to be acceptable to maintainers of existing implementations, so there was only one option. 2020-12-16T05:49:57Z amenbytesr quit (Remote host closed the connection) 2020-12-16T05:50:29Z ramenbytes joined #lisp 2020-12-16T05:50:54Z lotuseater: yes ok, very impressive knowing the whole language in so much depth 2020-12-16T05:51:09Z beach: lotuseater: Even the implementation that is bootstrapped using essentially only an existing Common Lisp implementation, i.e. SBCL, has a compiler that is written without the use of generic functions or standard classes (or so I have been told). 2020-12-16T05:51:59Z beach: And I wanted to use first-class global environments, which is another radical departure from how existing implementations work. 2020-12-16T05:52:24Z beach: lotuseater: Don't think for a second I knew it all when I started. :) 2020-12-16T05:52:55Z lotuseater: ok, so there's still hope for me :) 2020-12-16T05:53:12Z beach: Yes, give it a decade or two. 2020-12-16T05:53:15Z lotuseater: what is this acclimation the sicl-format.asd file states to depend on? 2020-12-16T05:53:41Z beach: It's a little thing that allows you to internationalize things, like error messages, etc. 2020-12-16T05:54:45Z lotuseater: yes and in three decades I can work with you all on the first real AI which then enslaves humanity ^^' 2020-12-16T05:54:52Z lotuseater: ah okay 2020-12-16T05:54:54Z jprajzne quit (Quit: jprajzne) 2020-12-16T05:55:06Z beach: I haven't had time to work on it very much, but the ambition is to provide functionality for end-user applications, so that they can just say "present this value as an oven temperature" or "present this value as an ambient temperature", and the library will figure out the unit, and the precision. 2020-12-16T05:55:10Z Oladon quit (Quit: Leaving.) 2020-12-16T05:55:21Z jprajzne joined #lisp 2020-12-16T05:55:57Z beach: Like you don't want your application to say "Then set your oven to 274.2342355°C" 2020-12-16T05:57:08Z beach: Oven temperature in °C is usually rounded to 5°C, and may 10°F. Ambient temperature to an even number, both for °C and °F. 2020-12-16T05:57:40Z beach: So you can't use the same code for the two kinds of temperature. 2020-12-16T05:57:40Z lotuseater: haha yes our oven just has marked 50 Kelvin steps ^^ 2020-12-16T05:58:02Z lotuseater: i see 2020-12-16T05:58:04Z ramenbytes: Isn't that the same as 50 centigrade steps? 2020-12-16T05:58:07Z beach: Same thing for (say) driving distance. 2020-12-16T05:58:24Z beach: lotuseater: It is usually 5° steps for °C. 2020-12-16T05:58:32Z lotuseater: will the sicl format be extensible? or did i miss something? 2020-12-16T05:58:43Z beach: Actually, you are right, maybe it's really 25°C. 2020-12-16T05:58:55Z lotuseater: ramenbytes: yes it is, but Kelvin is basic physical unit :P 2020-12-16T05:59:01Z beach: lotuseater: Oh yes, definitely. 2020-12-16T05:59:16Z ramenbytes: lotuseater: Fair. 2020-12-16T05:59:25Z jprajzne quit (Client Quit) 2020-12-16T05:59:43Z lotuseater: that's great, so documentation should state in a reasonable way the interface 2020-12-16T05:59:50Z jprajzne joined #lisp 2020-12-16T06:00:00Z beach: lotuseater: Are you talking about FORMAT now? 2020-12-16T06:00:05Z beach: If so, yes, definitely. 2020-12-16T06:00:10Z lotuseater: yes 2020-12-16T06:00:48Z lotuseater: as long as the standard is there as specified nothing stops from extensibility to have 2020-12-16T06:01:00Z beach: This FORMAT module is very likely unique in its implementation, because it uses standard classes and generic functions. Even the PROGN method combination apparently. 2020-12-16T06:01:33Z ramenbytes: beach: What drives that approach? 2020-12-16T06:01:44Z beach: ramenbytes: "drives"? 2020-12-16T06:02:01Z ramenbytes: beach: Sorry, what is the motivation for the unique approach. 2020-12-16T06:02:19Z beach: It seemed like the best way to do it. 2020-12-16T06:02:48Z lotuseater: never used PROGN mc yet, but i think i know how it works 2020-12-16T06:02:56Z beach: ramenbytes: As it turns out, I am unable to keep in mind a subset of Common Lisp to use for each module, so I just decided to make it possible to use the full language for each one. 2020-12-16T06:03:21Z ramenbytes: beach: haha, that certainly wipes out the issue. 2020-12-16T06:03:44Z beach: ramenbytes: It made bootstrapping a bit harder :) 2020-12-16T06:03:53Z beach: But I think I figure that part out. 2020-12-16T06:04:08Z ramenbytes: beach: I guessed as much. What were the sticky parts? 2020-12-16T06:04:35Z beach: Making things like (defclass t () () (:metaclass built-in-class)) operational. 2020-12-16T06:04:49Z beach: But it has already paid off. 2020-12-16T06:04:53Z ramenbytes: That has circularity issues right? 2020-12-16T06:05:22Z beach: Yes, built-in-class is a subclass of class, metaobject, standard-object, and T. 2020-12-16T06:05:22Z jonatack quit (Read error: Connection reset by peer) 2020-12-16T06:05:48Z ramenbytes: Ah, I need to study my MOP. 2020-12-16T06:05:50Z beach: clhs built-in-class 2020-12-16T06:05:51Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/t_built_.htm 2020-12-16T06:06:36Z ldbeth` joined #lisp 2020-12-16T06:06:43Z beach: So for built-in-class to exist, T must already exist. 2020-12-16T06:08:01Z lotuseater: and how is the class for T basically defined? 2020-12-16T06:08:01Z beach: I suspect most Common Lisp implementations use (a possibly modified version of) PCL. 2020-12-16T06:08:31Z beach: lotuseater: I just showed you: (defclass t () () (:metaclass built-in-class)) 2020-12-16T06:09:03Z Kaisyu quit (Quit: Connection closed for inactivity) 2020-12-16T06:09:05Z lotuseater: oh sorry, i was blind 2020-12-16T06:09:24Z beach: And PCL is really kludgey when it comes to bootstrapping and avoiding metacircularity problems. So I wanted something more idiomatic. 2020-12-16T06:09:36Z ramenbytes: lotuseater: I missed that too. 2020-12-16T06:10:05Z ramenbytes: beach: I've heard PCL has some inefficiencies in it. Does that come from the kludges? 2020-12-16T06:10:34Z lotuseater: could you give me a hint what PCL is in this context? 2020-12-16T06:10:35Z beach: ramenbytes: I suspect what you have heard is that the generic dispatch is slow. T 2020-12-16T06:10:46Z beach: That's why I invented a better technique. 2020-12-16T06:10:58Z ramenbytes: lotuseater: Portable Common Loops I think. 2020-12-16T06:11:05Z beach: Yes, "Portable Common Loops" 2020-12-16T06:11:24Z jonatack joined #lisp 2020-12-16T06:11:26Z lotuseater: ahhh, now i get it 2020-12-16T06:11:35Z beach: A mostly-portable library that allows a pre-ANSI Common Lisp implementation to "bolt on" CLOS. 2020-12-16T06:11:41Z charlie770 quit (Quit: thatsit) 2020-12-16T06:11:51Z charlie770 joined #lisp 2020-12-16T06:11:52Z ldbeth`: and Common Loops was one of the popular Object systems pre ANSI 2020-12-16T06:12:02Z beach: But I wanted to start with CLOS so that I could use its features for the rest of the system. 2020-12-16T06:12:25Z ramenbytes: beach: Is your technique detailed in one of the papers from the SICL repo? 2020-12-16T06:12:27Z beach: So that I can write (defclass symbol () ((%name ...) (%package ...))) 2020-12-16T06:12:36Z vegansbane6 quit (Ping timeout: 240 seconds) 2020-12-16T06:12:54Z beach: ramenbytes: Yes, the dispatch technique is documented. 2020-12-16T06:13:09Z beach: The bootstrapping technique, not so much (yet). 2020-12-16T06:13:21Z ramenbytes: Cool, I think found the dispatch paper. 2020-12-16T06:13:27Z beach: There is a paper, but I fear it is incomprehensible. 2020-12-16T06:13:43Z beach: [the one about bootstrapping, I mean] 2020-12-16T06:13:44Z ramenbytes: Guess I'll find out. 2020-12-16T06:13:54Z ramenbytes: Ah, I thought you meant the dispatch. 2020-12-16T06:14:07Z beach: No, that one should be straightforward. 2020-12-16T06:15:26Z ramenbytes: Ok, I'll add to my reading list. 2020-12-16T06:15:44Z beach: I presented it at ILC in Montreal, and the chairman (having not read the paper) told me that my technique was "trivail" and merely "an inline cache". 2020-12-16T06:16:15Z beach: But the point of the paper is how to manage the inline cache so that obsolete instances do not have to be tested for explicitly. 2020-12-16T06:18:29Z beach: Unfortunately, I am a slow thinker, so I didn't have the presence to counter something like "did you even read the paper, buddy?" 2020-12-16T06:19:43Z ldbeth`: gg 2020-12-16T06:21:03Z ramenbytes: From a quick scan of the paper, you compare an id number in the instance with the official class id? 2020-12-16T06:24:00Z ldbeth`: with the custom hashtable optimization, with 2 min 238,000 words can be loaded 2020-12-16T06:24:30Z ldbeth`: for the spell checker 2020-12-16T06:27:38Z ldbeth`: i think sxhash might be too slow if only eq comparsion is considered 2020-12-16T06:27:43Z beach: ramenbytes: Yes, and the point is that the class ID is a small constant in compiled code and the instance ID is in a register. 2020-12-16T06:28:26Z beach: ramenbytes: Whereas PCL uses a (specialized) hash table in memory, which was probably fine at the time it was invented. 2020-12-16T06:28:54Z ramenbytes: Hmm, that does sound faster. 2020-12-16T06:29:03Z aartaka joined #lisp 2020-12-16T06:29:12Z ramenbytes: The registers I mean. 2020-12-16T06:29:28Z beach: ramenbytes: The thing is that all existing Common Lisp implementations started life many decades ago, and the reality of processor speed vs memory speed has changed since. 2020-12-16T06:29:55Z jprajzne quit (Quit: jprajzne) 2020-12-16T06:30:20Z jprajzne joined #lisp 2020-12-16T06:30:30Z ramenbytes: beach: So it's gone from memory being faster to the processor being faster? 2020-12-16T06:30:48Z ldbeth`: is there a function that can get object id on CCL? 2020-12-16T06:30:56Z beach: I guess at the time, the speed was comparable. Now the difference is a factor 10-100. 2020-12-16T06:31:32Z ramenbytes: I can see why you wanted an alternative. 2020-12-16T06:31:40Z beach: Thanks. 2020-12-16T06:31:55Z beach: So taking an existing Common Lisp implementation and adapting it to the reality of modern processors would be even harder than to start from scratch. 2020-12-16T06:32:09Z beach: Especially given all the other things I wanted to change as well. 2020-12-16T06:32:27Z jprajzne quit (Client Quit) 2020-12-16T06:32:47Z beach: First-class global environments, using more generic functions and standard classes, ... 2020-12-16T06:33:07Z ramenbytes: Yeah, lots of neat stuff. 2020-12-16T06:33:44Z beach: Thanks! 2020-12-16T06:33:52Z srandon111 quit (Ping timeout: 260 seconds) 2020-12-16T06:34:00Z ramenbytes: Thanks for doing the work on it. 2020-12-16T06:34:11Z ramenbytes: Got to go, thanks for the info. 2020-12-16T06:34:15Z beach: Take care. 2020-12-16T06:34:26Z ramenbytes: You too. 2020-12-16T06:34:31Z ramenbytes quit (Remote host closed the connection) 2020-12-16T06:34:44Z orivej quit (Ping timeout: 256 seconds) 2020-12-16T06:40:15Z andreyorst` joined #lisp 2020-12-16T06:40:17Z andreyorst` quit (Remote host closed the connection) 2020-12-16T06:42:33Z srandon111 joined #lisp 2020-12-16T06:44:37Z srandon111 quit (Client Quit) 2020-12-16T06:49:16Z saganman quit (Quit: WeeChat 1.6) 2020-12-16T06:49:38Z charlie770 quit (Ping timeout: 256 seconds) 2020-12-16T06:50:54Z charlie770 joined #lisp 2020-12-16T06:54:03Z ldbeth` quit (Remote host closed the connection) 2020-12-16T06:58:03Z lotuseater: |= 2020-12-16T06:58:17Z lotuseater: oh sry wrong window o.O 2020-12-16T07:02:17Z aartaka_d joined #lisp 2020-12-16T07:02:40Z wxie quit (Ping timeout: 256 seconds) 2020-12-16T07:05:01Z aartaka quit (Ping timeout: 264 seconds) 2020-12-16T07:06:25Z aartaka_d quit (Ping timeout: 240 seconds) 2020-12-16T07:11:49Z frost-lab joined #lisp 2020-12-16T07:13:46Z charlie770 quit (Ping timeout: 268 seconds) 2020-12-16T07:14:08Z pankajsg joined #lisp 2020-12-16T07:19:17Z wxie joined #lisp 2020-12-16T07:20:09Z aartaka joined #lisp 2020-12-16T07:21:41Z galex-713 quit (Ping timeout: 272 seconds) 2020-12-16T07:21:47Z hiroaki quit (Ping timeout: 268 seconds) 2020-12-16T07:22:11Z hiroaki joined #lisp 2020-12-16T07:23:45Z lotuseater: how are your experiences translating c code to CL? 2020-12-16T07:24:50Z beach: Just in order to execute it, or in order to maintain the Common Lisp version? 2020-12-16T07:28:58Z beach: For the former, froggey came up with a solution that is used to execute C code in Mezzano. 2020-12-16T07:28:58Z lotuseater: hm i mean the process of translating 2020-12-16T07:29:09Z lotuseater: let's say the C code doesn't change 2020-12-16T07:29:17Z lotuseater: oh cool 2020-12-16T07:29:28Z beach: lotuseater: Sure, but it depends on whether you want the result to be readable and modifiable. 2020-12-16T07:29:39Z aartaka_d joined #lisp 2020-12-16T07:29:41Z lotuseater: yes you're right 2020-12-16T07:30:02Z beach: What froggey did, does not address that point, I think. 2020-12-16T07:31:16Z aartaka quit (Ping timeout: 240 seconds) 2020-12-16T07:31:18Z lotuseater: a friend of mine told me yesterday (while we talked about X window managers like xmonad and stumpwm) that actual X support will run out in the future, so i'm peeking into wayland codebase (which seems quite readable) and tried translating some stuff to get a feeling 2020-12-16T07:31:32Z jeosol joined #lisp 2020-12-16T07:32:36Z lotuseater: my C knowledge is quite nonexistent but gets better. i mean we there is CLX so it would be nice to have wayland in CL in the future, and it does not seem so heavy 2020-12-16T07:39:24Z jackdaniel: I think that there is a wayland client in cl 2020-12-16T07:39:28Z jackdaniel: but I don't remember details 2020-12-16T07:39:46Z treflip joined #lisp 2020-12-16T07:39:53Z lotuseater: ah good to know 2020-12-16T07:40:12Z lotuseater: i was just experimenting :) 2020-12-16T07:40:18Z jackdaniel: also if I were to write a wayland client, I'd look straight into the wire protocol 2020-12-16T07:40:43Z jackdaniel: afair it is quite language agnostic, so you won't be bothered with C-imposed boilerplate 2020-12-16T07:41:13Z gaqwas joined #lisp 2020-12-16T07:41:47Z lotuseater: yes you're right ... it's exhausting. had the same some days ago with (horrible written) numerical stuff 2020-12-16T07:42:19Z jackdaniel: the only non-portable part I think was opening the unix socket, but that's covered by usocket (via implementation-specific extensions) 2020-12-16T07:43:00Z random-nick joined #lisp 2020-12-16T07:43:08Z jackdaniel: binary-types would come handy I suppose (to define "packets"/"messages" or whatever they call them) 2020-12-16T07:43:30Z jackdaniel goes afk 2020-12-16T07:43:42Z lotuseater: okay thx, see ya 2020-12-16T07:45:55Z splittist: Wayland string primitives seem to have a length prefix and a NUL terminator... 2020-12-16T07:46:22Z lotuseater: and is that good or bad? 2020-12-16T07:47:34Z splittist: Just a thing. I guess it's indicative of the C-ness of the modern world. X had symbols and was very lispy (for obvious reasons). 2020-12-16T07:48:02Z vegansbane6 joined #lisp 2020-12-16T07:57:44Z aartaka joined #lisp 2020-12-16T07:58:25Z aartaka_d quit (Ping timeout: 264 seconds) 2020-12-16T07:58:27Z flip214 quit (Read error: Connection reset by peer) 2020-12-16T08:02:00Z imode quit (Quit: Bats are people too!) 2020-12-16T08:03:42Z flip214 joined #lisp 2020-12-16T08:08:36Z nostoi joined #lisp 2020-12-16T08:08:52Z skapata joined #lisp 2020-12-16T08:09:54Z phireh joined #lisp 2020-12-16T08:13:03Z shka_ joined #lisp 2020-12-16T08:14:08Z liberliver joined #lisp 2020-12-16T08:18:41Z jello_pudding quit (Ping timeout: 272 seconds) 2020-12-16T08:22:30Z atomik_dog joined #lisp 2020-12-16T08:25:32Z Guest6090 quit (Ping timeout: 260 seconds) 2020-12-16T08:26:16Z mathrick quit (Ping timeout: 240 seconds) 2020-12-16T08:27:01Z mbomba joined #lisp 2020-12-16T08:30:20Z jello_pudding joined #lisp 2020-12-16T08:33:43Z rgherdt joined #lisp 2020-12-16T08:38:01Z nij joined #lisp 2020-12-16T08:39:34Z nij: Nontechnical question.. I'm obviously stepping toward the cult of lisp (if it is). Are there any articles that delicately argue why lisp is not as good? 2020-12-16T08:40:57Z phireh: It wouldn't be hard to find some complaining about the syntax 2020-12-16T08:41:08Z moon-child: nij: I don't see what's nontechnical about that question, but http://winestockwebdesign.com/Essays/Lisp_Curse.html 2020-12-16T08:41:25Z nij: They are not using the correct IDE, which AFAIK is probably why lisp is not popular. 2020-12-16T08:42:00Z no-defun-allowed: The History of Smalltalk mentions that Lisp (and Smalltalk for some reason) "eat their young", by making you sometimes stick with an old paradigm because it's sufficiently powerful, instead of making a new paradigm which explains it better. 2020-12-16T08:43:29Z no-defun-allowed: moon-child: I think it's a very bad problem that fragmentation is seen as a problem, when it is all but necessary to actually get anywhere; and that it is seen (particularly by Winestock) as preventing cooperation or communication. 2020-12-16T08:43:59Z nij: moon-child: Does this praise lisp in another way, and explain its unpopularity? 2020-12-16T08:43:59Z nij quit (Remote host closed the connection) 2020-12-16T08:44:07Z phoe: good morning 2020-12-16T08:44:13Z no-defun-allowed: nij: No, and no. 2020-12-16T08:44:16Z nij joined #lisp 2020-12-16T08:45:15Z moon-child: no-defun-allowed: fragmentation may not be an intrinsic problem, but it is, at least in part, responsible for some of lisp's lack of popularity 2020-12-16T08:45:20Z moon-child: no-defun-allowed: nij missed your message 2020-12-16T08:45:33Z no-defun-allowed: I tried my best to throw it into a metaphorical woodchipper with the better part of one chapter of the book I'm writing. 2020-12-16T08:45:43Z nij: errghhh diss my router :( 2020-12-16T08:45:57Z no-defun-allowed: moon-child: The alternative is stagnation, and if that's what we get, then I don't want to write Lisp anymore. 2020-12-16T08:47:39Z nij: @@ so is there any nice complaints 2020-12-16T08:47:55Z nij: (I want to say there's NONE.. cuz I cannot find one.) 2020-12-16T08:48:50Z no-defun-allowed: I can come up with a few complaints, but that is not out of the ordinary for programming languages. 2020-12-16T08:49:48Z jprajzne joined #lisp 2020-12-16T08:50:27Z phireh: There are some outdated complaints out there 2020-12-16T08:51:12Z no-defun-allowed: The argument in my book basically goes: Suppose you have a group of people who want to implement something. They have some options, and they have no a priori reason to believe one option is better than the other. Would it be better to pick one option and have everyone work on it to completion, or have everyone prototype implementations of all options, test them, then decide on which was the best? 2020-12-16T08:51:23Z phireh: Like, I found this old paper talking about how CL was too big to have a good implementation but we have a few nowadays 2020-12-16T08:52:13Z pve joined #lisp 2020-12-16T08:52:18Z no-defun-allowed: The former case looks good, because hey everyone's working together and they have a complete library. But if there's N options, then there's a N/(N+1) probability they didn't pick the best one, so they likely have to convene to pick another option and try again. 2020-12-16T08:52:49Z moon-child: phireh: cl remains very difficult to implement and very, and that's a valid consideration for some use cases 2020-12-16T08:53:23Z nij: yeah T_T we all know why lisp is not so popular.. sigh 2020-12-16T08:53:31Z nij: and i think that's well captured in /the curse of lisp/ 2020-12-16T08:53:33Z moon-child: One of the reasons the c committee chose to reject some features (forget which) was that it would make it harder to implement compilers. No biggy for gcc/clang/msvc (eqv. sbcl/ccl/lispworks), but problematic for small embedded c compiler vendors 2020-12-16T08:53:43Z nij: too powerful -> less popular 2020-12-16T08:53:57Z villanella joined #lisp 2020-12-16T08:54:14Z no-defun-allowed: At a wider scale, the latter case is much better, because you get a better idea of the design space. The problem is rounding up all the people, because odds are they don't know each other. But at least, you find that of all the options, most people pick very few options, so it's really not a problem anyway. 2020-12-16T08:54:17Z nij: phireh: oh interesting. 2020-12-16T08:54:26Z nij: that used to be a legit claim? 2020-12-16T08:54:48Z phireh: I mean, it is still a legit claim as moon-child said. 2020-12-16T08:55:06Z no-defun-allowed: It was. I think there was a fear that some features were still tricky to implement on stock hardware without a "sufficiently smart compiler", too. 2020-12-16T08:55:25Z phireh: It's a paper from '84 called A Critique of Common Lisp 2020-12-16T08:55:46Z moon-child: no-defun-allowed: funny it was the hardware, rather than the compilers, that proved that wrong 2020-12-16T08:55:54Z moon-child: (though ofc compilers have improved) 2020-12-16T08:56:35Z phireh: Anyhow the language is massive and has tons of redundancy, so it's intimidating at first glance for sure 2020-12-16T08:56:55Z no-defun-allowed: nij: I didn't quite get all of the quote in the book, but "man, your head is haunted; you have bats in your belfry! You’re imagining big things and painting for yourself a whole world of gods that is there for you, a haunted realm to which you are called, an ideal that beckons to you. You have a fixed idea!" 2020-12-16T08:57:45Z beach: I for one think that nij has very strange questions, indicating some worry that I can't figure out what it is. 2020-12-16T08:58:55Z no-defun-allowed: As opposed to minimalist language, I appreciate the redundancy, and sometimes I wish they went further. It would have been amusing to put all of Alexandria in the COMMON-LISP package, but it would be a pain for standardisation. 2020-12-16T08:59:02Z phireh: beach: He probably just doesn't want to look like an evangelist to his programmer friends or something? 2020-12-16T08:59:59Z beach: phireh: Maybe so, but my advice is to avoid trying to push a language to others. Especially if you don't know the language very well yourself, and even more so if the others very likely don't want to hear it. 2020-12-16T09:00:01Z phoe: I think the best way to not look like an evangelist is not to evangelize 2020-12-16T09:00:06Z no-defun-allowed: Easy enough, don't evangelise. To some extent, you can "let the code speak for itself", and what you gain and lose will be apparent. 2020-12-16T09:00:11Z no-defun-allowed: As phoe and beach said. 2020-12-16T09:00:16Z beach: Exactly. 2020-12-16T09:00:38Z beach: It is much more preferable to do good work that then others might become curious about. 2020-12-16T09:01:05Z beach: Heh, what no-defun-allowed said. 2020-12-16T09:01:08Z phireh: Yea but if someone asks you about a language you use you should warn them about the sharp corners, no? 2020-12-16T09:01:18Z phireh: Anyhow I can get behind the no-evangelizing 2020-12-16T09:01:35Z phoe: sure, but at that point it's answering questions 2020-12-16T09:01:44Z phoe: which is not really preaching 2020-12-16T09:02:07Z hnOsmium0001 quit (Quit: Connection closed for inactivity) 2020-12-16T09:02:12Z beach: phireh: It is very likely they will give you a blank stare and now know what you are talking about. 2020-12-16T09:02:13Z nij: beach: I'd like to understand a thing by checking all aspects of it. But with Lisp, ho ho ho there's none I found so far. 2020-12-16T09:02:13Z nij quit (Remote host closed the connection) 2020-12-16T09:02:16Z no-defun-allowed: In my opinion, it is also important to note what you can't seem to express well in the language, and think about how you could make it work. But Lisp is a good building material, and if you find a very compelling reason to write a new language, then you may still find yourself at SLIME (or equivalent) meddling with the bootstrap compiler. 2020-12-16T09:02:17Z phoe: if anything: get to know the language, figure out what's good in it, what's missing, make something useful in it that makes use of the good to fill the missing 2020-12-16T09:02:30Z phoe: nij: none of what you found so far? 2020-12-16T09:02:30Z nij joined #lisp 2020-12-16T09:02:31Z nij: oh shoot did I got logged out again.. 2020-12-16T09:02:34Z nij: damn == 2020-12-16T09:02:39Z phoe: nij: none of what you found so far? 2020-12-16T09:02:45Z villanella quit (Ping timeout: 240 seconds) 2020-12-16T09:02:48Z beach: phireh: And given the knowledge about programming and programming languages that nij has displayed so far, if the surrounding people are similar, they definitely won't understand. 2020-12-16T09:02:59Z nij: there's no legit complaints so far.. 2020-12-16T09:03:07Z phoe: complaints about Lisp? 2020-12-16T09:04:06Z nij: beach: uh no. I learn programming completely by myself and that's why I look stupider. I would only talk to friends about this if they are at least "well" trained. 2020-12-16T09:04:08Z no-defun-allowed: beach: May I ask, as you've been around the Common Lisp community for much longer than myself, do you think there is really a problem with, I suppose "organising" projects? It seems a bit overblown to me, but things may have changed recently. 2020-12-16T09:05:16Z beach: no-defun-allowed: Tough question. Compared to with other languages, you mean? 2020-12-16T09:05:32Z phoe: one complaint I've heard it has old and weird and ancient and duplicated operator names for backwards compatibility with languages that are no longer even alive: rplaca, rplacd, nreconc, revappend, pairlis, nsubstitute-if-not and what else 2020-12-16T09:05:32Z nij: Quoted from /curse of lisp/: "[..] even if Lisp is the most expressive language ever, such that it is theoretically impossible to make a more expressive language [..]" 2020-12-16T09:05:51Z no-defun-allowed: beach: I suppose so. 2020-12-16T09:05:59Z nij: How is it theoretically proven? I thought expressiveness isn't a well defined term.. 2020-12-16T09:06:13Z beach: no-defun-allowed: I have seen no evidence of any more difficulty with Common Lisp than with other languages. 2020-12-16T09:06:21Z Cymew joined #lisp 2020-12-16T09:06:22Z phoe: another complaint coming from low-level language folk: you have no control over the memory layout whatsoever. you need to the trust implementation about that, or go into the C world. 2020-12-16T09:06:33Z nij: phoe: they can change the name if they like.. it's more like a social issue again @@ 2020-12-16T09:06:57Z nij: phoe: this one is legit :D! But why don't they write assembly instead? 2020-12-16T09:07:05Z no-defun-allowed: I'm sure it's not. At the least, constraint solving and that kinda backtracking is really something you have to write a "compiler" for, as it doesn't fit into an imperative model so well. 2020-12-16T09:07:19Z phireh: phoe: I think you can disable the GC in some implementations, no? 2020-12-16T09:07:33Z hendursaga joined #lisp 2020-12-16T09:07:36Z phoe: phireh: I think so, but this doesn't solve the memory layout problem 2020-12-16T09:08:20Z phireh: phoe: Oh, you mean things like optimizing for cache lines? 2020-12-16T09:08:59Z no-defun-allowed: The problem is more that, say, you couldn't have a structure "in" another structure, and you would have a structure with a reference to another structure. It's very nice to have that kind of reference semantics, but annoying for micro-optimisations. 2020-12-16T09:09:41Z beach: Indeed. Common Lisp dictates sane semantics, but it comes at a "small-ish" cost. 2020-12-16T09:10:03Z hendursa1 quit (Ping timeout: 240 seconds) 2020-12-16T09:10:10Z no-defun-allowed has been beginning to think that the real curse is everyone supposing there is a curse (or "social problem", whatever you want to call it) to begin with. 2020-12-16T09:10:40Z beach: Also, it is not really relevant to compare language only with respect to micro optimizations. The question of programmer productivity and safety of the end result must be taken into account. 2020-12-16T09:10:43Z phoe: no-defun-allowed: that's what I hear jackdaniel saying yesterday 2020-12-16T09:10:48Z phoe: and what I kinda agree with 2020-12-16T09:10:51Z beach: And I think those aspects are more and more important these days. 2020-12-16T09:10:59Z phoe: also what beach said is super important 2020-12-16T09:11:29Z no-defun-allowed: I think the examples given would happen again in other languages. I mean, what stops a group from making N duplicated functions or classes or so on, if they are able to make N domain specific languages or something? 2020-12-16T09:12:00Z phireh: I think Baggers managed to poke into the internals of SBCL to optimize low level graphics code, at least there were videos on it 2020-12-16T09:12:10Z phoe: inside Little Bits of Lisp? 2020-12-16T09:12:54Z nij quit (Quit: ERC (IRC client for Emacs 27.1)) 2020-12-16T09:13:02Z phireh: A pile of parens I think he called it 2020-12-16T09:14:10Z no-defun-allowed: Some people write custom VOPs (think: assembler snippets) to micro-optimise on SBCL. 2020-12-16T09:15:05Z beach: And that's a much more sane approach than abandoning all safety by using an intrinsically unsafe language for everything. 2020-12-16T09:15:08Z nij joined #lisp 2020-12-16T09:15:45Z phoe: oooh, via VOPs - I see 2020-12-16T09:19:23Z mbomba quit (Quit: WeeChat 3.0) 2020-12-16T09:20:10Z phireh: I don't know if this is the best place to ask, but anyhow: how would you go around about creating and showing (maybe even editing) .svg files in Common Lisp? I thought about using cl-allegro2 with something like qtools. 2020-12-16T09:20:14Z nij: Any symbolic calculator written in common lisp that deals with algebraic numbers and field of rational functions over them? 2020-12-16T09:20:51Z no-defun-allowed: If your question was just the first seven words, I would say Maxima. But I don't know what the rest of the words mean off the top of my head. 2020-12-16T09:21:44Z nij: Oh maxima is in cl? I will check it out! 2020-12-16T09:21:58Z lotuseater: yes it's the port of macsyma 2020-12-16T09:22:37Z andreyorst` joined #lisp 2020-12-16T09:22:43Z ebrasca joined #lisp 2020-12-16T09:24:07Z nij: Oh.. I asked the wrong question. Indeed, maxima is built on top of cl, but the language is specified. I was thinking of a full-fledge calculator that let me builds on top of it using cl. 2020-12-16T09:24:39Z no-defun-allowed: You can write Maxima functions in Lisp, but it's not really how you're supposed to use Maxima. 2020-12-16T09:28:36Z nij: I get that implementing DSL is useful in many cases. But what prevents people to invent their DSLs in a more lispy way @@? 2020-12-16T09:28:46Z phoe: syntax 2020-12-16T09:28:54Z phoe: or personal preferences regarding it 2020-12-16T09:28:59Z treflip: nij: bld-maxima can call Maxima from CL 2020-12-16T09:29:10Z nij: Maybe that's a "bad point" of lisp, in the sense that many purposed cannot be easily written in it? 2020-12-16T09:29:14Z no-defun-allowed: There isn't a "Lispy way" except for what you make of it. 2020-12-16T09:29:16Z phoe: some people claim LOOP isn't lispy because it doesn't have many parens 2020-12-16T09:29:39Z nij: phoe: isn't that legit? 2020-12-16T09:29:41Z phoe: some people claim LOOP is the most lispy because it is an exhibition that Lisp allows you to write arbitrary DSLs that don't have parens 2020-12-16T09:29:51Z phoe: or DSLs that have parens, too 2020-12-16T09:29:56Z phoe: that's why we also have ITERATE 2020-12-16T09:30:15Z phoe: isn't what legit 2020-12-16T09:30:34Z phoe: lisp allows you to easily customize your DSL syntax, that's the whole point 2020-12-16T09:30:34Z nij: I mean.. we clearly need parens.. no? if the goal is not of popularity. 2020-12-16T09:30:43Z phoe: need parens, what for? 2020-12-16T09:30:58Z no-defun-allowed: Today I used fake "infix" operators in a macro. 2020-12-16T09:31:10Z phoe: iteration? not really, as demonstrated by loop 2020-12-16T09:31:53Z no-defun-allowed: That's in fake do-notation, which I used in https://gitlab.com/cal-coop/netfarm/netfarm-networking/-/blob/master/Client/object.lisp#L84 2020-12-16T09:31:58Z phoe: for an overly dramatic example, (loop for x in list-1 for y in list-2 if y collect y else collect x) 2020-12-16T09:32:16Z phoe: it's not entirely in good style but it's not meant to be 2020-12-16T09:32:32Z phoe: it's meant to show that parens aren't a strict requirement for meaningful iteration in LOOP 2020-12-16T09:32:52Z phoe: again, what do you think we need parens for? 2020-12-16T09:32:58Z nij: I think the question "need parens, what for?" is indeed the one that I try to answer upon entering the Lisp world. I still don't have a good answer. 2020-12-16T09:33:29Z phoe: when you are writing Lisp, the answer for that question is obvious - because the core language syntax requires parentheses 2020-12-16T09:33:40Z nij: So far I can only say that the parens are good for clarity. 2020-12-16T09:33:44Z no-defun-allowed: It's equally as valid as any other notation. 2020-12-16T09:33:49Z kaftejiman joined #lisp 2020-12-16T09:33:58Z hiroaki quit (Ping timeout: 256 seconds) 2020-12-16T09:34:14Z phoe: you can't access a slot, bind a variable, or even call a function without parens 2020-12-16T09:34:18Z no-defun-allowed: Gerald Sussman threw that complaint upside down in one presentation, showing how mathematical notation is an absolute lie, but I forgot the name. 2020-12-16T09:34:19Z nij: You break your expression in terms of lots of paren'd forms, which are broken into many paren'd subforms. 2020-12-16T09:34:33Z phoe: but when you write a DSL, you're the regent of your syntax now 2020-12-16T09:35:02Z no-defun-allowed: https://www.youtube.com/watch?v=arMH5GjBwUQ The talk is called "The Role of Programming". 2020-12-16T09:35:23Z nij: no-defun-allowed: what's it about? 2020-12-16T09:35:46Z no-defun-allowed: nij: It's loosely about the many forms of abuse that mathematical notation inflicts on the reader. 2020-12-16T09:36:02Z lotuseater: sussman has no fez on his hat :/ 2020-12-16T09:36:04Z nij: phoe: without parens .. not so much clarity 2020-12-16T09:36:39Z phoe: nij: that's a matter of taste. if you prefer your iteration with parens, (ql:quickload :iterate) 2020-12-16T09:36:41Z nij: no-defun-allowed: oh yeah there are too many. One of the main reason is that the best IDE among mathematicians are.. 2020-12-16T09:36:42Z phoe: otherwise, stick with loop 2020-12-16T09:36:44Z no-defun-allowed: He goes to call one author "a son of a bitch", for telling the reader that they have not done much to make the book any more readable. 2020-12-16T09:36:45Z nij: papers and pencils. 2020-12-16T09:37:07Z nij: lolll! 2020-12-16T09:37:24Z nij: no-defun-allowed: Sure. I'd used to have that complaint as well, until I started writing my paper. 2020-12-16T09:37:37Z nij: It's very EXPENSIVE to write well in mathematics. 2020-12-16T09:37:59Z no-defun-allowed: The earliest example Sussman gave is cos^2 x = (cos x)^2, but cos^-1 x ≠ (cos x)^-1 2020-12-16T09:38:22Z lotuseater: nij: how do you mean expensive? 2020-12-16T09:38:38Z phoe: you could have your DSL written as #æ++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>. and that's Turing complete and everything without a single parens. (nitpick: there are brackets.) 2020-12-16T09:38:58Z phoe: and that could be valid Lisp, too, as long as you define a proper dispatch macro for #æ 2020-12-16T09:38:59Z lotuseater: no-defun-allowed: i don't like people writing "ln(x)" instead "log(x)" 2020-12-16T09:39:07Z hjudt quit (Ping timeout: 272 seconds) 2020-12-16T09:40:09Z nij: no-defun-allowed: Here's an even simpler one: 2*3+7 2020-12-16T09:40:49Z phoe: but I don't know what we are discussing now - the importance of parentheses in general for clarity of written mathematics? 2020-12-16T09:41:01Z nij: phoe: no that's another issue.. 2020-12-16T09:41:36Z phoe: Lisp doesn't have problems with operator precedence because it doesn't have operator precedence 2020-12-16T09:41:38Z nij: phoe: I would say you then embed your new language in lisp. But that's not lisp anymore. 2020-12-16T09:41:52Z phoe: yes, it's no longer strictly Lisp at that point 2020-12-16T09:41:58Z phoe: it has its own syntax 2020-12-16T09:42:02Z nij: (ok.. forget about the math stuff, that's another issue. I will still answer them though.) 2020-12-16T09:42:16Z phoe: doesn't matter if it's LOOP, or FORMAT, or the Brainfæck example I posted up above 2020-12-16T09:42:27Z no-defun-allowed: There are a lot of things with Lisp syntax which I couldn't call Lisp with a straight face. 2020-12-16T09:42:35Z nij: phoe: That's my problem with it. I believe lisp syntax is more superior, so why not writing ones DSL in lisp syntax? 2020-12-16T09:42:39Z phoe: that's a domain-specific language, with the "language" bit implying that it has its own syntax. 2020-12-16T09:42:48Z nij: Is it because it takes more work? Or it's not possible. 2020-12-16T09:42:56Z phoe: nij: mostly because some people disagree with your belief that parens are superior everywhere. 2020-12-16T09:43:02Z quazimodo quit (Ping timeout: 272 seconds) 2020-12-16T09:43:11Z phoe: and write their DSLs in a way that they believe is superior for the task at hand. 2020-12-16T09:43:18Z no-defun-allowed: Well, is (moooo-nad (x <- (read ...)) (write x) (return (+ x 2))) Lisp syntax? 2020-12-16T09:43:49Z nij: lotuseater: in number theory, people usually need to write log(log(log(log|x|))). It's nicer to write ln i guess, as papers and pencils are the best IDE for mathematicians so far. 2020-12-16T09:44:29Z nij: lotuseater: Also, "log" has ambiguity.. you need to specify the base. ln = log_{e} for short. 2020-12-16T09:45:16Z phoe: also lispers are kinda spoiled when looking from the broader point of view 2020-12-16T09:45:35Z nij: phoe: Hmm.. I wouldn't disagree with you on that, as I haven't found a legit reason why I feel it's more superior. 2020-12-16T09:45:47Z phoe: "should I have a DSL with parens or without parens" is a luxury compared to "can I have a DSL at all" that some popular programming languages constantly tend to have 2020-12-16T09:45:57Z phoe: nij: figure that out then. you'll find your answers. 2020-12-16T09:46:18Z nij: Take loop for example. (loop for x in list-1 collect x) 2020-12-16T09:46:38Z lotuseater: nij: hm yes, but actually no ;) there is just one logarithm 2020-12-16T09:46:44Z hiroaki joined #lisp 2020-12-16T09:47:00Z phoe: (while-collecting (collect) (dolist (x list-1) (collect x))) 2020-12-16T09:47:33Z phoe: that's the loop example written without DSLs 2020-12-16T09:48:04Z charlie770 joined #lisp 2020-12-16T09:49:01Z beach: nij: Common Lisp is not about strictly imposing a style on its users. It is about making life as convenient as possible for them. 2020-12-16T09:49:17Z nij` joined #lisp 2020-12-16T09:49:22Z nij`: Ohh shoooot :( 2020-12-16T09:49:22Z beach: nij: And LOOP makes many things VERY convenient. 2020-12-16T09:49:41Z no-defun-allowed: Exactly what beach said. 2020-12-16T09:49:58Z nij`: I'm very interested in this. So if someone thinks there's a point, would you please pastebin? 2020-12-16T09:50:17Z nij`: To argue why parens are superior is really one of the main motivation I was here. 2020-12-16T09:50:40Z beach: nij`: Sorry to disappoint you. 2020-12-16T09:50:41Z nij`: See, I was involved in pure math not b/c of math.. but b/c of the language they use seem to have more power. 2020-12-16T09:50:58Z nij`: beach: It's ok. 2020-12-16T09:51:01Z nij quit (Ping timeout: 268 seconds) 2020-12-16T09:51:08Z lotuseater: it's about building the right tool for your problem and not having to go by the tools you have 2020-12-16T09:51:17Z nij`: And I really appreciate that you can make some comments. 2020-12-16T09:51:43Z phoe: in other programming languages you usually try to bend the problem you have to try and express it in your language 2020-12-16T09:51:45Z no-defun-allowed: Traditional mathematical notation is frequently more ambiguous than Lisp notation. Occasionally Lisp notation is ambiguous, like how we handle some parts of fancy LOOP, but you have to look hard for it. 2020-12-16T09:52:03Z phoe: in Lisp you often do less of that, and you usually bend the language itself to be able to express the original problem better 2020-12-16T09:52:08Z nij`: phoe: Yes that's because lisp syntax is more expressive. 2020-12-16T09:52:18Z phoe: let's forget about "expressive" for a moment 2020-12-16T09:52:26Z nij`: I'm thinking maybe we can bring this to the next level. 2020-12-16T09:52:31Z beach: nij`: Another piece of evidence for what I am saying is the Common Lisp supports several programming paradigms, like imperative, functional, and, let's call it "generic-function oriented". 2020-12-16T09:52:44Z nij`: So that your DSL is also lispy, which makes it more expressive, on which you can build more again. 2020-12-16T09:52:45Z phoe: Lisp allows you to manipulate the meaning of things that form language syntax; that's not common in other languages 2020-12-16T09:53:02Z no-defun-allowed: phoe: The Early History contradicts that to a bit, saying that if you have such powerful paradigms, you would have problems trying to find where you need to invent a new paradigm. 2020-12-16T09:53:18Z phoe: they are slowwwwwwly catching up with their macro systems, but that's not all that convenient to use when you lack homoiconicity in your language. 2020-12-16T09:53:24Z phoe: no-defun-allowed: what do you mean? 2020-12-16T09:53:36Z no-defun-allowed: I suppose that's either a good or bad thing, depending on if you, the outsider, would think the new paradigm would be easier to use. 2020-12-16T09:53:38Z phoe: what's The Early History? 2020-12-16T09:54:47Z no-defun-allowed: The Early History of Smalltalk , which mentions the "Let's Burn Our Disk Packs" break the Smalltalk research team took in 1976. 2020-12-16T09:54:53Z nij`: phoe: I can try to make my point by using maxima as an example. 2020-12-16T09:55:25Z nij`: See.. now I want a lispy symbolic calculator and there seems to be little.. if maxima has written in lisp, then I don't have to worry. 2020-12-16T09:55:45Z nij`: Why would I need a lispy maxima? Well, because I need to make use of lisp's expressiveness to build my project. 2020-12-16T09:56:09Z nij`: Maxima does solve a lower level problem. Indeed, they found the right language just to get their stuff done. But how about future development? 2020-12-16T09:56:36Z no-defun-allowed: "... inadequate tools and environments still reshape our thinking in spite of their problems, in part, because we want paradigms to guide our goals. Strong paradigms like LISP and Smalltalk are so compelling that they eat their young: when you look at an application in either of these two systems, they resemble the systems themselves, not a new idea." 2020-12-16T09:56:38Z nij`: This happens especially in math, where the process of abstractions do not end. 2020-12-16T09:57:23Z nij`: So yes, LOOP is very useful, I get it. And if to achieve level-0 loops is the main goal, I'd have nothing to complain. 2020-12-16T09:57:26Z ljavorsk joined #lisp 2020-12-16T09:57:45Z nij`: But who knows if someone wants to build something on top of LOOP? Wouldn't it be nice if it's lispy and thus more expressive? 2020-12-16T09:58:26Z no-defun-allowed: I don't see what's not Lispy or expressive about LOOP, other than it's not extensible by the user. 2020-12-16T09:58:26Z phoe: or just build in some extension mechanisms into it. 2020-12-16T09:58:26Z nij` is in his constant fear that he is logged out again, when it's too quiet. 2020-12-16T09:59:09Z nij`: phoe: yeah that's maybe what I will do. 2020-12-16T09:59:17Z phoe: going by your definition, SETF is very much not lispy; what if someone wants to build something on top of it? 2020-12-16T09:59:28Z nij`: So my complaint is: why haven't the developer done it ;)? 2020-12-16T09:59:30Z phoe: and the only way of extending it that you have is SETF expansions 2020-12-16T09:59:34Z nij`: (I'm just lazy lol) 2020-12-16T09:59:47Z beach: nij`: They have. 2020-12-16T09:59:53Z phoe: ^ 2020-12-16T09:59:57Z nij`: phoe: I understand. But we keep the amount of those special ones minimal. 2020-12-16T10:00:20Z hjudt joined #lisp 2020-12-16T10:00:26Z beach: Oh, you are the "minimal" person. Now I remember. 2020-12-16T10:00:28Z phoe: remember not to fall into the trap of making everything infinitely extensible and generic 2020-12-16T10:00:46Z no-defun-allowed: I don't remember the "minimal person"; but at this rate I think I have enough context. 2020-12-16T10:00:49Z phoe: because at that point your code will be unusable 2020-12-16T10:01:10Z nij` was caught. 2020-12-16T10:01:46Z nij`: beach: "They have" <== for what?! 2020-12-16T10:02:05Z phoe: the LOOP implementation used in the majority of modern Lisp implementations is extensible 2020-12-16T10:02:08Z beach: made it extensible. 2020-12-16T10:02:16Z phoe: this functionality just isn't really used. 2020-12-16T10:02:20Z pve: no-defun-allowed: That "Smalltalk and Children" section is great. I kind of admire that they tried to teach it to children. 2020-12-16T10:02:45Z no-defun-allowed: pve: Yes, that was the original intention of Smalltalk, to be taught to children like Logo(?) 2020-12-16T10:03:02Z nostoi quit (Quit: Verlassend) 2020-12-16T10:03:15Z nij`: phoe: ?!?! Would you mind providing some pointers? 2020-12-16T10:04:04Z pve: no-defun-allowed: I had read that whole thing before, but completely forgot about it. Thanks for the reminder :) 2020-12-16T10:04:23Z phoe: nij`: https://github.com/sbcl/sbcl/blob/5f9d19d4aa14bf7a79af90b1f51714267cb5edc8/src/code/loop.lisp 2020-12-16T10:04:48Z nij`: treflip: Have you used bld-maxima? Is it a partial clone? Or I can express any thing I want in maxima in terms of cl syntax? 2020-12-16T10:05:20Z lotuseater: nij`: there's also maxima in julia 2020-12-16T10:05:46Z phoe: see L1847 for a place where all of the individual functionalities are brought together and built into one implementation of CL:LOOP. 2020-12-16T10:05:56Z nij`: julia ain't lisp :'( 2020-12-16T10:06:16Z phoe: write some new functions, hook them in here, bam, you have an extended loop. 2020-12-16T10:06:22Z lotuseater: nij`: hm but a bit of it 2020-12-16T10:06:44Z nij`: phoe: nice! 2020-12-16T10:08:28Z treflip: nij`: it's not a clone, it's just an interface which runs maxima in a separate process 2020-12-16T10:08:51Z treflip: https://github.com/bld/bld-maxima 2020-12-16T10:08:59Z nij`: I'm very happy to hear that. Thank you treflip I will look into it, definitely! 2020-12-16T10:09:11Z nij`: Yes.. it's not so much documented. 2020-12-16T10:09:25Z vegansbane6 quit (Ping timeout: 240 seconds) 2020-12-16T10:10:45Z narimiran quit (Ping timeout: 240 seconds) 2020-12-16T10:12:02Z narimiran joined #lisp 2020-12-16T10:13:26Z treflip: nij`: you can figure out how to use it just by looking at the source code, it's short and has docstrings. 2020-12-16T10:13:58Z jonatack quit (Ping timeout: 246 seconds) 2020-12-16T10:15:42Z jonatack joined #lisp 2020-12-16T10:17:16Z toorevitimirp quit (Ping timeout: 240 seconds) 2020-12-16T10:18:24Z heisig joined #lisp 2020-12-16T10:19:14Z pankajsg quit (Ping timeout: 265 seconds) 2020-12-16T10:19:29Z pankajsg joined #lisp 2020-12-16T10:20:22Z toorevitimirp joined #lisp 2020-12-16T10:22:05Z jibanes quit (Ping timeout: 240 seconds) 2020-12-16T10:22:15Z nij` quit (Remote host closed the connection) 2020-12-16T10:23:42Z nij joined #lisp 2020-12-16T10:24:24Z jibanes joined #lisp 2020-12-16T10:25:36Z dhil joined #lisp 2020-12-16T10:27:12Z gargaml quit (Quit: WeeChat 2.9) 2020-12-16T10:32:54Z jibanes quit (Ping timeout: 256 seconds) 2020-12-16T10:33:16Z wxie quit (Ping timeout: 240 seconds) 2020-12-16T10:34:44Z fanta1 joined #lisp 2020-12-16T10:34:52Z jibanes joined #lisp 2020-12-16T10:37:14Z charlie770 quit (Ping timeout: 264 seconds) 2020-12-16T10:37:20Z yitzi quit (Quit: yitzi) 2020-12-16T10:38:10Z yitzi joined #lisp 2020-12-16T10:38:24Z charlie770 joined #lisp 2020-12-16T10:39:49Z jibanes quit (Ping timeout: 264 seconds) 2020-12-16T10:40:17Z jibanes joined #lisp 2020-12-16T10:45:08Z theBlackDragon quit (Ping timeout: 256 seconds) 2020-12-16T10:45:17Z jibanes quit (Ping timeout: 268 seconds) 2020-12-16T10:46:05Z jibanes joined #lisp 2020-12-16T10:50:52Z jibanes quit (Ping timeout: 256 seconds) 2020-12-16T10:51:38Z jibanes joined #lisp 2020-12-16T10:51:46Z villanella joined #lisp 2020-12-16T10:52:03Z amerigo joined #lisp 2020-12-16T10:57:02Z charlie770 quit (Ping timeout: 256 seconds) 2020-12-16T10:58:58Z kevingal joined #lisp 2020-12-16T11:01:01Z theBlackDragon joined #lisp 2020-12-16T11:05:24Z saganman joined #lisp 2020-12-16T11:07:16Z nij quit (Remote host closed the connection) 2020-12-16T11:07:33Z nij joined #lisp 2020-12-16T11:15:16Z jibanes quit (Ping timeout: 240 seconds) 2020-12-16T11:17:26Z jibanes joined #lisp 2020-12-16T11:20:50Z euandreh quit (Remote host closed the connection) 2020-12-16T11:21:45Z euandreh joined #lisp 2020-12-16T11:23:38Z Nilby joined #lisp 2020-12-16T11:23:38Z cosimone joined #lisp 2020-12-16T11:25:22Z jibanes quit (Ping timeout: 268 seconds) 2020-12-16T11:26:54Z jibanes joined #lisp 2020-12-16T11:33:40Z jibanes quit (Ping timeout: 265 seconds) 2020-12-16T11:35:14Z santiagopim[m] quit (Ping timeout: 268 seconds) 2020-12-16T11:35:20Z jibanes joined #lisp 2020-12-16T11:37:36Z santiagopim[m] joined #lisp 2020-12-16T11:37:55Z iskander joined #lisp 2020-12-16T11:43:00Z jibanes quit (Ping timeout: 256 seconds) 2020-12-16T11:44:18Z galex-713 joined #lisp 2020-12-16T11:44:51Z jibanes joined #lisp 2020-12-16T11:46:31Z nij quit (Quit: ERC (IRC client for Emacs 27.1)) 2020-12-16T11:49:24Z surabax joined #lisp 2020-12-16T11:49:25Z jibanes quit (Ping timeout: 268 seconds) 2020-12-16T11:50:10Z jibanes joined #lisp 2020-12-16T11:53:14Z iskander quit (Quit: bye) 2020-12-16T11:53:21Z frost-lab quit (Quit: Connection closed) 2020-12-16T11:55:04Z iskander joined #lisp 2020-12-16T11:55:23Z ldb joined #lisp 2020-12-16T11:55:30Z ldb: good evening 2020-12-16T11:57:15Z wooden quit (Read error: No route to host) 2020-12-16T11:58:02Z cosimone quit (Remote host closed the connection) 2020-12-16T11:58:17Z cosimone joined #lisp 2020-12-16T11:58:44Z wooden joined #lisp 2020-12-16T11:58:44Z wooden quit (Changing host) 2020-12-16T11:58:44Z wooden joined #lisp 2020-12-16T12:07:09Z orivej joined #lisp 2020-12-16T12:08:24Z jeosol quit (Remote host closed the connection) 2020-12-16T12:08:48Z iskander quit (Quit: bye) 2020-12-16T12:10:00Z bitmapper joined #lisp 2020-12-16T12:10:46Z gxt quit (Remote host closed the connection) 2020-12-16T12:10:48Z iskander joined #lisp 2020-12-16T12:16:24Z iskander quit (Quit: bye) 2020-12-16T12:18:25Z iskander joined #lisp 2020-12-16T12:19:46Z iskander quit (Client Quit) 2020-12-16T12:19:57Z saganman: woah 2020-12-16T12:20:06Z saganman: it is evening in my time zone 2020-12-16T12:20:21Z saganman: if you don't mind asking, where are you from ldb? 2020-12-16T12:21:42Z iskander joined #lisp 2020-12-16T12:26:24Z iskander quit (Client Quit) 2020-12-16T12:27:05Z gaqwas quit (Remote host closed the connection) 2020-12-16T12:30:08Z jonatack quit (Quit: jonatack) 2020-12-16T12:30:45Z FreeBirdLjj joined #lisp 2020-12-16T12:33:23Z jonatack joined #lisp 2020-12-16T12:33:43Z iskander joined #lisp 2020-12-16T12:35:01Z FreeBirdLjj quit (Ping timeout: 246 seconds) 2020-12-16T12:35:36Z ldb quit (Ping timeout: 240 seconds) 2020-12-16T12:37:51Z ldb joined #lisp 2020-12-16T12:38:01Z ldb: saganman: china' 2020-12-16T12:38:52Z jonatack quit (Ping timeout: 246 seconds) 2020-12-16T12:39:15Z ldb: saganman: your nickname looks familar to me:D 2020-12-16T12:39:39Z jonatack joined #lisp 2020-12-16T12:39:51Z jackdaniel: ldb: your nickname looks familar to me ;_) somewhat reminds me of the symbol aver 2020-12-16T12:40:14Z iskander quit (Quit: bye) 2020-12-16T12:40:36Z galex-713 quit (Ping timeout: 268 seconds) 2020-12-16T12:41:02Z villanella quit (Ping timeout: 260 seconds) 2020-12-16T12:41:03Z aartaka quit (Read error: Connection reset by peer) 2020-12-16T12:41:12Z aartaka joined #lisp 2020-12-16T12:42:11Z iskander joined #lisp 2020-12-16T12:42:11Z cosimone quit (Read error: Connection reset by peer) 2020-12-16T12:42:23Z cosimone joined #lisp 2020-12-16T12:43:03Z ldb: good news, i made my naive spell checking program build a 23700 words dictionary in 10 secs 2020-12-16T12:43:04Z ljavorsk quit (Ping timeout: 268 seconds) 2020-12-16T12:43:06Z saganman: ldb: not surprising, I am saganman, someone inspired by Carl Sagan. There are lot of people who are like me and use similar nicks. 2020-12-16T12:43:42Z saganman: ldb, china is cool. I am from india. 2020-12-16T12:43:55Z ldb: and it is already better than #'equal hash table in checking time benchmark 2020-12-16T12:44:09Z gaqwas joined #lisp 2020-12-16T12:44:09Z gaqwas quit (Changing host) 2020-12-16T12:44:09Z gaqwas joined #lisp 2020-12-16T12:44:50Z orivej_ joined #lisp 2020-12-16T12:44:55Z ldb: saganman: ah, i see 2020-12-16T12:45:21Z saganman: ni hao 2020-12-16T12:45:32Z orivej quit (Ping timeout: 268 seconds) 2020-12-16T12:46:24Z ldb: 你好 2020-12-16T12:46:40Z saganman: xie xie 2020-12-16T12:46:57Z saganman: that's it, those are the only two phrases I know 2020-12-16T12:46:59Z iskander quit (Client Quit) 2020-12-16T12:47:05Z saganman: :p 2020-12-16T12:47:36Z saganman: what do you use lisp for btw? 2020-12-16T12:47:58Z jibanes quit (Ping timeout: 272 seconds) 2020-12-16T12:47:59Z phoe: FYI: https://news.ycombinator.com/item?id=25441664 2020-12-16T12:48:41Z jeosol joined #lisp 2020-12-16T12:48:57Z iskander joined #lisp 2020-12-16T12:49:29Z galex-713 joined #lisp 2020-12-16T12:49:53Z jibanes joined #lisp 2020-12-16T12:50:01Z ldb: i use lisp as a prototyping tool 2020-12-16T12:50:35Z Stanley00 quit 2020-12-16T12:51:06Z saganman: I see. 2020-12-16T12:51:27Z kevingal: What sorta data structure are you using for your dictionary, ldb? 2020-12-16T12:51:47Z ldb: kevingal: it's a finite state automata 2020-12-16T12:52:34Z ldb: build from a defstruct with a assoc list slot to indicate next state 2020-12-16T12:54:15Z ldb: for better space usage it can be compressed to a few bitarrays 2020-12-16T12:54:21Z kevingal: Cool, how many states does it end up having? 2020-12-16T12:55:24Z amb007 quit (Read error: Connection reset by peer) 2020-12-16T12:55:25Z ldb: for 250,000 words it has about 130,000 states 2020-12-16T12:55:51Z amb007 joined #lisp 2020-12-16T12:56:02Z amb007 quit (Read error: Connection reset by peer) 2020-12-16T12:56:19Z amb007 joined #lisp 2020-12-16T12:57:12Z iskander quit (Quit: bye) 2020-12-16T12:58:21Z yitzi quit (Quit: yitzi) 2020-12-16T12:59:09Z iskander joined #lisp 2020-12-16T12:59:09Z amb007 quit (Read error: Connection reset by peer) 2020-12-16T12:59:45Z amb007 joined #lisp 2020-12-16T13:00:06Z ldb: https://pastebin.com/LsRH1Dbt 2020-12-16T13:02:04Z amb007 quit (Read error: Connection reset by peer) 2020-12-16T13:02:36Z luckless quit (Remote host closed the connection) 2020-12-16T13:02:47Z rogersm joined #lisp 2020-12-16T13:02:51Z amb007 joined #lisp 2020-12-16T13:03:05Z luckless joined #lisp 2020-12-16T13:03:51Z notzmv` joined #lisp 2020-12-16T13:05:36Z notzmv` is now known as notzmv 2020-12-16T13:05:54Z notzmv quit (Changing host) 2020-12-16T13:05:54Z notzmv joined #lisp 2020-12-16T13:09:18Z kevingal: Interadesting. I wonder how long it would take to compile a regex that big. 2020-12-16T13:09:47Z _death: may want to check out BK trees ;) 2020-12-16T13:13:46Z pfdietz joined #lisp 2020-12-16T13:16:43Z ldb: on 500,000 dictionary the build time is less than 1 min 2020-12-16T13:16:55Z ldb: guess it is usable now 2020-12-16T13:22:16Z orivej_ quit (Ping timeout: 240 seconds) 2020-12-16T13:22:56Z aartaka_d joined #lisp 2020-12-16T13:23:04Z orivej joined #lisp 2020-12-16T13:24:04Z aartaka quit (Ping timeout: 272 seconds) 2020-12-16T13:26:52Z oxum quit (Remote host closed the connection) 2020-12-16T13:27:31Z oxum joined #lisp 2020-12-16T13:28:23Z vegansbane6 joined #lisp 2020-12-16T13:28:31Z nij joined #lisp 2020-12-16T13:29:23Z aartaka joined #lisp 2020-12-16T13:29:42Z aartaka_d quit (Ping timeout: 256 seconds) 2020-12-16T13:30:29Z nij: I'm writing a script that should keep a record of user history. The history will be recorded in another separated file. 2020-12-16T13:30:47Z nij: I hope the hisory can be written in common lisp itself.. how to do that cleanly? 2020-12-16T13:31:02Z beach: clhs print 2020-12-16T13:31:02Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_wr_pr.htm 2020-12-16T13:31:14Z narimiran quit (Ping timeout: 256 seconds) 2020-12-16T13:32:38Z narimiran joined #lisp 2020-12-16T13:32:42Z nij: For example, in #{~/history.cl}, it reads (setf *user-history* '("did this")). 2020-12-16T13:33:12Z nij: But some minutes later, the history file should be updated to: 2020-12-16T13:33:22Z beach: (print '(setf *user-history '("did this"))) 2020-12-16T13:33:28Z nij: (setf *user-history* '("did this" "did that")) 2020-12-16T13:34:04Z liberliver quit (Ping timeout: 256 seconds) 2020-12-16T13:34:06Z nij: And this should be achieve be a clean call: (add-user-history "did that") 2020-12-16T13:34:08Z beach: That's probably not a great way of doing it. You may have to modify the entire file each time. 2020-12-16T13:34:25Z beach: Store the transactions instead of the final result. 2020-12-16T13:34:34Z jackdaniel: make the collection an adjustable vector, and append (vector-push-back …) 2020-12-16T13:34:39Z nij: beach: yes i don't mind the entire file being modified. 2020-12-16T13:34:47Z beach: Reconstruct the final result when you read the file back. 2020-12-16T13:34:48Z jackdaniel: vector-push-extend * 2020-12-16T13:34:59Z nij: Oh oh that is a better way.. yes. 2020-12-16T13:36:00Z nij: It's probably an overkill, but is there a way to dump a Lisp object to a representation in Lisp? 2020-12-16T13:36:06Z nij: "De-evaluation"? 2020-12-16T13:36:21Z nij: Input: *user-history* 2020-12-16T13:36:22Z phoe: clhs make-load-form 2020-12-16T13:36:22Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_mk_ld_.htm 2020-12-16T13:36:26Z milanj joined #lisp 2020-12-16T13:36:36Z phoe: it's kinda sorta the similar thing. but likely not what you want for this case. 2020-12-16T13:36:43Z nij: Output: (setf *user-history* '("did this") 2020-12-16T13:37:54Z nij: Fixed => Output: "(setf *user-history* '("did this"))" 2020-12-16T13:38:06Z nij: phoe: hmmm lemme take a look 2020-12-16T13:38:44Z phoe: nij: also 2020-12-16T13:38:46Z phoe: clhs dribble 2020-12-16T13:38:46Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_dribbl.htm 2020-12-16T13:39:40Z EvW joined #lisp 2020-12-16T13:41:08Z ldb: if i want to assign each object of a class a unique integer id, and can "free" objects explicitly, how can I keep the largest unique id minimum? (i.e when I traverse those objects, there're no id between 0 and the largest id unused 2020-12-16T13:41:54Z phoe: ldb: is the order between IDs important? 2020-12-16T13:42:00Z ldb: phoe: no 2020-12-16T13:42:13Z phoe: what other parts of the system use these IDs? are they cacheable somewhere else? 2020-12-16T13:42:16Z jackdaniel: must the id be a number? 2020-12-16T13:42:36Z jackdaniel: if not, then (gensym "ID") -- and when "deallocating" setf the slot to nil 2020-12-16T13:42:42Z jackdaniel: to not retain the symbol 2020-12-16T13:42:43Z Alfr_ quit (Quit: Leaving) 2020-12-16T13:42:52Z ldb: I want to finally make a compact vector to store those objects, indexed by their ids 2020-12-16T13:42:59Z jackdaniel: (but since you talk about 'largest' it's probably a number) 2020-12-16T13:43:01Z EvW quit (Client Quit) 2020-12-16T13:43:10Z phoe: uh, do you need an index? 2020-12-16T13:43:28Z phoe: I think you do, yes 2020-12-16T13:43:34Z phoe: you can vector-push-extend new instances into the vector just fine 2020-12-16T13:43:43Z phoe: but then you need its index to remove it from the vector in O(1) time 2020-12-16T13:43:51Z jackdaniel: then store them on a list (then removal from the middle is cheap), and in the end serialize to a vector 2020-12-16T13:44:37Z phoe: jackdaniel: there's also a trick where if you have to remove the third element from the vector, copy the last element into the third position, setf the ID of that element to 3, and decf the fill pointer 2020-12-16T13:45:05Z jackdaniel: sure 2020-12-16T13:45:12Z jackdaniel: makes sense 2020-12-16T13:45:33Z jackdaniel: given you may change ids of existing objects 2020-12-16T13:45:46Z ldb: i need the vector to be indexed by ids bcs i need to quickly identify if there's an eq object already in the vector 2020-12-16T13:45:49Z splittist: ldb: if you can free arbitrarily, how can there not be arbitrary gaps? Unless you periodically renumber. Then you've reinvented garbage collection 2020-12-16T13:46:21Z phoe: splittist: you can avoid gaps if each free reorders elements in the vector 2020-12-16T13:46:22Z jackdaniel: won't eq hash table do? 2020-12-16T13:46:31Z jackdaniel: or eql for immediate objects 2020-12-16T13:48:10Z Bike joined #lisp 2020-12-16T13:49:52Z phoe: ^ 2020-12-16T13:49:55Z ldb: i think i can store in eq hash table, then maphash 2020-12-16T13:51:09Z nij: I am testing out 'make-load-form-saving-slots.. 2020-12-16T13:51:18Z nij: (make-load-form-saving-slots (list 1 2 3) :slot-names '('xyz)) returns.. 2020-12-16T13:51:27Z nij: (SB-PCL::SET-SLOTS (1 2 3) NIL) 2020-12-16T13:51:40Z nij: Why doesn't it mention 'xyz ...? 2020-12-16T13:52:09Z phoe: "make-load-form-saving-slots works for any instance of standard-object or structure-object." 2020-12-16T13:52:25Z nij: Yeah I was mumbling that repeatedly. 2020-12-16T13:52:33Z phoe: where is that standard-object or structure-object in (list 1 2 3)? 2020-12-16T13:53:16Z ldb: well make-load-form is overkill 2020-12-16T13:54:08Z ldb: you can try immitate the Emacs's init.el behavior by load the history file into a gap buffer and do text insertion 2020-12-16T13:54:14Z nij: I thought (list 1 2 3) itself returns a standard object. 2020-12-16T13:54:26Z phoe: nope, it returns a cons cell 2020-12-16T13:54:33Z phoe: which is not a standard object 2020-12-16T13:54:48Z phoe: a standard object is something that is generally created by MAKE-INSTANCE 2020-12-16T13:54:51Z ldb: but something of a builtin-class 2020-12-16T13:55:26Z nij: From CLHS: Description: The class standard-object is an instance of standard-class and is a superclass of every class that is an instance of standard-class except itself. 2020-12-16T13:55:49Z phoe: yes 2020-12-16T13:56:01Z phoe: and instances of standard-class are generally created using DEFCLASS 2020-12-16T13:56:02Z Nilby: ldb: what implementation and processor are you running on? Your code ran for me about 1000x quicker. 2020-12-16T13:56:38Z jackdaniel: intel celeron II :) 2020-12-16T13:56:59Z ldb: Nilby: Intel Core i7, 2.2GHZ, Clozure CL on macOS 2020-12-16T13:57:15Z wsinatra joined #lisp 2020-12-16T13:57:29Z nij: phoe: how did you know? CLHS doesn't say it right? I was trying to search. 2020-12-16T13:57:31Z Nilby is trying on ccl .. 2020-12-16T13:57:33Z pyc: good discussion on Emacs4CL: https://news.ycombinator.com/item?id=25440690 2020-12-16T13:57:39Z phoe: nij: know what exactly? 2020-12-16T13:57:51Z ldb: SBCL might be slower due to hash table performance on custom test functions 2020-12-16T13:57:58Z nij: What a typical instance of the class standard-object is? 2020-12-16T13:58:19Z phoe: (defclass foo () ()) (make-instance 'foo) 2020-12-16T13:58:40Z phoe: (typep (make-instance 'foo) 'standard-object) ;=> T 2020-12-16T13:59:12Z nij: Oh, by experience. 2020-12-16T14:00:35Z amk quit (Read error: Connection reset by peer) 2020-12-16T14:00:42Z amk joined #lisp 2020-12-16T14:00:53Z ldb: Nilby: and forgot to mention, the input file has to be sorted 2020-12-16T14:01:25Z ldb: otherwise it goes wrong 2020-12-16T14:04:10Z EvW joined #lisp 2020-12-16T14:05:16Z Nilby: Hmmm... still about 1000x faster, on a similar cpu and ccl, but on linux, but now I run out of stack on a 500k file, but it still works on a 100k file. 2020-12-16T14:07:09Z Nilby: It took 0.5 sec for a 100k file on ccl on a i7. 2020-12-16T14:07:30Z Nilby: Maybe you have a much more interesting data? 2020-12-16T14:08:45Z ldb: Nilby: https://github.com/LdBeth/metaprl/blob/main/filter/words.dict this is the data i tested against 2020-12-16T14:11:06Z karlosz quit (Quit: karlosz) 2020-12-16T14:11:21Z karlosz joined #lisp 2020-12-16T14:11:27Z Nilby: Ah.. Now it's nice and slow. :) 35 seconds for that one. 2020-12-16T14:12:40Z saganman quit (Ping timeout: 246 seconds) 2020-12-16T14:13:31Z Nilby: You should probably try sbcl where it only took 0.4 secs. 2020-12-16T14:14:20Z treflip quit (Ping timeout: 268 seconds) 2020-12-16T14:14:46Z treflip joined #lisp 2020-12-16T14:14:58Z wsinatra quit (Read error: Connection reset by peer) 2020-12-16T14:15:15Z ldb: I might end up rewrite it in OCaml. Now I'm confident that this is usable with enough compiler optimization 2020-12-16T14:15:29Z wsinatra joined #lisp 2020-12-16T14:16:08Z ldb not my fault that write slow code 2020-12-16T14:16:15Z pfdietz: If you want to serialize lisp objects to external storage efficiently, in a human non-readable form, there are libraries like cl-store. 2020-12-16T14:16:43Z nij: pfdietz: me? 2020-12-16T14:16:53Z pfdietz: Whoever was asking about this sort of thing. 2020-12-16T14:16:59Z nij: I'm still struggling with the two functions phoe told me. 2020-12-16T14:17:06Z ldb: it seems nij wants something like GNU readline 2020-12-16T14:17:27Z pfdietz: Ok 2020-12-16T14:18:15Z ldb: but GNU readline still keeps a data structure for old history 2020-12-16T14:19:09Z gaqwas quit (Remote host closed the connection) 2020-12-16T14:20:00Z phoe6_ quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) 2020-12-16T14:20:36Z nij: For my current purpose serialization seems ok. Or I can just push vectors.. 2020-12-16T14:20:55Z Nilby: ldb: my code is too slow on ccl too 2020-12-16T14:21:04Z treflip quit (Ping timeout: 246 seconds) 2020-12-16T14:21:42Z Alfr joined #lisp 2020-12-16T14:22:36Z ldb trys to figue out why he doesn't like SBCL 2020-12-16T14:23:06Z treflip joined #lisp 2020-12-16T14:25:40Z treflip quit (Client Quit) 2020-12-16T14:26:14Z nij: I store a function like this: (defun f (n) n) (cl-store:store #'f "~/temp.txt") 2020-12-16T14:26:23Z nij: But cannot successfully call it back.. 2020-12-16T14:27:12Z nij: Both (apply #'(cl-store:restore "~/see.txt") 3) and ((cl-store:restore "~/see.txt") 3) fail.. 2020-12-16T14:27:14Z Bike: according to the project page, when you serialize a function it just uses the function name 2020-12-16T14:27:29Z nij: s/temp/see/ 2020-12-16T14:27:34Z Bike: well that's just a syntax error 2020-12-16T14:27:50Z Bike: you want (funcall (restore ...) 3) i would guess 2020-12-16T14:28:49Z nij: Oh indeed @@! 2020-12-16T14:29:00Z Bike: doesn't the error message say something like, malformed lambda expression? 2020-12-16T14:29:14Z nij: yes i tried to fix @@.. 2020-12-16T14:30:25Z ldb quit (Quit: ERC (IRC client for Emacs 26.1)) 2020-12-16T14:31:40Z nij: In general, if I want to get a form that clearly presents my object, I should write my own function/macro.. 2020-12-16T14:35:43Z waleee-cl joined #lisp 2020-12-16T14:44:38Z karlosz quit (Quit: karlosz) 2020-12-16T14:44:53Z karlosz joined #lisp 2020-12-16T14:49:38Z karlosz quit (Client Quit) 2020-12-16T14:49:53Z karlosz joined #lisp 2020-12-16T14:51:47Z nij quit (Read error: Connection reset by peer) 2020-12-16T14:52:01Z nij joined #lisp 2020-12-16T14:55:55Z zulu-inuoe joined #lisp 2020-12-16T14:58:10Z milanj_ joined #lisp 2020-12-16T15:01:49Z milanj quit (Ping timeout: 268 seconds) 2020-12-16T15:08:18Z charlie770 joined #lisp 2020-12-16T15:08:57Z cosimone quit (Read error: Connection reset by peer) 2020-12-16T15:09:13Z cosimone joined #lisp 2020-12-16T15:10:17Z villanella joined #lisp 2020-12-16T15:13:14Z norserob quit (Quit: leaving) 2020-12-16T15:13:36Z norserob joined #lisp 2020-12-16T15:14:58Z wigust quit (Remote host closed the connection) 2020-12-16T15:15:22Z wigust joined #lisp 2020-12-16T15:16:21Z noobineer quit (Quit: Leaving) 2020-12-16T15:16:58Z sjl joined #lisp 2020-12-16T15:17:51Z EvW quit (Ping timeout: 268 seconds) 2020-12-16T15:23:09Z karlosz quit (Quit: karlosz) 2020-12-16T15:23:13Z nij quit (Read error: Connection reset by peer) 2020-12-16T15:23:24Z karlosz joined #lisp 2020-12-16T15:26:25Z ex_nihilo quit (Quit: Leaving) 2020-12-16T15:29:25Z saganman joined #lisp 2020-12-16T15:29:37Z hiroaki quit (Ping timeout: 264 seconds) 2020-12-16T15:36:01Z notaname quit (Quit: WeeChat 2.3) 2020-12-16T15:36:53Z lalilulelo joined #lisp 2020-12-16T15:42:22Z galex-713_ joined #lisp 2020-12-16T15:42:39Z galex-713 quit (Ping timeout: 272 seconds) 2020-12-16T15:42:48Z hiroaki joined #lisp 2020-12-16T15:46:24Z milanj_ quit (Quit: Leaving) 2020-12-16T15:46:45Z milanj joined #lisp 2020-12-16T15:48:41Z galex-713_ quit (Ping timeout: 268 seconds) 2020-12-16T15:48:49Z entre-parenteses joined #lisp 2020-12-16T15:55:15Z galex-713 joined #lisp 2020-12-16T16:00:05Z infra_red[m] quit (Quit: Idle for 30+ days) 2020-12-16T16:02:46Z toorevitimirp quit (Remote host closed the connection) 2020-12-16T16:03:34Z Steeve joined #lisp 2020-12-16T16:10:37Z __jrjsmrtn__ quit (Ping timeout: 246 seconds) 2020-12-16T16:11:20Z tlaxkit joined #lisp 2020-12-16T16:12:00Z Qudit314159 quit (Read error: Connection reset by peer) 2020-12-16T16:14:17Z __jrjsmrtn__ joined #lisp 2020-12-16T16:14:43Z blackwolf joined #lisp 2020-12-16T16:17:45Z blackwolf quit (Client Quit) 2020-12-16T16:18:45Z blackwolf joined #lisp 2020-12-16T16:22:17Z blackwolf quit (Client Quit) 2020-12-16T16:24:11Z mathrick joined #lisp 2020-12-16T16:27:44Z galex-713 quit (Quit: No Ping reply in 180 seconds.) 2020-12-16T16:31:16Z jibanes quit (Ping timeout: 240 seconds) 2020-12-16T16:32:00Z flazh quit (Quit: flazh) 2020-12-16T16:38:37Z Cymew quit (Ping timeout: 264 seconds) 2020-12-16T16:39:31Z jibanes joined #lisp 2020-12-16T16:39:38Z jibanes_ joined #lisp 2020-12-16T16:39:41Z jibanes_ quit (Ping timeout: 272 seconds) 2020-12-16T16:42:57Z charlie770 quit (Ping timeout: 268 seconds) 2020-12-16T16:42:58Z andreyorst` quit (Quit: andreyorst`) 2020-12-16T16:43:58Z andreyorst joined #lisp 2020-12-16T16:46:20Z jibanes quit (Ping timeout: 256 seconds) 2020-12-16T16:47:57Z jibanes joined #lisp 2020-12-16T16:49:44Z galex-713 joined #lisp 2020-12-16T16:53:31Z kenran joined #lisp 2020-12-16T16:56:32Z santiagopim[m] quit (Ping timeout: 260 seconds) 2020-12-16T16:56:33Z solideogloria[m] quit (Ping timeout: 260 seconds) 2020-12-16T16:57:13Z solideogloria[m] joined #lisp 2020-12-16T16:57:55Z santiagopim[m] joined #lisp 2020-12-16T16:59:15Z ebrasca quit (Remote host closed the connection) 2020-12-16T17:00:48Z milanj_ joined #lisp 2020-12-16T17:03:13Z Steeve quit (Ping timeout: 264 seconds) 2020-12-16T17:03:54Z milanj quit (Ping timeout: 256 seconds) 2020-12-16T17:04:20Z charlie770 joined #lisp 2020-12-16T17:04:28Z flazh joined #lisp 2020-12-16T17:06:36Z jibanes quit (Ping timeout: 240 seconds) 2020-12-16T17:08:08Z davros quit (Ping timeout: 265 seconds) 2020-12-16T17:09:01Z jibanes joined #lisp 2020-12-16T17:10:00Z solideogloria[m]: vlime is as simple as just adding it in your vim plugin managers 2020-12-16T17:10:17Z solideogloria[m]: *plugin manager 2020-12-16T17:11:46Z mfiano: I was using a derivative of sjl's vlime config for a couple years just to see if I could live doing CL away from Emacs, and the answer was a big NOPE. 2020-12-16T17:13:54Z mfiano: There were many issues, but one of the big ones is the fact that vlime doesn't indent custom macros according to the lambda list. The vim way is to maintain a flat file with the indentation metadata for every symbol of every custom macro you write, or use from some library. This is mostly a vim limitation, though. 2020-12-16T17:15:01Z jibanes quit (Ping timeout: 246 seconds) 2020-12-16T17:16:06Z jibanes joined #lisp 2020-12-16T17:17:48Z gabot quit (Ping timeout: 265 seconds) 2020-12-16T17:17:50Z sjl: In practice, this means I need to edit my .lispwords file every few weeks. 2020-12-16T17:18:20Z mfiano: I write a lot of DSLs that need to be indented correctly or my teammates yell at me :) 2020-12-16T17:18:50Z mfiano: Also I just can't live without Sly stickers, copy-to-mrepl, and a lot of other features missing from SLIME, and therefor vlime. 2020-12-16T17:19:16Z sjl: Vlime also supports Swank's indentation -- the reason I don't use it is because it was slow when indenting large chunks of code ~3 years ago. No idea if that's still the case. 2020-12-16T17:19:20Z mfiano: And I guess finally, parentheses management is ungodly slow and error prone with the any of the array of vim plugins for doing so 2020-12-16T17:19:46Z sjl: paredit.vim has always worked great for me 2020-12-16T17:20:11Z sjl: But yeah, if you're willing to dump the required time into emacs, it'll be a better fit in the end 2020-12-16T17:20:34Z mfiano: It has many bugs if you used the advanced manipulation features like vonsolute and raise-killing-backward, etc...often leaving unbalanced parens 2020-12-16T17:20:50Z mfiano: But, it's just slow on older hardware compared to Emacs paren management 2020-12-16T17:21:07Z sjl: I have no idea what the word "vonsolute" could possibly mean, so I'm out. 2020-12-16T17:21:19Z mfiano: err convolute that was supposed to read 2020-12-16T17:21:54Z Steeve joined #lisp 2020-12-16T17:25:50Z entre-parenteses: mfiano: Speaking of Sly, I noticed you have/had a Spacemacs layer for using that over SLIME. I was just curious if you might share why you archived it? 2020-12-16T17:25:57Z ezekielwordswort joined #lisp 2020-12-16T17:26:13Z ezekielwordswort: is programming language development possible in common lisp? 2020-12-16T17:26:27Z mfiano: Because Spacemacs is a moving target. I haven't used that junk in years 2020-12-16T17:26:42Z beach: ezekielwordswort: What do you mean? 2020-12-16T17:26:44Z entre-parenteses: Ah, fair enough. :D 2020-12-16T17:26:55Z beach: ezekielwordswort: Like creating your own language and implementing it in Common Lisp? 2020-12-16T17:27:02Z ezekielwordswort: yeah 2020-12-16T17:27:11Z beach: ezekielwordswort: Common Lisp is an excellent choice for that. 2020-12-16T17:27:21Z ezekielwordswort: nice 2020-12-16T17:27:32Z ezekielwordswort: thanks for the information 2020-12-16T17:27:37Z ezekielwordswort: i shall go now 2020-12-16T17:27:38Z ezekielwordswort quit (Client Quit) 2020-12-16T17:27:44Z beach: Wow. 2020-12-16T17:27:57Z Alfr: That was strange. 2020-12-16T17:28:05Z beach: Yeah. 2020-12-16T17:28:11Z EvW joined #lisp 2020-12-16T17:29:09Z gaqwas joined #lisp 2020-12-16T17:29:09Z gaqwas quit (Changing host) 2020-12-16T17:29:09Z gaqwas joined #lisp 2020-12-16T17:30:26Z jibanes quit (Ping timeout: 268 seconds) 2020-12-16T17:31:26Z nij joined #lisp 2020-12-16T17:31:43Z jibanes joined #lisp 2020-12-16T17:33:44Z gabot joined #lisp 2020-12-16T17:33:56Z nij quit (Client Quit) 2020-12-16T17:38:35Z jibanes quit (Ping timeout: 265 seconds) 2020-12-16T17:40:06Z jibanes joined #lisp 2020-12-16T17:49:57Z galex-713 quit (Ping timeout: 272 seconds) 2020-12-16T17:49:58Z gproto23 joined #lisp 2020-12-16T17:50:20Z gproto23 quit (Remote host closed the connection) 2020-12-16T17:50:43Z saganman quit (Ping timeout: 246 seconds) 2020-12-16T17:51:32Z andreyorst: maybe not the place to ask, but given that Emacs lisp is similar to Common in a sense that it is also Lisp2, maybe someone will be able to help me. I can't find an explanation on how I could return a lambda from a function, and store it in a varialbe that can later be called directly as a function without funcall. In Lisp1 it is pretty straightforward, in Lisp2 I'm not sure how one does this. Any hints? 2020-12-16T17:53:24Z andreyorst: ah, it seems `fset` is the way to go 2020-12-16T17:53:42Z Nilby: One way is: (setf (symbol-function 'foo) (lambda (x) ...)) 2020-12-16T17:53:50Z galex-713 joined #lisp 2020-12-16T17:53:51Z Nilby: There's no fset in CL 2020-12-16T17:54:42Z jackdaniel: better to always use fdefinition 2020-12-16T17:55:45Z Nilby: ^ yes, sorry, also that's for CL not elisp 2020-12-16T17:58:42Z notzmv quit (Ping timeout: 260 seconds) 2020-12-16T18:00:02Z jibanes quit (Ping timeout: 268 seconds) 2020-12-16T18:00:12Z andreyorst: yeah, np :) 2020-12-16T18:00:16Z Nilby: Nilby's WAaaS - Wrong answer as a service "The fastest way to get the right answer" 2020-12-16T18:01:16Z charlie770 quit (Ping timeout: 268 seconds) 2020-12-16T18:01:51Z jibanes joined #lisp 2020-12-16T18:02:50Z zacts joined #lisp 2020-12-16T18:03:07Z susam quit (Ping timeout: 268 seconds) 2020-12-16T18:03:23Z pyc: solideogloria[m]: i know. but doing that simple setup gives a very limited vlime. vlime does not have a fully interactive repl like slimv. 2020-12-16T18:03:25Z Cthulhux: i'd use that 2020-12-16T18:03:58Z zacts quit (Client Quit) 2020-12-16T18:04:42Z hnOsmium0001 joined #lisp 2020-12-16T18:12:56Z pankajsg quit (Ping timeout: 240 seconds) 2020-12-16T18:13:32Z parjanya quit (Ping timeout: 260 seconds) 2020-12-16T18:13:38Z Steeve quit (Quit: end) 2020-12-16T18:14:59Z oxum quit (Quit: Leaving...) 2020-12-16T18:16:48Z pankajsg joined #lisp 2020-12-16T18:17:18Z fiddlerwoaroof: I use/used slimv for a while 2020-12-16T18:17:46Z fiddlerwoaroof: evil-mode (without all the spacemacs baggage) eventually converted me 2020-12-16T18:18:27Z fiddlerwoaroof: Anyways, after upgrading to 11.1, sbcl works through Rosetta 2 2020-12-16T18:18:37Z fiddlerwoaroof: *macOS 2020-12-16T18:18:46Z fiddlerwoaroof: My dev environment is coming back together 2020-12-16T18:19:41Z nij joined #lisp 2020-12-16T18:20:19Z milanj_ quit (Quit: Leaving) 2020-12-16T18:22:55Z cosimone_ joined #lisp 2020-12-16T18:24:49Z cosimone quit (Ping timeout: 264 seconds) 2020-12-16T18:24:50Z cosimone_ is now known as cosimone 2020-12-16T18:27:10Z jibanes quit (Ping timeout: 268 seconds) 2020-12-16T18:30:08Z entre-parenteses: fiddlerwoaroof: Not sure if that was to me, or not, but I'm curious. Are you saying that, now, you just use evil-mode with a regular Emacs install? 2020-12-16T18:33:25Z entre-parenteses: I got started with Spacemacs almost as soon as moving back to Emacs (from Vim) because I had gotten used to, and really like, the Vim key-bindings more, anyways. 2020-12-16T18:34:36Z jibanes joined #lisp 2020-12-16T18:35:26Z Cthulhux: i find vim keybindings annoying. 2020-12-16T18:35:39Z Cthulhux: i want to INSERT TEXT in an editor window 2020-12-16T18:35:43Z Cthulhux: not tell it to insert first 2020-12-16T18:35:46Z Cthulhux: bah 2020-12-16T18:37:37Z entre-parenteses: I just didn't like my wrists hurting after long periods of using the Emacs bindings. I can, however, see the appeal of not having to know in which mode you're working, etc. :) 2020-12-16T18:37:46Z entre-parenteses: I guess it just became second-nature for me. 2020-12-16T18:38:43Z entre-parenteses: Not trying to start an editor war, though. Just curious how other people efficiently get stuff done. 2020-12-16T18:41:53Z Cthulhux: i use adme. 2020-12-16T18:41:55Z Cthulhux: acme. 2020-12-16T18:41:57Z Cthulhux: ;o) 2020-12-16T18:42:36Z entre-parenteses: Oh, never heard of that! I'll have to check it out. 2020-12-16T18:42:52Z Cthulhux: http://acme.cat-v.org 2020-12-16T18:43:10Z Cthulhux: acceptable cross-platform version: https://github.com/rjkroege/edwood 2020-12-16T18:43:18Z jibanes quit (Ping timeout: 260 seconds) 2020-12-16T18:43:53Z Cthulhux: (the latter has a better way to change your font.. ;-)) 2020-12-16T18:47:05Z Fade: do you use it on plan9, or just in userspace? 2020-12-16T18:47:27Z Cthulhux: i'm afraid i am too lazy to use plan 9 for more than just some toyin' around 2020-12-16T18:47:33Z Cthulhux: so plan9port, it is. 2020-12-16T18:47:38Z Cthulhux: on windows and macos. 2020-12-16T18:48:13Z Fade: I admire plan9. 2020-12-16T18:48:24Z Cthulhux: 9front has a netsurf port these days. 2020-12-16T18:48:26Z Fade: but I generally prefer the lisp way. 2020-12-16T18:48:30Z Cthulhux: makes it less uninteresting. 2020-12-16T18:48:38Z jackdaniel: isn't it going the other way than lisp? i.e it is more unix-y than unix? :) 2020-12-16T18:48:44Z Cthulhux: yes, it is 2020-12-16T18:48:54Z Cthulhux: everything is a file - including your cpi. 2020-12-16T18:48:56Z Cthulhux: cpu. 2020-12-16T18:49:20Z Fade: acme is too maus driven. :) 2020-12-16T18:49:20Z jackdaniel prefers "everything is a standard-object" 2020-12-16T18:49:37Z Cthulhux: fade: i thought so as well, but it really is nice 2020-12-16T18:49:41Z jackdaniel: including your cpu ,) 2020-12-16T18:49:55Z Fade touches his nose and points at jackdaniel 2020-12-16T18:50:09Z Cthulhux: vim is modal (commands are behind ) and acme is modal (commands are behind the mouse) 2020-12-16T18:50:10Z Cthulhux: :p 2020-12-16T18:50:17Z Cthulhux: vim users should love it! 2020-12-16T18:50:48Z jibanes joined #lisp 2020-12-16T18:51:23Z Nilby: vim is great if you have one finger, acme is great if you have an eyeball mouse and a foot clicker, emacs is great if you move the control and meta keys and a 30k init.el 2020-12-16T18:51:37Z Cthulhux: my init.el is smaller :( 2020-12-16T18:52:41Z nij quit (Quit: ERC (IRC client for Emacs 27.1)) 2020-12-16T18:52:49Z zacts joined #lisp 2020-12-16T18:53:41Z EvW quit (Ping timeout: 268 seconds) 2020-12-16T18:53:54Z zacts quit (Client Quit) 2020-12-16T19:00:53Z Inline joined #lisp 2020-12-16T19:02:39Z luckless quit (Remote host closed the connection) 2020-12-16T19:03:05Z jibanes quit (Ping timeout: 240 seconds) 2020-12-16T19:03:07Z luckless joined #lisp 2020-12-16T19:04:43Z hendursaga quit (Ping timeout: 240 seconds) 2020-12-16T19:05:22Z jibanes joined #lisp 2020-12-16T19:05:41Z kam1 joined #lisp 2020-12-16T19:06:06Z hendursaga joined #lisp 2020-12-16T19:08:42Z kevingal quit (Ping timeout: 260 seconds) 2020-12-16T19:09:13Z Fade: I guess with plumber it would be trivial to tie acme into a lisp process. 2020-12-16T19:09:26Z Cthulhux: yup 2020-12-16T19:09:30Z Cthulhux: it would. 2020-12-16T19:09:39Z Fade: how are you doing it? 2020-12-16T19:10:08Z jibanes quit (Ping timeout: 260 seconds) 2020-12-16T19:10:32Z cosimone quit (Quit: cosimone) 2020-12-16T19:10:37Z jibanes joined #lisp 2020-12-16T19:10:48Z defunkydrummer joined #lisp 2020-12-16T19:11:48Z defunkydrummer: Just in case nobody has seen it: https://news.ycombinator.com/item?id=25441664 2020-12-16T19:11:59Z defunkydrummer: " Ask HN: I want to start learning Lisp. Where do I begin?" 2020-12-16T19:12:54Z _death: at the nearest repl 2020-12-16T19:18:41Z kam1 quit (Read error: Connection reset by peer) 2020-12-16T19:18:45Z Cthulhux: Fade: basically, write a plumbing file which passes .lisp files to plumb; https://9p.io/wiki/plan9/using_plumbing/index.html 2020-12-16T19:19:04Z Cthulhux: Fade: then, execute the command with the default key chord 2020-12-16T19:19:05Z aeth quit (Ping timeout: 240 seconds) 2020-12-16T19:19:05Z Cthulhux: ;-) 2020-12-16T19:19:22Z Cthulhux: (or just add "| sbcl" to the toolbar..) 2020-12-16T19:20:05Z hjudt quit (Quit: leaving) 2020-12-16T19:21:16Z aeth joined #lisp 2020-12-16T19:21:49Z Fade: does acme do things like balancing parens? 2020-12-16T19:22:19Z Cthulhux: no, but you can integrate any code cleaning utility with it 2020-12-16T19:22:35Z Cthulhux: i added the indent command to its toolbar which is handy. 2020-12-16T19:22:36Z Cthulhux: :) 2020-12-16T19:23:04Z Cthulhux: (you can write from any tool that can spawn text right into any of acme's buffers and bars, so feel free to write any plugin you like) 2020-12-16T19:24:04Z Cthulhux: potentially interesting: https://github.com/evbogdanov/acme 2020-12-16T19:24:06Z Cthulhux: enjoy 2020-12-16T19:25:27Z Nilby: I'm imagining writing a filter that that takes the mouse position and the lisp file and outputs it with an ascii arrow around the matching paren, sleeps, then output the orginal file. 2020-12-16T19:28:16Z jibanes quit (Ping timeout: 240 seconds) 2020-12-16T19:30:18Z jibanes joined #lisp 2020-12-16T19:31:53Z rumbler31_ joined #lisp 2020-12-16T19:35:12Z jibanes quit (Ping timeout: 272 seconds) 2020-12-16T19:35:49Z jibanes joined #lisp 2020-12-16T19:39:09Z X-Scale` joined #lisp 2020-12-16T19:40:52Z X-Scale quit (Ping timeout: 256 seconds) 2020-12-16T19:40:52Z X-Scale` is now known as X-Scale 2020-12-16T19:41:38Z jibanes quit (Ping timeout: 260 seconds) 2020-12-16T19:43:08Z jibanes joined #lisp 2020-12-16T19:44:28Z rogersm quit (Quit: Leaving...) 2020-12-16T19:46:08Z EvW joined #lisp 2020-12-16T19:47:15Z oxum joined #lisp 2020-12-16T19:49:46Z jibanes quit (Ping timeout: 256 seconds) 2020-12-16T19:50:53Z jibanes joined #lisp 2020-12-16T19:57:08Z jibanes quit (Ping timeout: 256 seconds) 2020-12-16T19:57:15Z kam1 joined #lisp 2020-12-16T19:57:19Z kam1 quit (Read error: Connection reset by peer) 2020-12-16T19:58:10Z jibanes joined #lisp 2020-12-16T19:58:54Z bqv quit (Quit: WeeChat 2.9) 2020-12-16T20:03:13Z jibanes quit (Ping timeout: 264 seconds) 2020-12-16T20:03:51Z jibanes joined #lisp 2020-12-16T20:04:33Z Alfr quit (Quit: Leaving) 2020-12-16T20:06:00Z hendursaga quit (Remote host closed the connection) 2020-12-16T20:06:49Z hendursaga joined #lisp 2020-12-16T20:07:42Z cosimone joined #lisp 2020-12-16T20:10:50Z EvW1 joined #lisp 2020-12-16T20:11:22Z EvW quit (Ping timeout: 260 seconds) 2020-12-16T20:11:23Z EvW1 is now known as EvW 2020-12-16T20:14:24Z edgar-rft quit (Quit: Leaving) 2020-12-16T20:16:02Z edgar-rft joined #lisp 2020-12-16T20:20:01Z narimiran quit (Ping timeout: 268 seconds) 2020-12-16T20:22:40Z rpg joined #lisp 2020-12-16T20:24:16Z aorst joined #lisp 2020-12-16T20:27:01Z gxt joined #lisp 2020-12-16T20:27:39Z Inline quit (Ping timeout: 272 seconds) 2020-12-16T20:28:43Z hiroaki quit (Ping timeout: 265 seconds) 2020-12-16T20:29:39Z mbomba joined #lisp 2020-12-16T20:31:44Z tlaxkit quit (Ping timeout: 268 seconds) 2020-12-16T20:32:09Z villanella quit (Remote host closed the connection) 2020-12-16T20:32:17Z villanella joined #lisp 2020-12-16T20:34:06Z fanta1 quit (Remote host closed the connection) 2020-12-16T20:34:52Z aorst quit (Quit: WeeChat 3.0) 2020-12-16T20:35:20Z aorst joined #lisp 2020-12-16T20:35:22Z aartaka quit (Read error: Connection reset by peer) 2020-12-16T20:40:20Z jw4 quit (Read error: Connection reset by peer) 2020-12-16T20:40:39Z aartaka joined #lisp 2020-12-16T20:40:50Z hiroaki joined #lisp 2020-12-16T20:42:12Z jw4 joined #lisp 2020-12-16T20:44:52Z andreyorst quit (Ping timeout: 272 seconds) 2020-12-16T20:46:19Z tlaxkit joined #lisp 2020-12-16T20:46:50Z tlaxkit quit (Client Quit) 2020-12-16T20:51:28Z jibanes quit (Ping timeout: 268 seconds) 2020-12-16T20:53:26Z jibanes joined #lisp 2020-12-16T20:56:01Z shka_ quit (Ping timeout: 264 seconds) 2020-12-16T20:57:38Z rumbler31_ quit (Ping timeout: 268 seconds) 2020-12-16T20:58:08Z miasuji joined #lisp 2020-12-16T20:58:49Z pfdietz quit (Ping timeout: 245 seconds) 2020-12-16T21:03:19Z aorst quit (Remote host closed the connection) 2020-12-16T21:12:26Z galex-713 quit (Ping timeout: 268 seconds) 2020-12-16T21:12:39Z galex-713 joined #lisp 2020-12-16T21:14:46Z aartaka quit (Ping timeout: 256 seconds) 2020-12-16T21:16:03Z rumbler31_ joined #lisp 2020-12-16T21:16:20Z andreyorst joined #lisp 2020-12-16T21:16:23Z izh_ joined #lisp 2020-12-16T21:17:15Z galex-713_ joined #lisp 2020-12-16T21:17:22Z galex-713 quit (Ping timeout: 268 seconds) 2020-12-16T21:19:50Z jibanes quit (Ping timeout: 268 seconds) 2020-12-16T21:21:12Z jibanes joined #lisp 2020-12-16T21:27:36Z nij joined #lisp 2020-12-16T21:27:48Z jibanes quit (Ping timeout: 256 seconds) 2020-12-16T21:28:08Z nij: Spent a day. Finally got what people say this very early morning: Use lisp to build the right language to attack the specific problem. 2020-12-16T21:28:41Z jibanes joined #lisp 2020-12-16T21:28:56Z nij: I thought it is better to make DSL lispier.. but the language of some problem is hard to made lispy. It's possible theoretically, but the syntax will be huge. 2020-12-16T21:29:20Z nij: This makes me wonder (another impractical stupd question), what DSLs look pretty lispy? 2020-12-16T21:29:36Z wsinatra quit (Ping timeout: 240 seconds) 2020-12-16T21:35:52Z jibanes quit (Ping timeout: 268 seconds) 2020-12-16T21:36:11Z jibanes joined #lisp 2020-12-16T21:39:13Z jeosol quit (Remote host closed the connection) 2020-12-16T21:42:02Z EvW quit (Ping timeout: 268 seconds) 2020-12-16T21:50:38Z imode joined #lisp 2020-12-16T21:51:29Z no-defun-allowed: I mustn't have made the point that any DSL in Lisp is "Lispy" to the author. 2020-12-16T21:51:39Z EvW joined #lisp 2020-12-16T21:58:58Z Xach: mfiano: it looks like origin is broken? 2020-12-16T21:59:00Z Xach checks github 2020-12-16T22:01:34Z aeth: nij: The go-to example is HTML and/or CSS. There are quite a few of those. Also several SQL, including one that's specifically just for PostgreSQL 2020-12-16T22:02:10Z aeth: Most of these just generate strings. There are some for GLSL, a GPU shader language, too. In theory, you can generate other things, e.g. SPIR-V for GPU shaders or WASM for web browsers. 2020-12-16T22:03:13Z nij: Right. 2020-12-16T22:03:24Z aeth: Oh, I should say that most of these generate strings, and most of the rest generate Lisp code, either compiling-to-Lisp or compiling-to-an-s-expression-interpreter (or both, I guess) 2020-12-16T22:03:46Z aeth: But "generating Lisp code" makes it hard to really call a DSL vs just a regular macro. I guess LOOP counts, but it's not very Lispy vs. e.g. ITERATE 2020-12-16T22:03:56Z curiouscain quit (Ping timeout: 265 seconds) 2020-12-16T22:04:07Z nij: I figure out that Lisp is so great because it is closer to human thoughts, which have many structures. Any language that achieves this seems to must have many parentheses. 2020-12-16T22:04:29Z Xach reports a bug 2020-12-16T22:05:28Z nij: But when a specific problem is too machine-like (e.g. a computer algebra system), the best language deviates from being alike to human thoughts. And that's when it starts to be less lispier. 2020-12-16T22:05:45Z jibanes quit (Ping timeout: 240 seconds) 2020-12-16T22:05:45Z curiouscain joined #lisp 2020-12-16T22:05:52Z nij: So in conclusion, for each specific problem, we need to design the right language for it, using lisp. 2020-12-16T22:05:54Z aeth: nij: I mean, there are three main ways (and, really, infinite ways since reader macros are a thing) to go about doing a DSL... a string (e.g. cl-ppcre or FORMAT), a pseudo-algol macro language (basically just LOOP), or a macro language with many parentheses. 2020-12-16T22:06:32Z aeth: What I mean by LOOP is, it's basically just parsing a bunch of arbitrary things that are pre-tokenized into space-separated tokens and that's about it. 2020-12-16T22:06:43Z aeth: As opposed to having more structure and probably doing destructuring-bind or something 2020-12-16T22:06:54Z jprajzne left #lisp 2020-12-16T22:07:09Z nij: right 2020-12-16T22:07:42Z nij: Does that mean if a language is good enough for a problem, I should just use it? Instead of lisp? 2020-12-16T22:07:55Z aeth: You can compile to it from Lisp. 2020-12-16T22:08:21Z jibanes joined #lisp 2020-12-16T22:08:23Z aeth: e.g. https://marijnhaverbeke.nl/postmodern/s-sql.html 2020-12-16T22:08:54Z nij: This is very neat. 2020-12-16T22:09:58Z nij: Much more expressive. It remembers the structure of our thoughts. 2020-12-16T22:11:54Z nij: aeth: In your first category (DSL by string eg FORMAT), can one still argue that lisp is a better language for designing it? 2020-12-16T22:12:30Z nij: Also, as for your third category, what would be some instances? 2020-12-16T22:12:49Z jibanes quit (Ping timeout: 264 seconds) 2020-12-16T22:13:14Z aeth: nij: if the string is a literal string, it can still be parsed at compile time 2020-12-16T22:13:36Z gaqwas quit (Ping timeout: 265 seconds) 2020-12-16T22:13:38Z jibanes joined #lisp 2020-12-16T22:13:42Z aeth: implementations probably do this with FORMAT when the string is literal. 2020-12-16T22:14:04Z no-defun-allowed: You have to be sure that Lisp isn't changing the structure of your thoughts. Some wise internet celebrities say it is (and make it sound like writing Lisp is like doing drugs), but that could be a bad thing if there is a better structure. 2020-12-16T22:14:18Z notzmv joined #lisp 2020-12-16T22:14:21Z aeth: nij: so (your-macro "1 + 2 + 3 + 4") isn't too different from (your-macro 1 2 3 4) 2020-12-16T22:14:35Z aeth: (FORMAT isn't a macro, though, so implementations have to be clever) 2020-12-16T22:14:44Z Xach is reminded of a brucio post from 2005 2020-12-16T22:14:57Z nij: Xach: which one? 2020-12-16T22:15:08Z nij: aeth: hmm 2020-12-16T22:15:14Z Xach: https://web.archive.org/web/20070712062411/http://brucio.blogspot.com/2005/09/list-accessors.html specifically 2020-12-16T22:15:28Z Xach: > How to change the cooking time? "Setf second list new-value" is how I would phrase it in English. 2020-12-16T22:15:34Z mbomba quit (Quit: WeeChat 3.0) 2020-12-16T22:15:52Z nij: no-defun-allowed: humans thoughts are full of structures.. while it's definitely not the same as lisp, I'm convinced that lisp is the most alike. 2020-12-16T22:16:44Z nij: Lol that's different grammar. But as thoughts it's alike. 2020-12-16T22:16:48Z iskander quit (Quit: bye) 2020-12-16T22:17:05Z nij: Also in Latin, I think people can talk like that. 2020-12-16T22:17:23Z nij: (im not an expert in Latin) 2020-12-16T22:18:16Z jibanes quit (Ping timeout: 240 seconds) 2020-12-16T22:19:08Z kenran quit (Quit: leaving) 2020-12-16T22:19:21Z jibanes joined #lisp 2020-12-16T22:19:34Z iskander joined #lisp 2020-12-16T22:19:58Z nij: Xach: but it's still a pretty nice joke xD 2020-12-16T22:20:40Z aeth: Xach: Personally, I think in destructuring-bind rather than FIRST, SECOND, etc., but I think that those are just LETs, not accessors. We need a with-destructuring-accessors for the SETF, I guess. 2020-12-16T22:20:42Z nij: I recall one of my high school classmates. He were so into computer science and sometimes talks like that (not in English though). 2020-12-16T22:20:43Z mrcom: nij: Would think computer algebra is actually *very* lisp-ish. Core problem is re-arranging graphs which are mostly-but-not-entirely trees. 2020-12-16T22:21:05Z aeth: mrcom: agreed 2020-12-16T22:21:11Z aeth: at least, symbolic CAS 2020-12-16T22:21:35Z aeth: You don't really think about trying to differentiate math expressions in a "normal" programming language, but plenty of people have that thought when it's in s-expression form 2020-12-16T22:21:42Z nij: You'd need to write (+ (make-integer 3) (make-rational 3.5))...... 2020-12-16T22:21:55Z nij: The structure is lisp, but there's too much abstractions. 2020-12-16T22:22:14Z nij: So to cut the interface down, one must make it less lispy.. 2020-12-16T22:22:40Z nij: Here, ofc, 3 and 3.5 are handled automatically by lisp. But this is just an example. 2020-12-16T22:23:11Z mrcom: nij: '(+ (* A B) (* A C)) -> '(* A (+ B C)) 2020-12-16T22:23:34Z heisig quit (Quit: Leaving) 2020-12-16T22:23:42Z nij: oh this part yes 2020-12-16T22:23:45Z nij: very lispy 2020-12-16T22:24:33Z nij: But when one starts to deal with (N in Z in Q in R in C in C[x] in C[x,y] in C(x,y))... 2020-12-16T22:25:00Z iskander- joined #lisp 2020-12-16T22:25:01Z nij: there will be much ambiguity 2020-12-16T22:25:39Z nij: As we don't want to mess #'+ around.. 2020-12-16T22:25:55Z nij: or some other fundamental operations that can be "lifted". 2020-12-16T22:26:26Z jibanes quit (Ping timeout: 268 seconds) 2020-12-16T22:26:32Z nij: Oh wait! We can use generic function.. 2020-12-16T22:26:50Z iskander quit (Ping timeout: 272 seconds) 2020-12-16T22:27:50Z jibanes joined #lisp 2020-12-16T22:27:56Z dbotton joined #lisp 2020-12-16T22:28:09Z mrcom: (map 'list #'(replace-when-matches (* (+ _0 _1) (+ _0 _2)) (* _0 (+ _1 _2))) '(* (* (+ A B) (A C)) (* (+ A E) (+ A F))))) -> '(* A (+ (+ B C) (+ E F))) 2020-12-16T22:29:13Z mrcom: (they're quoted lists so + and * are treated as symbols, not functions) 2020-12-16T22:30:01Z nij: i see 2020-12-16T22:30:12Z mrcom: Any this is hand-wavy lisp :) 2020-12-16T22:30:16Z nij: the language is also list-like, instead of string-like. 2020-12-16T22:30:28Z nij: Oh, is this translator easy to write in lisp? 2020-12-16T22:30:44Z mrcom: Yep, very easy. 2020-12-16T22:31:00Z nij: How about rational functions? Namely, polynomials over polynomials. 2020-12-16T22:31:13Z nij: Maybe multi-variated. Namely, many indeterminants x, y, z, etc.. 2020-12-16T22:32:19Z mrcom: https://en.wikipedia.org/wiki/Macsyma 2020-12-16T22:35:34Z madage quit (Remote host closed the connection) 2020-12-16T22:35:49Z matryoshka quit (Quit: ZNC 1.8.2 - https://znc.in) 2020-12-16T22:35:53Z mrcom: A basic idea is to define patterns with place holders, and then define transforms on patterns-of-patterns. 2020-12-16T22:36:04Z jeosol joined #lisp 2020-12-16T22:36:54Z matryoshka joined #lisp 2020-12-16T22:37:30Z matryoshka quit (Client Quit) 2020-12-16T22:37:54Z nij: i see 2020-12-16T22:38:28Z mrcom: For example, "when you see (* A B), if A matches (^ C D) and B (^ E F), and C and E are the same thing, then replace with (^ C (+ D E))" 2020-12-16T22:38:34Z infra_red[m] joined #lisp 2020-12-16T22:39:38Z mrcom: Then there's "let's represent the possible transforms as lazy trees, and walk the tree until we're happy." 2020-12-16T22:40:20Z mrcom: So it's all lists. The whole universe is lists :) 2020-12-16T22:41:35Z mrcom: sorry: replace with (^ C (+ D F)) 2020-12-16T22:41:57Z andreyorst quit (Quit: WeeChat 3.0) 2020-12-16T22:43:50Z madage joined #lisp 2020-12-16T22:48:26Z mrcom: More head-explodey: Symbols are really pointers to... everything. There is a symbol which has an identifying string "+" (more precisely, there's a symbol in the COMMON-LISP namespace with that ident). 2020-12-16T22:48:46Z izh_ quit (Quit: Leaving) 2020-12-16T22:49:36Z phireh quit (Read error: Connection reset by peer) 2020-12-16T22:50:39Z nij: It's nice. I shall learn this. 2020-12-16T22:52:43Z mrcom: When you do something like `(format t "~A~%" '+)', you are telling the lisp reader to "find the symbol `+', then include it in the list that will get passed to FORMAT when it's called." 2020-12-16T22:54:04Z jibanes quit (Ping timeout: 272 seconds) 2020-12-16T22:54:30Z rumbler31_ quit (Ping timeout: 256 seconds) 2020-12-16T22:55:50Z mrcom: FORMAT takes the second parameter (the "~A~%" string), sees the ~A, looks at the next parameter and sees its a symbol. The ~A tells FORMAT to get the symbol's name field and stuff it in the output string. 2020-12-16T22:55:56Z jibanes joined #lisp 2020-12-16T22:56:24Z mrcom: Not too complicated. The head-splodey part is this: 2020-12-16T22:56:47Z dieggsy joined #lisp 2020-12-16T22:56:51Z rumbler31_ joined #lisp 2020-12-16T23:00:40Z sjl quit (Ping timeout: 256 seconds) 2020-12-16T23:02:35Z mrcom: If you do something like '(+ A B) [including the single quote] the reader does _exactly the same thing_. That initial symbol in the resulting list _is_ the symbol that identifies the "+" function. 2020-12-16T23:03:18Z Alfr joined #lisp 2020-12-16T23:03:18Z kam1 joined #lisp 2020-12-16T23:03:44Z jibanes quit (Ping timeout: 256 seconds) 2020-12-16T23:04:17Z mrcom: So transforming '(+ (* A B) (* A C)) to '(* A (+ B C)) _is_ directly transforming code. 2020-12-16T23:05:04Z mrcom: For example: (apply (second '(* +)) (list 2 3)) -> 5 2020-12-16T23:05:26Z jibanes joined #lisp 2020-12-16T23:05:51Z defunkydrummer: mrcom: YOUR HEAD A SPLODE 2020-12-16T23:07:01Z mrcom: So your transforming language is just playing with lists of symbols, but if you choose the symbols appropriately you are directly refactoring code. 2020-12-16T23:07:08Z rgherdt quit (Ping timeout: 268 seconds) 2020-12-16T23:08:22Z villanella quit (Ping timeout: 268 seconds) 2020-12-16T23:14:46Z Nilby: Now to really a splode your head, run the metacircular lisp 'whitespace' compiler written in 'parentheses hell' that outputs k-machine code to an invisible color channel in a jpg of a walrus. 2020-12-16T23:17:46Z mrcom: I'm sorry, but the walrus is just gratuitous. I could see a spherical cow, but... 2020-12-16T23:18:16Z Nilby apologizes 2020-12-16T23:18:20Z Nilby self kicked 2020-12-16T23:18:21Z Nilby left #lisp 2020-12-16T23:18:39Z matryoshka joined #lisp 2020-12-16T23:19:20Z igemnace quit (Remote host closed the connection) 2020-12-16T23:20:34Z luckless quit (Quit: luckless) 2020-12-16T23:21:07Z random-nick quit (Ping timeout: 246 seconds) 2020-12-16T23:21:40Z dbotton quit (Quit: This computer has gone to sleep) 2020-12-16T23:29:05Z rumbler31_ quit (Ping timeout: 240 seconds) 2020-12-16T23:39:57Z kam1 quit (Read error: Connection reset by peer) 2020-12-16T23:40:56Z kam1 joined #lisp 2020-12-16T23:42:27Z pve quit (Quit: leaving) 2020-12-16T23:44:32Z dbotton joined #lisp 2020-12-16T23:47:13Z jibanes quit (Ping timeout: 268 seconds) 2020-12-16T23:48:31Z jibanes joined #lisp 2020-12-16T23:49:33Z dhil quit (Ping timeout: 260 seconds) 2020-12-16T23:52:49Z igemnace joined #lisp 2020-12-16T23:55:49Z kam1 quit (Read error: Connection reset by peer) 2020-12-16T23:56:04Z nij quit (Remote host closed the connection) 2020-12-16T23:56:17Z rumbler31_ joined #lisp 2020-12-16T23:56:22Z nij joined #lisp 2020-12-17T00:03:13Z cosimone_ joined #lisp 2020-12-17T00:03:45Z cosimone quit (Ping timeout: 240 seconds) 2020-12-17T00:04:35Z cosimone_ is now known as cosimone 2020-12-17T00:04:56Z jibanes quit (Ping timeout: 240 seconds) 2020-12-17T00:06:20Z EvW quit (Ping timeout: 268 seconds) 2020-12-17T00:07:30Z asdfffgg joined #lisp 2020-12-17T00:07:30Z jibanes joined #lisp 2020-12-17T00:07:53Z karlosz quit (Quit: karlosz) 2020-12-17T00:07:59Z asdfffgg quit (Remote host closed the connection) 2020-12-17T00:12:39Z FennecCode quit (Ping timeout: 258 seconds) 2020-12-17T00:13:25Z jibanes quit (Ping timeout: 264 seconds) 2020-12-17T00:13:56Z jibanes joined #lisp 2020-12-17T00:15:37Z hendursaga quit (Remote host closed the connection) 2020-12-17T00:15:47Z bilegeek joined #lisp 2020-12-17T00:17:19Z hendursaga joined #lisp 2020-12-17T00:18:33Z EvW joined #lisp 2020-12-17T00:23:21Z FennecCode joined #lisp 2020-12-17T00:25:31Z cantstanya quit (Remote host closed the connection) 2020-12-17T00:25:42Z nij quit (Ping timeout: 260 seconds) 2020-12-17T00:27:32Z cantstanya joined #lisp 2020-12-17T00:33:03Z bilegeek quit (Quit: Leaving) 2020-12-17T00:35:44Z bilegeek joined #lisp 2020-12-17T00:38:09Z akoana joined #lisp 2020-12-17T00:39:36Z dbotton quit (Quit: This computer has gone to sleep) 2020-12-17T00:41:31Z kevingal joined #lisp 2020-12-17T00:51:27Z kevingal quit (Remote host closed the connection) 2020-12-17T00:52:52Z defunkydrummer quit (Ping timeout: 256 seconds) 2020-12-17T00:56:04Z surabax quit (Quit: Leaving) 2020-12-17T00:58:07Z miasuji quit (Ping timeout: 260 seconds) 2020-12-17T01:06:45Z cantstanya quit (Remote host closed the connection) 2020-12-17T01:08:31Z karlosz joined #lisp 2020-12-17T01:10:57Z cantstanya joined #lisp 2020-12-17T01:11:16Z wxie joined #lisp 2020-12-17T01:12:46Z Oladon joined #lisp 2020-12-17T01:16:01Z jibanes quit (Ping timeout: 268 seconds) 2020-12-17T01:17:21Z jibanes joined #lisp 2020-12-17T01:17:53Z iarebatman joined #lisp 2020-12-17T01:18:21Z iarebatman: Hey all. 2020-12-17T01:18:41Z nij joined #lisp 2020-12-17T01:18:44Z iarebatman: Is anyone aware of any lisp-related job openings? 2020-12-17T01:21:13Z nij: Is it possible to extend the definition of an existing function? For example, '+ is defined for numbers. Can I *extend* its definition for strings, so that (+ "a" "b") => "ab" with (+ 1 2) => 3. 2020-12-17T01:21:17Z nij: ? 2020-12-17T01:22:50Z jello_pudding quit (Ping timeout: 264 seconds) 2020-12-17T01:23:08Z jibanes quit (Ping timeout: 256 seconds) 2020-12-17T01:23:58Z Oladon: iarebatman: Usually Planet Lisp is a good resource for those. 2020-12-17T01:24:01Z jibanes joined #lisp 2020-12-17T01:24:51Z bilegeek quit (*.net *.split) 2020-12-17T01:24:51Z EvW quit (*.net *.split) 2020-12-17T01:24:51Z hnOsmium0001 quit (*.net *.split) 2020-12-17T01:24:52Z bitmapper quit (*.net *.split) 2020-12-17T01:24:52Z amerigo quit (*.net *.split) 2020-12-17T01:24:52Z beach quit (*.net *.split) 2020-12-17T01:24:53Z oni-on-ion quit (*.net *.split) 2020-12-17T01:24:53Z CEnnis91 quit (*.net *.split) 2020-12-17T01:24:56Z physpi quit (*.net *.split) 2020-12-17T01:24:58Z otwieracz quit (*.net *.split) 2020-12-17T01:24:59Z krjst quit (*.net *.split) 2020-12-17T01:24:59Z mpontillo quit (*.net *.split) 2020-12-17T01:25:00Z avicenna quit (*.net *.split) 2020-12-17T01:25:00Z dnm quit (*.net *.split) 2020-12-17T01:25:01Z shinohai quit (*.net *.split) 2020-12-17T01:25:02Z jasom quit (*.net *.split) 2020-12-17T01:25:02Z phoe quit (*.net *.split) 2020-12-17T01:25:03Z shrysr quit (*.net *.split) 2020-12-17T01:25:03Z bonz060 quit (*.net *.split) 2020-12-17T01:25:03Z markasoftware quit (*.net *.split) 2020-12-17T01:25:03Z xristos quit (*.net *.split) 2020-12-17T01:25:04Z kim\ quit (*.net *.split) 2020-12-17T01:25:04Z felideon quit (*.net *.split) 2020-12-17T01:27:07Z Jesin quit (Ping timeout: 246 seconds) 2020-12-17T01:29:41Z edgar-rft: nij: it's not allowed to redifine cl:+ (package lock error) but it's possible to either "shadow" the + symbol by some package-trickery or easier, define a "my-+" function (or some better name) that implements the string-behaviour and calls cl:+ for non-string arguments. 2020-12-17T01:29:42Z mrcom: nij: No, maybe, and sort-of. 2020-12-17T01:30:06Z mrcom: (what edgar-rft said) 2020-12-17T01:30:14Z bilegeek joined #lisp 2020-12-17T01:30:14Z EvW joined #lisp 2020-12-17T01:30:14Z hnOsmium0001 joined #lisp 2020-12-17T01:30:14Z bitmapper joined #lisp 2020-12-17T01:30:14Z amerigo joined #lisp 2020-12-17T01:30:14Z beach joined #lisp 2020-12-17T01:30:14Z oni-on-ion joined #lisp 2020-12-17T01:30:14Z CEnnis91 joined #lisp 2020-12-17T01:30:14Z physpi joined #lisp 2020-12-17T01:30:14Z otwieracz joined #lisp 2020-12-17T01:30:14Z krjst joined #lisp 2020-12-17T01:30:14Z mpontillo joined #lisp 2020-12-17T01:30:14Z avicenna joined #lisp 2020-12-17T01:30:14Z dnm joined #lisp 2020-12-17T01:30:14Z shinohai joined #lisp 2020-12-17T01:30:14Z jasom joined #lisp 2020-12-17T01:30:14Z phoe joined #lisp 2020-12-17T01:30:14Z shrysr joined #lisp 2020-12-17T01:30:14Z bonz060 joined #lisp 2020-12-17T01:30:14Z markasoftware joined #lisp 2020-12-17T01:30:14Z xristos joined #lisp 2020-12-17T01:30:14Z kim\ joined #lisp 2020-12-17T01:30:14Z felideon joined #lisp 2020-12-17T01:30:24Z moon-child: you probably want my-+ to be a generic 2020-12-17T01:30:39Z Oladon: nij: Yes, and no. You can very easily write a new method which uses type dispatch to handle various types of arguments... heh, edgar-rft mostly covered it :) 2020-12-17T01:30:53Z iarebatman: Oladon: I'll check it out, thank you 2020-12-17T01:31:06Z Oladon: iarebatman: Sure thing. Good luck! 2020-12-17T01:31:30Z moon-child: (defgeneric m+ (a b)) (defmethod m+ ((a string) (b string)) (concatenate 'string a b)) (defmethod m+ ((a fixnum) (b fixnum)) (+ a b)) 2020-12-17T01:31:31Z mrcom: minion: clhs 11.1.2.1.2 2020-12-17T01:31:32Z minion: you speak nonsense 2020-12-17T01:31:38Z jibanes quit (Ping timeout: 256 seconds) 2020-12-17T01:32:33Z edgar-rft: clhs 11.1.2.1.2 2020-12-17T01:32:34Z specbot: Constraints on the COMMON-LISP Package for Conforming Programs: http://www.lispworks.com/reference/HyperSpec/Body/11_abab.htm 2020-12-17T01:32:40Z Bike: some standard functions are generic, so they can be extended. like initialize-instance. arithmetic functions are not generic functions, though. 2020-12-17T01:33:57Z jibanes joined #lisp 2020-12-17T01:33:57Z hnOsmium0001 quit (Ping timeout: 260 seconds) 2020-12-17T01:33:58Z amerigo quit (Ping timeout: 260 seconds) 2020-12-17T01:36:11Z amerigo joined #lisp 2020-12-17T01:37:12Z hnOsmium0001 joined #lisp 2020-12-17T01:39:18Z defunkydrummer joined #lisp 2020-12-17T01:46:22Z jibanes quit (Ping timeout: 246 seconds) 2020-12-17T01:47:51Z rumbler31_ quit (Read error: Connection reset by peer) 2020-12-17T01:48:13Z phadthai: nij: example of shadowing: (defpackage "mycl" (:shadow #:+) (:use cl)) (in-package "mycl") (defun + (a b) (- a b)) (+ 2 1) -> 1 2020-12-17T01:48:32Z jibanes joined #lisp 2020-12-17T01:49:40Z Lord_of_Life_ joined #lisp 2020-12-17T01:49:41Z phadthai: err :use :cl 2020-12-17T01:51:05Z Lord_of_Life quit (Ping timeout: 240 seconds) 2020-12-17T01:51:05Z Lord_of_Life_ is now known as Lord_of_Life 2020-12-17T01:51:09Z phadthai: in this case not only does it break + by actually using -, it also only accepts two arguments unlike CL + 2020-12-17T01:51:16Z wooden quit (Ping timeout: 240 seconds) 2020-12-17T01:53:48Z phadthai: but cl:+ is always usable from within mycl too 2020-12-17T01:54:32Z defunkydrummer quit (Quit: Leaving) 2020-12-17T01:54:55Z kaftejiman quit (Remote host closed the connection) 2020-12-17T02:03:45Z stux|RC-only quit (Read error: Connection reset by peer) 2020-12-17T02:04:29Z gabiruh quit (Quit: ZNC 1.7.5 - https://znc.in) 2020-12-17T02:04:48Z Blukunfando joined #lisp 2020-12-17T02:04:49Z gabiruh joined #lisp 2020-12-17T02:05:30Z stux|RC-only joined #lisp 2020-12-17T02:22:20Z aeth: Once when I had to use a custom +, I didn't actually directly override CL:+... I had a macrolet (iirc, might've been something similar) local to a given function that selected which + it was using. It made it really easy to debug. 2020-12-17T02:26:37Z jibanes quit (Ping timeout: 246 seconds) 2020-12-17T02:27:00Z entre-parenteses quit (Quit: ERC (IRC client for Emacs 27.1)) 2020-12-17T02:28:18Z wxie quit (Ping timeout: 256 seconds) 2020-12-17T02:28:31Z jibanes joined #lisp 2020-12-17T02:30:39Z phadthai: yes that should work where there's no need to treat the operator as a function 2020-12-17T02:31:52Z wxie joined #lisp 2020-12-17T02:34:20Z bilegeek_ joined #lisp 2020-12-17T02:36:58Z bilegeek quit (Ping timeout: 260 seconds) 2020-12-17T02:41:10Z amerigo quit (Quit: Connection closed for inactivity) 2020-12-17T02:42:18Z charlie770 joined #lisp 2020-12-17T02:47:00Z charlie770 quit (Ping timeout: 256 seconds) 2020-12-17T02:49:34Z aeth: it might have been an FLET 2020-12-17T02:50:55Z aeth: declaring it inline will allow you to treat it like a function for higher order functions, while also optimizing the inefficient &rest away 2020-12-17T02:52:29Z wxie quit (Ping timeout: 265 seconds) 2020-12-17T02:53:28Z charlie770 joined #lisp 2020-12-17T02:53:43Z charlie770 quit (Client Quit) 2020-12-17T02:54:06Z renzhi joined #lisp 2020-12-17T02:55:33Z mister_m: Hi I am reading steve Losh's chip-8 tutorial and there is a macro they define that allows users to more easily define instructions outlined in this section: https://stevelosh.com/blog/2016/12/chip8-cpu/#s18-define-instruction, however it seems to be leaky in that it exposes a macro internal thru the macrolet definition of `register' 2020-12-17T02:56:08Z mister_m: I'm wondering if there's a way to employ that local register macro without it being "leaked" 2020-12-17T02:56:19Z no-defun-allowed: I think that leaking is intentional. 2020-12-17T02:56:52Z no-defun-allowed: Oh, for (register )? 2020-12-17T02:57:01Z mister_m: that's right, yes 2020-12-17T02:57:13Z no-defun-allowed: WITH-CHIP appears to also leak and bind REGISTERS without the user specifying it. 2020-12-17T02:57:33Z mister_m: yep, I'd say that is correct as well 2020-12-17T02:57:44Z no-defun-allowed: You could GENSYM a variable in place of REGISTERS, and have WITH-CHIP and REGISTERS use that. 2020-12-17T02:58:40Z aeth: or alexandria:with-gensyms 2020-12-17T02:58:54Z no-defun-allowed: Which does exactly that. 2020-12-17T02:58:58Z Oladon quit (Quit: Leaving.) 2020-12-17T02:58:58Z aeth: right, same thing, just less manual 2020-12-17T02:59:16Z miasuji joined #lisp 2020-12-17T02:59:40Z aeth: e.g. (alexandria:with-gensyms (register) `(,register)) => (#:REGISTER629) ; your number may vary 2020-12-17T02:59:51Z cosimone quit (Quit: cosimone) 2020-12-17T03:01:21Z mister_m: that does seem at least a bit better than having it just be exposed - would it be maybe also slightly better stylistically to modify the define-instruction macro lambda list to allow the user to explicitly provide the name they want to use? 2020-12-17T03:01:34Z aeth: yes 2020-12-17T03:01:41Z aeth: you can even do both 2020-12-17T03:01:48Z mister_m: definitely 2020-12-17T03:02:06Z mister_m: thanks for the suggestions 2020-12-17T03:02:09Z aeth: i.e. default value to gensym (or just wait until it's NIL and then GENSYM if you want to avoid creating a GENSYM that might not be used) 2020-12-17T03:09:22Z nij: edgar-rft, mrcom, moon-child, phadthai, and aeth thanks for your response. I was working and didn't see it until now. 2020-12-17T03:10:00Z thmprover joined #lisp 2020-12-17T03:10:11Z nij: Hmm.. I didn't know of shadow, and it does seem advanced. However, I really hope to redefine CL:+. Isn't there some dirty way to force the redefinition? 2020-12-17T03:11:16Z wxie joined #lisp 2020-12-17T03:12:51Z Bike: not standardly. 2020-12-17T03:12:55Z Alfr: nij, compilers may simply ignore your redefinition of cl:+ or may honor it, depending on the phase of the moon. 2020-12-17T03:13:14Z no-defun-allowed: For "prior art", in Netfarm I write (define-instruction ((:some-register variable-name ...) stack-arguments ...) (opcode-arguments ...) ...) 2020-12-17T03:13:24Z Bike: any such way would hit serious problems with built in and other earlier defined functions that use addition, and also compilers often handle arithmetic functions somewhat magically 2020-12-17T03:14:32Z no-defun-allowed: For example, uses all those; and I can compile all the bodies into one big dispatch loop with lexical variables for registers, as I never touch a structure directly. 2020-12-17T03:14:40Z Bike: for example sbcl has a "source transform" on + that will try to merge constants together, among other things 2020-12-17T03:15:44Z jibanes quit (Ping timeout: 256 seconds) 2020-12-17T03:16:06Z Bike: compilers may not put in an "actual" call to +, meaning that code that has (+ ...) forms won't actually be affected by your redefinition 2020-12-17T03:16:12Z Bike: thus resulting in weird inconsistencies 2020-12-17T03:16:25Z phadthai: yes and any compiled code using optimization declarations might end up generating inline direct math operations on variables or registers internally (in C for ECL, in ASM for SBCL, etc) 2020-12-17T03:16:57Z skapata quit (Ping timeout: 260 seconds) 2020-12-17T03:17:01Z nij: I see. Given all this.. I will just use m+. 2020-12-17T03:17:12Z EvW quit (Ping timeout: 260 seconds) 2020-12-17T03:17:14Z nij: Which is a little bad as I like pure symbols. 2020-12-17T03:17:42Z Bike: designing an interface that's both flexibly responsive to redefinitions, but also can be compiled efficiently, is rather difficult 2020-12-17T03:17:43Z jibanes joined #lisp 2020-12-17T03:17:53Z nij: That also means if I'm defining more abstract mathematical objects, I am required to use m+ too.. 2020-12-17T03:18:03Z lotuseater quit (Ping timeout: 272 seconds) 2020-12-17T03:18:23Z nij: e.g. on rational numbers, groups, fields.. etc. 2020-12-17T03:18:56Z Alfr: nij, shadow + or don't use c-l in your package. 2020-12-17T03:18:59Z nij: Or perhaps I should use unicode + to alias some other my-add. 2020-12-17T03:19:24Z nij: s/some other// 2020-12-17T03:19:25Z no-defun-allowed: SBCL normalises + to +, sadly. 2020-12-17T03:19:39Z no-defun-allowed: Or maybe fortunately, because that's evil. 2020-12-17T03:19:53Z aeth: looks different to me 2020-12-17T03:20:06Z no-defun-allowed: Try (+ 2 2) 2020-12-17T03:20:12Z aeth: definitely looks different 2020-12-17T03:20:16Z phadthai: shadowing allows you to have your custom ops package that can be "use"d by other packages resulting in what you want, but you'd have to make sure in those to always use explicit cl:+ when needing CL's 2020-12-17T03:20:17Z euandreh quit (Remote host closed the connection) 2020-12-17T03:20:20Z aeth: extra space 2020-12-17T03:20:31Z nij: 🞥 2020-12-17T03:20:37Z aeth: Anyway... cl:+ is probably one of the most optimized parts of a compiler, and even SBCL's + doesn't optimize nearly as much as it could based on some optimizations in e.g. Java or C 2020-12-17T03:20:46Z phadthai: I've seen some examples using words for operators also, another option 2020-12-17T03:20:48Z nij: aeth: lol 2020-12-17T03:21:07Z no-defun-allowed: (PLUS '2 '2) would be the old fashioned way. 2020-12-17T03:21:21Z aeth: if you let redefinition happen, you remove some optimizations 2020-12-17T03:22:09Z nij: I almost give up.. perhaps the right way to implement a CAS is really to use usual notation: "1+1" instead of (+ 1 1). 2020-12-17T03:22:33Z nij: And therefore I need a DSL. But this has been done already. 2020-12-17T03:22:47Z nij: I was hoping to do that in lisp. 2020-12-17T03:23:10Z nij: TT 2020-12-17T03:24:03Z no-defun-allowed: Yes and no, your input syntax may not be Lisp, but you can still continue to use Lisp structures. 2020-12-17T03:24:34Z no-defun-allowed: The example on https://www.irif.fr/~jch/software/cl-yacc/cl-yacc.html does exactly that, parsing an infix string to Lisp. 2020-12-17T03:25:21Z Jesin joined #lisp 2020-12-17T03:25:39Z Alfr: nij, I don't see why you want to redefine cl:+. Or what is wrong with your-cas:+ ? 2020-12-17T03:26:36Z Alfr: nij, every package using that your-cas package would be able to access that your-cas:+ simply using + . 2020-12-17T03:27:03Z no-defun-allowed: I mean, your user probably wants to write something like "a * b + a * c = a * (b + c)". 2020-12-17T03:27:37Z nij: no-defun-allowed: not sure if I will be the only user ;) 2020-12-17T03:27:45Z nij: If I am, I'm happy to write in lisp. 2020-12-17T03:27:50Z no-defun-allowed: And that would define a rewrite rule for (+ (* ?a ?b) (* ?a ?c)) <=> (* ?a (+ ?b ?c)), supposing that is the representation you want. 2020-12-17T03:28:34Z nij: I'm not sure if I want to refine that rewrite rule.. 2020-12-17T03:28:49Z nij: say a and b are rational numbers c/d and e/f 2020-12-17T03:29:16Z nij: (+ a b) will evaluate to (cf+de)/df directly 2020-12-17T03:29:16Z jibanes quit (Ping timeout: 240 seconds) 2020-12-17T03:29:39Z nij: I will look at CL-Yacc tomorrow. Seems legit. My brain has been drained. 2020-12-17T03:29:49Z skapata joined #lisp 2020-12-17T03:29:51Z no-defun-allowed: You have to decide which rules, if any, would give you the ideal representation for the human reader. 2020-12-17T03:30:06Z no-defun-allowed: I recall Sussman also had a paper on that, but I forgot it. 2020-12-17T03:30:17Z nij: Lisp's is of course better.. 2020-12-17T03:30:45Z nij: when you have a*b*c*d*e + f*e*f*g*s*dl*sa*qw*dsf*d + ... 2020-12-17T03:31:01Z nij: It's much clearner to see (+ (* a b c d e) \n .. 2020-12-17T03:31:19Z jibanes joined #lisp 2020-12-17T03:31:21Z nij: The parentheses help a lot for us to focus. 2020-12-17T03:31:56Z nij: you can write (a*b*c*d*e) too, but you have to spend time checking if all operators are * 2020-12-17T03:32:08Z no-defun-allowed: Here you are, "Algebraic simplification: A guide for the complexed" https://groups.csail.mit.edu/mac/users/gjs/6.945/readings/simplification/moses-simp.pdf 2020-12-17T03:32:58Z Alfr: nij, also if you want to recycle cl:+ for cl's numbers, you could make your + a generic function which then dispatches for arguments of class number to cl:+ . 2020-12-17T03:33:06Z Jeanne-Kamikaze joined #lisp 2020-12-17T03:33:12Z no-defun-allowed: That wasn't Sussman, but there's GJS in the URL so I wasn't entirely wrong. 2020-12-17T03:33:29Z rwcom60280385034 joined #lisp 2020-12-17T03:34:37Z nij: So can I stay in cl, but only disable cl:+? 2020-12-17T03:34:57Z nij: and then implement my:+, which is called by +? 2020-12-17T03:35:28Z aeth: nij: infix in CL reminds me of https://gitlab.com/mbabich/lisp-hello-world/-/blob/c45deaab9918285d3de43c52340100fef6591d15/main.lisp 2020-12-17T03:35:30Z thmprover: nij, you might want to look up Fateman's paper "Building a CAS by overloading Lisp" (or something like that), he talks about shadowing cl:+ 2020-12-17T03:35:54Z thmprover: There's code too, on Fateman's website, for the generic arithmetic hack. 2020-12-17T03:35:55Z Alfr: nij, sure. That's what packages are good for. :) 2020-12-17T03:36:53Z thmprover: https://people.eecs.berkeley.edu/~fateman/generic/overload-small.pdf 2020-12-17T03:39:14Z phadthai: in case this could help to better understand packages and symbols (I don't recommend to use it for the security of "safe" as it's just a test/demo): http://git.pulsar-zone.net/?p=mmondor.git;a=blob;f=mmsoftware/cl/test/safe-eval.lisp;hb=HEAD 2020-12-17T03:39:51Z phadthai: this mimics CL/CL-USER 2020-12-17T03:42:47Z nij: Oh folks.... thank you so much T_T 2020-12-17T03:42:53Z nij: I almost cried. 2020-12-17T03:43:01Z nij: Will take a look tomorrow. 2020-12-17T03:43:08Z thmprover: Fateman's code is a bit buggy 2020-12-17T03:43:09Z nij 's brain is shutting off. 2020-12-17T03:43:26Z thmprover: I patched it up, but never uploaded it anywhere, lemme know if you're curious 2020-12-17T03:46:46Z nij: Alfr: by how? Is that what shadowing does? 2020-12-17T03:50:44Z aartaka joined #lisp 2020-12-17T04:02:29Z Alfr_ joined #lisp 2020-12-17T04:04:18Z beach: Good morning everyone! 2020-12-17T04:04:19Z thmprover: nij: you might want to read "Building Problem Solvers", one of the early chapters implements a pattern-matching algorithm, which can be used for simplifying algebraic expressions. 2020-12-17T04:04:25Z thmprover: Good morning, beach! 2020-12-17T04:04:32Z Alfr_: nij, you'll likely use defpackage's :shadow to make yours. http://www.lispworks.com/documentation/HyperSpec/Body/m_defpkg.htm 2020-12-17T04:04:38Z Alfr_: Hi beach. 2020-12-17T04:05:36Z Alfr quit (Ping timeout: 268 seconds) 2020-12-17T04:05:51Z Alfr_: nij, there's also shadow if you want to make one later: http://www.lispworks.com/documentation/HyperSpec/Body/f_shadow.htm 2020-12-17T04:06:06Z Oladon joined #lisp 2020-12-17T04:10:17Z orivej_ joined #lisp 2020-12-17T04:11:09Z orivej quit (Ping timeout: 268 seconds) 2020-12-17T04:11:15Z ex_nihilo joined #lisp 2020-12-17T04:13:30Z Stanley00 joined #lisp 2020-12-17T04:15:37Z jibanes quit (Ping timeout: 265 seconds) 2020-12-17T04:15:54Z rwcom60280385034 quit (Quit: Ping timeout (120 seconds)) 2020-12-17T04:16:30Z rwcom60280385034 joined #lisp 2020-12-17T04:17:20Z jibanes joined #lisp 2020-12-17T04:17:21Z AndroUser joined #lisp 2020-12-17T04:18:17Z AndroUser quit (Quit: AndroIRC - Android IRC Client ( http://www.androirc.com )) 2020-12-17T04:24:01Z Bike quit (Quit: Lost terminal) 2020-12-17T04:24:37Z miasuji quit (Ping timeout: 260 seconds) 2020-12-17T04:30:22Z jibanes quit (Ping timeout: 272 seconds) 2020-12-17T04:31:57Z jibanes joined #lisp 2020-12-17T04:36:35Z MrFantastik is now known as cactus 2020-12-17T04:37:36Z g0d_shatter joined #lisp 2020-12-17T04:40:16Z jibanes quit (Ping timeout: 240 seconds) 2020-12-17T04:42:20Z jibanes joined #lisp 2020-12-17T04:47:03Z bilegeek_ quit (Quit: Leaving) 2020-12-17T04:49:04Z pagnol joined #lisp 2020-12-17T04:49:24Z jibanes quit (Ping timeout: 256 seconds) 2020-12-17T04:49:55Z kam1 joined #lisp 2020-12-17T04:50:51Z jibanes joined #lisp 2020-12-17T04:51:52Z narimiran joined #lisp 2020-12-17T04:53:50Z madage quit (Quit: leaving) 2020-12-17T04:53:56Z orivej_ quit (Ping timeout: 256 seconds) 2020-12-17T04:54:36Z kam1 quit (Read error: Connection reset by peer) 2020-12-17T04:55:48Z wxie quit (Ping timeout: 260 seconds) 2020-12-17T04:58:07Z renzhi quit (Ping timeout: 272 seconds) 2020-12-17T04:58:53Z saganman joined #lisp 2020-12-17T04:59:04Z mbomba joined #lisp 2020-12-17T05:02:11Z madage joined #lisp 2020-12-17T05:02:48Z jibanes quit (Ping timeout: 260 seconds) 2020-12-17T05:04:14Z terpri quit (Remote host closed the connection) 2020-12-17T05:04:21Z jibanes joined #lisp 2020-12-17T05:08:50Z kam1 joined #lisp 2020-12-17T05:11:08Z terpri joined #lisp 2020-12-17T05:11:27Z akoana left #lisp 2020-12-17T05:12:58Z kam1 quit (Read error: Connection reset by peer) 2020-12-17T05:14:03Z jibanes quit (Ping timeout: 268 seconds) 2020-12-17T05:14:55Z wxie joined #lisp 2020-12-17T05:15:46Z jibanes joined #lisp 2020-12-17T05:20:21Z kam1 joined #lisp 2020-12-17T05:21:15Z kam1 quit (Read error: Connection reset by peer) 2020-12-17T05:21:29Z dbotton joined #lisp 2020-12-17T05:23:20Z Oladon quit (Quit: Leaving.) 2020-12-17T05:24:56Z pyx joined #lisp 2020-12-17T05:25:05Z pyx quit (Client Quit) 2020-12-17T05:25:27Z waleee-cl quit (Quit: Connection closed for inactivity) 2020-12-17T05:26:03Z kam1 joined #lisp 2020-12-17T05:26:07Z kam1 quit (Read error: Connection reset by peer) 2020-12-17T05:27:18Z rwcom60280385034 quit (Quit: Ping timeout (120 seconds)) 2020-12-17T05:27:32Z thmprover quit (Quit: Another long day's journey into night.) 2020-12-17T05:27:52Z rwcom60280385034 joined #lisp 2020-12-17T05:27:53Z dbotton quit (Quit: This computer has gone to sleep) 2020-12-17T05:32:01Z jibanes quit (Ping timeout: 264 seconds) 2020-12-17T05:33:27Z jibanes joined #lisp 2020-12-17T05:41:22Z Jeanne-Kamikaze quit (Ping timeout: 256 seconds) 2020-12-17T05:48:13Z jibanes quit (Ping timeout: 264 seconds) 2020-12-17T05:48:21Z kam1 joined #lisp 2020-12-17T05:48:29Z kam1 quit (Read error: Connection reset by peer) 2020-12-17T05:50:06Z jibanes joined #lisp 2020-12-17T05:57:18Z entre-parenteses joined #lisp 2020-12-17T06:00:26Z fixing_auth_hold joined #lisp 2020-12-17T06:02:35Z skapata quit (Remote host closed the connection) 2020-12-17T06:03:27Z fixing_auth_hold quit (Client Quit) 2020-12-17T06:04:20Z ldbeth joined #lisp 2020-12-17T06:04:22Z lalilulelo quit (Ping timeout: 260 seconds) 2020-12-17T06:04:51Z pagnol quit (Ping timeout: 265 seconds) 2020-12-17T06:05:01Z ldbeth: good afternoon 2020-12-17T06:05:10Z aindilis quit (Ping timeout: 256 seconds) 2020-12-17T06:05:43Z no-defun-allowed: Hello ldbeth. 2020-12-17T06:08:25Z edgar-rft: "after" is what a german doctor calls your anus :-) 2020-12-17T06:11:30Z ldbeth quit (Read error: Connection reset by peer) 2020-12-17T06:11:47Z fe[nl]ix: edgar-rft: that wasn't funny 2020-12-17T06:11:51Z ldbeth joined #lisp 2020-12-17T06:13:02Z no-defun-allowed: I didn't know I wanted to hear that, and I still don't know if I wanted to hear that. 2020-12-17T06:13:35Z bilegeek joined #lisp 2020-12-17T06:16:20Z jibanes quit (Ping timeout: 268 seconds) 2020-12-17T06:17:51Z jibanes joined #lisp 2020-12-17T06:19:12Z pagnol joined #lisp 2020-12-17T06:22:35Z kam1 joined #lisp 2020-12-17T06:24:21Z jibanes quit (Ping timeout: 268 seconds) 2020-12-17T06:24:48Z jibanes joined #lisp 2020-12-17T06:30:29Z frost-lab joined #lisp 2020-12-17T06:43:37Z fanta1 joined #lisp 2020-12-17T06:45:47Z ex_nihilo quit (Ping timeout: 260 seconds) 2020-12-17T06:50:39Z quazimodo joined #lisp 2020-12-17T06:52:37Z andreyorst joined #lisp 2020-12-17T07:03:43Z andreyorst` joined #lisp 2020-12-17T07:06:16Z treflip joined #lisp 2020-12-17T07:06:36Z andreyorst quit (Ping timeout: 240 seconds) 2020-12-17T07:11:03Z bilegeek quit (Quit: Leaving) 2020-12-17T07:13:16Z ldbeth quit (Ping timeout: 246 seconds) 2020-12-17T07:16:04Z cantstanya quit (Ping timeout: 240 seconds) 2020-12-17T07:16:04Z hendursaga quit (Ping timeout: 240 seconds) 2020-12-17T07:16:23Z madage quit (Ping timeout: 240 seconds) 2020-12-17T07:16:23Z gxt quit (Ping timeout: 240 seconds) 2020-12-17T07:16:47Z madage joined #lisp 2020-12-17T07:17:36Z gaqwas joined #lisp 2020-12-17T07:17:37Z gaqwas quit (Changing host) 2020-12-17T07:17:37Z gaqwas joined #lisp 2020-12-17T07:17:37Z gxt joined #lisp 2020-12-17T07:17:41Z hendursaga joined #lisp 2020-12-17T07:18:25Z cantstanya joined #lisp 2020-12-17T07:20:46Z g0d_shatter quit (Quit: Leaving) 2020-12-17T07:22:13Z andreyorst joined #lisp 2020-12-17T07:24:49Z jibanes quit (Ping timeout: 264 seconds) 2020-12-17T07:27:42Z lotuseater joined #lisp 2020-12-17T07:29:33Z susam joined #lisp 2020-12-17T07:31:51Z jibanes joined #lisp 2020-12-17T07:36:03Z madage quit (Ping timeout: 240 seconds) 2020-12-17T07:36:23Z cantstanya quit (Ping timeout: 240 seconds) 2020-12-17T07:36:32Z andreyorst quit (Ping timeout: 260 seconds) 2020-12-17T07:37:02Z madage joined #lisp 2020-12-17T07:38:45Z pagnol quit (Ping timeout: 240 seconds) 2020-12-17T07:39:02Z cantstanya joined #lisp 2020-12-17T07:39:48Z pankajsg quit (Ping timeout: 256 seconds) 2020-12-17T07:41:03Z zacts joined #lisp 2020-12-17T07:41:47Z entre-parenteses quit (Ping timeout: 260 seconds) 2020-12-17T07:43:05Z random-nick joined #lisp 2020-12-17T07:49:08Z zacts: hello 2020-12-17T07:49:24Z beach: Hello zacts. 2020-12-17T07:49:36Z jibanes quit (Ping timeout: 256 seconds) 2020-12-17T07:50:25Z zacts: I'm working thru this practical common lisp 2020-12-17T07:51:40Z jibanes joined #lisp 2020-12-17T07:51:54Z beach: Good. 2020-12-17T07:57:01Z jibanes quit (Ping timeout: 246 seconds) 2020-12-17T07:58:05Z jibanes joined #lisp 2020-12-17T07:58:22Z rogersm joined #lisp 2020-12-17T07:59:14Z aartaka_d joined #lisp 2020-12-17T08:02:16Z aartaka quit (Ping timeout: 240 seconds) 2020-12-17T08:03:40Z pankajsg joined #lisp 2020-12-17T08:05:29Z flip214 quit (Ping timeout: 268 seconds) 2020-12-17T08:06:18Z shka_ joined #lisp 2020-12-17T08:09:00Z pve joined #lisp 2020-12-17T08:10:46Z pankajsg quit (Ping timeout: 272 seconds) 2020-12-17T08:12:26Z atomik joined #lisp 2020-12-17T08:14:09Z jibanes quit (Ping timeout: 260 seconds) 2020-12-17T08:15:58Z atomik_dog quit (Ping timeout: 268 seconds) 2020-12-17T08:16:59Z galex-713_ quit (Ping timeout: 272 seconds) 2020-12-17T08:17:12Z galex-713 joined #lisp 2020-12-17T08:21:08Z jibanes joined #lisp 2020-12-17T08:24:45Z heisig joined #lisp 2020-12-17T08:26:27Z rgherdt joined #lisp 2020-12-17T08:30:58Z jibanes quit (Ping timeout: 256 seconds) 2020-12-17T08:31:48Z villanella joined #lisp 2020-12-17T08:32:36Z jibanes joined #lisp 2020-12-17T08:33:21Z nostoi joined #lisp 2020-12-17T08:37:33Z jprajzne joined #lisp 2020-12-17T08:41:59Z zacts quit (Quit: leaving) 2020-12-17T08:48:28Z pankajsg joined #lisp 2020-12-17T08:51:38Z flip214 joined #lisp 2020-12-17T08:55:01Z liberliver joined #lisp 2020-12-17T09:00:26Z Ekho quit (Quit: CORE ERROR, SYSTEM HALTED.) 2020-12-17T09:06:56Z hendursa1 joined #lisp 2020-12-17T09:09:03Z hendursaga quit (Ping timeout: 240 seconds) 2020-12-17T09:14:18Z Ekho joined #lisp 2020-12-17T09:20:06Z villanella quit (Ping timeout: 268 seconds) 2020-12-17T09:26:12Z Cymew joined #lisp 2020-12-17T09:27:41Z edgar-rft: fe[nl]ix: that's a fact, it wasn't intended to be funny 2020-12-17T09:28:57Z orivej joined #lisp 2020-12-17T09:37:29Z amerigo joined #lisp 2020-12-17T09:37:56Z gigetoo quit (Ping timeout: 240 seconds) 2020-12-17T09:38:28Z gigetoo joined #lisp 2020-12-17T09:39:15Z hnOsmium0001 quit (Quit: Connection closed for inactivity) 2020-12-17T09:41:26Z galex-713 quit (Ping timeout: 264 seconds) 2020-12-17T09:42:35Z mbomba quit (Quit: WeeChat 3.0) 2020-12-17T09:48:02Z Alfr_ quit (Remote host closed the connection) 2020-12-17T09:48:28Z Alfr_ joined #lisp 2020-12-17T09:49:39Z galex-713 joined #lisp 2020-12-17T09:50:25Z scymtym quit (Ping timeout: 240 seconds) 2020-12-17T09:55:33Z Alfr_ quit (Remote host closed the connection) 2020-12-17T09:56:03Z Alfr_ joined #lisp 2020-12-17T09:58:53Z Alfr_ quit (Remote host closed the connection) 2020-12-17T09:58:57Z zacts joined #lisp 2020-12-17T10:01:14Z scymtym joined #lisp 2020-12-17T10:05:07Z wxie quit (Ping timeout: 268 seconds) 2020-12-17T10:05:43Z treflip quit (Quit: WeeChat 2.6) 2020-12-17T10:10:13Z Alfr joined #lisp 2020-12-17T10:15:30Z waleee-cl joined #lisp 2020-12-17T10:17:15Z kevingal joined #lisp 2020-12-17T10:22:41Z kevingal quit (Quit: Leaving) 2020-12-17T10:22:58Z kevingal joined #lisp 2020-12-17T10:26:36Z imode quit (Quit: Batsharks are people too!) 2020-12-17T10:30:03Z gxt quit (Ping timeout: 240 seconds) 2020-12-17T10:38:13Z ldbeth joined #lisp 2020-12-17T10:59:43Z surabax joined #lisp 2020-12-17T11:05:01Z jibanes quit (Ping timeout: 264 seconds) 2020-12-17T11:05:21Z ljavorsk joined #lisp 2020-12-17T11:05:32Z ldbeth` joined #lisp 2020-12-17T11:06:26Z jibanes joined #lisp 2020-12-17T11:06:56Z ldbeth quit (Ping timeout: 240 seconds) 2020-12-17T11:09:29Z zacts quit (Quit: leaving) 2020-12-17T11:18:12Z dhil joined #lisp 2020-12-17T11:25:28Z ldbeth` quit (Ping timeout: 260 seconds) 2020-12-17T11:26:41Z skapata joined #lisp 2020-12-17T11:28:59Z matryoshka quit (Ping timeout: 268 seconds) 2020-12-17T11:30:13Z ljavorsk quit (Ping timeout: 268 seconds) 2020-12-17T11:30:24Z lotuseater quit (Remote host closed the connection) 2020-12-17T11:33:50Z X-Scale` joined #lisp 2020-12-17T11:34:43Z X-Scale quit (Ping timeout: 246 seconds) 2020-12-17T11:34:44Z X-Scale` is now known as X-Scale 2020-12-17T11:37:15Z lotuseater joined #lisp 2020-12-17T11:41:17Z ldbeth` joined #lisp 2020-12-17T11:45:44Z ldbeth` quit (Ping timeout: 256 seconds) 2020-12-17T11:48:01Z vegansbane6 quit (Quit: The Lounge - https://thelounge.chat) 2020-12-17T11:56:49Z ldbeth` joined #lisp 2020-12-17T11:57:52Z Stanley00 quit (Remote host closed the connection) 2020-12-17T11:59:45Z eden joined #lisp 2020-12-17T12:00:03Z nostoi quit (Quit: Verlassend) 2020-12-17T12:01:19Z ldbeth` quit (Ping timeout: 246 seconds) 2020-12-17T12:01:20Z kenran joined #lisp 2020-12-17T12:01:54Z oxum_ joined #lisp 2020-12-17T12:03:58Z oxum quit (Ping timeout: 265 seconds) 2020-12-17T12:05:11Z oxum joined #lisp 2020-12-17T12:07:16Z oxum_ quit (Ping timeout: 246 seconds) 2020-12-17T12:07:36Z kenran: What should I be searching for when I wish to do something like: 1) acquire a resource 2) do something with it, but when this fails 3) release the resource? I'm thinking of something like Haskell's bracket or may try/catch/finally in some other languages. 2020-12-17T12:08:10Z jackdaniel: kenran: unwind-protect 2020-12-17T12:08:40Z jackdaniel: if you want to release it after the block, regardless of whether there was a an error or not 2020-12-17T12:09:02Z jackdaniel: i.e (let ((foo (acquire))) (unwind-protect (my-function foo) (release foo))) 2020-12-17T12:09:10Z ldbeth` joined #lisp 2020-12-17T12:09:43Z villanella joined #lisp 2020-12-17T12:11:00Z kenran: jackdaniel: thanks, exactly what I was looking for! 2020-12-17T12:11:35Z jackdaniel: if you want to perform some operation /only when an error happens/ you should use handler-case or handler-bind with the clause serious-condition 2020-12-17T12:11:56Z jackdaniel: s/when an error/when something serious happens/ 2020-12-17T12:12:26Z jackdaniel: i.e a timeout is not an error (at least in most implementations), neither is the storage-condition 2020-12-17T12:12:50Z jackdaniel: but both are serious-condition 's 2020-12-17T12:13:40Z ldbeth` quit (Ping timeout: 256 seconds) 2020-12-17T12:14:09Z kenran: cool, good to know! 2020-12-17T12:14:21Z vegansbane6 joined #lisp 2020-12-17T12:15:41Z Cthulhux quit (Changing host) 2020-12-17T12:15:41Z Cthulhux joined #lisp 2020-12-17T12:18:03Z kaftejiman joined #lisp 2020-12-17T12:19:08Z ldbeth` joined #lisp 2020-12-17T12:23:56Z ldbeth` quit (Ping timeout: 240 seconds) 2020-12-17T12:29:22Z ldbeth` joined #lisp 2020-12-17T12:30:42Z FreeBirdLjj joined #lisp 2020-12-17T12:31:23Z Nilby joined #lisp 2020-12-17T12:34:21Z ldbeth` quit (Ping timeout: 268 seconds) 2020-12-17T12:34:39Z nij quit (Remote host closed the connection) 2020-12-17T12:34:57Z nij joined #lisp 2020-12-17T12:35:23Z FreeBirdLjj quit (Ping timeout: 265 seconds) 2020-12-17T12:36:59Z nij quit (Client Quit) 2020-12-17T12:39:45Z ldbeth` joined #lisp 2020-12-17T12:44:22Z flazh quit (Ping timeout: 272 seconds) 2020-12-17T12:44:37Z ldbeth` quit (Ping timeout: 264 seconds) 2020-12-17T12:47:00Z treflip joined #lisp 2020-12-17T12:49:33Z ldbeth` joined #lisp 2020-12-17T12:54:08Z ldbeth` quit (Ping timeout: 260 seconds) 2020-12-17T12:58:41Z heisig quit (Quit: Leaving) 2020-12-17T12:59:39Z ldbeth` joined #lisp 2020-12-17T13:01:18Z treflip quit (Quit: WeeChat 2.6) 2020-12-17T13:04:52Z ldbeth` quit (Ping timeout: 265 seconds) 2020-12-17T13:05:14Z amerigo quit (Quit: Connection closed for inactivity) 2020-12-17T13:09:46Z ldbeth` joined #lisp 2020-12-17T13:15:02Z ldbeth` quit (Ping timeout: 264 seconds) 2020-12-17T13:16:57Z dddddd quit (Quit: dddddd) 2020-12-17T13:17:13Z dddddd joined #lisp 2020-12-17T13:17:29Z EvW joined #lisp 2020-12-17T13:19:58Z ldbeth` joined #lisp 2020-12-17T13:21:45Z frost-lab quit (Quit: Connection closed) 2020-12-17T13:25:32Z ldbeth` quit (Ping timeout: 268 seconds) 2020-12-17T13:30:04Z ldbeth` joined #lisp 2020-12-17T13:30:32Z gaqwas quit (Remote host closed the connection) 2020-12-17T13:32:39Z ex_nihilo joined #lisp 2020-12-17T13:33:13Z ldbeth` quit (Client Quit) 2020-12-17T13:35:58Z aartaka_d quit (Read error: Connection reset by peer) 2020-12-17T13:36:04Z aartaka joined #lisp 2020-12-17T13:38:12Z Bike joined #lisp 2020-12-17T13:38:31Z dbotton joined #lisp 2020-12-17T13:42:11Z dbotton quit (Client Quit) 2020-12-17T13:45:03Z galex-713 quit (Ping timeout: 272 seconds) 2020-12-17T13:45:19Z fanta1 quit (Quit: fanta1) 2020-12-17T13:47:13Z fanta1 joined #lisp 2020-12-17T13:52:40Z EvW quit (Ping timeout: 268 seconds) 2020-12-17T13:56:27Z pfdietz joined #lisp 2020-12-17T13:57:57Z EvW joined #lisp 2020-12-17T13:58:33Z Stanley00 joined #lisp 2020-12-17T14:03:47Z ggole joined #lisp 2020-12-17T14:03:49Z Stanley00 quit (Ping timeout: 264 seconds) 2020-12-17T14:05:13Z gaqwas joined #lisp 2020-12-17T14:05:18Z jibanes quit (Ping timeout: 260 seconds) 2020-12-17T14:07:03Z jibanes joined #lisp 2020-12-17T14:07:45Z wsinatra joined #lisp 2020-12-17T14:08:24Z villanella quit (Quit: villanella) 2020-12-17T14:10:43Z eden quit (Ping timeout: 240 seconds) 2020-12-17T14:12:17Z jibanes quit (Ping timeout: 272 seconds) 2020-12-17T14:13:05Z jibanes joined #lisp 2020-12-17T14:13:17Z eden joined #lisp 2020-12-17T14:21:02Z jibanes quit (Ping timeout: 268 seconds) 2020-12-17T14:21:02Z orivej quit (Ping timeout: 268 seconds) 2020-12-17T14:22:36Z jibanes joined #lisp 2020-12-17T14:24:14Z hendursa1 quit (Quit: hendursa1) 2020-12-17T14:24:33Z hendursaga joined #lisp 2020-12-17T14:25:42Z Colleen quit (Remote host closed the connection) 2020-12-17T14:26:30Z Colleen joined #lisp 2020-12-17T14:36:38Z EvW quit (Ping timeout: 264 seconds) 2020-12-17T14:38:00Z jibanes quit (Ping timeout: 256 seconds) 2020-12-17T14:39:46Z cosimone joined #lisp 2020-12-17T14:39:58Z jibanes joined #lisp 2020-12-17T14:45:56Z jibanes quit (Ping timeout: 240 seconds) 2020-12-17T14:47:26Z jibanes joined #lisp 2020-12-17T14:55:05Z luckless joined #lisp 2020-12-17T14:57:32Z matryoshka joined #lisp 2020-12-17T15:00:30Z Nilby quit (Read error: Connection reset by peer) 2020-12-17T15:00:45Z jibanes quit (Ping timeout: 240 seconds) 2020-12-17T15:01:07Z notzmv` joined #lisp 2020-12-17T15:01:24Z kenran: I've been trying to use SLY (it came with doom emacs' common-lisp module, but I'm open to switching to SLIME if that's easier) to load a nearly-empty ASDF project. For that, I added the package sly-asdf and tried doing sly-compile-and-load-file. It complains about COMMON-LISP-USER::DEFSYSTEM being an undefined function. I've enabled the sly-asdf contrib. What else should I look into? 2020-12-17T15:02:11Z notzmv quit (Read error: Connection reset by peer) 2020-12-17T15:08:42Z kenran: Ahhh nevermind, I found it: quickproject created an .asd file that called (defsystem) and not (asdf:defsystem ...). Qualifying the call made sly-compile-and-load-system work again. 2020-12-17T15:13:26Z lansiir joined #lisp 2020-12-17T15:14:01Z oldtopman quit (Ping timeout: 264 seconds) 2020-12-17T15:19:59Z jibanes joined #lisp 2020-12-17T15:22:30Z ex_nihilo quit (Quit: Leaving) 2020-12-17T15:25:38Z entre-parenteses joined #lisp 2020-12-17T15:26:34Z Bike: i don't think you're supposed to compile and load ASD files like they're lisp files, which it sounds like you're doing 2020-12-17T15:27:26Z sjl joined #lisp 2020-12-17T15:28:37Z jurov_ joined #lisp 2020-12-17T15:29:26Z pfdietz: I'm assuming asdf loads them with *package* bound to the asdf package. 2020-12-17T15:29:28Z jackdaniel: asdf loads asd files anyway 2020-12-17T15:29:56Z jackdaniel usually puts (in-package #:asdf-user) at the top of the asd file, although it is not encouraged by the asdf manual 2020-12-17T15:30:25Z jurov quit (Ping timeout: 240 seconds) 2020-12-17T15:30:48Z jackdaniel: you still need to define and put in-package if you extend the asdf (i.e to define new file types) 2020-12-17T15:36:40Z cosimone quit (Remote host closed the connection) 2020-12-17T15:36:59Z cosimone joined #lisp 2020-12-17T15:39:15Z pfdietz: Ah: asdf loads asd files in a temporary package that :uses the asdf package (and cl). 2020-12-17T15:40:11Z Steeve joined #lisp 2020-12-17T15:45:45Z aartaka_d joined #lisp 2020-12-17T15:46:10Z Jesin quit (Ping timeout: 256 seconds) 2020-12-17T15:48:44Z cosimone quit (Quit: cosimone) 2020-12-17T15:48:57Z iskander joined #lisp 2020-12-17T15:49:13Z aartaka quit (Ping timeout: 268 seconds) 2020-12-17T15:49:16Z cosimone joined #lisp 2020-12-17T15:49:22Z aartaka joined #lisp 2020-12-17T15:50:08Z iskander- quit (Ping timeout: 256 seconds) 2020-12-17T15:51:02Z flazh joined #lisp 2020-12-17T15:52:11Z kaftejiman quit (Remote host closed the connection) 2020-12-17T15:52:16Z aartaka_d quit (Ping timeout: 240 seconds) 2020-12-17T15:55:58Z defunkydrummer joined #lisp 2020-12-17T15:56:16Z jibanes quit (Ping timeout: 272 seconds) 2020-12-17T15:57:56Z jibanes joined #lisp 2020-12-17T15:59:57Z Stanley00 joined #lisp 2020-12-17T16:03:16Z andreyorst` quit (Quit: andreyorst`) 2020-12-17T16:04:00Z andreyorst joined #lisp 2020-12-17T16:04:22Z Fare joined #lisp 2020-12-17T16:05:01Z Stanley00 quit (Ping timeout: 272 seconds) 2020-12-17T16:11:01Z jibanes quit (Ping timeout: 264 seconds) 2020-12-17T16:11:07Z cosimone_ joined #lisp 2020-12-17T16:11:25Z iskander quit (Ping timeout: 268 seconds) 2020-12-17T16:12:19Z makomo joined #lisp 2020-12-17T16:12:28Z jibanes joined #lisp 2020-12-17T16:12:39Z makomo: hello \o 2020-12-17T16:13:49Z cosimone quit (Read error: Connection reset by peer) 2020-12-17T16:13:49Z cosimone_ is now known as cosimone 2020-12-17T16:17:13Z orivej joined #lisp 2020-12-17T16:22:46Z andreyorst quit (Ping timeout: 256 seconds) 2020-12-17T16:23:10Z eden quit (Remote host closed the connection) 2020-12-17T16:23:16Z phireh joined #lisp 2020-12-17T16:23:41Z eden joined #lisp 2020-12-17T16:24:40Z andreyorst joined #lisp 2020-12-17T16:25:52Z eden quit (Remote host closed the connection) 2020-12-17T16:26:19Z eden joined #lisp 2020-12-17T16:27:57Z dmiles quit (Ping timeout: 260 seconds) 2020-12-17T16:29:49Z dmiles joined #lisp 2020-12-17T16:32:53Z wsinatra quit (Ping timeout: 272 seconds) 2020-12-17T16:34:24Z wsinatra joined #lisp 2020-12-17T16:38:19Z natter joined #lisp 2020-12-17T16:38:40Z eden quit (Quit: Leaving) 2020-12-17T16:41:24Z jibanes quit (Ping timeout: 265 seconds) 2020-12-17T16:43:13Z jibanes joined #lisp 2020-12-17T16:43:54Z beach: Hello makomo. 2020-12-17T16:44:04Z lotuseater: hi makomo 2020-12-17T16:44:16Z galex-713 joined #lisp 2020-12-17T16:45:28Z makomo: hi beach :) 2020-12-17T16:45:38Z makomo: hi lotuseater :D 2020-12-17T16:47:34Z Oladon joined #lisp 2020-12-17T16:48:27Z iskander joined #lisp 2020-12-17T16:50:12Z beach: makomo: Where have you been hiding all this time? 2020-12-17T16:50:40Z beach: Actually, you haven't been here much at all this year. 2020-12-17T16:51:05Z makomo: very good question :') 2020-12-17T16:51:37Z beach: No need to answer if it's too personal. 2020-12-17T16:51:56Z makomo: hehe, that's not it, don't worry. but thanks :) 2020-12-17T16:52:57Z makomo: but i'm not too sure myself LOL. i guess i was finishing up my msc and now i've successfully graduated not too long ago :). also, sometimes i just forget to start my irc client and then quickly forget irc even exists o_O 2020-12-17T16:53:18Z makomo: i gotta start being more regular again for sure :D 2020-12-17T16:53:30Z beach: Congratulations to graduating. 2020-12-17T16:53:51Z makomo: thank you :D 2020-12-17T16:53:59Z beach: Maybe now you have a lot of free time that we can take advantage of? :) 2020-12-17T16:55:24Z makomo: HAHA, i like that thinking :) :). i've actually started a phd now as well, but that doesn't necessarily imply i won't have time ;) 2020-12-17T16:55:48Z beach: Wow, nice! What's the subject? 2020-12-17T16:56:33Z kam1 quit (Read error: Connection reset by peer) 2020-12-17T16:56:44Z makomo: it has to do with languages for concurrent and distributed systems :) 2020-12-17T16:57:02Z beach: Sounds hard. :) 2020-12-17T16:57:53Z lotuseater: sounds like Erlang/LFE incoming :P 2020-12-17T16:58:01Z cosimone quit (Remote host closed the connection) 2020-12-17T16:58:25Z makomo: heh, i thought so as well. but i also thought it would be a great opportunity, so welp, gotta stuck it up and bang my head i suppose ;) 2020-12-17T16:58:58Z Steeve quit (Quit: end) 2020-12-17T17:06:16Z EvW joined #lisp 2020-12-17T17:06:41Z eden joined #lisp 2020-12-17T17:06:57Z eden quit (Remote host closed the connection) 2020-12-17T17:08:54Z kam1 joined #lisp 2020-12-17T17:09:23Z Cymew quit (Ping timeout: 268 seconds) 2020-12-17T17:11:52Z kam1 quit (Read error: Connection reset by peer) 2020-12-17T17:12:41Z tfb joined #lisp 2020-12-17T17:14:18Z andreyorst quit (Ping timeout: 260 seconds) 2020-12-17T17:21:49Z jibanes quit (Ping timeout: 264 seconds) 2020-12-17T17:23:11Z jibanes joined #lisp 2020-12-17T17:24:51Z kenran: So far I've seen `:depends-on (:cffi)`, `:depends-on ("cffi")` and `(:depends-on (#:cffi)`. Are there any semantic differences between these in a defsystem form? 2020-12-17T17:27:08Z liberliver quit (Ping timeout: 260 seconds) 2020-12-17T17:28:36Z dim: yes and no, I suppose a “package designator” is not very well defined, and accepts either a string or a symbol for sure 2020-12-17T17:29:37Z dim: :cffi is a symbol that is going to be interned I can't remember in which package, #:cffi forces the symbol to be interned in the KEYWORDS package if I remember correctly, and of course "cffi" is using a string as a package system designator here 2020-12-17T17:29:53Z dim: so I said “package designator” before when I meant “system designator” I suppose 2020-12-17T17:30:08Z surabax_ joined #lisp 2020-12-17T17:31:07Z kenran: dim: thanks! If I have no real idea what difference it makes where stuff gets interned, which of the three variants should I use as a newbie? Or is the essence "it doesn't really matter at all"? 2020-12-17T17:31:39Z dim: it kind of matters that you understand what is a string and what is a symbol, and why symbol exist in a package, and what is a package 2020-12-17T17:32:45Z dim: http://www.gigamonkeys.com/book/programming-in-the-large-packages-and-symbols.html might be a good way to wrap your head around those notions 2020-12-17T17:33:26Z surabax quit (Ping timeout: 268 seconds) 2020-12-17T17:34:33Z dim: http://www.flownet.com/ron/packages.pdf this also helped me when a beginner myself (I suppose I have reached “intermediate” level) 2020-12-17T17:34:46Z kenran: vim: thanks again 2020-12-17T17:34:54Z kenran: dim: *lol 2020-12-17T17:35:00Z kenran: freudian typo 2020-12-17T17:36:03Z surabax_ is now known as surabax 2020-12-17T17:36:26Z lotuseater: kenran: there is also a part about this in common lisp recipes 2020-12-17T17:38:00Z dim: I liked https://web.archive.org/web/20171127051637/http://weitz.de:80/packages.html which is hard to find nowadays, and some people here advice not reading it IIRC, but I did find it helpful at the time 2020-12-17T17:38:45Z aeth: dim: you have it backwards... :cffi is in keywords 2020-12-17T17:39:03Z aeth: (symbol-package :cffi) => # 2020-12-17T17:39:04Z dim: ah thanks for fixing it! 2020-12-17T17:39:12Z aeth: (symbol-package '#:cffi) => NIL 2020-12-17T17:39:12Z dim: what about #:cffi then? 2020-12-17T17:39:28Z dim: forces to avoid any interning? 2020-12-17T17:39:30Z aeth: (it has to be quoted because symbol-package isn't a macro... when it's used unquoted, it's in a macro) 2020-12-17T17:39:37Z aeth: right 2020-12-17T17:39:55Z aeth: I prefer to use #:foo or, if I need to get its name, (symbol-name '#:foo) 2020-12-17T17:40:06Z lotuseater: dim: the allusion at beginning is funny 2020-12-17T17:40:18Z aeth: (symbol-name '#:foo) is perfectly free of side effects so any decent compiler should turn that into "FOO". Or maybe "foo" if it's in "modern mode" 2020-12-17T17:40:21Z dim: okay that makes sense, I knew there was something about interning, and something about the KEYWORD package, and then I failed to remember the details correctly, shows that I have spent two years writing C code and less and less CL code, sorry about that 2020-12-17T17:41:09Z aeth: dim: Well, I knew the answer but I verified it in the REPL before posting. That's the good thing about CL... if you know the functions (in this case SYMBOL-PACKAGE) then it's easy to verify 2020-12-17T17:41:21Z aeth: Whereas in C, you have to think of a trivial test program and hope that it always is true... 2020-12-17T17:41:42Z aeth: (C has a few interpreters for REPL, but there's no guarantee that those interpreters are written correctly since nobody uses them.) 2020-12-17T17:42:45Z gxt joined #lisp 2020-12-17T17:43:09Z dim: yeah I did write a full command line parsing utility so that I could export my C internal routines at the top-level easily and then test them and play with the code in isolation, without having to create a full test environment, so yeah... lots of bonus points for CL to make that just the default 2020-12-17T17:44:35Z lucasb joined #lisp 2020-12-17T17:44:36Z Jesin joined #lisp 2020-12-17T17:45:23Z aeth: eh, it's not that hard 2020-12-17T17:45:43Z aeth: Most things can just be tested inside of a hello world style main 2020-12-17T17:45:51Z aeth: Or at the top level called from that main 2020-12-17T17:46:02Z aeth: It's just 10x more effort than entering a one-liner into a REPL 2020-12-17T17:47:10Z hugh_marera quit (Quit: Connection closed) 2020-12-17T17:47:26Z dim: yeah, not hard, but requires a special effort nonetheless, and then you have to do it again and again 2020-12-17T17:47:37Z pankajsg quit (Ping timeout: 265 seconds) 2020-12-17T17:48:00Z jibanes quit (Ping timeout: 256 seconds) 2020-12-17T17:49:57Z jibanes joined #lisp 2020-12-17T17:53:59Z defunkydrummer quit (Quit: Leaving) 2020-12-17T17:57:29Z saganman quit (Ping timeout: 268 seconds) 2020-12-17T17:58:06Z jibanes quit (Ping timeout: 268 seconds) 2020-12-17T17:58:46Z Oladon quit (Quit: Leaving.) 2020-12-17T17:59:20Z amb007 quit (Ping timeout: 268 seconds) 2020-12-17T17:59:27Z jibanes joined #lisp 2020-12-17T18:00:27Z amb007 joined #lisp 2020-12-17T18:00:46Z Stanley00 joined #lisp 2020-12-17T18:04:34Z amb007 quit (Read error: Connection reset by peer) 2020-12-17T18:04:55Z amb007 joined #lisp 2020-12-17T18:04:56Z Stanley00 quit (Ping timeout: 240 seconds) 2020-12-17T18:08:35Z jibanes quit (Ping timeout: 268 seconds) 2020-12-17T18:09:57Z jibanes joined #lisp 2020-12-17T18:17:58Z dbotton joined #lisp 2020-12-17T18:17:58Z phantomics: Is anyone using lparallel much? Have some questions about threaded array operations 2020-12-17T18:18:50Z hugh_marera joined #lisp 2020-12-17T18:20:22Z makomo quit (Ping timeout: 246 seconds) 2020-12-17T18:20:30Z rogersm quit (Quit: Leaving...) 2020-12-17T18:23:43Z aindilis joined #lisp 2020-12-17T18:26:07Z fdddd joined #lisp 2020-12-17T18:26:28Z kaftejiman joined #lisp 2020-12-17T18:26:52Z shka_: how can i add shortcut in emacs to launch Clouseau like a slime inspector? 2020-12-17T18:27:04Z pankajsg joined #lisp 2020-12-17T18:28:00Z Stanley00 joined #lisp 2020-12-17T18:29:21Z Gnuxie[m]: I'd like to know too 2020-12-17T18:30:14Z andreyorst joined #lisp 2020-12-17T18:32:32Z Stanley00 quit (Ping timeout: 256 seconds) 2020-12-17T18:32:40Z mbomba joined #lisp 2020-12-17T18:34:38Z makomo joined #lisp 2020-12-17T18:38:41Z fdddd: What is a simple way to use asdf for an application with several sub-packages? Can I use a single defsystem declaration for this? If you know of some good examples I would love to see them. 2020-12-17T18:40:09Z shka_: fdddd: yes 2020-12-17T18:40:12Z liberliver joined #lisp 2020-12-17T18:40:16Z shka_: single asd file if fine 2020-12-17T18:40:25Z Blukunfando quit (Ping timeout: 240 seconds) 2020-12-17T18:40:39Z shka_: package is just bag of symbols 2020-12-17T18:40:50Z shka_: nothing to do with actual build 2020-12-17T18:41:35Z fdddd: I was looking at this file for example: https://github.com/borodust/cl-bodge/blob/master/cl-bodge.asd Seems rather complicated. Could it be defined with a single defsystem for instance? 2020-12-17T18:41:52Z shka_: https://github.com/sirherrbatka/statistical-learning/blob/master/statistical-learning.asd 2020-12-17T18:41:53Z shka_: here 2020-12-17T18:42:08Z Jesin quit (Quit: Leaving) 2020-12-17T18:42:27Z shka_: i put packages in separate modules, only because i like it this way 2020-12-17T18:43:31Z Jesin joined #lisp 2020-12-17T18:43:58Z fdddd: Makes sense. I like this approach. Thanks 2020-12-17T18:44:13Z shka_: you are welcome 2020-12-17T18:45:05Z liberliver quit (Quit: liberliver) 2020-12-17T18:45:10Z jprajzne quit (Quit: Leaving.) 2020-12-17T18:48:01Z zacts joined #lisp 2020-12-17T18:49:35Z zacts quit (Client Quit) 2020-12-17T18:50:28Z liberliver joined #lisp 2020-12-17T18:51:59Z v3ga quit (Ping timeout: 258 seconds) 2020-12-17T18:56:37Z kenran: I've asked earlier on how to do something like Haskell's bracket to acquire, use and release resource (a function taking 3 functions, basically) and was shown unwind-protect. One example where I'd use this would be something like an SDL2 texture. Is this also the lispy way of doing things, or would an OO approach would work better here? I haven't actually read up on CLOS yet, but I figure something like a 2020-12-17T18:56:43Z kenran: destructor or finalizer is surely possible. What's the go-go style? 2020-12-17T18:57:33Z phireh quit (Ping timeout: 260 seconds) 2020-12-17T19:01:35Z shka_: kenran: typically, lispers write macros like those http://clhs.lisp.se/Body/m_w_open.htm 2020-12-17T19:01:49Z shka_: postmodern has with-connection for instance 2020-12-17T19:02:00Z shka_: but they are found just about everywhere 2020-12-17T19:02:46Z hnOsmium0001 joined #lisp 2020-12-17T19:07:51Z ggole quit (Quit: Leaving) 2020-12-17T19:08:05Z flip214: even python copied the "with ..." naming 2020-12-17T19:09:49Z jibanes quit (Ping timeout: 264 seconds) 2020-12-17T19:10:56Z liberliver quit (Ping timeout: 240 seconds) 2020-12-17T19:11:18Z jibanes joined #lisp 2020-12-17T19:13:34Z orivej quit (Ping timeout: 256 seconds) 2020-12-17T19:17:40Z jibanes quit (Ping timeout: 272 seconds) 2020-12-17T19:18:03Z jibanes joined #lisp 2020-12-17T19:24:25Z ex_nihilo joined #lisp 2020-12-17T19:24:42Z kevingal quit (Ping timeout: 260 seconds) 2020-12-17T19:28:37Z aeth: kenran: destructors for FFI stuff is just going to be a source of bugs 2020-12-17T19:29:03Z aeth: probably because some things will still be around on the next run because you're running it from the same REPL 2020-12-17T19:30:24Z v3ga joined #lisp 2020-12-17T19:33:56Z mister_m: sort of a tangent but is it necessary to always explicitly list what files asdf needs for the :components attribute? Is there a way to intelligently discover them all - as well as what order to load them in through some sort - through providing say the location of a folder to search in? 2020-12-17T19:34:55Z mister_m: or a combination of a folder / entry point 2020-12-17T19:35:21Z jackdaniel: you may define a component that searches for all lisp files in the directory 2020-12-17T19:35:28Z jackdaniel: but asdf doesn't have that predefined 2020-12-17T19:36:14Z mister_m: I see 2020-12-17T19:36:42Z Achylles joined #lisp 2020-12-17T19:36:46Z tfb: kenran: the problem with finalizers is you have no idea when or if they run in a GCd language. 2020-12-17T19:37:00Z phireh joined #lisp 2020-12-17T19:37:43Z phireh: Noob question: how can I compile a package after loading it with quicklisp? I'm trying to execute the cepl examples 2020-12-17T19:37:56Z andreyorst quit (Ping timeout: 256 seconds) 2020-12-17T19:38:34Z tfb: kenran: another Lisp pattern is the call-with-x / with-x pattern, where (with-x (c) ...) expands to (call-with-x (lambda (c) ...)) 2020-12-17T19:40:26Z andreyorst joined #lisp 2020-12-17T19:41:03Z liberliver joined #lisp 2020-12-17T19:44:50Z fdddd quit (Remote host closed the connection) 2020-12-17T19:45:32Z jibanes quit (Ping timeout: 272 seconds) 2020-12-17T19:46:53Z jibanes joined #lisp 2020-12-17T19:48:01Z Achylles quit (Quit: Leaving) 2020-12-17T19:52:11Z andreyorst quit (Ping timeout: 268 seconds) 2020-12-17T19:52:13Z tfb quit 2020-12-17T19:55:13Z jibanes quit (Ping timeout: 246 seconds) 2020-12-17T19:55:16Z pankajsg quit (Ping timeout: 268 seconds) 2020-12-17T19:56:32Z rpg: mister_m: If you did that, how would you know what were the dependencies between the files in the system/ 2020-12-17T19:57:24Z jibanes joined #lisp 2020-12-17T19:59:59Z rpg: mister_m, jackdaniel : "Here's a heap of lisp files, ASDF, do something with them." 2020-12-17T20:01:04Z kam1 joined #lisp 2020-12-17T20:01:05Z kam1 quit (Read error: Connection reset by peer) 2020-12-17T20:02:24Z mister_m: that's where a topological sort would be needed 2020-12-17T20:02:38Z jibanes quit (Ping timeout: 272 seconds) 2020-12-17T20:03:29Z jibanes joined #lisp 2020-12-17T20:04:02Z borodust: fdddd: this dude that wrote that bodge.asd don't know how to write proper lisp, you really shouldn't follow any of his practices 2020-12-17T20:04:21Z mister_m: I don't know if it is odd or not that asdf does not have that baked in, but I don't really think about this in other langs 2020-12-17T20:05:49Z C-16 joined #lisp 2020-12-17T20:05:52Z Stanley00 joined #lisp 2020-12-17T20:09:51Z pve: If you ensure that the files in a folder/module can be loaded in any order, then couldn't you specify dependencies at the module level instead? 2020-12-17T20:10:33Z C-16 quit (Client Quit) 2020-12-17T20:10:34Z Stanley00 quit (Ping timeout: 256 seconds) 2020-12-17T20:11:18Z jibanes quit (Ping timeout: 268 seconds) 2020-12-17T20:11:18Z EvW quit (Ping timeout: 268 seconds) 2020-12-17T20:11:23Z pve: not that it would be all that useful.. 2020-12-17T20:11:39Z kam1 joined #lisp 2020-12-17T20:12:02Z kam1 quit (Read error: Connection reset by peer) 2020-12-17T20:13:42Z Fare quit (Ping timeout: 260 seconds) 2020-12-17T20:17:38Z duuqnd joined #lisp 2020-12-17T20:18:46Z kam1 joined #lisp 2020-12-17T20:19:06Z kam1 quit (Read error: Connection reset by peer) 2020-12-17T20:20:11Z kam1 joined #lisp 2020-12-17T20:20:38Z kam1 quit (Read error: Connection reset by peer) 2020-12-17T20:24:19Z kam1 joined #lisp 2020-12-17T20:24:43Z kam1 quit (Read error: Connection reset by peer) 2020-12-17T20:27:53Z Fare joined #lisp 2020-12-17T20:30:51Z EvW joined #lisp 2020-12-17T20:31:08Z kam1 joined #lisp 2020-12-17T20:31:31Z kam1 quit (Read error: Connection reset by peer) 2020-12-17T20:33:56Z rpg: mister_m: The reason that you don't see this in, for example, make, is that make builds individual artifacts in separate processes. ASDF assembles both the file artifacts *and the running image*, and maintaining the integrity of the running image is tricky 2020-12-17T20:34:17Z rpg: pve: Yes, you could. 2020-12-17T20:35:41Z jibanes joined #lisp 2020-12-17T20:35:55Z pve: rpg: ok, nice 2020-12-17T20:36:29Z rpg: pve: But ASDF won't discover the set of files in a directory for you and treat them as a module. 2020-12-17T20:36:52Z pve: rpg: yeah you need to define your own module, as jackdaniel said 2020-12-17T20:37:07Z pve: something like that might actually be useful in quick 'n' dirty situations 2020-12-17T20:37:52Z zacts joined #lisp 2020-12-17T20:39:08Z zacts quit (Client Quit) 2020-12-17T20:39:38Z kam1 joined #lisp 2020-12-17T20:39:39Z kam1 quit (Read error: Connection reset by peer) 2020-12-17T20:40:28Z jw4 quit (Read error: Connection reset by peer) 2020-12-17T20:42:22Z jibanes quit (Ping timeout: 256 seconds) 2020-12-17T20:42:30Z jw4 joined #lisp 2020-12-17T20:44:12Z jibanes joined #lisp 2020-12-17T20:49:24Z zmagii joined #lisp 2020-12-17T20:49:37Z fanta1 quit (Remote host closed the connection) 2020-12-17T20:52:41Z cosimone joined #lisp 2020-12-17T20:53:51Z aeth quit (Ping timeout: 268 seconds) 2020-12-17T20:53:52Z jibanes quit (Ping timeout: 256 seconds) 2020-12-17T20:55:07Z aeth joined #lisp 2020-12-17T20:55:45Z jibanes joined #lisp 2020-12-17T20:56:28Z narimiran quit (Ping timeout: 246 seconds) 2020-12-17T20:56:54Z kam1 joined #lisp 2020-12-17T20:57:33Z kam1 quit (Read error: Connection reset by peer) 2020-12-17T21:10:01Z iarebatm` joined #lisp 2020-12-17T21:14:01Z iarebatman quit (Ping timeout: 264 seconds) 2020-12-17T21:14:36Z iarebatm` quit (Ping timeout: 256 seconds) 2020-12-17T21:18:19Z wsinatra quit (Quit: WeeChat 3.0) 2020-12-17T21:22:50Z scymtym quit (Ping timeout: 268 seconds) 2020-12-17T21:22:56Z zacts joined #lisp 2020-12-17T21:30:14Z shka_ quit (Ping timeout: 268 seconds) 2020-12-17T21:45:45Z skapata quit (Ping timeout: 272 seconds) 2020-12-17T21:53:02Z scymtym joined #lisp 2020-12-17T21:57:26Z zacts quit (Quit: leaving) 2020-12-17T22:01:13Z jibanes quit (Ping timeout: 246 seconds) 2020-12-17T22:01:31Z skapata joined #lisp 2020-12-17T22:02:15Z pve quit (Quit: leaving) 2020-12-17T22:03:12Z jibanes joined #lisp 2020-12-17T22:06:28Z cairn quit (Changing host) 2020-12-17T22:06:28Z cairn joined #lisp 2020-12-17T22:06:54Z kenran quit (Quit: leaving) 2020-12-17T22:07:02Z Stanley00 joined #lisp 2020-12-17T22:09:42Z dhil quit (Ping timeout: 268 seconds) 2020-12-17T22:11:33Z Stanley00 quit (Ping timeout: 268 seconds) 2020-12-17T22:13:26Z daphnis joined #lisp 2020-12-17T22:15:50Z orivej joined #lisp 2020-12-17T22:17:00Z aartaka quit (Ping timeout: 256 seconds) 2020-12-17T22:21:46Z matryoshka quit (Read error: Connection reset by peer) 2020-12-17T22:21:58Z matryoshka joined #lisp 2020-12-17T22:22:45Z daphnis quit (Ping timeout: 240 seconds) 2020-12-17T22:24:18Z arbv quit (Ping timeout: 256 seconds) 2020-12-17T22:28:39Z Steeve joined #lisp 2020-12-17T22:30:03Z arbv joined #lisp 2020-12-17T22:33:22Z notzmv` is now known as notzmv 2020-12-17T22:33:42Z notzmv quit (Changing host) 2020-12-17T22:33:42Z notzmv joined #lisp 2020-12-17T22:38:02Z EvW quit (Ping timeout: 260 seconds) 2020-12-17T22:39:38Z dbotton quit (Quit: This computer has gone to sleep) 2020-12-17T22:42:45Z skapata quit (Ping timeout: 272 seconds) 2020-12-17T22:45:07Z skapata joined #lisp 2020-12-17T22:45:18Z daphnis joined #lisp 2020-12-17T22:52:12Z EvW joined #lisp 2020-12-17T22:57:31Z notzmv quit (Remote host closed the connection) 2020-12-17T22:57:56Z daphnis quit (Ping timeout: 240 seconds) 2020-12-17T23:02:35Z notzmv joined #lisp 2020-12-17T23:09:49Z daphnis joined #lisp 2020-12-17T23:19:02Z Alfr quit (Quit: Leaving) 2020-12-17T23:23:14Z kam1 joined #lisp 2020-12-17T23:23:16Z terrorjack quit (Quit: Ping timeout (120 seconds)) 2020-12-17T23:23:39Z kam1 quit (Read error: Connection reset by peer) 2020-12-17T23:24:41Z terrorjack joined #lisp 2020-12-17T23:28:51Z TMA quit (Ping timeout: 265 seconds) 2020-12-17T23:29:03Z TMA joined #lisp 2020-12-17T23:32:52Z sjl quit (Ping timeout: 260 seconds) 2020-12-17T23:35:08Z mfiano quit (Ping timeout: 256 seconds) 2020-12-17T23:37:24Z zacts joined #lisp 2020-12-17T23:37:40Z zacts quit (Client Quit) 2020-12-17T23:40:12Z rgherdt quit (Ping timeout: 260 seconds) 2020-12-17T23:50:55Z akoana joined #lisp 2020-12-17T23:51:17Z Blukunfando joined #lisp 2020-12-17T23:54:23Z kam1 joined #lisp 2020-12-17T23:54:47Z kam1 quit (Read error: Connection reset by peer) 2020-12-17T23:54:57Z random-nick quit (Ping timeout: 272 seconds) 2020-12-17T23:55:33Z Alfr joined #lisp 2020-12-17T23:57:12Z cosimone quit (Quit: cosimone) 2020-12-18T00:00:02Z Stanley00 joined #lisp 2020-12-18T00:01:32Z frost-lab joined #lisp 2020-12-18T00:02:04Z mfiano joined #lisp 2020-12-18T00:05:01Z Stanley00 quit (Ping timeout: 268 seconds) 2020-12-18T00:12:03Z gaqwas quit (Ping timeout: 272 seconds) 2020-12-18T00:14:26Z pankajsg joined #lisp 2020-12-18T00:16:25Z kam1 joined #lisp 2020-12-18T00:16:51Z duuqnd quit (Remote host closed the connection) 2020-12-18T00:17:10Z kam1 quit (Read error: Connection reset by peer) 2020-12-18T00:19:11Z rpg is now known as rpg_away 2020-12-18T00:25:17Z kevingal joined #lisp 2020-12-18T00:25:23Z kevingal quit (Remote host closed the connection) 2020-12-18T00:28:09Z kam1 joined #lisp 2020-12-18T00:31:24Z kam1 quit (Read error: Connection reset by peer) 2020-12-18T00:34:55Z kaftejiman quit (Remote host closed the connection) 2020-12-18T00:39:58Z daphnis quit (Ping timeout: 260 seconds) 2020-12-18T00:40:06Z surabax quit (Quit: Leaving) 2020-12-18T00:45:56Z aeth quit (Ping timeout: 240 seconds) 2020-12-18T00:48:03Z aeth joined #lisp 2020-12-18T00:57:56Z hugh_marera quit (Ping timeout: 240 seconds) 2020-12-18T01:00:03Z imode joined #lisp 2020-12-18T01:10:30Z Steeve quit (Quit: end) 2020-12-18T01:15:55Z pfdietz quit (Ping timeout: 245 seconds) 2020-12-18T01:22:12Z dbotton joined #lisp 2020-12-18T01:23:37Z wxie joined #lisp 2020-12-18T01:28:12Z dbotton: When creating a class, does one need to export every method/generic function? Is there any short cuts? 2020-12-18T01:31:49Z kam1 joined #lisp 2020-12-18T01:32:46Z kam1 quit (Read error: Connection reset by peer) 2020-12-18T01:42:08Z sm2n_ quit (Ping timeout: 256 seconds) 2020-12-18T01:42:22Z dbotton: Currently I am just adding an (export 'some-method-name) before any method I want exported. 2020-12-18T01:45:55Z no-defun-allowed: You export every name you want other packages to be able to use. 2020-12-18T01:46:14Z no-defun-allowed: You don't need to export method names, as those are just names of generic functions. 2020-12-18T01:50:33Z Lord_of_Life_ joined #lisp 2020-12-18T01:51:10Z Lord_of_Life quit (Ping timeout: 246 seconds) 2020-12-18T01:51:27Z entre-parenteses quit (Ping timeout: 260 seconds) 2020-12-18T01:51:54Z Lord_of_Life_ is now known as Lord_of_Life 2020-12-18T01:53:01Z dbotton: If I use the implicit generic though would. Is there any reason specifically for create a generic for a simplistic method? It seems like a duplication of code outside of documentation (which in my purpose detracts not adds) 2020-12-18T01:54:19Z lucasb quit (Quit: Connection closed for inactivity) 2020-12-18T02:06:51Z no-defun-allowed: I'm afraid to ask why documentation detracts from your work. 2020-12-18T02:08:57Z dbotton: The opposite my works is heavily documented, it actually would detract to add another doc point. 2020-12-18T02:09:50Z dbotton: https://github.com/rabbibotton/clog/blob/main/clog.lisp 2020-12-18T02:10:31Z dbotton: I am documenting the methods which are picked up in the docs generated my mgl-pax 2020-12-18T02:10:33Z jeosol quit (Remote host closed the connection) 2020-12-18T02:10:56Z dbotton: If I added the generics just adds superfluous info 2020-12-18T02:11:28Z no-defun-allowed: Well, you usually add a generic function, and put the documentation there. 2020-12-18T02:11:50Z no-defun-allowed: i.e the generic function documentation tells you what it does, and if you have method documentation, it describes how you do it. 2020-12-18T02:12:57Z dbotton: Ok, thanks 2020-12-18T02:14:01Z dbotton: The generic though would not per se be connected to the class? Is there a way to someone say this generic is in this part of a call hierarchy and bellow? 2020-12-18T02:14:01Z Misha_B quit (Ping timeout: 264 seconds) 2020-12-18T02:14:12Z dbotton: (Hope that makes sense_ 2020-12-18T02:15:04Z Alfr: dbotton, generic functions and methods don't belong to classes. 2020-12-18T02:16:23Z dbotton: Yes I know in Ada and Lisp there is a type and they act on that type, but never the less 2020-12-18T02:16:57Z Alfr: dbotton, okay you didn't use "belong", but that association is quite ... lose. 2020-12-18T02:18:35Z no-defun-allowed: Methods belong to generic functions, not to classes. 2020-12-18T02:18:42Z mbomba quit (Quit: WeeChat 3.0) 2020-12-18T02:18:46Z dbotton: Understood 2020-12-18T02:19:08Z hiroaki quit (Ping timeout: 260 seconds) 2020-12-18T02:19:39Z dbotton: Is there a way to indicate in a generic function that it is generic only to a certain class and the classes descendants? 2020-12-18T02:20:46Z Alfr: dbotton, and in CL generic functions only dispatch according to it's arguments' class not their types. (Ignoring eql specializers.) 2020-12-18T02:21:07Z kam1 joined #lisp 2020-12-18T02:22:24Z kam1 quit (Read error: Connection reset by peer) 2020-12-18T02:22:26Z dbotton: Right. Let me see if I can give a quick example in code 2020-12-18T02:22:53Z dbotton: (defgeneric create-child (obj html &key auto-place)) 2020-12-18T02:22:53Z dbotton: (defgeneric create-child (obj html &key auto-place)) 2020-12-18T02:23:26Z dbotton: I want to say the obj has to be only from clog-obj are a child of it 2020-12-18T02:23:32Z dbotton: Os that possible? 2020-12-18T02:23:37Z Alfr: dbotton, you would simply not define methods for other argument combinations. Then those calls should end up calling no-applicable-method which by default will signal an error. 2020-12-18T02:24:26Z dbotton: Ok for the generic to act as "documentation" with out that not really adding anything? 2020-12-18T02:25:04Z dbotton: (defmethod create-child ((obj clog-obj) html &key (auto-place t)) 2020-12-18T02:25:25Z dbotton: Is much more descriptive 2020-12-18T02:26:01Z Alfr: That will implicitly define the generic function create-child. 2020-12-18T02:26:02Z dbotton: And also says has to be clog-obj or child of it 2020-12-18T02:26:07Z dbotton: Right 2020-12-18T02:26:38Z dbotton: So I am trying to understand how that adds more documentation to not just use the implicit 2020-12-18T02:26:43Z dbotton: defgeneric 2020-12-18T02:27:12Z Alfr: dbotton, yes. 2020-12-18T02:27:52Z dbotton: Sorry (I can be thick) yes to? 2020-12-18T02:29:05Z Alfr: obj must a clog-obj for that method to applicable. 2020-12-18T02:31:10Z Alfr: dbotton, I don't think that I understand your motivation for you initial question. 2020-12-18T02:33:14Z Alfr: dbotton, it's fine to document your method only, if there's only going to be that one. But describing what the generic function is supposed to do with its arguments, may alleviate the need to document the methods. 2020-12-18T02:33:16Z Alfr shrugs. 2020-12-18T02:33:31Z dbotton: I was told a few times that it is better not to rely on the defgeneric as adding the generic would add to the documentation, I am trying to understand how 2020-12-18T02:34:21Z dbotton: No-defun-allowed though made a nice point of "doc" strings on the method perhaps being more for documenting the internals 2020-12-18T02:35:24Z dbotton: Sorry just recapping Alfr in hopes I haven't made too much a mess of the conversation 2020-12-18T02:36:29Z Alfr: All's well. :) 2020-12-18T02:37:02Z dbotton: I guess for now going to keep going with out the generics unless they add something and adding (export 'symbol) before methods meant to be "public" 2020-12-18T02:37:51Z dbotton: Thank you all 2020-12-18T02:43:35Z renzhi joined #lisp 2020-12-18T02:46:28Z akoana left #lisp 2020-12-18T02:52:08Z EvW quit (Ping timeout: 268 seconds) 2020-12-18T02:53:52Z Stanley00 joined #lisp 2020-12-18T02:54:40Z skapata quit (Remote host closed the connection) 2020-12-18T02:58:47Z CrazyEdd quit (Remote host closed the connection) 2020-12-18T03:03:46Z also_uplime quit (Quit: quit) 2020-12-18T03:04:03Z uplime joined #lisp 2020-12-18T03:05:49Z dbotton quit (Quit: This computer has gone to sleep) 2020-12-18T03:06:32Z banjomet quit (Remote host closed the connection) 2020-12-18T03:06:49Z dbotton joined #lisp 2020-12-18T03:06:49Z banjomet joined #lisp 2020-12-18T03:08:08Z dbotton quit (Client Quit) 2020-12-18T03:08:41Z toorevitimirp joined #lisp 2020-12-18T03:13:24Z phireh quit (Remote host closed the connection) 2020-12-18T03:14:37Z kam1 joined #lisp 2020-12-18T03:17:23Z luckless quit (Ping timeout: 240 seconds) 2020-12-18T03:18:07Z luckless_ joined #lisp 2020-12-18T03:27:42Z Fare quit (Ping timeout: 260 seconds) 2020-12-18T03:31:39Z dbotton joined #lisp 2020-12-18T03:37:47Z Bike quit (Quit: Lost terminal) 2020-12-18T04:01:47Z Alfr_ joined #lisp 2020-12-18T04:02:11Z beach: Good morning everyone! 2020-12-18T04:04:42Z Alfr quit (Ping timeout: 260 seconds) 2020-12-18T04:05:33Z thmprover joined #lisp 2020-12-18T04:11:20Z Fare joined #lisp 2020-12-18T04:12:48Z __jrjsmrtn__ quit (Ping timeout: 256 seconds) 2020-12-18T04:13:03Z kam1 quit (Remote host closed the connection) 2020-12-18T04:13:39Z leftbrain joined #lisp 2020-12-18T04:13:49Z kam1 joined #lisp 2020-12-18T04:14:19Z __jrjsmrtn__ joined #lisp 2020-12-18T04:20:26Z CrazyEdd joined #lisp 2020-12-18T04:24:01Z kam1 quit (Remote host closed the connection) 2020-12-18T04:24:45Z kam1 joined #lisp 2020-12-18T04:26:02Z Fare quit (Ping timeout: 260 seconds) 2020-12-18T04:32:13Z beach: dbotton: The book "Object-oriented programming. The CLOS perspective." mentions that DEFMETHOD was intended to be the main interface to the object system. But in hindsight that was a mistake. 2020-12-18T04:32:18Z beach: It is a very common mistake to misspell the name of a generic function in a DEFMETHOD form, or to omit a required package prefix. Then a new generic function is silently created, and the programmer has a bug that can be difficult to track down. 2020-12-18T04:32:22Z beach: For that reason, I am in favor of the implementation emitting a warning (STYLE-WARNING I guess) whenever a DEFMETHOD form is encountered that mentions the name of a generic function that has not previously been defined. 2020-12-18T04:32:23Z beach: As I understand it, SBCL used to emit such a warning, but it was removed according to request from the users. I guess those users never make typos. 2020-12-18T04:33:17Z dbotton: thanks 2020-12-18T04:33:36Z kam1 quit (Ping timeout: 240 seconds) 2020-12-18T04:34:47Z dbotton: I still have a few functional parts of my project to finish up but then have to decide on the "style" before fleshing out everything 2020-12-18T04:35:03Z beach: dbotton: It seems you are (again?) trying to use Common Lisp the way you would use a language with entirely different programming model. If all you have is a single class and a single method, then write an ordinary function and an explicit check that the argument is an instance of that class. 2020-12-18T04:36:01Z dbotton: Why would I choose that over a method? 2020-12-18T04:36:02Z lotuseater quit (Ping timeout: 256 seconds) 2020-12-18T04:36:35Z narimiran joined #lisp 2020-12-18T04:36:39Z dbotton: As a method it would imply a check for the class? 2020-12-18T04:36:56Z beach: Sort of. It would also allow for subclasses of that class. 2020-12-18T04:37:25Z dbotton: Isn't that the case with a method and implicit generic as well? 2020-12-18T04:37:42Z beach: Yes, but that doesn't seem to be what you want to communicate. 2020-12-18T04:38:05Z dbotton: Not sure I see it, please explain 2020-12-18T04:38:34Z aeth: generic functions are used for polymorphism or for :before/:after/:around 2020-12-18T04:39:11Z dbotton: And I expect some may extend my hierarchy to use those 2020-12-18T04:39:21Z beach: If you allow for subclasses, then you have a CLOS protocol, and you should document what the protocol does and what it expects. And that involves a set of generic functions together with documentation. A method specialized to the base class is an implementation detail. 2020-12-18T04:39:25Z dbotton: I really like that feature 2020-12-18T04:40:38Z dbotton: What is meant my clos protocol? 2020-12-18T04:40:49Z beach: So by announcing the existence of a method, you are essentially (again?) writing code as if the class is the external protocol to be documented, but in CLOS, the external interface is a bunch of generic functions. 2020-12-18T04:41:16Z dbotton: That I think clarifies it better for me 2020-12-18T04:42:22Z dbotton: Although it seems that is more a matter of convention since there are implicit generics, ie clos's creators seemed to at least at start support a style with out the protocol written out 2020-12-18T04:42:23Z beach: A CLOS protocol is a set of generic functions and possibly a set of protocol classes (not meant to be instantiated). Such a protocol is what you expose to the outside world, together with documentation about how these entities fit together. 2020-12-18T04:42:46Z dbotton: I like that 2020-12-18T04:42:59Z beach: Now you are confusing language semantics and software engineering. 2020-12-18T04:43:03Z dbotton: Would you have a small example of that 2020-12-18T04:43:21Z beach: I always create a DEFGENERIC form for every slot accessor I have. 2020-12-18T04:43:42Z beach: Let me see if I can find a small example... 2020-12-18T04:43:54Z dbotton: Appreciated 2020-12-18T04:44:05Z dbotton: Even larger ok 2020-12-18T04:45:33Z dbotton: I am used to writing a spec and body (roughly a header and body) and I like that format, ie a clear separation between implementation and design 2020-12-18T04:45:43Z beach: Take a look at the documentation of Cluffer. 2020-12-18T04:45:48Z dbotton: I am thinking this may bet be closer 2020-12-18T04:46:30Z beach: https:/github.com/robert-strandh/Cluffer 2020-12-18T04:47:26Z beach: Wait, this one is easier... 2020-12-18T04:47:42Z beach: http://metamodular.com/cluffer.pdf 2020-12-18T04:47:47Z beach: Look at appendix A. 2020-12-18T04:48:11Z galex-713 quit (Ping timeout: 272 seconds) 2020-12-18T04:48:36Z dbotton: https://github.com/robert-strandh/Cluffer/blob/master/Base/internal-protocol.lisp 2020-12-18T04:48:40Z beach: As you can see, there is a set of protocol classes and a set of generic functions. 2020-12-18T04:48:51Z dbotton: Why not places those comments as documenting of the generic? 2020-12-18T04:48:54Z beach: Forget about the internal protocols for now. 2020-12-18T04:49:06Z beach: Yes, I will do that some day. 2020-12-18T04:49:50Z beach: I am not that much in favor of documentation strings. 2020-12-18T04:49:55Z Alfr_ quit (Remote host closed the connection) 2020-12-18T04:49:57Z beach: I prefer real documentation. 2020-12-18T04:50:18Z Alfr_ joined #lisp 2020-12-18T04:50:38Z beach: But that's a different discussion. 2020-12-18T04:54:24Z wxie quit (Ping timeout: 256 seconds) 2020-12-18T04:54:29Z beach: dbotton: Frequently, a protocol will have protocol classes for which it provides little or no functionality, and then it will have implementation classes that are subclasses of the protocol classes (often named standard-...). The methods of the module will be specialized to the implementation classes rather than to the protocol classes (with some exceptions). 2020-12-18T04:54:48Z kam1 joined #lisp 2020-12-18T04:55:10Z dbotton: I was just writing it seems like you are writing abstract classes 2020-12-18T04:55:12Z beach: This technique allows client code to subclass the protocol classes to avoid the default implementation provided by the module. 2020-12-18T04:55:39Z beach: The CLOS term is "protocol class". 2020-12-18T04:55:51Z dbotton: Ok 2020-12-18T04:57:16Z galex-713 joined #lisp 2020-12-18T04:57:39Z saganman joined #lisp 2020-12-18T04:57:44Z beach: Technically, you should also document the method combination and the argument precedence order of your generic functions. 2020-12-18T04:57:58Z beach: And those are things you can't express with DEFMETHOD. 2020-12-18T04:58:08Z saganman: Morning beach 2020-12-18T04:58:26Z beach: Though, arguably, by default it is the STANDARD method combination, and the argument precedence order is the default. 2020-12-18T04:58:29Z dbotton: What do you mean by method combination 2020-12-18T04:59:12Z beach: clhs 7.6.6 2020-12-18T04:59:12Z specbot: Method Selection and Combination: http://www.lispworks.com/reference/HyperSpec/Body/07_ff.htm 2020-12-18T04:59:19Z akrl quit (Read error: Connection reset by peer) 2020-12-18T04:59:35Z akrl joined #lisp 2020-12-18T05:01:16Z dbotton: How would method combination change? 2020-12-18T05:01:58Z beach: I don't understand the question. 2020-12-18T05:02:17Z beach: The generic function is created with a particular method combination and that doesn't usually change. 2020-12-18T05:02:34Z dbotton: Right, so why would I document it? 2020-12-18T05:02:35Z beach: The method combination becomes part of the protocol to be documented. 2020-12-18T05:02:58Z dbotton: Unless there is a change that effects a user of the system 2020-12-18T05:03:00Z beach: Er, so that your clients know how to create methods? 2020-12-18T05:03:20Z beach: The method combination effects the behavior of client methods. 2020-12-18T05:03:27Z beach: affects 2020-12-18T05:03:38Z jeosol joined #lisp 2020-12-18T05:04:31Z beach: In traditional object-oriented languages, you only have one method combination, which is a subset of what the Common Lisp STANDARD method combination does. 2020-12-18T05:05:10Z dbotton: I assume unless I am changing the rules why would I document it? 2020-12-18T05:05:19Z beach: That's what I said. 2020-12-18T05:05:30Z beach: "Though, arguably, by default it is the STANDARD method combination, and the argument precedence order is the default." 2020-12-18T05:06:20Z dbotton: Sorry I perhaps got hung up on your previous statement "should also document", understood now 2020-12-18T05:07:35Z dbotton: Sorry cl is a huge system with very different lingo and very different approach to most everything :) getting there 2020-12-18T05:07:49Z beach: Good. 2020-12-18T05:08:13Z beach: My point is that the DEFGENERIC form is the place where you can attach things like the method combination being used, the argument precedence order, the method class, the documentation, etc. 2020-12-18T05:08:42Z beach: So the generic function is the thing that should be exposed to the client as part of the protocol. 2020-12-18T05:09:02Z thmprover quit (Quit: For He Was Great of Heart) 2020-12-18T05:09:58Z dbotton: The current project I am working on is not one that makes use of inheritance to use the system 2020-12-18T05:10:42Z dbotton: So may not be perfect fit, ie protocols used by the consumer of the system 2020-12-18T05:11:01Z beach: Then you definitely don't want to use DEFMETHOD, because then client code CAN create a subclass which you don't want. 2020-12-18T05:11:16Z dbotton: But it may make sense for someone extending things and docs as you mention 2020-12-18T05:11:41Z dbotton: Ie someone extending the system 2020-12-18T05:11:55Z beach: That's what CLOS was meant to do. 2020-12-18T05:12:00Z beach: to allow, I mean. 2020-12-18T05:15:09Z dbotton: I hope in a few weeks to have things well enough along to ask for advice on a more cl like structure for it so I can better underst 2020-12-18T05:15:16Z dbotton: Understand 2020-12-18T05:15:32Z beach: OK. 2020-12-18T05:20:21Z dbotton: Thank you as always, time to head to bed. 2020-12-18T05:20:49Z dbotton quit (Quit: Leaving) 2020-12-18T05:35:02Z waleee-cl quit (Quit: Connection closed for inactivity) 2020-12-18T05:35:48Z shka_ joined #lisp 2020-12-18T05:50:18Z wxie joined #lisp 2020-12-18T06:17:13Z andreyorst joined #lisp 2020-12-18T06:24:36Z andreyorst quit (Ping timeout: 240 seconds) 2020-12-18T06:30:10Z mrchampion quit (Ping timeout: 256 seconds) 2020-12-18T06:32:13Z akrl quit (Ping timeout: 246 seconds) 2020-12-18T06:33:04Z akrl joined #lisp 2020-12-18T06:33:31Z makomo quit (Ping timeout: 268 seconds) 2020-12-18T06:36:57Z leftbrain quit (Quit: Konversation terminated!) 2020-12-18T06:38:13Z aindilis quit (Remote host closed the connection) 2020-12-18T06:39:06Z aindilis` joined #lisp 2020-12-18T06:43:47Z aartaka joined #lisp 2020-12-18T06:52:27Z DateMasamune2000 joined #lisp 2020-12-18T06:52:59Z andreyorst joined #lisp 2020-12-18T06:54:40Z DateMasamune2000 left #lisp 2020-12-18T06:55:25Z akrl quit (Ping timeout: 264 seconds) 2020-12-18T06:56:28Z akrl joined #lisp 2020-12-18T06:59:59Z hugh_marera joined #lisp 2020-12-18T07:03:12Z fanta1 joined #lisp 2020-12-18T07:09:52Z andreyorst` joined #lisp 2020-12-18T07:09:53Z andreyorst` quit (Remote host closed the connection) 2020-12-18T07:12:56Z andreyorst quit (Ping timeout: 240 seconds) 2020-12-18T07:18:05Z mrchampion joined #lisp 2020-12-18T07:19:28Z orivej quit (Ping timeout: 256 seconds) 2020-12-18T07:20:02Z aartaka_d joined #lisp 2020-12-18T07:21:28Z akrl quit (Read error: Connection reset by peer) 2020-12-18T07:21:41Z akrl joined #lisp 2020-12-18T07:22:15Z Cymew joined #lisp 2020-12-18T07:24:13Z aartaka quit (Ping timeout: 264 seconds) 2020-12-18T07:26:49Z treflip joined #lisp 2020-12-18T07:34:13Z no-defun-allowed: beach: I haven't considered documenting the argument precedence order or method combination; is it okay to assume the reader would expect them to be defaults (first argument to last, standard method combination)? 2020-12-18T07:34:25Z no-defun-allowed: Though I do have a couple of generic functions with non-default values for either. 2020-12-18T07:34:56Z jibanes quit (Ping timeout: 240 seconds) 2020-12-18T07:35:28Z beach: I think it's OK to omit the documentation if they are the default. 2020-12-18T07:36:03Z no-defun-allowed: Right, thanks. 2020-12-18T07:36:06Z beach: If they are not default, I think that the client needs to know. For example a method combination might require a mandatory qualifier. 2020-12-18T07:37:08Z jibanes joined #lisp 2020-12-18T07:46:22Z akrl quit (Read error: Connection reset by peer) 2020-12-18T07:46:38Z akrl joined #lisp 2020-12-18T07:55:35Z nostoi joined #lisp 2020-12-18T07:57:06Z lotuseater joined #lisp 2020-12-18T07:58:22Z jibanes quit (Ping timeout: 260 seconds) 2020-12-18T08:02:23Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-18T08:03:02Z atomik_dog joined #lisp 2020-12-18T08:04:35Z luckless_ joined #lisp 2020-12-18T08:04:59Z jibanes joined #lisp 2020-12-18T08:05:20Z gaqwas joined #lisp 2020-12-18T08:05:20Z gaqwas quit (Changing host) 2020-12-18T08:05:20Z gaqwas joined #lisp 2020-12-18T08:06:31Z rjcks joined #lisp 2020-12-18T08:06:38Z atomik quit (Ping timeout: 268 seconds) 2020-12-18T08:12:51Z andreyorst joined #lisp 2020-12-18T08:17:44Z andreyorst quit (Ping timeout: 268 seconds) 2020-12-18T08:26:40Z andreyorst` joined #lisp 2020-12-18T08:30:50Z Alfr_ quit (Remote host closed the connection) 2020-12-18T08:31:13Z Alfr_ joined #lisp 2020-12-18T08:34:34Z random-nick joined #lisp 2020-12-18T08:34:57Z rgherdt joined #lisp 2020-12-18T08:40:37Z pve joined #lisp 2020-12-18T08:41:03Z rogersm joined #lisp 2020-12-18T08:55:48Z vegansbane6 quit (Ping timeout: 260 seconds) 2020-12-18T08:56:42Z imode quit (Ping timeout: 256 seconds) 2020-12-18T08:58:45Z vegansbane6 joined #lisp 2020-12-18T09:00:05Z camlriot42 quit (Quit: Idle for 30+ days) 2020-12-18T09:07:01Z hendursa1 joined #lisp 2020-12-18T09:08:43Z hendursaga quit (Ping timeout: 240 seconds) 2020-12-18T09:12:50Z shka_ quit (Remote host closed the connection) 2020-12-18T09:14:02Z treflip quit (Quit: WeeChat 2.6) 2020-12-18T09:19:58Z jprajzne joined #lisp 2020-12-18T09:23:08Z mbomba joined #lisp 2020-12-18T09:36:09Z spainisnotequal joined #lisp 2020-12-18T09:37:29Z gxt quit (Quit: WeeChat 2.9) 2020-12-18T09:39:18Z saganman quit (Ping timeout: 265 seconds) 2020-12-18T09:41:53Z hnOsmium0001 quit (Quit: Connection closed for inactivity) 2020-12-18T09:53:55Z rogersm quit (Read error: Connection reset by peer) 2020-12-18T09:54:31Z rogersm joined #lisp 2020-12-18T10:00:07Z duuqnd joined #lisp 2020-12-18T10:03:36Z nostoi quit (Quit: Verlassend) 2020-12-18T10:08:05Z kam1 quit (Ping timeout: 240 seconds) 2020-12-18T10:08:29Z kam1 joined #lisp 2020-12-18T10:13:26Z wxie quit (Quit: wxie) 2020-12-18T10:18:08Z iskander- joined #lisp 2020-12-18T10:18:16Z iskander quit (Ping timeout: 240 seconds) 2020-12-18T10:25:20Z hiroaki joined #lisp 2020-12-18T10:32:57Z galex-713 quit (Ping timeout: 260 seconds) 2020-12-18T10:35:10Z mrcom quit (Quit: This computer has gone to sleep) 2020-12-18T10:38:20Z karlosz quit (Quit: karlosz) 2020-12-18T10:41:32Z shka_ joined #lisp 2020-12-18T10:43:56Z galex-713 joined #lisp 2020-12-18T10:46:58Z hiroaki quit (Ping timeout: 268 seconds) 2020-12-18T10:51:16Z kam1 quit (Ping timeout: 240 seconds) 2020-12-18T10:58:36Z galex-713 quit (Quit: No Ping reply in 180 seconds.) 2020-12-18T11:00:12Z hiroaki joined #lisp 2020-12-18T11:01:02Z akrl quit (Ping timeout: 256 seconds) 2020-12-18T11:05:53Z akrl joined #lisp 2020-12-18T11:06:27Z kevingal joined #lisp 2020-12-18T11:06:38Z mrcom joined #lisp 2020-12-18T11:07:44Z saganman joined #lisp 2020-12-18T11:08:29Z aartaka joined #lisp 2020-12-18T11:11:38Z aartaka_d quit (Ping timeout: 268 seconds) 2020-12-18T11:11:40Z Stanley00 quit (Quit: Nice weekend) 2020-12-18T11:13:24Z saganman quit (Quit: WeeChat 1.6) 2020-12-18T11:13:26Z kevingal quit (Quit: Leaving) 2020-12-18T11:13:40Z saganman joined #lisp 2020-12-18T11:13:42Z kevingal joined #lisp 2020-12-18T11:17:23Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-18T11:18:04Z luckless_ joined #lisp 2020-12-18T11:19:28Z galex-713 joined #lisp 2020-12-18T11:21:04Z surabax joined #lisp 2020-12-18T11:22:11Z skapata joined #lisp 2020-12-18T11:30:43Z spainisnotequal quit (Remote host closed the connection) 2020-12-18T11:32:39Z vegansbane6 quit (Quit: The Lounge - https://thelounge.chat) 2020-12-18T11:33:22Z X-Scale` joined #lisp 2020-12-18T11:34:20Z X-Scale quit (Ping timeout: 265 seconds) 2020-12-18T11:34:20Z X-Scale` is now known as X-Scale 2020-12-18T11:34:22Z EvW joined #lisp 2020-12-18T11:36:57Z fdddd joined #lisp 2020-12-18T11:38:26Z fdddd: (CL) Is it not permitted to have variable number of arguments to a generic function using defmethod? For instance having 2 arguments for some input combinations, and 3 arguments for some other input combinations. 2020-12-18T11:40:03Z phoe: fdddd: yes, but you cannot specialize on optional arguments 2020-12-18T11:40:09Z no-defun-allowed: You can use &optional, &rest and &key as usual for functions, but you cannot specialise on those arguments. 2020-12-18T11:40:14Z phoe: (defgeneric foo (bar baz &optional quux)) 2020-12-18T11:40:24Z phoe: then specialize on BAR and BAZ 2020-12-18T11:40:53Z phoe: if you need a different behavior, then it's common to make QUUX optional but pass NIL in some cases to it - see e.g. MOP:ENSURE-GENERIC-FUNCTION for an example. 2020-12-18T11:40:57Z phoe: mop ensure-generic-function 2020-12-18T11:40:58Z specbot: http://metamodular.com/CLOS-MOP/ensure-generic-function.html 2020-12-18T11:41:09Z phoe: uh wait not that 2020-12-18T11:41:11Z phoe: clhs ensure-class 2020-12-18T11:41:11Z specbot: Couldn't find anything for ensure-class. 2020-12-18T11:41:28Z phoe: clhs ensure-class-using-class 2020-12-18T11:41:28Z specbot: Couldn't find anything for ensure-class-using-class. 2020-12-18T11:41:41Z phoe: there - the CLASS argument is either a class metaobject or NIL 2020-12-18T11:42:16Z fdddd: Oh I see. I was specializing on the third parameter in one case, but I might just rename the method that takes only 2 arguments since it's a special case and for internal use only. 2020-12-18T11:42:33Z phoe: that would be even better 2020-12-18T11:42:38Z jprajzne quit (Ping timeout: 260 seconds) 2020-12-18T11:42:49Z phoe: especially if your GF is a part of your external API 2020-12-18T11:44:29Z Necktwi quit (Ping timeout: 265 seconds) 2020-12-18T11:44:58Z joaot joined #lisp 2020-12-18T11:45:02Z jprajzne joined #lisp 2020-12-18T11:45:46Z Necktwi joined #lisp 2020-12-18T11:46:10Z fdddd: Another question: Is it unwise/not possible to reuse accessor names for slots of different classes in the same package? Was reading yesterday about packages and from what I could understand the symbol used by each method (i.e. accessors?) had to be "exported" to be used elsewhere (or rather imported by users). Could this conflict with duplicate slot accessor names? 2020-12-18T11:48:56Z X-Scale` joined #lisp 2020-12-18T11:50:05Z X-Scale quit (Ping timeout: 240 seconds) 2020-12-18T11:50:05Z X-Scale` is now known as X-Scale 2020-12-18T11:51:45Z joaot: fdddd 2020-12-18T11:52:04Z joaot: fdddd: Possible and not particularly unwise. 2020-12-18T11:52:12Z kam1 joined #lisp 2020-12-18T11:54:52Z EvW quit (Ping timeout: 260 seconds) 2020-12-18T12:00:31Z jibanes quit (Ping timeout: 246 seconds) 2020-12-18T12:01:06Z vegansbane6 joined #lisp 2020-12-18T12:02:22Z jibanes joined #lisp 2020-12-18T12:07:19Z frost-lab quit (Quit: Connection closed) 2020-12-18T12:09:09Z dhil joined #lisp 2020-12-18T12:12:34Z mbomba quit (Quit: WeeChat 3.0) 2020-12-18T12:19:22Z galex-713 quit (Quit: No Ping reply in 180 seconds.) 2020-12-18T12:20:41Z jackdaniel: there is something about load-time-forms implementation what makes my brain go dizzy each time I work on it 2020-12-18T12:21:01Z jackdaniel: s/implementation/specification/ s/work on it/work on the implementation/ 2020-12-18T12:22:42Z dmc00 quit (Ping timeout: 258 seconds) 2020-12-18T12:23:17Z dmc00 joined #lisp 2020-12-18T12:24:13Z galex-713 joined #lisp 2020-12-18T12:24:43Z heisig joined #lisp 2020-12-18T12:26:43Z kam1 quit (Ping timeout: 272 seconds) 2020-12-18T12:27:13Z kam1 joined #lisp 2020-12-18T12:28:52Z shka_: fdddd: the trick is to think accessors as of any other generic function, that just happens to use cache in the form of the slot 2020-12-18T12:29:26Z hiroaki quit (Ping timeout: 256 seconds) 2020-12-18T12:30:00Z fdddd: shka_: What do you mean by "use cache in the form of the slot"? 2020-12-18T12:31:27Z shka_: i mean that a proper object oriented code does not use data structures with accessors but instead objects embedded within a communication protocol 2020-12-18T12:32:05Z shka_: and if you are doing the former, some of "messages" in the protocol are queries 2020-12-18T12:32:22Z shka_: and those queries just happens to be implemented as reader 2020-12-18T12:32:25Z galex-713 quit (Ping timeout: 272 seconds) 2020-12-18T12:33:50Z shka_: and if so, why it would matter? if you are asking for foo, it does not matter on what you are calling it 2020-12-18T12:34:00Z shka_: as long as you are getting consistent results 2020-12-18T12:34:17Z shka_: fdddd: makes sense? 2020-12-18T12:34:30Z orivej joined #lisp 2020-12-18T12:35:51Z galex-713 joined #lisp 2020-12-18T12:36:33Z cosimone joined #lisp 2020-12-18T12:36:48Z fdddd: I think I see what you mean. If you look at e.g. (foo ...) as the "query" and then give any applicable class you expect to get the foo field as a result either way, e.g. (foo class-x) or (foo class-y). Something like this? 2020-12-18T12:41:52Z galex-713 quit (Read error: Connection reset by peer) 2020-12-18T12:42:04Z galex-713 joined #lisp 2020-12-18T12:43:06Z hiroaki joined #lisp 2020-12-18T12:43:30Z makomo joined #lisp 2020-12-18T12:46:25Z cosimone quit (Remote host closed the connection) 2020-12-18T12:46:41Z cosimone joined #lisp 2020-12-18T12:50:37Z daphnis joined #lisp 2020-12-18T12:51:35Z cosimone quit (Remote host closed the connection) 2020-12-18T12:51:52Z cosimone joined #lisp 2020-12-18T12:54:08Z dddddd quit (Ping timeout: 256 seconds) 2020-12-18T12:54:42Z orivej quit (Ping timeout: 260 seconds) 2020-12-18T12:57:47Z cosimone quit (Remote host closed the connection) 2020-12-18T12:58:58Z dddddd joined #lisp 2020-12-18T12:59:36Z kam1 quit (Ping timeout: 240 seconds) 2020-12-18T12:59:39Z amb007 quit (Read error: Connection reset by peer) 2020-12-18T13:00:45Z amb007 joined #lisp 2020-12-18T13:02:49Z amb007 quit (Read error: Connection reset by peer) 2020-12-18T13:03:57Z amb007 joined #lisp 2020-12-18T13:06:00Z amb007 quit (Read error: Connection reset by peer) 2020-12-18T13:06:37Z amb007 joined #lisp 2020-12-18T13:14:04Z amb007 quit (Read error: Connection reset by peer) 2020-12-18T13:14:30Z amb007 joined #lisp 2020-12-18T13:17:05Z dbotton joined #lisp 2020-12-18T13:18:37Z hiroaki quit (Ping timeout: 260 seconds) 2020-12-18T13:18:37Z amb007 quit (Read error: Connection reset by peer) 2020-12-18T13:19:01Z gko_ joined #lisp 2020-12-18T13:19:47Z amb007 joined #lisp 2020-12-18T13:21:49Z amb007 quit (Read error: Connection reset by peer) 2020-12-18T13:22:01Z amb007 joined #lisp 2020-12-18T13:23:36Z dbotton quit (Quit: This computer has gone to sleep) 2020-12-18T13:27:30Z dbotton joined #lisp 2020-12-18T13:29:55Z amb007 quit (Read error: Connection reset by peer) 2020-12-18T13:30:39Z hiroaki joined #lisp 2020-12-18T13:31:18Z kam1 joined #lisp 2020-12-18T13:32:01Z amb007 joined #lisp 2020-12-18T13:32:12Z EvW joined #lisp 2020-12-18T13:37:15Z kam1 quit (Quit: Quit) 2020-12-18T13:37:31Z kam1 joined #lisp 2020-12-18T13:39:10Z Bike joined #lisp 2020-12-18T13:41:21Z zacts joined #lisp 2020-12-18T13:41:45Z beach: fdddd: Yes, that happens somewhat often, like (NAME ) for instance. 2020-12-18T13:43:20Z zacts quit (Client Quit) 2020-12-18T13:43:30Z beach: fdddd: In older CLOS code, the convention seems to have been to prefix the accessor by some class name, presumably the protocol class, like (SHEET-PARENT ), but I think that is silly, and it is better to use the package system for that kind of stuff. 2020-12-18T13:45:38Z fdddd: beach: So you cannot have 2 classes in the same package with a slot/accessor called e.g. "name"? 2020-12-18T13:45:55Z beach: Yes, you can, and it happens fairly often. 2020-12-18T13:46:06Z beach: You just get two methods on the one generic function. 2020-12-18T13:46:10Z beach: And it's not a problem. 2020-12-18T13:47:38Z fdddd: Ahh I see. Makes sense. I guess I can look at this as working like (defmethod name ((name class-x)) ...) and (defmethod name ((name class-y)) ...) would? 2020-12-18T13:48:03Z beach: Yes, that's what happens really. 2020-12-18T13:48:15Z jackdaniel: I think that having different function names for separate protocols defined in the same package is not silly 2020-12-18T13:48:28Z dbotton quit (Quit: This computer has gone to sleep) 2020-12-18T13:48:54Z beach: jackdaniel: Right. What is silly is to have more than one protocol defined in a single package. 2020-12-18T13:50:06Z beach: But it is possible to have two independent classes be member of the same protocol, and they both have a NAME accessor. 2020-12-18T13:50:11Z beach: I don't see a problem with that. 2020-12-18T13:50:28Z _death: fdddd: you should think about the generic function (say NAME).. you assign it certain semantics, and if a defmethod defined by defclass reader/writer is consistent with these semantics then it's ok 2020-12-18T13:50:54Z joaot: The protocol /is/ NAME, whoever adds methods to that GF is a member of that protocol 2020-12-18T13:50:58Z jackdaniel: I don't see the problem with two classes participating in the ame protocol, but imo having a single package per each protocol is good 2020-12-18T13:51:14Z jackdaniel: a package per protocol* 2020-12-18T13:51:29Z beach: joaot: Not quite. A protocol contains a bunch of generic functions and a bunch of classes. 2020-12-18T13:52:14Z kam1 quit (Quit: Quit) 2020-12-18T13:52:28Z kam1 joined #lisp 2020-12-18T13:52:43Z beach: jackdaniel: I agree (if I understand you right). 2020-12-18T13:53:11Z joaot: CLHS doens't define "protocol" afaik. You can define it the way you like. For me a GF is a protocol, an interface if you prefer. Its docstrings says what goes in and what comes out. 2020-12-18T13:53:24Z beach: I am sorry to hear that. 2020-12-18T13:53:28Z _death: joaot: check out the clim spec 2020-12-18T13:54:01Z _death: or AMOP.. 2020-12-18T13:54:04Z jackdaniel: what I'm saying is that having a single implementation package which hosts multiple protocols makes more sense than having multiple packages for each protocol, even if that implies separate names like sheet-parent and output-record-parent 2020-12-18T13:54:33Z wsinatra joined #lisp 2020-12-18T13:54:55Z joaot: I just know CL, but sure, maybe I shouldn't use the word "protoco"l if its loaded with that specific meaning 2020-12-18T13:54:58Z beach: _death: Also Keene, page 30. 2020-12-18T13:55:21Z beach: joaot: It is already used in a specific way by all the sources cited. 2020-12-18T13:56:10Z joaot: Well it's not in the bible's glossary: http://www.lispworks.com/documentation/lw50/CLHS/Body/26_glo_p.htm :-D 2020-12-18T13:56:20Z joaot: but sure s/protocol/joaosprotocol/g 2020-12-18T13:56:40Z beach: "The generic functions taken together can be called a protocol. A protocol encompasses the complete behavior of the objects in the program." 2020-12-18T13:56:41Z hendursa1 quit (Quit: hendursa1) 2020-12-18T13:56:56Z joaot: I was just trying to convey how I I think about GFs 2020-12-18T13:57:08Z hendursaga joined #lisp 2020-12-18T13:57:49Z _death: beach: nice.. it only speaks of a set of GFs, whereas the clim spec also has a "protocol class" if I recall correctly.. but close enough 2020-12-18T13:58:10Z beach: Yes, protocol classes can be included, and initargs. 2020-12-18T13:58:59Z _death: joaot: it's true that a protocol may consist of a single GF and nothing more 2020-12-18T13:59:29Z joaot: _death: Though in practice it seldom does. Yes, a GF is a only a piece of a protocol 2020-12-18T14:00:53Z hendursaga quit (Remote host closed the connection) 2020-12-18T14:00:54Z joaot: What I find hard to convey no people from other languages is that one can use the same GF across different classes of objects. And that it's fine to do that. 2020-12-18T14:01:20Z kam1 quit (Quit: Quit) 2020-12-18T14:01:33Z kam1 joined #lisp 2020-12-18T14:02:07Z beach: joaot: You can do what I have practiced for a long time. Avoid trying to make those people understand by not talking about Common Lisp to them. 2020-12-18T14:02:41Z phoe: beach: kinda not viable in the long run 2020-12-18T14:02:43Z joaot: Heh, the high-horse approach 2020-12-18T14:03:02Z beach: phoe: I just let people like you do it in my place. :) 2020-12-18T14:03:09Z _death: or talk Common Lisp to them and leave it to them to understand ;) 2020-12-18T14:03:17Z phoe: beach: hah 2020-12-18T14:03:34Z phoe: touché 2020-12-18T14:03:38Z beach: :) 2020-12-18T14:03:44Z hendursaga joined #lisp 2020-12-18T14:03:46Z dbotton joined #lisp 2020-12-18T14:04:03Z Fare joined #lisp 2020-12-18T14:04:27Z jmercouris: any pure Lisp sqlite libraries not relying on a shared library? 2020-12-18T14:04:36Z phoe: jmercouris: you mean not relying on libsqlite? 2020-12-18T14:04:44Z phoe: you can't have that 2020-12-18T14:04:49Z jmercouris: I see, why not? 2020-12-18T14:04:54Z phoe: mostly because sqlite only has one real implementation, AFAIK 2020-12-18T14:04:55Z jmercouris: because API changes? 2020-12-18T14:05:01Z jmercouris: OK, fair enough 2020-12-18T14:05:02Z phoe: and that implementation is written in C. 2020-12-18T14:05:16Z jmercouris: well yeah, but sqlite files should be readable by anything really 2020-12-18T14:05:25Z phoe: yes, but that requires reimplementing sqlite. 2020-12-18T14:05:29Z jmercouris: yes 2020-12-18T14:05:31Z phoe: or at least a large chunk of it 2020-12-18T14:05:35Z jmercouris: that's basically what I was asking 2020-12-18T14:05:51Z jmercouris: I guess it is not public API then 2020-12-18T14:05:53Z phoe: and I'm not of aware of any project that reimplements that part, even outside Lisp 2020-12-18T14:06:10Z jmercouris: one more question 2020-12-18T14:06:16Z jmercouris: any open source documentation libraries? 2020-12-18T14:06:19Z phoe: the format seems well specified at https://www.sqlite.org/fileformat.html 2020-12-18T14:06:21Z jmercouris: something like Dash, but open source? 2020-12-18T14:06:43Z phoe: MGL-PAX was recently on reddit; something like that? 2020-12-18T14:06:46Z beach: Wow, the stuff #lisp participants are expected to know. 2020-12-18T14:06:57Z jmercouris: hm, that is quite well specified 2020-12-18T14:07:24Z jmercouris: :-) 2020-12-18T14:07:34Z jmercouris: not like MGL-PAX, I'm looking for datasets that I can parse in Lisp 2020-12-18T14:07:47Z jmercouris: I looked at Dash, but their license seems to imply I cannot use the database 2020-12-18T14:08:02Z jmercouris: "You are not allowed to distribute or make use of any of the files within this folder ("Resources") without written permission from Kapeli or whilst using the Dash app developed by Kapeli. This does not apply to the files located within the "Documents" folder." 2020-12-18T14:08:19Z jmercouris: the part that gets me is the 'make use of' 2020-12-18T14:08:35Z jmercouris: otherwise I could produce some derivative from the data, not sure if that is even an enforcable clause 2020-12-18T14:08:40Z phoe: what's your use case though? 2020-12-18T14:08:44Z jmercouris: Imagine a book that said 'you are not allowed to make usage of the information in this book' 2020-12-18T14:09:00Z jmercouris: I am trying to make a documentation reader/helper for Nyxt 2020-12-18T14:09:08Z phoe: oh, I see 2020-12-18T14:09:20Z phoe: something like ccldoc perhaps. 2020-12-18T14:09:32Z Bike: that clause sounds enforceable to me, and anyway you probably shouldn't "agree" to a contract/license based on the idea that it's not real 2020-12-18T14:09:33Z phoe: it could use some polish and modernization mayhaps 2020-12-18T14:09:35Z Bike: or so i've heard lawyers say 2020-12-18T14:09:35Z jmercouris: yeah that would work, I'm not super worried about the format of the data 2020-12-18T14:10:01Z jmercouris: Bike: can you rephrase, I don't understand what you've said, and I will not construe it as legal advice :-D 2020-12-18T14:10:06Z Bike: that is kind of an annoying sounding license though 2020-12-18T14:10:32Z jmercouris: phoe: the value is in the datasets, I can make whatever parser is necessary 2020-12-18T14:10:43Z jmercouris: I've thought about reindexing the dash datasets using our text analysis technology in Nyxt 2020-12-18T14:10:52Z jmercouris: however, will it ever be as good as hand curated datasets? 2020-12-18T14:10:59Z phoe: jmercouris: what do you mean, "datasets"?\ 2020-12-18T14:11:02Z jmercouris: it may be more extensive, but resulting in more false positives 2020-12-18T14:11:28Z jmercouris: so a dash docset contains a sqlite database file, three columns: "name, type, path" 2020-12-18T14:11:42Z jmercouris: example CL print function, "print, function, clhs path to print function" 2020-12-18T14:11:58Z jmercouris: it also contains a 'documents' directory that contains all of the assets pointed to by the database 2020-12-18T14:12:10Z phoe: okay, the API seems similar to that of #'CL:DOCUMENTATION 2020-12-18T14:12:20Z jmercouris: yeah, it isn't particularly novel 2020-12-18T14:12:24Z jmercouris: I don't care so much about the format though 2020-12-18T14:12:31Z jmercouris: I care mostly about the availability of data 2020-12-18T14:12:54Z jmercouris: s/data/sanitized processed data 2020-12-18T14:13:46Z dbotton: Phoe I am using mgl-pax, I am enjoying the doc -> markdown etc but then I like to document as I write code 2020-12-18T14:17:42Z phoe: what sorta datasets are you looking for? that no longer sounds strictly Lisp-related 2020-12-18T14:18:08Z jmercouris: well, it isn't strictly Lisp specific... I'm looking for any documentation format/data that is widely adopted/used 2020-12-18T14:18:16Z jmercouris: can't seem to find anything besides dash 2020-12-18T14:18:27Z dbotton: Info like in emacs? 2020-12-18T14:18:27Z jmercouris: why is it related to lisp? should I find this dataset, it will gain a Lisp interface :-D 2020-12-18T14:19:09Z jmercouris: I guess you could say that 2020-12-18T14:20:41Z jmercouris: hm, closest parallel: https://github.com/zealdocs/zeal 2020-12-18T14:21:16Z daphnis quit (Ping timeout: 240 seconds) 2020-12-18T14:27:13Z gxt joined #lisp 2020-12-18T14:30:12Z EvW quit (Ping timeout: 268 seconds) 2020-12-18T14:38:04Z mfiano quit (Ping timeout: 256 seconds) 2020-12-18T14:41:35Z mfiano joined #lisp 2020-12-18T14:45:16Z ex_nihilo quit (Quit: Leaving) 2020-12-18T14:45:45Z dbotton: Beach I am switching my base to use the defgenerics to document etc, if I have a key with a default value that is not expressed, would you just mention that in your :documentation on the defgeneric? 2020-12-18T14:45:49Z kaftejiman joined #lisp 2020-12-18T14:48:21Z dbotton: (defgeneric create-child (clog-obj html &key auto-place) 2020-12-18T14:48:21Z dbotton: (:documentation "Create a new CLOG-OBJ from HTML element as child of OBJ and if :AUTO-PLACE 2020-12-18T14:48:21Z dbotton: place-inside-bottom-of OBJ (defaults to t)")) 2020-12-18T14:49:20Z _death: yes.. and note that defgeneric documentation should be both for callers and for specializers 2020-12-18T14:49:55Z dbotton: Ok 2020-12-18T14:49:57Z _death: it may make sense to split the audience, so that there are two functions 2020-12-18T14:50:47Z dbotton: So no issue to redefine a generic? 2020-12-18T14:52:24Z jibanes quit (Ping timeout: 268 seconds) 2020-12-18T14:52:27Z beach: Yes, I tend to agree with _death. 2020-12-18T14:52:54Z _death: what I mean is two have a create-child function for callers (that takes the keyword arguments), and a create-child-gf (think of a better name) that takes 3 required arguments, for example 2020-12-18T14:53:00Z beach: Generic functions can be redefined. 2020-12-18T14:53:02Z _death: *to have 2020-12-18T14:53:33Z beach: dbotton: What _death is saying is a very common practice. 2020-12-18T14:53:34Z jibanes joined #lisp 2020-12-18T14:53:59Z waleee-cl joined #lisp 2020-12-18T14:54:21Z beach: dbotton: For example WRITE-CHAR may call STREAM-WRITE-CHAR with two required arguments. 2020-12-18T14:55:02Z beach: dbotton: It is then also common to have the end-user function be an ordinary function (like WRITE-CHAR). 2020-12-18T14:55:18Z _death: right, and sometimes that kind of separation leads to a better protocol, which Gray streams miss because they mostly parrot the caller interface 2020-12-18T14:56:51Z lotuseat` joined #lisp 2020-12-18T14:57:41Z dbotton: So you end up with two protocols in the end? are you keeping both in same file (I assume same package)? 2020-12-18T14:57:54Z dbotton: One to use one to extend 2020-12-18T14:58:33Z _death: here's an old rant https://gist.github.com/death/5356be28dc3332caa189c91880fe12c6 2020-12-18T14:58:50Z lotuseater quit (Ping timeout: 264 seconds) 2020-12-18T14:59:39Z beach: dbotton: Whether you consider them part of the same protocol or two separate protocols is not terribly important. They can be in the same package or in different packages. 2020-12-18T14:59:41Z rpg_away quit (Quit: Textual IRC Client: www.textualapp.com) 2020-12-18T15:00:43Z lotuseat` is now known as lotuseater 2020-12-18T15:01:20Z toorevitimirp quit (Remote host closed the connection) 2020-12-18T15:02:23Z beach: dbotton: For example, in SICL, the function FLOOR (with one required and one optional parmeter) and the generic version GENERIC-FLOOR (with two required parameters) are both defined in the package SICL-ARITHMETIC. However, since that package :USEs the COMMON-LISP package, FLOOR is the symbol in the COMMON-LISP package and GENERIC-FLOOR is a symbol in the SICL-ARITHMETIC package. 2020-12-18T15:04:43Z beach: So FLOOR is defined like this: (defun floor (number &optional (divisor 1)) (generic-floor number divisor)) with no additional package prefixes and such. 2020-12-18T15:05:15Z dbotton: ok 2020-12-18T15:05:31Z dbotton: I'll think it through 2020-12-18T15:06:00Z jmercouris: how to download a file through dexador get? should I write the body to a file stream? 2020-12-18T15:06:43Z jmercouris: I won't be able to extract a tar file in Lisp either... will I? 2020-12-18T15:07:10Z phoe: jmercouris: there are deflate decoders in lisp 2020-12-18T15:07:48Z jmercouris: chipz? 2020-12-18T15:07:53Z _death: and a library called "archive" 2020-12-18T15:08:29Z jmercouris: not the easiest library to search for 2020-12-18T15:08:46Z _death: (ql:system-apropos "archive") pretty easy 2020-12-18T15:08:57Z jmercouris: https://www.cliki.net/compression 2020-12-18T15:09:01Z jmercouris: _death: 11 2020-12-18T15:09:34Z shinohai: jmercouris: with chipz https://dpaste.com/9EYWE7KR9 2020-12-18T15:10:01Z jmercouris: shinohai: thank you 2020-12-18T15:10:45Z shinohai: np forgot where I found that tidbit, used it for a script a couple years ago, but worked a++ 2020-12-18T15:11:05Z jmercouris: not the most straightforward looking API 2020-12-18T15:11:18Z jmercouris: would have taken me a while 2020-12-18T15:12:08Z shinohai: I tried using an ugly uiop:run-program hack, but had mixed results. xD 2020-12-18T15:12:21Z jmercouris: I was very close to doing that myself as well 2020-12-18T15:18:00Z rpg joined #lisp 2020-12-18T15:21:10Z jmercouris: what is wrong with: https://dpaste.com/DSA6XBDRP ? 2020-12-18T15:21:20Z jmercouris: trying to write a octect vector to a file... 2020-12-18T15:23:23Z _death: you need :element-type '(unsigned-byte 8) 2020-12-18T15:23:37Z _death: also, I think you can get dex:get to get you a stream 2020-12-18T15:23:52Z jmercouris: I believe you are right about the stream 2020-12-18T15:24:22Z sjl joined #lisp 2020-12-18T15:24:30Z _death: (why can't these things take a stream?) 2020-12-18T15:24:36Z kam1 quit (Ping timeout: 240 seconds) 2020-12-18T15:25:08Z jmercouris: thanks _death 2020-12-18T15:25:14Z jmercouris: I had forgotten that 2020-12-18T15:28:22Z entre-parenteses joined #lisp 2020-12-18T15:30:38Z wsinatra quit (Ping timeout: 264 seconds) 2020-12-18T15:31:15Z jonatack quit (Ping timeout: 268 seconds) 2020-12-18T15:31:39Z aartaka quit (Ping timeout: 272 seconds) 2020-12-18T15:32:25Z wsinatra joined #lisp 2020-12-18T15:33:11Z gaqwas quit (Remote host closed the connection) 2020-12-18T15:33:45Z gko_ quit (Ping timeout: 240 seconds) 2020-12-18T15:35:51Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-18T15:36:33Z beach: phoe: Can you explain in a sentence or two why restart-case checks whether the restartable-form is a signaling form? 2020-12-18T15:37:32Z phoe: beach: condition-restart association. 2020-12-18T15:37:49Z beach: Is that a requirement? 2020-12-18T15:37:49Z phoe: clhs restart-case 2020-12-18T15:37:50Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/m_rst_ca.htm 2020-12-18T15:37:58Z phoe: "If the restartable-form is a list whose car is any of the symbols signal, error, cerror, or warn (or is a macro form which macroexpands into such a list), then with-condition-restarts is used implicitly to associate the indicated restarts with the condition to be signaled." 2020-12-18T15:37:59Z shka_: fdddd: for what is worth i subscribe to _death point of view 2020-12-18T15:38:04Z phoe: Yes, this is mandatory. 2020-12-18T15:38:09Z beach: Got it. Thanks! 2020-12-18T15:38:29Z beach: I should have read more carefully before asking. Sorry about that. 2020-12-18T15:38:44Z phoe: no problem, I have the condition system in my caches so it's much easier for me to answer 2020-12-18T15:38:54Z beach: True dat. 2020-12-18T15:40:04Z phoe: especially with regard to really hipster features of the condition system that most people don't even notice most of the time, such as condition-restart association 2020-12-18T15:40:14Z phoe: or handler clustering. 2020-12-18T15:40:29Z beach: Sure. 2020-12-18T15:40:32Z fdddd quit (Remote host closed the connection) 2020-12-18T15:43:51Z daphnis joined #lisp 2020-12-18T15:45:35Z aindilis` quit (Remote host closed the connection) 2020-12-18T15:47:12Z aindilis joined #lisp 2020-12-18T15:53:06Z kevingal: Anyone know how to increase dynamic heap size when you're using Portacle? I've tried adding `(setq inferior-lisp-program "sbcl --dynamic-space-size 10240")` to user.cl, but no luck. And grepping the Portacle directories for "inferior-lisp-program" doesn't bring up anything obvious. 2020-12-18T15:55:10Z _death: try (setq slime-default-lisp 'sbcl slime-lisp-implementations '((sbcl ("sbcl" "--dynamic-space-size" "10GB")))) 2020-12-18T15:55:11Z _death: 2020-12-18T15:56:16Z _death: I don't use portacle, but that's similar to what I have in my .emacs 2020-12-18T15:56:50Z kevingal: I see, I found some config where Portacle sets slime-lisp-implementations. 2020-12-18T15:57:54Z kevingal: Somehow missed this answer: https://stackoverflow.com/a/10872585/1840198 2020-12-18T15:57:57Z kevingal: Well, cheers! 2020-12-18T15:58:31Z jibanes quit (Ping timeout: 258 seconds) 2020-12-18T15:58:35Z jmercouris: cheers :-) 2020-12-18T15:59:11Z _death: kevingal: btw your name sounded familiar.. turns out I liked your blog posts ;) 2020-12-18T15:59:44Z jmercouris: A compliment from _death ! record the date! :-D 2020-12-18T16:00:11Z jmercouris: and beach used slang, what is going on in 2020 2020-12-18T16:00:14Z jibanes joined #lisp 2020-12-18T16:00:21Z kevingal: Someone reads those? :D 2020-12-18T16:00:34Z shka_: apparently so 2020-12-18T16:00:48Z jmercouris: You'd be surprised how many people silently consume resources 2020-12-18T16:00:52Z jmercouris: we are the minority actually speaking 2020-12-18T16:01:03Z daphnis quit (Ping timeout: 260 seconds) 2020-12-18T16:01:25Z kevingal: I'm a mostly silent consumer myself, for shame. 2020-12-18T16:01:59Z jackdaniel: given how much low quality material is distributed over the internet it is hard to find good reads anyway 2020-12-18T16:02:07Z kam1 joined #lisp 2020-12-18T16:02:07Z phoe: https://en.wikipedia.org/wiki/1%25_rule_(Internet_culture) 2020-12-18T16:02:18Z beach: jmercouris: What slang? 2020-12-18T16:02:27Z jmercouris: beach: "True dat." 2020-12-18T16:02:31Z beach: Ah, heh. 2020-12-18T16:02:45Z jmercouris: real talk true story 2020-12-18T16:02:46Z loke[m]: Argh... Is there a way to get a git log of a repository without doing a clone? 2020-12-18T16:02:47Z shka_: uhm 2020-12-18T16:02:49Z shka_: that happend 2020-12-18T16:02:55Z jmercouris: loke[m]: no 2020-12-18T16:02:57Z shka_: yes it did 2020-12-18T16:03:06Z aartaka joined #lisp 2020-12-18T16:03:15Z jmercouris: loke[m]: creating the log requires a copy of the repository 2020-12-18T16:03:35Z loke[m]: jmercouris: All I want is the ID of the most recent commit on master actually. 2020-12-18T16:03:38Z jmercouris: loke[m]: the remote machine could make the log for you 2020-12-18T16:03:49Z loke[m]: I'm building a script that generated a Climaxima build and it needs those build ID's. 2020-12-18T16:03:55Z jmercouris: loke[m]: you will still need to query the remote machine 2020-12-18T16:03:59Z loke[m]: Sure. 2020-12-18T16:04:07Z loke[m]: But I don't want to have to do a clone. 2020-12-18T16:04:11Z jmercouris: yes 2020-12-18T16:04:27Z jmercouris: so you are better of implementing the script that returns the latest commit and running it on the other machine 2020-12-18T16:04:32Z loke[m]: For Maxima in particular, a full clone takes a ridiculous amount of time, when all I need is the build id. 2020-12-18T16:04:33Z jmercouris: if you don't have control of the other machine, it is not possible 2020-12-18T16:04:44Z loke[m]: The other machine is Sourceforge 2020-12-18T16:04:52Z jmercouris: perhaps it is in their API 2020-12-18T16:04:57Z loke[m]: I think github has an API for it, but SF? 2020-12-18T16:05:45Z jmercouris: I'm not familiar I'm afraid 2020-12-18T16:05:48Z scymtym: loke[m]: some invocation of git ls-remote should do that 2020-12-18T16:06:04Z loke[m]: aha 2020-12-18T16:06:45Z loke[m]: scymtym: that's it! Thanks. 2020-12-18T16:06:47Z jmercouris: thats incredibly useful 2020-12-18T16:06:58Z loke[m]: `git ls-remote url refs/heads/master` 2020-12-18T16:07:02Z scymtym: loke[m]: https://github.com/RDTK/generator/blob/master/src/analysis/git.lisp#L349 2020-12-18T16:12:02Z Josh_2 joined #lisp 2020-12-18T16:12:03Z duuqnd quit (Remote host closed the connection) 2020-12-18T16:12:31Z duuqnd joined #lisp 2020-12-18T16:18:19Z andreyorst` quit (Quit: andreyorst`) 2020-12-18T16:20:43Z andreyorst joined #lisp 2020-12-18T16:28:58Z amb007 quit (Ping timeout: 256 seconds) 2020-12-18T16:29:13Z amb007 joined #lisp 2020-12-18T16:30:01Z Josh_2 quit (Remote host closed the connection) 2020-12-18T16:30:18Z Josh_2 joined #lisp 2020-12-18T16:33:17Z Josh_2 quit (Remote host closed the connection) 2020-12-18T16:33:35Z Josh_2 joined #lisp 2020-12-18T16:34:35Z Josh_2 quit (Read error: Connection reset by peer) 2020-12-18T16:35:30Z rpg joined #lisp 2020-12-18T16:36:22Z matryoshka quit (Ping timeout: 260 seconds) 2020-12-18T16:39:47Z matryoshka joined #lisp 2020-12-18T16:45:00Z dmiles quit (Ping timeout: 256 seconds) 2020-12-18T16:46:51Z cosimone joined #lisp 2020-12-18T16:48:24Z vhost- quit (Ping timeout: 256 seconds) 2020-12-18T16:53:01Z vhost- joined #lisp 2020-12-18T16:53:50Z dbotton quit (Read error: Connection reset by peer) 2020-12-18T16:54:12Z dbotton joined #lisp 2020-12-18T16:54:43Z hendursaga quit (Ping timeout: 240 seconds) 2020-12-18T16:56:16Z dbotton quit (Read error: Connection reset by peer) 2020-12-18T16:56:40Z dbotton joined #lisp 2020-12-18T16:56:43Z kam1 quit (Remote host closed the connection) 2020-12-18T16:58:03Z kam1 joined #lisp 2020-12-18T16:58:57Z EvW joined #lisp 2020-12-18T17:00:53Z Lord_of_Life_ joined #lisp 2020-12-18T17:01:39Z dbotton quit (Quit: Leaving) 2020-12-18T17:01:54Z Lord_of_Life quit (Ping timeout: 268 seconds) 2020-12-18T17:02:13Z Lord_of_Life_ is now known as Lord_of_Life 2020-12-18T17:08:02Z kam1 quit (Ping timeout: 272 seconds) 2020-12-18T17:31:43Z yitzi joined #lisp 2020-12-18T17:32:09Z joaot quit (Ping timeout: 245 seconds) 2020-12-18T17:33:40Z kam1 joined #lisp 2020-12-18T17:35:58Z iskander joined #lisp 2020-12-18T17:36:43Z iskander- quit (Ping timeout: 260 seconds) 2020-12-18T17:42:22Z jdz: loke[m]: It's possible to make a shallow clone (--depth 1). 2020-12-18T17:42:36Z wsinatra quit (Ping timeout: 240 seconds) 2020-12-18T17:42:48Z kam1 quit (Ping timeout: 256 seconds) 2020-12-18T17:44:50Z wsinatra joined #lisp 2020-12-18T17:47:28Z matryoshka quit (Ping timeout: 265 seconds) 2020-12-18T17:50:47Z zulu-inuoe quit (Quit: Leaving) 2020-12-18T17:51:00Z Steeve joined #lisp 2020-12-18T17:55:33Z matryoshka joined #lisp 2020-12-18T18:07:33Z orivej joined #lisp 2020-12-18T18:09:17Z pankajsg quit (Ping timeout: 256 seconds) 2020-12-18T18:14:17Z Nilby joined #lisp 2020-12-18T18:15:45Z aartaka quit (Read error: Connection reset by peer) 2020-12-18T18:15:50Z aartaka_d joined #lisp 2020-12-18T18:20:12Z aartaka_d quit (Ping timeout: 256 seconds) 2020-12-18T18:21:56Z cosimone_ joined #lisp 2020-12-18T18:23:09Z EvW1 joined #lisp 2020-12-18T18:24:06Z pyc: Here is my code and output: https://pastebin.com/We9Ka4aq Why does hunchentoot not start and listen on port 4242 when I run this code? 2020-12-18T18:25:07Z EvW quit (Ping timeout: 260 seconds) 2020-12-18T18:25:46Z cosimone quit (Ping timeout: 268 seconds) 2020-12-18T18:25:46Z cosimone_ is now known as cosimone 2020-12-18T18:28:21Z akoana joined #lisp 2020-12-18T18:28:30Z rpg: pyc: What do you see when you hit port 4242? How do you know that hunchentoot didn't start? What happens if you do (trace hunchentoot:start) ? 2020-12-18T18:28:47Z EvW1 quit (Ping timeout: 258 seconds) 2020-12-18T18:29:25Z pyc: rpg: oh! it did start! 2020-12-18T18:30:57Z pyc: Is it common to have (ql:quickload ...) expressions in the main source code? 2020-12-18T18:31:50Z lotuseater: hm i think yes for standalone files or "scripts" 2020-12-18T18:33:04Z daphnis joined #lisp 2020-12-18T18:33:31Z pyc: lotuseater: in which case (ql:quickload ...) should not be part of the main source code? 2020-12-18T18:33:34Z lotuseater: you may have same in the rc file for your implementation eg .sbclrc 2020-12-18T18:34:07Z lotuseater: pyc: for defined packages and asdf systems 2020-12-18T18:34:31Z Steeve quit (Quit: end) 2020-12-18T18:35:25Z Inline joined #lisp 2020-12-18T18:35:27Z quack14 joined #lisp 2020-12-18T18:37:36Z rogersm quit (Ping timeout: 258 seconds) 2020-12-18T18:38:08Z rogersm joined #lisp 2020-12-18T18:38:50Z rpg: pyc: If you build a more substantial system for your web server, it would be normal to put the dependency on hunchentoot into your own (ASDF) system definition. But for this kind of early experimentation, what you are doing is fine (IMO). 2020-12-18T18:39:03Z EvW joined #lisp 2020-12-18T18:40:30Z wsinatra quit (Ping timeout: 272 seconds) 2020-12-18T18:44:12Z wsinatra joined #lisp 2020-12-18T18:44:23Z rogersm quit (Quit: Leaving...) 2020-12-18T18:45:18Z dbotton joined #lisp 2020-12-18T18:50:48Z daphnis quit (Ping timeout: 260 seconds) 2020-12-18T18:51:12Z dbotton quit (Quit: Leaving) 2020-12-18T18:52:04Z puchacz joined #lisp 2020-12-18T18:53:04Z iskander quit (Ping timeout: 256 seconds) 2020-12-18T18:53:19Z puchacz: hi, does anybody know how Eitaro Fukamachi was launching sbcl from node.js to build an electron application? 2020-12-18T18:53:44Z puchacz: I found slides about this https://www.slideshare.net/fukamachi/building-gui-app-with-electron-and-lisp 2020-12-18T18:54:03Z puchacz: maybe if I knew node.js it would be obvious how to do it :) 2020-12-18T18:54:20Z imode joined #lisp 2020-12-18T18:56:00Z pyc: How is that both (ql:quickload "hunchentoot") and (ql:quickload :hunchentoot) work fine? Is one of them preferred over the other? 2020-12-18T18:56:40Z puchacz: pyc - this function takes a "string designator" as the argument type presumably 2020-12-18T18:56:47Z phoe: ^ 2020-12-18T18:56:53Z cognemo quit (Quit: cognemo) 2020-12-18T18:57:27Z puchacz: so you have a few types defined in CLHS that coercible to string and how the coercion / conversion is done 2020-12-18T18:57:38Z puchacz: keywords, symbols, strings themselves 2020-12-18T18:57:48Z puchacz: not sure what else 2020-12-18T18:57:56Z cognemo joined #lisp 2020-12-18T18:58:21Z phoe: AFAIR characters denote single-element strings 2020-12-18T18:58:46Z phoe: yes, characters + symbols + strings 2020-12-18T18:59:50Z entre-parenteses: puchacz: I can't say for sure, but he may have been using ceramic? 2020-12-18T18:59:54Z entre-parenteses: puchacz: https://ceramic.github.io/ 2020-12-18T19:00:39Z puchacz: entre-parenteses - I don't think so, ceremic is the other way round - Lisp starts chrome process, and there is no node.js I think 2020-12-18T19:00:41Z jonatack joined #lisp 2020-12-18T19:00:55Z puchacz: I would evaluate both ways with or without node 2020-12-18T19:02:27Z puchacz: this slide: https://image.slidesharecdn.com/building-gui-with-lisp-170327133733/95/building-gui-app-with-electron-and-lisp-28-638.jpg?cb=1490627834 2020-12-18T19:02:43Z entre-parenteses: Oh, yeah. I guess I misread your question. Node.js has this: https://nodejs.org/docs/latest-v13.x/api/child_process.html that might do it? 2020-12-18T19:03:21Z puchacz: if you know node.js, does it sound like the right way :) ? I intend to learn just enough node.js to try his way :) 2020-12-18T19:03:37Z yitzi quit (Quit: yitzi) 2020-12-18T19:03:54Z yitzi joined #lisp 2020-12-18T19:04:15Z susam: Time and again I mistype `M-x slime` as `M-x smile`. Something wrong with the wiring in my brain I guess. 2020-12-18T19:04:26Z susam: By the way, `:smile` happens to be a valid command in Vim. 2020-12-18T19:06:36Z entre-parenteses: I'd assume this is at least acceptable given it's part of the API but I couldn't say, for sure, if that's the "right way". I only know enough about node to be able to do some side projects - I've never used it in a professional capacity that would require me to know the right way of doing things. 2020-12-18T19:06:52Z entre-parenteses: Sorry I don't have a better answer for you. 2020-12-18T19:06:53Z amb007 quit (Read error: Connection reset by peer) 2020-12-18T19:07:03Z puchacz: thanks 2020-12-18T19:07:10Z amb007 joined #lisp 2020-12-18T19:08:18Z jonatack quit (Ping timeout: 260 seconds) 2020-12-18T19:09:36Z amb007 quit (Read error: Connection reset by peer) 2020-12-18T19:09:53Z amb007 joined #lisp 2020-12-18T19:10:19Z jonatack joined #lisp 2020-12-18T19:13:14Z heisig quit (Ping timeout: 256 seconds) 2020-12-18T19:13:25Z Blukunfando quit (Ping timeout: 264 seconds) 2020-12-18T19:15:30Z frgo_ quit 2020-12-18T19:15:30Z amb007 quit (Read error: Connection reset by peer) 2020-12-18T19:16:42Z amb007 joined #lisp 2020-12-18T19:16:57Z liberliver quit (Ping timeout: 268 seconds) 2020-12-18T19:21:40Z amb007 quit (Read error: Connection reset by peer) 2020-12-18T19:22:08Z yitzi quit (Quit: yitzi) 2020-12-18T19:22:22Z yitzi joined #lisp 2020-12-18T19:22:31Z hal99999 joined #lisp 2020-12-18T19:22:46Z Misha_B joined #lisp 2020-12-18T19:23:31Z amb007 joined #lisp 2020-12-18T19:25:49Z amb007 quit (Read error: Connection reset by peer) 2020-12-18T19:26:18Z amb007 joined #lisp 2020-12-18T19:28:25Z amb007 quit (Read error: Connection reset by peer) 2020-12-18T19:28:38Z jonatack quit (Ping timeout: 272 seconds) 2020-12-18T19:29:02Z jonatack joined #lisp 2020-12-18T19:29:35Z amb007 joined #lisp 2020-12-18T19:31:55Z hal100000 joined #lisp 2020-12-18T19:31:57Z amb007 quit (Read error: Connection reset by peer) 2020-12-18T19:32:28Z amb007 joined #lisp 2020-12-18T19:33:36Z hal99999 quit (Ping timeout: 240 seconds) 2020-12-18T19:35:47Z mrchampion quit (Remote host closed the connection) 2020-12-18T19:36:28Z andreyorst quit (Ping timeout: 256 seconds) 2020-12-18T19:39:05Z amb007 quit (Read error: Connection reset by peer) 2020-12-18T19:39:46Z amb007 joined #lisp 2020-12-18T19:42:14Z amb007 quit (Read error: Connection reset by peer) 2020-12-18T19:42:51Z amb007 joined #lisp 2020-12-18T19:44:14Z mrchampion joined #lisp 2020-12-18T19:44:15Z amb007 quit (Read error: Connection reset by peer) 2020-12-18T19:44:21Z amb007 joined #lisp 2020-12-18T19:44:35Z cosimone quit (Quit: cosimone) 2020-12-18T19:49:09Z amb007 quit (Read error: Connection reset by peer) 2020-12-18T19:49:55Z amb007 joined #lisp 2020-12-18T19:51:50Z dilated_dinosaur quit (Ping timeout: 256 seconds) 2020-12-18T19:51:51Z amb007 quit (Read error: Connection reset by peer) 2020-12-18T19:52:05Z karlosz joined #lisp 2020-12-18T19:52:21Z amb007 joined #lisp 2020-12-18T19:53:15Z daphnis joined #lisp 2020-12-18T19:54:24Z amb007 quit (Read error: Connection reset by peer) 2020-12-18T19:55:20Z amb007 joined #lisp 2020-12-18T19:56:38Z random-nick quit (Quit: quit) 2020-12-18T19:56:53Z hal99999 joined #lisp 2020-12-18T19:57:25Z quack14 quit (Remote host closed the connection) 2020-12-18T19:58:37Z Lord_of_Life quit (Ping timeout: 246 seconds) 2020-12-18T19:58:45Z hal100000 quit (Ping timeout: 240 seconds) 2020-12-18T19:59:15Z Lord_of_Life joined #lisp 2020-12-18T19:59:16Z shka_ quit (Ping timeout: 240 seconds) 2020-12-18T20:00:40Z dilated_dinosaur joined #lisp 2020-12-18T20:00:41Z yitzi quit (Remote host closed the connection) 2020-12-18T20:02:00Z random-nick joined #lisp 2020-12-18T20:06:38Z random-nick quit (Ping timeout: 272 seconds) 2020-12-18T20:09:00Z amb007 quit (Read error: Connection reset by peer) 2020-12-18T20:09:27Z amb007 joined #lisp 2020-12-18T20:11:30Z amb007 quit (Read error: Connection reset by peer) 2020-12-18T20:12:02Z aartaka joined #lisp 2020-12-18T20:13:39Z amb007 joined #lisp 2020-12-18T20:16:08Z amb007 quit (Read error: Connection reset by peer) 2020-12-18T20:16:34Z amb007 joined #lisp 2020-12-18T20:18:37Z daphnis quit (Ping timeout: 268 seconds) 2020-12-18T20:18:54Z cosimone joined #lisp 2020-12-18T20:19:12Z madand quit (Quit: ZNC 1.8.2 - https://znc.in) 2020-12-18T20:20:50Z madand joined #lisp 2020-12-18T20:21:54Z srandon111 joined #lisp 2020-12-18T20:22:36Z narimiran quit (Ping timeout: 256 seconds) 2020-12-18T20:22:57Z hnOsmium0001 joined #lisp 2020-12-18T20:26:23Z cognemo quit (Quit: cognemo) 2020-12-18T20:27:54Z cognemo joined #lisp 2020-12-18T20:29:07Z daphnis joined #lisp 2020-12-18T20:33:18Z joaot joined #lisp 2020-12-18T20:37:48Z dbotton joined #lisp 2020-12-18T20:40:38Z jw4 quit (Read error: Connection reset by peer) 2020-12-18T20:42:23Z jw4 joined #lisp 2020-12-18T20:48:02Z EvW quit (Ping timeout: 260 seconds) 2020-12-18T20:51:46Z frgo joined #lisp 2020-12-18T20:52:25Z EvW joined #lisp 2020-12-18T20:53:24Z joaot quit (Ping timeout: 245 seconds) 2020-12-18T20:54:57Z greaser|q quit (Changing host) 2020-12-18T20:54:57Z greaser|q joined #lisp 2020-12-18T20:55:02Z greaser|q is now known as GreaseMonkey 2020-12-18T20:56:56Z daphnis quit (Ping timeout: 240 seconds) 2020-12-18T21:02:05Z random-nick joined #lisp 2020-12-18T21:02:20Z Jesin quit (Quit: Leaving) 2020-12-18T21:17:46Z dbotton: Is there a way to create a setf function from a method? 2020-12-18T21:18:16Z dbotton: (Or perhaps should say from a defgeneric)? 2020-12-18T21:19:08Z _death: sure 2020-12-18T21:19:10Z Jesin joined #lisp 2020-12-18T21:19:48Z _death: setf functions are just functions with a name like (setf foo) that receive the new value as their first argument and should also return it when they're done 2020-12-18T21:20:42Z dbotton: So use defsetf? 2020-12-18T21:20:54Z phoe: or defun, or defmethod 2020-12-18T21:21:03Z phoe: (defun (setf foo) (newval ...) ...) 2020-12-18T21:21:13Z phoe: (defmethod (setf foo) (newval ...) ...) 2020-12-18T21:21:26Z _death: defsetf is not how you define a setf function 2020-12-18T21:25:17Z dbotton: So if doing a defmethod would do a generic also? 2020-12-18T21:25:26Z phoe: what do you mean, would do a generic also? 2020-12-18T21:25:46Z dbotton: (defgeneric (setf foo) (n)) 2020-12-18T21:25:47Z phoe: (defmethod (setf foo) ...) implies (defgeneric (setf foo) ...) 2020-12-18T21:25:54Z phoe: yes 2020-12-18T21:29:24Z rumbler31 joined #lisp 2020-12-18T21:29:32Z cosimone quit (Read error: Connection reset by peer) 2020-12-18T21:29:44Z cosimone joined #lisp 2020-12-18T21:31:26Z rjcks quit (Quit: leaving) 2020-12-18T21:32:31Z dbotton: Is there a way to make this in to a setf (defmethod set-property ((obj clog-obj) property-name value) 2020-12-18T21:33:05Z hal99999 quit (Ping timeout: 240 seconds) 2020-12-18T21:33:35Z phoe: what does set-property do? 2020-12-18T21:33:42Z mfiano: (defmethod (setf property) (value (obj clog-obj) property-name) ..) 2020-12-18T21:33:49Z dbotton: (setf (property obj "color") red) 2020-12-18T21:33:57Z phoe: yes, then what mfiano said 2020-12-18T21:34:43Z dbotton: thanks 2020-12-18T21:37:27Z rumbler31: anyone familiar with using cxml or otherwise processing xml, I could use some ideas. I have a bunch of template files that have been filled in with data. now the template files themselves have received updates (I'll call them my input files), and I need to go through and update each input file by checking for missing children or updated metadata. I'm going to be doing a lot of (find the parent who's child 2020-12-18T21:37:29Z rumbler31: text contains "this key" and iterate through all of the children in the new template to see if there are any new children and add them to the parent, etc) 2020-12-18T21:39:03Z rumbler31: right now I just have a tree of objects from cxml. In xml processing systems there is usually support for XPath style "selectors" or outright XQueries, and i'm wondering where the best xml support in lisp lives 2020-12-18T21:41:05Z dbotton: So my generic looks like this? (defgeneric (setf property) (value obj property-name) 2020-12-18T21:41:20Z hal99999 joined #lisp 2020-12-18T21:43:42Z Nilby: rumbler31: I think lquery is good, but I also find traditional Lisp tools good enough to operate on a parsed XML tree, in my case loaded with plump. 2020-12-18T21:46:54Z Nilby: rumbler31: There's also clip for templating, in Shinmera's -ecosystem, but I haven't tried it yet. 2020-12-18T21:46:55Z amb007 quit (Read error: Connection reset by peer) 2020-12-18T21:47:34Z amb007 joined #lisp 2020-12-18T21:48:54Z dbotton: In this case exporting just the property symbol would cover both the setf and the regular method correct? 2020-12-18T21:49:19Z phoe: yes 2020-12-18T21:49:58Z rpg: dbotton: Yes, because you don't export functions, only symbols. So anything that is attached to the symbol is exported. 2020-12-18T21:50:05Z fiddlerwoaroof: rumbler31: there are also xpath-related stuff in CXML 2020-12-18T21:50:21Z dbotton: Thanks 2020-12-18T21:50:22Z fiddlerwoaroof: https://common-lisp.net/project/plexippus-xpath/examples.html 2020-12-18T21:53:34Z rumbler31: ahh nice 2020-12-18T21:53:49Z daphnis joined #lisp 2020-12-18T21:56:33Z cosimone_ joined #lisp 2020-12-18T21:59:56Z cosimone quit (Ping timeout: 240 seconds) 2020-12-18T21:59:56Z cosimone_ is now known as cosimone 2020-12-18T22:01:52Z dbotton: Thanks, now things look lispier :) 2020-12-18T22:03:11Z dbotton quit (Quit: This computer has gone to sleep) 2020-12-18T22:06:20Z banjomet quit (Quit: Leaving) 2020-12-18T22:08:26Z Fare quit (Ping timeout: 264 seconds) 2020-12-18T22:10:11Z moon-child: https://www.youtube.com/watch?v=GWr4iQfc0uw 2020-12-18T22:12:07Z bendersteed joined #lisp 2020-12-18T22:12:18Z vsync quit (Ping timeout: 260 seconds) 2020-12-18T22:13:56Z daphnis quit (Ping timeout: 268 seconds) 2020-12-18T22:13:59Z moon-child: (sadly, they don't have the transparent persistence of a proper lisp os, but the rest of the major pieces seem to be there) 2020-12-18T22:20:28Z vsync joined #lisp 2020-12-18T22:20:56Z Fare joined #lisp 2020-12-18T22:21:57Z kam1 joined #lisp 2020-12-18T22:29:58Z choegusung joined #lisp 2020-12-18T22:31:20Z choegusung quit (Client Quit) 2020-12-18T22:34:40Z Blukunfando joined #lisp 2020-12-18T22:36:07Z cosimone quit (Quit: cosimone) 2020-12-18T22:38:29Z bjorkintosh quit (Remote host closed the connection) 2020-12-18T22:38:41Z bjorkintosh joined #lisp 2020-12-18T22:43:51Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-18T22:44:16Z rumbler31 quit (Ping timeout: 240 seconds) 2020-12-18T22:52:28Z cosimone joined #lisp 2020-12-18T22:52:30Z daphnis joined #lisp 2020-12-18T22:55:51Z actuallybatman joined #lisp 2020-12-18T22:59:54Z hal99999 quit (Quit: hal99999) 2020-12-18T23:01:02Z Josh_2 joined #lisp 2020-12-18T23:04:03Z sjl quit (Ping timeout: 265 seconds) 2020-12-18T23:11:06Z frgo quit (Remote host closed the connection) 2020-12-18T23:11:35Z frgo joined #lisp 2020-12-18T23:11:41Z rumbler31 joined #lisp 2020-12-18T23:14:25Z kevingal_ joined #lisp 2020-12-18T23:15:32Z Josh_2 quit (Remote host closed the connection) 2020-12-18T23:17:09Z kevingal quit (Ping timeout: 272 seconds) 2020-12-18T23:17:54Z jibanes quit (Ping timeout: 272 seconds) 2020-12-18T23:18:30Z rpg joined #lisp 2020-12-18T23:19:37Z jibanes joined #lisp 2020-12-18T23:24:52Z dhil quit (Ping timeout: 272 seconds) 2020-12-18T23:38:09Z thmprover joined #lisp 2020-12-18T23:40:18Z Dizidentu joined #lisp 2020-12-18T23:41:07Z Dizidentu: whats the neatest thing u can code in lisp 2020-12-18T23:41:36Z duuqnd: yes 2020-12-18T23:41:45Z Dizidentu: agreed 2020-12-18T23:45:11Z curiouscain: You can code whatever you like 2020-12-18T23:46:24Z daphnis quit (Ping timeout: 272 seconds) 2020-12-18T23:47:18Z tempest_nox joined #lisp 2020-12-18T23:47:19Z aeth: Dizidentu: something like this? (note: not all of them are Common Lisp). https://itch.io/jam/autumn-lisp-game-jam-2020/results 2020-12-18T23:47:55Z Dizidentu: glad it can 2020-12-18T23:48:10Z Dizidentu: but I understand that the strong points are in the toolset 2020-12-18T23:48:39Z no-defun-allowed: "not all" is an understatement. 2020-12-18T23:48:44Z Dizidentu: but yeah, I would code a game with lisp if I wasnt a cpp monkey xd 2020-12-18T23:49:01Z lotuseater: aeth: spilljakers looks like DOOM prototyped 2020-12-18T23:49:22Z no-defun-allowed: Maybe even none of them are Common Lisp? 2020-12-18T23:49:36Z duuqnd: The Lisp game jams are always so disappointing 2020-12-18T23:49:50Z duuqnd: I mean, the intention is good, but it's always just fennel and shit 2020-12-18T23:50:00Z moon-child: Dizidentu: i made a game engine with d, using lisp as a scripting language 2020-12-18T23:50:13Z no-defun-allowed: I'm not going to comment (okay, well, what duuqnd said) because I don't make games other than Doom maps. 2020-12-18T23:50:46Z Jeanne-Kamikaze joined #lisp 2020-12-18T23:50:48Z no-defun-allowed: But from what I've heard about #lispgames, making game engines is the easier part of making games in Lisp. 2020-12-18T23:51:14Z duuqnd: I think the problem is that most people who want to make games in Lisp have a hard time finishing games 2020-12-18T23:51:50Z wsinatra quit (Quit: WeeChat 3.0) 2020-12-18T23:52:33Z lotuseater: moon-child: sounds also great :) 2020-12-18T23:53:30Z aeth: lotuseater: looks more like Wolf 3D than Doom to me. Thick, blocky walls, although they have varying heights, unlike Wolf 3D. No varying floor heights like in Doom, though. 2020-12-18T23:53:31Z moon-child: duuqnd: can relate... 2020-12-18T23:54:06Z lotuseater: aeth: hm yes you're right, i intended to mean it non specific 2020-12-18T23:54:28Z no-defun-allowed: The "neatest" thing I did this week was probably to port my async code to use "monads" and do-notation. 2020-12-18T23:54:37Z duuqnd: I looked through the games from the 2020 Lisp game jam. One game in Racket, one used Guile, and the rest used garbage lisps. Maybe I should've made an entry after all... 2020-12-18T23:55:06Z kam1 quit (Ping timeout: 256 seconds) 2020-12-18T23:55:08Z lotuseater: no-defun-allowed: really? o_O what do you use or how did you accomplish that? :) 2020-12-18T23:55:13Z no-defun-allowed: https://gitlab.com/cal-coop/netfarm/cl-decentralise2/-/blob/master/Code/Client/actions.lisp#L68-85 is all I needed to implement it. 2020-12-18T23:56:04Z no-defun-allowed: Though I call them "actions" to scare off Haskell programmers, and to not scare off non-Haskell programmers. 2020-12-18T23:56:14Z lotuseater: i once saw on rosettacode under "Metaprogramming" some approaches to that stuff 2020-12-18T23:56:49Z no-defun-allowed: I don't recall the rules for translating do into >>=, but they're quite simple, and a quick REDUCE makes the form I want. 2020-12-18T23:57:17Z aeth: that FPS looking game is in the browser so I can play it, and it's definitely intended to be more retro than even Wolf3D 2020-12-18T23:57:39Z cosimone quit (Quit: cosimone) 2020-12-18T23:57:40Z kaftejiman quit (Remote host closed the connection) 2020-12-18T23:57:40Z aeth: so weird using retro controls even though I've played a lot of retro FPSes over the years... the arrow keys where you don't strafe with left/right, you rotate 2020-12-18T23:57:45Z no-defun-allowed: Hovertank 3d? 2020-12-18T23:57:46Z lotuseater: yes i now what you mean, have to remember that also (or WHY that works) 2020-12-18T23:58:02Z duuqnd: That game honestly looks so basic that even hovertank 3d looks impressive by comparising 2020-12-18T23:58:10Z duuqnd: comparison* 2020-12-18T23:58:23Z no-defun-allowed: do a <- b; c is a >>= (\b -> c) ad do a; b is a >> b 2020-12-18T23:58:40Z lotuseater: yes you're right 2020-12-18T23:58:56Z no-defun-allowed: do let a = b; c is also let a = b in c, and you basically wrap around the last form, then the second last, third, etc to produce the desugared form. 2020-12-18T23:59:20Z lotuseater: people always got confused when i said to them "no here we don't start with 'Hello World'" 2020-12-18T23:59:55Z aeth: duuqnd: The problem with game jams is that if you can actually make a game with your Lisp game engine, you might as well just make and sell it 2020-12-18T23:59:56Z no-defun-allowed: I like it because I can manipulate actions as values before running them, so I could do (then ... (if something this-action that-action)), and it could be easier to compose, like (then* (f) (g)) over (f :callback (g)) or something. 2020-12-19T00:00:06Z lotuseater: or that return is another thing, wrapping it to the monad again 2020-12-19T00:00:54Z duuqnd: IIRC there's someone who's in the process of making a commercial game in Lisp. 2020-12-19T00:01:08Z duuqnd: Was it Shinmera? 2020-12-19T00:01:36Z moon-child: https://www.reddit.com/r/lisp/comments/k7yha5/kandria_a_2d_hack_slash_platformer_written_in/ 2020-12-19T00:01:47Z no-defun-allowed: Yes, Shinmera et al are making https://store.steampowered.com/app/1261430/Kandria/ in Common Lisp. 2020-12-19T00:01:58Z duuqnd: Yeah, that's the one I was thinking of. 2020-12-19T00:02:57Z no-defun-allowed: Yeah, you use return (cl-d2: finish) to lop off an action. 2020-12-19T00:05:07Z fanta1 quit (Remote host closed the connection) 2020-12-19T00:05:25Z no-defun-allowed: lotuseater: Generally, I've heard monads don't really make sense with mutation or without type maths to decide which implementation of >>= makes sense, and so on. But you can't have uncontrolled mutation in concurrent programs, and I only have one action protocol, so I can get away with it. 2020-12-19T00:05:52Z jibanes quit (Ping timeout: 256 seconds) 2020-12-19T00:06:22Z lotuseater: good 2020-12-19T00:07:43Z jibanes joined #lisp 2020-12-19T00:09:20Z no-defun-allowed: duuqnd: You don't have to dunk on anyone in the game jam to make your point. (But I find pretend small machines boring, unless it's MY pretend small machine, in which case it's very fun...) 2020-12-19T00:10:32Z duuqnd: I was more thinking of making an entry just so there'd be some Common Lisp representation, even if it'd be a crappy little game by me. 2020-12-19T00:11:15Z no-defun-allowed: (Mostly because I have to decide what "bloat" I want to put in it, and I have slowly been looking at compiling to machine code, so that I can try larger experiments with it.) 2020-12-19T00:13:45Z aeth: no-defun-allowed: "late 2022" so there's plenty of time for someone to release first. 2020-12-19T00:14:15Z no-defun-allowed: Who cares? 2020-12-19T00:15:02Z aeth: someone might care 2020-12-19T00:15:18Z no-defun-allowed: I don't think someone will make another Kandria, at least. 2020-12-19T00:15:33Z aeth: no 2020-12-19T00:16:23Z aeth: And, importantly, this is an already-present result. https://github.com/Shinmera/cl-steamworks 2020-12-19T00:17:32Z duuqnd: I was working on a first-person shooter at one point, but then I realized that my engine was garbage and I didn't have the time nor energy to fix it, so I gave up. It didn't help that I'm not very good at game development. 2020-12-19T00:17:50Z aeth: duuqnd: Lower your standards. Can you do Quake? Doom? 2020-12-19T00:18:33Z aeth: Or something like this? https://store.steampowered.com/app/519860/DUSK/ 2020-12-19T00:18:41Z no-defun-allowed: Those are still well above a 128x96 top down tile thing. 2020-12-19T00:19:14Z no-defun-allowed: That's not to say you can't make a good game with that, and a bad game with a Quake clone, but you don't have to do that much to stand out. 2020-12-19T00:19:53Z duuqnd: I thought I could do a wolfenstein clone to start off with as practice, but it was too much work with my garbage engine. I did make a rather half-decent level editor in McCLIM that I'm semi-proud of though, so it wasn't all bad. 2020-12-19T00:20:35Z duuqnd: I think that project taught me more about CLIM than game development 2020-12-19T00:21:11Z pve quit (Quit: leaving) 2020-12-19T00:21:59Z aeth: duuqnd: Well, for me personally... after 7 years, I have this: https://i.imgur.com/vjaEJtl.png 2020-12-19T00:24:08Z aeth: Gamedev's time consuming 2020-12-19T00:24:37Z duuqnd: Well, if you're sharing a screenshot I guess it's only fair that I share one too. https://i.imgur.com/49JnHB8.png This is what my game looked like a few months before I stopped working on it. 2020-12-19T00:25:09Z puchacz quit (Remote host closed the connection) 2020-12-19T00:26:24Z lotuseater: duuqnd: look at how much people are working on cyberpunk :) and it neither runs bugfree (yet) 2020-12-19T00:26:51Z aeth: duuqnd: that's pretty far along 2020-12-19T00:27:03Z aeth: duuqnd: looks like you're just missing lighting, and maybe collision 2020-12-19T00:27:33Z kevingal_ quit (Remote host closed the connection) 2020-12-19T00:27:41Z duuqnd: Collision was easy since the map is grid based. Lighting was a little tricker, but I did get it working. I'm just a bad environmental artist. 2020-12-19T00:27:51Z duuqnd: I think I have some newer screenshots on my laptop 2020-12-19T00:28:13Z aeth: art's somebody else's role 2020-12-19T00:28:48Z duuqnd: Yeah, I was always planning to get someone else to do that. The main problem was always gameplay, though. There wasn't any. For some reason, I just never got around to adding any gameplay. 2020-12-19T00:29:12Z aeth: that's fine 2020-12-19T00:29:27Z duuqnd: Well, it wasn't a total failure since I learned a lot from it. 2020-12-19T00:30:06Z aeth: there's lots of passable free art out there that you can use for prototyping 2020-12-19T00:30:31Z aeth: (it just has the side effect of making your game look like a mobile game for some strange and totally coincidental reason...) 2020-12-19T00:31:20Z duuqnd: Yeah, art was never something I worried about. It was always that I got distracted by things. 2020-12-19T00:32:10Z duuqnd: https://imgur.com/1GePGT4 I got distracted by adding chromatic abberation to the HUD, for example. 2020-12-19T00:32:39Z duuqnd: (ignore the window name, it was a jokey working title for the game) 2020-12-19T00:32:47Z aeth: I can't say that I haven't seen that effect before in low-poly, low-res indie games... but it's definitely out of place. 2020-12-19T00:33:23Z lotuseater: duuqnd: maybe you can also learn something from that: https://github.com/gregcman/sucle 2020-12-19T00:33:30Z aeth: you should just focus on the minimum mechanics needed to get a "game". Not a real game, just moving around in a maze like the Windows screensaver 2020-12-19T00:33:47Z aeth: https://en.wikipedia.org/wiki/3D_Maze 2020-12-19T00:33:56Z aeth: you should pick textures as a homage to that, too 2020-12-19T00:34:11Z duuqnd: Yeah, the main point is that I always got distracted by small things like this and never got anything done as a result. 2020-12-19T00:34:24Z duuqnd: The game never got any gameplay, because small things kept distracting me 2020-12-19T00:36:16Z duuqnd: I did make a real game before I worked on this one though. It was sort of a crappy 3D remake of Spacewar. 2020-12-19T00:36:31Z aeth: Surprisingly, 3D Maze came out after Wolfenstein 3D, which was like 3D Maze, but with actual gameplay. 2020-12-19T00:36:35Z aeth: After Doom, too. 2020-12-19T00:37:45Z Dizidentu quit (Quit: Connection closed) 2020-12-19T00:37:50Z aeth: duuqnd: Heh. Did you know that Spacewar! and Lisp are linked? https://en.wikipedia.org/wiki/Steve_Russell_(computer_scientist) 2020-12-19T00:37:56Z Nilby quit (Ping timeout: 256 seconds) 2020-12-19T00:38:35Z UM-Li joined #lisp 2020-12-19T00:38:56Z UM-Li left #lisp 2020-12-19T00:39:50Z duuqnd: That's pretty interesting. I knew that MIT was involved in both, but I didn't know about Steve Russell. 2020-12-19T00:40:52Z aeth: He's still alive and he probably has an active email somewhere, so maybe he'd be interested in a Spacewar clone in Common Lisp if it's good. 2020-12-19T00:41:33Z duuqnd: Well, I certainly won't show him my hastily hacked together one. 2020-12-19T00:42:04Z aeth: The only difference between something that's hastily hacked together and something that's good is time. 2020-12-19T00:42:32Z aeth: There are no bad games, only games released too soon. 2020-12-19T00:42:58Z duuqnd: True, but I didn't have a lot of time for this project since it was for the Lisp game jam and I spent too much time on an idea I couldn't implement. 2020-12-19T00:43:09Z duuqnd: So the result became something functioning but janky 2020-12-19T00:43:18Z skapata quit (Remote host closed the connection) 2020-12-19T00:44:25Z duuqnd: I also spent a lot of time on implementing multiplayer only to realize that it was too impractical for anyone to bother with. 2020-12-19T00:45:21Z thmprover: You could have two AI play against each other. 2020-12-19T00:45:58Z hiroaki quit (Ping timeout: 246 seconds) 2020-12-19T00:48:05Z duuqnd: Well, the AI was complete garbage, so it wouldn't be very interesting. In fact, the only thing that made the game even slightly fun was that the position of everything was modulo'd to be kept inside the play area, making it kind of like a bullet hell game if you shot enough. It's hard to explain. 2020-12-19T00:49:23Z duuqnd: Here's a screenshot of what I think is a slightly early version https://i.imgur.com/FqtB7sk.png (I don't know what the spiky thing is) Basically, using a modulo and rendering multiple copies, it looked like there was an infinite amount of space, but things were always kept inside a small square. 2020-12-19T00:49:44Z duuqnd: I used wireframe because I suck at arm 2020-12-19T00:51:07Z duuqnd: art* 2020-12-19T00:52:48Z aeth: that looks much better than your other art 2020-12-19T00:53:08Z aeth: if you can go with a minimalist style that looks good, that's good 2020-12-19T00:53:08Z duuqnd: Yes. My other "art" was blue bricks. 2020-12-19T00:53:26Z aeth: The best example of minimalism in game art: https://en.wikipedia.org/wiki/Super_Hexagon#/media/File:Super_Hexagon_-_PC_Hexagon.png 2020-12-19T00:53:47Z duuqnd: I think minimalist is the only style I can do at all, so that's what I'll stick to in the future. 2020-12-19T00:53:49Z aeth: If you look at a video of it, the game rotates around and stuff. It looks cool. It's probably almost entirely programmatic 2020-12-19T00:57:22Z duuqnd quit (Read error: Connection reset by peer) 2020-12-19T00:57:51Z duuqnd joined #lisp 2020-12-19T00:58:13Z duuqnd: My internet connection decided to die for a second there. 2020-12-19T00:58:38Z lotuseater: welcome back :) 2020-12-19T01:00:49Z random-nick quit (Ping timeout: 264 seconds) 2020-12-19T01:01:01Z Inline quit (Ping timeout: 272 seconds) 2020-12-19T01:04:32Z bendersteed quit (Quit: bye) 2020-12-19T01:05:04Z Josh_2 joined #lisp 2020-12-19T01:07:02Z makomo quit (Ping timeout: 260 seconds) 2020-12-19T01:07:07Z duuqnd quit (Quit: Leaving) 2020-12-19T01:07:37Z thmprover: Can I have nested packages? 2020-12-19T01:08:22Z thmprover: I'm trying to store some simple physics data, and I thought I could do something like "data:sun:mass", though I guess "sun:mass" is just as good. 2020-12-19T01:13:24Z aeth: nested packages would be nice 2020-12-19T01:13:33Z aeth: but the ASDF semi-enforced convention is to use a / 2020-12-19T01:13:38Z jibanes quit (Ping timeout: 256 seconds) 2020-12-19T01:13:43Z aeth: like data/sun:mass 2020-12-19T01:14:16Z aeth: the only disadvantage is that you can't use it with FORMAT since it doesn't look like there's a way to escape a / and FORMAT assigns a special meaning to ~/ to call a function. But nobody uses that feature. 2020-12-19T01:15:14Z jibanes joined #lisp 2020-12-19T01:15:27Z aeth: there are at least two ways to then reexport exports from data/sun also from data (but that's a bad name for a top-level package) 2020-12-19T01:15:37Z aeth: one's in UIOP, the other is... defpackageplus or something like that. 2020-12-19T01:15:40Z moon-child: #d 2020-12-19T01:19:24Z nij joined #lisp 2020-12-19T01:19:40Z nij: Has anyone tried abo abo's lispy, and recommend it? https://github.com/abo-abo/lispy 2020-12-19T01:19:51Z nij: it seems full fledged and powerful.. 2020-12-19T01:28:07Z Nilby joined #lisp 2020-12-19T01:29:19Z nij quit (Quit: ERC (IRC client for Emacs 27.1)) 2020-12-19T01:32:44Z Josh_2 quit (Read error: Connection reset by peer) 2020-12-19T01:33:02Z rgherdt quit (Ping timeout: 260 seconds) 2020-12-19T01:36:20Z no-defun-allowed: I don't have a teletype to edit LISP on :( 2020-12-19T01:37:16Z miasuji joined #lisp 2020-12-19T01:46:27Z Nilby: aeth: I use that feature. 2020-12-19T01:47:18Z surabax quit (Quit: Leaving) 2020-12-19T01:50:16Z lotuseater: Nilby: could you give an example for ~/ plz? :) 2020-12-19T01:50:31Z Lord_of_Life_ joined #lisp 2020-12-19T01:51:51Z wxie joined #lisp 2020-12-19T01:53:10Z Lord_of_Life quit (Ping timeout: 246 seconds) 2020-12-19T01:53:20Z Lord_of_Life_ is now known as Lord_of_Life 2020-12-19T01:55:33Z Nilby: I have a print-string which for strings which contain fonts and colors effects. 2020-12-19T01:56:40Z Nilby: And an output stream that can handle them. So something like:(format *terminal* "~&~23/fancy:print-string/" (ß '(:bg-blue (:fg-cyan "---Fizzy--")))) 2020-12-19T01:58:34Z Nilby: And then you have a thing like: (defun print-string (stream obj colon-p at-sign-p &rest args) which does the work. 2020-12-19T01:59:38Z EvW quit (Ping timeout: 268 seconds) 2020-12-19T02:02:40Z Nilby: But I'm not sure it's worth the effort actually. 2020-12-19T02:04:12Z miasuji quit (Ping timeout: 260 seconds) 2020-12-19T02:05:33Z rumbler3_ joined #lisp 2020-12-19T02:07:01Z lotuseater: ehm yes but thx anyway 2020-12-19T02:08:16Z rumbler31 quit (Ping timeout: 268 seconds) 2020-12-19T02:12:20Z Nilby: abuse of cl:format was a sport, perhaps like a foxhunt 2020-12-19T02:13:56Z aeth: I go the other direction and mostly avoid FORMAT 2020-12-19T02:14:57Z Nilby: That's quite sensible really. 2020-12-19T02:15:05Z aeth: Depends on whatever's clearest, though. I'll use ~A or ~D or whatever rather than using the print function equivalents. 2020-12-19T02:15:13Z aeth: Just as a one line thing, though. 2020-12-19T02:15:53Z aeth: And if it's multiple lines, then I'll prefer something like (format stream "~D ~D ~D~%" ...) (format stream "~D ~D~%" ...) 2020-12-19T02:16:25Z aeth: Only very tangentially related, but it looks like PPRINT is one of the few things that returns (values) rather than something like NIL, and that's weird. http://www.lispworks.com/documentation/HyperSpec/Body/f_wr_pr.htm 2020-12-19T02:16:37Z aeth: I guess that's just a sign that many authors were involved in the standard. 2020-12-19T02:18:52Z Josh_2 joined #lisp 2020-12-19T02:22:37Z Nilby: Hmmm. That's very curious, but I think there's a historical practical reason. I think pprint was a later addtion. 2020-12-19T02:23:46Z Oddity- joined #lisp 2020-12-19T02:25:25Z Jeanne-Kamikaze quit (Quit: Leaving) 2020-12-19T02:25:32Z uplime quit (Ping timeout: 260 seconds) 2020-12-19T02:26:07Z uplime joined #lisp 2020-12-19T02:26:23Z bjorkint0sh joined #lisp 2020-12-19T02:26:43Z yonkunas quit (Ping timeout: 260 seconds) 2020-12-19T02:27:12Z lottaquestions_ joined #lisp 2020-12-19T02:27:17Z bjorkintosh quit (Ping timeout: 260 seconds) 2020-12-19T02:27:18Z zstest3[m] quit (Ping timeout: 260 seconds) 2020-12-19T02:27:18Z Oddity quit (Ping timeout: 260 seconds) 2020-12-19T02:27:18Z lottaquestions quit (Ping timeout: 260 seconds) 2020-12-19T02:27:29Z zstest3[m] joined #lisp 2020-12-19T02:28:13Z yonkunas joined #lisp 2020-12-19T02:30:46Z Nilby: There's this paper on pprint which puts me to sleep, http://dspace.mit.edu/bitstream/handle/1721.1/6503/AIM-1102.pdf but explains other uses for ~// 2020-12-19T02:32:15Z lotuseater: i wouldn't know enough or am too lazy to live without FORMAT anymore 2020-12-19T02:34:59Z Oladon joined #lisp 2020-12-19T02:36:33Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-19T02:41:46Z aeth: I use FORMAT, but trying to do everything inside of one FORMAT is just going to make things less readable 2020-12-19T02:42:07Z aeth: besides, it's fun to say TERPRI sometimes 2020-12-19T02:44:15Z kam1 joined #lisp 2020-12-19T02:44:40Z Nilby: Yes. But, it's speaking words like terpri and cdadr that get us lispers weird looks. 2020-12-19T02:45:35Z Josh_2 quit (Remote host closed the connection) 2020-12-19T02:45:44Z kam1 quit (Client Quit) 2020-12-19T02:46:00Z kam1 joined #lisp 2020-12-19T02:46:40Z kam1 quit (Client Quit) 2020-12-19T02:46:53Z kam1 joined #lisp 2020-12-19T02:49:42Z gko_ joined #lisp 2020-12-19T02:49:53Z kam1 quit (Client Quit) 2020-12-19T02:50:38Z kam1 joined #lisp 2020-12-19T02:50:52Z kam1 quit (Client Quit) 2020-12-19T02:51:08Z kam123 joined #lisp 2020-12-19T02:52:00Z Oladon: Ooh, I've not heard terpri pronounced... is it TUR-pree, like turpentine and preliminary? 2020-12-19T02:52:24Z Oladon: I do like cdadr. 2020-12-19T02:52:44Z lotuseater: cadadadadr :D 2020-12-19T02:52:54Z Oladon: It's our Shibboleth :P 2020-12-19T02:53:01Z Oladon: "Here, pronounce this" 2020-12-19T02:53:15Z lotuseater: could also be a magical spell (which it actually is ^^) 2020-12-19T02:53:28Z Oladon: hehe 2020-12-19T02:53:30Z edgar-rft: it's short for "terminate printing" so I think it sounds like the concatenation of the first syllables of both words 2020-12-19T02:53:47Z Oladon: But you can't end words in short vowels like that in English... 2020-12-19T02:53:56Z Oladon: Then again, I guess it's not really English. 2020-12-19T02:54:09Z edgar-rft: be a grammar rebel! 2020-12-19T02:54:23Z Nilby: Just leaving this here https://gigamonkeys.wordpress.com/2010/10/07/lost-u-directive/ 2020-12-19T02:54:26Z Oladon: lotuseater: I find it amusing that you decided to put the stress in the same place I did. 2020-12-19T02:54:26Z lotuseater: and "~5%" transforms into five TERPRIs? 2020-12-19T02:54:33Z kam123 quit (Client Quit) 2020-12-19T02:54:50Z lotuseater: Oladon: how do you mean exactly? :) 2020-12-19T02:54:51Z kam1 joined #lisp 2020-12-19T02:55:16Z Oladon: If it sounds like a magical incantation, then that tells me you're pronouncing it cadadaDAdr 2020-12-19T02:55:21Z edgar-rft: five terpri points for lotuseater :-) 2020-12-19T02:55:34Z lotuseater: abra cadadar 2020-12-19T02:55:52Z Oladon: Which is also how I chose to pronounce it. 2020-12-19T02:56:00Z no-defun-allowed: I use the-cost-of-nothing:write-si-unit which is a longer form of ~U. 2020-12-19T02:56:17Z kam1 quit (Client Quit) 2020-12-19T02:56:26Z lotuseater: i learned pronounciation of it from SICP 2020-12-19T02:56:30Z kam1 joined #lisp 2020-12-19T02:56:37Z Oladon: Since we're sharing fun things, here's a quote I _really_ enjoyed from phoe's book: "The function invoke-debugger [...] is the equivalent of a turtle falling on its back and wiggling its limbs hopelessly in the air; the program has exhausted all chances of handling an error gracefully and, therefore, has no choice but to handle it disgracefully." 2020-12-19T02:56:57Z phantomics: Hey, I just learned something really weird 2020-12-19T02:57:15Z Oladon: phantomics: How to pronounce cadadadadr? 2020-12-19T02:57:20Z phantomics: SBCL has problems concurrently assigning elements of arrays when the element size is below 7 bits 2020-12-19T02:57:31Z phantomics: Check this out: https://dpaste.com/DU9JE9VAA 2020-12-19T02:57:39Z lotuseater: phantomics: what did you learn? 2020-12-19T02:57:45Z lotuseater: uiii 2020-12-19T02:58:04Z phantomics: With lparallel active and an lparallel kernel set up, try evaluating the first expression several times, then the second 2020-12-19T02:58:18Z phantomics: The arrays produced by the second expression will occasionally contain 0s 2020-12-19T02:58:29Z no-defun-allowed: I can see that. 2020-12-19T02:58:29Z phantomics: Those being elements that didn't get set 2020-12-19T02:58:36Z aeth: Interesting about ~5% 2020-12-19T02:58:41Z aeth: I've probably seen it before but forgotten about it 2020-12-19T02:58:54Z aeth: I've only ever needed to do ~% or ~%~% and I think ~%~% is clearer than ~2% 2020-12-19T02:59:09Z phantomics: It's been daunting my efforts to parallelize April 2020-12-19T02:59:46Z phantomics: I guess it's because it takes more instructions to set those small words or something? 2020-12-19T03:00:40Z phantomics: Try the assignment with a character array, or a signed byte array or a float or t-type array and it works fine 2020-12-19T03:01:01Z lotuseater: wtf i don't have zeros? but I'm sure too dumb again 2020-12-19T03:01:11Z lotuseater: which version of SBCL? 2020-12-19T03:01:14Z no-defun-allowed: (unsigned-byte 7) looks okay, I see it uses bytes: MOV [RDX+3], AL 2020-12-19T03:01:34Z Nilby: phantomics: That's an interesting bug. I can see how that's tricky to generate good code for. 2020-12-19T03:01:45Z no-defun-allowed: (unsigned-byte 4) perhaps modifies nibbles? 2020-12-19T03:01:49Z Oladon: Nilby: heh 2020-12-19T03:02:18Z no-defun-allowed: If I may, maybe it wouldn't be so bad to only specialize above (unsigned-byte 8). 2020-12-19T03:02:32Z Cymew quit (Ping timeout: 268 seconds) 2020-12-19T03:02:36Z phantomics: sbcl 2.0.2 2020-12-19T03:02:51Z phantomics: That's what I'm thinking, have 8 be the min 2020-12-19T03:02:55Z lotuseater: aeth: you're right, if not too many lines are terminated that way 2020-12-19T03:02:59Z no-defun-allowed: Or forgo concurrent/parallel writing of anything smaller than bytes, if you really want the space savings. 2020-12-19T03:03:24Z phantomics: I need the ability to cast to different types for some purposes, like when writing .png files I need arrays of 8-byte ints 2020-12-19T03:03:38Z lotuseater: i have 2.0.8 (not the newest i know) 2020-12-19T03:04:17Z lotuseater: phantomics: how many workers do you have in your lparallel kernel? 2020-12-19T03:04:20Z phantomics: It seems to work find in CCL though 2020-12-19T03:04:23Z kam1 quit (Quit: Quit) 2020-12-19T03:04:32Z no-defun-allowed: Does Clozure produce dense arrays? 2020-12-19T03:04:40Z kam1 joined #lisp 2020-12-19T03:05:01Z phantomics: lotuseater: I've tried with different numbers and had similar results, usually I'm using 23 workers for my 24 threads - 1 on my main machine 2020-12-19T03:05:03Z kam1 quit (Client Quit) 2020-12-19T03:05:13Z lotuseater: ah okay 2020-12-19T03:05:20Z kam1 joined #lisp 2020-12-19T03:05:27Z phantomics: Reducing the number of threads or the size of the array seems to reduce the missed elements 2020-12-19T03:05:33Z phantomics: But they show up if you iterate enough 2020-12-19T03:06:16Z lotuseater: i could push more workers and see how it does then 2020-12-19T03:06:52Z aeth: phantomics: 24? so 3900X? 2020-12-19T03:06:58Z orivej quit (Ping timeout: 256 seconds) 2020-12-19T03:07:06Z phantomics: Yeah 2020-12-19T03:07:14Z aeth: everyone needs a 3900X 2020-12-19T03:07:20Z aeth: then everything will be threaded... 2020-12-19T03:07:33Z no-defun-allowed: CNR here, but I can believe it. 2020-12-19T03:07:53Z Nilby: If I was writing C or assmebly for that, I would copy wordsize words until the last parts. Lisp is supposed to be better, but... 2020-12-19T03:07:54Z orivej joined #lisp 2020-12-19T03:08:49Z phantomics: Problem with wordsize words is that in some situations I'm catenating, rotating or reshaping arrays 2020-12-19T03:09:06Z kam1 quit (Client Quit) 2020-12-19T03:09:27Z kam1 joined #lisp 2020-12-19T03:09:38Z phantomics: The threading gives me an immense speed boost for these ops, 10-15x the single-threaded 2020-12-19T03:09:45Z lotuseater: aeth: my think pad wouldn't like the AMD Ryzen :D 2020-12-19T03:10:05Z phantomics: Next I want to try it on a Threadripper 2020-12-19T03:11:56Z Nilby: one could do things with displaced arrays and row-major-aref, but it would be of course be nicer if the compiler could generate fast, correct code. 2020-12-19T03:12:12Z phantomics: I already do all array ops with row-major-aref 2020-12-19T03:12:21Z phantomics: You have to for good speed 2020-12-19T03:12:31Z lotuseater: Nilby: what would you use instead? 2020-12-19T03:13:11Z phantomics: My old method was to use a function that recursively descended through dimensions and then passed the coordinates of each element as a list plus the content of the element to a function and did transformations on the coordinates 2020-12-19T03:13:43Z Nilby: derp, I just re-read and noticed the row-major-aref 2020-12-19T03:13:44Z phantomics: It was really elegant code to read, but slow and hard to parallelize 2020-12-19T03:15:08Z aeth: lotuseater: there's a Threadripper laptop. get that. 2020-12-19T03:15:18Z phantomics: Seriously? 2020-12-19T03:16:05Z aeth: still the only source so it might be a hoax... https://www.pcgamer.com/this-portable-threadripper-pc-gives-new-meaning-to-the-term-desktop-replacement/ 2020-12-19T03:16:07Z Nilby: A common technique is round up the image rowsize to the machine wordsize, so copying works out. 2020-12-19T03:16:36Z aeth: well, that article cites the original... https://www.tomshardware.com/news/take-this-portable-threadripper-3990x-workstation-wherever-you-go 2020-12-19T03:17:10Z lotuseater: aeth: I'M very sure it's out of my current money scope and will be long :D 2020-12-19T03:17:25Z mfiano quit (Ping timeout: 240 seconds) 2020-12-19T03:17:53Z aeth: I mean it'd probably just be cheaper and a better experience to get a full threadripper PC and a high-end laptop with any battery life at all. 2020-12-19T03:17:56Z phantomics: That's a small form-factor pc, not a laptop 2020-12-19T03:18:53Z no-defun-allowed: I wouldn't mind a small desktop attached to a screen, keyboard and trackpad. Trouble is powering the thing - someone told me they wouldn't mind carrying a SLA battery in a backpack, but that seems unlikely for most people. 2020-12-19T03:19:45Z lotuseater: yes when then I'll buy a good stand PC with an actual GPU 2020-12-19T03:19:46Z mfiano joined #lisp 2020-12-19T03:21:02Z phantomics: What's the application? What are you going to do with the thing you couldn't do with a regular laptop SSHed to a more powerful machine? Some kind of graphics work in the field where you can't take a bigger computer? 2020-12-19T03:21:32Z no-defun-allowed: In my case, audio processing. 2020-12-19T03:22:07Z no-defun-allowed: This laptop goes considerably slower while charging, and I find I need to charge it while doing that. 2020-12-19T03:22:30Z phantomics: You have one? 2020-12-19T03:22:53Z no-defun-allowed: Not the forementioned TR "laptop", but a laptop. 2020-12-19T03:22:58Z phantomics: RIght 2020-12-19T03:23:26Z phantomics: Ever used Lisp for that? I've done a bit of work with cl-portaudio 2020-12-19T03:23:37Z no-defun-allowed: I expect you would have to take a portable reactor with that "laptop". 2020-12-19T03:24:13Z no-defun-allowed: I wrote a synthesizer with Harmony and cl-alsa (for MIDI input), but it had pretty bad latency with Pulseaudio, and I can't seem to configure ALSA. 2020-12-19T03:24:21Z lotuseater: no-defun-allowed: nuclear fission or fusion? 2020-12-19T03:24:28Z phantomics: Tried with Jack? 2020-12-19T03:24:54Z mfiano quit (Ping timeout: 272 seconds) 2020-12-19T03:24:59Z no-defun-allowed: That is another option, yes. 2020-12-19T03:27:47Z Bike quit (Quit: leaving) 2020-12-19T03:29:22Z phantomics: Say, maybe you know something about this 2020-12-19T03:29:34Z mathrick_ joined #lisp 2020-12-19T03:29:49Z mathrick quit (Read error: Connection reset by peer) 2020-12-19T03:30:08Z phantomics: I was using cl-portaudio to implement a spectrum analyzer, I would grab frames of audio and then do an FFT to get the spectrum values 2020-12-19T03:30:29Z no-defun-allowed: Oh, I haven't touched any audio library directly. 2020-12-19T03:30:37Z phantomics: However, I would always see a spike at the high end of the chart 2020-12-19T03:30:52Z phantomics: I see 2020-12-19T03:31:06Z phantomics: When I did this with the python portaudio, the high-frequency spike didn't happen 2020-12-19T03:31:41Z no-defun-allowed: Hm. 2020-12-19T03:33:39Z mfiano joined #lisp 2020-12-19T03:33:47Z no-defun-allowed: I'm not entirely sure, but I read that if you have N samples, everything over N/2 is bogus. 2020-12-19T03:34:01Z no-defun-allowed: ...over the N/2th bin in your FFT output. 2020-12-19T03:34:14Z pankajsg joined #lisp 2020-12-19T03:35:01Z Nilby: maybe lisp math is too accurate 2020-12-19T03:35:11Z no-defun-allowed: So, for a 44.1kHz input, you can't detect any frequencies over 22.05kHz. 2020-12-19T03:35:50Z no-defun-allowed: I think that is in line with the Nyquist-Shannon theorem. 2020-12-19T03:36:29Z lotuseater: no-defun-allowed: damn i was at typing you about just that :D 2020-12-19T03:36:48Z lotuseater: *at typing to ask 2020-12-19T03:37:15Z no-defun-allowed: I tried using FFT to clean up voice samples, and then blend them to make a text-to-speech system. 2020-12-19T03:37:25Z orivej quit (Ping timeout: 264 seconds) 2020-12-19T03:37:40Z no-defun-allowed: I can't say I succeeded, but it was very fun, and we got some interesting noises out of it. 2020-12-19T03:37:49Z mfiano quit (Ping timeout: 246 seconds) 2020-12-19T03:42:40Z momozor joined #lisp 2020-12-19T03:45:51Z aartaka_d joined #lisp 2020-12-19T03:47:27Z mfiano joined #lisp 2020-12-19T03:48:10Z aartaka quit (Ping timeout: 268 seconds) 2020-12-19T03:51:24Z kam1 quit (Ping timeout: 256 seconds) 2020-12-19T03:52:00Z momozor: Is there a way so I can automatically use exported symbols from a library that clashes with existing CL symbols? It's quite tedious to tell SLIME to 'take-new' (using SBCL) every time my system got loaded with the imported library (it's CLIM with (:USE :CL :CLIM :CLIM-USER) by the way) 2020-12-19T03:52:58Z phantomics: Yeah, in my case I was only using the n/2 samples and still seeing that spike 2020-12-19T03:54:48Z no-defun-allowed: I think you either use CLIM-USER or CL, but then there's also CLIM-LISP? 2020-12-19T03:55:34Z mfiano quit (Ping timeout: 268 seconds) 2020-12-19T03:56:16Z no-defun-allowed: Yes, I think it should be (defpackage (:use :clim-lisp :clim)) 2020-12-19T03:56:58Z kam1 joined #lisp 2020-12-19T03:57:12Z momozor: no-defun-allowed: Oh! Now I understand why there are more than one from CLIM. I should've investigate that beforehand. Thanks for pointing that out. 2020-12-19T03:57:30Z no-defun-allowed: I would have to check the general case though. 2020-12-19T03:58:38Z mfiano joined #lisp 2020-12-19T03:58:57Z no-defun-allowed: Well, generally you avoid :USE where possible, because if someone changes a package you use, then weird things can happen. 2020-12-19T04:01:00Z momozor: I would prefer to use :IMPORT-FROM and invoking a symbol directly myself, but it's just for the sake of trying the library in the beginning since I'm still not familiar with it just yet. 2020-12-19T04:01:31Z momozor: but again, thanks! 2020-12-19T04:03:23Z Alfr joined #lisp 2020-12-19T04:04:42Z mfiano quit (Ping timeout: 260 seconds) 2020-12-19T04:04:56Z Alfr_ quit (Ping timeout: 258 seconds) 2020-12-19T04:07:42Z Oladon quit (Quit: Leaving.) 2020-12-19T04:08:16Z mfiano joined #lisp 2020-12-19T04:10:29Z hineios quit (Remote host closed the connection) 2020-12-19T04:12:43Z toorevitimirp joined #lisp 2020-12-19T04:12:43Z Nilby quit (Read error: Connection reset by peer) 2020-12-19T04:12:54Z mfiano quit (Ping timeout: 265 seconds) 2020-12-19T04:18:20Z beach: Good morning everyone! 2020-12-19T04:20:27Z DateMasamune2000 joined #lisp 2020-12-19T04:20:40Z hineios joined #lisp 2020-12-19T04:22:12Z mfiano joined #lisp 2020-12-19T04:30:06Z kam1 quit (Ping timeout: 268 seconds) 2020-12-19T04:37:56Z mfiano quit (Ping timeout: 240 seconds) 2020-12-19T04:38:49Z DateMasamune2000 quit (Quit: WeeChat 2.9) 2020-12-19T04:39:15Z beach: moon-child: They must not have read the book "Modern Operating Systems" by Tanenbaum and Bos, in which they clearly explain that it is impossible to write an operating system in a language that uses garbage collection. 2020-12-19T04:39:53Z beach: The fact that there were already such operating systems in existence when they wrote the book does not seem to have bothered them. 2020-12-19T04:40:18Z no-defun-allowed: Is this in reference to the bare-metal Scheme implementation video? 2020-12-19T04:40:25Z beach: Yeah. 2020-12-19T04:42:50Z brutalist joined #lisp 2020-12-19T04:43:13Z beach: I just took the opportunity to lament the quality of software books; even those written by highly respected people in the field. 2020-12-19T04:44:08Z beach: Highly qualified experts in algorithms and data structures can't even get binary search right. 2020-12-19T04:45:04Z beach: So, to get back on topic, how can we expect books about programming and software development to treat Common Lisp the way it deserves? 2020-12-19T04:47:03Z beach: "One thing you need in an operating system is access to files" [from the video]. 2020-12-19T04:47:30Z beach: So I guess Multics never existed either. 2020-12-19T04:47:54Z oxum_ joined #lisp 2020-12-19T04:48:41Z no-defun-allowed: I don't know how well they would handle a larger memory space, if their runtime causes stop-the-world pauses that would drop keys at a reasonable typing speed (by the example of an interrupt you can't wait for). 2020-12-19T04:49:25Z beach: I haven't watched all of it yet. Is that the GC they are using? 2020-12-19T04:49:31Z no-defun-allowed: ...while working with a memory space some magnitudes smaller? 2020-12-19T04:49:47Z oxum_ quit (Remote host closed the connection) 2020-12-19T04:50:09Z beach: froggey says, "just make the GC interruptable" 2020-12-19T04:50:57Z ym joined #lisp 2020-12-19T04:51:02Z oxum quit (Ping timeout: 260 seconds) 2020-12-19T04:51:04Z lotuseater: how does one accomplish that? 2020-12-19T04:51:05Z moon-child: sounds like a limitation of gambit scheme 2020-12-19T04:51:13Z no-defun-allowed: That is another solution, yes. 2020-12-19T04:51:41Z moon-child: lotuseater: have a backup arena, run interrupt code from that 2020-12-19T04:51:52Z moon-child: so you just don't touch the main arena while the gc is running 2020-12-19T04:51:56Z lotuseater: hmm ok 2020-12-19T04:52:07Z beach: The project in the video is cute, but I don't think there is anything publishable in there, since most of the stuff has already been done multiple times. 2020-12-19T04:53:22Z no-defun-allowed: At 12:50, they say "you can't tell the user to stop sending key-presses", but you would hopefully have pauses shorter than the time between keypresses. If I planted my face in the keyboard and rolled it around, I might be able to drop some keys, but it's an odd example. 2020-12-19T04:53:59Z beach: I see. 2020-12-19T04:54:51Z mfiano joined #lisp 2020-12-19T04:55:00Z narimiran joined #lisp 2020-12-19T04:56:27Z no-defun-allowed: As a rough estimate, someone typing at 150wpm, which is well above average, with about 4 letters per word, would type 10 letters a second, so you could only hold interrupts for 100ms (assuming the time between presses is even). 2020-12-19T04:57:16Z beach: Sounds right. 2020-12-19T04:58:00Z beach: I designed the SICL nursery collector so that it would take only a few milliseconds which is what is required for applications like sound processing. 2020-12-19T04:58:03Z lotuseater: how does the linux kernel handle this? i have no idea 2020-12-19T04:58:06Z no-defun-allowed: Or, provided you can't leave some spare memory for interrupt handlers, would it be hard to have the interrupt handler not cons? It could just vector-push a character into a buffer, which would be very unlikely to overflow, even with a small buffer. 2020-12-19T04:58:43Z moon-child: lotuseater: the linux kernel doesn't have a gc 2020-12-19T04:58:50Z beach: You beat me to it. 2020-12-19T04:59:05Z moon-child: and yes, most kernels have a fixed-size ring buffer they push events to 2020-12-19T04:59:26Z no-defun-allowed: I recall something about how Linux handles it from a video where someone connected a 5Gbps network card to a Raspberry Pi. Hold on... 2020-12-19T04:59:29Z lotuseater: moon-child: i know that. but i meant the many words typing 2020-12-19T05:00:56Z mfiano quit (Ping timeout: 256 seconds) 2020-12-19T05:01:29Z oxum joined #lisp 2020-12-19T05:01:30Z wxie quit (Ping timeout: 256 seconds) 2020-12-19T05:01:46Z Alloc joined #lisp 2020-12-19T05:02:04Z no-defun-allowed: https://github.com/geerlingguy/raspberry-pi-pcie-devices/issues/3#issuecomment-719781909 showed me that Linux has a ksoftirqd kernel task, which handles interrupts can queue. 2020-12-19T05:02:12Z no-defun-allowed: ...handles interrupts the kernel can queue for later. 2020-12-19T05:03:02Z Fare quit (Ping timeout: 260 seconds) 2020-12-19T05:06:02Z _whitelogger quit (Remote host closed the connection) 2020-12-19T05:06:52Z beach: Why on earth did they not redesign the memory manager? 2020-12-19T05:08:10Z _whitelogger joined #lisp 2020-12-19T05:08:28Z moon-child: eh, making memory managers is hard 2020-12-19T05:08:44Z beach: If it's not hard, it's not worth doing. 2020-12-19T05:08:58Z moon-child: sure, but you always have to pick something to prioritize 2020-12-19T05:09:07Z beach: I guess so. 2020-12-19T05:09:20Z no-defun-allowed: They mention one Lisp operating system, which has an even worse memory manager (well, I guess it usually reduces pause times, but that's the only thing going for it). 2020-12-19T05:10:05Z beach: no-defun-allowed: Towards the end? 2020-12-19T05:10:12Z beach: I haven't heard anything yet. 2020-12-19T05:10:20Z no-defun-allowed: Towards the start of the paper. 2020-12-19T05:11:23Z beach: OK. 2020-12-19T05:12:17Z no-defun-allowed: That can be retrieved from https://icfp20.sigplan.org/details/scheme-2020-papers/3/Running-Scheme-On-Bare-Metal-Experience-Report- (yes, there is a trailing hyphen). I usually read the paper, because I'm a faster reader as my hearing is a bit wonky. 2020-12-19T05:12:39Z beach: Thanks. 2020-12-19T05:13:20Z brutalist quit (Quit: brutalist) 2020-12-19T05:14:25Z Fare joined #lisp 2020-12-19T05:15:00Z beach: They mention Mezzano, and something called ChrysaLisp. 2020-12-19T05:15:13Z no-defun-allowed: Oh, at the end of the paper, they suggest writing the interrupt handling code in a restricted (presumably non-consing) Scheme, and to use the x86 compiler in Gambit to eliminate C code from the system. 2020-12-19T05:15:50Z beach: They mention the first idea in the video as well. 2020-12-19T05:16:47Z no-defun-allowed: Yeah, the latter is not a Common Lisp implementation, and I fear I'll break out in hives if I read any more of the implementation code. 2020-12-19T05:17:14Z beach: Marc Feely, by the way, is the one who pissed all over my work on fast generic function dispatch. 2020-12-19T05:17:46Z no-defun-allowed: Oh dear. 2020-12-19T05:21:51Z no-defun-allowed: To be honest, (the part of) today (when I've been watching the channel) #lisp has been ragging on a few people today. I think you aren't in the wrong to bring Feely's record up, but again I'm far too good at putting out a stream of things I don't like, so I'll end it by mentioning that a Lisp implementor after the 80s has decided to use reference counting, stating "I'm not keen on GC". 2020-12-19T05:21:57Z abraham joined #lisp 2020-12-19T05:22:17Z no-defun-allowed: "Go out with a bang" and all. 2020-12-19T05:22:46Z ck_ .oO( Can't we all just get along ? ) 2020-12-19T05:23:35Z no-defun-allowed: I have no intentions of getting along with people who are screwing up my field, whatever that may be. 2020-12-19T05:24:29Z thmprover quit (Quit: And Let's Away, to Part the Glories of This Happy Day) 2020-12-19T05:25:17Z abraham quit (Client Quit) 2020-12-19T05:26:34Z wxie joined #lisp 2020-12-19T05:29:24Z mfiano joined #lisp 2020-12-19T05:39:47Z Fare quit (Ping timeout: 260 seconds) 2020-12-19T05:44:13Z toorevitimirp quit (Remote host closed the connection) 2020-12-19T05:46:45Z rumbler3_ quit (Remote host closed the connection) 2020-12-19T05:55:38Z mfiano quit (Ping timeout: 272 seconds) 2020-12-19T05:58:40Z mfiano joined #lisp 2020-12-19T06:04:58Z mfiano quit (Ping timeout: 256 seconds) 2020-12-19T06:13:44Z waleee-cl quit (Quit: Connection closed for inactivity) 2020-12-19T06:13:50Z zacts joined #lisp 2020-12-19T06:14:18Z mfiano joined #lisp 2020-12-19T06:15:05Z Alloc quit (Ping timeout: 240 seconds) 2020-12-19T06:18:26Z phoe6 joined #lisp 2020-12-19T06:20:37Z mfiano quit (Ping timeout: 260 seconds) 2020-12-19T06:24:05Z momozor left #lisp 2020-12-19T06:29:42Z mfiano joined #lisp 2020-12-19T06:32:03Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-19T06:33:54Z luckless_ joined #lisp 2020-12-19T06:41:34Z oxum quit (Remote host closed the connection) 2020-12-19T06:42:15Z oxum joined #lisp 2020-12-19T06:45:08Z mfiano quit (Ping timeout: 256 seconds) 2020-12-19T06:47:45Z frost-lab joined #lisp 2020-12-19T06:54:09Z mfiano joined #lisp 2020-12-19T06:55:29Z ym is now known as ym_mob 2020-12-19T06:56:25Z jibanes quit (Ping timeout: 240 seconds) 2020-12-19T06:57:06Z ym_mob is now known as ym 2020-12-19T06:57:42Z grobe0ba_ joined #lisp 2020-12-19T06:58:26Z jibanes joined #lisp 2020-12-19T06:59:20Z grobe0ba quit (Disconnected by services) 2020-12-19T06:59:20Z grobe0ba_ is now known as grobe0ba 2020-12-19T07:06:40Z eden joined #lisp 2020-12-19T07:07:17Z mfiano quit (Ping timeout: 260 seconds) 2020-12-19T07:14:45Z zacts: can you run quicklisp on abcl? 2020-12-19T07:14:46Z lottaquestions joined #lisp 2020-12-19T07:15:59Z lottaquestions_ quit (Ping timeout: 268 seconds) 2020-12-19T07:16:59Z easye: zacts: certainly. You can install it locally via (require :abcl-contrib)(require :quicklisp-abcl) 2020-12-19T07:17:19Z zacts: nice, thanks 2020-12-19T07:18:01Z lottaquestions quit (Client Quit) 2020-12-19T07:18:31Z lottaquestions joined #lisp 2020-12-19T07:18:55Z fiddlerwoaroof: What's the status of the december quicklisp dist? 2020-12-19T07:19:57Z lottaquestions quit (Client Quit) 2020-12-19T07:20:31Z lottaquestions joined #lisp 2020-12-19T07:23:53Z tempest_nox quit (Read error: Connection reset by peer) 2020-12-19T07:25:57Z andreyorst joined #lisp 2020-12-19T07:29:02Z kapil_ quit (Quit: ZNC 1.7.5 - https://znc.in) 2020-12-19T07:29:28Z kapil_ joined #lisp 2020-12-19T07:30:02Z pankajsg quit (Ping timeout: 260 seconds) 2020-12-19T07:34:28Z mfiano joined #lisp 2020-12-19T07:36:11Z andreyorst quit (Quit: andreyorst) 2020-12-19T07:36:37Z andreyorst joined #lisp 2020-12-19T07:37:41Z entre-parenteses quit (Remote host closed the connection) 2020-12-19T07:39:53Z igemnace quit (Quit: WeeChat 2.9) 2020-12-19T07:40:25Z mfiano quit (Ping timeout: 240 seconds) 2020-12-19T07:42:12Z markasoftware_ joined #lisp 2020-12-19T07:43:43Z andreyorst quit (Ping timeout: 260 seconds) 2020-12-19T07:44:31Z markasoftware_ quit (Client Quit) 2020-12-19T07:45:23Z markasoftware_ joined #lisp 2020-12-19T07:45:41Z markasoftware quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) 2020-12-19T07:48:11Z markasoftware_ quit (Client Quit) 2020-12-19T07:49:18Z markasoftware joined #lisp 2020-12-19T07:50:43Z mfiano joined #lisp 2020-12-19T07:53:01Z FreeBirdLjj joined #lisp 2020-12-19T07:53:04Z atomik joined #lisp 2020-12-19T07:56:32Z atomik_dog quit (Ping timeout: 260 seconds) 2020-12-19T07:59:47Z mfiano quit (Ping timeout: 260 seconds) 2020-12-19T08:02:59Z mfiano joined #lisp 2020-12-19T08:22:20Z andreyorst joined #lisp 2020-12-19T08:24:04Z a0 joined #lisp 2020-12-19T08:26:23Z eden quit (Ping timeout: 240 seconds) 2020-12-19T08:33:10Z bilegeek joined #lisp 2020-12-19T08:33:17Z renzhi quit (Ping timeout: 260 seconds) 2020-12-19T08:36:40Z aartaka joined #lisp 2020-12-19T08:39:27Z aartaka_d quit (Ping timeout: 260 seconds) 2020-12-19T08:44:28Z a0 quit (Remote host closed the connection) 2020-12-19T08:45:08Z a0 joined #lisp 2020-12-19T08:51:40Z pve joined #lisp 2020-12-19T08:52:01Z skapata joined #lisp 2020-12-19T08:59:52Z mfiano quit (Ping timeout: 260 seconds) 2020-12-19T09:07:45Z daphnis joined #lisp 2020-12-19T09:09:43Z mfiano joined #lisp 2020-12-19T09:13:25Z daphnis quit (Ping timeout: 264 seconds) 2020-12-19T09:14:37Z mfiano quit (Ping timeout: 264 seconds) 2020-12-19T09:17:20Z mfiano joined #lisp 2020-12-19T09:18:05Z wxie quit (Ping timeout: 268 seconds) 2020-12-19T09:22:41Z daphnis joined #lisp 2020-12-19T09:25:03Z a0 quit (Ping timeout: 240 seconds) 2020-12-19T09:25:37Z dhil joined #lisp 2020-12-19T09:27:42Z shka_ joined #lisp 2020-12-19T09:27:57Z frost-lab quit (Ping timeout: 268 seconds) 2020-12-19T09:35:27Z gko_ quit (Ping timeout: 260 seconds) 2020-12-19T09:37:18Z makomo joined #lisp 2020-12-19T09:37:21Z gaqwas joined #lisp 2020-12-19T09:39:40Z mfiano quit (Ping timeout: 268 seconds) 2020-12-19T09:40:05Z daphnis quit (Ping timeout: 240 seconds) 2020-12-19T09:47:42Z makomo quit (Ping timeout: 260 seconds) 2020-12-19T09:49:54Z kapil_ quit (Quit: ZNC 1.7.5 - https://znc.in) 2020-12-19T09:52:26Z perrier-jouet quit (Quit: WeeChat 2.9) 2020-12-19T09:53:19Z kapil_ joined #lisp 2020-12-19T09:55:05Z mfiano joined #lisp 2020-12-19T09:56:47Z daphnis joined #lisp 2020-12-19T10:00:01Z mfiano quit (Ping timeout: 268 seconds) 2020-12-19T10:00:50Z anewuser joined #lisp 2020-12-19T10:02:37Z daphnis quit (Ping timeout: 264 seconds) 2020-12-19T10:06:46Z anewuser quit (Remote host closed the connection) 2020-12-19T10:08:01Z fanta1 joined #lisp 2020-12-19T10:08:38Z heisig joined #lisp 2020-12-19T10:09:08Z mfiano joined #lisp 2020-12-19T10:09:12Z hnOsmium0001 quit (Quit: Connection closed for inactivity) 2020-12-19T10:09:52Z rgherdt joined #lisp 2020-12-19T10:12:02Z galex-713 quit (Ping timeout: 264 seconds) 2020-12-19T10:13:57Z mfiano quit (Ping timeout: 260 seconds) 2020-12-19T10:20:25Z galex-713 joined #lisp 2020-12-19T10:22:58Z mfiano joined #lisp 2020-12-19T10:25:25Z frost-lab joined #lisp 2020-12-19T10:31:08Z mfiano quit (Ping timeout: 260 seconds) 2020-12-19T10:34:45Z narimiran quit (Ping timeout: 240 seconds) 2020-12-19T10:47:25Z mfiano joined #lisp 2020-12-19T10:49:19Z frost-lab quit (Quit: Connection closed) 2020-12-19T10:50:44Z igemnace joined #lisp 2020-12-19T10:50:59Z jibanes quit (Ping timeout: 260 seconds) 2020-12-19T10:52:38Z jibanes joined #lisp 2020-12-19T10:53:06Z iskander joined #lisp 2020-12-19T10:55:52Z cosimone joined #lisp 2020-12-19T10:56:49Z mfiano quit (Ping timeout: 260 seconds) 2020-12-19T10:58:24Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-19T11:00:05Z mfiano joined #lisp 2020-12-19T11:05:40Z mfiano quit (Ping timeout: 265 seconds) 2020-12-19T11:10:06Z frgo quit (Remote host closed the connection) 2020-12-19T11:10:34Z frgo joined #lisp 2020-12-19T11:11:47Z sm2n joined #lisp 2020-12-19T11:14:45Z mfiano joined #lisp 2020-12-19T11:16:57Z andreyorst quit (Ping timeout: 260 seconds) 2020-12-19T11:19:29Z vegansbane6 quit (Quit: The Lounge - https://thelounge.chat) 2020-12-19T11:20:37Z mfiano quit (Ping timeout: 264 seconds) 2020-12-19T11:22:04Z Oddity joined #lisp 2020-12-19T11:23:24Z mfiano joined #lisp 2020-12-19T11:24:39Z jprajzne quit (Remote host closed the connection) 2020-12-19T11:25:07Z Oddity- quit (Ping timeout: 260 seconds) 2020-12-19T11:29:16Z mfiano quit (Ping timeout: 256 seconds) 2020-12-19T11:33:00Z ezekielwordswort joined #lisp 2020-12-19T11:35:11Z gaqwas quit (Remote host closed the connection) 2020-12-19T11:37:38Z kam1 joined #lisp 2020-12-19T11:38:20Z Nilby joined #lisp 2020-12-19T11:39:44Z bilegeek quit (Quit: Leaving) 2020-12-19T11:41:56Z imode quit (Quit: Batsharks are people too!) 2020-12-19T11:42:18Z karlosz quit (Ping timeout: 256 seconds) 2020-12-19T11:42:46Z cosimone quit (Remote host closed the connection) 2020-12-19T11:43:03Z cosimone joined #lisp 2020-12-19T11:43:46Z ezekielwordswort quit (Quit: WeeChat 2.9) 2020-12-19T11:45:03Z mfiano joined #lisp 2020-12-19T11:46:16Z daphnis joined #lisp 2020-12-19T11:48:29Z cosimone quit (Quit: cosimone) 2020-12-19T11:48:56Z X-Scale` joined #lisp 2020-12-19T11:49:02Z vegansbane6 joined #lisp 2020-12-19T11:49:55Z mfiano quit (Ping timeout: 246 seconds) 2020-12-19T11:50:39Z X-Scale quit (Ping timeout: 256 seconds) 2020-12-19T11:50:39Z X-Scale` is now known as X-Scale 2020-12-19T11:52:48Z daphnis quit (Ping timeout: 260 seconds) 2020-12-19T11:53:26Z gareppa joined #lisp 2020-12-19T11:58:23Z gareppa quit (Remote host closed the connection) 2020-12-19T11:58:56Z daphnis joined #lisp 2020-12-19T12:03:58Z daphnis quit (Ping timeout: 268 seconds) 2020-12-19T12:08:53Z luckless joined #lisp 2020-12-19T12:10:02Z kam1 quit (Ping timeout: 260 seconds) 2020-12-19T12:18:57Z random-nick joined #lisp 2020-12-19T12:19:14Z aartaka_d joined #lisp 2020-12-19T12:20:43Z ebrasca joined #lisp 2020-12-19T12:21:58Z aartaka quit (Ping timeout: 272 seconds) 2020-12-19T12:28:33Z surabax joined #lisp 2020-12-19T12:28:52Z narimiran joined #lisp 2020-12-19T12:30:02Z iskander- joined #lisp 2020-12-19T12:30:45Z iskander quit (Ping timeout: 240 seconds) 2020-12-19T12:31:43Z mfiano joined #lisp 2020-12-19T12:35:25Z Nilby quit (Ping timeout: 240 seconds) 2020-12-19T12:37:50Z mfiano quit (Ping timeout: 256 seconds) 2020-12-19T12:50:22Z orivej joined #lisp 2020-12-19T12:51:43Z jibanes quit (Ping timeout: 260 seconds) 2020-12-19T12:53:23Z jibanes joined #lisp 2020-12-19T12:53:56Z Xach: fiddlerwoaroof: so many last-minute bugs are messing it up 2020-12-19T12:54:23Z mfiano joined #lisp 2020-12-19T12:55:03Z Xach: The normal instructions for quicklisp are: 1. download https://beta.quicklisp.org/quicklisp.lisp 2. (load "quicklisp.lisp") 2020-12-19T12:57:29Z Xach: My strategy for timing releases is breaking down a bit, and it will take some engineering to escape the trouble. 2020-12-19T12:58:01Z Xach: It's based on the theory that most of the time, most things build and work together fine. 2020-12-19T12:59:19Z izh_ joined #lisp 2020-12-19T12:59:22Z mfiano quit (Ping timeout: 256 seconds) 2020-12-19T13:00:33Z Xach: If I had an easy system to say "go back to the last version of X that built fine" i could make progress. 2020-12-19T13:00:50Z andreyorst joined #lisp 2020-12-19T13:00:54Z Xach: (it would not be too hard to make that system, but it doesn't exist yet) 2020-12-19T13:02:18Z mfiano joined #lisp 2020-12-19T13:06:25Z makomo joined #lisp 2020-12-19T13:08:16Z hineios quit (Ping timeout: 240 seconds) 2020-12-19T13:09:34Z mfiano quit (Ping timeout: 256 seconds) 2020-12-19T13:10:10Z hineios joined #lisp 2020-12-19T13:11:20Z waleee-cl joined #lisp 2020-12-19T13:12:05Z cosimone joined #lisp 2020-12-19T13:13:35Z Xach: fiddlerwoaroof: http://report.quicklisp.org/2020-12-19/failure-report.html has today's failure report 2020-12-19T13:16:22Z EvW joined #lisp 2020-12-19T13:19:04Z lotuseater: Xach: sounds like something how Nix and GUIX work, declarative reproducible builds 2020-12-19T13:19:15Z cognemo quit (Quit: cognemo) 2020-12-19T13:20:03Z cognemo joined #lisp 2020-12-19T13:22:36Z Xach: A better system than the current would be great. I hate delaying releases so much. 2020-12-19T13:23:00Z cosimone quit (Remote host closed the connection) 2020-12-19T13:23:21Z cosimone joined #lisp 2020-12-19T13:24:40Z lotuseater: i can load in a nix-shell the lispPackages.quicklisp but didn't fit that to other stuff yet 2020-12-19T13:25:18Z mfiano joined #lisp 2020-12-19T13:26:09Z lotuseater: https://github.com/NixOS/nixpkgs/tree/master/pkgs/development/lisp-modules 2020-12-19T13:26:14Z ebrasca quit (Read error: No route to host) 2020-12-19T13:26:53Z ebrasca joined #lisp 2020-12-19T13:29:43Z atomik quit (Killed (adams.freenode.net (Nickname regained by services))) 2020-12-19T13:29:56Z mfiano quit (Ping timeout: 240 seconds) 2020-12-19T13:30:09Z Guest46161 joined #lisp 2020-12-19T13:30:20Z lotuseater: but maybe this is of more use: https://github.com/SquircleSpace/ql2nix 2020-12-19T13:31:40Z jibanes quit (Ping timeout: 256 seconds) 2020-12-19T13:33:25Z jibanes joined #lisp 2020-12-19T13:36:43Z Xach: Not to me, unfortunately. 2020-12-19T13:36:51Z FreeBirdLjj quit 2020-12-19T13:37:15Z cosimone quit (Remote host closed the connection) 2020-12-19T13:37:32Z cosimone joined #lisp 2020-12-19T13:38:23Z zacts quit (Ping timeout: 260 seconds) 2020-12-19T13:39:37Z mfiano joined #lisp 2020-12-19T13:44:56Z mfiano quit (Ping timeout: 272 seconds) 2020-12-19T13:45:10Z hendursaga joined #lisp 2020-12-19T13:50:17Z Kaisyu joined #lisp 2020-12-19T13:55:06Z ym quit (Quit: Leaving) 2020-12-19T14:05:00Z daphnis joined #lisp 2020-12-19T14:05:14Z kevingal joined #lisp 2020-12-19T14:05:46Z FreeBirdLjj joined #lisp 2020-12-19T14:09:06Z kevingal_ joined #lisp 2020-12-19T14:10:37Z kevingal_ quit (Client Quit) 2020-12-19T14:10:47Z kevingal quit (Quit: Leaving) 2020-12-19T14:11:40Z daphnis quit (Ping timeout: 256 seconds) 2020-12-19T14:20:07Z gaqwas joined #lisp 2020-12-19T14:20:30Z igemnace quit (Quit: WeeChat 2.9) 2020-12-19T14:22:37Z liberliver joined #lisp 2020-12-19T14:23:14Z Fare joined #lisp 2020-12-19T14:25:10Z izh_ quit (Quit: Leaving) 2020-12-19T14:26:15Z FreeBirdLjj quit 2020-12-19T14:26:18Z mfiano joined #lisp 2020-12-19T14:29:45Z FreeBirdLjj joined #lisp 2020-12-19T14:33:50Z eden joined #lisp 2020-12-19T14:37:30Z mfiano quit (Ping timeout: 272 seconds) 2020-12-19T14:37:38Z matryoshka quit (Read error: Connection reset by peer) 2020-12-19T14:38:30Z matryoshka joined #lisp 2020-12-19T14:43:01Z kam1 joined #lisp 2020-12-19T14:46:47Z mfiano joined #lisp 2020-12-19T14:47:02Z daphnis joined #lisp 2020-12-19T14:51:42Z amb007 quit (Read error: Connection reset by peer) 2020-12-19T14:52:21Z mfiano quit (Ping timeout: 265 seconds) 2020-12-19T14:52:29Z amb007 joined #lisp 2020-12-19T14:54:52Z mfiano joined #lisp 2020-12-19T14:56:25Z daphnis quit (Ping timeout: 240 seconds) 2020-12-19T14:56:32Z EvW quit (Ping timeout: 260 seconds) 2020-12-19T15:01:15Z Duuqnd joined #lisp 2020-12-19T15:02:01Z mfiano quit (Ping timeout: 265 seconds) 2020-12-19T15:05:00Z jibanes quit (Ping timeout: 256 seconds) 2020-12-19T15:06:21Z Inline joined #lisp 2020-12-19T15:06:51Z jibanes joined #lisp 2020-12-19T15:08:48Z daphnis joined #lisp 2020-12-19T15:11:48Z mfiano joined #lisp 2020-12-19T15:16:46Z lucasb joined #lisp 2020-12-19T15:16:48Z phoe6 quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) 2020-12-19T15:17:37Z mfiano quit (Ping timeout: 264 seconds) 2020-12-19T15:25:08Z akoana left #lisp 2020-12-19T15:33:10Z mfiano joined #lisp 2020-12-19T15:39:05Z mfiano quit (Ping timeout: 240 seconds) 2020-12-19T15:42:45Z rumbler31 joined #lisp 2020-12-19T15:43:51Z kaisyu[m] joined #lisp 2020-12-19T15:47:06Z rumbler31 quit (Ping timeout: 256 seconds) 2020-12-19T15:48:51Z mfiano joined #lisp 2020-12-19T15:52:52Z kam1 quit (Ping timeout: 260 seconds) 2020-12-19T15:52:58Z dyelar joined #lisp 2020-12-19T15:54:49Z mfiano quit (Ping timeout: 264 seconds) 2020-12-19T15:57:27Z mfiano joined #lisp 2020-12-19T15:58:12Z cognemo quit (Quit: cognemo) 2020-12-19T16:00:30Z cognemo joined #lisp 2020-12-19T16:04:49Z cosimone quit (Quit: cosimone) 2020-12-19T16:05:04Z mfiano quit (Ping timeout: 256 seconds) 2020-12-19T16:05:49Z Xach: It feels good to add some quality planet lisp blogs! 2020-12-19T16:06:17Z Fare quit (Ping timeout: 260 seconds) 2020-12-19T16:06:22Z phoe: Xach: I am considering moving off Movim because it has that ugly code snippet bug unfixed for months/years 2020-12-19T16:06:39Z phoe: is there any kind of blogging software/platform that you would recommend? 2020-12-19T16:07:25Z Xach: phoe: not really, i use tumblr now but it doesn't work well either. 2020-12-19T16:07:40Z Xach: i think self-hosting with simple software would be best. i don't know if that exists. 2020-12-19T16:08:01Z mfiano joined #lisp 2020-12-19T16:08:06Z axion joined #lisp 2020-12-19T16:08:07Z phoe: hmmmm 2020-12-19T16:08:09Z mfiano quit (Client Quit) 2020-12-19T16:08:15Z lilgopher joined #lisp 2020-12-19T16:08:22Z phoe: a blog at github pages is always an option 2020-12-19T16:08:42Z phoe: or at another gitlabesque instance, maybe at clnet even 2020-12-19T16:08:44Z phoe thinks 2020-12-19T16:08:59Z axion quit (Client Quit) 2020-12-19T16:10:04Z liberliver quit (Ping timeout: 260 seconds) 2020-12-19T16:12:03Z _jrjsmrtn joined #lisp 2020-12-19T16:13:05Z __jrjsmrtn__ quit (Ping timeout: 240 seconds) 2020-12-19T16:14:11Z Kaisyu is now known as Kaisyu_M 2020-12-19T16:14:14Z mfiano joined #lisp 2020-12-19T16:18:21Z Kaisyu_M is now known as Kaisyu 2020-12-19T16:20:29Z Kaisyu quit 2020-12-19T16:23:02Z perrier-jouet joined #lisp 2020-12-19T16:26:25Z jibanes quit (Ping timeout: 246 seconds) 2020-12-19T16:28:35Z jibanes joined #lisp 2020-12-19T16:36:24Z flazh quit (Ping timeout: 256 seconds) 2020-12-19T16:36:43Z lilgopher quit (Quit: Computer went to sleep.) 2020-12-19T16:37:30Z kaisyu[m] is now known as kaisyu[m][m] 2020-12-19T16:37:59Z lilgopher joined #lisp 2020-12-19T16:38:54Z Kaisyu joined #lisp 2020-12-19T16:40:37Z wooden joined #lisp 2020-12-19T16:40:37Z wooden quit (Changing host) 2020-12-19T16:40:37Z wooden joined #lisp 2020-12-19T16:40:58Z amb007 quit (Ping timeout: 260 seconds) 2020-12-19T16:41:54Z amb007 joined #lisp 2020-12-19T16:42:28Z drl joined #lisp 2020-12-19T16:42:32Z notzmv quit (Remote host closed the connection) 2020-12-19T16:43:00Z notzmv joined #lisp 2020-12-19T16:45:56Z notzmv quit (Remote host closed the connection) 2020-12-19T16:47:28Z notzmv joined #lisp 2020-12-19T16:47:54Z lilgopher quit (Quit: Computer went to sleep.) 2020-12-19T16:49:53Z lilgopher joined #lisp 2020-12-19T16:52:20Z dxtr joined #lisp 2020-12-19T17:00:09Z FennecCode quit (Remote host closed the connection) 2020-12-19T17:04:12Z kaisyu[m][m] is now known as Kaisyu[m] 2020-12-19T17:06:08Z kaftejiman joined #lisp 2020-12-19T17:08:24Z cosimone joined #lisp 2020-12-19T17:09:45Z FennecCode joined #lisp 2020-12-19T17:13:00Z andreyorst quit (Ping timeout: 256 seconds) 2020-12-19T17:14:26Z luckless quit (Remote host closed the connection) 2020-12-19T17:14:55Z luckless joined #lisp 2020-12-19T17:16:38Z charles` joined #lisp 2020-12-19T17:16:47Z cosimone quit (Remote host closed the connection) 2020-12-19T17:17:06Z cosimone joined #lisp 2020-12-19T17:19:45Z EvW joined #lisp 2020-12-19T17:21:51Z charles`: Has anyone managed to use usocket for websockets? 2020-12-19T17:22:37Z phoe: websockets have little in common with traditional unix sockets 2020-12-19T17:22:45Z phoe: they're a higher level construct 2020-12-19T17:22:59Z Kaisyu[m] is now known as kaisyu[m] 2020-12-19T17:23:48Z charles`: I'm looking for a portable websocket library, I've tried websocket-driver and clws. 2020-12-19T17:31:35Z phoe: I'm not aware of any other ones 2020-12-19T17:32:31Z cosimone quit (Remote host closed the connection) 2020-12-19T17:32:49Z cosimone joined #lisp 2020-12-19T17:35:42Z amb007 quit (Read error: Connection reset by peer) 2020-12-19T17:35:43Z kam1 joined #lisp 2020-12-19T17:36:02Z amb007 joined #lisp 2020-12-19T17:37:18Z hnOsmium0001 joined #lisp 2020-12-19T17:39:22Z charles`: Is there something fundamental that is preventing a websocket library from being portable, or should I attempt to create my own? 2020-12-19T17:44:56Z andreyorst joined #lisp 2020-12-19T17:48:21Z flazh joined #lisp 2020-12-19T17:51:08Z nij joined #lisp 2020-12-19T17:51:08Z dra_ joined #lisp 2020-12-19T17:51:19Z dra_ is now known as dra 2020-12-19T17:51:32Z nij: Hi, I am following a tutorial to compile lisp scripts.. using UIOP. I got an error however: https://bpa.st/6DGQ 2020-12-19T17:52:00Z nij: (In case it would be helpful, the tutorial is here: https://ebzzry.io/en/script-lisp/ I'm compiling "general.lisp".) 2020-12-19T17:55:29Z nij: I'm not familiar with UIOP unfortunately, so don't know how to fix. The main complaint seems to be "Can't inherit "TIMESTAMP<" from "LOCAL-TIME", it is inherited from "UIOP/UTILITY"". 2020-12-19T17:55:36Z phoe: package name conflict. 2020-12-19T17:55:41Z phoe: what is your DEFPACKAGE? 2020-12-19T17:56:02Z phoe: you cannot use both LOCAL-TIME and UIOP inside it because they have conflicting symbols. 2020-12-19T17:56:11Z phoe: s/package name/symbol name/ 2020-12-19T17:56:31Z nij: What is my DEFPACKAGE? 2020-12-19T17:56:38Z phoe: yes 2020-12-19T17:56:46Z phoe: which script are you trying to compile? 2020-12-19T17:56:53Z phoe: could you link it? 2020-12-19T17:57:20Z nij: It's generali.lisp in https://ebzzry.io/en/script-lisp/ 2020-12-19T17:57:30Z nij: s/generali/general/ 2020-12-19T17:57:37Z phoe: oh 2020-12-19T17:57:40Z phoe: it's broken then 2020-12-19T17:57:48Z nij: Jeez :( 2020-12-19T17:57:50Z phoe: mail the author with the backtrace. 2020-12-19T17:58:10Z nij: Dependencies are outdated? 2020-12-19T17:58:45Z phoe: honestly, I don't know 2020-12-19T17:59:05Z phoe: there's a symbol conflict because both UIOP and LOCAL-TIME export a symbol named TIMESTAMP< 2020-12-19T17:59:13Z phoe: so right now there's an obvious conflict 2020-12-19T17:59:27Z dra: Hi phoe! 2020-12-19T17:59:31Z phoe: you could try to work around this by removing most of the USEd packages and adapting the code as appropriate 2020-12-19T17:59:45Z phoe: or try to use package-local nicknames instead of USE, because PLNs are resistant to this sorta thing. 2020-12-19T17:59:48Z phoe: dra: hey hi 2020-12-19T17:59:57Z nij: phoe: OK! Thanks :D 2020-12-19T18:00:06Z dra: phoe: May I query you? 2020-12-19T18:00:10Z phoe: dra: sure 2020-12-19T18:00:16Z phoe: nij: that's the main trouble with USE 2020-12-19T18:00:37Z phoe: you can describe it with a meme 2020-12-19T18:00:43Z nij: xD 2020-12-19T18:00:54Z phoe: #: uses two other packages 2020-12-19T18:01:01Z nij: The author has a github repo with his cl scripts. I can look into that and see how to fix. 2020-12-19T18:01:04Z phoe: #: exports a symbol named FOO 2020-12-19T18:01:13Z phoe: The next version of #: https://i.imgflip.com/2ves3p.jpg 2020-12-19T18:01:28Z nij: Ha! The funniest part? 2020-12-19T18:01:32Z nij: Is that I don't understand yet. 2020-12-19T18:01:34Z nij: :( 2020-12-19T18:01:46Z nij: I'll keep this joke in mind.. hopefully. 2020-12-19T18:01:50Z phoe: nij: okay, so 2020-12-19T18:02:02Z phoe: you have a package named MY-PACKAGE that uses two packages, DEPENDENCY-1 and DEPENDENCY-2 2020-12-19T18:02:10Z phoe: DEPENDENCY-1 exports a symbol named FOO 2020-12-19T18:02:29Z nij: (following!) 2020-12-19T18:02:45Z phoe: DEPENDENCY-2 doesn't export such a symbol, so all is good 2020-12-19T18:02:57Z nij: Oh oh! 2020-12-19T18:02:58Z charles`: couldn't you also do shadowing import 2020-12-19T18:03:00Z phoe: but then the maintainers of package DEPENDENCY-2 submit a new version of the package, with an additional exported symbol named FOO 2020-12-19T18:03:03Z nij: I get it now. 2020-12-19T18:03:13Z ebrasca quit (Remote host closed the connection) 2020-12-19T18:03:13Z phoe: charles`: you could, but then you need to be aware of which symbols to shadowing-import 2020-12-19T18:03:31Z phoe: you can't predict it ahead of time in the general case 2020-12-19T18:03:39Z phoe: but to finish the tale 2020-12-19T18:03:43Z nij: Yeah. Thanks for your patience.! 2020-12-19T18:03:46Z nij: I get it now. 2020-12-19T18:03:50Z phoe: you update your quicklisp dist, try to load your code 2020-12-19T18:04:01Z phoe: and then DEFPACKAGE MY-PACKAGE explodes even though you have not done a single thing to break it 2020-12-19T18:04:08Z phoe: ...other than deciding to use :USE 2020-12-19T18:04:13Z cosimone quit (Remote host closed the connection) 2020-12-19T18:04:30Z phoe: which is something that may or may not explode, depending on how the stars configure themselves 2020-12-19T18:05:50Z nij: The author's repo uses :USE. 2020-12-19T18:05:56Z nij: I should probably avoid that then. 2020-12-19T18:07:28Z gareppa joined #lisp 2020-12-19T18:07:55Z X-Scale` joined #lisp 2020-12-19T18:08:46Z X-Scale quit (Ping timeout: 256 seconds) 2020-12-19T18:08:46Z X-Scale` is now known as X-Scale 2020-12-19T18:09:35Z gareppa quit (Remote host closed the connection) 2020-12-19T18:10:32Z phoe: now that PLNs are widespread, it's generally considered better style to use them rather than USE 2020-12-19T18:10:40Z phoe: precisely for the reasons I have mentioned earlier 2020-12-19T18:11:03Z nij: package-local nicknames? 2020-12-19T18:11:08Z phoe: yes 2020-12-19T18:11:17Z nij: so you mean... local-time:foo? 2020-12-19T18:11:41Z phoe: more like (defpackage my-package ... (:local-nicknames (#:t #:local-time))) and then t:foo 2020-12-19T18:11:43Z nij: oh isee (:local-nicknames (#:a #:alexandria.dev.0))) ;; (2) 2020-12-19T18:11:44Z nij: 2020-12-19T18:11:53Z phoe: oh! I see you found my post 2020-12-19T18:11:59Z nij: :D 2020-12-19T18:12:07Z phoe: I need to edit it someday.. 2020-12-19T18:12:12Z nij: Oh it's yours! Wonderful algorithm. 2020-12-19T18:12:21Z phoe: algorithm? 2020-12-19T18:13:10Z Fare joined #lisp 2020-12-19T18:13:34Z nij: Google. Nvm! 2020-12-19T18:16:48Z makomo quit (Ping timeout: 265 seconds) 2020-12-19T18:17:39Z liberliver joined #lisp 2020-12-19T18:17:56Z jealousmonk quit (Ping timeout: 240 seconds) 2020-12-19T18:18:15Z jealousmonk joined #lisp 2020-12-19T18:27:05Z fiddlerwoaroof: Xach: cool, are package download statistics still available? 2020-12-19T18:29:25Z makomo joined #lisp 2020-12-19T18:31:57Z nostoi_ joined #lisp 2020-12-19T18:32:03Z eden quit (Ping timeout: 240 seconds) 2020-12-19T18:32:18Z eden joined #lisp 2020-12-19T18:36:52Z nij: phoe: After your explanation, I fixed it myself. Thank you :D 2020-12-19T18:37:02Z phoe: nij: <3 2020-12-19T18:37:11Z phoe: please mail the author with your fixes, maybe they can make use of them 2020-12-19T18:39:15Z nostoi_ quit (Quit: Leaving) 2020-12-19T18:40:35Z nostoi joined #lisp 2020-12-19T18:42:36Z Jeanne-Kamikaze joined #lisp 2020-12-19T18:43:42Z charles`: https://github.com/wisesimpson/cl-websocket might be a good starting place 2020-12-19T18:48:49Z luckless quit (Remote host closed the connection) 2020-12-19T18:49:14Z luckless joined #lisp 2020-12-19T18:58:22Z dilated_dinosaur quit (Ping timeout: 268 seconds) 2020-12-19T18:59:22Z liberliver quit (Ping timeout: 246 seconds) 2020-12-19T19:02:02Z kam1 quit (Ping timeout: 256 seconds) 2020-12-19T19:03:45Z dhil quit (Ping timeout: 240 seconds) 2020-12-19T19:04:08Z daphnis quit (Ping timeout: 256 seconds) 2020-12-19T19:09:13Z nostoi quit (Remote host closed the connection) 2020-12-19T19:11:26Z dilated_dinosaur joined #lisp 2020-12-19T19:12:39Z daphnis joined #lisp 2020-12-19T19:14:03Z kam1 joined #lisp 2020-12-19T19:23:18Z Xach: fiddlerwoaroof: i have not kept them up to date, sorry. 2020-12-19T19:23:27Z podge joined #lisp 2020-12-19T19:23:30Z Xach: i have the infrastructure but have not pushed the "update stats and publish" button in a long time. 2020-12-19T19:23:35Z Xach: (it's more than just one button) 2020-12-19T19:24:34Z podge quit (Client Quit) 2020-12-19T19:25:22Z phoe: Xach: how can we help? 2020-12-19T19:26:56Z nostoi joined #lisp 2020-12-19T19:28:31Z Xach: phoe: The main pain point is going from an SQL table to a Blogger post. I run a report, cut and paste, reformat, and paste into blogger. It's not terrible to do once, but to do monthly it's an annoying chore. 2020-12-19T19:28:52Z Xach: phoe: I wouldn't mind publishing the raw data as CSV regularly so someone else could do the work. 2020-12-19T19:29:34Z Xach: it's also not so impossible to automate, but i haven't investigated 2020-12-19T19:29:47Z phoe: Xach: please do! Once I have a stable parametrized URL with CSV data auto-published from you, I can even write a Lisp system that auto-formats this stuff and push it to Quicklisp. 2020-12-19T19:30:01Z Kaisyu quit (Quit: Connection closed for inactivity) 2020-12-19T19:30:01Z phoe: (ql:quickload :quicklisp-stats) or something. 2020-12-19T19:30:21Z FreeBirdLjj quit (Remote host closed the connection) 2020-12-19T19:30:29Z nij quit (Quit: ERC (IRC client for Emacs 27.1)) 2020-12-19T19:30:35Z Xach: strewth 2020-12-19T19:30:45Z Xach: ok, i'll look into it 2020-12-19T19:30:56Z FreeBirdLjj joined #lisp 2020-12-19T19:30:58Z phoe: okay, (ql:quickload :strewth) 2020-12-19T19:31:01Z FreeBirdLjj quit (Read error: Connection reset by peer) 2020-12-19T19:31:19Z FreeBirdLjj joined #lisp 2020-12-19T19:31:22Z FreeBirdLjj quit (Read error: Connection reset by peer) 2020-12-19T19:31:38Z FreeBirdLjj joined #lisp 2020-12-19T19:31:43Z FreeBirdLjj quit (Remote host closed the connection) 2020-12-19T19:32:03Z FreeBirdLjj joined #lisp 2020-12-19T19:32:04Z FreeBirdLjj quit (Read error: Connection reset by peer) 2020-12-19T19:33:30Z cosimone joined #lisp 2020-12-19T19:34:32Z shka_ quit (Ping timeout: 260 seconds) 2020-12-19T19:37:16Z karlosz joined #lisp 2020-12-19T19:37:18Z Xach: oh lord, i have probably 50k web log files to import. 2020-12-19T19:37:38Z Xach: the journey of fifty thousand log files begins with a single entry 2020-12-19T19:38:34Z daphnis quit (Ping timeout: 246 seconds) 2020-12-19T19:38:41Z hiroaki joined #lisp 2020-12-19T19:39:16Z phoe: welp 2020-12-19T19:39:36Z cosimone quit (Quit: cosimone) 2020-12-19T19:42:25Z rumbler31 joined #lisp 2020-12-19T19:48:42Z liberliver joined #lisp 2020-12-19T19:54:52Z bilegeek joined #lisp 2020-12-19T19:55:15Z Xach: ok, in 15 minutes, it processed 1 week out of about 40. phoe, please remind me to look at it again tomorrow. 2020-12-19T19:56:11Z nij joined #lisp 2020-12-19T19:56:22Z narimiran quit (Quit: leaving) 2020-12-19T19:56:22Z nij: #'shell-command sends a string to shell. 2020-12-19T19:56:33Z nij: However, some command wants to interact with me.. 2020-12-19T19:56:40Z nij: is there any work around in emacs? 2020-12-19T19:58:11Z EvW quit (Ping timeout: 268 seconds) 2020-12-19T19:58:17Z imode joined #lisp 2020-12-19T20:01:21Z akoana joined #lisp 2020-12-19T20:01:41Z EvW joined #lisp 2020-12-19T20:02:25Z nij: OH no it's the wrong place. I got logged into #lisp automatically again. Sorry.. 2020-12-19T20:02:26Z liberliver quit (Ping timeout: 256 seconds) 2020-12-19T20:02:42Z thmprover joined #lisp 2020-12-19T20:02:47Z stoneglass joined #lisp 2020-12-19T20:03:26Z nij: s/.*// 2020-12-19T20:07:54Z lotuseater: hi nij 2020-12-19T20:08:03Z nostoi quit (Quit: Verlassend) 2020-12-19T20:14:48Z nij quit (Quit: ERC (IRC client for Emacs 27.1)) 2020-12-19T20:19:04Z abraham joined #lisp 2020-12-19T20:19:16Z aartaka joined #lisp 2020-12-19T20:19:45Z phoe: Xach: you are not doing this manually though, are you 2020-12-19T20:19:51Z phoe: I shall remind you tomorrow 2020-12-19T20:22:20Z aartaka_d quit (Ping timeout: 256 seconds) 2020-12-19T20:24:56Z dilated_dinosaur quit (Ping timeout: 240 seconds) 2020-12-19T20:26:31Z dra quit (Remote host closed the connection) 2020-12-19T20:29:08Z cosimone joined #lisp 2020-12-19T20:33:26Z lilgopher quit (Quit: Computer went to sleep.) 2020-12-19T20:38:26Z lilgopher joined #lisp 2020-12-19T20:38:46Z heisig quit (Quit: Leaving) 2020-12-19T20:40:43Z jw4 quit (Read error: Connection reset by peer) 2020-12-19T20:42:46Z jw4 joined #lisp 2020-12-19T20:44:00Z abraham quit (Quit: abraham) 2020-12-19T20:45:28Z Jeanne-Kamikaze quit (Ping timeout: 272 seconds) 2020-12-19T20:49:00Z rpg joined #lisp 2020-12-19T20:50:03Z cosimone quit (Quit: cosimone) 2020-12-19T20:50:14Z cosimone joined #lisp 2020-12-19T20:52:06Z marusich joined #lisp 2020-12-19T20:52:46Z lilgopher quit (Ping timeout: 246 seconds) 2020-12-19T20:53:41Z aartaka quit (Ping timeout: 268 seconds) 2020-12-19T20:55:40Z phireh joined #lisp 2020-12-19T20:58:00Z fanta1 quit (Quit: fanta1) 2020-12-19T21:04:49Z Xach: phoe: it's a program that fetches all pending logfiles from cloudfront 2020-12-19T21:07:03Z Xach: it has just processed march 23rd. (it started on january 20) 2020-12-19T21:07:05Z kam1 quit (Ping timeout: 240 seconds) 2020-12-19T21:08:48Z phoe: I see 2020-12-19T21:09:02Z phoe: it does seem slow though 2020-12-19T21:09:08Z dilated_dinosaur joined #lisp 2020-12-19T21:12:47Z Josh_2 joined #lisp 2020-12-19T21:17:49Z Josh_2 quit (Quit: ERC (IRC client for Emacs 27.1)) 2020-12-19T21:18:00Z Xach: I ususally run it a few times per day and it only processes a little at a time. Catching up on 11 months wasn't a design priority. 2020-12-19T21:18:34Z aartaka joined #lisp 2020-12-19T21:19:41Z phoe: ooooh 2020-12-19T21:20:26Z Josh_2 joined #lisp 2020-12-19T21:23:03Z eden quit (Ping timeout: 240 seconds) 2020-12-19T21:28:17Z rumbler3_ joined #lisp 2020-12-19T21:28:50Z Josh_2 quit (Remote host closed the connection) 2020-12-19T21:34:15Z rumbler3_ quit (Remote host closed the connection) 2020-12-19T21:49:28Z _death: "There is one currently known bug in the who-calls database code. It arises when a function calls itself, either directly or indirectly, through a chain of other functions [...]" 2020-12-19T21:49:33Z _death: oh, screamer.. 2020-12-19T21:50:30Z _death: I think it's more severe actually 2020-12-19T21:57:24Z JohnnyL joined #lisp 2020-12-19T21:57:28Z kevingal joined #lisp 2020-12-19T21:57:56Z abraham joined #lisp 2020-12-19T22:04:39Z kevingal quit (Remote host closed the connection) 2020-12-19T22:06:15Z kevingal joined #lisp 2020-12-19T22:06:59Z surabax quit (Quit: Leaving) 2020-12-19T22:16:02Z OlCe quit (Ping timeout: 272 seconds) 2020-12-19T22:17:10Z makomo quit (Quit: WeeChat 2.9) 2020-12-19T22:19:02Z marusich quit (Ping timeout: 260 seconds) 2020-12-19T22:20:39Z Dizidentu joined #lisp 2020-12-19T22:20:55Z Dizidentu quit (Client Quit) 2020-12-19T22:23:57Z galex-713 quit (Ping timeout: 260 seconds) 2020-12-19T22:25:00Z galex-713 joined #lisp 2020-12-19T22:31:32Z EvW quit (Ping timeout: 260 seconds) 2020-12-19T22:33:34Z mathrick_ quit (Ping timeout: 246 seconds) 2020-12-19T22:35:53Z kevingal quit (Quit: Leaving) 2020-12-19T22:42:17Z pve quit (Quit: leaving) 2020-12-19T22:43:48Z mathrick joined #lisp 2020-12-19T22:43:56Z rumbler31 quit (Ping timeout: 256 seconds) 2020-12-19T22:45:06Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-19T22:53:50Z EvW joined #lisp 2020-12-19T22:58:05Z gaqwas quit (Ping timeout: 240 seconds) 2020-12-19T23:03:01Z kevingal joined #lisp 2020-12-19T23:03:21Z kevingal quit (Client Quit) 2020-12-19T23:07:33Z kevingal joined #lisp 2020-12-19T23:09:01Z urek joined #lisp 2020-12-19T23:09:12Z Fare quit (Ping timeout: 260 seconds) 2020-12-19T23:09:42Z andreyorst quit (Ping timeout: 265 seconds) 2020-12-19T23:10:05Z frgo quit (Remote host closed the connection) 2020-12-19T23:10:31Z abraham quit (Quit: abraham) 2020-12-19T23:10:34Z frgo joined #lisp 2020-12-19T23:10:47Z rumbler31 joined #lisp 2020-12-19T23:13:15Z kam1 joined #lisp 2020-12-19T23:13:20Z tempest_nox joined #lisp 2020-12-19T23:16:17Z lucasb quit (Quit: Connection closed for inactivity) 2020-12-19T23:20:13Z kevingal quit (Remote host closed the connection) 2020-12-19T23:24:46Z specbot quit (Remote host closed the connection) 2020-12-19T23:24:46Z daphnis joined #lisp 2020-12-19T23:25:46Z minion quit (Remote host closed the connection) 2020-12-19T23:26:32Z nitrix quit (Remote host closed the connection) 2020-12-19T23:26:36Z minion joined #lisp 2020-12-19T23:26:36Z specbot joined #lisp 2020-12-19T23:26:45Z nitrix joined #lisp 2020-12-19T23:27:53Z kevingal joined #lisp 2020-12-19T23:29:22Z kevingal quit (Remote host closed the connection) 2020-12-19T23:33:56Z TCZ joined #lisp 2020-12-19T23:34:24Z TCZ left #lisp 2020-12-19T23:42:02Z kevingal joined #lisp 2020-12-19T23:43:02Z kevingal quit (Client Quit) 2020-12-19T23:43:03Z mrcom quit (Ping timeout: 265 seconds) 2020-12-19T23:43:15Z kam1 quit (Read error: Connection reset by peer) 2020-12-19T23:44:11Z Iolo quit (Quit: ZNC 1.7.5+deb4 - https://znc.in) 2020-12-19T23:45:37Z mrcom joined #lisp 2020-12-19T23:46:05Z Iolo joined #lisp 2020-12-19T23:47:26Z kevingal joined #lisp 2020-12-19T23:47:30Z kevingal quit (Remote host closed the connection) 2020-12-19T23:57:20Z nowhere_man joined #lisp 2020-12-19T23:57:31Z kevingal joined #lisp 2020-12-19T23:57:37Z kevingal quit (Remote host closed the connection) 2020-12-19T23:58:09Z guanohhh quit (Quit: Connection closed for inactivity) 2020-12-19T23:58:50Z Duuqnd quit (Remote host closed the connection) 2020-12-20T00:04:17Z cosimone quit (Ping timeout: 260 seconds) 2020-12-20T00:04:38Z phantomics quit (Ping timeout: 256 seconds) 2020-12-20T00:11:11Z Inline quit (Ping timeout: 272 seconds) 2020-12-20T00:12:32Z hiroaki quit (Ping timeout: 265 seconds) 2020-12-20T00:22:55Z xi quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) 2020-12-20T00:22:58Z dbotton joined #lisp 2020-12-20T00:23:26Z kam1 joined #lisp 2020-12-20T00:23:31Z xi joined #lisp 2020-12-20T00:24:10Z xlei quit (Ping timeout: 246 seconds) 2020-12-20T00:27:04Z JohnnyL quit (Quit: leaving) 2020-12-20T00:50:04Z abraham joined #lisp 2020-12-20T00:51:56Z kaftejiman quit (Remote host closed the connection) 2020-12-20T00:53:49Z rgherdt quit (Remote host closed the connection) 2020-12-20T00:54:06Z rgherdt joined #lisp 2020-12-20T01:01:12Z rgherdt quit (Ping timeout: 260 seconds) 2020-12-20T01:03:36Z daphnis quit (Ping timeout: 240 seconds) 2020-12-20T01:04:42Z kam1 quit (Ping timeout: 260 seconds) 2020-12-20T01:05:13Z abraham quit (Quit: abraham) 2020-12-20T01:08:56Z dbotton quit (Quit: This computer has gone to sleep) 2020-12-20T01:09:28Z FreeBirdLjj joined #lisp 2020-12-20T01:11:02Z Dizidentu joined #lisp 2020-12-20T01:19:41Z Lycurgus joined #lisp 2020-12-20T01:28:28Z vidak` joined #lisp 2020-12-20T01:30:02Z dbotton joined #lisp 2020-12-20T01:30:22Z vidak` quit (Client Quit) 2020-12-20T01:39:54Z kam1 joined #lisp 2020-12-20T01:50:10Z vidak` joined #lisp 2020-12-20T01:50:37Z dbotton quit (Quit: This computer has gone to sleep) 2020-12-20T01:51:23Z Lord_of_Life_ joined #lisp 2020-12-20T01:52:25Z Lord_of_Life quit (Ping timeout: 240 seconds) 2020-12-20T01:52:44Z Lord_of_Life_ is now known as Lord_of_Life 2020-12-20T01:54:40Z gko_ joined #lisp 2020-12-20T01:57:13Z random-nick quit (Ping timeout: 264 seconds) 2020-12-20T01:58:48Z kam1 quit (Remote host closed the connection) 2020-12-20T01:59:06Z kam1 joined #lisp 2020-12-20T02:00:01Z Dizidentu quit (Quit: Connection closed) 2020-12-20T02:01:49Z vidak` quit (Remote host closed the connection) 2020-12-20T02:07:58Z Fare joined #lisp 2020-12-20T02:08:54Z phantomics joined #lisp 2020-12-20T02:14:21Z charles` quit (Ping timeout: 268 seconds) 2020-12-20T02:17:54Z marusich joined #lisp 2020-12-20T02:19:05Z vidak` joined #lisp 2020-12-20T02:26:04Z fiddlerwoaroof: Cool, if there is a URL with the CSV, I'd be interested in knowing it 2020-12-20T02:26:27Z fiddlerwoaroof: (or some other format for the data) 2020-12-20T02:27:33Z Nilby joined #lisp 2020-12-20T02:31:09Z nowhere_man quit (Ping timeout: 272 seconds) 2020-12-20T02:31:58Z kam1 quit (Ping timeout: 256 seconds) 2020-12-20T02:32:57Z nowhere_man joined #lisp 2020-12-20T02:35:25Z FreeBirdLjj quit (Remote host closed the connection) 2020-12-20T02:37:25Z kam1 joined #lisp 2020-12-20T02:38:24Z EvW quit (Ping timeout: 268 seconds) 2020-12-20T02:39:47Z Lycurgus quit (Quit: Exeunt) 2020-12-20T02:42:28Z vidak` quit (Remote host closed the connection) 2020-12-20T02:44:41Z vidak` joined #lisp 2020-12-20T02:49:27Z vidak` quit (Remote host closed the connection) 2020-12-20T02:51:08Z vidak` joined #lisp 2020-12-20T02:58:05Z aeth quit (Ping timeout: 240 seconds) 2020-12-20T03:00:11Z aeth joined #lisp 2020-12-20T03:04:36Z phireh quit (Remote host closed the connection) 2020-12-20T03:08:05Z Dizidentu joined #lisp 2020-12-20T03:08:48Z Dizidentu quit (Client Quit) 2020-12-20T03:17:01Z dbotton joined #lisp 2020-12-20T03:17:04Z dbotton quit (Client Quit) 2020-12-20T03:27:06Z toorevitimirp joined #lisp 2020-12-20T03:27:06Z stoneglass quit (Quit: stoneglass) 2020-12-20T03:29:31Z matryoshka quit (Read error: Connection reset by peer) 2020-12-20T03:29:55Z matryoshka joined #lisp 2020-12-20T03:37:32Z marusich quit (Ping timeout: 260 seconds) 2020-12-20T03:50:35Z drl quit (Quit: Leaving) 2020-12-20T03:56:24Z Dizidentu joined #lisp 2020-12-20T03:57:05Z Dizidentu quit (Client Quit) 2020-12-20T03:59:41Z travv0` joined #lisp 2020-12-20T04:01:44Z beach: Good morning everyone! 2020-12-20T04:01:56Z no-defun-allowed: Good morning beach! 2020-12-20T04:02:19Z Alfr_ joined #lisp 2020-12-20T04:05:21Z Alfr quit (Ping timeout: 268 seconds) 2020-12-20T04:09:37Z Fare quit (Ping timeout: 260 seconds) 2020-12-20T04:13:38Z urek quit (Read error: Connection reset by peer) 2020-12-20T04:15:11Z urek joined #lisp 2020-12-20T04:22:18Z marusich joined #lisp 2020-12-20T04:22:28Z jibanes quit (Ping timeout: 256 seconds) 2020-12-20T04:24:04Z jibanes joined #lisp 2020-12-20T04:27:08Z marusich quit (Client Quit) 2020-12-20T04:41:17Z narimiran joined #lisp 2020-12-20T04:49:07Z rumbler31 quit (Ping timeout: 246 seconds) 2020-12-20T04:58:08Z ebrasca joined #lisp 2020-12-20T04:58:49Z travv0` quit (Remote host closed the connection) 2020-12-20T05:14:14Z bilegeek quit (Quit: Leaving) 2020-12-20T05:16:14Z rumbler31 joined #lisp 2020-12-20T05:18:39Z aartaka_d joined #lisp 2020-12-20T05:21:52Z aartaka quit (Ping timeout: 265 seconds) 2020-12-20T05:23:36Z Lycurgus joined #lisp 2020-12-20T05:25:36Z narimiran quit (Ping timeout: 240 seconds) 2020-12-20T05:41:07Z waleee-cl quit (Quit: Connection closed for inactivity) 2020-12-20T05:46:04Z thmprover quit (Quit: And Let's Away, to Part the Glories of This Happy Day) 2020-12-20T05:49:23Z akoana quit (Quit: leaving) 2020-12-20T05:58:05Z Lycurgus quit (Quit: Exeunt) 2020-12-20T06:03:58Z Fare joined #lisp 2020-12-20T06:08:04Z Nilby quit (Ping timeout: 268 seconds) 2020-12-20T06:32:28Z skapata quit (Remote host closed the connection) 2020-12-20T06:42:26Z marusich joined #lisp 2020-12-20T06:46:48Z Fare quit (Ping timeout: 256 seconds) 2020-12-20T06:57:02Z _whitelogger quit (Remote host closed the connection) 2020-12-20T06:59:10Z _whitelogger joined #lisp 2020-12-20T07:11:55Z igemnace joined #lisp 2020-12-20T07:21:02Z _whitelogger quit (Remote host closed the connection) 2020-12-20T07:23:10Z _whitelogger joined #lisp 2020-12-20T07:31:23Z rpg joined #lisp 2020-12-20T07:31:35Z marusich quit (Quit: Leaving) 2020-12-20T07:41:20Z aartaka joined #lisp 2020-12-20T07:42:34Z atomik_dog joined #lisp 2020-12-20T07:42:45Z aartaka_d quit (Ping timeout: 240 seconds) 2020-12-20T07:45:09Z shka_ joined #lisp 2020-12-20T07:45:31Z aartaka_d joined #lisp 2020-12-20T07:46:02Z aartaka quit (Ping timeout: 260 seconds) 2020-12-20T07:46:07Z Guest46161 quit (Ping timeout: 268 seconds) 2020-12-20T07:50:07Z aartaka_d quit (Ping timeout: 260 seconds) 2020-12-20T07:51:05Z aartaka joined #lisp 2020-12-20T08:03:57Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-20T08:04:37Z gko_ quit (Ping timeout: 268 seconds) 2020-12-20T08:12:59Z andreyorst joined #lisp 2020-12-20T08:16:59Z tempest_nox quit (Read error: Connection reset by peer) 2020-12-20T08:25:00Z karlosz quit (Ping timeout: 256 seconds) 2020-12-20T08:28:49Z narimiran joined #lisp 2020-12-20T08:31:56Z urek quit (Ping timeout: 240 seconds) 2020-12-20T08:34:32Z gaqwas joined #lisp 2020-12-20T08:34:32Z gaqwas quit (Changing host) 2020-12-20T08:34:32Z gaqwas joined #lisp 2020-12-20T08:36:14Z msk quit (Quit: Leaving) 2020-12-20T08:39:32Z imode quit (Quit: Batsharks are people too!) 2020-12-20T08:52:03Z ex_nihilo joined #lisp 2020-12-20T08:52:52Z Fare joined #lisp 2020-12-20T08:56:39Z zacts joined #lisp 2020-12-20T08:57:02Z zacts quit (Client Quit) 2020-12-20T09:05:02Z Inline joined #lisp 2020-12-20T09:07:03Z hendursa1 joined #lisp 2020-12-20T09:09:23Z hendursaga quit (Ping timeout: 240 seconds) 2020-12-20T09:10:52Z hendursa1 quit (Remote host closed the connection) 2020-12-20T09:11:42Z hendursa1 joined #lisp 2020-12-20T09:14:18Z pve joined #lisp 2020-12-20T09:15:28Z rgherdt joined #lisp 2020-12-20T09:16:52Z Fare quit (Ping timeout: 246 seconds) 2020-12-20T09:22:08Z hendursa1 quit (Remote host closed the connection) 2020-12-20T09:22:49Z hendursa1 joined #lisp 2020-12-20T09:40:41Z heisig joined #lisp 2020-12-20T09:45:46Z toorevitimirp quit (Remote host closed the connection) 2020-12-20T09:45:51Z Misha_B left #lisp 2020-12-20T09:50:15Z hnOsmium0001 quit (Quit: Connection closed for inactivity) 2020-12-20T10:03:16Z liberliver joined #lisp 2020-12-20T10:10:40Z fanta1 joined #lisp 2020-12-20T10:20:34Z hiroaki joined #lisp 2020-12-20T10:20:36Z shka_ quit (Quit: Konversation terminated!) 2020-12-20T10:25:06Z shka_ joined #lisp 2020-12-20T10:28:41Z galex-713 quit (Ping timeout: 272 seconds) 2020-12-20T10:36:55Z galex-713 joined #lisp 2020-12-20T10:47:08Z rumbler31 quit (Ping timeout: 260 seconds) 2020-12-20T10:51:02Z _whitelogger quit (Remote host closed the connection) 2020-12-20T10:53:10Z _whitelogger joined #lisp 2020-12-20T10:54:13Z liberliver quit (Ping timeout: 264 seconds) 2020-12-20T10:55:06Z surabax joined #lisp 2020-12-20T10:55:36Z iskander- quit (Ping timeout: 240 seconds) 2020-12-20T10:56:52Z iskander joined #lisp 2020-12-20T11:00:15Z Achylles joined #lisp 2020-12-20T11:02:34Z frgo_ joined #lisp 2020-12-20T11:04:22Z aartaka quit (Read error: Connection reset by peer) 2020-12-20T11:05:18Z frgo quit (Ping timeout: 268 seconds) 2020-12-20T11:05:35Z aartaka joined #lisp 2020-12-20T11:06:03Z nowhere_man quit (Ping timeout: 272 seconds) 2020-12-20T11:08:52Z vegansbane6 quit (Quit: The Lounge - https://thelounge.chat) 2020-12-20T11:09:44Z shka_ quit (Ping timeout: 256 seconds) 2020-12-20T11:13:45Z rumbler31 joined #lisp 2020-12-20T11:15:13Z Madvax quit (Ping timeout: 264 seconds) 2020-12-20T11:15:44Z xlei joined #lisp 2020-12-20T11:17:08Z Madvax joined #lisp 2020-12-20T11:27:06Z Achylles quit (Remote host closed the connection) 2020-12-20T11:36:17Z skapata joined #lisp 2020-12-20T11:39:16Z vegansbane6 joined #lisp 2020-12-20T11:41:07Z jibanes quit (Ping timeout: 260 seconds) 2020-12-20T11:42:44Z jibanes joined #lisp 2020-12-20T11:45:51Z Duuqnd joined #lisp 2020-12-20T11:46:16Z random-nick joined #lisp 2020-12-20T11:57:43Z jibanes quit (Ping timeout: 265 seconds) 2020-12-20T11:59:20Z jibanes joined #lisp 2020-12-20T12:03:34Z varjag joined #lisp 2020-12-20T12:05:05Z jibanes quit (Ping timeout: 240 seconds) 2020-12-20T12:06:14Z jibanes joined #lisp 2020-12-20T12:24:37Z surabax_ joined #lisp 2020-12-20T12:27:37Z surabax quit (Ping timeout: 246 seconds) 2020-12-20T12:32:40Z Xach: argh, all my indexes are gone 2020-12-20T12:38:35Z beach: What happened? 2020-12-20T12:42:46Z aartaka quit (Read error: Connection reset by peer) 2020-12-20T12:42:51Z aartaka_d joined #lisp 2020-12-20T12:46:02Z phoe: what indexes? 2020-12-20T12:48:08Z Xach: after i made the initial quicklisp log database, i added some indexes to make the stats run in a reasonable time. 2020-12-20T12:48:29Z Xach: but of course i did that on the fly and did not add them to a migration or update the initial schema. 2020-12-20T12:48:42Z Xach: it adds a few more tasks to making the stats visible 2020-12-20T12:48:53Z urek joined #lisp 2020-12-20T12:53:00Z phoe: ooooh. 2020-12-20T12:53:02Z phoe: ouch. 2020-12-20T12:55:31Z Nilby joined #lisp 2020-12-20T12:56:48Z Xach creates a materialized view 2020-12-20T13:01:40Z Xach: ok, progress! 2020-12-20T13:03:42Z surabax_ quit (Ping timeout: 268 seconds) 2020-12-20T13:07:53Z urek__ joined #lisp 2020-12-20T13:09:02Z urek quit (Ping timeout: 264 seconds) 2020-12-20T13:15:33Z EvW joined #lisp 2020-12-20T13:20:21Z Blukunfando quit (Ping timeout: 268 seconds) 2020-12-20T13:24:19Z kaftejiman joined #lisp 2020-12-20T13:26:05Z jurov joined #lisp 2020-12-20T13:28:52Z jurov_ quit (Ping timeout: 246 seconds) 2020-12-20T13:33:47Z hendursa1 quit (Quit: hendursa1) 2020-12-20T13:34:07Z hendursaga joined #lisp 2020-12-20T13:36:05Z luckless quit (Quit: luckless) 2020-12-20T13:45:51Z Xach: phoe: what do you think of https://www.quicklisp.org/stats/2020/2020-01.csv? 2020-12-20T13:49:36Z phoe: oooh, already pre-sorted 2020-12-20T13:49:44Z phoe: wonderful! I can use this 2020-12-20T13:50:00Z phantomics: Interesting, I was looking for April download stats and I saw that in both March and April it got the same number of downloads, 73 2020-12-20T13:50:20Z phantomics: Is that accurate? Could the number be somehow carrying over? 2020-12-20T13:51:07Z Xach: how did you find march and april stats? i did not share the secret link!! 2020-12-20T13:51:50Z Xach: phantomics: there may be errors - this is the first effort. i am using a mix of shell and sql and stuff and something may have failed to query properly. 2020-12-20T13:53:44Z Xach: I would caution against inferring too much from this data. many are caused by bots, builds, etc. it's not a true measure of popularity or utility or whatever 2020-12-20T13:54:42Z Inline quit (Ping timeout: 260 seconds) 2020-12-20T13:54:53Z EvW quit (Ping timeout: 268 seconds) 2020-12-20T13:56:27Z phantomics: https://www.quicklisp.org/stats/2020/2020-03.csv and 04 for March/April 2020-12-20T13:59:36Z EvW joined #lisp 2020-12-20T14:00:23Z jurov_ joined #lisp 2020-12-20T14:03:34Z Xach: that is some good hacking 2020-12-20T14:03:43Z jurov quit (Ping timeout: 260 seconds) 2020-12-20T14:05:25Z Xach: phoe: ok, the final step will be to add cron jobs to save the stats, and cron jobs to report them. i think i will update the current month file every day. 2020-12-20T14:05:53Z phoe: Xach: OK. I'll sit down and write a very simple system for parsing that data soon™. 2020-12-20T14:05:59Z aartaka joined #lisp 2020-12-20T14:06:49Z aartaka_d quit (Ping timeout: 264 seconds) 2020-12-20T14:08:29Z phantomics: Leet URL hacking 2020-12-20T14:08:58Z Xach: i should be moving pallets instead of this stuff! 2020-12-20T14:09:02Z Xach goes to move some pallets 2020-12-20T14:09:04Z phoe: Xach: how official would you like that system to be? 2020-12-20T14:09:24Z Xach: very un 2020-12-20T14:09:29Z phoe: OK 2020-12-20T14:09:38Z phoe will go for github.com/phoe/quicklisp-stats 2020-12-20T14:10:01Z Xach: any report from these stats should include some form of caveat like the one i gave above 2020-12-20T14:10:23Z phoe: OK 2020-12-20T14:11:11Z phantomics: phoe: You're writing a tool to fetch the stats for packages? 2020-12-20T14:12:06Z Xach: phoe: if you make something interesting i would be happy to add it to planet lisp 2020-12-20T14:21:06Z phoe: phantomics: yes, and to access them from inside Lisp 2020-12-20T14:22:55Z phantomics: very cool 2020-12-20T14:32:36Z niceplace quit (Remote host closed the connection) 2020-12-20T14:36:07Z rpg joined #lisp 2020-12-20T14:37:08Z niceplace joined #lisp 2020-12-20T14:37:22Z liberliver joined #lisp 2020-12-20T14:38:08Z phoe: Xach: will you have a file that lists all month/year combinations for which data is available? 2020-12-20T14:38:23Z phoe: or do I need to hit-and-miss until I get a HTTP 404? 2020-12-20T14:41:40Z niceplaces joined #lisp 2020-12-20T14:42:36Z niceplace quit (Ping timeout: 240 seconds) 2020-12-20T14:52:08Z Xach: phoe: i am starting in january 2020 and proceeding from there. 2020-12-20T14:52:15Z phoe: Xach: OK 2020-12-20T15:12:02Z waleee-cl joined #lisp 2020-12-20T15:12:17Z igemnace quit (Ping timeout: 260 seconds) 2020-12-20T15:13:36Z igemnace joined #lisp 2020-12-20T15:13:53Z akrl quit (Read error: Connection reset by peer) 2020-12-20T15:14:06Z akrl joined #lisp 2020-12-20T15:14:10Z Bike joined #lisp 2020-12-20T15:21:17Z Nilby: drakma:http-request "https://www.quicklisp.org/stats/2020/2020-02.csv" :decode-content t | read-table -g -s pipe | view-table 2020-12-20T15:23:04Z phoe: yes 2020-12-20T15:24:08Z Nilby: or even: drakma:http-request "https://www.quicklisp.org/stats/2020/2020-01.csv" :decode-content t | read-table -g -s pipe | (ofind "chunga" *input* :key (_ (oitem 2 _)) :test #'equal) | second 2020-12-20T15:25:42Z EvW quit (Ping timeout: 260 seconds) 2020-12-20T15:27:10Z Nilby: or M-s C-s chunga in view-table 2020-12-20T15:27:12Z phoe: Xach: first very quick hack at https://github.com/phoe/quicklisp-stats 2020-12-20T15:27:41Z phoe: functions MONTH and ALL download/cache the result and return it 2020-12-20T15:28:09Z phoe: while SYSTEM-DOWNLOADS is the real meat of the system because it can tell you how many people downloaded alexandria a given month 2020-12-20T15:28:39Z phoe: no pretty printing, some docstrings, no autotests, PRs welcome 2020-12-20T15:31:58Z rpg quit (Quit: Textual IRC Client: www.textualapp.com) 2020-12-20T15:42:50Z Fare joined #lisp 2020-12-20T15:51:38Z Fare quit (Ping timeout: 260 seconds) 2020-12-20T15:59:19Z Nilby: Now my second command can defintiely be shorter: (cdr (assoc "chunga" (quicklisp-stats:month 2020 01) :test #'equal)) 2020-12-20T16:01:09Z phoe: Nilby: even shorter 2020-12-20T16:01:25Z phoe: (system-downloads :chunga 2020 01) 2020-12-20T16:01:32Z phoe: errrr (quicklisp-stats:system-downloads :chunga 2020 01) 2020-12-20T16:01:37Z shka_ joined #lisp 2020-12-20T16:01:37Z shka_ quit (Client Quit) 2020-12-20T16:01:48Z shka_ joined #lisp 2020-12-20T16:01:53Z Nilby: derp 2020-12-20T16:02:06Z Nilby: how did i miss that 2020-12-20T16:02:39Z phoe: I'll make it more prominent in the readme 2020-12-20T16:03:55Z Nilby: You made it quite clear. I didn't read 2020-12-20T16:04:35Z phoe: well I made it even clearer now, so it should work better even for people who don't read 2020-12-20T16:04:45Z Nilby: but my first command has to be longer, but I'm probably doing something else dumb 2020-12-20T16:06:33Z Xach: hmm 2020-12-20T16:06:37Z Xach: i should probably increase the cutoff 2020-12-20T16:06:54Z phoe: cutoff, what do you mean? more than 500? 2020-12-20T16:07:00Z Xach: yeah 2020-12-20T16:07:06Z Xach: i'll change it to 1000 and see what noise ensues 2020-12-20T16:07:51Z harlchen joined #lisp 2020-12-20T16:08:04Z ljavorsk joined #lisp 2020-12-20T16:08:25Z Xach: ok, updated 2020-12-20T16:08:50Z nij joined #lisp 2020-12-20T16:08:56Z Nilby: The long tail 2020-12-20T16:08:56Z amb007 quit (Read error: Connection reset by peer) 2020-12-20T16:09:11Z nij: (ql:quickload "clon") returns error, but clon seems to be a fairly standard package. Anything wrong with it?! 2020-12-20T16:09:22Z nij: (I haven't had it installed in my laptop, I believe.) 2020-12-20T16:10:35Z amb007 joined #lisp 2020-12-20T16:11:37Z phoe: hmmm 2020-12-20T16:11:41Z phoe: is clon even in quicklisp? 2020-12-20T16:11:55Z phoe: nope, it's not. 2020-12-20T16:12:38Z nij: Oh jeez. I'm following another repo: https://github.com/ebzzry/scripts and it asked me to do that. 2020-12-20T16:14:39Z phoe: file another issue then 2020-12-20T16:15:27Z phoe: or clone clon into your quicklisp/local-projects 2020-12-20T16:16:37Z Fare joined #lisp 2020-12-20T16:17:02Z amb007 quit (Ping timeout: 256 seconds) 2020-12-20T16:17:25Z ljavorsk quit (Ping timeout: 240 seconds) 2020-12-20T16:17:35Z amb007 joined #lisp 2020-12-20T16:20:46Z nij: I see. Thank you :) 2020-12-20T16:21:30Z ssd532 joined #lisp 2020-12-20T16:26:30Z heisig: Clon is in Quicklisp, but it is called 'net.didierverna.clon'. 2020-12-20T16:26:40Z Xach shudders 2020-12-20T16:26:55Z Xach: there is (was?) more than one clon 2020-12-20T16:27:23Z Xach: one was a cron, but for cl (get it?) and another was the command-line options nuker, and i think there may have been one other. 2020-12-20T16:27:43Z heisig: I mean having such very long package/project names is not so bad now that we have package local nicknames in Common Lisp. 2020-12-20T16:28:12Z nij` joined #lisp 2020-12-20T16:28:36Z heisig is eternally grateful to phoe for making package local nicknames work everywhere 2020-12-20T16:28:37Z Xach: even if it does not hurt my package system, it hurts my eyes very much 2020-12-20T16:28:43Z nij` left #lisp 2020-12-20T16:29:42Z srandon111 quit (Quit: leaving) 2020-12-20T16:30:17Z nij quit (Ping timeout: 268 seconds) 2020-12-20T16:31:39Z aeth: If your package name is extremely long, then a global nickname (that's still not going to conflict) can still be useful. e.g. for the package name displayed in the REPL after doing (in-package ...) 2020-12-20T16:37:09Z mfiano: The REPL already displays the segment after the last "." in a dot-separated package name. 2020-12-20T16:38:29Z phoe: heisig: oh! thanks 2020-12-20T16:38:48Z phoe: heisig: the gratitude isn't for me, I only patched CCL with them 2020-12-20T16:38:58Z phoe: everyone else is why they work everywhere else 2020-12-20T16:40:53Z cosimone joined #lisp 2020-12-20T16:42:00Z nullman quit (Quit: Reconnecting) 2020-12-20T16:42:15Z nullman joined #lisp 2020-12-20T16:42:31Z nullman quit (Client Quit) 2020-12-20T16:43:44Z nullman joined #lisp 2020-12-20T16:47:28Z Necktwi quit (Ping timeout: 256 seconds) 2020-12-20T16:50:49Z liberliver quit (Ping timeout: 246 seconds) 2020-12-20T16:55:43Z aeth: mfiano: interesting fact. 2020-12-20T16:59:02Z Necktwi joined #lisp 2020-12-20T17:02:39Z random-nick quit (Quit: quit) 2020-12-20T17:04:17Z kam1 quit (Ping timeout: 260 seconds) 2020-12-20T17:04:50Z random-nick joined #lisp 2020-12-20T17:08:57Z kam1 joined #lisp 2020-12-20T17:09:48Z eden joined #lisp 2020-12-20T17:10:49Z joaot joined #lisp 2020-12-20T17:15:21Z troydm quit (Quit: What is Hope? That all of your wishes and all of your dreams come true? To turn back time because things were not supposed to happen like that (C) Rau Le Creuset) 2020-12-20T17:17:19Z amb007 quit (Read error: Connection reset by peer) 2020-12-20T17:17:39Z amb007 joined #lisp 2020-12-20T17:18:22Z arbv quit (Quit: ZNC - https://znc.in) 2020-12-20T17:18:22Z amb007 quit (Read error: Connection reset by peer) 2020-12-20T17:18:47Z arbv joined #lisp 2020-12-20T17:18:52Z amb007 joined #lisp 2020-12-20T17:22:06Z gaqwas quit (Remote host closed the connection) 2020-12-20T17:25:39Z troydm joined #lisp 2020-12-20T17:30:14Z EvW joined #lisp 2020-12-20T17:35:24Z gareppa joined #lisp 2020-12-20T17:36:27Z phantomics: Hey aeth, can you try evaling something in your SBCL? I recall you weren't able to reproduce the error I was having with parallel assignment to small-element arrays 2020-12-20T17:38:07Z Fare quit (Ping timeout: 260 seconds) 2020-12-20T17:41:56Z aeth: hmm, I don't think I tried to do that before 2020-12-20T17:46:03Z eden quit (Ping timeout: 240 seconds) 2020-12-20T17:47:13Z phantomics: Ok, if you didn't then never mind, I thought you said you had no bugs when doing parallelized assignments to a 4-bit array 2020-12-20T17:48:07Z hendursaga quit (Remote host closed the connection) 2020-12-20T17:48:09Z phantomics: It seems that may not be a bug but something unavoidable due to the nature of arrays 2020-12-20T17:48:56Z hendursaga joined #lisp 2020-12-20T17:49:35Z aeth: my guess is that someone else said something around the same time that I was speaking, or I replied to someone else without mentioning them so my line was misinterpreted. 2020-12-20T17:50:12Z aeth: (or something similar) 2020-12-20T17:50:24Z nullman quit (Quit: Lost terminal) 2020-12-20T17:50:41Z nullman joined #lisp 2020-12-20T17:51:17Z aeth: I can say that I don't have "signed-byte 4" (which would include "unsigned-byte 4") in my SLIME history, though. 2020-12-20T17:53:15Z nullman quit (Client Quit) 2020-12-20T17:53:34Z nullman joined #lisp 2020-12-20T17:54:38Z gproto23 joined #lisp 2020-12-20T17:56:43Z phantomics: Ok cool 2020-12-20T17:57:10Z gproto23 quit (Client Quit) 2020-12-20T18:03:16Z kam1 quit (Ping timeout: 246 seconds) 2020-12-20T18:04:50Z cl-arthu1 quit (Quit: Lost terminal) 2020-12-20T18:07:00Z X-Scale` joined #lisp 2020-12-20T18:07:22Z lucasb joined #lisp 2020-12-20T18:08:10Z X-Scale quit (Ping timeout: 246 seconds) 2020-12-20T18:08:11Z X-Scale` is now known as X-Scale 2020-12-20T18:13:53Z saganman quit (Ping timeout: 268 seconds) 2020-12-20T18:15:19Z thmprover joined #lisp 2020-12-20T18:16:04Z eden joined #lisp 2020-12-20T18:18:33Z phoe: Xach: https://nl.movim.eu/?blog/phoe%40movim.eu/6307e977-1855-4167-b2ca-24973d77e733 is available for Planet Lisp'ing 2020-12-20T18:20:09Z phoe: this Movim bug with whitespace won't get fixed - is it possible to make some cheap workaround in your planet lisp crawler that's aimed especially at movim code blocks? or should I just move my blog elsewhere? 2020-12-20T18:22:11Z ex_nihilo quit (Quit: Leaving) 2020-12-20T18:31:39Z Oberon joined #lisp 2020-12-20T18:32:36Z Oberon: So I'm on chapter 1 of Practical Common Lisp, and it says to use C-c C-c to run slime-compile-defun, but when I do C-c C-c I get the message, "C-c C-c is undefined." 2020-12-20T18:32:59Z Oberon: Is this a matter of the "status" of the window I'm in, like it's not tied to Slime? 2020-12-20T18:33:14Z phoe: Oberon: what mode is your buffer in? 2020-12-20T18:33:19Z Oberon: I do have the slime-repl buffer in another window and it's working as expected. Maybe "frame" is a better word than window. 2020-12-20T18:33:24Z phoe: it should be in lisp-mode 2020-12-20T18:33:42Z phoe: try C-c C-c after performing M-x lisp-mode 2020-12-20T18:33:49Z Oberon: ok thanks 2020-12-20T18:33:58Z Oberon: sorry I was googling "emacs find buffer mode" :D 2020-12-20T18:34:17Z phoe: it should be on the bottom line of your window 2020-12-20T18:34:26Z phoe: like, it should be printed there 2020-12-20T18:34:28Z Oberon: ahh taht worked 2020-12-20T18:35:13Z Oberon: well now it says -UUU:---F1 chapterone.cl All L2 (Lisp adoc [COMMON-LISP-USER sbcl]) - 2020-12-20T18:35:22Z Oberon: I didn't see what it said before. 2020-12-20T18:36:19Z gareppa quit (Quit: Leaving) 2020-12-20T18:36:22Z Oberon: Thank you! 2020-12-20T18:38:37Z amirouche joined #lisp 2020-12-20T18:38:39Z Fare joined #lisp 2020-12-20T18:38:52Z amirouche: is there an ordered key-value store written in CL ? 2020-12-20T18:38:55Z kam1 joined #lisp 2020-12-20T18:39:20Z phoe62 joined #lisp 2020-12-20T18:41:41Z amirouche: with on disk persistance 2020-12-20T18:43:00Z lotuseater: phantomics: that was me 2020-12-20T18:45:11Z phantomics: Ok, could you try running this: (upgraded-array-element-type '(unsigned-byte 4)) 2020-12-20T18:47:12Z lotuseater: oh cool never used that before 2020-12-20T18:48:49Z phantomics: In CCL you get '(unsigned-byte 8), which explains why the parallel assignment code works there 2020-12-20T18:49:56Z lotuseater: now strange things happen, in your expression i get an error :D 2020-12-20T18:49:56Z phantomics: Making a 4-bit element array just gets an 8-bit array 2020-12-20T18:49:56Z lotuseater: ok I'll try in shell with CCL 2020-12-20T18:49:56Z phantomics: Really? In SBCL? What error? 2020-12-20T18:50:24Z phoe: (upgraded-array-element-type '(unsigned-byte 4)) is not supposed to error 2020-12-20T18:51:01Z _Ark_ quit (Quit: ZNC 1.7.4 - https://znc.in) 2020-12-20T18:51:11Z _Ark_ joined #lisp 2020-12-20T18:51:33Z lotuseater: phoe: didn't mean that 2020-12-20T18:51:40Z phoe: oooh 2020-12-20T18:51:44Z phoe: okay then, I am curious! 2020-12-20T18:52:38Z lotuseater: i meant phantomics expression from yesterday 2020-12-20T18:53:11Z lotuseater: ah ok sry, SLIME wasn't in package lparallel anymore 2020-12-20T18:53:18Z phantomics: Oh, the array assignment expression? Did you have lparallel running? It's needed 2020-12-20T18:53:27Z lotuseater: i know 2020-12-20T18:54:09Z lotuseater: it's still the same REPL instance as yesterday, but it jumped itself back to CL-USER namespace 2020-12-20T18:54:45Z lotuseater: both your expressions still work fine 2020-12-20T18:56:05Z phantomics: Ok, the second one doesn't produce zeroes in the output? 2020-12-20T18:56:08Z Jeanne-Kamikaze joined #lisp 2020-12-20T18:57:53Z lotuseater: no 2020-12-20T18:58:32Z lotuseater: but my worker-count in *kernel* is just 4 2020-12-20T18:59:06Z phantomics: I see, what do you get when running (upgraded-array-element-type '(unsigned-byte 4)) 2020-12-20T18:59:49Z lotuseater: it prints "(UNSIGNED-BYTE 4)" 2020-12-20T18:59:55Z lotuseater: on CLL just "T" 2020-12-20T19:00:31Z phantomics: Ok, looks like your SBCL does use 4-bit elements, thanks 2020-12-20T19:00:57Z phantomics: Interesting, I guess with only 4 threads the assignment collisions just don't occur 2020-12-20T19:01:35Z phantomics: Also, my CCL gives (UNSIGNED-BYTE 8) for that command, looks like yours is compiled differently so trying for 4-bit elements just gives you a T array 2020-12-20T19:01:49Z andreyorst quit (Ping timeout: 260 seconds) 2020-12-20T19:01:50Z phoe: wait a second... 2020-12-20T19:02:04Z phoe: which CCL build are you using? on which platform? 2020-12-20T19:02:17Z phantomics: That does seem like unusual behavior 2020-12-20T19:02:51Z hendursaga quit (Remote host closed the connection) 2020-12-20T19:03:40Z hendursaga joined #lisp 2020-12-20T19:06:46Z phoe: AFAIK CCL has specialized representations for ub8 on *all* platforms 2020-12-20T19:09:34Z phantomics: I would think that ub4 would be upgraded to ub8, but lotuseater do you get ub8 when you enter (upgraded-array-element-type '(unsigned-byte 8))? 2020-12-20T19:11:34Z phoe: it upgrades ub4 to ub8 on CCL 1.12 Linux amd64 2020-12-20T19:11:56Z kam1 quit (Ping timeout: 240 seconds) 2020-12-20T19:13:49Z Oberon quit (Remote host closed the connection) 2020-12-20T19:15:50Z phantomics: Same here, I have the same version in Linux amd64 2020-12-20T19:18:01Z renzhi joined #lisp 2020-12-20T19:18:02Z lotuseater: phantomics: on SBCL ub8 2020-12-20T19:18:46Z phantomics: Interesting, your SBCL is upgrading the array 2020-12-20T19:18:55Z phantomics: What version do you have? What OS? 2020-12-20T19:19:12Z lotuseater: NixOS and 2.0.8 2020-12-20T19:21:19Z kam1 joined #lisp 2020-12-20T19:30:48Z phantomics: Interesting, I have 2.0.2 2020-12-20T19:32:52Z flazh quit (Ping timeout: 256 seconds) 2020-12-20T19:35:25Z galex-713 quit (Quit: No Ping reply in 180 seconds.) 2020-12-20T19:36:35Z galex-713 joined #lisp 2020-12-20T19:36:40Z flazh joined #lisp 2020-12-20T19:41:02Z cosimone quit (Ping timeout: 256 seconds) 2020-12-20T19:45:48Z cosimone joined #lisp 2020-12-20T19:46:51Z cosimone quit (Remote host closed the connection) 2020-12-20T19:46:51Z Nilby quit (Read error: Connection reset by peer) 2020-12-20T19:47:06Z cosimone joined #lisp 2020-12-20T19:47:46Z cosimone quit (Read error: Connection reset by peer) 2020-12-20T19:48:09Z cosimone joined #lisp 2020-12-20T19:50:50Z ssd532 quit (Quit: Connection closed for inactivity) 2020-12-20T19:55:38Z kam1 quit (Ping timeout: 272 seconds) 2020-12-20T19:55:42Z hnOsmium0001 joined #lisp 2020-12-20T19:56:45Z kam1 joined #lisp 2020-12-20T19:56:47Z galex-713 quit (Ping timeout: 272 seconds) 2020-12-20T19:59:47Z galex-713 joined #lisp 2020-12-20T20:00:09Z ebrasca quit (Remote host closed the connection) 2020-12-20T20:12:43Z liberliver joined #lisp 2020-12-20T20:17:09Z amb007 quit (Read error: Connection reset by peer) 2020-12-20T20:18:03Z eden quit (Ping timeout: 240 seconds) 2020-12-20T20:18:40Z amb007 joined #lisp 2020-12-20T20:20:52Z amb007 quit (Read error: Connection reset by peer) 2020-12-20T20:21:13Z amb007 joined #lisp 2020-12-20T20:25:17Z phoe: amirouche: I hmmmm 2020-12-20T20:25:20Z phoe: maybe manardb? 2020-12-20T20:25:37Z phoe: https://sirherrbatka.github.io/blog/2020/12/18/manardb/ 2020-12-20T20:25:44Z amirouche: thanks it did not show up in google fu 2020-12-20T20:31:52Z gareppa joined #lisp 2020-12-20T20:36:33Z Dizidentu joined #lisp 2020-12-20T20:36:47Z grumble is now known as SeasonsBeatings 2020-12-20T20:39:48Z galex-713 quit (Remote host closed the connection) 2020-12-20T20:40:48Z jw4 quit (Read error: Connection reset by peer) 2020-12-20T20:40:58Z galex-713 joined #lisp 2020-12-20T20:42:34Z jw4 joined #lisp 2020-12-20T20:42:43Z gxt quit (Ping timeout: 240 seconds) 2020-12-20T20:43:54Z IAmRasputin joined #lisp 2020-12-20T20:46:46Z Jesin quit (Quit: Leaving) 2020-12-20T20:50:05Z CrazyEdd quit (Remote host closed the connection) 2020-12-20T20:52:49Z Dizidentu quit (Quit: Dizidentu) 2020-12-20T20:58:32Z nowhere_man joined #lisp 2020-12-20T21:06:38Z narimiran quit (Ping timeout: 260 seconds) 2020-12-20T21:09:33Z kam1 quit (Ping timeout: 260 seconds) 2020-12-20T21:09:45Z Jesin joined #lisp 2020-12-20T21:10:42Z gareppa quit (Quit: Leaving) 2020-12-20T21:13:54Z akoana joined #lisp 2020-12-20T21:14:55Z CrazyEdd joined #lisp 2020-12-20T21:15:12Z fanta1 quit (Remote host closed the connection) 2020-12-20T21:22:05Z shka_ quit (Ping timeout: 240 seconds) 2020-12-20T21:23:42Z liberliver quit (Ping timeout: 265 seconds) 2020-12-20T21:24:28Z Lord_of_Life quit (Excess Flood) 2020-12-20T21:25:22Z Lord_of_Life joined #lisp 2020-12-20T21:47:49Z GuerrillaMonkey joined #lisp 2020-12-20T21:50:23Z Jeanne-Kamikaze quit (Ping timeout: 260 seconds) 2020-12-20T21:54:28Z heisig quit (Ping timeout: 260 seconds) 2020-12-20T21:56:47Z Nilby joined #lisp 2020-12-20T22:01:47Z CrazyEdd quit (Remote host closed the connection) 2020-12-20T22:06:04Z aartaka_d joined #lisp 2020-12-20T22:08:42Z aartaka quit (Ping timeout: 256 seconds) 2020-12-20T22:11:56Z imode joined #lisp 2020-12-20T22:34:03Z harlchen quit (Quit: WeeChat 2.9) 2020-12-20T22:47:30Z vegansbane6 quit (Read error: Connection reset by peer) 2020-12-20T22:52:00Z vegansbane6 joined #lisp 2020-12-20T22:58:35Z GuerrillaMonkey quit (Quit: Leaving) 2020-12-20T23:11:21Z joaot quit (Remote host closed the connection) 2020-12-20T23:15:56Z rumbler31 quit (Ping timeout: 240 seconds) 2020-12-20T23:16:38Z pve_ joined #lisp 2020-12-20T23:19:32Z pve quit (Ping timeout: 256 seconds) 2020-12-20T23:23:38Z PuercoPop joined #lisp 2020-12-20T23:24:56Z pve_ quit (Quit: leaving) 2020-12-20T23:31:06Z Duuqnd quit (Ping timeout: 256 seconds) 2020-12-20T23:43:07Z rumbler31 joined #lisp 2020-12-20T23:43:51Z Oladon joined #lisp 2020-12-20T23:46:17Z Aurora_v_kosmose joined #lisp 2020-12-20T23:48:25Z gxt joined #lisp 2020-12-20T23:49:11Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-12-20T23:49:53Z Aurora_v_kosmose joined #lisp 2020-12-20T23:57:46Z IAmRasputin quit (Quit: WeeChat 2.9) 2020-12-20T23:57:59Z EvW quit (Ping timeout: 268 seconds) 2020-12-21T00:04:32Z cosimone quit (Ping timeout: 260 seconds) 2020-12-21T00:04:33Z Nilby quit (Read error: Connection reset by peer) 2020-12-21T00:07:43Z ym555 joined #lisp 2020-12-21T00:10:40Z ym555 quit (Client Quit) 2020-12-21T00:11:28Z rgherdt quit (Ping timeout: 246 seconds) 2020-12-21T00:11:47Z EvW joined #lisp 2020-12-21T00:11:48Z ym555 joined #lisp 2020-12-21T00:12:58Z ym555 quit (Client Quit) 2020-12-21T00:24:32Z kam1 joined #lisp 2020-12-21T00:27:02Z skapata quit (Ping timeout: 260 seconds) 2020-12-21T00:34:18Z kam1 quit (Ping timeout: 272 seconds) 2020-12-21T00:41:38Z notzmv quit (Read error: Connection reset by peer) 2020-12-21T00:42:39Z notzmv joined #lisp 2020-12-21T00:46:28Z banjiewen_ quit (Read error: Connection reset by peer) 2020-12-21T00:46:28Z jerme_ quit (Read error: Connection reset by peer) 2020-12-21T00:46:43Z kilimanjaro quit (Read error: Connection reset by peer) 2020-12-21T00:46:44Z alanz quit (Ping timeout: 258 seconds) 2020-12-21T00:46:58Z random-nick quit (Ping timeout: 272 seconds) 2020-12-21T00:47:16Z jerme_ joined #lisp 2020-12-21T00:47:22Z banjiewen_ joined #lisp 2020-12-21T00:47:58Z kilimanjaro joined #lisp 2020-12-21T00:48:39Z alanz joined #lisp 2020-12-21T00:49:47Z Fare quit (Ping timeout: 260 seconds) 2020-12-21T00:50:04Z Oladon quit (Quit: Leaving.) 2020-12-21T00:50:56Z aeth quit (Ping timeout: 240 seconds) 2020-12-21T00:52:48Z urek__ quit (Quit: urek__) 2020-12-21T00:53:09Z aeth joined #lisp 2020-12-21T00:57:39Z rumbler31 quit (*.net *.split) 2020-12-21T00:57:39Z troydm quit (*.net *.split) 2020-12-21T00:57:40Z jurov_ quit (*.net *.split) 2020-12-21T00:57:40Z nitrix quit (*.net *.split) 2020-12-21T00:57:40Z minion quit (*.net *.split) 2020-12-21T00:57:41Z jonatack quit (*.net *.split) 2020-12-21T00:57:42Z stux|RC-only quit (*.net *.split) 2020-12-21T00:57:42Z edgar-rft quit (*.net *.split) 2020-12-21T00:57:42Z loli quit (*.net *.split) 2020-12-21T00:57:42Z thecoffemaker quit (*.net *.split) 2020-12-21T00:57:43Z hvxgr quit (*.net *.split) 2020-12-21T00:57:43Z loke quit (*.net *.split) 2020-12-21T00:57:43Z Krystof quit (*.net *.split) 2020-12-21T00:57:45Z lad quit (*.net *.split) 2020-12-21T00:57:46Z Firedancer_ quit (*.net *.split) 2020-12-21T00:57:46Z ineiros quit (*.net *.split) 2020-12-21T00:57:47Z APic quit (*.net *.split) 2020-12-21T00:57:47Z bacterio quit (*.net *.split) 2020-12-21T00:57:47Z tychoish quit (*.net *.split) 2020-12-21T00:57:48Z cyberlard quit (*.net *.split) 2020-12-21T00:57:49Z Robdgreat quit (*.net *.split) 2020-12-21T00:57:49Z lavaflow quit (*.net *.split) 2020-12-21T00:57:49Z alandipert quit (*.net *.split) 2020-12-21T00:57:50Z ck_ quit (*.net *.split) 2020-12-21T00:58:02Z kam1 joined #lisp 2020-12-21T01:00:05Z stux|RC-only joined #lisp 2020-12-21T01:05:13Z kam1 quit (Ping timeout: 272 seconds) 2020-12-21T01:06:04Z gioyik joined #lisp 2020-12-21T01:12:44Z Lord_Nightmare quit (Quit: ZNC - http://znc.in) 2020-12-21T01:13:49Z luckless joined #lisp 2020-12-21T01:17:20Z Lord_Nightmare joined #lisp 2020-12-21T01:17:57Z rumbler31 joined #lisp 2020-12-21T01:17:57Z troydm joined #lisp 2020-12-21T01:17:57Z jurov_ joined #lisp 2020-12-21T01:17:57Z nitrix joined #lisp 2020-12-21T01:17:57Z minion joined #lisp 2020-12-21T01:17:57Z jonatack joined #lisp 2020-12-21T01:17:57Z edgar-rft joined #lisp 2020-12-21T01:17:57Z loli joined #lisp 2020-12-21T01:17:57Z thecoffemaker joined #lisp 2020-12-21T01:17:57Z hvxgr joined #lisp 2020-12-21T01:17:57Z loke joined #lisp 2020-12-21T01:17:57Z Krystof joined #lisp 2020-12-21T01:17:57Z lad joined #lisp 2020-12-21T01:17:57Z Firedancer_ joined #lisp 2020-12-21T01:17:57Z ineiros joined #lisp 2020-12-21T01:17:57Z APic joined #lisp 2020-12-21T01:17:57Z bacterio joined #lisp 2020-12-21T01:17:57Z tychoish joined #lisp 2020-12-21T01:17:57Z cyberlard joined #lisp 2020-12-21T01:17:57Z Robdgreat joined #lisp 2020-12-21T01:17:57Z lavaflow joined #lisp 2020-12-21T01:17:57Z alandipert joined #lisp 2020-12-21T01:17:57Z ck_ joined #lisp 2020-12-21T01:20:54Z varjag quit (Quit: ERC (IRC client for Emacs 28.0.50)) 2020-12-21T01:21:28Z rumbler3_ joined #lisp 2020-12-21T01:25:05Z wxie joined #lisp 2020-12-21T01:25:50Z rumbler3_ quit (Ping timeout: 258 seconds) 2020-12-21T01:30:29Z PuercoPop quit (Ping timeout: 268 seconds) 2020-12-21T01:52:39Z Lord_of_Life_ joined #lisp 2020-12-21T01:53:02Z skapata joined #lisp 2020-12-21T01:53:22Z Lord_of_Life quit (Ping timeout: 260 seconds) 2020-12-21T01:53:39Z Jeanne-Kamikaze joined #lisp 2020-12-21T01:54:01Z Lord_of_Life_ is now known as Lord_of_Life 2020-12-21T01:59:05Z wxie quit (Ping timeout: 240 seconds) 2020-12-21T02:01:18Z kaftejiman quit (Remote host closed the connection) 2020-12-21T02:02:51Z skapata quit (Ping timeout: 272 seconds) 2020-12-21T02:03:52Z wxie joined #lisp 2020-12-21T02:07:03Z lucasb quit (Quit: Connection closed for inactivity) 2020-12-21T02:07:13Z Xach: ok, the quicklisp stats files are set to update automatically 2020-12-21T02:15:12Z EvW quit (Ping timeout: 260 seconds) 2020-12-21T02:16:58Z akoana quit (Quit: leaving) 2020-12-21T02:21:03Z luckless quit (Ping timeout: 240 seconds) 2020-12-21T02:21:09Z phantomics: Can see them at those urls? 2020-12-21T02:21:53Z luckless joined #lisp 2020-12-21T02:24:10Z Xach: yes 2020-12-21T02:24:17Z Xach: the current month will be updated daily 2020-12-21T02:29:16Z wxie quit (Ping timeout: 240 seconds) 2020-12-21T02:40:49Z wxie joined #lisp 2020-12-21T02:43:10Z toorevitimirp joined #lisp 2020-12-21T02:55:17Z sgibber2018 joined #lisp 2020-12-21T03:06:00Z aartaka joined #lisp 2020-12-21T03:09:09Z aartaka_d quit (Ping timeout: 268 seconds) 2020-12-21T03:15:56Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-12-21T03:16:33Z Aurora_v_kosmose joined #lisp 2020-12-21T03:17:46Z myall quit (Ping timeout: 258 seconds) 2020-12-21T03:19:23Z phoe quit (Ping timeout: 260 seconds) 2020-12-21T03:26:16Z vydd quit (Ping timeout: 256 seconds) 2020-12-21T03:27:55Z Nilby joined #lisp 2020-12-21T03:33:18Z Fare joined #lisp 2020-12-21T03:36:19Z wxie quit (Remote host closed the connection) 2020-12-21T03:36:29Z wxie1 joined #lisp 2020-12-21T03:38:49Z wxie1 is now known as wxie 2020-12-21T03:44:26Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-12-21T03:45:05Z Aurora_v_kosmose joined #lisp 2020-12-21T03:49:10Z dyelar quit (Quit: Leaving.) 2020-12-21T03:59:38Z amerlyq joined #lisp 2020-12-21T04:02:42Z Alfr joined #lisp 2020-12-21T04:04:39Z Alfr_ quit (Ping timeout: 268 seconds) 2020-12-21T04:08:12Z beach: Good morning everyone! 2020-12-21T04:09:32Z charles` joined #lisp 2020-12-21T04:13:17Z _jrjsmrtn quit (Ping timeout: 268 seconds) 2020-12-21T04:13:20Z charles`: Is it possible to typecast an object to be a child object? basically add slots of child class and change type. 2020-12-21T04:13:33Z __jrjsmrtn__ joined #lisp 2020-12-21T04:13:37Z beach: Sure 2020-12-21T04:13:41Z beach: clhs change-class 2020-12-21T04:13:42Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_chg_cl.htm 2020-12-21T04:13:51Z beach: But it's not called "type cast". 2020-12-21T04:15:07Z Bike quit (Quit: leaving) 2020-12-21T04:15:17Z charles`: Thanks so much. I knew I probably wasn't called that. I just didn't know the right terminology 2020-12-21T04:15:31Z beach: Pleasure. Good luck. 2020-12-21T04:17:21Z beach: And it doesn't have to be a child class, they can be completely independent classes as far as the subclass relationship is concerned. 2020-12-21T04:17:33Z Stanley00 joined #lisp 2020-12-21T04:21:38Z charles`: It does if I want it to inherit methods though right? 2020-12-21T04:22:29Z beach: Sure. For the original methods to be applicable, it would have to be a child class. 2020-12-21T04:23:48Z no-defun-allowed: Although it likely won't make sense, you could create a class with both the old and new classes as superclasses, and CHANGE-CLASS to that class. 2020-12-21T04:24:22Z no-defun-allowed: There is a library called dynamic-mixins which does that for you; as the name suggests, it makes the most sense for mixin classes. 2020-12-21T04:24:59Z slyrus joined #lisp 2020-12-21T04:25:27Z beach: Never heard of that library. What does it do again? 2020-12-21T04:27:29Z no-defun-allowed: It basically does what I described charles could do, "adding" mixins to an instance by creating a superclass of the old class and the mixin class, and calling CHANGE-CLASS. 2020-12-21T04:27:47Z beach: I see. 2020-12-21T04:29:33Z no-defun-allowed: I modeled my connection protocol off Gray streams, so there is one binary-connection class, and another character-connection class. Now I have a connection class which forwards messages to another connection - are its instances binary-connections or character-connections? It depends on the class of the connection I forward to; and I use dynamic-mixins to update the class of the forwarding connection. 2020-12-21T04:33:48Z thmprover quit (Quit: Another long day's journey into night.) 2020-12-21T04:33:58Z orivej quit (Ping timeout: 246 seconds) 2020-12-21T04:36:01Z karlosz joined #lisp 2020-12-21T04:36:38Z karlosz quit (Client Quit) 2020-12-21T04:36:59Z karlosz joined #lisp 2020-12-21T04:37:19Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-12-21T04:37:56Z Aurora_v_kosmose joined #lisp 2020-12-21T04:37:56Z quazimodo quit (Ping timeout: 240 seconds) 2020-12-21T04:44:33Z rumbler31 quit (Ping timeout: 260 seconds) 2020-12-21T04:45:08Z quazimodo joined #lisp 2020-12-21T04:53:13Z Oladon joined #lisp 2020-12-21T04:53:22Z GuerrillaMonkey joined #lisp 2020-12-21T04:56:02Z narimiran joined #lisp 2020-12-21T04:57:16Z Jeanne-Kamikaze quit (Ping timeout: 256 seconds) 2020-12-21T04:58:38Z wxie quit (Ping timeout: 256 seconds) 2020-12-21T05:01:29Z lotuseater: charles`: you can have a look on and try this, it thought me much https://en.wikipedia.org/wiki/Circle%E2%80%93ellipse_problem#Change_the_programming_language 2020-12-21T05:04:00Z lotuseater: it also tought me for defining SETF methods in its lambda list first the new value then the object (and not the other way around as i tought) 2020-12-21T05:04:32Z lotuseater: hm in my first message of course also the past form of "teach" and not "think" 2020-12-21T05:05:11Z beach: Sounds Indian. 2020-12-21T05:05:29Z lotuseater: why indian? o_O 2020-12-21T05:05:51Z beach: They often can't pronounce "th" and pronounce "t" instead. 2020-12-21T05:06:04Z beach does not understand the nature of accents. 2020-12-21T05:06:24Z lotuseater: oh noez it's "taught". too early here for me :D 2020-12-21T05:08:19Z no-defun-allowed: If I read https://en.wikipedia.org/wiki/Help:IPA/Hindi_and_Urdu correctly (please correct me if I missed something), then there isn't a "th" sound that one would have to learn? 2020-12-21T05:08:33Z lotuseater: now as i look on the macroexpand in SBCL for (defstruct person name age) there one can also see first new value then object. but it doesn't use DEFMETHOD but SB-C:XDEFUN 2020-12-21T05:08:55Z GuerrillaMonkey quit (Quit: Leaving) 2020-12-21T05:09:26Z lotuseater: but no beach, i never have been to India, wish i could one day or same parts of asia in general 2020-12-21T05:09:37Z no-defun-allowed: We would be looking for a /θ/ sound. 2020-12-21T05:09:55Z Alfr quit (Remote host closed the connection) 2020-12-21T05:10:15Z Alfr joined #lisp 2020-12-21T05:11:45Z rumbler31 joined #lisp 2020-12-21T05:13:24Z beach: lotuseater: I have never been either, but I hear people from India talk on TV fairly often. 2020-12-21T05:13:39Z beach: And I still don't understand accents. 2020-12-21T05:13:55Z lotuseater: you mean phonetically? 2020-12-21T05:14:43Z beach: I don't understand why people can't pronounce things they way they hear others pronounce those things. 2020-12-21T05:14:58Z beach: the way 2020-12-21T05:15:47Z lotuseater: haha right, same here (but in another context) 2020-12-21T05:15:51Z beach: And it's not just about not being able to make the sound. 2020-12-21T05:16:13Z oni-on-ion: i think the reason is that some brains work in terms of words/spelling/letters, rather than audio or visual. i heard that these same type of people have no "inner monologue/dialogue" 2020-12-21T05:16:38Z oni-on-ion: back in the day we termed it left brain, right brain 2020-12-21T05:16:45Z beach: Many Germans pronounce English `v' as an English `w', like "enwironment", even though there is a perfectly good `v' in German (spelled `w'). 2020-12-21T05:17:09Z beach: I just don't get it. 2020-12-21T05:17:10Z oni-on-ion: same with some east indian, tamil i think. "dodge wiper" 2020-12-21T05:17:42Z oni-on-ion: ancient hebrew the letter 'v' was pronounced as our 'w' and 'u', letters have moved around a bit since 2020-12-21T05:17:56Z oni-on-ion: (where then, the lighter 'b' was used as 'v') 2020-12-21T05:18:25Z oni-on-ion: now i wonder, how come Volkswagen has both W and V 2020-12-21T05:18:50Z beach: Sure, but I still don't understand why, when you stand in front of a native speaker of German, you say "enVironment", then that person can go straight ahead and pronounce it "enWironment" a second later. 2020-12-21T05:19:17Z beach: oni-on-ion: They are pronounced differently. 2020-12-21T05:19:38Z Nilby: Habits of the mouth. Wiring lower than cognition. 2020-12-21T05:19:55Z lotuseater: some german words are the same in english, even in spelling, but don't ask me why. Schnitzel, Kindergarten and so on 2020-12-21T05:21:04Z oni-on-ion: yep as Nilby said. it is related to the reasons why a non-native speaker will pronounce it naturally with an accent, strong or weak. however... they can "act" with british or american accent just fine. it is just about habit vs. intentional effort 2020-12-21T05:21:24Z frost-lab joined #lisp 2020-12-21T05:21:43Z nowhere_man quit (Ping timeout: 272 seconds) 2020-12-21T05:24:40Z lotuseater: hearing stuff like talks or films in English helps also a lot. but a native speaker would recognize the difference when hearing me speaking 2020-12-21T05:27:42Z wxie joined #lisp 2020-12-21T05:30:38Z bilegeek joined #lisp 2020-12-21T05:34:56Z andreyorst joined #lisp 2020-12-21T05:36:47Z Fare quit (Ping timeout: 260 seconds) 2020-12-21T05:40:01Z Oladon quit (Read error: Connection reset by peer) 2020-12-21T05:41:09Z Oladon joined #lisp 2020-12-21T05:50:17Z waleee-cl quit (Quit: Connection closed for inactivity) 2020-12-21T05:57:05Z kam1 joined #lisp 2020-12-21T06:04:09Z ex_nihilo joined #lisp 2020-12-21T06:06:12Z flip214: lotuseater: Zeitgeist is popular, too ;) 2020-12-21T06:08:58Z lotuseater: hehe 2020-12-21T06:14:55Z galex-713 quit (Ping timeout: 272 seconds) 2020-12-21T06:17:10Z galex-713 joined #lisp 2020-12-21T06:19:39Z yangby joined #lisp 2020-12-21T06:19:48Z karlosz quit (Quit: karlosz) 2020-12-21T06:20:22Z yangby quit (Client Quit) 2020-12-21T06:22:18Z jeosol quit (Remote host closed the connection) 2020-12-21T06:29:02Z shka_ joined #lisp 2020-12-21T06:41:05Z Oladon quit (Quit: Leaving.) 2020-12-21T06:42:43Z bilegeek_ joined #lisp 2020-12-21T06:43:42Z fanta1 joined #lisp 2020-12-21T06:45:37Z bilegeek quit (Ping timeout: 260 seconds) 2020-12-21T06:47:25Z bilegeek_ is now known as bilegeek 2020-12-21T06:57:02Z _whitelogger quit (Remote host closed the connection) 2020-12-21T06:59:10Z _whitelogger joined #lisp 2020-12-21T07:00:19Z andreyorst quit (Ping timeout: 265 seconds) 2020-12-21T07:00:37Z andreyorst` joined #lisp 2020-12-21T07:00:39Z andreyorst` quit (Remote host closed the connection) 2020-12-21T07:01:04Z andreyorst` joined #lisp 2020-12-21T07:03:07Z ssd532_ joined #lisp 2020-12-21T07:08:36Z kam1 quit (Ping timeout: 240 seconds) 2020-12-21T07:13:42Z jeosol joined #lisp 2020-12-21T07:27:02Z _whitelogger quit (Remote host closed the connection) 2020-12-21T07:29:10Z _whitelogger joined #lisp 2020-12-21T07:31:40Z rgherdt joined #lisp 2020-12-21T07:31:45Z phoe joined #lisp 2020-12-21T07:33:04Z atomik joined #lisp 2020-12-21T07:36:37Z atomik_dog quit (Ping timeout: 260 seconds) 2020-12-21T07:38:04Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-12-21T07:38:40Z Aurora_v_kosmose joined #lisp 2020-12-21T07:39:27Z rogersm joined #lisp 2020-12-21T07:42:14Z rogersm quit (Client Quit) 2020-12-21T07:51:03Z _whitelogger quit (Remote host closed the connection) 2020-12-21T07:53:10Z _whitelogger joined #lisp 2020-12-21T07:58:22Z atomik quit (Killed (adams.freenode.net (Nickname regained by services))) 2020-12-21T07:58:51Z Guest57331 joined #lisp 2020-12-21T08:14:21Z aartaka_d joined #lisp 2020-12-21T08:15:49Z aartaka quit (Ping timeout: 264 seconds) 2020-12-21T08:21:29Z daniel1302 quit (Quit: ZNC 1.8.2 - https://znc.in) 2020-12-21T08:21:45Z hdasch_ is now known as hdasch 2020-12-21T08:21:56Z daniel1302 joined #lisp 2020-12-21T08:25:34Z zacts joined #lisp 2020-12-21T08:26:00Z zacts quit (Client Quit) 2020-12-21T08:30:25Z liberliver joined #lisp 2020-12-21T08:31:07Z jeosol quit (Remote host closed the connection) 2020-12-21T08:32:54Z vidak`` joined #lisp 2020-12-21T08:33:41Z vidak`` quit (Client Quit) 2020-12-21T08:34:28Z Lycurgus joined #lisp 2020-12-21T08:36:52Z sgibber2018 quit (Quit: WeeChat 2.9) 2020-12-21T08:39:48Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-12-21T08:40:24Z Aurora_v_kosmose joined #lisp 2020-12-21T08:49:16Z gioyik quit (Quit: WeeChat 3.0) 2020-12-21T08:54:45Z pve joined #lisp 2020-12-21T08:54:57Z jprajzne joined #lisp 2020-12-21T09:04:40Z ravndal quit (Remote host closed the connection) 2020-12-21T09:05:46Z ravndal joined #lisp 2020-12-21T09:07:13Z hendursa1 joined #lisp 2020-12-21T09:07:25Z saganman joined #lisp 2020-12-21T09:08:08Z spongiforma joined #lisp 2020-12-21T09:09:23Z hendursaga quit (Ping timeout: 240 seconds) 2020-12-21T09:12:03Z hnOsmium0001 quit (Quit: Connection closed for inactivity) 2020-12-21T09:14:58Z scrungyforma joined #lisp 2020-12-21T09:15:55Z aartaka_d quit (Read error: Connection reset by peer) 2020-12-21T09:16:00Z aartaka joined #lisp 2020-12-21T09:19:33Z scrungyforma quit (Client Quit) 2020-12-21T09:29:25Z bilegeek quit (Quit: Leaving) 2020-12-21T09:32:07Z ssd532_ quit (Quit: Connection closed for inactivity) 2020-12-21T09:42:54Z jurov joined #lisp 2020-12-21T09:46:08Z jurov_ quit (Ping timeout: 260 seconds) 2020-12-21T09:49:25Z jurov quit (Ping timeout: 264 seconds) 2020-12-21T09:50:41Z cosimone joined #lisp 2020-12-21T09:50:45Z jurov joined #lisp 2020-12-21T09:52:47Z wxie1 joined #lisp 2020-12-21T09:53:19Z wxie quit (Read error: Connection reset by peer) 2020-12-21T09:53:19Z wxie1 is now known as wxie 2020-12-21T09:57:43Z cognemo quit (Quit: cognemo) 2020-12-21T09:58:31Z cognemo joined #lisp 2020-12-21T10:01:24Z beach: Happy solstice everyone! 2020-12-21T10:01:29Z villanella joined #lisp 2020-12-21T10:01:42Z beach: (10:01 UTC) 2020-12-21T10:03:10Z no-defun-allowed: Okay, I'm bored with the sun, you can have it back now. 2020-12-21T10:03:41Z beach: THANK YOU, THANK YOU! 2020-12-21T10:03:48Z no-defun-allowed: But it's kinda big, so it'll come back in six months probably. 2020-12-21T10:04:00Z heisig joined #lisp 2020-12-21T10:04:02Z imode: Happy soltice! 2020-12-21T10:04:36Z wxie quit (Ping timeout: 240 seconds) 2020-12-21T10:05:40Z Lycurgus: somebody, maybe neil degrasse, pointed out that the idea that the days get shorter in wintor and longer summer must be false 2020-12-21T10:06:00Z Lycurgus: since winter starts today and the days will only get longer 2020-12-21T10:06:43Z beach: Lycurgus: That's so biased towards the northern hemisphere. 2020-12-21T10:06:56Z imode: days get shorter towards winter and longer towards summer. inverse for the southern hemisphere. 2020-12-21T10:07:00Z Lycurgus: same deal for summer 2020-12-21T10:07:02Z beach: Plus, that's debatable. I consider winter solstice to be the middle of the winter. Not the beginning. 2020-12-21T10:07:45Z Lycurgus: well it's definitely not the middle here, maybe 20% in at most 2020-12-21T10:07:45Z flip214: imode: the southern hemisphere _also_ gets longer days towards _their_ summer.... 2020-12-21T10:08:17Z imode: my family parses it as "as soon as the solstice comes, day length starts growing slowly until it hits peak in summer, then swings back towards its trough" 2020-12-21T10:08:26Z Lycurgus: (rougly 43 north) 2020-12-21T10:08:37Z Lycurgus: *roughly 2020-12-21T10:08:41Z beach: As usual, in #lisp, everything has to be debated to death. 2020-12-21T10:08:53Z phoe: beach: disagreed, not everything 2020-12-21T10:09:15Z phoe: and I'm unwilling to change my position, prove me otherwise 2020-12-21T10:09:18Z flip214: agreed, not everything 2020-12-21T10:09:19Z beach: I don't think you should disagree. 2020-12-21T10:09:36Z Lycurgus: everbody is pretty much in lock/goose step on the parens alignment deal 2020-12-21T10:09:47Z imode: I can find someone to die on this hill. 2020-12-21T10:09:49Z phoe: not everything has to be debated to the death, and I'll gladly debate that to the death 2020-12-21T10:09:57Z beach: :) 2020-12-21T10:09:59Z phoe cough cough 2020-12-21T10:10:01Z phoe: I mean ummmmm 2020-12-21T10:10:03Z flip214: well, if "contradiction isn't an argument", would "consent" be one? 2020-12-21T10:12:16Z Stanley00 quit 2020-12-21T10:16:03Z aartaka_d joined #lisp 2020-12-21T10:16:53Z flotox joined #lisp 2020-12-21T10:18:05Z cosimone quit (Remote host closed the connection) 2020-12-21T10:18:23Z cosimone joined #lisp 2020-12-21T10:19:07Z aartaka quit (Ping timeout: 260 seconds) 2020-12-21T10:20:34Z Lycurgus quit (Quit: Exeunt) 2020-12-21T10:23:37Z amb007 quit (Read error: Connection reset by peer) 2020-12-21T10:24:53Z amb007 joined #lisp 2020-12-21T10:26:54Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-12-21T10:27:33Z Aurora_v_kosmose joined #lisp 2020-12-21T10:29:38Z flotox quit (Quit: Leaving) 2020-12-21T10:32:55Z Nilby quit (Read error: Connection reset by peer) 2020-12-21T10:34:13Z eden joined #lisp 2020-12-21T10:46:43Z v3ga quit (Ping timeout: 268 seconds) 2020-12-21T11:22:49Z jmercouris: I disagree with our stance on parens 2020-12-21T11:22:58Z jmercouris: wait, was our stance on parens again? 2020-12-21T11:24:00Z phoe: they are too round for 2021, therefore we officially replace them with brackets in CLtL5 2020-12-21T11:24:04Z flip214: jmercouris: the more the better, but only the round ones 2020-12-21T11:24:08Z phoe: [defun foo [bar] [* bar bar]] 2020-12-21T11:24:27Z flip214: phoe: well, then go unicode as well 2020-12-21T11:24:34Z no-defun-allowed: <* bar bar>> 2020-12-21T11:24:38Z flip214: «identity t» 2020-12-21T11:24:42Z phoe: yes 2020-12-21T11:24:45Z no-defun-allowed: Because [] looked too round. 2020-12-21T11:25:05Z jmercouris: lol 2020-12-21T11:25:28Z phoe: ≤+ 2 2≥ for weak calls maybe? can return 4 or 3 or 5 2020-12-21T11:25:35Z jmercouris: I’m going to use carets from now on 2020-12-21T11:25:59Z jmercouris: << 3 5> ; t 2020-12-21T11:26:06Z imode: I wouldn't mind [] as brackets tbh. 2020-12-21T11:26:12Z phoe: anyway 2020-12-21T11:26:17Z imode: I use them in my language. 2020-12-21T11:26:22Z imode: less keypresses. 2020-12-21T11:26:28Z phoe hides before beach returns with his debating comment 2020-12-21T11:26:35Z no-defun-allowed: ^+ x xv ; you can't use v in names, also it looks like Smalltalk 2020-12-21T11:26:36Z phoe: imode: actually I have [] and () swapped on my keyboard 2020-12-21T11:26:41Z imode: oh nice. 2020-12-21T11:26:43Z no-defun-allowed: Same here. 2020-12-21T11:26:44Z imode: good idea. 2020-12-21T11:26:49Z jmercouris: same, there’s a way to do it in emacs 2020-12-21T11:26:52Z phoe: imode: in shell, setxkbmap -option parens:swap_brackets 2020-12-21T11:27:02Z phoe: I do it globally in my X session 2020-12-21T11:27:03Z imode: yeah but that'll screw with other stuff. :x 2020-12-21T11:27:05Z jmercouris: pjb had a snippet you can find it in my config 2020-12-21T11:27:05Z no-defun-allowed: I know someone who swapped - and / but it's a bit much. 2020-12-21T11:27:19Z jmercouris: don’t swap globally, only in emacs 2020-12-21T11:27:38Z phoe: I actually do swap globally, I like having parens without pressing shift 2020-12-21T11:29:08Z srandon111 joined #lisp 2020-12-21T11:30:02Z varjag joined #lisp 2020-12-21T11:31:48Z flip214: phoe: no shift for parens, but then using emacs? nice dichotomy ;) 2020-12-21T11:32:01Z phoe: flip214: what do you mean 2020-12-21T11:32:29Z phoe: I use leader mode for most emacs commands, less shifting for me :D 2020-12-21T11:32:42Z flip214 mutters I've got an editor for you that uses modes instead of special keys... 2020-12-21T11:32:45Z flip214: ah, okay 2020-12-21T11:33:41Z no-defun-allowed: I don't jump between commands and text as frequently as I type parens. 2020-12-21T11:35:41Z phoe: somewhat unrelated, but I really enjoy spacemacs with its modal approach to everything 2020-12-21T11:36:01Z phoe: I don't press control or meta or shift as much as I used to! 2020-12-21T11:42:06Z random-nick joined #lisp 2020-12-21T11:44:06Z surabax joined #lisp 2020-12-21T11:49:41Z jmercouris: why can’t I have a method with a different number of arguments as a method of the same name? 2020-12-21T11:50:37Z vegansbane6 quit (Quit: The Lounge - https://thelounge.chat) 2020-12-21T11:51:35Z jackdaniel: you can given you use &rest arguments or &key &allow-other-keys 2020-12-21T11:51:59Z jackdaniel: but to answer the "why": because methods are parts of the same generic functions 2020-12-21T11:52:16Z jackdaniel: you don't expect a single function to have different signatures, do you? 2020-12-21T11:53:04Z jackdaniel: in other words, methods are *not* functions, they are chunks of a fancy function dubbed "generic" 2020-12-21T11:55:13Z jmercouris: aha 2020-12-21T11:55:28Z jmercouris: so the generic function is responsible for dispatch to the methods? 2020-12-21T11:55:42Z jmercouris: we are always invoking the generic function whose job it is to act like a router? 2020-12-21T11:56:31Z mfiano: You can use specialization-store if you want multiple arity and to be able to specialize on &rest/&key/&optional arguments 2020-12-21T11:56:57Z jackdaniel: more or less, yes 2020-12-21T11:57:28Z jackdaniel: (by "or less" I mean, that it is possible, that there is a mechanism "outside" of the generic function that does the dispatch 2020-12-21T11:57:31Z jackdaniel: ) 2020-12-21T11:57:51Z jmercouris: I see 2020-12-21T11:58:08Z jmercouris: mfiano: I’ll look into specialization store, thanks 2020-12-21T11:58:09Z jackdaniel: but conceptually generic function is a bag with methods and depending on arguments methods are invoked /in some order/ (or not invoked) 2020-12-21T11:58:23Z jmercouris: jackdaniel: i finally understand, thanks 2020-12-21T11:58:34Z jackdaniel: sure 2020-12-21T12:00:03Z mfiano: (or to also dispatch on _types_) 2020-12-21T12:00:28Z jackdaniel: (satisfies (random-elt t nil)) 2020-12-21T12:00:55Z mfiano: specialization-store requires cltl2 environment support though, so may not work the same everywhere. 2020-12-21T12:01:26Z vutral quit (Quit: Connection closed for inactivity) 2020-12-21T12:02:13Z mfiano: I use it for the constructors in my linear algebra library, for example to be able to construct 4x4 matrices from 16 scalars, 4 column vectors, a single scalar for identity, etc 2020-12-21T12:02:57Z skapata joined #lisp 2020-12-21T12:06:04Z kaftejiman joined #lisp 2020-12-21T12:13:26Z ldbeth joined #lisp 2020-12-21T12:13:31Z ldbeth: good evening 2020-12-21T12:16:45Z aeth: Alternatively, the actual generic function in DEFGENERIC can have many, mandatory arguments, but it can be wrapped in another DEFUN, which you actually call, that has the &optional, &key, or &rest that you want 2020-12-21T12:17:27Z aeth: &rest is problematic, but &optional and &key absolutely could've had a class in DEFGENERIC and it's a flaw that they can't have one. I guess the committee couldn't agree on a syntax. 2020-12-21T12:17:33Z vegansbane6 joined #lisp 2020-12-21T12:17:39Z Lycurgus joined #lisp 2020-12-21T12:18:13Z mfiano: Luckily we have things like filtered-functions to write our own dispatchers 2020-12-21T12:18:52Z aeth: The correct syntax, by the way, would be (variable default-value class supplied-p) 2020-12-21T12:19:04Z aeth: Since you'll probably need a default-value anyway. 2020-12-21T12:26:04Z frost-lab quit (Quit: Connection closed) 2020-12-21T12:26:34Z aeth: Oh, and you probably always want the &allow-other-keys that jackdaniel brought up for these sorts of APIs because you wouldn't want there to be a breaking change if you added a key. 2020-12-21T12:27:07Z aeth: (assuming the key is actually optional, which most, but not all, tend to be) 2020-12-21T12:36:33Z [d]_ joined #lisp 2020-12-21T12:52:13Z narimiran quit (Ping timeout: 260 seconds) 2020-12-21T12:54:30Z narimiran joined #lisp 2020-12-21T12:56:04Z joaot joined #lisp 2020-12-21T13:03:22Z imode quit (Quit: Batsharks are people too!) 2020-12-21T13:06:15Z nowhere_man joined #lisp 2020-12-21T13:13:41Z Bike joined #lisp 2020-12-21T13:15:08Z Lycurgus quit (Quit: Exeunt) 2020-12-21T13:16:06Z ggole joined #lisp 2020-12-21T13:23:27Z cantstanya quit (Remote host closed the connection) 2020-12-21T13:25:27Z cantstanya joined #lisp 2020-12-21T13:41:10Z a0 joined #lisp 2020-12-21T13:44:23Z eden quit (Ping timeout: 240 seconds) 2020-12-21T13:46:04Z aeth_ joined #lisp 2020-12-21T13:46:47Z aeth quit (Disconnected by services) 2020-12-21T13:46:52Z aeth_ is now known as aeth 2020-12-21T13:52:22Z igemnace quit (Remote host closed the connection) 2020-12-21T13:54:11Z notzmv quit (Ping timeout: 268 seconds) 2020-12-21T13:55:24Z aartaka joined #lisp 2020-12-21T13:55:43Z luckless quit (Ping timeout: 240 seconds) 2020-12-21T13:57:00Z luckless joined #lisp 2020-12-21T13:57:06Z EvW joined #lisp 2020-12-21T13:57:16Z aartaka_d quit (Ping timeout: 240 seconds) 2020-12-21T13:59:41Z retropikzel joined #lisp 2020-12-21T14:00:16Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-12-21T14:00:55Z Aurora_v_kosmose joined #lisp 2020-12-21T14:01:22Z X-Scale` joined #lisp 2020-12-21T14:01:57Z X-Scale quit (Ping timeout: 260 seconds) 2020-12-21T14:02:19Z X-Scale` is now known as X-Scale 2020-12-21T14:02:24Z aartaka quit (Ping timeout: 256 seconds) 2020-12-21T14:02:25Z ldbeth quit (Quit: ERC (IRC client for Emacs 27.1)) 2020-12-21T14:08:21Z hendursa1 quit (Quit: hendursa1) 2020-12-21T14:08:41Z hendursaga joined #lisp 2020-12-21T14:09:11Z EvW quit (Quit: EvW) 2020-12-21T14:09:32Z EvW joined #lisp 2020-12-21T14:10:51Z pfdietz joined #lisp 2020-12-21T14:10:53Z pfdietz left #lisp 2020-12-21T14:10:56Z pfdietz joined #lisp 2020-12-21T14:14:24Z a0 quit (Remote host closed the connection) 2020-12-21T14:14:52Z a0 joined #lisp 2020-12-21T14:16:14Z wsinatra joined #lisp 2020-12-21T14:21:44Z ljavorsk joined #lisp 2020-12-21T14:26:08Z dim quit (Quit: ZNC - http://znc.sourceforge.net) 2020-12-21T14:28:08Z ljavorsk quit (Ping timeout: 256 seconds) 2020-12-21T14:28:42Z notzmv joined #lisp 2020-12-21T14:30:43Z a0 quit (Ping timeout: 240 seconds) 2020-12-21T14:32:38Z [d]_ quit (Excess Flood) 2020-12-21T14:32:45Z [d] joined #lisp 2020-12-21T14:33:51Z jurov: anyone knows about package-local nicknames pls? I have no idea why this errors in sbcl 2.0.1: 2020-12-21T14:33:54Z jurov: defvar p2 (make-package "p2")) (sb-ext:add-package-local-nickname "pee" p2 p2) (let ((*package* p2)) (read-from-string "pee::p")) 2020-12-21T14:34:52Z igemnace joined #lisp 2020-12-21T14:35:12Z beach: It would seem add-package-local-nickname is a function, no? 2020-12-21T14:35:32Z beach: Did you check it's signature? 2020-12-21T14:37:13Z phoe: jurov: case 2020-12-21T14:37:23Z phoe: (read-from-string "|pee|::p") will succeed 2020-12-21T14:37:33Z beach: Ah, heh. 2020-12-21T14:37:38Z beach: Good catch. 2020-12-21T14:37:45Z phoe: your nickname is lowercase, upcase it if you want to type pee::p. 2020-12-21T14:37:52Z phoe: also oh god the pun 2020-12-21T14:39:18Z hiroaki quit (Ping timeout: 256 seconds) 2020-12-21T14:45:11Z aartaka joined #lisp 2020-12-21T14:51:06Z aartaka_d joined #lisp 2020-12-21T14:52:25Z aartaka quit (Ping timeout: 264 seconds) 2020-12-21T14:53:54Z a0 joined #lisp 2020-12-21T14:54:21Z joaot6 joined #lisp 2020-12-21T14:54:39Z joaot quit (Ping timeout: 245 seconds) 2020-12-21T14:55:10Z hiroaki joined #lisp 2020-12-21T14:55:23Z ebrasca joined #lisp 2020-12-21T14:58:30Z mrchampion quit (Ping timeout: 256 seconds) 2020-12-21T14:58:50Z charles` quit (Ping timeout: 264 seconds) 2020-12-21T15:02:04Z Duuqnd joined #lisp 2020-12-21T15:06:40Z spongiforma quit (Read error: Connection reset by peer) 2020-12-21T15:08:24Z joaot6 quit (Ping timeout: 245 seconds) 2020-12-21T15:10:04Z orivej joined #lisp 2020-12-21T15:12:18Z nowhere_man quit (Ping timeout: 258 seconds) 2020-12-21T15:16:08Z nowhere_man joined #lisp 2020-12-21T15:16:20Z mrchampion joined #lisp 2020-12-21T15:22:02Z kaftejiman quit (Remote host closed the connection) 2020-12-21T15:25:22Z sjl joined #lisp 2020-12-21T15:31:28Z aeth quit (Ping timeout: 260 seconds) 2020-12-21T15:33:17Z aeth joined #lisp 2020-12-21T15:34:08Z waleee-cl joined #lisp 2020-12-21T15:40:39Z griffinbyatt joined #lisp 2020-12-21T15:40:52Z EvW quit (Ping timeout: 268 seconds) 2020-12-21T15:42:04Z andreyorst` quit (Quit: andreyorst`) 2020-12-21T15:49:03Z Aurora_v_kosmose quit (Ping timeout: 240 seconds) 2020-12-21T15:49:24Z CrazyEdd joined #lisp 2020-12-21T15:51:07Z aartaka joined #lisp 2020-12-21T15:51:09Z Steeve joined #lisp 2020-12-21T15:51:12Z Duuqnd quit (Ping timeout: 256 seconds) 2020-12-21T15:51:33Z toorevitimirp quit (Remote host closed the connection) 2020-12-21T15:52:20Z gioyik joined #lisp 2020-12-21T15:53:35Z Aurora_v_kosmose joined #lisp 2020-12-21T15:53:36Z aartaka_d quit (Ping timeout: 240 seconds) 2020-12-21T15:53:55Z rogersm joined #lisp 2020-12-21T15:56:22Z kam1 joined #lisp 2020-12-21T16:10:49Z lowryder joined #lisp 2020-12-21T16:14:02Z cactus is now known as scorpion 2020-12-21T16:15:07Z scorpion is now known as MrFantastik 2020-12-21T16:15:54Z hal99999 joined #lisp 2020-12-21T16:20:53Z CookE[] joined #lisp 2020-12-21T16:23:43Z a0 quit (Ping timeout: 240 seconds) 2020-12-21T16:27:18Z vegansbane6 quit (Remote host closed the connection) 2020-12-21T16:29:32Z kam1 quit (Ping timeout: 260 seconds) 2020-12-21T16:29:39Z aeth_ joined #lisp 2020-12-21T16:29:45Z aeth quit (Disconnected by services) 2020-12-21T16:30:09Z aeth_ is now known as aeth 2020-12-21T16:35:43Z CookE[] quit (Ping timeout: 240 seconds) 2020-12-21T16:39:43Z CookE[] joined #lisp 2020-12-21T16:47:11Z vegansbane6 joined #lisp 2020-12-21T16:48:25Z bjorkint0sh quit (Quit: Leaving) 2020-12-21T16:55:15Z dim joined #lisp 2020-12-21T16:55:48Z X-Scale` joined #lisp 2020-12-21T16:56:16Z X-Scale quit (Ping timeout: 240 seconds) 2020-12-21T16:56:37Z X-Scale` is now known as X-Scale 2020-12-21T17:01:34Z aeth quit (Ping timeout: 246 seconds) 2020-12-21T17:03:38Z aeth joined #lisp 2020-12-21T17:06:43Z CookE[] quit (Ping timeout: 240 seconds) 2020-12-21T17:07:46Z cosimone quit (Ping timeout: 256 seconds) 2020-12-21T17:10:45Z lucasb joined #lisp 2020-12-21T17:11:19Z jackdaniel: when we have two load-time-value's with the value (make-instance 'foo) (read-only-p defaults to nil), and we load the compiled file, should they be eq to each other? 2020-12-21T17:11:32Z jackdaniel: or, /can/ they be EQ to each other? 2020-12-21T17:11:47Z phoe: clhs load-time-value 2020-12-21T17:11:47Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/s_ld_tim.htm 2020-12-21T17:12:23Z jackdaniel: I think that they should be only when the read-only-p is T, but maybe I'm missing something 2020-12-21T17:12:36Z phoe: "If t, the result is a read-only quantity that can, if appropriate to the implementation, be copied into read-only space and/or coalesced with similar constant objects from other programs." 2020-12-21T17:12:49Z phoe: so if read-only-p is true, then it CAN be coalesced 2020-12-21T17:12:55Z jackdaniel: sure, that's clear 2020-12-21T17:13:00Z phoe: "If nil (the default), the result must be neither copied nor coalesced; it must be considered to be potentially modifiable data. " 2020-12-21T17:13:14Z phoe: so if read-only-p is false, then it MUST NOT be coalesced 2020-12-21T17:13:44Z EvW joined #lisp 2020-12-21T17:13:49Z jackdaniel: that's my understanding, but I'm usually doubting myself when I see sbcl doing something different 2020-12-21T17:13:59Z jackdaniel: (than what I would anticipate) 2020-12-21T17:14:00Z phoe: what does SBCL do? 2020-12-21T17:14:09Z jackdaniel: coalasces them 2020-12-21T17:14:43Z phoe: could you give an example? 2020-12-21T17:15:13Z jackdaniel: hm, I'm confused, I've rerun my example and it worked as expected 2020-12-21T17:15:50Z phoe: a particularly shy bug 2020-12-21T17:15:53Z phoe: disappears upon closer look 2020-12-21T17:16:11Z jackdaniel: hm, nevermind me then, thanks 2020-12-21T17:16:17Z hiroaki quit (Ping timeout: 256 seconds) 2020-12-21T17:24:13Z hineios1 joined #lisp 2020-12-21T17:24:26Z kam1 joined #lisp 2020-12-21T17:24:33Z rogersm quit (Quit: Leaving...) 2020-12-21T17:24:59Z sm2n_ joined #lisp 2020-12-21T17:25:03Z sm2n quit (Remote host closed the connection) 2020-12-21T17:25:45Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-12-21T17:26:19Z Aurora_v_kosmose joined #lisp 2020-12-21T17:26:37Z hineios quit (Ping timeout: 264 seconds) 2020-12-21T17:26:37Z hineios1 is now known as hineios 2020-12-21T17:28:49Z hiroaki joined #lisp 2020-12-21T17:35:24Z stzsch quit (Read error: Connection reset by peer) 2020-12-21T17:36:12Z stzsch joined #lisp 2020-12-21T17:37:17Z andreyorst joined #lisp 2020-12-21T17:38:28Z aeth_ joined #lisp 2020-12-21T17:38:52Z aeth quit (Disconnected by services) 2020-12-21T17:38:56Z phantomics quit (Quit: Ex-Chat) 2020-12-21T17:39:05Z aeth_ is now known as aeth 2020-12-21T17:41:54Z matta joined #lisp 2020-12-21T17:42:56Z rumbler31 quit (Ping timeout: 240 seconds) 2020-12-21T17:42:56Z stux|RC-- joined #lisp 2020-12-21T17:44:17Z mfiano quit (Ping timeout: 246 seconds) 2020-12-21T17:44:17Z actuallybatman quit (Ping timeout: 246 seconds) 2020-12-21T17:44:17Z eschatologist quit (Ping timeout: 246 seconds) 2020-12-21T17:44:21Z eschatologist_ joined #lisp 2020-12-21T17:44:32Z actuallybatman joined #lisp 2020-12-21T17:44:38Z stux|RC quit (Ping timeout: 246 seconds) 2020-12-21T17:44:38Z samebchase quit (Ping timeout: 246 seconds) 2020-12-21T17:45:13Z amerlyq quit (Ping timeout: 264 seconds) 2020-12-21T17:45:13Z renzhi quit (Ping timeout: 264 seconds) 2020-12-21T17:45:14Z snits quit (Ping timeout: 264 seconds) 2020-12-21T17:45:14Z cgay quit (Ping timeout: 264 seconds) 2020-12-21T17:45:16Z samebchase joined #lisp 2020-12-21T17:45:23Z cgay joined #lisp 2020-12-21T17:45:39Z amerlyq joined #lisp 2020-12-21T17:46:03Z matta: Puzzle from a noob -- please help me figure how the right way to do this: (deftype coordinate (simple-array fixnum (3))) 2020-12-21T17:46:17Z snits joined #lisp 2020-12-21T17:46:17Z mfiano joined #lisp 2020-12-21T17:46:47Z matta: I want to be able to use 'coordinate in check-type, (declare (type (coordinate foo))), etc. 2020-12-21T17:47:52Z renzhi joined #lisp 2020-12-21T17:48:38Z phoe: matta: (deftype coordinate () '(simple-array fixnum (3))) 2020-12-21T17:48:53Z phoe: you forgot the type lambda list, and you need to quote the return value 2020-12-21T17:49:30Z matta: Ahhh, I had tried quoting but forgot the type lambda list. Thanks! 2020-12-21T17:49:47Z cosimone joined #lisp 2020-12-21T17:50:04Z matta: Learning new languages teaches one to be humble. ;-) 2020-12-21T17:52:50Z phoe: no problem! good luck, and feel free to ask any more questions you may have 2020-12-21T17:57:09Z aeth: matta: do you actually want coordinates to be fixnums? 2020-12-21T17:57:19Z aeth: That means you have no control over the size 2020-12-21T17:57:38Z aeth: you could do e.g. (signed-byte 32) and most implementations will probably support that size 2020-12-21T17:59:22Z aeth: Implementations have to support simple-character, character, and bit arrays. They almost certainly support (unsigned-byte 8) arrays. They also likely support single-float, double-float, and signed/unsigned bytes for 8, 16, and 32 2020-12-21T17:59:35Z aeth: So you have a fair bit of control over which kind of arrays you use 2020-12-21T18:00:58Z phantomics joined #lisp 2020-12-21T18:03:31Z phoe: fixnum is at minimum ub16 2020-12-21T18:04:07Z _death: signed-byte 16 2020-12-21T18:04:25Z EvW quit (Ping timeout: 258 seconds) 2020-12-21T18:08:39Z phoe: oops - sorry 2020-12-21T18:09:32Z kam1 quit (Ping timeout: 256 seconds) 2020-12-21T18:10:15Z rumbler31 joined #lisp 2020-12-21T18:20:26Z galex-713 quit (Ping timeout: 264 seconds) 2020-12-21T18:23:13Z kam1 joined #lisp 2020-12-21T18:30:08Z galex-713 joined #lisp 2020-12-21T18:32:30Z entre-parenteses joined #lisp 2020-12-21T18:33:46Z stux|RC-- quit (Quit: Aloha!) 2020-12-21T18:35:26Z stux|RC joined #lisp 2020-12-21T18:36:54Z cosimone quit (Remote host closed the connection) 2020-12-21T18:37:02Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-12-21T18:37:37Z Aurora_v_kosmose joined #lisp 2020-12-21T18:41:26Z liberliver quit (Quit: liberliver) 2020-12-21T18:41:27Z amb007 quit (Read error: Connection reset by peer) 2020-12-21T18:41:33Z amb007 joined #lisp 2020-12-21T18:41:38Z amb007 quit (Read error: Connection reset by peer) 2020-12-21T18:41:58Z amb007 joined #lisp 2020-12-21T18:43:29Z cosimone joined #lisp 2020-12-21T18:43:29Z amb007 quit (Read error: Connection reset by peer) 2020-12-21T18:44:41Z amb007 joined #lisp 2020-12-21T18:46:38Z Nilby joined #lisp 2020-12-21T18:46:38Z amb007 quit (Read error: Connection reset by peer) 2020-12-21T18:48:08Z amb007 joined #lisp 2020-12-21T18:51:05Z zmagii quit (Quit: ZNC 1.7.5+deb4 - https://znc.in) 2020-12-21T18:51:05Z amb007 quit (Read error: Connection reset by peer) 2020-12-21T18:51:13Z amb007 joined #lisp 2020-12-21T18:53:16Z amb007 quit (Read error: Connection reset by peer) 2020-12-21T18:53:23Z amb007 joined #lisp 2020-12-21T18:53:26Z skapata quit (Ping timeout: 264 seconds) 2020-12-21T18:55:24Z amb007 quit (Read error: Connection reset by peer) 2020-12-21T18:56:28Z amb007 joined #lisp 2020-12-21T18:57:07Z kam1 quit (Ping timeout: 260 seconds) 2020-12-21T18:58:28Z amb007 quit (Read error: Connection reset by peer) 2020-12-21T18:58:43Z amb007 joined #lisp 2020-12-21T18:59:05Z skapata joined #lisp 2020-12-21T19:00:46Z amb007 quit (Read error: Connection reset by peer) 2020-12-21T19:01:23Z amb007 joined #lisp 2020-12-21T19:02:05Z jurov: phoe: thanks! 2020-12-21T19:03:17Z matta: aeth: thanks for the tips re: signed-byte 32. 2020-12-21T19:03:17Z amb007 quit (Read error: Connection reset by peer) 2020-12-21T19:03:38Z EvW joined #lisp 2020-12-21T19:03:50Z ex_nihilo quit (Quit: Leaving) 2020-12-21T19:04:10Z amb007 joined #lisp 2020-12-21T19:05:41Z matta: What is the easiest way to compare two arrays for structural equality (i.e. as EQUALS does for lists)? 2020-12-21T19:06:11Z phoe: EQUALS? you likely mean EQUAL 2020-12-21T19:06:15Z ebrasca: How do shadow work? 2020-12-21T19:06:21Z phoe: but, EQUALP compares arrays if you want EQUALP for comparison 2020-12-21T19:06:38Z ebrasca: How does shadow work? 2020-12-21T19:06:46Z phoe: for vectors, there's serapeum:vector= 2020-12-21T19:07:13Z phoe: ebrasca: there's an answer in http://www.flownet.com/gat/packages.pdf 2020-12-21T19:07:50Z phoe: basically, SHADOW creates a symbol with a given name and unimports any other symbol with the same name that might have been imported 2020-12-21T19:07:50Z amb007 quit (Read error: Connection reset by peer) 2020-12-21T19:07:58Z amb007 joined #lisp 2020-12-21T19:07:58Z amb007 quit (Read error: Connection reset by peer) 2020-12-21T19:08:18Z amb007 joined #lisp 2020-12-21T19:12:49Z amb007 quit (Read error: Connection reset by peer) 2020-12-21T19:13:15Z amb007 joined #lisp 2020-12-21T19:13:25Z hiroaki quit (Ping timeout: 264 seconds) 2020-12-21T19:15:15Z amb007 quit (Read error: Connection reset by peer) 2020-12-21T19:15:33Z amb007 joined #lisp 2020-12-21T19:19:23Z ebrasca: phoe: Thanks! 2020-12-21T19:21:08Z phoe: so when you shadow a symbol with name FOO, then first FIND-SYMBOL is called to find it 2020-12-21T19:21:09Z amb007 quit (Read error: Connection reset by peer) 2020-12-21T19:21:16Z phoe: if it does not exist, it is interned 2020-12-21T19:21:33Z amb007 joined #lisp 2020-12-21T19:21:33Z phoe: if it exists and it is imported from another package, it is uninterned and then a fresh one is interned 2020-12-21T19:21:49Z phoe: otherwise, it's a no-op 2020-12-21T19:22:12Z phoe: oh, and each package maintains a shadowing symbols list, that symbol is added there by #'SHADOW. 2020-12-21T19:26:26Z hiroaki joined #lisp 2020-12-21T19:27:50Z cranes quit (Remote host closed the connection) 2020-12-21T19:28:38Z aeth: put that in an article under the headline "shadow facts" as a reference to https://xkcd.com/1272/ 2020-12-21T19:31:48Z varjag: slyrus: i implemented guo-hall thinning over opticl 2020-12-21T19:31:59Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-12-21T19:32:06Z varjag: is it of interest for the project, or does it sound too application specific 2020-12-21T19:32:35Z Aurora_v_kosmose joined #lisp 2020-12-21T19:33:19Z Lycurgus joined #lisp 2020-12-21T19:35:44Z hnOsmium0001 joined #lisp 2020-12-21T19:38:32Z froggey quit (Ping timeout: 260 seconds) 2020-12-21T19:43:17Z Younder joined #lisp 2020-12-21T19:50:27Z tool_man joined #lisp 2020-12-21T19:54:04Z froggey joined #lisp 2020-12-21T19:56:26Z andreyorst quit (Ping timeout: 264 seconds) 2020-12-21T19:58:15Z galex-713 quit (Ping timeout: 272 seconds) 2020-12-21T19:58:48Z karlosz joined #lisp 2020-12-21T20:05:04Z entre-parenteses quit (Ping timeout: 256 seconds) 2020-12-21T20:12:09Z ggole quit (Quit: Leaving) 2020-12-21T20:12:31Z jprajzne quit (Quit: Leaving.) 2020-12-21T20:14:26Z ykm joined #lisp 2020-12-21T20:15:35Z Younder quit (Quit: Leaving) 2020-12-21T20:18:20Z ykm left #lisp 2020-12-21T20:20:47Z kaftejiman joined #lisp 2020-12-21T20:24:51Z galex-713 joined #lisp 2020-12-21T20:38:47Z entre-parenteses joined #lisp 2020-12-21T20:39:34Z Lycurgus quit (Quit: Exeunt) 2020-12-21T20:39:41Z cosimone_ joined #lisp 2020-12-21T20:39:43Z kam1 joined #lisp 2020-12-21T20:39:56Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-12-21T20:40:30Z Aurora_v_kosmose joined #lisp 2020-12-21T20:40:53Z jw4 quit (Read error: Connection reset by peer) 2020-12-21T20:41:47Z cosimone quit (Ping timeout: 260 seconds) 2020-12-21T20:41:49Z cosimone_ is now known as cosimone 2020-12-21T20:42:41Z cosimone quit (Client Quit) 2020-12-21T20:43:04Z jw4 joined #lisp 2020-12-21T20:43:21Z cosimone joined #lisp 2020-12-21T20:44:39Z jeosol joined #lisp 2020-12-21T20:47:48Z eschatologist_ is now known as eschatologist 2020-12-21T20:55:12Z gaqwas joined #lisp 2020-12-21T20:55:12Z gaqwas quit (Changing host) 2020-12-21T20:55:12Z gaqwas joined #lisp 2020-12-21T20:55:38Z akoana joined #lisp 2020-12-21T21:01:05Z notandinus quit (Ping timeout: 240 seconds) 2020-12-21T21:01:50Z EvW quit (Ping timeout: 264 seconds) 2020-12-21T21:07:16Z narimiran quit (Ping timeout: 240 seconds) 2020-12-21T21:18:46Z zmagii joined #lisp 2020-12-21T21:20:14Z imode joined #lisp 2020-12-21T21:25:01Z gaqwas quit (Remote host closed the connection) 2020-12-21T21:25:03Z zacts joined #lisp 2020-12-21T21:26:20Z galex-713 quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) 2020-12-21T21:27:32Z galex-713 joined #lisp 2020-12-21T21:27:34Z EvW joined #lisp 2020-12-21T21:27:40Z galex-713 quit (Client Quit) 2020-12-21T21:28:54Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-12-21T21:29:30Z Aurora_v_kosmose joined #lisp 2020-12-21T21:29:31Z galex-713 joined #lisp 2020-12-21T21:32:29Z gjnoonan quit (Ping timeout: 244 seconds) 2020-12-21T21:32:29Z chewbranca quit (Ping timeout: 244 seconds) 2020-12-21T21:32:29Z mgsk quit (Ping timeout: 244 seconds) 2020-12-21T21:33:00Z lukego quit (Ping timeout: 258 seconds) 2020-12-21T21:33:06Z cg505 quit (Quit: ZNC 1.7.2+deb3 - https://znc.in) 2020-12-21T21:33:20Z cg505 joined #lisp 2020-12-21T21:33:47Z entre-parenteses quit (Remote host closed the connection) 2020-12-21T21:33:58Z lukego joined #lisp 2020-12-21T21:34:01Z mgsk joined #lisp 2020-12-21T21:34:02Z chewbranca joined #lisp 2020-12-21T21:34:19Z gjnoonan joined #lisp 2020-12-21T21:41:36Z shka_ quit (Ping timeout: 240 seconds) 2020-12-21T21:45:24Z kam1 quit (Ping timeout: 272 seconds) 2020-12-21T21:50:28Z aartaka quit (Ping timeout: 272 seconds) 2020-12-21T21:55:49Z wsinatra quit (Quit: WeeChat 3.0) 2020-12-21T22:03:08Z slyrus: varjag, what is quo-hall thinning? I'm assuming this is something like: https://people.eecs.berkeley.edu/~fateman/294-9/lectures/thin.html ? 2020-12-21T22:03:37Z slyrus: of course all of the images on Fateman's site are busted, which doesn't really help explain what's going on. 2020-12-21T22:06:13Z slyrus: sure, happy to add to opticl, thanks! Can you make a PR for it? 2020-12-21T22:06:13Z amb007 quit (Read error: Connection reset by peer) 2020-12-21T22:06:13Z amb007 joined #lisp 2020-12-21T22:06:13Z amb007 quit (Read error: Connection reset by peer) 2020-12-21T22:06:13Z amb007 joined #lisp 2020-12-21T22:06:56Z matijja quit (Ping timeout: 240 seconds) 2020-12-21T22:07:55Z astronavt quit (Remote host closed the connection) 2020-12-21T22:08:14Z astronavt joined #lisp 2020-12-21T22:08:16Z matijja joined #lisp 2020-12-21T22:12:12Z Jesin quit (Quit: Leaving) 2020-12-21T22:12:13Z amb007 quit (Read error: Connection reset by peer) 2020-12-21T22:12:29Z amb007 joined #lisp 2020-12-21T22:13:43Z dmiles[m] joined #lisp 2020-12-21T22:13:43Z amb007 quit (Read error: Connection reset by peer) 2020-12-21T22:16:27Z Xach: hmm, the stats update seems to have worked 2020-12-21T22:16:55Z phoe: let me look! 2020-12-21T22:17:51Z phoe: yes, I can see phoe-toolbox with the majestic result of 8 downloads 2020-12-21T22:18:41Z Xach: so the stat-gaming begins 2020-12-21T22:18:57Z karlosz_ joined #lisp 2020-12-21T22:19:10Z karlosz_ quit (Remote host closed the connection) 2020-12-21T22:19:34Z karlosz_ joined #lisp 2020-12-21T22:19:44Z karlosz_ quit (Remote host closed the connection) 2020-12-21T22:20:07Z karlosz_ joined #lisp 2020-12-21T22:21:13Z karlosz quit (Ping timeout: 264 seconds) 2020-12-21T22:21:15Z karlosz_ is now known as karlosz 2020-12-21T22:23:51Z kam1 joined #lisp 2020-12-21T22:24:43Z phoe: (loop (drakma:http-request (ql::archive-url (ql::find-release "phoe-toolbox")))) intensifies 2020-12-21T22:25:19Z aartaka joined #lisp 2020-12-21T22:25:34Z Jesin joined #lisp 2020-12-21T22:25:39Z phoe: Xach: updated the readme of quicklisp-stats to mention the new cutoff of 1000 projects. 2020-12-21T22:27:09Z amb007 joined #lisp 2020-12-21T22:28:26Z Jesin quit (Remote host closed the connection) 2020-12-21T22:29:16Z aartaka quit (Ping timeout: 240 seconds) 2020-12-21T22:31:21Z varjag: slyrus: yep, a kind of morphological thinning, among the better ones 2020-12-21T22:31:27Z varjag: i'll tidy up and make a pr 2020-12-21T22:31:34Z EvW quit (Ping timeout: 268 seconds) 2020-12-21T22:31:50Z Jesin joined #lisp 2020-12-21T22:36:15Z IAmRasputin joined #lisp 2020-12-21T22:37:32Z tempest_nox joined #lisp 2020-12-21T22:39:25Z ebrasca quit (Remote host closed the connection) 2020-12-21T22:40:34Z matta quit (Ping timeout: 256 seconds) 2020-12-21T22:47:48Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-12-21T22:48:27Z Aurora_v_kosmose joined #lisp 2020-12-21T22:50:52Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-12-21T22:51:25Z rumbler31 quit (Ping timeout: 240 seconds) 2020-12-21T22:51:31Z Aurora_v_kosmose joined #lisp 2020-12-21T22:52:13Z surabax quit (Quit: Leaving) 2020-12-21T22:59:36Z EvW joined #lisp 2020-12-21T23:00:34Z hal99999 quit (Quit: hal99999) 2020-12-21T23:01:01Z heisig quit (Quit: Leaving) 2020-12-21T23:02:53Z matta joined #lisp 2020-12-21T23:03:14Z nucranium joined #lisp 2020-12-21T23:04:42Z amb007 quit (Ping timeout: 256 seconds) 2020-12-21T23:06:02Z gioyik quit (Quit: WeeChat 3.0) 2020-12-21T23:07:03Z sjl quit (Ping timeout: 260 seconds) 2020-12-21T23:08:31Z karlosz quit (Remote host closed the connection) 2020-12-21T23:14:31Z karlosz joined #lisp 2020-12-21T23:17:32Z jmercouris: anyone know of a GitHub API wrapper in CL? 2020-12-21T23:18:10Z jmercouris: trying to figure out a way to automate backing-up discussions from GitHub, I see that it is not yet on their API, but I imagine it will come sooner or later 2020-12-21T23:18:34Z rumbler31 joined #lisp 2020-12-21T23:20:59Z ffwacom quit (Ping timeout: 244 seconds) 2020-12-21T23:21:12Z pve quit (Quit: leaving) 2020-12-21T23:21:38Z mgsk quit (Ping timeout: 264 seconds) 2020-12-21T23:21:43Z amb007 joined #lisp 2020-12-21T23:22:14Z l1x quit (Ping timeout: 264 seconds) 2020-12-21T23:22:14Z splittist quit (Ping timeout: 264 seconds) 2020-12-21T23:22:50Z mjl quit (Ping timeout: 264 seconds) 2020-12-21T23:22:50Z RagnarDanneskjol quit (Ping timeout: 264 seconds) 2020-12-21T23:23:07Z yonkunas quit (Ping timeout: 260 seconds) 2020-12-21T23:24:32Z villanella quit (Ping timeout: 260 seconds) 2020-12-21T23:27:21Z [d] quit (Read error: Connection reset by peer) 2020-12-21T23:27:52Z [d] joined #lisp 2020-12-21T23:32:08Z charles` joined #lisp 2020-12-21T23:34:05Z kaftejiman quit (Remote host closed the connection) 2020-12-21T23:37:43Z nucranium quit (Quit: WeeChat 2.8) 2020-12-21T23:44:21Z Steeve quit (Quit: end) 2020-12-21T23:47:01Z kam1 quit (Read error: Connection reset by peer) 2020-12-21T23:47:20Z kam1 joined #lisp 2020-12-21T23:47:27Z akoana quit (Quit: leaving) 2020-12-21T23:51:19Z rgherdt quit (Ping timeout: 272 seconds) 2020-12-21T23:53:20Z IAmRasputin quit (Ping timeout: 272 seconds) 2020-12-21T23:56:49Z imode quit (Quit: WeeChat 2.9) 2020-12-22T00:04:36Z IAmRasputin joined #lisp 2020-12-22T00:04:41Z cosimone quit (Ping timeout: 268 seconds) 2020-12-22T00:08:58Z IAmRasputin quit (Ping timeout: 258 seconds) 2020-12-22T00:15:23Z aeth_ joined #lisp 2020-12-22T00:17:37Z aeth quit (Ping timeout: 264 seconds) 2020-12-22T00:21:27Z aeth_ is now known as aeth 2020-12-22T00:25:45Z varjag quit (Quit: ERC (IRC client for Emacs 28.0.50)) 2020-12-22T00:25:59Z Oddity- joined #lisp 2020-12-22T00:29:37Z Oddity quit (Ping timeout: 260 seconds) 2020-12-22T00:33:14Z hiroaki quit (Ping timeout: 272 seconds) 2020-12-22T00:35:52Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-12-22T00:36:40Z Aurora_v_kosmose joined #lisp 2020-12-22T00:40:22Z IAmRasputin joined #lisp 2020-12-22T00:43:16Z galex-713 quit (Quit: No Ping reply in 180 seconds.) 2020-12-22T00:44:36Z IAmRasputin quit (Ping timeout: 240 seconds) 2020-12-22T00:44:37Z galex-713 joined #lisp 2020-12-22T00:48:50Z charles` quit (Ping timeout: 258 seconds) 2020-12-22T00:49:02Z karlosz quit (Quit: karlosz) 2020-12-22T00:49:18Z karlosz joined #lisp 2020-12-22T00:49:42Z Jeanne-Kamikaze joined #lisp 2020-12-22T00:55:46Z zacts quit (Quit: leaving) 2020-12-22T00:56:34Z nitrix is now known as nitrix-mas 2020-12-22T01:00:15Z zacts joined #lisp 2020-12-22T01:00:29Z lucasb quit (Quit: Connection closed for inactivity) 2020-12-22T01:06:36Z random-nick quit (Ping timeout: 256 seconds) 2020-12-22T01:10:52Z kam1 quit (Ping timeout: 246 seconds) 2020-12-22T01:11:00Z kam1 joined #lisp 2020-12-22T01:17:18Z charles` joined #lisp 2020-12-22T01:20:09Z iskander- joined #lisp 2020-12-22T01:20:56Z iskander quit (Ping timeout: 240 seconds) 2020-12-22T01:22:31Z wxie joined #lisp 2020-12-22T01:29:01Z amb007 quit (Ping timeout: 264 seconds) 2020-12-22T01:29:23Z amb007 joined #lisp 2020-12-22T01:35:14Z v3ga joined #lisp 2020-12-22T01:36:54Z wxie quit (Remote host closed the connection) 2020-12-22T01:37:18Z wxie joined #lisp 2020-12-22T01:45:34Z EvW quit (Ping timeout: 258 seconds) 2020-12-22T01:49:24Z charles` quit (Ping timeout: 258 seconds) 2020-12-22T01:52:51Z Lord_of_Life_ joined #lisp 2020-12-22T01:53:58Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-12-22T01:54:40Z Aurora_v_kosmose joined #lisp 2020-12-22T01:55:34Z Lord_of_Life quit (Ping timeout: 272 seconds) 2020-12-22T01:55:34Z Lord_of_Life_ is now known as Lord_of_Life 2020-12-22T01:55:41Z quazimodo quit (Ping timeout: 268 seconds) 2020-12-22T02:18:37Z sloanr joined #lisp 2020-12-22T02:20:15Z [d]_ joined #lisp 2020-12-22T02:22:25Z [d] quit (Ping timeout: 264 seconds) 2020-12-22T02:28:44Z IAmRasputin joined #lisp 2020-12-22T02:30:58Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-12-22T02:31:36Z Aurora_v_kosmose joined #lisp 2020-12-22T02:33:18Z IAmRasputin quit (Ping timeout: 268 seconds) 2020-12-22T02:33:29Z wxie quit (Ping timeout: 258 seconds) 2020-12-22T02:39:37Z Nilby quit (Read error: Connection reset by peer) 2020-12-22T02:44:11Z JohnTalent joined #lisp 2020-12-22T02:49:00Z kam1 quit (Read error: Connection reset by peer) 2020-12-22T02:53:50Z amerlyq quit (Quit: amerlyq) 2020-12-22T02:55:24Z dtb quit (Ping timeout: 256 seconds) 2020-12-22T02:58:34Z kam1 joined #lisp 2020-12-22T03:04:38Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-12-22T03:04:59Z sloanr quit (Remote host closed the connection) 2020-12-22T03:05:11Z Aurora_v_kosmose joined #lisp 2020-12-22T03:13:13Z ex_nihilo joined #lisp 2020-12-22T03:15:06Z Stanley00 joined #lisp 2020-12-22T03:16:00Z [d]_ quit (Read error: Connection reset by peer) 2020-12-22T03:16:33Z [d] joined #lisp 2020-12-22T03:17:29Z Stanley00 quit (Remote host closed the connection) 2020-12-22T03:21:51Z charles` joined #lisp 2020-12-22T03:22:41Z IAmRasputin joined #lisp 2020-12-22T03:22:51Z skapata quit (Remote host closed the connection) 2020-12-22T03:27:24Z IAmRasputin quit (Ping timeout: 272 seconds) 2020-12-22T03:27:38Z amb007 quit (Read error: Connection reset by peer) 2020-12-22T03:27:49Z wxie joined #lisp 2020-12-22T03:27:56Z amb007 joined #lisp 2020-12-22T03:29:51Z quazimodo joined #lisp 2020-12-22T03:31:19Z pfdietz quit (Ping timeout: 245 seconds) 2020-12-22T03:32:13Z Stanley00 joined #lisp 2020-12-22T03:33:56Z rumbler31 quit (Ping timeout: 256 seconds) 2020-12-22T03:45:01Z zacts quit (Quit: leaving) 2020-12-22T04:00:27Z ssd532_ joined #lisp 2020-12-22T04:01:02Z ssd532_ quit (Client Quit) 2020-12-22T04:02:16Z Alfr_ joined #lisp 2020-12-22T04:02:39Z beach: Good morning everyone! 2020-12-22T04:05:11Z Alfr quit (Ping timeout: 268 seconds) 2020-12-22T04:05:23Z Nilby joined #lisp 2020-12-22T04:07:25Z Nilby quit (Read error: Connection reset by peer) 2020-12-22T04:16:45Z IAmRasputin joined #lisp 2020-12-22T04:18:35Z [d] quit (Read error: Connection reset by peer) 2020-12-22T04:19:06Z [d] joined #lisp 2020-12-22T04:21:28Z wxie quit (Ping timeout: 256 seconds) 2020-12-22T04:21:52Z IAmRasputin quit (Ping timeout: 272 seconds) 2020-12-22T04:27:00Z imode joined #lisp 2020-12-22T04:30:46Z torbo joined #lisp 2020-12-22T04:39:23Z wxie joined #lisp 2020-12-22T04:41:15Z Bike quit (Quit: Lost terminal) 2020-12-22T04:46:25Z wxie quit (Ping timeout: 264 seconds) 2020-12-22T04:46:50Z wxie joined #lisp 2020-12-22T04:56:06Z bilegeek joined #lisp 2020-12-22T04:57:15Z narimiran joined #lisp 2020-12-22T04:59:07Z charles` quit (Ping timeout: 260 seconds) 2020-12-22T05:04:34Z Oladon joined #lisp 2020-12-22T05:07:21Z tool_man quit (Quit: leaving) 2020-12-22T05:07:52Z saganman quit (Ping timeout: 260 seconds) 2020-12-22T05:10:23Z [d]_ joined #lisp 2020-12-22T05:10:44Z [d]_ quit (Read error: Connection reset by peer) 2020-12-22T05:11:01Z [d] quit (Ping timeout: 264 seconds) 2020-12-22T05:11:01Z [d]__ joined #lisp 2020-12-22T05:13:25Z wxie quit (Ping timeout: 264 seconds) 2020-12-22T05:25:23Z frost-lab joined #lisp 2020-12-22T05:32:08Z Jeanne-Kamikaze quit (Quit: Leaving) 2020-12-22T05:34:59Z manjaroi3 joined #lisp 2020-12-22T05:35:24Z aartaka joined #lisp 2020-12-22T05:37:45Z manjaroi3 quit (Quit: leaving) 2020-12-22T05:41:06Z solideogloria[m]: o/ 2020-12-22T05:41:45Z beach: Hello solideogloria[m]. 2020-12-22T05:45:14Z wxie joined #lisp 2020-12-22T05:49:19Z saganman joined #lisp 2020-12-22T05:49:28Z wxie quit (Ping timeout: 246 seconds) 2020-12-22T06:04:46Z IAmRasputin joined #lisp 2020-12-22T06:09:12Z IAmRasputin quit (Ping timeout: 256 seconds) 2020-12-22T06:15:40Z imode quit (Quit: slep w/thesi.) 2020-12-22T06:19:34Z aindilis quit (Ping timeout: 265 seconds) 2020-12-22T06:20:44Z torbo quit (Remote host closed the connection) 2020-12-22T06:21:41Z CookE[] joined #lisp 2020-12-22T06:22:48Z Oladon quit (Quit: Leaving.) 2020-12-22T06:31:25Z andreyorst` joined #lisp 2020-12-22T06:39:23Z slyrus quit (Quit: Leaving) 2020-12-22T06:42:38Z nitrix-mas is now known as nitrix 2020-12-22T06:45:24Z retropikzel quit (Quit: Leaving) 2020-12-22T06:47:27Z shka_ joined #lisp 2020-12-22T06:50:53Z toorevitimirp joined #lisp 2020-12-22T06:52:02Z zacts joined #lisp 2020-12-22T06:53:55Z waleee-cl quit (Quit: Connection closed for inactivity) 2020-12-22T06:57:13Z saganman quit (Ping timeout: 264 seconds) 2020-12-22T06:58:00Z flip214: https://cliki.net/optima says "deprecated by trivia" and "optima is the recommended pattern-matching library"... 2020-12-22T06:58:30Z flip214: as it's still used, does someone know a maintainer? https://github.com/m2ym/optima/network shows a few available changes and a few PRs. 2020-12-22T06:59:36Z retropikzel joined #lisp 2020-12-22T07:15:46Z zacts quit (Quit: leaving) 2020-12-22T07:16:17Z zacts joined #lisp 2020-12-22T07:18:58Z mrios22 joined #lisp 2020-12-22T07:19:45Z bitmapper quit (Quit: Connection closed for inactivity) 2020-12-22T07:23:05Z atomik_dog joined #lisp 2020-12-22T07:24:38Z galex-713 quit (Remote host closed the connection) 2020-12-22T07:24:39Z zacts: ok, about to dive into practical common lisp some more 2020-12-22T07:25:13Z lotuseater: do you have questions? 2020-12-22T07:25:55Z zacts: not direct questions quite yet 2020-12-22T07:26:10Z zacts: I am wondering how much into OOP and Clos it gets into though 2020-12-22T07:26:22Z galex-713 joined #lisp 2020-12-22T07:26:22Z Guest57331 quit (Ping timeout: 260 seconds) 2020-12-22T07:27:06Z no-defun-allowed: Quite a bit. If I recall, there are two chapters on, was it "object re-orientation"? The table of contents will tell you. 2020-12-22T07:27:14Z zacts: ok 2020-12-22T07:27:37Z zacts: more like, I'm wondering how much into the design of object oriented systems it gets into 2020-12-22T07:28:00Z no-defun-allowed: Yes, chapters 16 and 17, then there are quite a few examples using objects. 2020-12-22T07:28:08Z zacts: cool 2020-12-22T07:28:19Z liberliver joined #lisp 2020-12-22T07:29:51Z liberliver1 joined #lisp 2020-12-22T07:30:47Z tempest_nox quit (Read error: Connection reset by peer) 2020-12-22T07:32:22Z liberliver quit (Ping timeout: 246 seconds) 2020-12-22T07:32:22Z liberliver1 is now known as liberliver 2020-12-22T07:34:01Z zacts: hum... one question I guess. 2020-12-22T07:34:22Z lotuseater: go on :) 2020-12-22T07:34:23Z zacts: I'm using vim with a vim-slime plugin to copy and paste lisp s-expr into an sbcl repl 2020-12-22T07:34:31Z zacts: I wonder how far I can get with this for the book 2020-12-22T07:34:41Z zacts: or will I need more features from emacs slime later on? 2020-12-22T07:35:13Z lotuseater: no not a must, but needful. but have no experience with vim-slime 2020-12-22T07:35:30Z orivej quit (Ping timeout: 256 seconds) 2020-12-22T07:35:48Z zacts: hum.. I'm sure this is asked too many times, but if I do get serious into lisp will I need emacs slime? 2020-12-22T07:36:18Z lotuseater: doing stuff in the REPL is fine but fast you are at the point for having s-exprs in files that you are changing constantly for experimenting 2020-12-22T07:37:08Z lotuseater: you can also have emacs with vim bindigs 2020-12-22T07:37:19Z zacts: I mean what functionality does emacs slime provide other than copying from a buffer into an sbcl repl? does it provide debugging or other features? 2020-12-22T07:37:22Z no-defun-allowed: SLIMV should suffice, from what I hear. 2020-12-22T07:37:48Z zacts: ok, I'll check out slimv 2020-12-22T07:38:02Z zacts: also, I don't mind trying out emacs evil mode if it works with slime 2020-12-22T07:38:04Z no-defun-allowed: SLIME also provides a fancy debugger and inspector, and can retrieve information about symbols (eg for use by autocomplete) by asking the image, as opposed to doing static analysis. 2020-12-22T07:38:21Z no-defun-allowed: I don't use Vim, but it sounds like SLIMV should work just as well. 2020-12-22T07:38:31Z zacts: ah I'll look into it, ok 2020-12-22T07:41:25Z lotuseater: and for not having too much but more about CLOS, ANSI CL has a chapter about it and one about structs. or common lisp recipes 2020-12-22T07:41:59Z zacts: oh cool 2020-12-22T07:42:03Z lotuseater: so i mean too much infos at once 2020-12-22T07:42:25Z zacts: ah I see 2020-12-22T07:42:41Z lotuseater: but the book from Keene "Object Oriented Programming in Common Lisp" is more a tutorial than dry manual :) 2020-12-22T07:42:59Z flip214: zacts: if you have any issues using slimv a few people here can (and will) provide support 2020-12-22T07:43:03Z CookE[] quit (Ping timeout: 240 seconds) 2020-12-22T07:43:08Z zacts: flip214: oh thanks 2020-12-22T07:47:18Z lotuseater: i think two essences of CLOS and MOP philosophy in which it differences are: nothing is hidden from each other, methods and classes are independent from each other (but with no classes there are no real distinct methods of course). how would you people say? 2020-12-22T07:47:35Z jprajzne joined #lisp 2020-12-22T07:47:58Z zacts: how does CL OOP differ from say smalltalk? 2020-12-22T07:48:38Z no-defun-allowed: In Common Lisp, it would be fair to say that (generic) functions do things, as opposed to in Smalltalk where objects do things by being sent methods. 2020-12-22T07:48:38Z amb007 quit (Read error: Connection reset by peer) 2020-12-22T07:48:44Z lotuseater: from smalltalk i can't tell you, but this other stuff is afaik not so in "traditional" systems 2020-12-22T07:49:15Z amb007 joined #lisp 2020-12-22T07:49:25Z no-defun-allowed: CLOS also supports method combination and multiple inheritance, and CLOS programmers usually use packages instead of classes as encapsulation. 2020-12-22T07:49:28Z lotuseater: wasn't it in smalltalk real truth with "everything is an object"? :) 2020-12-22T07:49:54Z abraham joined #lisp 2020-12-22T07:49:54Z zacts: no-defun-allowed: what advantages/disadvantages does this provide over smalltalk's paradigm? 2020-12-22T07:50:17Z no-defun-allowed: Both are totally alien (haha) to most programmers. I remember someone found out that in D, private modifiers allow access by the package and not the class, and that someone thought it was terrible. 2020-12-22T07:50:22Z lotuseater: zacts: and the metaobject protocol handles how methods/classes/instances are redefined, even at runtime 2020-12-22T07:50:41Z zacts: I began reading the beginning of a book on smalltalk a while ago, but didn't finish it. 2020-12-22T07:51:20Z lotuseater: yeah i think that will give you also better ideas for OOP than java/c++ books 2020-12-22T07:51:35Z no-defun-allowed: zacts: For the most part, you can do "more" things with CLOS - you don't need any visitor pattern to do multiple dispatch, and multiple inheritance lets you use "mixins" to modify behaviour. But, as there are no messages, you can't exactly do #doesNotUnderstood: and fiddle with messages. 2020-12-22T07:52:15Z no-defun-allowed: I don't think I've missed the latter, but it makes a fair few things work in class-oriented systems. 2020-12-22T07:52:30Z JohnTalent quit (Ping timeout: 256 seconds) 2020-12-22T07:52:57Z IAmRasputin joined #lisp 2020-12-22T07:53:37Z zacts: this was the book: https://www.goodreads.com/book/show/2015891.SmallTalk_Objects_and_Design 2020-12-22T07:54:43Z zacts: but I kind of want to just work on some real little project ideas for now. 2020-12-22T07:54:53Z lotuseater: okay good, so you can adapt ideas for designing to other stuff 2020-12-22T07:55:09Z zacts: the book was kind of theoretical from what I remember, and I wanted to get the basics of actually making something 2020-12-22T07:55:59Z zacts: then maybe later on read some of those kinds of books, but yeah. 2020-12-22T07:56:29Z zacts: I was actually led here from #ruby, and they recommended I check out practical common lisp, but now lisp looks really neat to me. 2020-12-22T07:56:31Z lotuseater: yes, practice improves theory and the other way around 2020-12-22T07:57:13Z IAmRasputin quit (Ping timeout: 246 seconds) 2020-12-22T07:57:22Z lotuseater: zacts: are you also aware up to now that CL is object oriented everywhere under the hood? 2020-12-22T07:57:38Z zacts: nope 2020-12-22T07:57:58Z lotuseater: ok so now. or you'll get an idea of that 2020-12-22T07:58:20Z lotuseater: much things do more in the background than one expects first 2020-12-22T07:58:50Z Alfr_ quit (Remote host closed the connection) 2020-12-22T07:59:14Z Alfr_ joined #lisp 2020-12-22T07:59:44Z lotuseater: but in my first half year of learning i didn't touch CLOS directly at all as i also had no other OOP experience (or confusion?) 2020-12-22T08:01:56Z zacts: I'm still a beginner 2020-12-22T08:02:23Z lotuseater: yeah so don't worry :) 2020-12-22T08:02:30Z zacts: cool 2020-12-22T08:02:58Z lotuseater: and with picking SBCL you made also a good choice 2020-12-22T08:03:21Z zacts: I chose SBCL for now, but ABCL looks neat for later on 2020-12-22T08:03:54Z lotuseater: if you want to look the doc for a specific standard symbol there is http://www.lispworks.com/documentation/HyperSpec/Front/index.htm 2020-12-22T08:04:10Z lotuseater: ah yes, for working on the JVM :) 2020-12-22T08:05:53Z zacts: yeah 2020-12-22T08:07:27Z zacts: how well does common lisp play with unix? like, let's say I want to script my unix system with lisp. 2020-12-22T08:07:27Z lotuseater: i realized yesterday that the lisp on erlang BEAM seems to be intended as a CL, but it states some things don't fit well, so you have no full CL implementation (as an analogy for what ABCL is) 2020-12-22T08:07:43Z CookE[] joined #lisp 2020-12-22T08:07:59Z lotuseater: oh it does well 2020-12-22T08:08:12Z scymtym_ joined #lisp 2020-12-22T08:08:17Z phoe: zacts: it's possible - either you run a brand new Lisp image for each command, or you could run a Lisp as a daemon and send commands to it, e.g. via swank 2020-12-22T08:08:21Z zacts: because I have some project ideas that I might want to glue unixy things together with lisp 2020-12-22T08:08:45Z lotuseater: for scripts there is for example UIOP 2020-12-22T08:09:30Z scymtym quit (Ping timeout: 256 seconds) 2020-12-22T08:09:44Z lotuseater: or look for cl-launch (available as a Linux package) 2020-12-22T08:09:54Z zacts: like, I don't mean so much like bash scripts, but more like does lisp have a `system` command? 2020-12-22T08:10:16Z zacts: to where it can communicate with a unix command? (I think C has something like this too) 2020-12-22T08:10:26Z phoe: yes 2020-12-22T08:10:32Z phoe: uiop:run-program and uiop:launch-program 2020-12-22T08:10:40Z phoe: for synchronous and asynchronous execution 2020-12-22T08:10:46Z zacts: ok, that's all that I think I'd need for some ideas of mine. 2020-12-22T08:10:56Z zacts: I'll check out UIOP 2020-12-22T08:11:33Z zacts: I want to glue several linux synth and midi apps together kind of, for one project idea of mine. 2020-12-22T08:12:35Z zacts: it actually kind of reminds me of the MP3 app in ch3 of practical common lisp. 2020-12-22T08:14:24Z zacts: format already seems to be pretty powerful, perhaps even more powerful than printf or print in many languages. 2020-12-22T08:14:38Z phoe: almost turing complete™ 2020-12-22T08:14:47Z phoe: well, turing complete, if you include ~/ in the mix. 2020-12-22T08:15:54Z oxum_ joined #lisp 2020-12-22T08:17:27Z galex-713 quit (Ping timeout: 260 seconds) 2020-12-22T08:17:33Z oxum quit (Read error: Connection reset by peer) 2020-12-22T08:17:35Z lotuseater: zacts: oh yes when you have warmed up to 2020-12-22T08:18:06Z mankaev quit (Ping timeout: 272 seconds) 2020-12-22T08:18:16Z mankaev joined #lisp 2020-12-22T08:18:29Z lotuseater: zacts: http://www.lispworks.com/documentation/HyperSpec/Body/22_c.htm 2020-12-22T08:18:30Z ldbeth joined #lisp 2020-12-22T08:18:39Z lotuseater: you can even have GOTO and such things 2020-12-22T08:18:46Z ldbeth: good afternoon 2020-12-22T08:18:58Z lotuseater: hello ldbeth 2020-12-22T08:19:01Z ldbeth: Goto? what Goto 2020-12-22T08:19:05Z jprajzne_ joined #lisp 2020-12-22T08:19:16Z lotuseater: ldbeth: it was about the power of FORMAT 2020-12-22T08:19:36Z galex-713 joined #lisp 2020-12-22T08:21:21Z ldbeth: ah, i see 2020-12-22T08:22:05Z zacts: looks like lisp would work for many of my daily programming tasks 2020-12-22T08:22:09Z lotuseater: in comparing it with normal printf 2020-12-22T08:22:41Z moon-child: tbf, printf *is* turing complete 2020-12-22T08:22:49Z a0 joined #lisp 2020-12-22T08:23:17Z lotuseater: moon-child: that's cool too. but i didn't do much with it (or C in general) to know about 2020-12-22T08:24:57Z moon-child: in fairness, the turing-complete bits are a hack based on an insecure and unsafe feature that should really be gotten rid of. For practical use, format is more powerful 2020-12-22T08:25:23Z CookE[] quit (Ping timeout: 240 seconds) 2020-12-22T08:25:39Z zacts: much of my project ideas involves text or connecting stuff together, kind of pandocish maybe. 2020-12-22T08:26:26Z zacts: and maybe some markdown and html generation 2020-12-22T08:26:48Z ldbeth: zacts: generate documents on-the-fly? 2020-12-22T08:27:00Z zacts: ldbeth: yes 2020-12-22T08:27:17Z zacts: kind of like org-mode too maybe. 2020-12-22T08:29:07Z zacts: I also want to glue apps together and script that gluing so to speak. like with my linux synth and midi idea. 2020-12-22T08:29:55Z zacts: so some of it might involve communicating with unix/linux command line apps just a bit, and lisp would wrap around that into a full app. but not like bash scripting so much, I need/want something more powerful than that. 2020-12-22T08:31:26Z ldbeth: sounds like it should be a PID 1 2020-12-22T08:31:38Z ldbeth: ;-) 2020-12-22T08:31:43Z zacts: but I might be thinking too far ahead of myself for now. I want to learn lisp and read practical common lisp first 2020-12-22T08:31:46Z zacts: :-) 2020-12-22T08:34:03Z amb007 quit (Ping timeout: 260 seconds) 2020-12-22T08:34:25Z rgherdt joined #lisp 2020-12-22T08:35:14Z amb007 joined #lisp 2020-12-22T08:39:53Z flip214: ldbeth: "unshare --pid" 2020-12-22T08:40:10Z flip214: you can have as many PIDs 1 as you like (within reason and memory) 2020-12-22T08:43:19Z igemnace quit (Remote host closed the connection) 2020-12-22T08:43:25Z ldbeth quit (Ping timeout: 246 seconds) 2020-12-22T08:44:18Z nostoi joined #lisp 2020-12-22T08:44:35Z ldbeth joined #lisp 2020-12-22T08:45:23Z igemnace joined #lisp 2020-12-22T08:46:07Z beach: lotuseater: What does it mean that Common Lisp is object-oriented everywhere under the hood? 2020-12-22T08:46:56Z beach: I mean, if you take Alan Kay's definition of "object oriented", then it is certainly not so. 2020-12-22T08:48:41Z jprajzne_ quit (Quit: jprajzne_) 2020-12-22T08:50:02Z ldbeth: it seems could be, but not required to 2020-12-22T08:50:30Z beach: I just don't know what it is supposed to mean. 2020-12-22T08:53:26Z ldbeth: oh, I guess lotuseater means it is worth to learn CLOS as a beginner so many things are not gonna to be missed 2020-12-22T08:56:19Z mrios22: Is there a backup of quickdocs somewhere? 2020-12-22T08:56:50Z phoe: there's quickref 2020-12-22T08:58:39Z zacts quit (Quit: leaving) 2020-12-22T08:59:02Z lotuseater: sorry i was cocking. now back 2020-12-22T08:59:10Z mrios22: I'm interested in learning more about the clack library. 2020-12-22T08:59:32Z lotuseater: beach: ok then that CLOS is everywhere? 2020-12-22T08:59:56Z beach: That's definitely true, since every object is an instance of some class. 2020-12-22T09:00:27Z jprajzne_ joined #lisp 2020-12-22T09:00:53Z beach: But CLOS is not "object oriented" with any traditional meaning of "object oriented". 2020-12-22T09:00:53Z amb007 quit (Ping timeout: 260 seconds) 2020-12-22T09:00:55Z karlosz_ joined #lisp 2020-12-22T09:01:13Z karlosz quit (Read error: Connection reset by peer) 2020-12-22T09:01:29Z karlosz_ is now known as karlosz 2020-12-22T09:01:36Z lotuseater: just in the CLOS sense 2020-12-22T09:01:41Z amb007 joined #lisp 2020-12-22T09:02:33Z jackdaniel: lotuseater: this may be of interest: https://www.xach.com/naggum/articles/3243735416407529@naggum.no.html 2020-12-22T09:03:56Z lotuseater: oh thx. Erik is quite famous isn't he? 2020-12-22T09:04:20Z jackdaniel: people have mixed feelings about him; for sure he was a very experienced common lisp programmer 2020-12-22T09:04:50Z lotuseater: "You cannot /not/ use CLOS if you program in Common Lisp." i meant that 2020-12-22T09:04:50Z jackdaniel: also, he /was/ quite famous, he died 2020-12-22T09:04:52Z phoe: I both deeply respect his technical prowess and deeply abhor his way of treating some people 2020-12-22T09:05:08Z lotuseater: yes i knew that (or read about it) 2020-12-22T09:05:15Z phoe: mrios22: https://quickref.common-lisp.net/clack.html 2020-12-22T09:05:30Z phoe: also there's whatever documentation there is on GitHub and the source code, I guess 2020-12-22T09:05:58Z phoe: there's usually not much documentation in Fukamachi's code 2020-12-22T09:06:17Z abraham quit (Quit: abraham) 2020-12-22T09:08:06Z hendursa1 joined #lisp 2020-12-22T09:09:37Z mrios22: phoe: thank you 2020-12-22T09:09:43Z hendursaga quit (Ping timeout: 240 seconds) 2020-12-22T09:10:11Z drewc quit (Ping timeout: 265 seconds) 2020-12-22T09:10:18Z drewc joined #lisp 2020-12-22T09:10:23Z bilegeek quit (Quit: Leaving) 2020-12-22T09:12:34Z jonatack quit (Quit: jonatack) 2020-12-22T09:16:17Z jonatack joined #lisp 2020-12-22T09:16:23Z a0 quit (Ping timeout: 240 seconds) 2020-12-22T09:21:18Z jonatack quit (Ping timeout: 256 seconds) 2020-12-22T09:21:46Z jonatack joined #lisp 2020-12-22T09:24:49Z andreyorst joined #lisp 2020-12-22T09:25:18Z aartaka_d joined #lisp 2020-12-22T09:25:25Z aartaka quit (Ping timeout: 264 seconds) 2020-12-22T09:25:29Z mrios22 quit (Ping timeout: 245 seconds) 2020-12-22T09:29:05Z Necktwi quit (Ping timeout: 240 seconds) 2020-12-22T09:29:36Z aartaka_d quit (Ping timeout: 240 seconds) 2020-12-22T09:37:41Z ccl-logbot joined #lisp 2020-12-22T09:37:41Z 2020-12-22T09:37:41Z names: ccl-logbot pve heisig gpiero phoe62 iskander oxum jonatack drewc hendursa1 amb007 karlosz jprajzne_ igemnace rgherdt galex-713 mankaev scymtym_ Alfr_ jprajzne liberliver atomik_dog retropikzel toorevitimirp shka_ andreyorst` frost-lab [d]__ narimiran Stanley00 quazimodo ex_nihilo Aurora_v_kosmose kam1 Lord_of_Life v3ga Oddity- aeth matta Jesin dmiles[m] matijja astronavt gjnoonan chewbranca lukego cg505 zmagii jeosol jw4 froggey hnOsmium0001 stux|RC 2020-12-22T09:37:41Z names: phantomics renzhi mfiano snits cgay samebchase actuallybatman eschatologist stzsch sm2n_ hineios X-Scale dim vegansbane6 lowryder CrazyEdd griffinbyatt mrchampion nowhere_man notzmv luckless cantstanya srandon111 cognemo jurov ravndal daniel1302 _whitelogger phoe fanta1 __jrjsmrtn__ voidlily jackhill sbryant winny knobo cpt_nemo sgithens rvirding selwyn johs femi copec ane mood Ziemas null_ptr lieven jgkamat rumpelszn [df] eagleflo azrazalea dale mikecheck 2020-12-22T09:37:41Z names: jfb4 kingcons mseddon simplegauss HDurer swflint Nikotiini Patternmaster natj212 zigpaw10 rme guaqua gum pok MetaYan add^_ grfn Grauwolf antoszka sebboh beaky creat justinmcp cpape dwts docl madnificent vert2 brass _death aap gensym interruptinuse payphone ferada ult eMBee Ankhers mrSpec gendl trn himmAllRight nightfly spacebat2 bytesighs conjunctive HiRE_ emacsomancer entel Yardanico Papa seisatsu ramus Tordek Kabriel parisienne p_l jsatk z0d zymurgy 2020-12-22T09:37:41Z names: SumoSud0 bgardner ioa jmercouris d4ryus Balooga sukaeto brandonz bkst Mandus sveit mr_yogurt |3b| summerisle mtd Patzy jackdaniel ft Fade rotty ozzloy Xach zagura nckx gko samebchase- borodust mgsk_ micro AdmiralBumbleBee ski remexre yottabyte mister_m bmansurov_ cmatei save-lisp-or-die shoshin White_Flame pent stylewarning ilmu drot pyc luis abbe_ jlpeters russell-- gingerale larme thonkpod penguwin srji @fe[nl]ix devrtz Blkt heredoc ggoes patrixl 2020-12-22T09:37:41Z names: arichiardi[m] cairn malaclyps_ exit70[m] no-defun-allowed Gnuxie[m] even4void[m] Jach[m] ThaEwat MrtnDk[m] jonjitsu[m] fc2020apt[m] hdasch hiredman kbtr esotericalgo kini hhdave_ mgr_ spal DanielCheng[m] billstclair travv0 shenghi1 kinope emys[m] psebcc[m] raamdev[m] Inoperable ckoz[m] idxu lonjil jbgg clar[m] SAL9000 easye jdz fengshaun xantoz cods gaze__ buoy49 moon-child luna_is_here Posterdati malm diamondbond kagevf chrpape fitzsim mason tessier 2020-12-22T09:37:41Z names: drmeister XachX mgxm quanta[m] acolarh DGASAU deltab Grue` thijso GreaseMonkey tmf rixard herlocksholmes fiddlerwoaroof ecraven vaporatorius catern eta jxy elflng phadthai jrm ms[m] austincummings[m leo_song joast Demosthenex Khisanth saturn2 MrFantastik loke[m] mbrumlow datajerk jonathan| dvdmuckle tomaw SeasonsBeatings epony Cthulhux midre housel cross glamas katco etimmons theBlackDragon amk norserob wigust solideogloria[m] santiagopim[m] gabot 2020-12-22T09:37:41Z names: curiouscain infra_red[m] dieggsy beach oni-on-ion CEnnis91 physpi otwieracz krjst mpontillo avicenna dnm shinohai jasom shrysr bonz060 xristos kim\ felideon gabiruh terpri rwcom60280385034 susam madage flip214 Ekho gigetoo Colleen lansiir natter terrorjack TMA hugh_marera dmc00 dddddd vhost- madand vsync uplime zstest3[m] grobe0ba lottaquestions markasoftware kapil_ kaisyu[m] perrier-jouet wooden dxtr FennecCode jealousmonk dilated_dinosaur mathrick specbot 2020-12-22T09:37:41Z names: mrcom Iolo xi vidak` matryoshka frgo_ xlei Madvax jibanes niceplaces akrl arbv nullman amirouche _Ark_ flazh gxt jerme_ banjiewen_ kilimanjaro alanz stux|RC-only Lord_Nightmare troydm nitrix minion edgar-rft loli thecoffemaker hvxgr loke Krystof lad Firedancer_ ineiros APic bacterio tychoish cyberlard Robdgreat lavaflow alandipert ck_ 2020-12-22T09:40:00Z ldbeth joined #lisp 2020-12-22T09:40:28Z aartaka joined #lisp 2020-12-22T09:40:47Z ebrasca joined #lisp 2020-12-22T09:41:04Z Necktwi joined #lisp 2020-12-22T09:41:07Z IAmRasputin joined #lisp 2020-12-22T09:44:30Z ldbeth quit (Ping timeout: 265 seconds) 2020-12-22T09:45:57Z IAmRasputin quit (Ping timeout: 265 seconds) 2020-12-22T09:46:08Z ldbeth joined #lisp 2020-12-22T09:46:49Z jprajzne_ quit (Quit: jprajzne_) 2020-12-22T09:48:32Z toorevitimirp quit (Read error: Connection reset by peer) 2020-12-22T09:48:49Z toorevitimirp joined #lisp 2020-12-22T09:53:56Z ldbeth quit (Ping timeout: 240 seconds) 2020-12-22T09:54:23Z hnOsmium0001 quit (Quit: Connection closed for inactivity) 2020-12-22T10:00:02Z ldbeth joined #lisp 2020-12-22T10:04:27Z ldbeth quit (Ping timeout: 260 seconds) 2020-12-22T10:04:38Z JohnTalent joined #lisp 2020-12-22T10:10:05Z ldbeth joined #lisp 2020-12-22T10:10:15Z kam1 quit (Ping timeout: 268 seconds) 2020-12-22T10:15:09Z ldbeth quit (Ping timeout: 272 seconds) 2020-12-22T10:18:03Z kam1 joined #lisp 2020-12-22T10:20:06Z ldbeth joined #lisp 2020-12-22T10:22:51Z ldbeth quit (Remote host closed the connection) 2020-12-22T10:23:27Z ldbeth joined #lisp 2020-12-22T10:24:59Z l1x joined #lisp 2020-12-22T10:25:07Z mjl joined #lisp 2020-12-22T10:25:16Z splittist joined #lisp 2020-12-22T10:26:09Z ffwacom joined #lisp 2020-12-22T10:27:36Z amb007 quit (Read error: Connection reset by peer) 2020-12-22T10:27:56Z amb007 joined #lisp 2020-12-22T10:28:32Z RagnarDanneskjol joined #lisp 2020-12-22T10:28:52Z lotuseater joined #lisp 2020-12-22T10:30:16Z mgsk joined #lisp 2020-12-22T10:31:33Z v3ga: hmm, is sbcl.org down? 2020-12-22T10:32:30Z phoe: yes 2020-12-22T10:32:42Z phoe: but! https://sbcl.sourceforge.io/ 2020-12-22T10:34:37Z v3ga: phoe: thats what I want. =) thanks 2020-12-22T10:34:57Z nowhere_man quit (Remote host closed the connection) 2020-12-22T10:35:25Z IAmRasputin joined #lisp 2020-12-22T10:35:49Z yonkunas joined #lisp 2020-12-22T10:36:16Z nowhere_man joined #lisp 2020-12-22T10:39:37Z IAmRasputin quit (Ping timeout: 246 seconds) 2020-12-22T10:40:35Z aartaka_d joined #lisp 2020-12-22T10:40:57Z nowhere_man quit (Ping timeout: 260 seconds) 2020-12-22T10:41:54Z iskander- joined #lisp 2020-12-22T10:42:05Z iskander quit (Ping timeout: 240 seconds) 2020-12-22T10:43:33Z aartaka quit (Ping timeout: 260 seconds) 2020-12-22T10:48:32Z karlosz quit (Ping timeout: 260 seconds) 2020-12-22T10:49:19Z lotuseater: good to know 2020-12-22T10:50:40Z ldbeth` joined #lisp 2020-12-22T10:51:01Z lotuseater: the SBCL developers seem quite diligent, there is already version 2.0.11 :) 2020-12-22T10:51:41Z jackdaniel: sbcl is known for incremental releases (and that's a good thing of course) 2020-12-22T10:52:16Z ldbeth quit (Ping timeout: 240 seconds) 2020-12-22T10:52:20Z jackdaniel: other implementations usually wait until some changes get accumulated, then go through a long "release" process 2020-12-22T10:54:08Z lotuseater: ok so something like with glasgow haskell compiler as i look at the last version releases: 8.4.4 => 8.6.5 => 8.8.1 2020-12-22T10:55:44Z hiroaki joined #lisp 2020-12-22T10:56:54Z ldbeth`` joined #lisp 2020-12-22T10:57:14Z ldbeth`` quit (Client Quit) 2020-12-22T10:59:11Z ldbeth` quit (Ping timeout: 240 seconds) 2020-12-22T11:00:25Z frost-lab quit (Quit: Connection closed) 2020-12-22T11:02:13Z gpiero_ joined #lisp 2020-12-22T11:03:03Z gpiero quit (Ping timeout: 240 seconds) 2020-12-22T11:04:26Z phoe624 joined #lisp 2020-12-22T11:06:16Z phoe62 quit (Ping timeout: 240 seconds) 2020-12-22T11:09:07Z cosimone joined #lisp 2020-12-22T11:11:53Z gpiero_ quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) 2020-12-22T11:12:16Z gpiero joined #lisp 2020-12-22T11:14:37Z amb007 quit (Read error: Connection reset by peer) 2020-12-22T11:15:48Z amb007 joined #lisp 2020-12-22T11:23:51Z skapata joined #lisp 2020-12-22T11:26:07Z varjag joined #lisp 2020-12-22T11:28:06Z amb007 quit (Ping timeout: 272 seconds) 2020-12-22T11:28:57Z amb007 joined #lisp 2020-12-22T11:29:33Z IAmRasputin joined #lisp 2020-12-22T11:34:25Z IAmRasputin quit (Ping timeout: 264 seconds) 2020-12-22T11:36:25Z Stanley00 quit 2020-12-22T11:40:41Z surabax joined #lisp 2020-12-22T11:41:35Z bendersteed joined #lisp 2020-12-22T11:45:52Z vegansbane6 quit (Quit: The Lounge - https://thelounge.chat) 2020-12-22T11:47:16Z a0 joined #lisp 2020-12-22T11:48:36Z xantoz quit (Ping timeout: 240 seconds) 2020-12-22T11:57:28Z orivej joined #lisp 2020-12-22T12:03:21Z andreyorst` quit (Quit: andreyorst`) 2020-12-22T12:04:03Z andreyorst` joined #lisp 2020-12-22T12:04:06Z random-nick joined #lisp 2020-12-22T12:11:24Z scymtym joined #lisp 2020-12-22T12:12:14Z vegansbane6 joined #lisp 2020-12-22T12:14:02Z amb007 quit (Read error: Connection reset by peer) 2020-12-22T12:14:23Z amb007 joined #lisp 2020-12-22T12:20:19Z treflip joined #lisp 2020-12-22T12:25:55Z scymtym_ quit (Remote host closed the connection) 2020-12-22T12:29:36Z mrcom quit (Quit: This computer has gone to sleep) 2020-12-22T12:34:39Z mfiano: Does anyone know and good/free software for creating 2D/3D geometrical diagrams, like those you would find in a math paper? This is for creating offline documentation of a CL library in progress. 2020-12-22T12:34:45Z mfiano: s/and/any/ 2020-12-22T12:35:21Z Nilby joined #lisp 2020-12-22T12:43:19Z treflip: mifiano: gnuplot is both good and free :D 2020-12-22T12:43:40Z treflip: And you can use it from CL https://github.com/guicho271828/eazy-gnuplot/ 2020-12-22T12:44:25Z mfiano: I have never seen any 3D space diagrams in gnuplot, but maybe it can? 2020-12-22T12:47:46Z mfiano: I suppose it can plot 3d contours and such, but I feel I will not be able to draw arbiotrary polyhedron and cast rays to/from arbitrary points 2020-12-22T12:52:55Z FennecCode quit (Quit: IRCNow and Forever!) 2020-12-22T12:53:44Z JohnTalent quit (Ping timeout: 256 seconds) 2020-12-22T12:54:54Z Nilby: It can. http://gnuplot.sourceforge.net/demo_5.4/ 2020-12-22T12:56:58Z mfiano: Looks like I can use xmaxima or gnuplot if I go with maxima. Then I get all the nice CAS stuff needed for a lot of computations for free 2020-12-22T13:03:05Z Nilby: wXmaxima is pretty impressive with it's gnuplot integration. I just wish it was all Lisp. 2020-12-22T13:03:33Z JohnTalent joined #lisp 2020-12-22T13:03:43Z Nilby: But I haven't tried Climaxima yet 2020-12-22T13:05:27Z mfiano: easiest would be to just use my game engine as a renderer, as the math library it uses is exactly what I'm attempting to document. 2020-12-22T13:07:35Z Nilby: yes. self documenting, that's what I like 2020-12-22T13:08:58Z mfiano: It'll take a while to spin up hundreds of example scenes, but it'll be worth it. The math library is nearing 20kloc so lots to document. 2020-12-22T13:17:31Z IAmRasputin joined #lisp 2020-12-22T13:19:55Z andreyorst` quit (Quit: andreyorst`) 2020-12-22T13:20:51Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-12-22T13:21:58Z andreyorst` joined #lisp 2020-12-22T13:22:05Z Aurora_v_kosmose joined #lisp 2020-12-22T13:22:08Z IAmRasputin quit (Ping timeout: 256 seconds) 2020-12-22T13:23:06Z Bike joined #lisp 2020-12-22T13:24:34Z karlosz joined #lisp 2020-12-22T13:26:54Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-12-22T13:27:36Z Aurora_v_kosmose joined #lisp 2020-12-22T13:31:12Z FennecCode joined #lisp 2020-12-22T13:40:33Z krid joined #lisp 2020-12-22T13:47:39Z aartaka joined #lisp 2020-12-22T13:50:16Z kaftejiman joined #lisp 2020-12-22T13:51:16Z aartaka_d quit (Ping timeout: 240 seconds) 2020-12-22T13:57:32Z notandinus joined #lisp 2020-12-22T14:00:50Z X-Scale` joined #lisp 2020-12-22T14:01:02Z EvW joined #lisp 2020-12-22T14:01:58Z X-Scale quit (Ping timeout: 256 seconds) 2020-12-22T14:01:58Z X-Scale` is now known as X-Scale 2020-12-22T14:02:29Z treflip quit (Quit: WeeChat 2.6) 2020-12-22T14:04:13Z kam1 quit (Ping timeout: 260 seconds) 2020-12-22T14:08:13Z aeth quit (Ping timeout: 246 seconds) 2020-12-22T14:08:46Z kam1 joined #lisp 2020-12-22T14:10:22Z aeth joined #lisp 2020-12-22T14:11:38Z dbotton joined #lisp 2020-12-22T14:11:47Z IAmRasputin joined #lisp 2020-12-22T14:15:56Z IAmRasputin quit (Ping timeout: 240 seconds) 2020-12-22T14:20:22Z leo_song quit (Ping timeout: 272 seconds) 2020-12-22T14:23:41Z leo_song joined #lisp 2020-12-22T14:23:57Z karlosz quit (Remote host closed the connection) 2020-12-22T14:26:20Z bitmapper joined #lisp 2020-12-22T14:26:30Z hendursa1 quit (Quit: hendursa1) 2020-12-22T14:26:51Z hendursaga joined #lisp 2020-12-22T14:26:57Z rgherdt quit (Ping timeout: 260 seconds) 2020-12-22T14:28:25Z waleee-cl joined #lisp 2020-12-22T14:33:45Z wsinatra joined #lisp 2020-12-22T14:38:49Z IAmRasputin joined #lisp 2020-12-22T14:40:36Z JohnTalent quit (Quit: leaving) 2020-12-22T14:42:43Z kam1 quit (Ping timeout: 260 seconds) 2020-12-22T14:46:30Z hiroaki quit (Ping timeout: 256 seconds) 2020-12-22T14:53:22Z karlosz joined #lisp 2020-12-22T14:53:47Z orivej quit (Ping timeout: 260 seconds) 2020-12-22T14:54:22Z EvW quit (Ping timeout: 260 seconds) 2020-12-22T14:56:59Z rgherdt joined #lisp 2020-12-22T14:58:27Z CookE[] joined #lisp 2020-12-22T15:01:03Z a0 quit (Ping timeout: 240 seconds) 2020-12-22T15:03:10Z karijes joined #lisp 2020-12-22T15:03:40Z karijes quit (Remote host closed the connection) 2020-12-22T15:09:08Z hiroaki joined #lisp 2020-12-22T15:10:41Z lucasb joined #lisp 2020-12-22T15:18:36Z andreyorst` quit (Quit: andreyorst`) 2020-12-22T15:18:38Z matta quit (Remote host closed the connection) 2020-12-22T15:19:02Z matta joined #lisp 2020-12-22T15:20:15Z sjl joined #lisp 2020-12-22T15:22:44Z IAmRasputin quit (Quit: WeeChat 3.0) 2020-12-22T15:24:02Z hal99999 joined #lisp 2020-12-22T15:24:23Z Steeve joined #lisp 2020-12-22T15:25:17Z srandon111 quit (Ping timeout: 260 seconds) 2020-12-22T15:27:08Z aartaka quit (Read error: Connection reset by peer) 2020-12-22T15:27:13Z aartaka_d joined #lisp 2020-12-22T15:29:36Z toorevitimirp quit (Ping timeout: 240 seconds) 2020-12-22T15:37:49Z srandon111 joined #lisp 2020-12-22T15:41:05Z flazh quit (Ping timeout: 240 seconds) 2020-12-22T15:41:24Z lotuseater quit (Ping timeout: 268 seconds) 2020-12-22T15:42:23Z matta quit (Ping timeout: 258 seconds) 2020-12-22T15:44:01Z mister_m: When I use asdf to "load-op" my system, I am seeing a compilation error during the macroexpansion of something - the error is that a particular helper function is not found, however the output also tells me "It is defined earlier in the file but is not available at compile-time." I am not sure what to do here. Has anyone run into this? I can clean up this code and post it as well I am sure more context may be needed. 2020-12-22T15:44:53Z phoe: mister_m: eval-always the function definition 2020-12-22T15:45:05Z phoe: (eval-when (:compile-toplevel :load-toplevel :execute) (defun ...) ...) 2020-12-22T15:45:22Z mister_m: I'll give it a try, thank you 2020-12-22T15:45:32Z phoe: you must do that for functions which are used in the compilation environment, e.g. when used by macroexpanders 2020-12-22T15:45:52Z mister_m: ah of course that actually in hindsight makes sense 2020-12-22T15:45:59Z phoe: if macro FOO calls a function BAR before returning a value, then BAR must be loaded and available 2020-12-22T15:46:10Z phoe: that's what (eval-when (:compile-toplevel) ...) does 2020-12-22T15:46:26Z phoe: the remaining two options to EVAL-WHEN preserve the defaults. 2020-12-22T15:46:41Z mfiano: Alternatively, define the function in a file that is LOAD'd earlier 2020-12-22T15:48:50Z matta joined #lisp 2020-12-22T15:53:23Z karlosz quit (Quit: karlosz) 2020-12-22T15:54:02Z charles` joined #lisp 2020-12-22T15:54:15Z mister_m: mfiano: that's clever but maybe a bit hard to read 2020-12-22T15:55:40Z mister_m: for me tho, not the compiler of course 2020-12-22T15:56:16Z kam1 joined #lisp 2020-12-22T15:58:42Z ebrasca quit (Remote host closed the connection) 2020-12-22T16:02:00Z a0 joined #lisp 2020-12-22T16:03:43Z CookE[] quit (Ping timeout: 240 seconds) 2020-12-22T16:05:53Z a0 quit (Remote host closed the connection) 2020-12-22T16:06:34Z a0 joined #lisp 2020-12-22T16:10:52Z a0 quit (Remote host closed the connection) 2020-12-22T16:11:18Z a0 joined #lisp 2020-12-22T16:13:04Z _jrjsmrtn joined #lisp 2020-12-22T16:15:00Z __jrjsmrtn__ quit (Ping timeout: 272 seconds) 2020-12-22T16:17:12Z charles` quit (Ping timeout: 260 seconds) 2020-12-22T16:19:43Z matta quit (Remote host closed the connection) 2020-12-22T16:19:56Z matta joined #lisp 2020-12-22T16:20:01Z villanella joined #lisp 2020-12-22T16:22:08Z karlosz joined #lisp 2020-12-22T16:22:21Z pyc: Can I load a Lisp package from a git-cloned-dir of the package? I know we can use Quicklisp and ql:quickload but I want to try it myself without Quicklisp's help to understand the fundamentals. 2020-12-22T16:23:09Z beach: pyc: You can use ASDF, but they are not packages. They are systems. 2020-12-22T16:23:19Z beach: pyc: Quicklisp calls ASDF. 2020-12-22T16:23:36Z pyc: beach: what is the difference between "packages" and "systems"? 2020-12-22T16:24:35Z jackdaniel: a package is a common lisp concept defined in the standard, among other things symbols are interned by the reader in packages 2020-12-22T16:24:35Z beach: A package is a namespace (mapping from strings to symbols), created usually by defpackage. A system is a collection of components that are to be compiled and loaded in some order. 2020-12-22T16:25:42Z aartaka joined #lisp 2020-12-22T16:25:53Z jackdaniel: a system is a made-up abstraction (i.e not part of the common lisp standard) defined i.e in asdf - a system is roughly the equivalent of a "package" in python 2020-12-22T16:27:43Z aartaka_d quit (Ping timeout: 260 seconds) 2020-12-22T16:28:43Z aartaka_d joined #lisp 2020-12-22T16:30:01Z kam1 quit (Ping timeout: 265 seconds) 2020-12-22T16:30:03Z slyrus joined #lisp 2020-12-22T16:30:13Z aartaka quit (Ping timeout: 264 seconds) 2020-12-22T16:37:59Z oxum quit (Remote host closed the connection) 2020-12-22T16:38:08Z charles` joined #lisp 2020-12-22T16:39:18Z oxum joined #lisp 2020-12-22T16:39:46Z charles`: good morning beach 2020-12-22T16:40:06Z charles`: mister_m do you mean the topic? 2020-12-22T16:44:52Z hugh_marera quit (Quit: Connection closed) 2020-12-22T16:44:58Z oxum quit (Remote host closed the connection) 2020-12-22T16:45:58Z oxum joined #lisp 2020-12-22T16:49:40Z cer0 joined #lisp 2020-12-22T16:52:46Z iekfkk joined #lisp 2020-12-22T16:53:07Z iekfkk: does haskell has OOP or structs like scheme 2020-12-22T16:53:15Z iekfkk: can we avoid OOP/structs 2020-12-22T16:53:23Z cantstanya quit (Ping timeout: 240 seconds) 2020-12-22T16:53:45Z iekfkk: all the time , if haskell does it then can scheme too do it, scheme has some structs 2020-12-22T16:53:50Z flazh joined #lisp 2020-12-22T16:56:14Z jackdaniel: iekfkk: this channel is about common lisp, for sheme try #scheme, for haskell try #haskell, for various lisps ##lisp, for loose discussion #lispcafe 2020-12-22T16:56:21Z jackdaniel: s/sheme/scheme/ 2020-12-22T16:57:12Z cantstanya joined #lisp 2020-12-22T16:57:49Z matta quit (Ping timeout: 264 seconds) 2020-12-22T17:01:43Z matta joined #lisp 2020-12-22T17:07:17Z jmercouris: anyone written a terminal emulator in CL? 2020-12-22T17:07:27Z jmercouris: I see that it is a requested project on Cliki, just wondering if that is out of date 2020-12-22T17:13:55Z dbotton quit (Quit: This computer has gone to sleep) 2020-12-22T17:15:22Z kam1 joined #lisp 2020-12-22T17:15:31Z slyrus quit (Quit: Leaving) 2020-12-22T17:15:52Z matta quit (Ping timeout: 260 seconds) 2020-12-22T17:18:10Z _death: there's 3bst 2020-12-22T17:19:32Z karlosz quit (Remote host closed the connection) 2020-12-22T17:21:21Z EvW joined #lisp 2020-12-22T17:22:15Z matta joined #lisp 2020-12-22T17:22:42Z jmercouris: _death: link? 2020-12-22T17:23:32Z jmercouris: https://github.com/3b/3bst ? 2020-12-22T17:24:35Z _death: yes... 2020-12-22T17:25:07Z hugh_marera joined #lisp 2020-12-22T17:25:35Z jmercouris: thanks 2020-12-22T17:25:38Z jmercouris: that is a good starting point 2020-12-22T17:34:42Z jackdaniel: jarvis: what's the time in GMT+3? 2020-12-22T17:35:33Z phoe: Colleen: time in GMT+3 2020-12-22T17:35:34Z Colleen: No location called "GMT+3" could be found. 2020-12-22T17:35:38Z phoe: welp 2020-12-22T17:37:14Z jmercouris: ,faith 2020-12-22T17:38:55Z dbotton joined #lisp 2020-12-22T17:39:06Z jmercouris: to quote fsbot: 40:78 We have sent forth other DOCUMENTATIONs before you, of some you have already heard, of others We have told you nothing. Yet none of these could work a miracle except by EMACS's leave. And when EMACS's will is done, justice will prevail and those who have denied His signs will come to grief. 2020-12-22T17:39:16Z jmercouris: we really need that functionality in Colleen 2020-12-22T17:39:18Z jmercouris: or minion 2020-12-22T17:40:59Z karlosz joined #lisp 2020-12-22T17:41:26Z Younder joined #lisp 2020-12-22T17:42:22Z mankaev_ joined #lisp 2020-12-22T17:42:31Z Nilby: Yet I have sent forth many DOCUMENTATIONs that fuck up EMACS's still failing after 40 years indent code. But yes, I have come to grief. 2020-12-22T17:44:45Z Younder: Fix it and send them the fix? 2020-12-22T17:46:05Z mankaev quit (Ping timeout: 272 seconds) 2020-12-22T17:48:50Z CookE[] joined #lisp 2020-12-22T17:50:25Z kam1 quit (Ping timeout: 240 seconds) 2020-12-22T17:50:27Z dbotton quit (Quit: This computer has gone to sleep) 2020-12-22T17:50:43Z a0 quit (Ping timeout: 240 seconds) 2020-12-22T17:51:34Z iekfkk: jmercouris: so islamic did you read the quran? 2020-12-22T17:52:49Z gareppa joined #lisp 2020-12-22T17:54:15Z phoe: hey now, that's getting off-topic 2020-12-22T17:54:54Z torbo joined #lisp 2020-12-22T18:06:56Z andreyorst joined #lisp 2020-12-22T18:08:27Z rogersm joined #lisp 2020-12-22T18:09:45Z srandon111 is now known as suq_madiq 2020-12-22T18:21:46Z cognemo quit (Quit: cognemo) 2020-12-22T18:22:31Z rogersm quit (Quit: Leaving...) 2020-12-22T18:23:16Z luckless_ joined #lisp 2020-12-22T18:23:23Z luckless quit (Ping timeout: 240 seconds) 2020-12-22T18:23:24Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-12-22T18:23:32Z cognemo joined #lisp 2020-12-22T18:24:03Z Aurora_v_kosmose joined #lisp 2020-12-22T18:25:02Z loli quit (Quit: WeeChat 2.9) 2020-12-22T18:29:40Z hiroaki quit (Ping timeout: 246 seconds) 2020-12-22T18:29:54Z loli joined #lisp 2020-12-22T18:32:30Z cosimone quit (Remote host closed the connection) 2020-12-22T18:33:13Z cosimone joined #lisp 2020-12-22T18:36:00Z amb007 quit (Read error: Connection reset by peer) 2020-12-22T18:36:38Z thecoffemaker quit (Ping timeout: 260 seconds) 2020-12-22T18:36:56Z amb007 joined #lisp 2020-12-22T18:40:57Z karlosz quit (Quit: karlosz) 2020-12-22T18:42:42Z hiroaki joined #lisp 2020-12-22T18:45:03Z gareppa quit (Quit: Leaving) 2020-12-22T18:54:44Z karlosz joined #lisp 2020-12-22T18:55:40Z nostoi joined #lisp 2020-12-22T18:58:56Z mrcom joined #lisp 2020-12-22T19:03:24Z nostoi quit (Quit: Verlassend) 2020-12-22T19:03:52Z suq_madiq is now known as genericname 2020-12-22T19:07:05Z heisig quit (Ping timeout: 258 seconds) 2020-12-22T19:07:16Z aeth quit (Ping timeout: 240 seconds) 2020-12-22T19:09:28Z aeth joined #lisp 2020-12-22T19:10:14Z vhost- quit (Quit: WeeChat 2.8) 2020-12-22T19:15:43Z bisickcor joined #lisp 2020-12-22T19:15:51Z oni-on-ion: phoe, thats where the fsbot text 'came' from. 2020-12-22T19:15:59Z villanella quit (Quit: villanella) 2020-12-22T19:16:07Z oni-on-ion: phoe, not sure if iekfkk knows its a bot response. 2020-12-22T19:17:16Z bendersteed quit (Ping timeout: 246 seconds) 2020-12-22T19:17:28Z frgo_ quit (Remote host closed the connection) 2020-12-22T19:18:16Z cer0 quit (Ping timeout: 240 seconds) 2020-12-22T19:18:16Z iekfkk quit (Ping timeout: 240 seconds) 2020-12-22T19:30:02Z dbotton joined #lisp 2020-12-22T19:36:40Z genericname left #lisp 2020-12-22T19:36:59Z Inline joined #lisp 2020-12-22T19:37:11Z frgo joined #lisp 2020-12-22T19:44:29Z nydel joined #lisp 2020-12-22T19:44:46Z nydel quit (Changing host) 2020-12-22T19:44:46Z nydel joined #lisp 2020-12-22T19:45:26Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-12-22T19:46:03Z rogersm joined #lisp 2020-12-22T19:46:04Z Aurora_v_kosmose joined #lisp 2020-12-22T19:46:07Z liberliver quit (Quit: liberliver) 2020-12-22T19:47:36Z rogersm quit (Client Quit) 2020-12-22T19:48:05Z cer0 joined #lisp 2020-12-22T19:49:37Z Lycurgus joined #lisp 2020-12-22T19:53:38Z karlosz quit (Remote host closed the connection) 2020-12-22T19:58:38Z aeth_ joined #lisp 2020-12-22T19:58:47Z aeth quit (Disconnected by services) 2020-12-22T19:59:11Z aeth_ is now known as aeth 2020-12-22T20:04:04Z amb007 quit (Read error: Connection reset by peer) 2020-12-22T20:04:12Z amb007 joined #lisp 2020-12-22T20:08:45Z zacts joined #lisp 2020-12-22T20:10:28Z amb007 quit (Read error: Connection reset by peer) 2020-12-22T20:10:43Z amb007 joined #lisp 2020-12-22T20:11:59Z Alloc joined #lisp 2020-12-22T20:13:01Z galex-713 quit (Ping timeout: 272 seconds) 2020-12-22T20:13:15Z galex-713 joined #lisp 2020-12-22T20:16:56Z Alloc quit (Remote host closed the connection) 2020-12-22T20:17:11Z andreyorst quit (Read error: Connection reset by peer) 2020-12-22T20:17:37Z andreyorst joined #lisp 2020-12-22T20:19:56Z galex-713 quit (Read error: Connection reset by peer) 2020-12-22T20:19:59Z galex-713_ joined #lisp 2020-12-22T20:20:08Z EvW quit (Ping timeout: 268 seconds) 2020-12-22T20:20:27Z orivej joined #lisp 2020-12-22T20:21:48Z joaot joined #lisp 2020-12-22T20:21:50Z vhost- joined #lisp 2020-12-22T20:21:50Z vhost- quit (Changing host) 2020-12-22T20:21:50Z vhost- joined #lisp 2020-12-22T20:21:56Z andreyorst quit (Ping timeout: 240 seconds) 2020-12-22T20:24:07Z dbotton quit (Quit: Leaving) 2020-12-22T20:25:27Z galex-713_ quit (Ping timeout: 260 seconds) 2020-12-22T20:25:37Z galex-713 joined #lisp 2020-12-22T20:28:27Z EvW joined #lisp 2020-12-22T20:30:52Z malm quit (Ping timeout: 272 seconds) 2020-12-22T20:33:17Z frgo_ joined #lisp 2020-12-22T20:35:37Z frgo quit (Ping timeout: 260 seconds) 2020-12-22T20:36:36Z aeth quit (Ping timeout: 240 seconds) 2020-12-22T20:37:56Z iekfkk joined #lisp 2020-12-22T20:38:42Z aeth joined #lisp 2020-12-22T20:40:13Z malm joined #lisp 2020-12-22T20:40:45Z bisickcor quit (Ping timeout: 240 seconds) 2020-12-22T20:40:57Z jw4 quit (Read error: Connection reset by peer) 2020-12-22T20:43:07Z jw4 joined #lisp 2020-12-22T20:44:43Z Grauwolf quit (Quit: WeeChat 2.9) 2020-12-22T20:45:16Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-12-22T20:45:56Z Aurora_v_kosmose joined #lisp 2020-12-22T20:47:13Z karlosz joined #lisp 2020-12-22T20:49:31Z CookE[] quit (Quit: Leaving) 2020-12-22T20:51:07Z galex-713 quit (Ping timeout: 260 seconds) 2020-12-22T20:52:38Z narimiran quit (Ping timeout: 256 seconds) 2020-12-22T20:54:29Z thecoffemaker joined #lisp 2020-12-22T20:54:33Z phoe: well 2020-12-22T20:54:35Z phoe: no idea 2020-12-22T20:54:40Z phoe: but still 2020-12-22T20:56:38Z imode joined #lisp 2020-12-22T21:14:49Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-12-22T21:15:23Z Aurora_v_kosmose joined #lisp 2020-12-22T21:27:03Z stoneglass joined #lisp 2020-12-22T21:27:24Z akoana joined #lisp 2020-12-22T21:28:07Z EvW quit (Ping timeout: 260 seconds) 2020-12-22T21:28:29Z ex_nihilo quit (Quit: Leaving) 2020-12-22T21:41:21Z hnOsmium0001 joined #lisp 2020-12-22T21:46:04Z shka_ quit (Ping timeout: 256 seconds) 2020-12-22T21:51:37Z Lycurgus quit (Ping timeout: 246 seconds) 2020-12-22T21:53:24Z cosimone quit (Quit: cosimone) 2020-12-22T21:54:51Z EvW joined #lisp 2020-12-22T21:57:04Z cosimone joined #lisp 2020-12-22T22:10:24Z kam1 joined #lisp 2020-12-22T22:13:52Z rgherdt quit (Remote host closed the connection) 2020-12-22T22:14:47Z rgherdt joined #lisp 2020-12-22T22:15:34Z Grauwolf joined #lisp 2020-12-22T22:22:06Z orivej quit (Ping timeout: 256 seconds) 2020-12-22T22:27:01Z madage quit (Remote host closed the connection) 2020-12-22T22:27:17Z madage joined #lisp 2020-12-22T22:28:38Z tempest_nox joined #lisp 2020-12-22T22:31:11Z phoe: is identity of literal gensyms preserved while compiling code? 2020-12-22T22:33:19Z Bike: the compilation of distinct references to one gensym should still be distinct references to one symbol, yeah 2020-12-22T22:33:25Z phoe: (defvar *foo* (make-symbol "FOO")) (defun foo () *foo*) (define-compiler-macro foo () `',*foo*) (defun test () (eq *foo* (foo))) 2020-12-22T22:33:34Z phoe: is (test) supposed to return T or NIL in this particular case? 2020-12-22T22:33:37Z Bike: in fact "Two apparently uninterned symbols S and C are similar if their names are similar. " so i guess it's a little broader than identity 2020-12-22T22:33:51Z phoe: similarity, yes, but I want identity 2020-12-22T22:34:46Z Bike: ok, hang on now 2020-12-22T22:34:56Z Bike: you're talking about putting these forms in a file and then compiling and loading them, right? 2020-12-22T22:35:01Z phoe: yes 2020-12-22T22:35:20Z badcfe joined #lisp 2020-12-22T22:35:24Z Bike: if you load the fasl into a new image it will run make-symbol again, so *foo* will be bound to something else, so they won't be identical 2020-12-22T22:35:54Z phoe: hmmm. 2020-12-22T22:36:05Z phoe: is it a use case for load-time-value? 2020-12-22T22:36:21Z Bike: what is your use case? 2020-12-22T22:36:55Z phoe: I'm writing something similar to JSON parser except I only deal with string keys here 2020-12-22T22:37:10Z phoe: my idea is to make a pseudo-package which is a weak hash table from strings to gensyms. 2020-12-22T22:37:41Z phoe: and to be able to turn string= comparisons (on keys) into eq comparisons (on symbols). 2020-12-22T22:37:58Z Bike: with you so far 2020-12-22T22:38:00Z phoe: the only reason why I'm using symbols is because they can be eq-compared and are globally unique. 2020-12-22T22:38:28Z phoe: here come compiler macros - I want to be able to perform this transformation at compile-time 2020-12-22T22:39:10Z phoe: so (get object "foo") gets turned into something like (svref (values object) (position '#:g182 (keys object) :test #'eq)) 2020-12-22T22:39:21Z Bike: uhhuh. 2020-12-22T22:39:31Z phoe: where #:g182 is (gethash "foo" *pseudo-package*) 2020-12-22T22:39:36Z phoe: except computed at compile time. 2020-12-22T22:39:42Z Bike: right. 2020-12-22T22:39:57Z Bike: and you want an actual (get object "foo") call done after loading to get the same symbol? 2020-12-22T22:40:09Z Bike: to work through the same symbol, whatever. 2020-12-22T22:40:17Z phoe: yes 2020-12-22T22:40:30Z phoe: I want to do as much of the pseudo-interning at compile time for obvious purposes: performance 2020-12-22T22:40:37Z phoe: so I can have EQ comparisons only. 2020-12-22T22:41:27Z Bike: ok, so first off, to be clear, two distinct references to the same object in a compiled file will be distinct references to the same object in the loaded code as well 2020-12-22T22:41:31Z phoe: ideally, the whole hash table should never be accessed at runtime 2020-12-22T22:41:37Z Bike: "If two literal objects appearing in the source code for a single file processed with the file compiler are the identical [sic], the corresponding objects in the compiled code must also be the identical. " 2020-12-22T22:41:47Z Bike: sic again 2020-12-22T22:41:52Z phoe: OK... hold on then 2020-12-22T22:42:40Z Bike: and it sounds to me what you want to do is to dump the hash table into the fasl so the runtime can pick it up again later. 2020-12-22T22:43:07Z phoe: actually, no, not really 2020-12-22T22:43:25Z phoe: the hash table is meant to be filled in during compilation of functions 2020-12-22T22:43:43Z phoe: so I want it empty in the beginning, and then to get its first entry when a call to (get object "foo") is first compiled 2020-12-22T22:43:54Z Bike: okay, but i'm talking about what happens at load time. 2020-12-22T22:43:56Z phoe: that's when I want the map from "foo" to #:g182 to be created 2020-12-22T22:44:03Z Bike: cos when you're loading the fasl there will be nothing being compiled obviously. 2020-12-22T22:44:04Z phoe: oooh, yes, I see 2020-12-22T22:44:14Z phoe: we're talking post-compile-time now. 2020-12-22T22:44:28Z sjl quit (Ping timeout: 246 seconds) 2020-12-22T22:44:38Z phoe: OK, I'm with you so far. 2020-12-22T22:45:56Z Bike: i suppose you could accomplish this somewhat goofily by doing (eval-when (:compile-toplevel :execute) (defvar *hash* (make-hash-table))) at the top of the file, and (eval-when (:load-toplevel) (defvar *hash* #.*hash*)) at the bottom 2020-12-22T22:46:13Z actuallybatman quit (Quit: leaving) 2020-12-22T22:46:20Z Bike: i think. it's a little exotic ofc 2020-12-22T22:46:29Z phoe: oh no, here come the crazy EVAL-WHEN options that Fare warned me about 2020-12-22T22:46:35Z phoe thinks 2020-12-22T22:50:50Z hal99999 quit (Quit: hal99999) 2020-12-22T22:52:26Z phoe: so we create the hash table, let it grow as the code is compiled... and then dump the resulting object into the FASL as a literal into a DEFVAR form 2020-12-22T22:53:10Z phoe: the syntax is going to be kinda goofy and I need to iron out how to make it work across multiple files 2020-12-22T22:54:48Z beach` joined #lisp 2020-12-22T22:56:01Z kam1 quit (Ping timeout: 246 seconds) 2020-12-22T22:56:39Z cer0 quit (Quit: leaving) 2020-12-22T22:57:12Z phoe: ...or I hook this all into ASDF actually 2020-12-22T22:57:31Z phoe: and once the system is loaded, I dump the hash table into a FASL as an additional compilation artifact 2020-12-22T22:57:51Z phoe: the question is, how will that work cross-FASL with uninterned symbols?... likely won't 2020-12-22T22:59:04Z phoe: I need to experiment with this more when I am awake 2020-12-22T22:59:06Z phoe: like, tomorrow 2020-12-22T22:59:07Z beach quit (Ping timeout: 260 seconds) 2020-12-22T23:25:55Z Steeve quit (Quit: end) 2020-12-22T23:28:35Z devon joined #lisp 2020-12-22T23:29:49Z bilegeek joined #lisp 2020-12-22T23:30:53Z pve quit (Quit: leaving) 2020-12-22T23:36:34Z charles`: is read-sequence faster than (loop ... (read-byte))? 2020-12-22T23:37:19Z no-defun-allowed: I think it would be. 2020-12-22T23:42:35Z charles`: I have too loop through anyway, so may as well only have one loop 2020-12-22T23:43:12Z akrl quit (Ping timeout: 256 seconds) 2020-12-22T23:47:11Z cosimone quit (Quit: cosimone) 2020-12-22T23:48:12Z akrl joined #lisp 2020-12-22T23:48:56Z akoana quit (Quit: leaving) 2020-12-22T23:57:52Z Xach: charles`: the difference can be substantial. 2020-12-22T23:58:04Z aeth: it should be able to read 8 bytes at a time, shouldn't it? although the read-byte part can be optimized, too, it's just less likely to be 2020-12-23T00:01:31Z charles` quit (Ping timeout: 268 seconds) 2020-12-23T00:16:19Z matta quit (Ping timeout: 268 seconds) 2020-12-23T00:25:37Z stoneglass quit (Read error: Connection reset by peer) 2020-12-23T00:26:00Z lotuseater joined #lisp 2020-12-23T00:28:13Z aartaka joined #lisp 2020-12-23T00:28:44Z zacts quit (Quit: leaving) 2020-12-23T00:28:47Z Lycurgus joined #lisp 2020-12-23T00:31:32Z aartaka_d quit (Ping timeout: 256 seconds) 2020-12-23T00:38:55Z devon: I tried mmap instead of open once, unbelievably slow, cffi:mem-aref perhaps. 2020-12-23T00:42:11Z rgherdt quit (Ping timeout: 272 seconds) 2020-12-23T00:42:17Z Oladon joined #lisp 2020-12-23T00:42:50Z EvW quit (Ping timeout: 268 seconds) 2020-12-23T00:45:03Z mrios22 joined #lisp 2020-12-23T00:45:04Z joaot quit (Ping timeout: 245 seconds) 2020-12-23T00:51:13Z jonatack quit (Ping timeout: 264 seconds) 2020-12-23T00:53:08Z jonatack joined #lisp 2020-12-23T00:53:46Z bqv joined #lisp 2020-12-23T00:54:09Z bqv: Yo 2020-12-23T00:54:32Z bqv: Who's the dude that runs quicklisp? 2020-12-23T00:55:34Z no-defun-allowed: Xach? 2020-12-23T00:56:40Z bqv: Ah 2020-12-23T00:57:08Z bqv: Xach: you might be interested in https://github.com/nix-lisp/lisp-overlay 2020-12-23T00:57:37Z bqv: Xach: And a few of the self-inconsistencies it uncovered 2020-12-23T01:01:22Z Younder quit (Quit: Leaving) 2020-12-23T01:05:01Z varjag quit (Ping timeout: 264 seconds) 2020-12-23T01:07:25Z kam1 joined #lisp 2020-12-23T01:08:16Z frgo_ quit (Ping timeout: 240 seconds) 2020-12-23T01:10:13Z kaftejiman quit (Remote host closed the connection) 2020-12-23T01:11:20Z wsinatra quit (Quit: WeeChat 3.0) 2020-12-23T01:12:22Z Xach: bqv: how can I see those? 2020-12-23T01:12:54Z random-nick quit (Ping timeout: 256 seconds) 2020-12-23T01:12:56Z galex-713 joined #lisp 2020-12-23T01:13:48Z mrios22: If I start a lisp process like a Hunchentoot server on a remote machine, how do I get access to a repl that I can use to interact with the server? 2020-12-23T01:13:59Z bqv: Xach: are you at all proficient with nix? 2020-12-23T01:14:04Z Xach: bqv: not at all 2020-12-23T01:14:11Z nij joined #lisp 2020-12-23T01:14:17Z Xach: mrios22: there are several approaches 2020-12-23T01:14:34Z bqv: Ah ok. That repo allows one to build any quicklisp package and all dependencies as specified in ql 2020-12-23T01:14:38Z nij: Anyone has learned algorithm using Lisp? I tried to learn it with Lisp, but resources out there are quite little.. 2020-12-23T01:14:40Z Xach: mrios22: you can start a swank server and connect to it from slime (same with sly and slynk) 2020-12-23T01:14:50Z Xach: mrios22: you can run the lisp inside screen or tmux and attach 2020-12-23T01:15:10Z bqv: I might have to run it by you when I have more time 2020-12-23T01:15:11Z Xach: mrios22: you could come up with some other protocol for sending forms to evaluate and receiving results 2020-12-23T01:15:20Z bqv: But I thought you might be interested 2020-12-23T01:15:33Z Xach: bqv: i'm always happy to see people make use of quicklisp code & data 2020-12-23T01:16:41Z mrios22: xach: Thank you. 2020-12-23T01:17:21Z wxie joined #lisp 2020-12-23T01:17:30Z no-defun-allowed: nij: You should be able to implement many algorithms (almost) regardless of language. 2020-12-23T01:17:44Z Xach: mrios22: i use both screen and swank/slime - screen to keep it running (and have a repl in a pinch), and swank/slime for real work 2020-12-23T01:18:20Z akrl quit (Ping timeout: 256 seconds) 2020-12-23T01:18:28Z bqv: Xach: the interesting development from this is one could attempt to build every package in a hydra matrix and show which ones fail. E.g. Clml of the previous dist depends on a system omitted from the tarball, as my override shows 2020-12-23T01:18:42Z bqv: So this could be a "test system" for ql 2020-12-23T01:20:29Z Xach: bqv: that's a longstanding missing dependency - i should just remove clml. but nobody has complained, so i guess nobody uses clml through quicklisp. 2020-12-23T01:20:40Z Xach: i'm not aware of other missing deps (i have a report that tells me about them) 2020-12-23T01:21:36Z galex-713 quit (Ping timeout: 258 seconds) 2020-12-23T01:21:37Z wxie quit (Ping timeout: 246 seconds) 2020-12-23T01:22:32Z bqv: Oh thats the only missing dep, I think, but I did encounter other issues attempting that repo, and the reason I had to in the first place is that nixpkgs distrusts quicklisp's consistency 2020-12-23T01:25:12Z Xach: i am definitely interested in things that may need fixing 2020-12-23T01:25:40Z akrl joined #lisp 2020-12-23T01:29:42Z galex-713 joined #lisp 2020-12-23T01:31:16Z curiouscain quit (Ping timeout: 240 seconds) 2020-12-23T01:31:19Z orivej joined #lisp 2020-12-23T01:33:28Z wxie joined #lisp 2020-12-23T01:33:28Z curiouscain joined #lisp 2020-12-23T01:33:29Z nij quit (Ping timeout: 258 seconds) 2020-12-23T01:34:05Z galex-713 quit (Ping timeout: 240 seconds) 2020-12-23T01:38:07Z wxie quit (Ping timeout: 265 seconds) 2020-12-23T01:40:12Z lucasb quit (Quit: Connection closed for inactivity) 2020-12-23T01:41:16Z kam1 quit (Ping timeout: 240 seconds) 2020-12-23T01:41:29Z wxie joined #lisp 2020-12-23T01:45:31Z Oladon quit (Quit: Leaving.) 2020-12-23T01:46:50Z hiroaki quit (Read error: Connection reset by peer) 2020-12-23T01:53:56Z Lord_of_Life_ joined #lisp 2020-12-23T01:54:49Z Lord_of_Life quit (Ping timeout: 264 seconds) 2020-12-23T01:55:16Z Lord_of_Life_ is now known as Lord_of_Life 2020-12-23T01:56:25Z akrl quit (Ping timeout: 240 seconds) 2020-12-23T01:57:05Z wxie quit (Ping timeout: 240 seconds) 2020-12-23T01:58:35Z akrl joined #lisp 2020-12-23T02:00:25Z kam1 joined #lisp 2020-12-23T02:02:33Z hiroaki joined #lisp 2020-12-23T02:03:43Z Nilby quit (Read error: Connection reset by peer) 2020-12-23T02:09:09Z wxie joined #lisp 2020-12-23T02:09:49Z kam1 quit (Ping timeout: 264 seconds) 2020-12-23T02:17:01Z kam1 joined #lisp 2020-12-23T02:19:22Z [d]__ quit (Ping timeout: 246 seconds) 2020-12-23T02:20:39Z perrier-jouet quit (Quit: WeeChat 2.9) 2020-12-23T02:23:44Z Oladon joined #lisp 2020-12-23T02:27:40Z Inline quit (Ping timeout: 268 seconds) 2020-12-23T02:36:37Z skapate joined #lisp 2020-12-23T02:38:28Z skapate left #lisp 2020-12-23T02:39:21Z skapata quit (Ping timeout: 272 seconds) 2020-12-23T02:41:10Z galex-713 joined #lisp 2020-12-23T02:45:25Z Lycurgus quit (Quit: Exeunt) 2020-12-23T02:49:30Z charles` joined #lisp 2020-12-23T02:54:21Z surabax quit (Quit: Leaving) 2020-12-23T03:01:43Z galex-713 quit (Ping timeout: 246 seconds) 2020-12-23T03:12:35Z devon: Should a macro avoid modifying its &rest arg? 2020-12-23T03:12:59Z aindilis joined #lisp 2020-12-23T03:13:16Z Bike: that would mean modifying code, so yes 2020-12-23T03:13:25Z kam1 quit (Ping timeout: 240 seconds) 2020-12-23T03:13:27Z Bike: assuming you mean actually mutating the conses 2020-12-23T03:15:24Z devon: Ah, of course. Thanks. 2020-12-23T03:25:15Z kam1 joined #lisp 2020-12-23T03:25:21Z bitmapper quit (Quit: Connection closed for inactivity) 2020-12-23T03:26:25Z Oladon quit (Quit: Leaving.) 2020-12-23T03:27:58Z imode quit (Ping timeout: 246 seconds) 2020-12-23T03:29:01Z orivej quit (Ping timeout: 264 seconds) 2020-12-23T03:34:28Z scymtym quit (Remote host closed the connection) 2020-12-23T03:35:15Z akrl quit (Read error: Connection reset by peer) 2020-12-23T03:35:31Z akrl joined #lisp 2020-12-23T03:43:03Z thmprover joined #lisp 2020-12-23T03:56:06Z xantoz joined #lisp 2020-12-23T04:00:38Z beach` is now known as beach 2020-12-23T04:00:41Z notzmv quit (Remote host closed the connection) 2020-12-23T04:01:32Z beach: Good morning everyone! 2020-12-23T04:03:40Z Alfr joined #lisp 2020-12-23T04:05:17Z Alfr_ quit (Ping timeout: 258 seconds) 2020-12-23T04:06:07Z oni-on-ion: good morning 2020-12-23T04:08:28Z galex-713 joined #lisp 2020-12-23T04:15:58Z galex-713_ joined #lisp 2020-12-23T04:16:15Z galex-713 quit (Ping timeout: 272 seconds) 2020-12-23T04:18:45Z Nilby joined #lisp 2020-12-23T04:19:18Z galex-713_ quit (Remote host closed the connection) 2020-12-23T04:22:21Z badcfe quit (Quit: Lost terminal) 2020-12-23T04:23:13Z v3ga quit (Ping timeout: 272 seconds) 2020-12-23T04:24:13Z charles`: Good morning. Is it possible to change the delimiter for read-line? 2020-12-23T04:24:45Z v3ga joined #lisp 2020-12-23T04:25:01Z beach: I think you need to create a stream that does it the way you want. 2020-12-23T04:25:22Z beach: As I recall, SBCL has some keyword argument to OPEN for that, in case you are reading from a file. 2020-12-23T04:25:37Z beach: But don't quote me on that. I may be wrong. 2020-12-23T04:26:30Z beach: :EXTERNAL-FORMAT maybe 2020-12-23T04:27:19Z beach: ... with an implementation-specific value for it. 2020-12-23T04:27:29Z beach: The keyword argument itself is standard. 2020-12-23T04:28:03Z imode joined #lisp 2020-12-23T04:28:57Z charles`: My stream is already open 2020-12-23T04:29:00Z orivej joined #lisp 2020-12-23T04:29:01Z beach: Aha, chapter 8 in the SBCL manual it seems 2020-12-23T04:29:25Z beach: charles`: OK, then I don't know of a way. 2020-12-23T04:29:29Z charles`: I would think it would be a dynamic variable 2020-12-23T04:31:33Z charles`: or another function like (read-until char stream) 2020-12-23T04:32:47Z beach: Well, that's a one-liner, so you can easily implement it yourself. 2020-12-23T04:33:26Z charles`: using read-char? 2020-12-23T04:33:40Z beach: Yeah. 2020-12-23T04:34:20Z Codaraxis joined #lisp 2020-12-23T04:37:26Z iskander- quit (Ping timeout: 265 seconds) 2020-12-23T04:40:29Z iskander joined #lisp 2020-12-23T04:54:44Z narimiran joined #lisp 2020-12-23T04:56:18Z toorevitimirp joined #lisp 2020-12-23T04:58:42Z jasom: Does sbcl not support loading core images larger than 4GB? I'm getting "mmap: Value too large for defined data type" and "load_core_bytes(3,91c98000,50300000,1f0000) failed" 2020-12-23T05:01:48Z Stanley00 joined #lisp 2020-12-23T05:02:56Z wxie quit (Ping timeout: 240 seconds) 2020-12-23T05:10:26Z Bike quit (Quit: leaving) 2020-12-23T05:11:09Z thmprover quit (Quit: Goodnight, ladies, good night, sweet ladies, good night, good night) 2020-12-23T05:12:42Z charlie770 joined #lisp 2020-12-23T05:14:56Z akrl quit (Ping timeout: 240 seconds) 2020-12-23T05:16:54Z akrl joined #lisp 2020-12-23T05:21:23Z torbo quit (Remote host closed the connection) 2020-12-23T05:27:40Z aartaka_d joined #lisp 2020-12-23T05:28:33Z barbanegra joined #lisp 2020-12-23T05:28:35Z wxie joined #lisp 2020-12-23T05:31:44Z aartaka quit (Ping timeout: 272 seconds) 2020-12-23T05:32:28Z wxie1 joined #lisp 2020-12-23T05:33:07Z X-Scale` joined #lisp 2020-12-23T05:34:38Z X-Scale quit (Ping timeout: 260 seconds) 2020-12-23T05:34:40Z X-Scale` is now known as X-Scale 2020-12-23T05:35:32Z wxie quit (Ping timeout: 272 seconds) 2020-12-23T05:35:32Z wxie1 is now known as wxie 2020-12-23T05:35:34Z charlie770 quit (Quit: thatsit) 2020-12-23T05:43:23Z mrios22 quit (Remote host closed the connection) 2020-12-23T05:48:24Z ex_nihilo joined #lisp 2020-12-23T05:52:37Z saganman joined #lisp 2020-12-23T05:53:37Z akrl quit (Ping timeout: 264 seconds) 2020-12-23T05:54:37Z akrl joined #lisp 2020-12-23T06:01:43Z jeosol: jasom: You should probably start the SBCL with a higher dynamic-space-size 2020-12-23T06:02:19Z jasom: jeosol: that's not the problem (it shows a different error if dynamic-space-size is too small) 2020-12-23T06:02:41Z jeosol: yeah, so I am saying pass a higher value, that doesn't work? 2020-12-23T06:04:37Z jeosol: jasom: I have heard some problems when starting with defaults and my core files are large. Maybe it's different from your case 2020-12-23T06:13:36Z orivej quit (Ping timeout: 240 seconds) 2020-12-23T06:13:36Z Nilby quit (Read error: Connection reset by peer) 2020-12-23T06:23:02Z aartaka joined #lisp 2020-12-23T06:25:16Z aartaka_d quit (Ping timeout: 240 seconds) 2020-12-23T06:26:10Z frost-lab joined #lisp 2020-12-23T06:30:01Z aartaka quit (Ping timeout: 268 seconds) 2020-12-23T06:30:48Z akrl quit (Ping timeout: 256 seconds) 2020-12-23T06:31:16Z akrl joined #lisp 2020-12-23T06:36:20Z krid quit (Ping timeout: 272 seconds) 2020-12-23T06:43:10Z tempest_nox quit (Read error: Connection reset by peer) 2020-12-23T06:43:36Z aartaka joined #lisp 2020-12-23T06:53:27Z akrl quit (Ping timeout: 268 seconds) 2020-12-23T06:56:25Z andreyorst` joined #lisp 2020-12-23T06:57:28Z aartaka_d joined #lisp 2020-12-23T07:01:02Z aartaka quit (Ping timeout: 272 seconds) 2020-12-23T07:11:12Z frgo joined #lisp 2020-12-23T07:13:08Z atomik joined #lisp 2020-12-23T07:16:11Z atomik_dog quit (Ping timeout: 258 seconds) 2020-12-23T07:16:33Z shka_ joined #lisp 2020-12-23T07:31:31Z charles` quit (Ping timeout: 258 seconds) 2020-12-23T07:34:32Z zaquest joined #lisp 2020-12-23T07:42:12Z nostoi joined #lisp 2020-12-23T07:52:40Z sloanr joined #lisp 2020-12-23T08:09:54Z atomik quit (Killed (adams.freenode.net (Nickname regained by services))) 2020-12-23T08:10:23Z Guest85879 joined #lisp 2020-12-23T08:13:14Z sloanr quit (Ping timeout: 272 seconds) 2020-12-23T08:13:38Z sloanr joined #lisp 2020-12-23T08:16:35Z pve joined #lisp 2020-12-23T08:17:15Z frgo quit (Remote host closed the connection) 2020-12-23T08:17:35Z rgherdt joined #lisp 2020-12-23T08:17:44Z frgo joined #lisp 2020-12-23T08:22:07Z frgo quit (Ping timeout: 258 seconds) 2020-12-23T08:27:01Z wxie1 joined #lisp 2020-12-23T08:27:10Z jibanes quit (Ping timeout: 272 seconds) 2020-12-23T08:28:52Z jibanes joined #lisp 2020-12-23T08:29:42Z wxie quit (Ping timeout: 272 seconds) 2020-12-23T08:29:42Z wxie1 is now known as wxie 2020-12-23T08:35:26Z heisig joined #lisp 2020-12-23T08:36:13Z wxie quit (Ping timeout: 264 seconds) 2020-12-23T08:36:56Z sloanr quit (Remote host closed the connection) 2020-12-23T08:37:21Z wxie joined #lisp 2020-12-23T08:42:49Z nostoi quit (Ping timeout: 264 seconds) 2020-12-23T08:45:30Z emacsomancer quit (Ping timeout: 256 seconds) 2020-12-23T08:46:57Z wxie quit (Remote host closed the connection) 2020-12-23T08:47:27Z wxie joined #lisp 2020-12-23T08:48:10Z nostoi joined #lisp 2020-12-23T08:51:58Z mankaev_ quit (Quit: ZNC 1.6.6 - http://znc.in) 2020-12-23T08:55:23Z emacsomancer joined #lisp 2020-12-23T08:58:26Z frgo joined #lisp 2020-12-23T08:58:45Z joast quit (Ping timeout: 240 seconds) 2020-12-23T09:00:06Z jonjitsu[m] quit (Quit: Idle for 30+ days) 2020-12-23T09:00:39Z iskander quit (Quit: bye) 2020-12-23T09:00:50Z dvdmuckle quit (Quit: Bouncer Surgery) 2020-12-23T09:00:52Z karlosz quit (Read error: Connection reset by peer) 2020-12-23T09:00:53Z karlosz joined #lisp 2020-12-23T09:01:02Z iskander joined #lisp 2020-12-23T09:03:08Z dvdmuckle joined #lisp 2020-12-23T09:03:18Z frgo quit (Remote host closed the connection) 2020-12-23T09:03:53Z frgo joined #lisp 2020-12-23T09:05:22Z iskander quit (Ping timeout: 246 seconds) 2020-12-23T09:05:47Z iskander joined #lisp 2020-12-23T09:06:05Z aartaka joined #lisp 2020-12-23T09:06:31Z frgo quit (Read error: Connection reset by peer) 2020-12-23T09:08:33Z hendursa1 joined #lisp 2020-12-23T09:08:40Z aartaka_d quit (Ping timeout: 256 seconds) 2020-12-23T09:08:54Z nostoi quit (Quit: Verlassend) 2020-12-23T09:09:57Z liberliver joined #lisp 2020-12-23T09:10:23Z hendursaga quit (Ping timeout: 240 seconds) 2020-12-23T09:16:31Z ebrasca joined #lisp 2020-12-23T09:24:16Z jibanes quit (Ping timeout: 246 seconds) 2020-12-23T09:26:14Z jibanes joined #lisp 2020-12-23T09:28:57Z bilegeek quit (Quit: Leaving) 2020-12-23T09:30:42Z gigetoo quit (Ping timeout: 268 seconds) 2020-12-23T09:31:15Z Me joined #lisp 2020-12-23T09:31:41Z Me is now known as Guest15314 2020-12-23T09:31:58Z Guest15314 quit (Remote host closed the connection) 2020-12-23T09:32:32Z vsync quit (Ping timeout: 256 seconds) 2020-12-23T09:33:02Z jibanes quit (Ping timeout: 256 seconds) 2020-12-23T09:33:43Z saganman quit (Ping timeout: 246 seconds) 2020-12-23T09:34:50Z jibanes joined #lisp 2020-12-23T09:35:10Z vsync joined #lisp 2020-12-23T09:35:23Z gigetoo joined #lisp 2020-12-23T09:36:49Z frgo_ joined #lisp 2020-12-23T09:41:54Z jibanes quit (Ping timeout: 272 seconds) 2020-12-23T09:43:14Z saganman joined #lisp 2020-12-23T09:43:28Z jibanes joined #lisp 2020-12-23T09:50:46Z Demosthenex quit (Ping timeout: 272 seconds) 2020-12-23T09:51:02Z Demosthenex joined #lisp 2020-12-23T09:52:10Z cosimone joined #lisp 2020-12-23T09:54:58Z varjag joined #lisp 2020-12-23T09:54:59Z amb007 quit (Read error: Connection reset by peer) 2020-12-23T09:55:32Z amb007 joined #lisp 2020-12-23T09:56:43Z hnOsmium0001 quit (Quit: Connection closed for inactivity) 2020-12-23T10:00:38Z jibanes quit (Ping timeout: 260 seconds) 2020-12-23T10:02:12Z jibanes joined #lisp 2020-12-23T10:09:22Z amb007 quit (Read error: Connection reset by peer) 2020-12-23T10:09:37Z amb007 joined #lisp 2020-12-23T10:13:04Z imode quit (Quit: WeeChat 2.9) 2020-12-23T10:13:16Z aartaka quit (Ping timeout: 246 seconds) 2020-12-23T10:16:34Z cosimone quit (Remote host closed the connection) 2020-12-23T10:16:50Z cosimone joined #lisp 2020-12-23T10:27:16Z amb007 quit (Read error: Connection reset by peer) 2020-12-23T10:27:34Z amb007 joined #lisp 2020-12-23T10:29:45Z amb007 quit (Read error: Connection reset by peer) 2020-12-23T10:30:44Z amb007 joined #lisp 2020-12-23T10:31:12Z h4ck3r9696 joined #lisp 2020-12-23T10:31:35Z aartaka joined #lisp 2020-12-23T10:32:12Z h4ck3r9696: is there a way to check if a symbol is a function? something like (symbol-functionp 'foo). 2020-12-23T10:33:34Z beach: clhs fboundp 2020-12-23T10:33:34Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_fbound.htm 2020-12-23T10:33:44Z h4ck3r9696: thanks! 2020-12-23T10:33:47Z beach: Sure. 2020-12-23T10:34:16Z beach: That way you can check functions with names like (SETF FOO) as well, and not only symbols. 2020-12-23T10:35:03Z igemnace quit (Remote host closed the connection) 2020-12-23T10:38:25Z wxie quit (Ping timeout: 240 seconds) 2020-12-23T10:42:16Z igemnace joined #lisp 2020-12-23T10:50:44Z Aurora_iz_kosmos joined #lisp 2020-12-23T10:52:03Z Aurora_v_kosmose quit (Ping timeout: 240 seconds) 2020-12-23T10:53:48Z hugh_marera quit (Quit: Connection closed) 2020-12-23T10:54:18Z perrier-jouet joined #lisp 2020-12-23T10:55:43Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-23T10:57:00Z hugh_marera joined #lisp 2020-12-23T10:58:08Z luckless_ joined #lisp 2020-12-23T11:00:43Z hendursa1 quit (Ping timeout: 240 seconds) 2020-12-23T11:01:00Z miracle_fox joined #lisp 2020-12-23T11:01:06Z orivej joined #lisp 2020-12-23T11:01:11Z aartaka quit (Read error: Connection reset by peer) 2020-12-23T11:01:23Z aartaka joined #lisp 2020-12-23T11:03:34Z hendursa1 joined #lisp 2020-12-23T11:06:08Z jibanes quit (Ping timeout: 272 seconds) 2020-12-23T11:06:16Z kam1 quit (Ping timeout: 240 seconds) 2020-12-23T11:07:46Z jibanes joined #lisp 2020-12-23T11:13:12Z kam1 joined #lisp 2020-12-23T11:14:37Z kam1 quit (Remote host closed the connection) 2020-12-23T11:15:42Z Inline joined #lisp 2020-12-23T11:31:04Z vegansbane6 quit (Quit: The Lounge - https://thelounge.chat) 2020-12-23T11:33:02Z kam1 joined #lisp 2020-12-23T11:38:46Z gko_ joined #lisp 2020-12-23T11:40:42Z kam1 quit (Remote host closed the connection) 2020-12-23T11:42:01Z kam1 joined #lisp 2020-12-23T11:49:50Z h4ck3r9696 quit (Ping timeout: 264 seconds) 2020-12-23T11:52:00Z random-nick joined #lisp 2020-12-23T11:55:08Z surabax joined #lisp 2020-12-23T11:58:13Z Aurora_iz_kosmos quit (Remote host closed the connection) 2020-12-23T11:58:50Z Aurora_iz_kosmos joined #lisp 2020-12-23T11:59:17Z ldbeth joined #lisp 2020-12-23T12:00:41Z ldbeth: just learned that how limited the terminfo thing is and I'd assume just start to hardcode escape sequences to do fancy print out 2020-12-23T12:02:02Z Guest23 joined #lisp 2020-12-23T12:02:17Z vegansbane6 joined #lisp 2020-12-23T12:06:25Z orivej quit (Ping timeout: 240 seconds) 2020-12-23T12:08:20Z scymtym joined #lisp 2020-12-23T12:08:57Z cosimone_ joined #lisp 2020-12-23T12:12:44Z cosimone quit (Ping timeout: 265 seconds) 2020-12-23T12:12:44Z cosimone_ is now known as cosimone 2020-12-23T12:13:33Z miracle_fox quit (Remote host closed the connection) 2020-12-23T12:13:48Z oni-on-ion: hm? 2020-12-23T12:14:22Z varjag quit (Ping timeout: 246 seconds) 2020-12-23T12:16:37Z notzmv joined #lisp 2020-12-23T12:17:40Z Alfr quit (Quit: Leaving) 2020-12-23T12:18:07Z Alfr joined #lisp 2020-12-23T12:19:15Z Alfr quit (Remote host closed the connection) 2020-12-23T12:19:42Z Alfr joined #lisp 2020-12-23T12:20:11Z villanella joined #lisp 2020-12-23T12:21:15Z Alfr quit (Remote host closed the connection) 2020-12-23T12:21:40Z Alfr joined #lisp 2020-12-23T12:29:11Z Stanley00 quit 2020-12-23T12:30:23Z aartaka_d joined #lisp 2020-12-23T12:31:08Z ldbeth quit (Ping timeout: 260 seconds) 2020-12-23T12:34:02Z aartaka quit (Ping timeout: 256 seconds) 2020-12-23T12:35:43Z gko_ quit (Ping timeout: 246 seconds) 2020-12-23T12:36:25Z jonatack quit (Ping timeout: 240 seconds) 2020-12-23T12:38:12Z villanella quit (Quit: villanella) 2020-12-23T12:38:15Z miracle_fox joined #lisp 2020-12-23T12:38:40Z miracle_fox quit (Client Quit) 2020-12-23T12:39:47Z miracle_fox joined #lisp 2020-12-23T12:40:59Z varjag joined #lisp 2020-12-23T12:41:24Z villanella joined #lisp 2020-12-23T12:41:52Z notandinus quit (Quit: be back soon) 2020-12-23T12:45:49Z varjag quit (Ping timeout: 264 seconds) 2020-12-23T12:47:59Z FreeBirdLjj joined #lisp 2020-12-23T12:48:17Z skapata joined #lisp 2020-12-23T12:52:04Z frost-lab quit (Quit: Connection closed) 2020-12-23T12:52:22Z FreeBirdLjj quit (Ping timeout: 265 seconds) 2020-12-23T12:52:31Z jibanes quit (Ping timeout: 246 seconds) 2020-12-23T12:54:28Z jibanes joined #lisp 2020-12-23T12:57:48Z miracle_fox quit 2020-12-23T12:58:09Z EvW joined #lisp 2020-12-23T12:58:10Z miracle_fox joined #lisp 2020-12-23T12:58:23Z miracle_fox quit (Client Quit) 2020-12-23T12:58:54Z kaftejiman joined #lisp 2020-12-23T13:02:33Z Inline quit (Ping timeout: 272 seconds) 2020-12-23T13:03:54Z Bike joined #lisp 2020-12-23T13:16:31Z wsinatra joined #lisp 2020-12-23T13:22:25Z orivej joined #lisp 2020-12-23T13:31:19Z Lycurgus joined #lisp 2020-12-23T13:36:46Z jibanes quit (Ping timeout: 256 seconds) 2020-12-23T13:38:35Z orivej quit (Quit: orivej) 2020-12-23T13:38:43Z jibanes joined #lisp 2020-12-23T13:39:50Z orivej joined #lisp 2020-12-23T13:42:18Z amb007 quit (Read error: Connection reset by peer) 2020-12-23T13:43:17Z orivej_ joined #lisp 2020-12-23T13:44:19Z orivej quit (Ping timeout: 246 seconds) 2020-12-23T13:45:16Z mrchampion quit (Ping timeout: 240 seconds) 2020-12-23T13:45:34Z amb007 joined #lisp 2020-12-23T13:50:58Z EvW1 joined #lisp 2020-12-23T13:53:01Z devon quit (Ping timeout: 264 seconds) 2020-12-23T13:55:07Z EvW quit (Ping timeout: 260 seconds) 2020-12-23T13:55:45Z skapata quit (Ping timeout: 272 seconds) 2020-12-23T13:56:36Z notzmv quit (Remote host closed the connection) 2020-12-23T13:56:46Z EvW1 quit (Ping timeout: 258 seconds) 2020-12-23T13:57:32Z gaqwas joined #lisp 2020-12-23T13:57:32Z gaqwas quit (Changing host) 2020-12-23T13:57:32Z gaqwas joined #lisp 2020-12-23T13:57:37Z mrchampion joined #lisp 2020-12-23T14:07:28Z skapata joined #lisp 2020-12-23T14:08:01Z orivej_ quit (Ping timeout: 264 seconds) 2020-12-23T14:09:27Z joaot joined #lisp 2020-12-23T14:10:16Z bilalkhan joined #lisp 2020-12-23T14:10:55Z mrchampion quit (Ping timeout: 246 seconds) 2020-12-23T14:11:04Z bilalkhan quit (Remote host closed the connection) 2020-12-23T14:11:37Z jibanes quit (Ping timeout: 246 seconds) 2020-12-23T14:11:56Z bilalkhan joined #lisp 2020-12-23T14:12:32Z hendursa1 quit (Quit: hendursa1) 2020-12-23T14:12:50Z hendursaga joined #lisp 2020-12-23T14:13:50Z jibanes joined #lisp 2020-12-23T14:13:53Z pfdietz joined #lisp 2020-12-23T14:15:19Z hendursaga quit (Client Quit) 2020-12-23T14:15:31Z hendursaga joined #lisp 2020-12-23T14:15:41Z hendursaga quit (Client Quit) 2020-12-23T14:15:54Z mrchampion joined #lisp 2020-12-23T14:16:10Z hendursaga joined #lisp 2020-12-23T14:16:47Z bilalkhan quit (Remote host closed the connection) 2020-12-23T14:18:21Z bilalkhan joined #lisp 2020-12-23T14:18:49Z bitmapper joined #lisp 2020-12-23T14:19:05Z kam1 quit (Ping timeout: 240 seconds) 2020-12-23T14:20:32Z hiroaki quit (Ping timeout: 268 seconds) 2020-12-23T14:22:17Z Lycurgus quit (Quit: Exeunt) 2020-12-23T14:22:50Z bilalkhan quit (Remote host closed the connection) 2020-12-23T14:23:27Z bilalkhan joined #lisp 2020-12-23T14:24:47Z quazimodo quit (Remote host closed the connection) 2020-12-23T14:25:09Z sjl joined #lisp 2020-12-23T14:25:35Z varjag joined #lisp 2020-12-23T14:28:33Z narimiran quit (Ping timeout: 268 seconds) 2020-12-23T14:28:39Z narimiran_ joined #lisp 2020-12-23T14:28:58Z jibanes quit (Ping timeout: 260 seconds) 2020-12-23T14:29:49Z orivej joined #lisp 2020-12-23T14:30:05Z galex-713 joined #lisp 2020-12-23T14:30:08Z jibanes joined #lisp 2020-12-23T14:32:21Z Aurora_iz_kosmos quit (Remote host closed the connection) 2020-12-23T14:33:02Z Aurora_iz_kosmos joined #lisp 2020-12-23T14:40:57Z karlosz quit (Ping timeout: 260 seconds) 2020-12-23T14:41:48Z quazimodo joined #lisp 2020-12-23T14:42:04Z iskander quit (Ping timeout: 246 seconds) 2020-12-23T14:42:19Z hiroaki joined #lisp 2020-12-23T14:43:06Z iskander joined #lisp 2020-12-23T14:44:35Z karlosz joined #lisp 2020-12-23T14:54:09Z jonatack joined #lisp 2020-12-23T14:55:05Z theBlackDragon quit (Ping timeout: 240 seconds) 2020-12-23T14:56:38Z monkey_ joined #lisp 2020-12-23T14:58:31Z jonatack quit (Ping timeout: 246 seconds) 2020-12-23T14:58:57Z jonatack joined #lisp 2020-12-23T14:59:21Z mankaev joined #lisp 2020-12-23T15:05:10Z leo_song quit (Ping timeout: 256 seconds) 2020-12-23T15:08:34Z rogersm joined #lisp 2020-12-23T15:11:16Z jibanes quit (Ping timeout: 240 seconds) 2020-12-23T15:13:22Z jibanes joined #lisp 2020-12-23T15:14:41Z SeasonsBeatings is now known as grumble 2020-12-23T15:18:20Z perrier-jouet quit (Quit: WeeChat 3.0) 2020-12-23T15:23:16Z orivej quit (Ping timeout: 240 seconds) 2020-12-23T15:28:41Z perrier-jouet joined #lisp 2020-12-23T15:30:14Z toorevitimirp quit (Remote host closed the connection) 2020-12-23T15:32:18Z ajb` joined #lisp 2020-12-23T15:34:56Z jibanes quit (Ping timeout: 240 seconds) 2020-12-23T15:35:37Z monkey_ quit (Remote host closed the connection) 2020-12-23T15:37:07Z theBlackDragon joined #lisp 2020-12-23T15:37:12Z jibanes joined #lisp 2020-12-23T15:43:23Z Steeve joined #lisp 2020-12-23T15:44:29Z karlosz quit (Remote host closed the connection) 2020-12-23T15:47:34Z EvW joined #lisp 2020-12-23T15:48:03Z gxt quit (Ping timeout: 240 seconds) 2020-12-23T15:48:29Z sloanr joined #lisp 2020-12-23T15:48:45Z gxt joined #lisp 2020-12-23T15:58:33Z akoana joined #lisp 2020-12-23T16:00:46Z phoe: Bike: following up on yesterday's discussion, I have a tiniest test case at https://plaster.tymoon.eu/view/2196#2196 - compiling-and-loading the file and running the TEST function from there returns NIL 2020-12-23T16:01:01Z phoe: any ideas on how I should hack on this further? 2020-12-23T16:01:42Z EvW quit (Ping timeout: 260 seconds) 2020-12-23T16:01:44Z phoe: I kinda wonder about DEFVAR - even though these have differing EVAL-WHEN times, they're executed in the same image, so the latter DEFVAR may have no chance to execute whatsoever - am I right? 2020-12-23T16:01:57Z Bike: yes 2020-12-23T16:02:11Z phoe: if I change this second DEFVAR to DEFPARAMETER then (test) ;=> T 2020-12-23T16:02:32Z phoe: hmmmm 2020-12-23T16:02:47Z Bike: yeah, makes sense 2020-12-23T16:02:53Z phoe: this means that I can try to generalize this further, into a hash table with multiple gensym keys this time. 2020-12-23T16:07:07Z cosimone quit (Ping timeout: 246 seconds) 2020-12-23T16:08:01Z andreyorst` quit (Quit: andreyorst`) 2020-12-23T16:10:01Z skapata quit (Ping timeout: 272 seconds) 2020-12-23T16:12:05Z skapata joined #lisp 2020-12-23T16:16:53Z cosimone joined #lisp 2020-12-23T16:17:42Z cer0 joined #lisp 2020-12-23T16:18:24Z karlosz joined #lisp 2020-12-23T16:19:22Z phoe: Bike: oh I now know what I wanted to do with LOAD-TIME-VALUE 2020-12-23T16:19:27Z phoe: see the annotation at https://plaster.tymoon.eu/view/2196#2197 2020-12-23T16:19:35Z phoe: (test) also returns T now 2020-12-23T16:19:59Z phoe: and this requires no wonky things at the end of the file. 2020-12-23T16:21:48Z phoe: and this seems to be capable of correctly evaluating the value of *foo* only when the file is loaded, which means that this can access the runtime map of symbols-to-strings at load-time 2020-12-23T16:22:18Z Bike: the first load-time-value is probably irrelevant 2020-12-23T16:23:24Z phoe: yes, I've edited it out 2020-12-23T16:23:40Z phoe: it also won't be in the final code because I'll have functions for accessing this thing 2020-12-23T16:23:46Z phoe: this hash table, I mean 2020-12-23T16:28:12Z XachX quit (Ping timeout: 180 seconds) 2020-12-23T16:31:58Z phoe: I think that I finally fully understood LOAD-TIME-VALUE 2020-12-23T16:33:27Z beach: Congratulations! 2020-12-23T16:33:51Z beach: Now try MAKE-LOAD-FORM. 2020-12-23T16:34:17Z phoe: hey, I actually know that one 2020-12-23T16:34:27Z beach: Oh, heh, OK. 2020-12-23T16:36:09Z rgherdt quit (Quit: Leaving) 2020-12-23T16:36:45Z Aurora_iz_kosmos quit (Remote host closed the connection) 2020-12-23T16:36:47Z andreyorst joined #lisp 2020-12-23T16:37:26Z Aurora_iz_kosmos joined #lisp 2020-12-23T16:37:42Z Aurora_iz_kosmos quit (Remote host closed the connection) 2020-12-23T16:37:55Z phoe: I first played with it back when I wrote the first version of PROTEST that had unreadable macroexpansions and I had to be able to externalize my protocol standard-objects 2020-12-23T16:38:16Z rgherdt joined #lisp 2020-12-23T16:38:17Z Aurora_iz_kosmos joined #lisp 2020-12-23T16:38:22Z phoe: and then I remember that I talked with _death during one ELS and he showed me the ENSURE-FOO style of getting things done 2020-12-23T16:38:39Z phoe: and that's when I rewrote things to be better and actually *not* use MAKE-LOAD-FORM 2020-12-23T16:41:36Z jibanes quit (Ping timeout: 240 seconds) 2020-12-23T16:43:42Z jibanes joined #lisp 2020-12-23T16:45:35Z EvW joined #lisp 2020-12-23T16:45:45Z beach: I see. 2020-12-23T16:50:31Z kam1 joined #lisp 2020-12-23T16:53:21Z joaot quit (Remote host closed the connection) 2020-12-23T16:55:37Z galex-713 quit (Ping timeout: 272 seconds) 2020-12-23T16:56:03Z perrier-jouet quit (Quit: WeeChat 3.0) 2020-12-23T16:57:01Z rogersm quit (Quit: Leaving...) 2020-12-23T16:58:13Z Steeve quit (Quit: end) 2020-12-23T17:02:45Z Guest23 quit (Quit: Connection closed) 2020-12-23T17:04:49Z galex-713 joined #lisp 2020-12-23T17:08:34Z phoe: Bike: I actually got the idea when there was a discussion on the Lisp discord yesterday about how symbols shouldn't be used for JSON libraries because they leak memory when interned, and strings shouldn't be used for JSON libraries either because they are slow and make it impossible for cache lines to be optimized with their pointer indirection 2020-12-23T17:08:53Z matryoshka quit (Ping timeout: 268 seconds) 2020-12-23T17:09:14Z phoe: so I thought, why not gensyms? EQ-comparable, freely collectible when gathered in a weak hash table 2020-12-23T17:09:25Z phoe: and my prototype is at https://plaster.tymoon.eu/view/2199#2199 right now 2020-12-23T17:09:30Z frgo_ quit (Remote host closed the connection) 2020-12-23T17:09:42Z matryoshka joined #lisp 2020-12-23T17:10:45Z matryoshka quit (Client Quit) 2020-12-23T17:11:32Z matryoshka joined #lisp 2020-12-23T17:12:09Z Steeve joined #lisp 2020-12-23T17:12:23Z matryoshka quit (Client Quit) 2020-12-23T17:12:47Z matryoshka joined #lisp 2020-12-23T17:15:49Z karlosz quit (Remote host closed the connection) 2020-12-23T17:16:04Z lotuseater quit (Ping timeout: 246 seconds) 2020-12-23T17:18:41Z ajb` quit (Ping timeout: 265 seconds) 2020-12-23T17:19:42Z Steeve quit (Quit: end) 2020-12-23T17:19:59Z Steeve joined #lisp 2020-12-23T17:21:53Z Steeve quit (Client Quit) 2020-12-23T17:22:11Z Steeve joined #lisp 2020-12-23T17:23:08Z _death: if that's a concern couldn't you just let the user pass a package where the symbols may be interned? 2020-12-23T17:24:03Z joast joined #lisp 2020-12-23T17:24:43Z dim: hi there! is it possible to produce a .so from lisp code with ECL? I'm thinking pgloader.so to embed in a C project... cc @jackdaniel if you're around ;-) 2020-12-23T17:26:04Z Aurora_iz_kosmos quit (Remote host closed the connection) 2020-12-23T17:26:46Z Aurora_iz_kosmos joined #lisp 2020-12-23T17:27:34Z Inline joined #lisp 2020-12-23T17:31:59Z dbotton joined #lisp 2020-12-23T17:32:16Z dbotton_ joined #lisp 2020-12-23T17:35:27Z Steeve quit (Quit: end) 2020-12-23T17:37:04Z dbotton quit (Remote host closed the connection) 2020-12-23T17:37:10Z karlosz joined #lisp 2020-12-23T17:37:57Z scymtym quit (Ping timeout: 258 seconds) 2020-12-23T17:39:18Z ex_nihilo quit (Quit: Leaving) 2020-12-23T17:40:00Z dbotton_: dim there are detailed instructions in the ecl manual how to create an .so with ecl 2020-12-23T17:40:28Z dim: thanks! I should read that sometime then, that was more an idle though than a practical pressing need 2020-12-23T17:41:16Z dbotton_: https://common-lisp.net/project/ecl/static/manual/System-building.html 2020-12-23T17:43:32Z krid joined #lisp 2020-12-23T17:45:12Z Nilby joined #lisp 2020-12-23T17:46:58Z cosimone quit (Quit: cosimone) 2020-12-23T17:47:18Z andreyorst` joined #lisp 2020-12-23T17:47:18Z andreyorst` quit (Remote host closed the connection) 2020-12-23T17:47:47Z andreyorst quit (Quit: andreyorst) 2020-12-23T17:48:12Z andreyorst joined #lisp 2020-12-23T17:49:13Z scymtym joined #lisp 2020-12-23T17:50:11Z lucasb joined #lisp 2020-12-23T17:51:45Z amb007 quit (Read error: Connection reset by peer) 2020-12-23T17:52:39Z amb007 joined #lisp 2020-12-23T17:55:44Z torbo joined #lisp 2020-12-23T17:56:39Z gaqwas quit (Remote host closed the connection) 2020-12-23T17:57:16Z jibanes quit (Ping timeout: 240 seconds) 2020-12-23T17:57:23Z gaqwas joined #lisp 2020-12-23T17:59:30Z jibanes joined #lisp 2020-12-23T18:06:16Z amb007 quit (Read error: Connection reset by peer) 2020-12-23T18:06:40Z amb007 joined #lisp 2020-12-23T18:07:32Z amb007 quit (Read error: Connection reset by peer) 2020-12-23T18:08:10Z amb007 joined #lisp 2020-12-23T18:10:24Z amb007 quit (Read error: Connection reset by peer) 2020-12-23T18:10:28Z kam1 quit (Ping timeout: 272 seconds) 2020-12-23T18:11:01Z amb007 joined #lisp 2020-12-23T18:12:53Z MrFantastik is now known as cactus 2020-12-23T18:12:53Z amb007 quit (Read error: Connection reset by peer) 2020-12-23T18:13:08Z amb007 joined #lisp 2020-12-23T18:13:13Z cactus is now known as MrFantastik 2020-12-23T18:14:48Z MrFantastik is now known as The-Last-Word 2020-12-23T18:14:48Z amb007 quit (Read error: Connection reset by peer) 2020-12-23T18:14:58Z amb007 joined #lisp 2020-12-23T18:15:42Z The-Last-Word is now known as MrFantastik 2020-12-23T18:17:01Z amb007 quit (Read error: Connection reset by peer) 2020-12-23T18:17:56Z amb007 joined #lisp 2020-12-23T18:20:20Z rogersm joined #lisp 2020-12-23T18:22:19Z kam1 joined #lisp 2020-12-23T18:24:35Z amb007 quit (Read error: Connection reset by peer) 2020-12-23T18:25:13Z amb007 joined #lisp 2020-12-23T18:27:13Z amb007 quit (Read error: Connection reset by peer) 2020-12-23T18:27:56Z amb007 joined #lisp 2020-12-23T18:32:10Z amb007 quit (Read error: Connection reset by peer) 2020-12-23T18:33:51Z amb007 joined #lisp 2020-12-23T18:36:08Z amb007 quit (Read error: Connection reset by peer) 2020-12-23T18:36:15Z imode joined #lisp 2020-12-23T18:36:59Z amb007 joined #lisp 2020-12-23T18:37:12Z karlosz quit (Quit: karlosz) 2020-12-23T18:37:36Z liberliver quit (Ping timeout: 240 seconds) 2020-12-23T18:37:44Z rogersm quit (Quit: Leaving...) 2020-12-23T18:42:40Z jasom: phoe: what's wrong with just a whitelist of symbols? 2020-12-23T18:42:45Z phoe6 joined #lisp 2020-12-23T18:44:44Z v0|d joined #lisp 2020-12-23T18:44:44Z amb007 quit (Read error: Connection reset by peer) 2020-12-23T18:44:58Z amb007 joined #lisp 2020-12-23T18:47:08Z nitrix is now known as nitrix-mas 2020-12-23T18:50:35Z charles` joined #lisp 2020-12-23T18:51:04Z cer0 quit (Quit: leaving) 2020-12-23T18:51:09Z amb007 quit (Read error: Connection reset by peer) 2020-12-23T18:51:18Z amb007 joined #lisp 2020-12-23T18:51:25Z amb007 quit (Read error: Connection reset by peer) 2020-12-23T18:51:44Z Aurora_iz_kosmos quit (Remote host closed the connection) 2020-12-23T18:51:46Z amb007 joined #lisp 2020-12-23T18:52:19Z Aurora_iz_kosmos joined #lisp 2020-12-23T18:52:21Z amb007 quit (Read error: Connection reset by peer) 2020-12-23T18:53:06Z amb007 joined #lisp 2020-12-23T18:54:37Z jackdaniel: dim: it is, if you drop me a mail with details I will answer after the winter holiday 2020-12-23T18:54:37Z amb007 quit (Read error: Connection reset by peer) 2020-12-23T18:55:06Z bilalkhan quit (Remote host closed the connection) 2020-12-23T18:55:13Z karlosz joined #lisp 2020-12-23T18:55:17Z jackdaniel: fun fact: ECL's fasls are in fact shared objects (at least for ccmp on posix) 2020-12-23T18:55:23Z amb007 joined #lisp 2020-12-23T18:55:29Z dim: hehe 2020-12-23T18:55:38Z hnOsmium0001 joined #lisp 2020-12-23T18:55:58Z dim: well I need to try it, context is a colleague who's warry of not re-implementing half of pgloader and is writing C code 2020-12-23T18:56:19Z jackdaniel: as a bonus point: you may start swank and connect to your C program 2020-12-23T18:56:30Z jackdaniel: (i.e to debug it) 2020-12-23T18:56:33Z jackdaniel: at runtime 2020-12-23T18:58:00Z jackdaniel: that said, I will be rather sparingly available during next few days, so merry christmas, hanukkah and other holidays you all have o/ 2020-12-23T19:02:00Z kam1 quit (Remote host closed the connection) 2020-12-23T19:02:00Z amb007 quit (Read error: Connection reset by peer) 2020-12-23T19:02:24Z amb007 joined #lisp 2020-12-23T19:02:25Z kam1 joined #lisp 2020-12-23T19:03:40Z frgo joined #lisp 2020-12-23T19:05:13Z frgo_ joined #lisp 2020-12-23T19:06:37Z kam1 quit (Remote host closed the connection) 2020-12-23T19:07:15Z kam1 joined #lisp 2020-12-23T19:08:22Z frgo quit (Ping timeout: 260 seconds) 2020-12-23T19:18:22Z Jesin quit (Quit: Leaving) 2020-12-23T19:20:08Z karlosz quit (Remote host closed the connection) 2020-12-23T19:23:14Z bisickcor joined #lisp 2020-12-23T19:24:47Z Jesin joined #lisp 2020-12-23T19:26:37Z iekfkk quit (Ping timeout: 264 seconds) 2020-12-23T19:27:03Z saganman quit (Ping timeout: 260 seconds) 2020-12-23T19:35:32Z galex-713 quit (Ping timeout: 260 seconds) 2020-12-23T19:36:42Z galex-713 joined #lisp 2020-12-23T19:40:36Z karlosz joined #lisp 2020-12-23T19:50:25Z heisig quit (Ping timeout: 246 seconds) 2020-12-23T19:55:51Z Aurora_iz_kosmos quit (Remote host closed the connection) 2020-12-23T19:56:29Z Aurora_iz_kosmos joined #lisp 2020-12-23T19:56:54Z gareppa joined #lisp 2020-12-23T20:00:08Z charles`: does anyone know how to deal with usockets? address in use error? 2020-12-23T20:03:30Z amb007 quit (Read error: Connection reset by peer) 2020-12-23T20:03:52Z amb007 joined #lisp 2020-12-23T20:08:49Z narimiran_ quit (Ping timeout: 265 seconds) 2020-12-23T20:10:57Z phoe: jasom: what do you mean? 2020-12-23T20:11:01Z cosimone joined #lisp 2020-12-23T20:11:02Z _death: sounds like you should pass :reuse-address t to socket-listen 2020-12-23T20:11:23Z phoe: charles`: either close the previous socket or restart your Lisp image if you lost your handle to it. 2020-12-23T20:13:28Z phoe: News: the 14th European Lisp Symposium has just been announced, along with its Call for Papers. It will take place May 3 - May 4 2021; it will happen online just like ELS 2020. 2020-12-23T20:13:36Z phoe: More info on Reddit: https://www.reddit.com/r/lisp/comments/kj0afz/14th_european_lisp_symposium_call_for_papers_may/? 2020-12-23T20:19:06Z miasuji joined #lisp 2020-12-23T20:19:15Z jasom: phoe: for json deserialization, if you don't desrialize to arbitrary symbols, but just a whitelist of symbols no worrying about memory leaks 2020-12-23T20:20:18Z phoe: jasom: if you know your whitelist ahead of time then it's not a problem 2020-12-23T20:20:34Z phoe: if you want to deserialize arbitrary json then it's a problem. 2020-12-23T20:20:52Z hiroaki quit (Ping timeout: 246 seconds) 2020-12-23T20:21:07Z perrier-jouet joined #lisp 2020-12-23T20:24:18Z jasom: phoe: looking at your example, will (pseudo-intern "foo") cause a literal foo to end up in the fasl? My compiler-macro-fu is a bit weak these days 2020-12-23T20:24:55Z phoe: jasom: nope 2020-12-23T20:25:08Z phoe: LOAD-TIME-VALUE will force it to get evaluated at load time 2020-12-23T20:25:27Z phoe: if it ends up in the FASL, we will lose, because the unFASLized gensym will be a fresh one, and therefore not EQ to whatever we already have in the cache 2020-12-23T20:25:41Z jasom: got it 2020-12-23T20:25:42Z phoe: s/unFASLized/regenerated after loading the FASL/ 2020-12-23T20:26:08Z jasom: that's a rather clever solution; anything used statically will stay alive forever, and unused items will eventually go away 2020-12-23T20:26:10Z phoe: that's why LOAD-TIME-VALUE is the tool for this job 2020-12-23T20:26:17Z phoe: yes, because we have a weak hash table 2020-12-23T20:26:32Z phoe: actually we don't need to use gensyms; we can use any objects that have strong identity 2020-12-23T20:26:35Z phoe: so e.g. cons cells 2020-12-23T20:26:44Z phoe: or strings, even though using those would confuse people a real lot 2020-12-23T20:27:16Z phoe: because an EQ hash table with string keys is a bug in 90% cases and is highly confusing and suspicious in the remaining 90% cases 2020-12-23T20:27:45Z phoe: especially if we use literal strings to "access" it, which is what the GET function might suggest 2020-12-23T20:28:31Z phoe: so if memory is an issue, gensyms could be replaced with conses. otherwise, IMO they can stay because, like all symbols, they have names which help with debugging a little bit. 2020-12-23T20:29:27Z phoe: I'll try to flesh this example out more during the holidays and in the worst case I'll end up with the #.(incf n)th json library 2020-12-23T20:30:23Z aartaka joined #lisp 2020-12-23T20:30:46Z jasom: hmm, I wonder if one could make a tree-shaker by putting all the symbols in CL in a weak hash-table, uninterning everything, forcing a GC, then reinterning what's left 2020-12-23T20:31:03Z phoe: that's how some tree shakers are implemented, AFAIR 2020-12-23T20:31:44Z andreyorst quit (Ping timeout: 256 seconds) 2020-12-23T20:31:57Z jasom: There's got to be a reason that won't work on SBCL though, because it would have a tree-shaker if it were really that easy. 2020-12-23T20:32:21Z eden joined #lisp 2020-12-23T20:33:16Z aartaka_d quit (Ping timeout: 256 seconds) 2020-12-23T20:34:16Z phoe: jasom: https://github.com/sbcl/sbcl/blob/d4740e38bd4e541c29827d922737147b6813e8b3/src/code/shaketree.lisp#L7 2020-12-23T20:34:24Z phoe: exactly the way you described 2020-12-23T20:34:36Z hiroaki joined #lisp 2020-12-23T20:35:17Z Krystof: well, but it doesn't shake all that much 2020-12-23T20:35:30Z Krystof: there are plenty of other strong links keeping lots of data structures around 2020-12-23T20:35:51Z phoe: yes, that's just packages in here 2020-12-23T20:36:01Z Krystof: for example: every single class is kept alive by class-direct-subclasses, even if their names disappear 2020-12-23T20:36:30Z phoe: (which is something I've painfully discovered several times) 2020-12-23T20:38:32Z bilalkhan joined #lisp 2020-12-23T20:40:38Z puchacz joined #lisp 2020-12-23T20:41:03Z jw4 quit (Read error: Connection reset by peer) 2020-12-23T20:41:20Z aartaka_d joined #lisp 2020-12-23T20:41:37Z puchacz: hi, how can I define a type alias? I want to have an alias named default-float-type defined in cl-user in the top file somewhere, and switch it before recompiling everything between single-float and double-float 2020-12-23T20:41:43Z aartaka quit (Ping timeout: 260 seconds) 2020-12-23T20:42:14Z aeth: DEFTYPE 2020-12-23T20:42:56Z jw4 joined #lisp 2020-12-23T20:43:05Z puchacz: aeth - will I be able to use default-float-type everywhere where single-float is allowed? mind single-float is sometimes quoted, sometimes not 2020-12-23T20:43:10Z aeth: And apparently, this works: (deftype default-float () *read-default-float-format*) 2020-12-23T20:43:18Z aeth: (typep 1f0 'default-float) => T 2020-12-23T20:43:22Z aeth: (typep 1d0 'default-float) => NIL 2020-12-23T20:43:27Z aeth: However, it will be out of sync 2020-12-23T20:43:30Z phoe: aeth: the issue is that this won--- yes 2020-12-23T20:43:41Z puchacz: what will be out of sync? 2020-12-23T20:43:43Z aeth: You'll have to only set *read-default-float-format* through something that also updates the DEFTYPE 2020-12-23T20:43:51Z phoe: this won't get recomputed every time you rebind the variable 2020-12-23T20:44:07Z aeth: i.e. (setf *read-default-float-format* 'double-float) (typep 1d0 'default-float) => NIL 2020-12-23T20:44:17Z aeth: It's only reading *read-default-float-format* once 2020-12-23T20:44:19Z puchacz: I want it at compile time, so it is fine to set it once 2020-12-23T20:44:30Z phoe: then that'll work 2020-12-23T20:44:39Z puchacz: thanks guys 2020-12-23T20:44:50Z puchacz: I am ok with killing sbcl and starting it again, when I change default-float-type 2020-12-23T20:44:51Z aeth: puchacz: and, yeah, it's just a type 2020-12-23T20:45:02Z aeth: so it'll work when quoted (e.g. TYPEP) and when not (e.g. CHECK-TYPE) 2020-12-23T20:45:17Z puchacz: great, tks 2020-12-23T20:48:30Z puchacz: that one works too :) 2020-12-23T20:48:31Z puchacz: (make-array (list n n) :element-type 'default-float-type :initial-element 0.0) 2020-12-23T20:53:05Z aeth: It's weird seeing 0.0 without an f0 or d0 2020-12-23T20:53:13Z aeth: but that's actually correct in that situation 2020-12-23T20:53:22Z no-defun-allowed left #lisp 2020-12-23T20:53:26Z aeth: In that, it'll work no matter what. 2020-12-23T20:54:19Z phoe: well, it'll get read with the default float type 2020-12-23T20:54:20Z puchacz: I use numcl and it has some strict type definitions so it can optimise matrix operations, it defaults to single-float, I hope it will work seamlessly with my hack 2020-12-23T21:01:03Z eden quit (Ping timeout: 240 seconds) 2020-12-23T21:01:07Z aeth: ime, the library has to be aware that *read-default-float-format* is potentially redefined in order for it to still work when it is redefined 2020-12-23T21:01:16Z aeth: i.e. the single-float stuff has to have the f0 suffix 2020-12-23T21:03:30Z urek joined #lisp 2020-12-23T21:03:45Z wsinatra quit (Quit: WeeChat 3.0) 2020-12-23T21:04:53Z urek quit (Client Quit) 2020-12-23T21:07:36Z aartaka_d quit (Ping timeout: 240 seconds) 2020-12-23T21:10:37Z ex_nihilo joined #lisp 2020-12-23T21:11:40Z ex_nihilo quit (Remote host closed the connection) 2020-12-23T21:12:09Z ex_nihilo joined #lisp 2020-12-23T21:13:40Z ex_nihilo quit (Remote host closed the connection) 2020-12-23T21:18:59Z retropikzel quit (Quit: Leaving) 2020-12-23T21:20:30Z gareppa quit (Quit: Leaving) 2020-12-23T21:21:44Z heisig joined #lisp 2020-12-23T21:22:17Z kam1 quit (Ping timeout: 265 seconds) 2020-12-23T21:23:00Z shka_ quit (Ping timeout: 272 seconds) 2020-12-23T21:23:12Z heisig quit (Client Quit) 2020-12-23T21:23:22Z hnOsmium0001 quit (Quit: Connection closed for inactivity) 2020-12-23T21:29:47Z liberliver joined #lisp 2020-12-23T21:32:08Z Lycurgus joined #lisp 2020-12-23T21:32:58Z liberliver1 joined #lisp 2020-12-23T21:34:25Z liberliver quit (Ping timeout: 264 seconds) 2020-12-23T21:34:25Z liberliver1 is now known as liberliver 2020-12-23T21:34:43Z matryoshka quit (Quit: ZNC 1.8.2 - https://znc.in) 2020-12-23T21:35:05Z matryoshka joined #lisp 2020-12-23T21:47:13Z oxum_ joined #lisp 2020-12-23T21:48:34Z oxum quit (Ping timeout: 256 seconds) 2020-12-23T21:51:44Z puchacz: what's the difference between q:quickload and require if the system is already in local quicklisp? 2020-12-23T21:52:03Z puchacz: and ~/.cache/common-lisp is empty, so everything requires compilation 2020-12-23T21:52:43Z phoe: REQUIRE likely invokes ASDF:LOAD-SYSTEM 2020-12-23T21:52:57Z phoe: while QL:QUICKLOAD certainly invokes ASDF:LOAD-SYSTEM 2020-12-23T21:53:12Z charles` quit (Ping timeout: 260 seconds) 2020-12-23T21:53:35Z puchacz: which one should I use? 2020-12-23T21:53:43Z phoe: I suggest ql:quickload 2020-12-23T21:53:53Z phoe: REQUIRE is highly implementation-defined 2020-12-23T21:54:11Z puchacz: is require CL or one of the libraries like ASDF? 2020-12-23T21:54:21Z phoe: not really 2020-12-23T21:54:26Z phoe: CL:REQUIRE is a function that you can call 2020-12-23T21:54:34Z phoe: but what it *exactly* does is implementation-dependent 2020-12-23T21:54:40Z puchacz: I see 2020-12-23T21:54:52Z puchacz: thanks :) 2020-12-23T21:54:53Z phoe: whereas ql:quickload is pretty much implementation-independent. 2020-12-23T21:55:09Z puchacz: CL has rough edges somewhere.... 2020-12-23T21:55:16Z puchacz: but anyway :) 2020-12-23T21:55:22Z phoe: I men, ASDF likely hooks into CL:REQUIRE on all popular Lisp implementations, but still, it's one of the parts of the language that I don't really like 2020-12-23T21:55:33Z phoe: especially since ASDF literally does everything CL:REQUIRE is supposed to do, except better 2020-12-23T21:56:03Z puchacz: my least favourites are eval-when which I never understood, but hey ;) 2020-12-23T21:56:35Z puchacz: my takeaway is: do not call require, ever 2020-12-23T21:57:02Z phoe: I think I can agree with this 2020-12-23T21:57:11Z phoe: as for eval-when, there's Fare's article about it that is pretty good 2020-12-23T21:57:22Z phoe: https://fare.livejournal.com/146698.html 2020-12-23T21:57:29Z puchacz: https://fare.livejournal.com/146698.html 2020-12-23T21:57:31Z puchacz: found it :) 2020-12-23T21:57:35Z phoe: yes 2020-12-23T21:57:38Z puchacz: man, I even agree with the title 2020-12-23T21:57:42Z puchacz: cheers 2020-12-23T21:57:51Z phoe: and he's right that only one eval-when combination is useful for 99% of all practical purposes 2020-12-23T21:58:26Z bheesham joined #lisp 2020-12-23T21:58:48Z phoe: and the remaining 1% is for the people who really want to control when given forms are evaluated, mostly because they write their own languages on top of Lisp and they need to control the way FASLs are created... or they are implementing Lisp and they *really* need to control the way FASLs are created 2020-12-23T21:59:18Z puchacz: I am not that 1% 2020-12-23T21:59:26Z phoe: not yet* 2020-12-23T21:59:32Z puchacz: ha 2020-12-23T21:59:38Z oxum joined #lisp 2020-12-23T22:01:00Z oxum_ quit (Ping timeout: 272 seconds) 2020-12-23T22:05:17Z lotuseater joined #lisp 2020-12-23T22:06:00Z karlosz quit (Remote host closed the connection) 2020-12-23T22:09:02Z puchacz: humour: Fare in 2009, speaking about Common Lisp: "I'm starting to get a bit tired of it." 2020-12-23T22:09:36Z puchacz: in the "eval-when" article 2020-12-23T22:09:43Z puchacz: comments 2020-12-23T22:09:56Z loli quit (Ping timeout: 240 seconds) 2020-12-23T22:10:20Z Nilby quit (Ping timeout: 256 seconds) 2020-12-23T22:10:21Z jasom: I've (ab)used eval-when and run-program to compile other languages without having to figure out how to extend ASDF 2020-12-23T22:10:57Z villanella quit (Ping timeout: 260 seconds) 2020-12-23T22:13:02Z jasom: just wrap the lisp code that will run what you want with (eval-when (:compile-toplevel ...) and add the dependencies in asdf as :static-file 2020-12-23T22:14:03Z notzmv joined #lisp 2020-12-23T22:19:55Z puchacz quit (Remote host closed the connection) 2020-12-23T22:24:26Z iekfkk joined #lisp 2020-12-23T22:27:37Z bisickcor quit (Ping timeout: 260 seconds) 2020-12-23T22:27:44Z v0|d quit (Ping timeout: 256 seconds) 2020-12-23T22:33:04Z akoana left #lisp 2020-12-23T22:33:20Z dbotton_ quit (Quit: Leaving) 2020-12-23T22:35:03Z karlosz joined #lisp 2020-12-23T22:38:41Z leo_song joined #lisp 2020-12-23T22:41:56Z nullman quit (Ping timeout: 240 seconds) 2020-12-23T22:46:10Z matryoshka quit (Quit: ZNC 1.8.2 - https://znc.in) 2020-12-23T22:46:29Z matryoshka joined #lisp 2020-12-23T22:58:28Z Gnuxie[m]: which crab put gamelisp in the ELS topic 2020-12-23T23:00:33Z phoe: uh oh 2020-12-23T23:05:05Z frgo_ quit (Remote host closed the connection) 2020-12-23T23:05:31Z frgo joined #lisp 2020-12-23T23:06:48Z kam1 joined #lisp 2020-12-23T23:11:37Z sjl quit (Ping timeout: 264 seconds) 2020-12-23T23:17:19Z varjag: right, before you know it's a rust conference 2020-12-23T23:22:41Z orivej joined #lisp 2020-12-23T23:23:47Z Nilby joined #lisp 2020-12-23T23:23:52Z Aurora_iz_kosmos quit (Remote host closed the connection) 2020-12-23T23:23:59Z moon-child: ELS? 2020-12-23T23:24:41Z Aurora_iz_kosmos joined #lisp 2020-12-23T23:27:40Z Gnuxie[m]: European Lisp Symposium, it's a pretty nice thing 2020-12-23T23:29:07Z moon-child: does anyone know if sbcl uses cdr coding? I thought it did, but can't find a reference now 2020-12-23T23:31:49Z Bike: i don't think any modern implementations use cdr coding. 2020-12-23T23:38:10Z phoe: SBCL doesn't, for sure 2020-12-23T23:40:28Z jasom: Did the implementations that used CDR coding have vectors as well? It always seemed like a "poor mans vector" to me 2020-12-23T23:42:07Z Aurora_iz_kosmos quit (Remote host closed the connection) 2020-12-23T23:42:38Z Aurora_iz_kosmos joined #lisp 2020-12-23T23:43:24Z learningit joined #lisp 2020-12-23T23:44:45Z learningit quit (Client Quit) 2020-12-23T23:45:11Z EvW quit (Ping timeout: 258 seconds) 2020-12-23T23:47:06Z rgherdt quit (Ping timeout: 258 seconds) 2020-12-23T23:49:49Z charles` joined #lisp 2020-12-23T23:56:38Z aeth: I mean, it optimizes some code people actually write, even though it's not the right way to write it. 2020-12-23T23:56:56Z aeth: I think in modern programming languages, they tend to only do that with strings, though. 2020-12-23T23:57:44Z miasuji quit (Ping timeout: 268 seconds) 2020-12-23T23:58:20Z kam1 quit (Ping timeout: 256 seconds) 2020-12-23T23:59:37Z hiroaki quit (Ping timeout: 246 seconds) 2020-12-24T00:01:34Z kaftejiman quit (Remote host closed the connection) 2020-12-24T00:02:29Z gaqwas quit (Ping timeout: 272 seconds) 2020-12-24T00:02:31Z EvW joined #lisp 2020-12-24T00:05:01Z cosimone quit (Ping timeout: 272 seconds) 2020-12-24T00:10:40Z Jeanne-Kamikaze joined #lisp 2020-12-24T00:13:50Z Inline quit (Ping timeout: 264 seconds) 2020-12-24T00:16:11Z phoe: today's funniest SBCL moment: the return value of # 2020-12-24T00:16:14Z phoe: time to go to sleep 2020-12-24T00:17:07Z pve quit (Quit: leaving) 2020-12-24T00:19:21Z kam1 joined #lisp 2020-12-24T00:19:28Z Lycurgus quit (Quit: Exeunt) 2020-12-24T00:20:58Z Jeanne-Kamikaze quit (Ping timeout: 246 seconds) 2020-12-24T00:21:59Z charles` quit (Ping timeout: 258 seconds) 2020-12-24T00:25:58Z perrier-jouet quit (Quit: WeeChat 3.0) 2020-12-24T00:36:19Z varjag quit (Quit: ERC (IRC client for Emacs 28.0.50)) 2020-12-24T00:44:16Z tsrt^ joined #lisp 2020-12-24T00:52:56Z monkey_ joined #lisp 2020-12-24T00:56:36Z random-nick quit (Ping timeout: 240 seconds) 2020-12-24T01:05:03Z pfdietz: (downloads the acm tex template) ELS is not an ACM conference though, right? 2020-12-24T01:05:23Z igemnace quit (Remote host closed the connection) 2020-12-24T01:12:51Z charles` joined #lisp 2020-12-24T01:16:59Z bitmapper quit 2020-12-24T01:17:14Z bitmapper joined #lisp 2020-12-24T01:22:06Z rumbler31 joined #lisp 2020-12-24T01:23:58Z kam1 quit (Ping timeout: 246 seconds) 2020-12-24T01:27:59Z monkey_ quit (Ping timeout: 272 seconds) 2020-12-24T01:28:11Z wxie joined #lisp 2020-12-24T01:34:32Z frost-lab joined #lisp 2020-12-24T01:49:58Z lucasb quit (Quit: Connection closed for inactivity) 2020-12-24T01:51:50Z hnOsmium0001 joined #lisp 2020-12-24T01:52:07Z ebrasca quit (Remote host closed the connection) 2020-12-24T01:52:08Z perrier-jouet joined #lisp 2020-12-24T01:52:40Z imode quit (Ping timeout: 246 seconds) 2020-12-24T01:54:05Z Lord_of_Life_ joined #lisp 2020-12-24T01:54:43Z imode joined #lisp 2020-12-24T01:55:33Z Lord_of_Life quit (Ping timeout: 260 seconds) 2020-12-24T01:55:34Z Lord_of_Life_ is now known as Lord_of_Life 2020-12-24T01:56:50Z galex-713 quit (Quit: No Ping reply in 180 seconds.) 2020-12-24T01:58:10Z galex-713 joined #lisp 2020-12-24T02:02:45Z jibanes quit (Ping timeout: 240 seconds) 2020-12-24T02:04:33Z kam1 joined #lisp 2020-12-24T02:04:53Z jibanes joined #lisp 2020-12-24T02:05:21Z skapata quit (Ping timeout: 272 seconds) 2020-12-24T02:09:16Z jibanes quit (Ping timeout: 240 seconds) 2020-12-24T02:10:24Z xrash joined #lisp 2020-12-24T02:10:31Z jibanes joined #lisp 2020-12-24T02:13:34Z skapata joined #lisp 2020-12-24T02:16:48Z fe[nl]ix: pfdietz: it's not 2020-12-24T02:17:23Z torbo quit (Ping timeout: 272 seconds) 2020-12-24T02:17:36Z pfdietz: So I wonder what, if anything, goes into those ACM-specific fields in the tex template. 2020-12-24T02:21:12Z jibanes quit (Ping timeout: 256 seconds) 2020-12-24T02:23:09Z jibanes joined #lisp 2020-12-24T02:25:10Z Oladon joined #lisp 2020-12-24T02:28:43Z jibanes quit (Ping timeout: 246 seconds) 2020-12-24T02:29:43Z jibanes joined #lisp 2020-12-24T02:29:58Z toorevitimirp joined #lisp 2020-12-24T02:35:16Z bheesham_ joined #lisp 2020-12-24T02:35:37Z bheesham quit (Ping timeout: 264 seconds) 2020-12-24T02:36:13Z EvW quit (Ping timeout: 268 seconds) 2020-12-24T02:47:16Z jibanes quit (Ping timeout: 272 seconds) 2020-12-24T02:48:31Z jibanes joined #lisp 2020-12-24T02:50:36Z bheesham_ quit (Ping timeout: 256 seconds) 2020-12-24T02:51:35Z charles`: Has anyone gotten (usocket:socket-server...) to pass the client socket as an argument to the handler function? 2020-12-24T02:52:02Z bheesham_ joined #lisp 2020-12-24T02:54:36Z jibanes quit (Ping timeout: 240 seconds) 2020-12-24T02:55:44Z jibanes joined #lisp 2020-12-24T02:57:28Z kam1 quit (Ping timeout: 256 seconds) 2020-12-24T02:59:57Z _whitelogger quit (Remote host closed the connection) 2020-12-24T03:02:08Z _whitelogger joined #lisp 2020-12-24T03:05:07Z rumbler31 quit (Ping timeout: 246 seconds) 2020-12-24T03:10:25Z jibanes quit (Ping timeout: 240 seconds) 2020-12-24T03:10:54Z surabax quit (Quit: Leaving) 2020-12-24T03:12:42Z jibanes joined #lisp 2020-12-24T03:14:13Z orivej quit (Ping timeout: 246 seconds) 2020-12-24T03:16:23Z charles`: I guess it is kind of irrelevant isn't it 2020-12-24T03:17:43Z jibanes quit (Ping timeout: 246 seconds) 2020-12-24T03:18:47Z jibanes joined #lisp 2020-12-24T03:23:38Z jibanes quit (Ping timeout: 260 seconds) 2020-12-24T03:24:30Z jibanes joined #lisp 2020-12-24T03:29:26Z kam1 joined #lisp 2020-12-24T03:30:13Z jibanes quit (Ping timeout: 264 seconds) 2020-12-24T03:31:12Z jibanes joined #lisp 2020-12-24T03:33:32Z perrier-jouet quit (Quit: WeeChat 3.0) 2020-12-24T03:37:01Z aartaka joined #lisp 2020-12-24T03:43:36Z jibanes quit (Ping timeout: 240 seconds) 2020-12-24T03:44:57Z wxie quit (Remote host closed the connection) 2020-12-24T03:45:52Z jibanes joined #lisp 2020-12-24T03:50:56Z jibanes quit (Ping timeout: 240 seconds) 2020-12-24T03:51:55Z Oladon quit (Quit: Leaving.) 2020-12-24T03:52:04Z jibanes joined #lisp 2020-12-24T03:54:39Z pfdietz quit (Ping timeout: 245 seconds) 2020-12-24T03:57:21Z wxie joined #lisp 2020-12-24T04:00:21Z kam1 quit (Read error: Connection reset by peer) 2020-12-24T04:00:36Z kam1 joined #lisp 2020-12-24T04:02:13Z Alfr_ joined #lisp 2020-12-24T04:02:52Z jibanes quit (Ping timeout: 246 seconds) 2020-12-24T04:02:57Z beach: Good morning everyone! 2020-12-24T04:04:42Z Alfr quit (Ping timeout: 258 seconds) 2020-12-24T04:04:48Z jibanes joined #lisp 2020-12-24T04:07:01Z todun joined #lisp 2020-12-24T04:14:10Z __jrjsmrtn__ joined #lisp 2020-12-24T04:14:32Z _jrjsmrtn quit (Ping timeout: 256 seconds) 2020-12-24T04:14:54Z perrier-jouet joined #lisp 2020-12-24T04:17:16Z jibanes quit (Ping timeout: 240 seconds) 2020-12-24T04:19:27Z jibanes joined #lisp 2020-12-24T04:22:48Z ex_nihilo joined #lisp 2020-12-24T04:25:28Z jibanes quit (Ping timeout: 260 seconds) 2020-12-24T04:26:04Z jibanes joined #lisp 2020-12-24T04:30:51Z skapata quit (Remote host closed the connection) 2020-12-24T04:31:32Z wxie quit (Ping timeout: 256 seconds) 2020-12-24T04:32:56Z jibanes quit (Ping timeout: 265 seconds) 2020-12-24T04:33:37Z jibanes joined #lisp 2020-12-24T04:34:18Z narimiran_ joined #lisp 2020-12-24T04:47:02Z phantomics: Morning beach 2020-12-24T04:52:53Z todun quit (Quit: todun) 2020-12-24T05:02:06Z mrcom quit (Read error: Connection reset by peer) 2020-12-24T05:12:20Z wxie joined #lisp 2020-12-24T05:18:36Z jibanes quit (Ping timeout: 240 seconds) 2020-12-24T05:20:37Z l1x quit (Ping timeout: 260 seconds) 2020-12-24T05:20:54Z jibanes joined #lisp 2020-12-24T05:21:12Z _Ark_ quit (Ping timeout: 260 seconds) 2020-12-24T05:21:23Z _Ark_ joined #lisp 2020-12-24T05:21:47Z lukego quit (Ping timeout: 260 seconds) 2020-12-24T05:23:21Z l1x joined #lisp 2020-12-24T05:23:51Z lukego joined #lisp 2020-12-24T05:26:26Z jibanes quit (Ping timeout: 256 seconds) 2020-12-24T05:27:34Z jibanes joined #lisp 2020-12-24T05:28:41Z Aurora_iz_kosmos quit (Quit: brb) 2020-12-24T05:29:07Z orivej joined #lisp 2020-12-24T05:30:45Z Bike quit (Quit: Lost terminal) 2020-12-24T05:33:53Z X-Scale` joined #lisp 2020-12-24T05:34:02Z Aurora_v_kosmose joined #lisp 2020-12-24T05:34:34Z X-Scale quit (Ping timeout: 246 seconds) 2020-12-24T05:34:54Z X-Scale` is now known as X-Scale 2020-12-24T05:42:52Z jibanes quit (Ping timeout: 256 seconds) 2020-12-24T05:43:01Z aartaka_d joined #lisp 2020-12-24T05:43:40Z aartaka quit (Ping timeout: 246 seconds) 2020-12-24T05:44:19Z jibanes joined #lisp 2020-12-24T05:48:38Z mrcom joined #lisp 2020-12-24T05:54:43Z leo_song quit (Ping timeout: 260 seconds) 2020-12-24T05:55:06Z leo_song joined #lisp 2020-12-24T06:13:42Z krid quit (Ping timeout: 256 seconds) 2020-12-24T06:21:02Z _whitelogger quit (Remote host closed the connection) 2020-12-24T06:23:10Z _whitelogger joined #lisp 2020-12-24T06:28:52Z jibanes quit (Ping timeout: 260 seconds) 2020-12-24T06:29:35Z jibanes joined #lisp 2020-12-24T06:31:50Z Nilby quit (Read error: Connection reset by peer) 2020-12-24T06:42:29Z nostoi joined #lisp 2020-12-24T06:48:59Z nostoi quit (Quit: Verlassend) 2020-12-24T06:49:24Z kam1 quit (Ping timeout: 256 seconds) 2020-12-24T06:58:12Z andreyorst` joined #lisp 2020-12-24T06:58:38Z andreyorst` quit (Client Quit) 2020-12-24T06:59:41Z andreyorst` joined #lisp 2020-12-24T07:03:08Z atomik_dog joined #lisp 2020-12-24T07:06:19Z Guest85879 quit (Ping timeout: 268 seconds) 2020-12-24T07:07:03Z Stanley00 joined #lisp 2020-12-24T07:14:06Z jibanes quit (Ping timeout: 256 seconds) 2020-12-24T07:14:55Z zaquest quit (Remote host closed the connection) 2020-12-24T07:15:52Z jibanes joined #lisp 2020-12-24T07:16:25Z xrash quit (Ping timeout: 246 seconds) 2020-12-24T07:16:57Z jerme_ quit (Ping timeout: 260 seconds) 2020-12-24T07:17:08Z buoy49 quit (Ping timeout: 258 seconds) 2020-12-24T07:17:11Z banjiewen_ quit (Read error: Connection reset by peer) 2020-12-24T07:17:11Z alanz quit (Read error: Connection reset by peer) 2020-12-24T07:17:11Z kilimanjaro quit (Write error: Connection reset by peer) 2020-12-24T07:18:38Z alanz joined #lisp 2020-12-24T07:18:39Z kilimanjaro joined #lisp 2020-12-24T07:18:40Z buoy49 joined #lisp 2020-12-24T07:18:42Z jerme_ joined #lisp 2020-12-24T07:18:44Z banjiewen_ joined #lisp 2020-12-24T07:19:23Z buffergn0me joined #lisp 2020-12-24T07:23:44Z jibanes quit (Ping timeout: 256 seconds) 2020-12-24T07:25:27Z jibanes joined #lisp 2020-12-24T07:26:11Z zaquest joined #lisp 2020-12-24T07:30:25Z CrazyEdd quit (Remote host closed the connection) 2020-12-24T07:33:05Z aartaka joined #lisp 2020-12-24T07:34:16Z aartaka_d quit (Ping timeout: 240 seconds) 2020-12-24T07:53:06Z gaqwas joined #lisp 2020-12-24T07:53:06Z gaqwas quit (Changing host) 2020-12-24T07:53:06Z gaqwas joined #lisp 2020-12-24T07:54:37Z buffergn0me quit (Ping timeout: 260 seconds) 2020-12-24T08:09:47Z shka_ joined #lisp 2020-12-24T08:10:13Z kam1 joined #lisp 2020-12-24T08:23:11Z retropikzel joined #lisp 2020-12-24T08:25:57Z wxie quit (Quit: wxie) 2020-12-24T08:26:55Z wxie joined #lisp 2020-12-24T08:38:38Z villanella joined #lisp 2020-12-24T08:45:22Z Stanley00 quit 2020-12-24T08:56:40Z hnOsmium0001 quit (Quit: Connection closed for inactivity) 2020-12-24T08:57:00Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-12-24T08:57:09Z cantstanya quit (Remote host closed the connection) 2020-12-24T08:57:37Z Aurora_v_kosmose joined #lisp 2020-12-24T08:59:26Z cantstanya joined #lisp 2020-12-24T09:00:39Z contrapunctus joined #lisp 2020-12-24T09:00:49Z contrapunctus: o/ 2020-12-24T09:01:05Z karlosz_ joined #lisp 2020-12-24T09:01:23Z jerme_ quit (Read error: Connection reset by peer) 2020-12-24T09:01:31Z alanz quit (Read error: Connection reset by peer) 2020-12-24T09:02:15Z buoy49 quit (Ping timeout: 268 seconds) 2020-12-24T09:02:15Z banjiewen_ quit (Ping timeout: 268 seconds) 2020-12-24T09:02:15Z kilimanjaro quit (Ping timeout: 268 seconds) 2020-12-24T09:02:41Z alanz joined #lisp 2020-12-24T09:02:50Z jerme_ joined #lisp 2020-12-24T09:03:12Z buoy49 joined #lisp 2020-12-24T09:03:57Z banjiewen_ joined #lisp 2020-12-24T09:04:01Z kilimanjaro joined #lisp 2020-12-24T09:04:56Z karlosz quit (Ping timeout: 240 seconds) 2020-12-24T09:04:56Z karlosz_ is now known as karlosz 2020-12-24T09:05:14Z Stanley00 joined #lisp 2020-12-24T09:05:37Z charles` quit (Ping timeout: 258 seconds) 2020-12-24T09:07:26Z hendursa1 joined #lisp 2020-12-24T09:09:03Z hendursaga quit (Ping timeout: 240 seconds) 2020-12-24T09:09:22Z alanz quit (Ping timeout: 256 seconds) 2020-12-24T09:10:45Z beach: Hello contrapunctus. 2020-12-24T09:10:53Z hendursa1 quit (Remote host closed the connection) 2020-12-24T09:11:40Z hendursa1 joined #lisp 2020-12-24T09:11:53Z contrapunctus: Hey, beach 2020-12-24T09:12:27Z frost-lab quit (Quit: Connection closed) 2020-12-24T09:12:49Z rogersm joined #lisp 2020-12-24T09:13:08Z contrapunctus: I tried building an executable by following the cookbook - it uses `sbcl --load foo.asd ...`, which fails for me. It seems ASDF is not being loaded before the .asd is? It says that `((:file "src/foo.lisp"))` (value of `:components`) is an illegal function call, and that `defsystem` is an undefined function 🤔 2020-12-24T09:14:23Z contrapunctus: ( https://lispcookbook.github.io/cl-cookbook/scripting.html ) 2020-12-24T09:15:29Z rgherdt joined #lisp 2020-12-24T09:17:07Z impaktor joined #lisp 2020-12-24T09:18:01Z impaktor: If anyone is interested, I put the "PCL Distilled" into an org-mode file, that works well for both html & latex export: https://impaktor.gitlab.io/practical_common_lisp-distilled.html 2020-12-24T09:19:24Z aeth quit (Ping timeout: 256 seconds) 2020-12-24T09:19:31Z impaktor: Full source here: https://gitlab.com/impaktor/impaktor.gitlab.io/-/blob/master/posts/practical_common_lisp-distilled.org 2020-12-24T09:20:16Z alanz joined #lisp 2020-12-24T09:21:02Z jibanes quit (Ping timeout: 256 seconds) 2020-12-24T09:21:15Z aeth joined #lisp 2020-12-24T09:22:51Z jibanes joined #lisp 2020-12-24T09:28:27Z saganman joined #lisp 2020-12-24T09:34:03Z jibanes quit (Ping timeout: 265 seconds) 2020-12-24T09:35:29Z jibanes joined #lisp 2020-12-24T09:42:02Z _whitelogger quit (Remote host closed the connection) 2020-12-24T09:44:10Z _whitelogger joined #lisp 2020-12-24T09:48:59Z birdwing joined #lisp 2020-12-24T09:50:46Z mbrumlow quit (Quit: %wubba lubba dub dub%) 2020-12-24T09:51:09Z birdwing: (defvar *out-streams* '()) (with-output-to-string (srm) (push srm *out-streams*))(format t "~A" out-streams*);==>> CORRUPTION WARNING in SBCL pid 41150 tid 41150: Memory fault at 0x7f35 The integrity of this image is possibly compromised. Continuing with fingers crossed. (SB-KERNEL:OUTPUT-UGLY-OBJECT # #) 2020-12-24T09:51:38Z birdwing: sbcl 2.0.11 2020-12-24T09:51:48Z beach: Sounds bad. 2020-12-24T09:52:13Z birdwing: please forward it to #sbcl , thank you 2020-12-24T09:52:16Z beach: What setting for the SAFETY OPTIMIZE quality do you have. 2020-12-24T09:52:47Z beach: Er, are you asking #lisp participants to do the forwarding? 2020-12-24T09:52:54Z birdwing: yes 2020-12-24T09:53:05Z beach: Amazing! 2020-12-24T09:53:07Z birdwing: #sbcl Cannot join channel (+r) - you need to be identified with services - see https://freenode.net/kb/answer/registration 2020-12-24T09:53:09Z beach: Just copy the message to #sbcl. 2020-12-24T09:53:27Z beach: Then use the mailing list. 2020-12-24T09:54:44Z birdwing: in my .sbclrc I have this (eval-when (:compile-toplevel :execute :load-toplevel) (proclaim '(optimize (safety 3) (debug 3) (speed 0) (space 0))) 2020-12-24T09:54:48Z rogersm: works fine in SBCL 2.0.11 2020-12-24T09:55:33Z rogersm: Darwin xxx 19.6.0 Darwin Kernel Version 19.6.0: Mon Aug 31 22:12:52 PDT 2020; root:xnu-6153.141.2~1/RELEASE_X86_64 x86_64 2020-12-24T09:55:44Z beach: birdwing: That does sound bad then. 2020-12-24T09:55:50Z rogersm: yep 2020-12-24T09:57:03Z amb007 quit (Read error: Connection reset by peer) 2020-12-24T09:57:14Z birdwing: Archlinux x86_64 ; ros list installed => sbcl-bin/2.0.11 2020-12-24T09:57:35Z amb007 joined #lisp 2020-12-24T10:00:16Z toorevitimirp quit (Ping timeout: 240 seconds) 2020-12-24T10:00:29Z toorevitimirp joined #lisp 2020-12-24T10:00:56Z rogersm: taking into account how many binaries have been core dumping in my mac lately, I'm happy to see this is not troubling me 2020-12-24T10:03:47Z birdwing: with sbcl 2.0.10 I get the same bug ; no quicklisp loaded , the only thing in my .sbclrc is (eval-when (:compile-toplevel :execute :load-toplevel) (proclaim '(optimize (safety 3) (debug 3) (speed 0) (space 0))) 2020-12-24T10:04:26Z rogersm: let me check with your .sbclrc 2020-12-24T10:06:30Z rogersm: yes, I'm able to replicate in a mac 2020-12-24T10:07:39Z rogersm: as a doctor would say: don't do that if you have headaches :D 2020-12-24T10:08:16Z phoe: good morning 2020-12-24T10:08:33Z birdwing: Good morning 2020-12-24T10:08:46Z phoe: birdwing: that's not a SBCL issue 2020-12-24T10:09:15Z phoe: the stream is dynamic-extent. 2020-12-24T10:09:28Z phoe: clhs with-output-to-string 2020-12-24T10:09:28Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/m_w_out_.htm 2020-12-24T10:09:31Z phoe: "The output string stream to which the variable var is bound has dynamic extent; its extent ends when the form is exited." 2020-12-24T10:09:51Z phoe: so when you push it outside of its dynamic scope, you are invoking undefined behavior. 2020-12-24T10:10:01Z amb007 quit (Read error: Connection reset by peer) 2020-12-24T10:10:29Z birdwing: Okay 2020-12-24T10:10:33Z phoe: so, SBCL is right, your code is invalid. 2020-12-24T10:11:13Z amb007 joined #lisp 2020-12-24T10:13:38Z beach: Good catch. 2020-12-24T10:14:33Z beach didn't really look at the code. 2020-12-24T10:16:01Z phoe: DX makes a lot of fireworks on SBCL 2020-12-24T10:16:02Z phoe: ((lambda () (print (restart-bind ((x (lambda ()))) (compute-restarts))))) 2020-12-24T10:16:18Z wxie quit (Ping timeout: 272 seconds) 2020-12-24T10:16:23Z phoe: this one I found to be real nice 2020-12-24T10:18:17Z birdwing: phoe, beach: it's code from the ytools package . I like the (out) function , I ve been using it it with *standard-output* until now but it saves the streams in a table and this lead to this undefined behavior when I used it with with-output-to-stream . https://www.reddit.com/r/lisp/comments/9a1rj/eliminating_format_from_lisp/ "My problem with out 2020-12-24T10:18:17Z birdwing: is that it is part of YTools and I have not (over the last 3 or 4 attempts) been able to successfully install and use it." here's a working version: https://paste.ofcode.org/mYeZRCLZDNHB2Z39L4swzx 2020-12-24T10:18:53Z phoe: wait a second... what's ytools? 2020-12-24T10:19:16Z frost-lab joined #lisp 2020-12-24T10:19:44Z birdwing: http://www.cs.yale.edu/homes/dvm/format-stinks.html www.cs.yale.edu/homes/dvm/papers/ytdoc.pdf 2020-12-24T10:19:58Z phoe: oh, yes - you cannot use it with w-o-t-s. these streams become invalid once the scope of w-o-t-s expires, and this means that you literally have a hole in your memory safety that is about to suck you out through it when you try to refer to that object. 2020-12-24T10:20:09Z phoe: or, in other words - a dangling pointer, which is a big no-no in a memory-safe world of Lisp. 2020-12-24T10:21:06Z phoe: what sort of table does it save to? 2020-12-24T10:21:49Z birdwing: (defvar out-streams* '()) ; a simple assoc list 2020-12-24T10:22:26Z phoe: is ytoola available on github somewhere? where can I find its source code? 2020-12-24T10:22:28Z birdwing: https://paste.ofcode.org/mYeZRCLZDNHB2Z39L4swzx at line 116 it saves the stream into that assoc list 2020-12-24T10:22:29Z phoe: Quicklisp does not seem to have it 2020-12-24T10:22:37Z frost-lab quit (Client Quit) 2020-12-24T10:22:49Z phoe: oh 2020-12-24T10:23:44Z phoe: that's bad. it treats all streams as having indefinite extent, which is a bug in the library UNLESS the documentation also explicitly mentions that OUT cannot be used with DX streams *WHATSOEVER*, which reduces the usability of the OUT macro because format can be used there just fine. 2020-12-24T10:25:41Z birdwing: the paste.ofcode above is loadable ( I extracted it from http://www.cs.yale.edu/homes/dvm/software/ytools.tar.gz , which is not asdf loadable. That's why I shared it here maybe others also like that (out) function and want to use it 2020-12-24T10:29:46Z phoe: that code would enjoy some modernization and possibly have some of its chunks removed - it seems that e.g. yt-install/yt-load has been superseded with ASDF 2020-12-24T10:30:29Z birdwing: yeah 2020-12-24T10:30:40Z narimiran_ is now known as narimiran 2020-12-24T10:34:00Z beach: I wonder whether a general write barrier could also catch an attempt to stick an object with dynamic extent in an object with indefinite extent. 2020-12-24T10:34:33Z phoe: hm, as long as you have a way to mark DX'd object in some way 2020-12-24T10:34:44Z phoe: oh wait, you have a way to mark those 2020-12-24T10:34:46Z frost-lab joined #lisp 2020-12-24T10:34:49Z beach: The address. 2020-12-24T10:34:52Z phoe: they're allocated on the stack, which is a separate memory region 2020-12-24T10:34:58Z beach: Exactly. 2020-12-24T10:35:08Z phoe: but... that gives you little 2020-12-24T10:35:27Z phoe: (dx-let ((x (list 1 2 3))) (let ((y (list x x x))) ...)) 2020-12-24T10:35:37Z phoe: right now we have a DX object inside a non-DX object 2020-12-24T10:35:42Z wxie joined #lisp 2020-12-24T10:36:11Z phoe: and this is valid Lisp code and we can use both X and Y normally inside of their combined dynamic scope 2020-12-24T10:36:44Z beach: Which one is the non-DX object? 2020-12-24T10:36:49Z phoe: Y 2020-12-24T10:36:56Z beach: It looks DX to me. 2020-12-24T10:37:20Z phoe: DX-LET implicitly does DECLARE DYNAMIC-EXTENT 2020-12-24T10:37:24Z phoe: that was my intent 2020-12-24T10:37:36Z phoe: but there's no such declaration for Y so I assume it gets allocated on the heap. 2020-12-24T10:38:09Z beach: I am not talking about declarations, but about what some escape analysis will determine. 2020-12-24T10:38:27Z phoe: (dx-let ((x (list 1 2 3))) (let ((y (list x x x))) ... y)) 2020-12-24T10:38:49Z phoe: if you call CDDDDR on the return value of this, you should be able to get NIL 2020-12-24T10:38:51Z beach: Whether Y gets allocated on the heap or on the stack is not important. The question is the access to Y. 2020-12-24T10:39:34Z phoe: even if it is a list full of dangling pointers, it is still a proper list so it ends with a NIL 2020-12-24T10:39:53Z phoe: so in this last case Y must be heap-allocated 2020-12-24T10:40:15Z phoe: and even if we figure out that sticking X in Y results in a DX object being stuck in a IX object - what's next? 2020-12-24T10:40:26Z phoe: (IX = Indefinite eXtent) 2020-12-24T10:40:31Z beach: But if Y is returned this way, then it is not DX which a simple analysis will tell you. 2020-12-24T10:40:39Z phoe: yes - sorry for the confusion 2020-12-24T10:41:16Z phoe: but may main question is - yes, even if you catch that "attempt", what will you do with it? 2020-12-24T10:41:26Z beach: Since it is undefined behavior, an error could be signaled. 2020-12-24T10:41:34Z contrapunctus: Anyone have an idea about my sbcl executable issue? 🤔 2020-12-24T10:42:23Z beach: phoe: You may be right that not all cases can be detected. It was just a thought. 2020-12-24T10:42:34Z beach: I haven't thought it through completely. 2020-12-24T10:42:40Z birdwing: contrapunctus: this issue? "I tried building an executable by following the cookbook - it uses `sbcl --load foo.asd ...`, which fails for me. It seems ASDF is not being loaded before the .asd is? It says that `((:file "src/foo.lisp"))` (value of `:components`) is an illegal function call, and that `defsystem` is an undefined function" 2020-12-24T10:42:40Z birdwing: https://lispcookbook.github.io/cl-cookbook/scripting.html 2020-12-24T10:42:47Z nostoi joined #lisp 2020-12-24T10:42:51Z contrapunctus: birdwing: yeah 2020-12-24T10:43:18Z phoe: birdwing: try (require :asdf) as the first thing in your build process 2020-12-24T10:43:49Z contrapunctus: phoe: thanks, I'll try that 😏 2020-12-24T10:43:53Z phoe: beach: hmmmm. yes, you could signal an error, but in what situations? when your escape analysis proves that you are leaking DX objects? 2020-12-24T10:44:35Z phoe: that would be very nice 2020-12-24T10:44:46Z heisig joined #lisp 2020-12-24T10:47:15Z contrapunctus: phoe: tried `sbcl --eval "(require :asdf)" --load foo.asd ...`, same errors. 2020-12-24T10:47:21Z phoe: but I have no idea if it would rank high on your priority list, all in all. 2020-12-24T10:48:15Z phoe: contrapunctus: hmmmmm, after the require, do (in-package :asdf-user) 2020-12-24T10:49:29Z birdwing: (with-output-to-string (srm) (out (:to srm "Hello"))) I think the crash happens at line 99 https://paste.ofcode.org/mYeZRCLZDNHB2Z39L4swzx how can one check that the pointer is invalid so it should skip checking if it's a valid stream? (streamp invalid_pointer) 2020-12-24T10:50:02Z phoe: birdwing: you don't 2020-12-24T10:50:32Z phoe: OUT is in the wrong here and must be corrected 2020-12-24T10:50:50Z birdwing: yes, I mean in the out sourcecode 2020-12-24T10:51:09Z phoe: I mean not the sourcecode, I mean the architecture 2020-12-24T10:51:13Z birdwing: it does a cleanup of that table with lingering dead streams 2020-12-24T10:51:44Z birdwing: during that cleanup it crashes because it tries to do (streamp dead_stream) 2020-12-24T10:51:48Z phoe: it must *NOT* store all streams inside its inner cache and expect them to be of indefinite extent 2020-12-24T10:52:15Z birdwing: yes, so what's the right architecture that we shall use 2020-12-24T10:52:18Z phoe: you can't call a function on a dangling pointer. you can't even detect if a pointer is dangling or not once it's introduced into the system. 2020-12-24T10:52:33Z phoe: I'd start with removing the OUT's stream cache and/or making it optional 2020-12-24T10:52:47Z beach: phoe: Yes, exactly. 2020-12-24T10:52:56Z phoe: the latter would be useful if you could specify (out (:cache-stream-p nil) ...) so it doesn't cache DX streams 2020-12-24T10:53:09Z phoe: but that would still put the burden on the programmer. 2020-12-24T10:53:24Z birdwing: i don't even know why it would cache it 2020-12-24T10:53:29Z phoe: I know, right? 2020-12-24T10:53:33Z phoe: that's why I suggested the former, too 2020-12-24T10:53:51Z beach: phoe: Even better, migrate the object to the heap. 2020-12-24T10:54:04Z phoe: beach: wait 2020-12-24T10:54:07Z phoe: how do you do that? 2020-12-24T10:54:23Z phoe: (with-output-to-string (x) ...) ;; how do you migrate X to the heap? 2020-12-24T10:54:43Z beach: Garbage collectors migrate objects all the time. 2020-12-24T10:54:48Z contrapunctus: phoe: thanks, finally made my first CL executable 😀 2020-12-24T10:55:05Z phoe: beach: no, I mean, how do you do that from inside portable CL? 2020-12-24T10:55:13Z birdwing: "i don't even know why it would cache it" oh i got it, it caches it to avoid repeated creation of Out-stream for the same stream 2020-12-24T10:55:32Z beach: phoe: Oh, it can't be done portably. I am thinking in terms of system implementation. 2020-12-24T10:55:35Z phoe: birdwing: well then, it needs a way to not cache streams that it should not cache. 2020-12-24T10:55:38Z contrapunctus: phoe: should I make a PR for the cookbook to amend those command lines? 2020-12-24T10:55:41Z phoe: beach: oh. well then, that's a separate discussion. 2020-12-24T10:55:57Z phoe: contrapunctus: you should make an issue detailing your problem - maybe there's a better solution than the one I suggested 2020-12-24T10:57:08Z phoe: birdwing: so if a cache is useful, then OUT needs a way to avoid caching stuff - so my second suggestion 2020-12-24T10:57:16Z phoe: (out (:cache-stream-p nil) ...) 2020-12-24T10:59:58Z birdwing: that would be a way. I think wrapping a block of code with (let (utilz::out-streams* (list)) 2020-12-24T11:00:11Z birdwing: would also disable the dangerous caching 2020-12-24T11:01:01Z phoe: sorta 2020-12-24T11:01:09Z phoe: using an internal symbol is sorta iffy. 2020-12-24T11:01:48Z phoe: also, it wouldn't necessarily avoid the issue completely - you're still leaking an object outside its scope, it's just that you drop the invalid reference to it right afterwards. 2020-12-24T11:02:03Z phoe: which is borderline correct. 2020-12-24T11:04:11Z frgo quit (Remote host closed the connection) 2020-12-24T11:04:38Z frgo joined #lisp 2020-12-24T11:06:07Z birdwing_ joined #lisp 2020-12-24T11:06:11Z birdwing quit (Remote host closed the connection) 2020-12-24T11:06:39Z birdwing_ is now known as birdwing 2020-12-24T11:13:31Z X-Scale` joined #lisp 2020-12-24T11:13:52Z X-Scale quit (Ping timeout: 256 seconds) 2020-12-24T11:14:35Z X-Scale` is now known as X-Scale 2020-12-24T11:15:26Z ldbeth joined #lisp 2020-12-24T11:16:25Z wxie quit (Ping timeout: 264 seconds) 2020-12-24T11:17:53Z pallas joined #lisp 2020-12-24T11:19:19Z orivej quit (Ping timeout: 246 seconds) 2020-12-24T11:20:31Z random-nick joined #lisp 2020-12-24T11:21:57Z jibanes quit (Ping timeout: 260 seconds) 2020-12-24T11:22:39Z birdwing: phoe: I made a with-out-to-string macro to be used instead of with-output-to-string when one wants to use (out), so that the programmer doesn't have to manually disable caching on each call to (out) 2020-12-24T11:22:53Z vegansbane6 quit (Quit: The Lounge - https://thelounge.chat) 2020-12-24T11:23:28Z frgo quit (Ping timeout: 268 seconds) 2020-12-24T11:23:47Z jibanes joined #lisp 2020-12-24T11:24:20Z birdwing: another way would be to use a (defparameter *caching-enabled* nil) setting 2020-12-24T11:24:43Z wxie joined #lisp 2020-12-24T11:32:37Z villanella quit (Ping timeout: 264 seconds) 2020-12-24T11:34:30Z varjag joined #lisp 2020-12-24T11:34:50Z Stanley00 quit (Quit: Merry Xmas) 2020-12-24T11:35:14Z wxie quit (Quit: wxie) 2020-12-24T11:35:53Z patlv joined #lisp 2020-12-24T11:36:05Z cosimone joined #lisp 2020-12-24T11:37:08Z villanella joined #lisp 2020-12-24T11:43:36Z jibanes quit (Ping timeout: 240 seconds) 2020-12-24T11:44:07Z jonatack quit (Ping timeout: 260 seconds) 2020-12-24T11:45:35Z jibanes joined #lisp 2020-12-24T11:46:39Z phoe: birdwing: actually I'd prefer the second way 2020-12-24T11:46:41Z jonatack joined #lisp 2020-12-24T11:46:56Z phoe: (let ((out:*caching-enabled* nil)) (with-output-to-string (...) (out ...))) 2020-12-24T11:46:58Z saganman quit (Ping timeout: 265 seconds) 2020-12-24T11:47:04Z phoe: I assume that WITH-OUT-TO-STRING could expand into such a call 2020-12-24T11:48:11Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-12-24T11:48:35Z birdwing: ok 2020-12-24T11:48:46Z Aurora_v_kosmose joined #lisp 2020-12-24T11:52:52Z villanella quit (Ping timeout: 260 seconds) 2020-12-24T11:54:05Z vegansbane6 joined #lisp 2020-12-24T11:55:25Z jibanes quit (Ping timeout: 264 seconds) 2020-12-24T11:56:04Z jonatack quit (Ping timeout: 246 seconds) 2020-12-24T11:56:32Z jonatack joined #lisp 2020-12-24T11:57:16Z jibanes joined #lisp 2020-12-24T11:59:37Z shka_ quit (Ping timeout: 264 seconds) 2020-12-24T12:04:59Z eden joined #lisp 2020-12-24T12:05:25Z imode quit (Quit: WeeChat 2.9) 2020-12-24T12:05:53Z eden quit (Remote host closed the connection) 2020-12-24T12:06:20Z eden joined #lisp 2020-12-24T12:06:50Z patlv quit (Remote host closed the connection) 2020-12-24T12:07:16Z patlv joined #lisp 2020-12-24T12:08:03Z saganman joined #lisp 2020-12-24T12:09:09Z _death: in my OUT I do no such caching 2020-12-24T12:12:49Z pallas quit (Ping timeout: 264 seconds) 2020-12-24T12:20:49Z nostoi quit (Quit: Verlassend) 2020-12-24T12:20:51Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-12-24T12:21:22Z Aurora_v_kosmose joined #lisp 2020-12-24T12:21:38Z _death: ytools OUT does it to maintain indentation state.. I let the user create an indenting stream explicitly.. OUT ops for indentation can then be defined so you can have things like https://plaster.tymoon.eu/view/2208#2208 2020-12-24T12:27:20Z surabax joined #lisp 2020-12-24T12:28:53Z villanella joined #lisp 2020-12-24T12:30:32Z patlv quit (Ping timeout: 260 seconds) 2020-12-24T12:32:40Z EvW joined #lisp 2020-12-24T12:33:21Z patlv joined #lisp 2020-12-24T12:36:33Z pallas joined #lisp 2020-12-24T12:38:06Z frost-lab quit (Quit: Connection closed) 2020-12-24T12:41:14Z patlv quit (Quit: Leaving) 2020-12-24T12:41:52Z villanella quit (Ping timeout: 260 seconds) 2020-12-24T12:43:40Z luni joined #lisp 2020-12-24T12:44:28Z hiroaki joined #lisp 2020-12-24T12:44:35Z perrier-jouet quit (Quit: WeeChat 3.0) 2020-12-24T12:45:56Z jibanes quit (Ping timeout: 265 seconds) 2020-12-24T12:47:58Z jibanes joined #lisp 2020-12-24T12:49:19Z jonatack quit (Ping timeout: 265 seconds) 2020-12-24T12:52:04Z jibanes quit (Ping timeout: 246 seconds) 2020-12-24T12:53:18Z jibanes joined #lisp 2020-12-24T12:57:44Z ldbeth quit (Ping timeout: 256 seconds) 2020-12-24T12:58:09Z jonatack joined #lisp 2020-12-24T13:01:28Z tsrt^ quit 2020-12-24T13:02:40Z ldbeth joined #lisp 2020-12-24T13:05:24Z jonatack quit (Read error: Connection reset by peer) 2020-12-24T13:07:04Z retropikzel quit (Quit: Leaving) 2020-12-24T13:08:04Z Bike joined #lisp 2020-12-24T13:09:55Z ldbeth quit (Ping timeout: 246 seconds) 2020-12-24T13:11:09Z jonatack joined #lisp 2020-12-24T13:14:41Z perrier-jouet joined #lisp 2020-12-24T13:15:55Z ldbeth joined #lisp 2020-12-24T13:16:48Z jonatack quit (Ping timeout: 272 seconds) 2020-12-24T13:19:33Z luni quit (Quit: Connection closed) 2020-12-24T13:20:44Z ldbeth quit (Ping timeout: 256 seconds) 2020-12-24T13:26:01Z ldbeth joined #lisp 2020-12-24T13:26:37Z perrier-jouet quit (Read error: Connection reset by peer) 2020-12-24T13:29:30Z gaqwas quit (Remote host closed the connection) 2020-12-24T13:29:47Z ldbeth quit (Remote host closed the connection) 2020-12-24T13:30:40Z oni-on-ion quit (Remote host closed the connection) 2020-12-24T13:31:32Z ldbeth joined #lisp 2020-12-24T13:35:20Z notzmv quit (Read error: Connection reset by peer) 2020-12-24T13:35:55Z orivej joined #lisp 2020-12-24T13:37:32Z jonatack joined #lisp 2020-12-24T13:39:16Z aartaka quit (Read error: Connection reset by peer) 2020-12-24T13:39:27Z aartaka joined #lisp 2020-12-24T13:39:28Z contrapunctus left #lisp 2020-12-24T13:41:38Z contrapunctus joined #lisp 2020-12-24T13:48:01Z skapata joined #lisp 2020-12-24T13:53:29Z ldbeth quit (Quit: ERC (IRC client for Emacs 27.1)) 2020-12-24T13:59:18Z gaqwas joined #lisp 2020-12-24T13:59:18Z gaqwas quit (Changing host) 2020-12-24T13:59:18Z gaqwas joined #lisp 2020-12-24T13:59:45Z galex-713 quit (Ping timeout: 272 seconds) 2020-12-24T14:00:28Z notzmv joined #lisp 2020-12-24T14:01:30Z heisig quit (Quit: Leaving) 2020-12-24T14:03:32Z notzmv quit (Remote host closed the connection) 2020-12-24T14:05:10Z jibanes quit (Ping timeout: 256 seconds) 2020-12-24T14:06:58Z jibanes joined #lisp 2020-12-24T14:08:33Z galex-713 joined #lisp 2020-12-24T14:16:02Z hendursa1 quit (Quit: hendursa1) 2020-12-24T14:16:19Z hendursaga joined #lisp 2020-12-24T14:17:38Z jibanes quit (Ping timeout: 256 seconds) 2020-12-24T14:19:36Z jibanes joined #lisp 2020-12-24T14:25:25Z jibanes quit (Ping timeout: 264 seconds) 2020-12-24T14:25:53Z jibanes joined #lisp 2020-12-24T14:30:45Z jibanes quit (Ping timeout: 240 seconds) 2020-12-24T14:32:07Z jibanes joined #lisp 2020-12-24T14:33:53Z lowryder quit (Ping timeout: 260 seconds) 2020-12-24T14:35:42Z lowryder joined #lisp 2020-12-24T14:37:04Z jibanes quit (Ping timeout: 246 seconds) 2020-12-24T14:38:22Z jibanes joined #lisp 2020-12-24T14:42:54Z jibanes quit (Ping timeout: 265 seconds) 2020-12-24T14:44:39Z jibanes joined #lisp 2020-12-24T14:46:37Z Codaraxis quit (Read error: Connection reset by peer) 2020-12-24T14:49:46Z jibanes quit (Ping timeout: 256 seconds) 2020-12-24T14:52:32Z EvW quit (Ping timeout: 260 seconds) 2020-12-24T14:56:27Z jibanes joined #lisp 2020-12-24T15:00:28Z Codaraxis joined #lisp 2020-12-24T15:02:23Z villanella joined #lisp 2020-12-24T15:02:37Z jibanes quit (Ping timeout: 264 seconds) 2020-12-24T15:03:33Z jibanes joined #lisp 2020-12-24T15:04:32Z iskander- joined #lisp 2020-12-24T15:05:04Z iskander quit (Ping timeout: 246 seconds) 2020-12-24T15:06:01Z ex_nihilo quit (Quit: Leaving) 2020-12-24T15:09:32Z jibanes quit (Ping timeout: 272 seconds) 2020-12-24T15:10:12Z jibanes joined #lisp 2020-12-24T15:17:36Z jibanes quit (Ping timeout: 240 seconds) 2020-12-24T15:18:16Z ljavorsk joined #lisp 2020-12-24T15:19:51Z jibanes joined #lisp 2020-12-24T15:22:44Z Nilby joined #lisp 2020-12-24T15:23:22Z ljavorsk quit (Ping timeout: 256 seconds) 2020-12-24T15:26:46Z jibanes quit (Ping timeout: 256 seconds) 2020-12-24T15:26:58Z pallas quit (Ping timeout: 260 seconds) 2020-12-24T15:29:37Z orivej quit (Ping timeout: 260 seconds) 2020-12-24T15:32:50Z phoe: I have an issue with my emacs indenting UIOP:DEFINE-PACKAGE incorrectly - the second argument is indented by 4 instead of by 2. 2020-12-24T15:33:03Z phoe: (trivial-indent:define-indentation uiop:define-package (4 &body)) is not enough to fix it. 2020-12-24T15:33:39Z phoe: how do I begin debugging this? 2020-12-24T15:36:22Z phoe: it seems that emacs indents all sorts of DEFINE-FOO forms in the same way, and this overrides whatever swank is attempting to tell it 2020-12-24T15:36:25Z phoe thinks 2020-12-24T15:38:42Z jibanes joined #lisp 2020-12-24T15:43:51Z Nilby: I'm sorry. I'm sure you know about the emacs debugger. I was sadly noting the other day that emacs still can't indent lisp properly. I've been it using nearly every day since it was written (~40 years). I feel like any regexp base approach will never be 100%. Having a full CL reader and the something like the XP pretty printer, might do it though. 2020-12-24T15:44:30Z Nilby: I wonder if eny emacs ever has done it flawlessly? Zmacs maybe? 2020-12-24T15:45:18Z Nilby: Another fun exmaple is try a paren and the beginning of a line in a docstring. 2020-12-24T15:45:22Z jibanes quit (Ping timeout: 260 seconds) 2020-12-24T15:45:51Z jibanes joined #lisp 2020-12-24T15:46:07Z phoe: yes, \( is required 2020-12-24T15:46:32Z Nilby: But as my boss used to say "You find a bug, you fix it." 2020-12-24T15:46:39Z phoe: yes 2020-12-24T15:49:53Z pfdietz joined #lisp 2020-12-24T15:51:00Z _death: phoe: this works for me https://github.com/death/slime/commit/03753ac149677a4c4b26dd428e5bfaf3c25fcf5a 2020-12-24T15:51:10Z jprajzne quit (Quit: Leaving.) 2020-12-24T15:51:23Z toorevitimirp quit (Remote host closed the connection) 2020-12-24T15:52:58Z choegusung joined #lisp 2020-12-24T15:53:20Z luni joined #lisp 2020-12-24T15:53:22Z jibanes quit (Ping timeout: 246 seconds) 2020-12-24T15:56:43Z pallas joined #lisp 2020-12-24T15:56:50Z CrazyEdd_ joined #lisp 2020-12-24T16:01:10Z jibanes joined #lisp 2020-12-24T16:03:58Z contrapunctus left #lisp 2020-12-24T16:05:34Z contrapunctus joined #lisp 2020-12-24T16:06:46Z jibanes quit (Ping timeout: 256 seconds) 2020-12-24T16:07:11Z contrapunctus: Is there an anaphoric map for CL? (like --map in dash.el) I looked through serapeum and anaphora to no avail 🤔 2020-12-24T16:07:36Z Xach: What does --map in dash.el do? 2020-12-24T16:07:46Z phoe: _death: yes, I'm figuring out how to run this on spacemacs now 2020-12-24T16:09:06Z contrapunctus: Xach: the argument passed to the function is accessible via `it`, so one can write `(--map (fn foo it) seq)` instead of `(map (lambda (it) (fn foo it)) seq)` 2020-12-24T16:09:23Z Xach: ok 2020-12-24T16:09:34Z contrapunctus: (I suppose I could use a lambda shorthand too.) 2020-12-24T16:09:43Z Xach: I don't know of anything like that offhand, but it's not something I've ever looked for. 2020-12-24T16:10:59Z phoe: _death: (put 'define-package 'common-lisp-indent-function '(4 2)) works well enough 2020-12-24T16:12:17Z _death: phoe: the real question is why define-package uses &rest and not &body 2020-12-24T16:12:34Z Nilby: You can say: (map nil (it (foo it)) seq) 2020-12-24T16:13:19Z _death: phoe: and then, sbcl's defpackage uses &rest too.. weird 2020-12-24T16:13:22Z phoe: _death: same--- yes 2020-12-24T16:13:44Z Nilby: If you first: (defmacro it (&rest e) `(lambda (it) (declare (ignorable it)) ,@e)) 2020-12-24T16:15:36Z contrapunctus: Heh, I think I'll use `loop` instead. 2020-12-24T16:15:50Z _death: contrapunctus: or stop worrying about lambda :) 2020-12-24T16:18:01Z _death: pretty-lambdas makes things short anyway 2020-12-24T16:18:17Z jasom quit (Ping timeout: 260 seconds) 2020-12-24T16:19:04Z jibanes joined #lisp 2020-12-24T16:19:11Z contrapunctus: Is there any easy way to make Emacs indent all CL forms with 2 spaces, i.e. in the defun way? 2020-12-24T16:19:34Z amb007 quit (Ping timeout: 265 seconds) 2020-12-24T16:19:35Z phoe: wait a second, ALL of them? 2020-12-24T16:19:38Z phoe: why would you do that 2020-12-24T16:19:56Z bqv quit (Ping timeout: 258 seconds) 2020-12-24T16:20:12Z contrapunctus: Hate masses of whitespace :\ 2020-12-24T16:20:16Z phoe: also, 2 spaces is PROGN; defun has the function name and lambda list indented with 4 spaces instead 2020-12-24T16:20:47Z _death: I don't think we should encourage weird indentations like that 2020-12-24T16:20:54Z phoe: +1 2020-12-24T16:21:15Z amb007 joined #lisp 2020-12-24T16:21:30Z contrapunctus: Q_Q 2020-12-24T16:25:28Z impaktor left #lisp 2020-12-24T16:25:42Z retropikzel joined #lisp 2020-12-24T16:26:52Z narimiran quit (Ping timeout: 268 seconds) 2020-12-24T16:27:57Z Nilby: contrapunctus: CL indenting is complex and deep aethetic art, which appears simple on the surfaces, so you're probably not thinking of all the edge cases that these folk have been fixing as we speak 2020-12-24T16:29:24Z contrapunctus: _death: by "pretty-lambdas" do you mean prettify-symbols-mode? 🤔 2020-12-24T16:29:30Z andreyorst` quit (Quit: andreyorst`) 2020-12-24T16:29:36Z jibanes quit (Ping timeout: 240 seconds) 2020-12-24T16:41:34Z Jeanne-Kamikaze joined #lisp 2020-12-24T16:41:43Z EvW joined #lisp 2020-12-24T16:43:03Z jibanes joined #lisp 2020-12-24T16:45:02Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-12-24T16:46:05Z Aurora_v_kosmose joined #lisp 2020-12-24T16:49:29Z _death: contrapunctus: for instance.. there are other packages too. me, I just use a variant of pretty-lambdas shown in https://www.emacswiki.org/emacs/PrettyLambda 2020-12-24T16:52:36Z jibanes quit (Ping timeout: 240 seconds) 2020-12-24T16:54:39Z jibanes joined #lisp 2020-12-24T16:58:45Z pallas quit (Ping timeout: 240 seconds) 2020-12-24T16:59:45Z choegusung quit (Quit: leaving) 2020-12-24T17:03:53Z amb007 quit (Read error: Connection reset by peer) 2020-12-24T17:04:14Z amb007 joined #lisp 2020-12-24T17:05:01Z jibanes quit (Ping timeout: 264 seconds) 2020-12-24T17:05:57Z matryoshka quit (Ping timeout: 272 seconds) 2020-12-24T17:09:32Z krid joined #lisp 2020-12-24T17:12:00Z matryoshka joined #lisp 2020-12-24T17:15:05Z matryoshka quit (Client Quit) 2020-12-24T17:16:06Z matryoshka joined #lisp 2020-12-24T17:21:25Z kaftejiman joined #lisp 2020-12-24T17:21:33Z luni quit (Quit: Connection closed) 2020-12-24T17:21:39Z EvW quit (Ping timeout: 258 seconds) 2020-12-24T17:23:19Z jibanes joined #lisp 2020-12-24T17:26:52Z rogersm quit (Quit: Leaving...) 2020-12-24T17:29:28Z jibanes quit (Ping timeout: 260 seconds) 2020-12-24T17:31:37Z sjl joined #lisp 2020-12-24T17:34:52Z contrapunctus: Hm, I just made an executable for a tiny script, and when I run it, I get a corruption warning followed by a memory fault error 🤔 2020-12-24T17:35:21Z contrapunctus: http://ix.io/2JpZ 2020-12-24T17:35:55Z jibanes joined #lisp 2020-12-24T17:37:20Z phoe: what is the script in question? 2020-12-24T17:37:27Z phoe: try typing BACKTRACE in there 2020-12-24T17:37:33Z phoe: that should give you a backtrace for what is happening. 2020-12-24T17:38:26Z rgherdt quit (Ping timeout: 264 seconds) 2020-12-24T17:38:49Z Nilby: contrapunctus: Do you have debugging and safety on? 2020-12-24T17:40:30Z jibanes quit (Ping timeout: 256 seconds) 2020-12-24T17:40:51Z contrapunctus: phoe: thanks, the backtrace pointed out a logic error FWIW. Might fix it. 2020-12-24T17:40:58Z contrapunctus: Nilby: I do not 🤔 2020-12-24T17:41:22Z jibanes joined #lisp 2020-12-24T17:41:56Z Nilby: Adding something like: (declaim (optimize (safety 3) (debug 3))) will in most cases give more useful errors. 2020-12-24T17:45:22Z lucasb joined #lisp 2020-12-24T17:49:55Z jibanes quit (Ping timeout: 246 seconds) 2020-12-24T17:51:22Z karlosz quit (Ping timeout: 260 seconds) 2020-12-24T17:53:21Z contrapunctus: I wonder what this means - `((LAMBDA (SB-PCL::|.P0.| SB-PCL::|.P1.|)) # #)` 🤔 2020-12-24T17:53:35Z contrapunctus: (From the backtrace) 2020-12-24T17:53:50Z phoe: seems like some internal function from SBCL's CLOS implementation 2020-12-24T17:57:54Z jibanes joined #lisp 2020-12-24T17:57:58Z gareppa joined #lisp 2020-12-24T18:02:10Z a0 joined #lisp 2020-12-24T18:03:18Z jibanes quit (Ping timeout: 260 seconds) 2020-12-24T18:04:43Z eden quit (Ping timeout: 240 seconds) 2020-12-24T18:08:59Z CookE[] joined #lisp 2020-12-24T18:09:34Z jibanes joined #lisp 2020-12-24T18:09:38Z aeth: is CLOS "closs" or "see-loss"? 2020-12-24T18:10:43Z a0 quit (Ping timeout: 240 seconds) 2020-12-24T18:11:50Z Gnuxie[m]: if it was see-loss, then wouldn't it be cee-ell-oss? 2020-12-24T18:11:59Z phoe: sea-ell-oh-ess 2020-12-24T18:12:05Z gareppa quit (Quit: Leaving) 2020-12-24T18:12:10Z Nilby: claws 2020-12-24T18:13:03Z CookE[] quit (Ping timeout: 240 seconds) 2020-12-24T18:15:06Z Nilby: also クロス 2020-12-24T18:15:37Z contrapunctus: Oh hey Gnuxie[m] 😀 2020-12-24T18:16:04Z Gnuxie[m]: hi contrapunctus o/ 2020-12-24T18:16:40Z _death: aeth: it depends on your location on earth.. if it's US, east coast and west coast are a factor.. 2020-12-24T18:17:02Z cantstanya quit (Remote host closed the connection) 2020-12-24T18:18:57Z cantstanya joined #lisp 2020-12-24T18:22:25Z saganman quit (Ping timeout: 264 seconds) 2020-12-24T18:23:08Z jibanes quit (Ping timeout: 260 seconds) 2020-12-24T18:23:32Z andreyorst joined #lisp 2020-12-24T18:24:23Z jibanes joined #lisp 2020-12-24T18:27:01Z charles` joined #lisp 2020-12-24T18:27:01Z amb007 quit (Read error: Connection reset by peer) 2020-12-24T18:27:57Z amb007 joined #lisp 2020-12-24T18:30:10Z amb007 quit (Read error: Connection reset by peer) 2020-12-24T18:30:58Z amb007 joined #lisp 2020-12-24T18:31:25Z kam1 quit (Ping timeout: 240 seconds) 2020-12-24T18:33:57Z charles` quit (Ping timeout: 260 seconds) 2020-12-24T18:34:37Z jibanes quit (Ping timeout: 272 seconds) 2020-12-24T18:36:04Z jibanes joined #lisp 2020-12-24T18:39:59Z andreyorst quit (Quit: andreyorst) 2020-12-24T18:40:33Z andreyorst joined #lisp 2020-12-24T18:42:31Z Lord_of_Life_ joined #lisp 2020-12-24T18:42:49Z jibanes quit (Ping timeout: 264 seconds) 2020-12-24T18:43:10Z aartaka_d joined #lisp 2020-12-24T18:43:27Z EvW joined #lisp 2020-12-24T18:45:13Z Lord_of_Life quit (Ping timeout: 264 seconds) 2020-12-24T18:45:13Z Lord_of_Life_ is now known as Lord_of_Life 2020-12-24T18:45:55Z aartaka quit (Ping timeout: 246 seconds) 2020-12-24T18:48:52Z jibanes joined #lisp 2020-12-24T18:52:08Z karlosz joined #lisp 2020-12-24T18:53:27Z charles` joined #lisp 2020-12-24T18:54:22Z amb007 quit (Read error: Connection reset by peer) 2020-12-24T18:54:38Z jibanes quit (Ping timeout: 260 seconds) 2020-12-24T18:54:48Z amb007 joined #lisp 2020-12-24T18:55:08Z jibanes joined #lisp 2020-12-24T18:55:40Z CookE[] joined #lisp 2020-12-24T19:00:17Z hnOsmium0001 joined #lisp 2020-12-24T19:00:46Z Lord_of_Life quit (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine) 2020-12-24T19:01:11Z Lord_of_Life joined #lisp 2020-12-24T19:01:23Z CookE[] quit (Ping timeout: 240 seconds) 2020-12-24T19:03:10Z xrash joined #lisp 2020-12-24T19:03:21Z xrash quit (Excess Flood) 2020-12-24T19:03:36Z jibanes quit (Ping timeout: 240 seconds) 2020-12-24T19:05:38Z xrash joined #lisp 2020-12-24T19:05:50Z jibanes joined #lisp 2020-12-24T19:05:54Z xrash quit (Excess Flood) 2020-12-24T19:05:56Z Khisanth quit (Ping timeout: 240 seconds) 2020-12-24T19:09:05Z kam1 joined #lisp 2020-12-24T19:09:18Z andreyorst quit (Ping timeout: 256 seconds) 2020-12-24T19:11:10Z jibanes quit (Ping timeout: 256 seconds) 2020-12-24T19:14:53Z xrash joined #lisp 2020-12-24T19:15:12Z xrash quit (Excess Flood) 2020-12-24T19:16:57Z contrapunctus: phoe: so not even fixing the logic errors fixed it...this is the script. http://ix.io/2Jql 2020-12-24T19:17:30Z xrash joined #lisp 2020-12-24T19:17:50Z xrash quit (Excess Flood) 2020-12-24T19:18:05Z contrapunctus: All I can tell from the backtrace is that something went awry in the sqlite library, probably FFI. 2020-12-24T19:18:17Z charles` quit (Ping timeout: 260 seconds) 2020-12-24T19:19:31Z phoe: oh! you're using a foreign library 2020-12-24T19:19:36Z Khisanth joined #lisp 2020-12-24T19:19:46Z phoe: then you'll need a backtrace to figure out what might have went wrong where. 2020-12-24T19:20:09Z xrash joined #lisp 2020-12-24T19:20:30Z perrier-jouet joined #lisp 2020-12-24T19:20:31Z miasuji joined #lisp 2020-12-24T19:21:16Z contrapunctus: Or just switch to a different database library? 🤔 2020-12-24T19:21:47Z phoe: avoiding foreign dependencies is a tactic, yes 2020-12-24T19:23:27Z jibanes joined #lisp 2020-12-24T19:25:08Z pallas joined #lisp 2020-12-24T19:28:01Z buffergn0me joined #lisp 2020-12-24T19:28:05Z buffergn0me quit (Client Quit) 2020-12-24T19:28:16Z jibanes quit (Ping timeout: 240 seconds) 2020-12-24T19:33:16Z thmprover joined #lisp 2020-12-24T19:37:44Z v0|d joined #lisp 2020-12-24T19:40:16Z charles` joined #lisp 2020-12-24T19:40:46Z jibanes joined #lisp 2020-12-24T19:42:21Z EvW quit (Ping timeout: 268 seconds) 2020-12-24T19:47:37Z kam1 quit (Ping timeout: 264 seconds) 2020-12-24T19:47:43Z jibanes quit (Ping timeout: 260 seconds) 2020-12-24T19:47:56Z sloanr quit (Read error: Connection reset by peer) 2020-12-24T19:48:13Z jibanes joined #lisp 2020-12-24T19:48:25Z sloanr joined #lisp 2020-12-24T19:48:52Z ebrasca joined #lisp 2020-12-24T19:49:13Z bisickcor joined #lisp 2020-12-24T19:52:04Z iekfkk quit (Ping timeout: 246 seconds) 2020-12-24T19:52:09Z pfdietz: And "flet" is pronounced like "flay" 2020-12-24T19:53:52Z charles` quit (Ping timeout: 260 seconds) 2020-12-24T19:54:14Z jibanes quit (Ping timeout: 256 seconds) 2020-12-24T19:54:32Z birdwing: contrapunctus: https://codeburst.io/doing-without-databases-in-the-21st-century-6e25cf495373 "manardb is a portable (across Lisps on Linux) memory mapped database for Common Lisp. It frees one from the garbage collector but stays within MOP. According to our benchmarks, when instantiating a object with two slots one million times, manardb is about seven times faster than AllegroCache 2.1.11 on Allegro 8.1, and about fifteen 2020-12-24T19:54:32Z birdwing: times faster than AllegroCache on SBCL 1.0.31. It is more than ten times faster to iterate over the 1M objects created and sum the values of one numeric slot on Allegro Lisp, and about one hundred times faster on SBCL." "7 up to 15 times faster, is a good number" --it saves to disk, it's not an in memory db ; it uses mmap for fast acces -- check: https://scottlocklin.wordpress.com/2013/07/28/ruins-of-forgotten-empires-apl-lang 2020-12-24T19:54:33Z birdwing: uages/ https://codeburst.io/the-relational-database-perfect-storm-how-such-a-bad-technology-became-so-ubiquitous-22bec625986b 2020-12-24T19:55:16Z jibanes joined #lisp 2020-12-24T19:55:39Z birdwing: https://scottlocklin.wordpress.com/2013/07/28/ruins-of-forgotten-empires-apl-languages/ 2020-12-24T19:58:14Z aeth: pfdietz: Actually, flet follows French rules, so you don't know how to pronounce it without knowing what follows it. If it's followed by a vowel, you do pronounce the t. 2020-12-24T19:58:48Z pfdietz: Is a paren a vowel? 2020-12-24T19:59:37Z aeth: Only on leap days. 2020-12-24T20:00:09Z EvW joined #lisp 2020-12-24T20:00:39Z aeth: And on ZEROP MOD year 15 2020-12-24T20:01:21Z rumbler31 joined #lisp 2020-12-24T20:01:53Z birdwing quit (Ping timeout: 258 seconds) 2020-12-24T20:04:57Z slyrus joined #lisp 2020-12-24T20:06:44Z rumbler31 quit (Ping timeout: 265 seconds) 2020-12-24T20:08:37Z _Ark_ quit (Quit: ZNC 1.7.4 - https://znc.in) 2020-12-24T20:08:40Z amb007 quit (Read error: Connection reset by peer) 2020-12-24T20:09:06Z amb007 joined #lisp 2020-12-24T20:13:20Z rumbler31 joined #lisp 2020-12-24T20:13:30Z phoe: I have a character denoting a hexadecimal digit. What would be the most performant way of converting it to an (unsigned-byte 4)? 2020-12-24T20:14:19Z kam1 joined #lisp 2020-12-24T20:14:35Z phoe: I could compute its char-code and then use several IF < to figure it out. Or I could try doing a CASE and hope it gets properly transformed. 2020-12-24T20:15:44Z Krystof: (digit-char-p 16) 2020-12-24T20:15:45Z TMA: phoe: there is a standard conforming predicate for digits, where the digit value is the true value 2020-12-24T20:16:20Z TMA: this one 2020-12-24T20:16:41Z phoe: !!! 2020-12-24T20:16:45Z phoe: I knew I forgot about this one 2020-12-24T20:16:46Z phoe: thank you 2020-12-24T20:16:58Z Krystof: the inverse is (digit-char ) in case you need it 2020-12-24T20:17:18Z narimiran joined #lisp 2020-12-24T20:17:31Z phoe: thank you 2020-12-24T20:20:23Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-24T20:20:40Z mrcom quit (Read error: Connection reset by peer) 2020-12-24T20:21:18Z luckless_ joined #lisp 2020-12-24T20:23:55Z natter quit (Remote host closed the connection) 2020-12-24T20:28:36Z jibanes quit (Ping timeout: 268 seconds) 2020-12-24T20:30:20Z jibanes joined #lisp 2020-12-24T20:35:28Z jibanes quit (Ping timeout: 246 seconds) 2020-12-24T20:36:42Z jibanes joined #lisp 2020-12-24T20:41:07Z jw4 quit (Read error: Connection reset by peer) 2020-12-24T20:41:36Z jibanes quit (Ping timeout: 240 seconds) 2020-12-24T20:42:47Z jibanes joined #lisp 2020-12-24T20:42:51Z jw4 joined #lisp 2020-12-24T20:46:56Z jibanes quit (Ping timeout: 240 seconds) 2020-12-24T20:48:05Z jibanes joined #lisp 2020-12-24T20:48:29Z iekfkk joined #lisp 2020-12-24T20:50:56Z bisickcor quit (Ping timeout: 240 seconds) 2020-12-24T20:51:05Z kam1 quit (Remote host closed the connection) 2020-12-24T20:51:16Z bilal_ joined #lisp 2020-12-24T20:51:24Z kam1 joined #lisp 2020-12-24T20:52:40Z kam1 quit (Remote host closed the connection) 2020-12-24T20:53:09Z kam1 joined #lisp 2020-12-24T20:54:49Z bilalkhan quit (Ping timeout: 264 seconds) 2020-12-24T20:55:08Z flip214: is that the most performant way? I can think of a check against #\F and then looking up a table, directly doing a few boundary checks and a subtraction (or LOGAND), a jump table, and perhaps some more 2020-12-24T20:55:39Z flip214: and "the most performant way" - for which architecture resp. which CPU exactly? Perhaps there's an SSE4 opcode or so... 2020-12-24T20:56:23Z v0|d quit (Remote host closed the connection) 2020-12-24T20:56:43Z mrcom joined #lisp 2020-12-24T20:57:36Z imode joined #lisp 2020-12-24T20:58:25Z narimiran quit (Ping timeout: 240 seconds) 2020-12-24T21:02:31Z phoe: I'll assume that the implementation knows what it's doing 2020-12-24T21:06:48Z charles` joined #lisp 2020-12-24T21:07:52Z oni-on-ion joined #lisp 2020-12-24T21:09:34Z cosimone quit (Quit: cosimone) 2020-12-24T21:10:49Z jibanes quit (Ping timeout: 246 seconds) 2020-12-24T21:13:14Z jibanes joined #lisp 2020-12-24T21:14:14Z cosimone joined #lisp 2020-12-24T21:15:32Z charles` quit (Ping timeout: 260 seconds) 2020-12-24T21:16:02Z Nilby: Yes, thanks to Krystof's and others hard work, we can say (digit-char-p #\୭) (digit-char-p #\𝟝) and (digit-char-p #\9), although sometimes I think (digit-char-p #\四) (digit-char-p #\➑) should also work. 2020-12-24T21:16:57Z Nilby: but maybe (digit-char-p #\½) => 1/2 would be going too far 2020-12-24T21:18:29Z sloanr quit (Read error: Connection reset by peer) 2020-12-24T21:20:02Z jibanes quit (Ping timeout: 272 seconds) 2020-12-24T21:20:22Z jibanes joined #lisp 2020-12-24T21:22:20Z ljavorsk joined #lisp 2020-12-24T21:24:13Z pallas quit (Ping timeout: 264 seconds) 2020-12-24T21:25:20Z liberliver quit (Ping timeout: 268 seconds) 2020-12-24T21:25:31Z jibanes quit (Ping timeout: 246 seconds) 2020-12-24T21:26:31Z jibanes joined #lisp 2020-12-24T21:28:05Z ljavorsk quit (Ping timeout: 240 seconds) 2020-12-24T21:28:29Z sloanr joined #lisp 2020-12-24T21:29:52Z kam1 quit (Ping timeout: 265 seconds) 2020-12-24T21:30:42Z kam1 joined #lisp 2020-12-24T21:39:13Z aeth quit (Ping timeout: 264 seconds) 2020-12-24T21:40:07Z pallas joined #lisp 2020-12-24T21:40:40Z aeth joined #lisp 2020-12-24T21:41:16Z jibanes quit (Ping timeout: 240 seconds) 2020-12-24T21:42:19Z alanz quit (Ping timeout: 258 seconds) 2020-12-24T21:42:38Z banjiewen_ quit (Ping timeout: 264 seconds) 2020-12-24T21:43:14Z jibanes joined #lisp 2020-12-24T21:43:32Z kilimanjaro quit (Ping timeout: 260 seconds) 2020-12-24T21:45:13Z pallas quit (Ping timeout: 264 seconds) 2020-12-24T21:46:43Z alanz joined #lisp 2020-12-24T21:46:50Z buoy49 quit (Ping timeout: 264 seconds) 2020-12-24T21:46:52Z kilimanjaro joined #lisp 2020-12-24T21:47:24Z banjiewen_ joined #lisp 2020-12-24T21:47:26Z buoy49 joined #lisp 2020-12-24T21:50:22Z contrapunctus tries clsql, and...WARNING: Requested version "2.0" but # has no version :\ 2020-12-24T21:51:05Z rixard quit (Read error: Connection reset by peer) 2020-12-24T21:51:28Z phoe: contrapunctus: where are you getting your uffi from? quicklisp? 2020-12-24T21:51:39Z contrapunctus: phoe: yeah 2020-12-24T21:52:22Z phoe: (asdf:component-version (asdf:find-system :uffi)) ;=> "2.0.0" for me 2020-12-24T21:52:24Z phoe: huh 2020-12-24T21:53:01Z phoe: what is (asdf:system-source-directory (asdf:find-system :uffi)) for you? 2020-12-24T21:53:06Z contrapunctus: And NIL here 🤔 2020-12-24T21:53:18Z phoe: wait a second... 2020-12-24T21:53:32Z phoe: hm 2020-12-24T21:53:38Z phoe: what's your source directory? 2020-12-24T21:53:40Z rixard joined #lisp 2020-12-24T21:53:59Z phoe: for me it's #P"/home/phoe/.roswell/lisp/quicklisp/dists/quicklisp/software/uffi-20180228-git/" 2020-12-24T21:54:22Z contrapunctus: dafawk, why did it put all that in my files ._. 2020-12-24T21:54:29Z phoe: all what in your files 2020-12-24T21:55:35Z contrapunctus: The...local copies of the libraries. 2020-12-24T21:56:05Z contrapunctus: ("dists"?) 2020-12-24T21:56:23Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-24T21:57:01Z phoe: what's the last part of the string? uffi-20180228-git? 2020-12-24T21:57:14Z luckless_ joined #lisp 2020-12-24T21:57:39Z contrapunctus: software/cffi_0.16.1/uffi-compat/ 2020-12-24T21:57:51Z phoe: hmmm 2020-12-24T21:58:04Z phoe: 0.16.1 is ancient 2020-12-24T21:58:07Z phoe: (ql:update-all-dists) 2020-12-24T21:58:54Z contrapunctus: But whatever made it install stuff in that directory? 🤔 2020-12-24T21:59:08Z phoe: quicklisp, most likely 2020-12-24T21:59:17Z phoe: the question is, why are you using an ancient version of CFFI 2020-12-24T22:00:22Z contrapunctus: (asdf:component-version (asdf:find-system :uffi)) is still NIL 😔 2020-12-24T22:00:35Z phoe: (ql:update-all-dists) (ql:quickload :uffi) 2020-12-24T22:00:54Z contrapunctus: Yeah, that's what I did 2020-12-24T22:00:59Z phoe: oh wait a second... 2020-12-24T22:01:04Z phoe: (ql:quickload :cffi-uffi-compat) rather 2020-12-24T22:01:28Z phoe: after restarting your image 2020-12-24T22:04:25Z kam1 quit (Ping timeout: 240 seconds) 2020-12-24T22:05:09Z contrapunctus: phoe: thanks, that got me uffi v2.0. 2020-12-24T22:05:22Z phoe: good 2020-12-24T22:05:23Z Nilby: We're lucky to have phoe's excellent Lisp developer support. 2020-12-24T22:05:28Z phoe blush 2020-12-24T22:06:29Z contrapunctus: However, now if I (ql:quickload :clsql-sqlite) -> UFFI is a nickname for the package CFFI-UFFI-COMPAT 🤔 2020-12-24T22:06:43Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-24T22:07:27Z luckless_ joined #lisp 2020-12-24T22:09:03Z Codaraxis_ joined #lisp 2020-12-24T22:09:25Z phoe: oh 2020-12-24T22:09:32Z perrier-jouet quit (Quit: WeeChat 3.0) 2020-12-24T22:09:47Z miasuji quit (Ping timeout: 260 seconds) 2020-12-24T22:09:47Z phoe: (ql:quickload :clsql-cffi) before (ql:quickload :clsql-sqlite) could help maybe 2020-12-24T22:09:57Z perrier-jouet joined #lisp 2020-12-24T22:10:26Z contrapunctus: Same error 2020-12-24T22:12:12Z phoe: reload the image and try again! 2020-12-24T22:12:49Z Codaraxis quit (Ping timeout: 264 seconds) 2020-12-24T22:14:06Z kam1 joined #lisp 2020-12-24T22:15:47Z contrapunctus: Thank heavens \o/ 2020-12-24T22:16:24Z phoe: :3 2020-12-24T22:23:38Z Alfr_: So much for image based development some people long for. 2020-12-24T22:24:18Z oni-on-ion: squeak/smalltalk does it a bit better. with ChangeSets, built-in version control and source code in the image. i think that is vital. 2020-12-24T22:26:03Z phoe: yes 2020-12-24T22:26:17Z phoe: Lisp has no package versioning or ability to handle multiple versions of a system 2020-12-24T22:26:25Z phoe: that's what beach's FCGEs attempt to solve in the future 2020-12-24T22:27:47Z Nilby: In old lisps the source was in the image e.g. function-lambda-expression 2020-12-24T22:27:57Z contrapunctus: I figured I might try running the program as a cl-launch script before bailing on cl-sqlite and rewriting it to use clsql. 2020-12-24T22:28:42Z EvW quit (Ping timeout: 258 seconds) 2020-12-24T22:29:04Z contrapunctus: I added `#!/usr/bin/cl -s csv -s serapeum -s sqlite -E main` to the top of the file, but I get `Component "csv" not found, required by #` 2020-12-24T22:33:45Z davisr joined #lisp 2020-12-24T22:33:51Z Nilby: Lisp machines effectively had FCGEs and built-in versioning, but it's reasonable to leave that optional in the base language. 2020-12-24T22:36:03Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-24T22:36:20Z perrier-jouet quit (Quit: WeeChat 3.0) 2020-12-24T22:36:42Z perrier-jouet joined #lisp 2020-12-24T22:37:03Z jibanes quit (Ping timeout: 265 seconds) 2020-12-24T22:37:26Z lotuseater: Nilby: what does FCGE stand for? 2020-12-24T22:37:39Z contrapunctus: lotuseater: First Class Global Environments 2020-12-24T22:38:38Z jibanes joined #lisp 2020-12-24T22:38:50Z lotuseater: ah thx :) 2020-12-24T22:38:56Z Nilby: ^ yes 2020-12-24T22:39:13Z perrier-jouet quit (Client Quit) 2020-12-24T22:40:22Z villanella quit (Ping timeout: 260 seconds) 2020-12-24T22:47:29Z EvW joined #lisp 2020-12-24T22:48:39Z perrier-jouet joined #lisp 2020-12-24T22:50:16Z davisr quit (Ping timeout: 240 seconds) 2020-12-24T22:51:56Z akoana joined #lisp 2020-12-24T22:52:14Z luckless_ joined #lisp 2020-12-24T22:55:34Z jibanes quit (Ping timeout: 256 seconds) 2020-12-24T22:55:34Z Nilby quit (Read error: Connection reset by peer) 2020-12-24T22:55:58Z Nilby joined #lisp 2020-12-24T22:56:43Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-24T22:58:46Z luckless_ joined #lisp 2020-12-24T23:00:49Z davisr joined #lisp 2020-12-24T23:03:06Z jibanes joined #lisp 2020-12-24T23:03:54Z aartaka_d quit (Ping timeout: 256 seconds) 2020-12-24T23:05:23Z rumbler31_ joined #lisp 2020-12-24T23:05:48Z pallas joined #lisp 2020-12-24T23:08:04Z Codaraxis__ joined #lisp 2020-12-24T23:11:53Z jibanes quit (Ping timeout: 260 seconds) 2020-12-24T23:12:08Z Codaraxis_ quit (Ping timeout: 272 seconds) 2020-12-24T23:13:46Z jibanes joined #lisp 2020-12-24T23:19:05Z surabax quit (Quit: Leaving) 2020-12-24T23:20:01Z kam1 quit (Ping timeout: 264 seconds) 2020-12-24T23:24:23Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-24T23:27:20Z aeth quit (Ping timeout: 272 seconds) 2020-12-24T23:28:40Z aeth joined #lisp 2020-12-24T23:31:06Z rumbler31_ quit (Ping timeout: 256 seconds) 2020-12-24T23:31:14Z Oladon joined #lisp 2020-12-24T23:31:31Z rumbler31_ joined #lisp 2020-12-24T23:36:19Z Inline joined #lisp 2020-12-24T23:39:08Z kam1 joined #lisp 2020-12-24T23:47:08Z gaqwas quit (Ping timeout: 265 seconds) 2020-12-24T23:52:27Z jibanes quit (Ping timeout: 265 seconds) 2020-12-24T23:53:50Z jibanes joined #lisp 2020-12-24T23:56:48Z hiroaki quit (Ping timeout: 265 seconds) 2020-12-24T23:57:29Z orivej joined #lisp 2020-12-25T00:01:39Z frost-lab joined #lisp 2020-12-25T00:02:16Z luckless_ joined #lisp 2020-12-25T00:03:24Z random-nick quit (Ping timeout: 256 seconds) 2020-12-25T00:07:32Z ebrasca quit (Remote host closed the connection) 2020-12-25T00:08:26Z jello_pudding joined #lisp 2020-12-25T00:10:23Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-25T00:11:08Z luckless_ joined #lisp 2020-12-25T00:13:31Z kam1 quit (Ping timeout: 246 seconds) 2020-12-25T00:13:58Z luckless_ quit (Remote host closed the connection) 2020-12-25T00:14:04Z mbomba joined #lisp 2020-12-25T00:14:10Z hiroaki joined #lisp 2020-12-25T00:19:50Z jibanes quit (Ping timeout: 256 seconds) 2020-12-25T00:21:48Z jibanes joined #lisp 2020-12-25T00:25:28Z notzmv joined #lisp 2020-12-25T00:26:10Z kaftejiman quit (Remote host closed the connection) 2020-12-25T00:26:13Z luckless_ joined #lisp 2020-12-25T00:26:34Z megalography joined #lisp 2020-12-25T00:28:07Z kam1 joined #lisp 2020-12-25T00:31:10Z mbomba quit (Quit: WeeChat 3.0) 2020-12-25T00:32:28Z Oladon quit (Quit: Leaving.) 2020-12-25T00:37:50Z charles` joined #lisp 2020-12-25T00:43:47Z charles` quit (Ping timeout: 260 seconds) 2020-12-25T00:44:32Z rgherdt joined #lisp 2020-12-25T00:44:52Z lucasb quit (Quit: Connection closed for inactivity) 2020-12-25T00:46:19Z matryoshka quit (Quit: ZNC 1.8.2 - https://znc.in) 2020-12-25T00:46:39Z matryoshka joined #lisp 2020-12-25T00:46:52Z matryoshka quit (Remote host closed the connection) 2020-12-25T00:47:17Z matryoshka joined #lisp 2020-12-25T00:52:44Z megalography left #lisp 2020-12-25T01:01:42Z kam1 quit (Ping timeout: 256 seconds) 2020-12-25T01:10:13Z jibanes quit (Ping timeout: 246 seconds) 2020-12-25T01:12:10Z jibanes joined #lisp 2020-12-25T01:17:25Z hiroaki quit (Remote host closed the connection) 2020-12-25T01:19:39Z hiroaki joined #lisp 2020-12-25T01:23:22Z rumbler31_ quit (Ping timeout: 268 seconds) 2020-12-25T01:24:28Z rumbler31_ joined #lisp 2020-12-25T01:27:11Z wxie joined #lisp 2020-12-25T01:31:06Z Oladon joined #lisp 2020-12-25T01:40:13Z rgherdt quit (Ping timeout: 272 seconds) 2020-12-25T01:40:23Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-25T01:51:24Z akoana left #lisp 2020-12-25T01:54:47Z cosimone quit (Quit: cosimone) 2020-12-25T02:05:42Z toorevitimirp joined #lisp 2020-12-25T02:06:53Z JessicaPurple joined #lisp 2020-12-25T02:07:27Z charles` joined #lisp 2020-12-25T02:07:41Z luckless_ joined #lisp 2020-12-25T02:09:16Z varjag quit (Ping timeout: 240 seconds) 2020-12-25T02:12:31Z galex-713 quit (Ping timeout: 272 seconds) 2020-12-25T02:16:49Z chens joined #lisp 2020-12-25T02:17:39Z JessicaPurple quit (Quit: Leaving) 2020-12-25T02:18:56Z macdavid313 joined #lisp 2020-12-25T02:21:57Z macdavid313 quit (Remote host closed the connection) 2020-12-25T02:23:00Z galex-713 joined #lisp 2020-12-25T02:23:43Z jibanes quit (Ping timeout: 246 seconds) 2020-12-25T02:25:02Z EvW quit (Ping timeout: 268 seconds) 2020-12-25T02:25:52Z jibanes joined #lisp 2020-12-25T02:28:04Z pallas quit (Ping timeout: 256 seconds) 2020-12-25T02:30:25Z wxie quit (Ping timeout: 240 seconds) 2020-12-25T02:32:45Z dbotton joined #lisp 2020-12-25T02:34:30Z wxie joined #lisp 2020-12-25T02:34:37Z lowryder quit (Ping timeout: 260 seconds) 2020-12-25T02:36:08Z lowryder joined #lisp 2020-12-25T02:43:24Z miasuji joined #lisp 2020-12-25T02:43:49Z Oladon quit (Quit: Leaving.) 2020-12-25T02:45:00Z Jeanne-Kamikaze quit (Ping timeout: 265 seconds) 2020-12-25T02:46:10Z xrash quit (Remote host closed the connection) 2020-12-25T03:02:56Z jibanes quit (Ping timeout: 240 seconds) 2020-12-25T03:05:00Z jibanes joined #lisp 2020-12-25T03:09:43Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-25T03:11:27Z dbotton quit (Quit: Leaving) 2020-12-25T03:12:50Z jibanes quit (Ping timeout: 256 seconds) 2020-12-25T03:14:36Z kam1 joined #lisp 2020-12-25T03:14:39Z jibanes joined #lisp 2020-12-25T03:14:56Z wxie quit (Ping timeout: 256 seconds) 2020-12-25T03:20:59Z frost-lab quit (Quit: Connection closed) 2020-12-25T03:25:50Z luckless_ joined #lisp 2020-12-25T03:30:03Z zaquest quit (Quit: Leaving) 2020-12-25T03:32:25Z jibanes quit (Ping timeout: 240 seconds) 2020-12-25T03:33:02Z zaquest joined #lisp 2020-12-25T03:34:28Z jibanes joined #lisp 2020-12-25T03:51:22Z davisr quit (Ping timeout: 256 seconds) 2020-12-25T03:57:27Z miasuji quit (Ping timeout: 260 seconds) 2020-12-25T04:03:22Z Alfr joined #lisp 2020-12-25T04:05:17Z Alfr_ quit (Ping timeout: 260 seconds) 2020-12-25T04:09:04Z beach: Good morning everyone! 2020-12-25T04:13:24Z oni-on-ion: happy holiday(s) beach ! 2020-12-25T04:13:48Z beach: Thank you! You too. And everyone else. 2020-12-25T04:16:30Z charles`: hi 2020-12-25T04:17:24Z thmprover quit (Quit: Happy Holidays to all, and to all a good night.) 2020-12-25T04:17:31Z beach: Hello charles`. 2020-12-25T04:20:19Z uniminin joined #lisp 2020-12-25T04:22:22Z pfdietz: FCGE would be a kind of Lisp virtualization? 2020-12-25T04:22:52Z beach: That's a good analogy. 2020-12-25T04:24:32Z beach: I invented them for two purposes. The most immediate one was bootstrapping. I needed a way to isolate SICL code from host code with the same names, for the purpose of bootstrapping. 2020-12-25T04:25:23Z beach: The second purpose is one of security. I wanted it to be harder to have malware installed in your system if all you do is load some code. 2020-12-25T04:26:20Z beach: By moving sensitive things like code generators to a separate first-class global environment, it becomes harder to violate the internal consistency of the system. 2020-12-25T04:27:41Z beach apologizes for the dangling participle. 2020-12-25T04:28:52Z pfdietz: I could use something like that for mutation testing, although I could also fork and do dangerous things in the child process. 2020-12-25T04:31:14Z FreeBirdLjj joined #lisp 2020-12-25T04:33:45Z narimiran joined #lisp 2020-12-25T04:35:37Z FreeBirdLjj quit (Ping timeout: 264 seconds) 2020-12-25T04:38:17Z xrash joined #lisp 2020-12-25T04:39:10Z beach: So, "Santa" gave me phoe's book as a present, so thank you phoe for writing it. 2020-12-25T04:40:50Z beach has this suspicion that "Santa" was really his (admittedly small) family in disguise. 2020-12-25T04:46:33Z beach: I think the book is an important document. The introduction by Kent Pitman and the preface clearly show how the creators of every mainstream language invented after Multics PL/I got it wrong, which of course is simultaneously totally amazing and totally absurd. 2020-12-25T04:48:26Z natj212 quit (Ping timeout: 260 seconds) 2020-12-25T04:49:12Z natj212 joined #lisp 2020-12-25T04:49:22Z Mandus quit (Ping timeout: 260 seconds) 2020-12-25T04:49:31Z Mandus joined #lisp 2020-12-25T04:52:11Z seisatsu quit (Ping timeout: 260 seconds) 2020-12-25T04:52:27Z seisatsu joined #lisp 2020-12-25T04:53:06Z swflint quit (Ping timeout: 260 seconds) 2020-12-25T04:53:18Z swflint_away joined #lisp 2020-12-25T04:53:42Z swflint_away is now known as swflint 2020-12-25T04:53:46Z lotuseater quit (Remote host closed the connection) 2020-12-25T05:09:21Z uniminin quit (Quit: Leaving) 2020-12-25T05:09:29Z Bike quit (Quit: Lost terminal) 2020-12-25T05:19:10Z charles`: how come functions exist? why isn't everything a defmethod? 2020-12-25T05:20:56Z beach: If every function was specified to be generic (which is probably what you mean), then there would be problems with what the AMOP calls "metastability". However, the standard allows for the system implementer to create a generic function in place of an ordinary function when that is practical. 2020-12-25T05:21:56Z charles`: Does that mean that it could get confused which method to call? 2020-12-25T05:23:50Z beach: It means that you would get into an infinite computation. For example, if you add a method to a generic function, you need to compute its discriminating function. But then, if you add a method to the function that computes discriminating functions, you immediate get into an infinite computation . 2020-12-25T05:24:08Z wxie joined #lisp 2020-12-25T05:24:45Z charles`: I see 2020-12-25T05:25:35Z edgar-rft: charles`: the reason is just simply that functions do not need to dispatch their arguments and therefore are usually faster than methods, another reason is historical, Lisp had functions *before* it had methods. 2020-12-25T05:26:08Z charles`: Excellent points 2020-12-25T05:27:58Z beach: edgar-rft: I really don't want to discourage people from using generic functions on the basis of performance. Especially programmers with only superficial knowledge can take that kind of advice to be a rule, and that would encourage lesser solutions to many problems. 2020-12-25T05:29:43Z beach: Furthermore, the performance problem is mainly due to the fact that existing Common Lisp implementations were created at a time when a memory access was as fast as a register access, so the techniques for generic dispatch used in current systems are not optimal. But we know how to do it better these days. 2020-12-25T05:30:02Z charles`: My particular use case is that I want a subroutine called "close" but that is used by common-lisp:close for streams. I'm closing something else. 2020-12-25T05:30:05Z xrash quit (Ping timeout: 240 seconds) 2020-12-25T05:30:51Z beach: charles`: You would create your own package in which CLOSE is a different symbol. Then you make your "subroutine" a generic function as much as you like. 2020-12-25T05:31:40Z charles`: but I also want to export it. if someone :use s my library then it would conflict right? 2020-12-25T05:31:53Z beach: They should not :USE your package. 2020-12-25T05:32:08Z charles`: It isn't designed to be :USE anyway 2020-12-25T05:32:30Z charles`: but I am :USE :cl 2020-12-25T05:32:34Z beach: Now that we have package-local nicknames, there is no need to :USE packages other than the COMMON-LISP package. 2020-12-25T05:33:01Z beach: You can :USE the COMMON-LISP and :SHADOW symbol names that you want yourself. 2020-12-25T05:33:05Z beach: I do that all the time. 2020-12-25T05:33:54Z edgar-rft: :USE :CL is okay but :USE :RANDOM-PACKAGE can lead to problems 2020-12-25T05:34:22Z charles`: as long as it dosn't export the symbol "close" 2020-12-25T05:34:40Z beach: You can export the symbol CLOSE and you should if you want client code to use it. 2020-12-25T05:35:16Z jibanes quit (Ping timeout: 240 seconds) 2020-12-25T05:35:22Z matryoshka quit (Quit: ZNC 1.8.2 - https://znc.in) 2020-12-25T05:35:43Z matryoshka joined #lisp 2020-12-25T05:35:56Z charles`: I meant as long as the "random package" doesn't export close 2020-12-25T05:36:30Z beach: charles`: It is a bad idea to :USE packages other than the COMMON-LISP package, as edgar-rft points out. 2020-12-25T05:37:13Z jibanes joined #lisp 2020-12-25T05:37:15Z beach: charles`: Imagine a future version of the random package that now exports one more symbol that clashes with a symbol with a similar name in a different package that you :USE. That means that the author of a random package can break your code. 2020-12-25T05:37:19Z beach: Not a great scenario. 2020-12-25T05:38:38Z charles`: Is there a way for asdf or quicklisp to ask for a specific version of a package? 2020-12-25T05:38:40Z iekfkk quit (Ping timeout: 268 seconds) 2020-12-25T05:39:28Z rumbler31 quit (Remote host closed the connection) 2020-12-25T05:39:31Z saganman joined #lisp 2020-12-25T05:40:35Z charles`: "Now that we have package-local nicknames..." is that because we can just make very short nicknames? 2020-12-25T05:40:41Z iekfkk joined #lisp 2020-12-25T05:40:51Z beach: Yes. 2020-12-25T05:41:10Z charles`: pws 2020-12-25T05:43:41Z lotuseater joined #lisp 2020-12-25T05:44:01Z rumbler31_ quit (Ping timeout: 264 seconds) 2020-12-25T05:49:42Z skapata quit (Ping timeout: 260 seconds) 2020-12-25T05:51:38Z jibanes quit (Ping timeout: 264 seconds) 2020-12-25T05:53:02Z jibanes joined #lisp 2020-12-25T05:54:03Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-25T05:56:10Z birdwing joined #lisp 2020-12-25T05:58:12Z luckless_ joined #lisp 2020-12-25T05:58:17Z vidak` quit (Read error: Connection reset by peer) 2020-12-25T05:58:25Z wooden quit (Read error: Connection reset by peer) 2020-12-25T05:58:56Z vidak` joined #lisp 2020-12-25T06:00:37Z CookE[] joined #lisp 2020-12-25T06:01:08Z skapata joined #lisp 2020-12-25T06:01:22Z jibanes quit (Ping timeout: 260 seconds) 2020-12-25T06:02:49Z jibanes joined #lisp 2020-12-25T06:05:32Z varjag joined #lisp 2020-12-25T06:09:08Z a0 joined #lisp 2020-12-25T06:09:23Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-25T06:10:25Z varjag quit (Ping timeout: 264 seconds) 2020-12-25T06:12:23Z CookE[] quit (Ping timeout: 240 seconds) 2020-12-25T06:12:32Z Necktwi quit (Ping timeout: 258 seconds) 2020-12-25T06:17:49Z waleee-cl quit (Quit: Connection closed for inactivity) 2020-12-25T06:18:42Z luckless_ joined #lisp 2020-12-25T06:24:26Z oxum_ joined #lisp 2020-12-25T06:25:22Z oxum__ joined #lisp 2020-12-25T06:25:45Z oxum quit (Ping timeout: 240 seconds) 2020-12-25T06:28:50Z Inline quit (Ping timeout: 264 seconds) 2020-12-25T06:29:05Z krid quit (Ping timeout: 240 seconds) 2020-12-25T06:29:37Z oxum_ quit (Ping timeout: 264 seconds) 2020-12-25T06:32:42Z Stanley00 joined #lisp 2020-12-25T06:33:32Z a0 quit (Remote host closed the connection) 2020-12-25T06:34:32Z eden joined #lisp 2020-12-25T06:39:15Z steve88888888 joined #lisp 2020-12-25T06:48:46Z jibanes quit (Ping timeout: 272 seconds) 2020-12-25T06:50:12Z jibanes joined #lisp 2020-12-25T06:53:07Z atomik joined #lisp 2020-12-25T06:53:10Z Necktwi joined #lisp 2020-12-25T06:53:23Z oxum joined #lisp 2020-12-25T06:54:15Z fiddlerwoaroof quit (Remote host closed the connection) 2020-12-25T06:55:03Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-25T06:56:32Z atomik_dog quit (Ping timeout: 260 seconds) 2020-12-25T06:57:07Z oxum__ quit (Ping timeout: 260 seconds) 2020-12-25T07:01:54Z luckless_ joined #lisp 2020-12-25T07:06:33Z andreyorst` joined #lisp 2020-12-25T07:06:36Z andreyorst` quit (Remote host closed the connection) 2020-12-25T07:08:54Z andreyorst` joined #lisp 2020-12-25T07:10:13Z chens quit (Read error: Connection reset by peer) 2020-12-25T07:11:19Z nullman joined #lisp 2020-12-25T07:14:56Z nullman quit (Client Quit) 2020-12-25T07:15:19Z nullman joined #lisp 2020-12-25T07:20:26Z skapata quit (Remote host closed the connection) 2020-12-25T07:31:07Z wxie quit (Ping timeout: 258 seconds) 2020-12-25T07:32:45Z eden quit (Remote host closed the connection) 2020-12-25T07:32:47Z aartaka joined #lisp 2020-12-25T07:33:16Z eden joined #lisp 2020-12-25T07:34:25Z aartaka_d joined #lisp 2020-12-25T07:36:11Z matryoshka quit (Quit: ZNC 1.8.2 - https://znc.in) 2020-12-25T07:36:35Z matryoshka joined #lisp 2020-12-25T07:37:14Z aartaka quit (Ping timeout: 256 seconds) 2020-12-25T07:38:36Z aartaka_d quit (Ping timeout: 240 seconds) 2020-12-25T07:38:41Z aartaka joined #lisp 2020-12-25T07:38:43Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-25T07:47:14Z Necktwi quit (Remote host closed the connection) 2020-12-25T07:47:40Z gaqwas joined #lisp 2020-12-25T07:47:40Z gaqwas quit (Changing host) 2020-12-25T07:47:40Z gaqwas joined #lisp 2020-12-25T07:56:50Z gaqwas quit (Remote host closed the connection) 2020-12-25T08:24:36Z fiddlerwoaroof joined #lisp 2020-12-25T08:27:07Z luckless_ joined #lisp 2020-12-25T08:28:38Z treflip joined #lisp 2020-12-25T08:28:46Z rgherdt joined #lisp 2020-12-25T08:33:02Z _whitelogger quit (Remote host closed the connection) 2020-12-25T08:34:02Z chens joined #lisp 2020-12-25T08:35:10Z _whitelogger joined #lisp 2020-12-25T08:36:23Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-25T08:42:48Z phoe: beach: thanks 2020-12-25T08:43:02Z phoe: hope it serves you well 2020-12-25T08:43:33Z phoe: charles`: (local-nicknames (#:p #:systems.raptor.very.long.package.name.by.phoe)) and then (p:foo ...) 2020-12-25T08:43:51Z beach: I am sure it will. 2020-12-25T08:46:11Z luckless_ joined #lisp 2020-12-25T08:48:38Z phoe: hmmmmm 2020-12-25T08:48:43Z phoe: I am working on a state machine right now 2020-12-25T08:48:47Z retropikzel left #lisp 2020-12-25T08:48:54Z phoe: and I want to be able to test individual states separately 2020-12-25T08:49:13Z phoe: but I also want the final state machine to compile into a single big TAGBODY for efficiency 2020-12-25T08:49:47Z phoe: does anyone know of a library that achieves these goals, or is it time for holiday phoe hacking? 2020-12-25T08:55:40Z sloanr quit (Quit: ERC (IRC client for Emacs 27.1)) 2020-12-25T09:00:28Z karlosz quit (Quit: karlosz) 2020-12-25T09:00:42Z karlosz joined #lisp 2020-12-25T09:07:38Z hendursa1 joined #lisp 2020-12-25T09:09:43Z hendursaga quit (Ping timeout: 240 seconds) 2020-12-25T09:21:23Z eden quit (Ping timeout: 240 seconds) 2020-12-25T09:22:22Z fiddlerwoaroof quit (Quit: WeeChat 2.3) 2020-12-25T09:24:26Z fiddlerwoaroof joined #lisp 2020-12-25T09:25:10Z imode quit (Quit: WeeChat 2.9) 2020-12-25T09:29:16Z hnOsmium0001 quit (Quit: Connection closed for inactivity) 2020-12-25T09:31:00Z fiddlerwoaroof: Hi, everyone! 2020-12-25T09:31:18Z d4ryus quit (Quit: WeeChat 2.9) 2020-12-25T09:31:25Z phoe: heyyyy 2020-12-25T09:32:51Z fiddlerwoaroof: I see bugging people about quicklisp stats actually had an effect :) 2020-12-25T09:33:05Z fiddlerwoaroof: thanks phoe / Xach ! 2020-12-25T09:33:21Z d4ryus joined #lisp 2020-12-25T09:33:53Z phoe: fiddlerwoaroof: :D 2020-12-25T09:42:02Z _whitelogger quit (Remote host closed the connection) 2020-12-25T09:42:31Z v3ga quit (Read error: Connection reset by peer) 2020-12-25T09:43:24Z v3ga joined #lisp 2020-12-25T09:44:10Z _whitelogger joined #lisp 2020-12-25T09:47:32Z phoe finds no such library 2020-12-25T09:47:50Z phoe invokes quickproject:make-project 2020-12-25T09:58:17Z v3ga: ok, so i just recently updated to sbcl 2.0.11 and used it for a few days. now for some reason it's not working on OSX. then on my linux box sly is acting odd. I can start sly up but in my lisp files it refuses to connect 2020-12-25T09:59:11Z varjag joined #lisp 2020-12-25T10:01:06Z chens quit (Remote host closed the connection) 2020-12-25T10:02:24Z Necktwi joined #lisp 2020-12-25T10:04:36Z mankaev quit (Read error: Connection reset by peer) 2020-12-25T10:04:55Z mankaev joined #lisp 2020-12-25T10:14:51Z v3ga: ok well thats one down...osx works again. 2020-12-25T10:16:27Z phoe: what's the sly issue? why does it refuse to connect? 2020-12-25T10:16:33Z phoe: what does the inferior-lisp buffer say? 2020-12-25T10:20:22Z liberliver joined #lisp 2020-12-25T10:21:29Z gutter joined #lisp 2020-12-25T10:22:41Z v3ga: well inferior I have set to "/usr/bin/local/sbcl" which oddly did work last night. 2020-12-25T10:22:48Z phoe: no, I mean the buffer 2020-12-25T10:22:59Z v3ga: ahh one sec 2020-12-25T10:23:42Z v3ga: phoe: yeah that works. 2.0.11 appears as it shoudl 2020-12-25T10:24:02Z phoe: I mean, you said it refuses to connect 2020-12-25T10:24:14Z phoe: what does the *inferior-lisp* buffer say when you try to execute sly? 2020-12-25T10:24:52Z v3ga: so M-X sly...it opens a sly-mrepl but say if i try to evaluate an s-expr from my lisp file thats open it says "Not Connected." 2020-12-25T10:25:42Z phoe: you keep on avoiding my question 2020-12-25T10:25:52Z phoe: what does the *inferior-lisp* buffer say after you have done M-x sly? 2020-12-25T10:25:55Z v3ga: oh it's still looking for slime-connection 2020-12-25T10:27:29Z aartaka quit (Read error: Connection reset by peer) 2020-12-25T10:27:44Z aartaka joined #lisp 2020-12-25T10:28:16Z v3ga: and *inferior lisp* starts up and gives a repl and no further messaging. i should be able to work it out from here. I'm a bit unfamiliar with common lisp toolings in emacs but I at least see partially what it's doing now 2020-12-25T10:28:27Z phoe: hmmmmmm. 2020-12-25T10:28:40Z phoe: does it show that it's loading up sly? any messages there? 2020-12-25T10:31:23Z v3ga: yeah. what's happening is my buffer that holds .lisp files still goes to slime-mode. I'm not seeing where I hook it in my init but i'll find it. I need to do some pruning anyways. Funny it throws a message asking if you'd like to remove the slime hook which I choose 'yes' but it's still coming up. I'll chalk this up to my horrid .init.el 2020-12-25T10:31:47Z phoe: oooh 2020-12-25T10:31:55Z phoe: so you have clashes between slime and sly! 2020-12-25T10:33:42Z v3ga: yup. and oddly I have 100% of my slime related forms commented out. recompiled init.el. 2020-12-25T10:33:44Z v3ga: weird... 2020-12-25T10:35:29Z v3ga: i'll make it explicit... 2020-12-25T10:40:34Z gaqwas joined #lisp 2020-12-25T10:46:22Z Stanley00 quit (Quit: Nice weekend & Merry Christmas) 2020-12-25T10:49:17Z atomik quit (Killed (adams.freenode.net (Nickname regained by services))) 2020-12-25T10:49:42Z Guest93519 joined #lisp 2020-12-25T10:50:16Z v3ga: phoe: interest, i had to completely remove slime. I'd had an issue...now that I remember. pulling sly from MELPA never worked on linux. I had to grab the git repo. on OSX it was installed in one shot. 2020-12-25T10:50:35Z v3ga: interesting* 2020-12-25T10:50:36Z phoe: I see 2020-12-25T10:51:39Z v3ga: I see some people have issues with 'sly-autoloads'. it seems to be hit or miss. ah well, it's working now 2020-12-25T10:52:25Z hendursaga joined #lisp 2020-12-25T10:54:23Z hendursa1 quit (Ping timeout: 240 seconds) 2020-12-25T10:55:58Z waleee-cl joined #lisp 2020-12-25T11:02:28Z Nilby quit (Remote host closed the connection) 2020-12-25T11:07:01Z surabax joined #lisp 2020-12-25T11:08:49Z phoe: What are the best practices when defining new DOCUMENTATION types? 2020-12-25T11:09:06Z phoe: I mean, defining the proper set of methods for DOCUMENTATION and where to store the docstrings. 2020-12-25T11:10:38Z beach: The best thing is when you can associate the docstring with some object being documented. Then you don't have to worry about what happens when the object disappears, or is redefined. 2020-12-25T11:10:43Z phoe: I'd like to have a similar API like CLHS DOCUMENTATION mentions for method combinations, so, three methods in total. My objects can be both named (via a global namespace) or anonymous. 2020-12-25T11:10:58Z phoe: OK - in my case it means, storing it in a slot of the object in question. 2020-12-25T11:11:37Z Necktwi quit (Ping timeout: 264 seconds) 2020-12-25T11:12:34Z X-Scale` joined #lisp 2020-12-25T11:14:22Z X-Scale quit (Ping timeout: 260 seconds) 2020-12-25T11:14:22Z X-Scale` is now known as X-Scale 2020-12-25T11:15:15Z vegansbane6 quit (Quit: The Lounge - https://thelounge.chat) 2020-12-25T11:16:01Z phoe: I have an issue with SETF DOCUMENTATION specialized on SYMBOL and MY-CLASS. If there is no instance of MY-CLASS globally named by SYMBOL, does the DOCUMENTATION protocol allow me to signal an error? 2020-12-25T11:16:20Z phoe: Asking because (setf (documentation 'foo 'function) "haha") seems to succeed even though no #'FOO is globally defined. 2020-12-25T11:16:36Z cosimone joined #lisp 2020-12-25T11:16:41Z phoe: And this complicates things for me because I need to account for documentation for objects that don't (yet) exist. 2020-12-25T11:17:47Z beach: Does it return "haha" when you do (documentation 'foo 'function) later? 2020-12-25T11:17:57Z phoe: yes 2020-12-25T11:18:13Z beach: Messy! 2020-12-25T11:18:14Z phoe: ...on SBCL, that is 2020-12-25T11:18:20Z phoe: not on CCL! 2020-12-25T11:18:29Z beach: What does CCL do? 2020-12-25T11:18:33Z phoe: NIL 2020-12-25T11:18:37Z phoe: and it's conforming 2020-12-25T11:18:41Z beach: But it still allows you to SETF it? 2020-12-25T11:18:44Z phoe: oh wait a second... 2020-12-25T11:18:45Z phoe: yes 2020-12-25T11:18:49Z beach: Hmm. 2020-12-25T11:18:55Z beach: Very messy! 2020-12-25T11:18:58Z phoe: "An implementation is permitted to discard documentation strings at any time for implementation-defined reasons." 2020-12-25T11:19:01Z phoe: here's my escape hatch! 2020-12-25T11:19:14Z beach: Mhm. 2020-12-25T11:19:27Z phoe: my SETF function can allow the programmer to "set" the documentation string for an unknown object by immediately discarding it. 2020-12-25T11:19:42Z beach: I really think DOCUMENTATION is suboptimal in today's world. 2020-12-25T11:19:56Z phoe: I agree, but it exists 2020-12-25T11:20:02Z beach: But until we can agree upon something better, that's what we have. 2020-12-25T11:27:51Z aartaka_d joined #lisp 2020-12-25T11:31:20Z aartaka quit (Ping timeout: 256 seconds) 2020-12-25T11:35:48Z saganman is now known as blackadder 2020-12-25T11:37:53Z luni joined #lisp 2020-12-25T11:39:20Z random-nick joined #lisp 2020-12-25T11:41:52Z cosimone quit (Quit: cosimone) 2020-12-25T11:48:16Z vegansbane6 joined #lisp 2020-12-25T11:53:00Z luni quit (Quit: Connection closed) 2020-12-25T11:55:30Z izh_ joined #lisp 2020-12-25T11:58:11Z Necktwi joined #lisp 2020-12-25T12:05:14Z Inline joined #lisp 2020-12-25T12:12:02Z _whitelogger quit (Remote host closed the connection) 2020-12-25T12:12:29Z v3ga quit (Quit: WeeChat 2.8) 2020-12-25T12:14:10Z _whitelogger joined #lisp 2020-12-25T12:18:59Z Lycurgus joined #lisp 2020-12-25T12:19:01Z treflip` joined #lisp 2020-12-25T12:20:47Z treflip quit (Read error: Connection reset by peer) 2020-12-25T12:23:16Z treflip` quit (Ping timeout: 246 seconds) 2020-12-25T12:28:58Z Kaisyu joined #lisp 2020-12-25T12:37:41Z phoe: clhs variable 2020-12-25T12:37:41Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_docume.htm 2020-12-25T12:37:47Z phoe: ...obviously 2020-12-25T12:38:19Z phoe: I have just discovered another of the majestic symbols of the CL package that are not important enough to have their own CLHS page 2020-12-25T12:38:32Z phoe shadows it and continues 2020-12-25T12:42:43Z orivej quit (Ping timeout: 260 seconds) 2020-12-25T12:47:56Z narimiran quit (Ping timeout: 240 seconds) 2020-12-25T12:49:41Z msk joined #lisp 2020-12-25T12:50:33Z gko_ joined #lisp 2020-12-25T12:53:43Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-25T12:59:50Z luckless_ joined #lisp 2020-12-25T13:02:26Z varjag: slyrus: pr's there 2020-12-25T13:02:41Z v3ga joined #lisp 2020-12-25T13:06:28Z heisig joined #lisp 2020-12-25T13:08:06Z oni-on-ion quit (Remote host closed the connection) 2020-12-25T13:08:57Z Oddity- quit (Read error: Connection reset by peer) 2020-12-25T13:10:47Z izh_ quit (Quit: Leaving) 2020-12-25T13:11:07Z Oddity joined #lisp 2020-12-25T13:15:04Z notzmv quit (Ping timeout: 246 seconds) 2020-12-25T13:15:23Z notzmv joined #lisp 2020-12-25T13:18:00Z villanella joined #lisp 2020-12-25T13:18:07Z phoe: I just realized that I'm writing something akin to the GF/method machinery 2020-12-25T13:18:29Z phoe: except instead of method objects, I'm adding states to the state machine 2020-12-25T13:18:44Z phoe: or rather, state definitions - the states are defined up front 2020-12-25T13:20:40Z Lycurgus quit (Quit: Exeunt) 2020-12-25T13:23:19Z EvW joined #lisp 2020-12-25T13:33:07Z matryoshka quit (Quit: ZNC 1.8.2 - https://znc.in) 2020-12-25T13:34:14Z heisig: phoe: Sounds like you should use method combinations :) 2020-12-25T13:37:44Z hendursaga quit (Quit: hendursaga) 2020-12-25T13:38:04Z hendursaga joined #lisp 2020-12-25T13:45:37Z phoe: heisig: I actually have a slightly different objective 2020-12-25T13:46:49Z phoe: I want to write a class that describes a state machine, with state machine definitions, that can verify that all states are implemented, no unexpected state transitions occur, and finally compile the whole state machine into a big ole TAGBODY for efficiency 2020-12-25T13:47:19Z phoe: mecombs alone won't give me this last point 2020-12-25T13:47:38Z phoe: oh, and each state should be independently testable, too 2020-12-25T13:49:34Z heisig: I see. Of course all this would be doable with the MOP, but I fully understand why you don't want to go down that route :) 2020-12-25T13:50:39Z phoe: I mean, I *could* define my own GF class and my own method class and treat methods as state definitions and the GF as the whole state machine 2020-12-25T13:52:21Z phoe: and, honestly, since my state machines are going to be funcallable and since I'm already writing ENSURE-STATE-MACHINE-USING-CLASS et al, I think that by the end I'll arrive at a point where my solution will be somewhat easily transferrable to standard GFs 2020-12-25T13:52:58Z heisig: This is about your JSON parser, right? 2020-12-25T13:53:03Z phoe: yes 2020-12-25T13:53:21Z phoe: don't write JSON parsers, kids, they lead into the dark despair of MOP yak shaving 2020-12-25T13:54:12Z heisig: MOP yaks are the best yaks :) 2020-12-25T13:54:25Z phoe: said the guy specializing in MOP yaks 2020-12-25T13:54:43Z heisig: :D 2020-12-25T13:55:38Z lucasb joined #lisp 2020-12-25T13:57:10Z contrapunctus left #lisp 2020-12-25T13:57:20Z contrapunctus joined #lisp 2020-12-25T14:17:33Z contrapunctus left #lisp 2020-12-25T14:17:44Z contrapunctus joined #lisp 2020-12-25T14:18:57Z hiroaki quit (Ping timeout: 272 seconds) 2020-12-25T14:22:21Z kenran joined #lisp 2020-12-25T14:22:59Z krid joined #lisp 2020-12-25T14:23:27Z kenran: For someone kinda new to LISP (I've done some Clojure in the past), in what order would you recommend I read "On Lisp" and "Let Over Lamda"? 2020-12-25T14:23:49Z beach: On Lisp is not for beginners. 2020-12-25T14:23:50Z phoe: Practical Common Lisp -> On Lisp -> Let Over Lambda 2020-12-25T14:23:57Z phoe: or 2020-12-25T14:23:59Z kenran: I'm reading The Seasoned Schemer at the moment, as well as Practical Common Lisp, and plan to tackle one of the above right after. 2020-12-25T14:24:03Z phoe: Graham's ANSI Common Lisp -> On Lisp -> Let Over Lambda 2020-12-25T14:24:14Z beach: What about PAIP. 2020-12-25T14:24:15Z phoe: but I recommend PCL over ANSI CL 2020-12-25T14:28:03Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-25T14:28:11Z kenran: Thanks! 2020-12-25T14:28:23Z beach: PCL is definitely better than ANSI Common Lisp since it talks about CLOS. 2020-12-25T14:28:50Z beach: minion: Please tell kenran about PAIP. 2020-12-25T14:28:51Z minion: kenran: PAIP: Paradigms of Artificial Intelligence Programming. More about Common Lisp than Artificial Intelligence. Now freely available at https://github.com/norvig/paip-lisp 2020-12-25T14:29:00Z beach: kenran: That one is a great book as well. 2020-12-25T14:29:19Z contrapunctus left #lisp 2020-12-25T14:29:37Z contrapunctus joined #lisp 2020-12-25T14:29:53Z kenran: minion: Ah, nice. I knew what it is, but didn't know it was "open sourced"! 2020-12-25T14:29:53Z minion: Ah, nice. I knew what it is, but didn't know it was "open sourced": An error was encountered in lookup: Parse error:URI "https://www.cliki.net/Ah%2C%20nice.%20I%20knew%20what%20it%20is%2C%20but%20didn't%20know%20it%20was%20\"open%20sourced\"?source" contains illegal character #\" at position 102.. 2020-12-25T14:30:10Z contrapunctus left #lisp 2020-12-25T14:30:13Z beach: minion: Thanks! 2020-12-25T14:30:13Z minion: you're welcome 2020-12-25T14:31:19Z hiroaki joined #lisp 2020-12-25T14:32:03Z cantstanya quit (Ping timeout: 240 seconds) 2020-12-25T14:33:42Z contrapunctus joined #lisp 2020-12-25T14:34:32Z lowryder quit (Ping timeout: 256 seconds) 2020-12-25T14:34:47Z cantstanya joined #lisp 2020-12-25T14:35:04Z ck_: what a world we live in, now even some characters are illegal 2020-12-25T14:36:31Z lowryder joined #lisp 2020-12-25T14:37:39Z luckless_ joined #lisp 2020-12-25T14:38:28Z Kaisyu quit (Quit: Connection closed for inactivity) 2020-12-25T14:41:44Z pfdietz quit (Ping timeout: 245 seconds) 2020-12-25T14:45:25Z perrier-jouet quit (Quit: WeeChat 3.0) 2020-12-25T14:57:19Z EvW quit (Ping timeout: 258 seconds) 2020-12-25T15:00:44Z perrier-jouet joined #lisp 2020-12-25T15:02:33Z toorevitimirp quit (Remote host closed the connection) 2020-12-25T15:03:35Z perrier-jouet quit (Client Quit) 2020-12-25T15:07:12Z perrier-jouet joined #lisp 2020-12-25T15:07:50Z Inline quit (Ping timeout: 264 seconds) 2020-12-25T15:08:43Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-25T15:11:00Z phoe: hmmmmmmmm 2020-12-25T15:11:27Z phoe discovers the feud raging between :DEFAULT-INITARGS and SHARED-INITIALIZE 2020-12-25T15:19:00Z krid quit (Remote host closed the connection) 2020-12-25T15:22:33Z davisr joined #lisp 2020-12-25T15:25:00Z luckless_ joined #lisp 2020-12-25T15:30:23Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-25T15:46:06Z luckless_ joined #lisp 2020-12-25T15:54:04Z birdwing quit (Ping timeout: 272 seconds) 2020-12-25T15:54:23Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-25T15:59:28Z andreyorst` quit (Quit: andreyorst`) 2020-12-25T16:00:29Z p_l: A quick if non-trivial question: is there a way, assuming closer-mop present and given a superclass, to invoke a method on all instances of any subclass of said superclass? And gather them into a list 2020-12-25T16:02:51Z _death: well, there's sb-vm:list-allocated-objects if you're using SBCL (assuming it's something you want to do at the REPL) 2020-12-25T16:03:31Z beach: Wow, SBCL keeps a reference to each instance of a class? 2020-12-25T16:03:58Z gko_ quit (Ping timeout: 260 seconds) 2020-12-25T16:04:05Z _death: beach: no, it traverses memory like the gc 2020-12-25T16:04:16Z beach: Oh, OK. Good! 2020-12-25T16:04:55Z aartaka_d is now known as aartaka 2020-12-25T16:08:54Z pfdietz joined #lisp 2020-12-25T16:09:19Z narimiran joined #lisp 2020-12-25T16:10:30Z pfdietz: (equalp (split-sequence #\; input) (values output index)) 2020-12-25T16:10:33Z pfdietz: What 2020-12-25T16:11:41Z p_l: Hmmm... On longer look, it seems my idea is a bit brain damaged, and shared allocation slot will be better 2020-12-25T16:14:10Z _jrjsmrtn joined #lisp 2020-12-25T16:14:45Z __jrjsmrtn__ quit (Ping timeout: 240 seconds) 2020-12-25T16:15:40Z pfdietz: phoe: which json parser is yours? Or is this a new one? 2020-12-25T16:19:19Z Jeanne-Kamikaze joined #lisp 2020-12-25T16:19:37Z pfdietz: When I compared CL json parsers, jsown was by far the fastest. And in some applications the speed of the json parser dominated the run time. 2020-12-25T16:19:40Z phoe: pfdietz: a new one; a quick hack version is at https://plaster.tymoon.eu/view/2212#2212 and it sports a TAGBODY that is way, WAY too large and non-unit-testable for my taste. 2020-12-25T16:19:57Z phoe: I want to use a single tagbody for performance reasons and then tune everything else I can 2020-12-25T16:20:23Z phoe: without sacrificing safety like jsown dows. 2020-12-25T16:20:25Z phoe: dows. 2020-12-25T16:20:28Z phoe: ....does. 2020-12-25T16:20:48Z pfdietz: Interestingly, I wanted to get out a representation where attributes were keywords. Conversion of strings to keywords was a bottleneck, but it was greatly accelerated by short circuiting the common cases (for that json) with string-case. 2020-12-25T16:21:05Z phoe: I use a hack where attributes are gensyms 2020-12-25T16:21:11Z phoe: that should avoid memory leaks, too. 2020-12-25T16:21:34Z phoe: and I optimize calls like (get object "foo") into EQ hash table accesses. 2020-12-25T16:21:47Z pfdietz: In this case the application consuming the parsed json wanted keywords. 2020-12-25T16:21:53Z phoe: yes, I see 2020-12-25T16:22:36Z Oladon joined #lisp 2020-12-25T16:24:56Z skapata joined #lisp 2020-12-25T16:25:13Z gutter quit (Quit: Bye...) 2020-12-25T16:26:07Z gutter joined #lisp 2020-12-25T16:26:11Z gutter quit (Remote host closed the connection) 2020-12-25T16:26:24Z _death: some years ago I used jsmn (a small json decoder in C) in some project.. that approach could be fast and nonconsing 2020-12-25T16:30:49Z phoe: for such a project, I'd prefer to avoid FFI if possible 2020-12-25T16:31:11Z _death: phoe: it would be easy to write it in Lisp 2020-12-25T16:31:40Z kayprish joined #lisp 2020-12-25T16:31:46Z _death: (the project was not..) 2020-12-25T16:32:02Z phoe: _death: you mean, rewrite jsmn in Lisp? 2020-12-25T16:32:08Z _death: yes 2020-12-25T16:33:08Z phoe: I think I'm doing something equivalent, looking at https://github.com/zserge/jsmn/blob/master/jsmn.h 2020-12-25T16:33:08Z hiroaki quit (Ping timeout: 260 seconds) 2020-12-25T16:35:45Z EvW joined #lisp 2020-12-25T16:36:31Z _death: again, note that jsmn doesn't cons 2020-12-25T16:37:41Z phoe: wait a second... how does it store output then? it accepts a preallocated array of tokens? 2020-12-25T16:37:50Z gutter joined #lisp 2020-12-25T16:38:06Z _death: yes 2020-12-25T16:38:27Z _death: and there's no string copying involved 2020-12-25T16:38:36Z _death: it just uses indices into the original string 2020-12-25T16:39:02Z amb007 quit (Ping timeout: 256 seconds) 2020-12-25T16:39:38Z amb007 joined #lisp 2020-12-25T16:41:19Z kayprish quit (Quit: Leaving) 2020-12-25T16:41:30Z phoe: hmmmm 2020-12-25T16:42:03Z phoe: I have no idea if that approach is viable in the Lisp world where people are used to manipulating objects that have identity, rather than using offsets into a string 2020-12-25T16:42:42Z luckless_ joined #lisp 2020-12-25T16:42:46Z _death: well, for that approach there are the myriad existing json libraries :) 2020-12-25T16:42:50Z phoe: yes 2020-12-25T16:43:12Z phoe: then that's an even more extreme approach than what I am working on 2020-12-25T16:45:21Z _death: the project I used it for was a soft real-time thing, so I could've gone for allocating decoders.. but jsmn was small and nifty (could just copy over the header), and the json part was a tangential thing anyway 2020-12-25T16:45:32Z phoe: yes, I see 2020-12-25T16:47:23Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-25T16:49:11Z pfdietz: Offsets into a string? Displaced arrays. 2020-12-25T16:49:43Z pfdietz: Granted, the header for those is allocated. 2020-12-25T16:50:02Z slyrus: varjag: thanks! Will review after xmas. 2020-12-25T16:50:04Z hiroaki joined #lisp 2020-12-25T16:50:10Z _death: and that header might even be larger than the string ;) 2020-12-25T16:51:17Z phoe: ^ 2020-12-25T16:51:20Z phoe: that's the worrying part :D 2020-12-25T16:51:47Z _death: for the tokens you could let the user pass a vector and use vector-push-extend.. then the user can pre-allocate with a fill-pointer 2020-12-25T16:52:44Z pfdietz: If one breaks the big vector into small strings, one can recognize when the small string is a base-string. Annoying when there's a non-base char somewhere in a large string, forcing an inefficient representation. 2020-12-25T16:53:08Z pfdietz: I want an "almost base string" type that encodes such cases more efficiently. 2020-12-25T16:53:58Z luckless_ joined #lisp 2020-12-25T16:55:34Z varjag: slyrus: cool 2020-12-25T16:56:03Z varjag: slyrus: there are two parts which are really unrelated: the thinning algo and the mod for ascii pnm writing 2020-12-25T16:56:27Z varjag: found that i did the latter ca. 2017 and forgot to submit 2020-12-25T17:05:01Z jibanes quit (Ping timeout: 246 seconds) 2020-12-25T17:07:01Z jibanes joined #lisp 2020-12-25T17:08:49Z hendursaga: Anyone know of a GraphViz dot *parser*? All I see are generators so far.. 2020-12-25T17:19:46Z amb007 quit (Read error: Connection reset by peer) 2020-12-25T17:19:51Z birdwing joined #lisp 2020-12-25T17:20:04Z amb007 joined #lisp 2020-12-25T17:24:18Z amb007 quit (Read error: Connection reset by peer) 2020-12-25T17:24:49Z amb007 joined #lisp 2020-12-25T17:25:40Z villanella quit (Ping timeout: 246 seconds) 2020-12-25T17:37:23Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-25T17:42:20Z rogersm joined #lisp 2020-12-25T17:44:15Z phoe: Minor announcement: the IRC channel #clcs (short for Common Lisp Community Scribes) welcomes people interested in Common Lisp bookwriting - be it about sharing their own stuff, asking/performing reviews, or just chilling in general. 2020-12-25T18:04:18Z luckless_ joined #lisp 2020-12-25T18:07:10Z aeth: well, more than that, for offsets into strings/sequences, nearly every function has a start/end or start1/end1/start2/end2 2020-12-25T18:07:14Z aeth: Not just displaced arrays. 2020-12-25T18:07:19Z aeth: I'd argue anything idiomatic has that. 2020-12-25T18:07:32Z phoe: yes, but still 2020-12-25T18:07:47Z phoe: I can see the appeal, but I can see the costs, too 2020-12-25T18:08:02Z phoe: pfdietz: almost base string... in-memory utf-8 strikes again 2020-12-25T18:11:23Z galex-713 quit (Ping timeout: 272 seconds) 2020-12-25T18:11:23Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-25T18:11:23Z orivej joined #lisp 2020-12-25T18:11:34Z kam1 quit (Ping timeout: 256 seconds) 2020-12-25T18:12:19Z luckless_ joined #lisp 2020-12-25T18:12:21Z galex-713 joined #lisp 2020-12-25T18:13:47Z charles` quit (Ping timeout: 260 seconds) 2020-12-25T18:13:47Z mankaev quit (Read error: Connection reset by peer) 2020-12-25T18:15:28Z mankaev joined #lisp 2020-12-25T18:16:18Z kam1 joined #lisp 2020-12-25T18:16:26Z lonjil: One day I want to coax a CL implementation to be UTF-8, including from the user POV for strings. 2020-12-25T18:16:43Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-25T18:17:11Z phoe: How does one efficiently fetch a Nth character of a UTF-8 string? 2020-12-25T18:17:15Z phoe: (sorry about the non-Lisp question) 2020-12-25T18:18:00Z davisr_ joined #lisp 2020-12-25T18:18:38Z xrash joined #lisp 2020-12-25T18:18:48Z xrash quit (Excess Flood) 2020-12-25T18:19:03Z hendursa1 joined #lisp 2020-12-25T18:19:54Z lonjil: phoe: You don't. However, in the land of Unicode, you can't fetch the Nth character from a UTF-32 string either. 2020-12-25T18:20:03Z hendursaga quit (Ping timeout: 240 seconds) 2020-12-25T18:20:20Z phoe: wait, why? I thought utf32 was secure against that because you have constant character size 2020-12-25T18:20:34Z lonjil: You can fetch the Nth code point, but when you venture from European languages, often a character can be made of multiple code points. 2020-12-25T18:20:40Z phoe: oooooh 2020-12-25T18:20:43Z phoe: yes. I see. 2020-12-25T18:21:05Z xrash joined #lisp 2020-12-25T18:21:12Z davisr quit (Ping timeout: 256 seconds) 2020-12-25T18:22:28Z hendursaga joined #lisp 2020-12-25T18:23:59Z aeth: lonjil: but only SBCL with SB-UNICODE actually tries to implement the Unicode algorithms like e.g. sb-unicode:uppercase, which (1) has to apply to a string and not a character, (2) cannot round-trip, and (3) is locale-dependent 2020-12-25T18:24:03Z aeth: (values (sb-unicode:uppercase "ß") (sb-unicode:uppercase "i") (sb-unicode:uppercase "i" :locale :tr) (sb-unicode:lowercase (sb-unicode:uppercase "ς"))) 2020-12-25T18:24:18Z lonjil: Most diacritics for the Latin alphabet in Unicode has pre-composed forms, such as 'ö'. You can also do 'o' followed by the '¨' combiner, but for Latin no-one bothers with this. But outside of Latin most scripts in Unicode don't have pre-composed forms, and things are done by composing multiple code points. 2020-12-25T18:24:27Z aeth: The portable stuff like CHAR-UPCASE can't comply with Unicode because of the guarantees that the standard makes with characters... 2020-12-25T18:25:03Z hendursa1 quit (Ping timeout: 240 seconds) 2020-12-25T18:26:01Z lonjil: aeth: yes. Though for strings I don't think any of that really matters w.r.t. UTF-32 vs UTF-8 strings. Though doubtlessly UTF-8 strings would break a lot of stuff. 2020-12-25T18:26:22Z luckless_ joined #lisp 2020-12-25T18:29:21Z Oladon quit (Quit: Leaving.) 2020-12-25T18:30:46Z aartaka quit (Ping timeout: 246 seconds) 2020-12-25T18:31:16Z davisr_ quit (Ping timeout: 240 seconds) 2020-12-25T18:33:01Z phoe: aeth: this reminds me 2020-12-25T18:33:05Z phoe: this typed slot sort of thing 2020-12-25T18:33:11Z phoe: have you ever published it as a separate library? 2020-12-25T18:33:25Z aeth: phoe: no, it's in my backlog but it has been glacial because 2020 is 2020 2020-12-25T18:33:33Z phoe: yes, I see 2020-12-25T18:33:41Z aeth: like I'm moving at 1/5 pace or whatever :-p 2020-12-25T18:33:48Z phoe: I can imagine, yes 2020-12-25T18:34:07Z cosimone joined #lisp 2020-12-25T18:41:52Z aeth: According to Gitlab I have 31 open issues and then I probably have another 40-60 or so I need to file. 2020-12-25T18:42:55Z Lord_of_Life_ joined #lisp 2020-12-25T18:45:10Z iekfkk quit (Read error: Connection reset by peer) 2020-12-25T18:45:45Z Lord_of_Life quit (Ping timeout: 240 seconds) 2020-12-25T18:45:49Z Lord_of_Life_ is now known as Lord_of_Life 2020-12-25T18:45:58Z iekfkk joined #lisp 2020-12-25T18:46:30Z aeth: oh, hmm 2020-12-25T18:46:43Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-25T18:47:51Z aeth: Does CFFI accept an integer everywhere where it also accepts a pointer? 2020-12-25T18:48:53Z aeth: Because I can't make an array of CFFI:FOREIGN-POINTERs, but I can make an array of (UNSIGNED-BYTE 64)s... or even just constantly do nonconsing arithmetic on the (UNSIGNED-BYTE 64)s, at least in SBCL when it doesn't leave the scope of the function. 2020-12-25T18:49:34Z hnOsmium0001 joined #lisp 2020-12-25T18:50:02Z phoe: aeth: (cffi:make-pointer #x12345678) 2020-12-25T18:50:27Z luckless_ joined #lisp 2020-12-25T18:50:32Z aeth: phoe: my game loop is non-consing. 2020-12-25T18:51:17Z phoe: oh. hmmm. 2020-12-25T18:52:24Z aeth: It's mostly fine, I just need a very clever way to do the matrix pointers. Or I can just precalculate them and shove them in a giant, T-typed array like I currently do. 2020-12-25T18:56:27Z frgo joined #lisp 2020-12-25T18:56:33Z frgo quit (Remote host closed the connection) 2020-12-25T18:57:01Z frgo joined #lisp 2020-12-25T18:57:36Z stoneglass joined #lisp 2020-12-25T18:58:49Z aeth: I suppose if I really had to, I could cheat with assembly because I only guarantee that it's nonconsing with the x86-64 SBCL... 2020-12-25T18:59:50Z Inline joined #lisp 2020-12-25T19:04:35Z bheesham_ quit 2020-12-25T19:07:35Z aartaka joined #lisp 2020-12-25T19:09:30Z galex-713_ joined #lisp 2020-12-25T19:10:24Z luni joined #lisp 2020-12-25T19:11:33Z galex-713 quit (Ping timeout: 272 seconds) 2020-12-25T19:18:41Z kaftejiman joined #lisp 2020-12-25T19:19:35Z akoana joined #lisp 2020-12-25T19:20:33Z ane: is there a standard restart SLIME/SLY knows how to invoke for something like "use-value"? what sort of magic is needed there? it seems sometimes SLIME/SLY will ask for new values on certain kinds of restarts 2020-12-25T19:20:56Z luni left #lisp 2020-12-25T19:21:28Z phoe: swank:*sldb-quit-restart* is for the Q button 2020-12-25T19:21:48Z phoe: as for USE-VALUE - it's no swank, AFAIK it's standard restart functionality 2020-12-25T19:22:03Z phoe: AFAIK all swank/slime do is rebinding *query-io* into something that can accept values from the minibuffer 2020-12-25T19:23:19Z ane: ok, thanks 2020-12-25T19:24:56Z andreyorst joined #lisp 2020-12-25T19:25:00Z orivej quit (Ping timeout: 256 seconds) 2020-12-25T19:26:15Z phoe: as for a "standard restart", what do you mean? 2020-12-25T19:26:27Z phoe: the swank/sly debugger uses the standard COMPUTE-RESTARTS function to get a list of all restarts 2020-12-25T19:29:43Z ane: I meant there's some way swank recognizes that this restart is interactive 2020-12-25T19:32:01Z ane: indeed, :interactive (lambda () (list (read *query-io*)) does the trick 2020-12-25T19:32:20Z phoe: it doesn't need to recognize anything 2020-12-25T19:32:28Z ane: yes, right, in fact it doesn't 2020-12-25T19:32:30Z phoe: it simply calls INVOKE-RESTART-INTERACTIVELY 2020-12-25T19:32:34Z ane: only the quit restart maybe? 2020-12-25T19:33:14Z phoe: the Q-key restarts are probably not interactive 2020-12-25T19:33:20Z phoe: ABORT restarts usually accept zero arguments 2020-12-25T19:33:31Z phoe: so INVOKE-RESTART-INTERACTIVELY is the same as INVOKE-RESTART in that case 2020-12-25T19:33:36Z karlosz quit (Remote host closed the connection) 2020-12-25T19:34:15Z birdwing quit (Ping timeout: 268 seconds) 2020-12-25T19:36:26Z rogersm quit (Quit: Leaving...) 2020-12-25T19:36:38Z varjag quit (Read error: Connection reset by peer) 2020-12-25T19:36:48Z varjag joined #lisp 2020-12-25T19:37:25Z aartaka quit (Ping timeout: 240 seconds) 2020-12-25T19:39:25Z v3ga quit (Ping timeout: 272 seconds) 2020-12-25T19:39:43Z ggoes quit (Ping timeout: 246 seconds) 2020-12-25T19:39:50Z v3ga joined #lisp 2020-12-25T19:42:03Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-25T19:44:38Z luckless_ joined #lisp 2020-12-25T19:45:52Z luckless_ quit (Remote host closed the connection) 2020-12-25T19:48:28Z galex-713_ quit (Ping timeout: 256 seconds) 2020-12-25T19:49:23Z luckless_ joined #lisp 2020-12-25T19:54:22Z aartaka joined #lisp 2020-12-25T19:54:33Z galex-713 joined #lisp 2020-12-25T19:56:05Z dilated_dinosaur quit (Ping timeout: 240 seconds) 2020-12-25T19:58:30Z andreyorst quit (Ping timeout: 256 seconds) 2020-12-25T19:59:03Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-25T19:59:27Z andreyorst joined #lisp 2020-12-25T19:59:54Z villanella joined #lisp 2020-12-25T20:00:08Z luckless_ joined #lisp 2020-12-25T20:03:40Z imode joined #lisp 2020-12-25T20:11:19Z kenran quit (Quit: leaving) 2020-12-25T20:15:46Z msk_ joined #lisp 2020-12-25T20:15:58Z msk quit (Read error: Connection reset by peer) 2020-12-25T20:16:33Z kam1 quit (Ping timeout: 260 seconds) 2020-12-25T20:18:17Z EvW quit (Ping timeout: 260 seconds) 2020-12-25T20:19:34Z karlosz joined #lisp 2020-12-25T20:25:01Z EvW joined #lisp 2020-12-25T20:25:23Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-25T20:26:51Z dbotton joined #lisp 2020-12-25T20:27:27Z luckless_ joined #lisp 2020-12-25T20:36:46Z andreyorst quit (Remote host closed the connection) 2020-12-25T20:38:19Z Jeanne-Kamikaze quit (Ping timeout: 272 seconds) 2020-12-25T20:41:11Z jw4 quit (Read error: Connection reset by peer) 2020-12-25T20:43:10Z jw4 joined #lisp 2020-12-25T20:44:41Z gioyik joined #lisp 2020-12-25T20:49:07Z narimiran quit (Ping timeout: 265 seconds) 2020-12-25T20:55:45Z Jeanne-Kamikaze joined #lisp 2020-12-25T20:56:15Z surabax_ joined #lisp 2020-12-25T20:56:43Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-25T20:58:44Z surabax__ joined #lisp 2020-12-25T20:59:22Z andreyorst joined #lisp 2020-12-25T20:59:31Z surabax quit (Ping timeout: 246 seconds) 2020-12-25T20:59:56Z Jeanne-Kamikaze quit (Ping timeout: 240 seconds) 2020-12-25T21:00:03Z luckless_ joined #lisp 2020-12-25T21:01:56Z surabax_ quit (Ping timeout: 240 seconds) 2020-12-25T21:03:20Z surabax_ joined #lisp 2020-12-25T21:04:22Z kam1 joined #lisp 2020-12-25T21:06:25Z surabax__ quit (Ping timeout: 240 seconds) 2020-12-25T21:07:16Z surabax__ joined #lisp 2020-12-25T21:08:53Z dbotton quit (Quit: Leaving) 2020-12-25T21:10:30Z surabax joined #lisp 2020-12-25T21:10:36Z surabax_ quit (Ping timeout: 240 seconds) 2020-12-25T21:12:04Z Jeanne-Kamikaze joined #lisp 2020-12-25T21:12:46Z surabax_ joined #lisp 2020-12-25T21:12:56Z surabax__ quit (Ping timeout: 240 seconds) 2020-12-25T21:14:03Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-25T21:14:26Z surabax_ quit (Client Quit) 2020-12-25T21:16:26Z surabax quit (Ping timeout: 272 seconds) 2020-12-25T21:17:42Z aartaka quit (Ping timeout: 272 seconds) 2020-12-25T21:18:05Z heisig quit (Ping timeout: 240 seconds) 2020-12-25T21:19:37Z karlosz quit (Quit: karlosz) 2020-12-25T21:22:00Z karlosz joined #lisp 2020-12-25T21:24:36Z aeth quit (Ping timeout: 240 seconds) 2020-12-25T21:25:09Z aeth joined #lisp 2020-12-25T21:25:40Z charles` joined #lisp 2020-12-25T21:30:06Z luckless_ joined #lisp 2020-12-25T21:34:23Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-25T21:37:57Z charles` quit (Ping timeout: 260 seconds) 2020-12-25T21:44:13Z hiroaki quit (Ping timeout: 265 seconds) 2020-12-25T21:45:53Z drot quit (Read error: Connection reset by peer) 2020-12-25T21:48:14Z bisickcor joined #lisp 2020-12-25T21:50:04Z luckless_ joined #lisp 2020-12-25T21:50:45Z iekfkk quit (Ping timeout: 240 seconds) 2020-12-25T21:53:36Z oni-on-ion joined #lisp 2020-12-25T21:57:24Z Jeanne-Kamikaze quit (Quit: Leaving) 2020-12-25T21:57:52Z hiroaki joined #lisp 2020-12-25T22:05:03Z davisr joined #lisp 2020-12-25T22:21:37Z stoneglass quit (Quit: stoneglass) 2020-12-25T22:22:00Z karlosz quit (Quit: karlosz) 2020-12-25T22:22:02Z davisr quit (Ping timeout: 256 seconds) 2020-12-25T22:23:21Z karlosz joined #lisp 2020-12-25T22:25:04Z banjiewen_ quit (Ping timeout: 268 seconds) 2020-12-25T22:25:29Z davisr joined #lisp 2020-12-25T22:26:02Z kilimanjaro quit (Ping timeout: 260 seconds) 2020-12-25T22:26:45Z banjiewen_ joined #lisp 2020-12-25T22:27:29Z davisr_ joined #lisp 2020-12-25T22:30:27Z gaqwas quit (Ping timeout: 260 seconds) 2020-12-25T22:30:37Z davisr quit (Ping timeout: 265 seconds) 2020-12-25T22:31:48Z kilimanjaro joined #lisp 2020-12-25T22:34:05Z kam1 quit (Ping timeout: 240 seconds) 2020-12-25T22:37:44Z matryoshka joined #lisp 2020-12-25T22:39:15Z EvW quit (Ping timeout: 268 seconds) 2020-12-25T22:47:43Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-25T22:49:02Z kam1 joined #lisp 2020-12-25T22:49:58Z Oladon joined #lisp 2020-12-25T22:54:32Z orivej joined #lisp 2020-12-25T22:55:11Z EvW joined #lisp 2020-12-25T22:56:25Z blackadder quit (Ping timeout: 246 seconds) 2020-12-25T22:56:26Z perrier-jouet quit (Quit: WeeChat 3.0) 2020-12-25T23:03:23Z frgo quit (Remote host closed the connection) 2020-12-25T23:03:36Z frgo joined #lisp 2020-12-25T23:04:04Z luckless_ joined #lisp 2020-12-25T23:06:16Z charles` joined #lisp 2020-12-25T23:07:42Z amb007 quit (Read error: Connection reset by peer) 2020-12-25T23:07:51Z andreyorst quit (Quit: WeeChat 3.0) 2020-12-25T23:07:59Z amb007 joined #lisp 2020-12-25T23:08:23Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-25T23:09:27Z phoe6 quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) 2020-12-25T23:10:26Z amb007 quit (Read error: Connection reset by peer) 2020-12-25T23:10:49Z amb007 joined #lisp 2020-12-25T23:11:53Z luckless_ joined #lisp 2020-12-25T23:11:53Z amb007 quit (Read error: Connection reset by peer) 2020-12-25T23:12:29Z amb007 joined #lisp 2020-12-25T23:15:38Z villanella quit (Ping timeout: 268 seconds) 2020-12-25T23:17:24Z ggoes joined #lisp 2020-12-25T23:20:41Z fanta1 quit (Remote host closed the connection) 2020-12-25T23:21:43Z mparlaktuna joined #lisp 2020-12-25T23:28:43Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-25T23:37:13Z jello_pudding quit (Ping timeout: 268 seconds) 2020-12-25T23:38:16Z bitmapper quit (Quit: Connection closed for inactivity) 2020-12-25T23:38:38Z Lycurgus joined #lisp 2020-12-25T23:39:25Z dilated_dinosaur joined #lisp 2020-12-25T23:44:42Z jello_pudding joined #lisp 2020-12-25T23:51:23Z perrier-jouet joined #lisp 2020-12-25T23:55:56Z luckless_ joined #lisp 2020-12-26T00:01:11Z Kaisyu joined #lisp 2020-12-26T00:18:05Z rgherdt quit (Ping timeout: 272 seconds) 2020-12-26T00:27:04Z perrier-jouet quit (Ping timeout: 246 seconds) 2020-12-26T00:27:06Z kam1 quit (Ping timeout: 256 seconds) 2020-12-26T00:29:36Z amb007 quit (Read error: Connection reset by peer) 2020-12-26T00:30:10Z Jeanne-Kamikaze joined #lisp 2020-12-26T00:30:12Z amb007 joined #lisp 2020-12-26T00:32:42Z Oladon quit (Quit: Leaving.) 2020-12-26T00:39:03Z _whitelogger quit (Remote host closed the connection) 2020-12-26T00:41:11Z _whitelogger joined #lisp 2020-12-26T00:41:20Z matryoshka quit (Quit: ZNC 1.8.2 - https://znc.in) 2020-12-26T00:43:02Z matryoshka joined #lisp 2020-12-26T00:49:47Z hiroaki_ joined #lisp 2020-12-26T00:49:52Z GuerrillaMonkey joined #lisp 2020-12-26T00:49:59Z Jeanne-Kamikaze quit (Read error: Connection reset by peer) 2020-12-26T00:50:45Z akoana left #lisp 2020-12-26T00:51:53Z hiroaki quit (Ping timeout: 260 seconds) 2020-12-26T00:57:03Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-26T01:01:14Z rixard quit 2020-12-26T01:01:54Z gioyik_ joined #lisp 2020-12-26T01:02:25Z random-nick quit (Ping timeout: 246 seconds) 2020-12-26T01:04:55Z gioyik__ joined #lisp 2020-12-26T01:05:14Z gioyik quit (Ping timeout: 256 seconds) 2020-12-26T01:07:42Z gioyik_ quit (Ping timeout: 265 seconds) 2020-12-26T01:07:42Z amb007 quit (Read error: Connection reset by peer) 2020-12-26T01:08:35Z amb007 joined #lisp 2020-12-26T01:20:03Z davisr_ quit (Remote host closed the connection) 2020-12-26T01:20:30Z davisr_ joined #lisp 2020-12-26T01:21:21Z bitmapper joined #lisp 2020-12-26T01:22:03Z Inline quit (Ping timeout: 268 seconds) 2020-12-26T01:27:15Z kaftejiman quit (Remote host closed the connection) 2020-12-26T01:28:47Z Lycurgus quit (Quit: Exeunt) 2020-12-26T01:29:07Z GuerrillaMonkey quit (Quit: Leaving) 2020-12-26T01:29:19Z Jeanne-Kamikaze joined #lisp 2020-12-26T01:35:02Z kam1 joined #lisp 2020-12-26T01:46:09Z luckless_ joined #lisp 2020-12-26T01:50:13Z aeth quit (Ping timeout: 260 seconds) 2020-12-26T01:51:04Z varjag quit (Ping timeout: 246 seconds) 2020-12-26T01:51:43Z aeth joined #lisp 2020-12-26T01:59:19Z matryoshka quit (Quit: ZNC 1.8.2 - https://znc.in) 2020-12-26T01:59:43Z matryoshka joined #lisp 2020-12-26T02:05:23Z lucasb quit (Quit: Connection closed for inactivity) 2020-12-26T02:10:23Z cosimone quit (Quit: cosimone) 2020-12-26T02:10:49Z Kaisyu quit (Quit: Connection closed for inactivity) 2020-12-26T02:14:03Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-26T02:14:14Z pfdietz quit (Ping timeout: 245 seconds) 2020-12-26T02:15:13Z luckless_ joined #lisp 2020-12-26T02:24:44Z kam1 quit (Read error: Connection reset by peer) 2020-12-26T02:26:12Z kam1 joined #lisp 2020-12-26T02:28:25Z kuroda joined #lisp 2020-12-26T02:30:33Z davisr joined #lisp 2020-12-26T02:30:36Z davisr_ quit (Ping timeout: 240 seconds) 2020-12-26T02:34:49Z lowryder quit (Ping timeout: 246 seconds) 2020-12-26T02:36:49Z lowryder joined #lisp 2020-12-26T02:37:10Z toorevitimirp joined #lisp 2020-12-26T02:38:31Z kuroda quit (Remote host closed the connection) 2020-12-26T02:49:10Z EvW quit (Ping timeout: 258 seconds) 2020-12-26T02:49:23Z hendursaga quit (Ping timeout: 240 seconds) 2020-12-26T02:50:17Z hendursaga joined #lisp 2020-12-26T02:50:54Z hendursaga quit (Remote host closed the connection) 2020-12-26T02:51:39Z hendursaga joined #lisp 2020-12-26T02:57:02Z _whitelogger quit (Remote host closed the connection) 2020-12-26T02:57:53Z liberliver quit (Ping timeout: 260 seconds) 2020-12-26T02:59:10Z _whitelogger joined #lisp 2020-12-26T03:01:49Z anewuser joined #lisp 2020-12-26T03:06:28Z anewuser quit (Remote host closed the connection) 2020-12-26T03:07:03Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-26T03:07:10Z anewuser joined #lisp 2020-12-26T03:10:33Z luckless_ joined #lisp 2020-12-26T03:11:05Z anewuser quit (Remote host closed the connection) 2020-12-26T03:11:37Z anewuser joined #lisp 2020-12-26T03:15:43Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-26T03:18:37Z luckless_ joined #lisp 2020-12-26T03:21:04Z orivej quit (Ping timeout: 256 seconds) 2020-12-26T03:21:41Z Codaraxis joined #lisp 2020-12-26T03:22:28Z anewuser quit (Remote host closed the connection) 2020-12-26T03:23:23Z anewuser joined #lisp 2020-12-26T03:24:16Z Jeanne-Kamikaze quit (Quit: Leaving) 2020-12-26T03:25:40Z Codaraxis__ quit (Ping timeout: 272 seconds) 2020-12-26T03:26:15Z Oladon joined #lisp 2020-12-26T03:26:26Z orivej joined #lisp 2020-12-26T03:27:02Z anewuser quit (Remote host closed the connection) 2020-12-26T03:28:12Z Codaraxis_ joined #lisp 2020-12-26T03:28:20Z anewuser joined #lisp 2020-12-26T03:28:28Z anewuser quit (Remote host closed the connection) 2020-12-26T03:28:55Z anewuser joined #lisp 2020-12-26T03:29:01Z Codaraxis quit (Ping timeout: 264 seconds) 2020-12-26T03:38:02Z anewuser quit (Remote host closed the connection) 2020-12-26T03:38:42Z anewuser joined #lisp 2020-12-26T03:39:02Z Codaraxis_ quit (Quit: Leaving) 2020-12-26T03:39:30Z anewuser quit (Remote host closed the connection) 2020-12-26T03:40:10Z anewuser joined #lisp 2020-12-26T03:42:59Z anewuser quit (Remote host closed the connection) 2020-12-26T03:43:43Z anewuser joined #lisp 2020-12-26T03:44:52Z igemnace joined #lisp 2020-12-26T03:47:58Z anewuser quit (Remote host closed the connection) 2020-12-26T03:54:02Z _whitelogger quit (Remote host closed the connection) 2020-12-26T03:56:11Z _whitelogger joined #lisp 2020-12-26T03:57:31Z saganman joined #lisp 2020-12-26T04:02:14Z Alfr_ joined #lisp 2020-12-26T04:04:51Z Alfr quit (Ping timeout: 268 seconds) 2020-12-26T04:08:58Z beach: Good morning everyone! 2020-12-26T04:09:11Z kini quit (Remote host closed the connection) 2020-12-26T04:18:43Z contrapunctus left #lisp 2020-12-26T04:19:39Z contrapunctus joined #lisp 2020-12-26T04:30:47Z kam1 quit (Ping timeout: 272 seconds) 2020-12-26T04:33:02Z jibanes quit (Ping timeout: 256 seconds) 2020-12-26T04:34:59Z jibanes joined #lisp 2020-12-26T04:41:23Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-26T04:41:40Z orivej quit (Ping timeout: 272 seconds) 2020-12-26T04:44:14Z skapata quit (Remote host closed the connection) 2020-12-26T04:47:37Z luckless_ joined #lisp 2020-12-26T04:51:00Z igemnace quit (Remote host closed the connection) 2020-12-26T04:52:14Z karlosz quit (Ping timeout: 264 seconds) 2020-12-26T04:53:24Z Oladon quit (Quit: Leaving.) 2020-12-26T04:57:49Z karlosz joined #lisp 2020-12-26T05:03:33Z fanta1 joined #lisp 2020-12-26T05:05:05Z mrchampion quit (Ping timeout: 240 seconds) 2020-12-26T05:07:19Z kam1 joined #lisp 2020-12-26T05:07:35Z mrchampion joined #lisp 2020-12-26T05:10:25Z aartaka joined #lisp 2020-12-26T05:37:15Z Jeanne-Kamikaze joined #lisp 2020-12-26T05:38:37Z rme quit (Ping timeout: 180 seconds) 2020-12-26T05:47:40Z jibanes quit (Ping timeout: 246 seconds) 2020-12-26T05:49:04Z anewuser joined #lisp 2020-12-26T05:49:49Z jibanes joined #lisp 2020-12-26T06:05:08Z waleee-cl quit (Quit: Connection closed for inactivity) 2020-12-26T06:06:32Z anewuser quit (Ping timeout: 256 seconds) 2020-12-26T06:21:35Z Jeanne-Kamikaze quit (Quit: Leaving) 2020-12-26T06:22:53Z narimiran joined #lisp 2020-12-26T06:43:10Z atomik_dog joined #lisp 2020-12-26T06:46:17Z Guest93519 quit (Ping timeout: 260 seconds) 2020-12-26T06:48:35Z aartaka_d joined #lisp 2020-12-26T06:48:44Z gutter quit (Remote host closed the connection) 2020-12-26T06:50:52Z gutter joined #lisp 2020-12-26T06:51:13Z aartaka quit (Ping timeout: 264 seconds) 2020-12-26T06:55:13Z gutter quit (Client Quit) 2020-12-26T06:56:49Z test12 joined #lisp 2020-12-26T07:04:16Z test12 quit (Remote host closed the connection) 2020-12-26T07:07:02Z xrash quit (Remote host closed the connection) 2020-12-26T07:15:17Z varjag joined #lisp 2020-12-26T07:17:47Z lottaquestions quit (Remote host closed the connection) 2020-12-26T07:18:14Z lottaquestions joined #lisp 2020-12-26T07:20:20Z varjag quit (Ping timeout: 268 seconds) 2020-12-26T07:28:01Z gutter joined #lisp 2020-12-26T07:39:03Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-26T07:56:46Z treflip joined #lisp 2020-12-26T07:57:53Z birdwing joined #lisp 2020-12-26T08:02:34Z orivej joined #lisp 2020-12-26T08:04:16Z aeth quit (Ping timeout: 240 seconds) 2020-12-26T08:06:00Z luckless_ joined #lisp 2020-12-26T08:06:14Z aeth joined #lisp 2020-12-26T08:07:44Z andreyorst joined #lisp 2020-12-26T08:09:06Z gutter quit (Remote host closed the connection) 2020-12-26T08:14:37Z karlosz quit (Ping timeout: 264 seconds) 2020-12-26T08:20:42Z aartaka joined #lisp 2020-12-26T08:21:44Z datajerk quit (Ping timeout: 265 seconds) 2020-12-26T08:22:57Z pve joined #lisp 2020-12-26T08:23:36Z aartaka_d quit (Ping timeout: 240 seconds) 2020-12-26T08:24:51Z saganman: Good Afternoon beach 2020-12-26T08:26:20Z datajerk joined #lisp 2020-12-26T08:29:26Z gaqwas joined #lisp 2020-12-26T08:29:26Z gaqwas quit (Changing host) 2020-12-26T08:29:26Z gaqwas joined #lisp 2020-12-26T08:30:08Z perrier-jouet joined #lisp 2020-12-26T08:35:50Z scymtym_ joined #lisp 2020-12-26T08:37:16Z scymtym quit (Ping timeout: 272 seconds) 2020-12-26T08:37:43Z phoe: good morning 2020-12-26T08:37:51Z beach: Hey phoe. 2020-12-26T08:41:16Z phoe: hello 2020-12-26T08:45:45Z gioyik__ quit (Quit: WeeChat 3.0) 2020-12-26T09:01:24Z Necktwi quit (Read error: Connection reset by peer) 2020-12-26T09:01:53Z villanella joined #lisp 2020-12-26T09:02:23Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-26T09:03:06Z luckless_ joined #lisp 2020-12-26T09:05:52Z kini joined #lisp 2020-12-26T09:06:42Z gutter joined #lisp 2020-12-26T09:07:18Z hendursa1 joined #lisp 2020-12-26T09:09:12Z luis quit (Quit: The Lounge - https://thelounge.chat) 2020-12-26T09:09:43Z hendursaga quit (Ping timeout: 240 seconds) 2020-12-26T09:12:37Z luis joined #lisp 2020-12-26T09:15:10Z rgherdt joined #lisp 2020-12-26T09:27:02Z _whitelogger quit (Remote host closed the connection) 2020-12-26T09:29:09Z _whitelogger joined #lisp 2020-12-26T09:48:21Z kini quit (Remote host closed the connection) 2020-12-26T09:50:31Z Inline joined #lisp 2020-12-26T10:15:07Z dip joined #lisp 2020-12-26T10:23:47Z dip quit (Quit: Leaving) 2020-12-26T10:23:54Z gutter quit (Remote host closed the connection) 2020-12-26T10:24:19Z gutter joined #lisp 2020-12-26T10:26:52Z drot joined #lisp 2020-12-26T10:28:20Z varjag joined #lisp 2020-12-26T10:30:05Z phoe: because I was amused by one typo on the Internet, today I have peeked into dpANS3 with the intent of replacing the term "compilation" with "complication" 2020-12-26T10:30:55Z phoe: the first terms that come to mind are the optimization quality COMPLICATION-SPEED and the macro WITH-COMPLICATION-UNIT - both very useful 2020-12-26T10:31:33Z phoe: it is also good to know that dpANS discusses this topic in depth - it has a whole chapter dedicated to Evaluation and Complication, where complication semantics are precisely defined 2020-12-26T10:33:11Z phoe: among other things, it mentions e.g. that «The term "implicit complication" refers to complication performed during evaluation.» 2020-12-26T10:37:41Z hnOsmium0001 quit (Quit: Connection closed for inactivity) 2020-12-26T10:37:44Z imode quit (Quit: Away from the sun.) 2020-12-26T10:39:37Z solideogloria[m] quit (Ping timeout: 260 seconds) 2020-12-26T10:41:54Z hiroaki_ quit (Ping timeout: 265 seconds) 2020-12-26T10:44:23Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-26T10:46:41Z gaqwas quit (Remote host closed the connection) 2020-12-26T10:47:07Z gaqwas joined #lisp 2020-12-26T10:52:26Z solideogloria[m] joined #lisp 2020-12-26T10:55:43Z hiroaki_ joined #lisp 2020-12-26T10:59:36Z vaporatorius quit (Ping timeout: 240 seconds) 2020-12-26T10:59:57Z vaporatorius joined #lisp 2020-12-26T10:59:57Z vaporatorius quit (Changing host) 2020-12-26T10:59:57Z vaporatorius joined #lisp 2020-12-26T11:03:06Z frgo quit (Remote host closed the connection) 2020-12-26T11:03:33Z frgo joined #lisp 2020-12-26T11:09:27Z vegansbane6 quit (Quit: The Lounge - https://thelounge.chat) 2020-12-26T11:09:53Z treflip left #lisp 2020-12-26T11:11:36Z luckless_ joined #lisp 2020-12-26T11:12:27Z contrapunctus: phoe: lol 2020-12-26T11:19:11Z oleo__ joined #lisp 2020-12-26T11:19:21Z Inline quit (Remote host closed the connection) 2020-12-26T11:21:49Z edgar-rft: that's good news for poeple who feel that Common Lisp is not complicated enough 2020-12-26T11:25:34Z phoe: yes 2020-12-26T11:29:45Z nij joined #lisp 2020-12-26T11:30:13Z nij: I'm impressed by this post (https://leancrew.com/all-this/2011/12/more-shell-less-egg/) and wonder if I can take more out from the UNIX utilities.. 2020-12-26T11:30:44Z nij: This makes me wonder if there are nicer alternatives (of unix utils) in lisp. 2020-12-26T11:31:53Z phoe: if that is what you're asking, you can do the above via #'compose, #'curry, and #'rcurry and other Lisp functions 2020-12-26T11:32:56Z phoe: Lisp is not a language where everything is a stream of text, though, so it would be more verbose than the shell script mentioned in the article 2020-12-26T11:33:57Z nij: I see. 2020-12-26T11:34:20Z phoe: but it's possible to produce such "pipes" via curry/rcurry/compose rather easily 2020-12-26T11:35:02Z phoe: you can also use an arrow macro as syntax sugar for your piping 2020-12-26T11:35:19Z phoe: like, a diamond arrow will make it unnecessary to use curry/rcurry/compose 2020-12-26T11:35:52Z liberliver joined #lisp 2020-12-26T11:36:25Z nij: How about uniq, tr, sort..? 2020-12-26T11:36:25Z nij quit (Remote host closed the connection) 2020-12-26T11:36:35Z phoe: lisp functions for those 2020-12-26T11:36:40Z cosimone joined #lisp 2020-12-26T11:36:42Z nij joined #lisp 2020-12-26T11:36:48Z phoe: #'remove-duplicates, #'sort, etc.. 2020-12-26T11:37:00Z phoe: I don't think there's a built-in replacement for tr 2020-12-26T11:37:18Z phoe: oh wait 2020-12-26T11:37:35Z nij: Pattern match + transform 2020-12-26T11:37:41Z phoe: you replace stuff with newlines... you can use split-sequence:split-sequence-if-not #'alpha-char-p for that 2020-12-26T11:38:38Z surabax joined #lisp 2020-12-26T11:40:54Z edgar-rft: has anybody noticed that the shell script traverses the entire list 5 times in only 6 lines of code? nobody would pay you anything for such a shitty performance 2020-12-26T11:41:19Z phoe: of course they would pay you 2020-12-26T11:41:24Z phoe: it's called unix system administration 2020-12-26T11:42:14Z edgar-rft: run that script on the oxford dictionary and see how long it takes 2020-12-26T11:42:55Z vegansbane6 joined #lisp 2020-12-26T11:48:05Z kaftejiman joined #lisp 2020-12-26T11:52:26Z nij: edgar-rft: good point xD 2020-12-26T11:53:51Z nij: edgar-rft: That could be a reason why I'm looking for a lisp variant.. 2020-12-26T11:55:24Z Alfr_: edgar-rft, tr linear, sort n log n, uniq linear, sed number of arguments. It'll likely take less than a minute on a ten year old machine. 2020-12-26T11:59:01Z andreyorst quit (Ping timeout: 264 seconds) 2020-12-26T12:00:03Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-26T12:01:00Z oleo__ quit (Remote host closed the connection) 2020-12-26T12:02:49Z luckless_ joined #lisp 2020-12-26T12:07:37Z contrapunctus left #lisp 2020-12-26T12:10:10Z nij quit (Remote host closed the connection) 2020-12-26T12:10:27Z nij joined #lisp 2020-12-26T12:14:59Z tychoish quit (Ping timeout: 260 seconds) 2020-12-26T12:15:41Z kini joined #lisp 2020-12-26T12:18:47Z contrapunctus joined #lisp 2020-12-26T12:19:44Z tychoish joined #lisp 2020-12-26T12:22:38Z nij quit (Quit: ERC (IRC client for Emacs 27.1)) 2020-12-26T12:23:00Z nij joined #lisp 2020-12-26T12:27:10Z amb007 quit (Read error: Connection reset by peer) 2020-12-26T12:27:20Z amb007 joined #lisp 2020-12-26T12:28:23Z bacterio quit (Ping timeout: 260 seconds) 2020-12-26T12:28:24Z amb007 quit (Read error: Connection reset by peer) 2020-12-26T12:29:28Z amb007 joined #lisp 2020-12-26T12:31:03Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-26T12:31:03Z amb007 quit (Read error: Connection reset by peer) 2020-12-26T12:31:18Z amb007 joined #lisp 2020-12-26T12:32:13Z luckless_ joined #lisp 2020-12-26T12:32:13Z amb007 quit (Read error: Connection reset by peer) 2020-12-26T12:32:31Z amb007 joined #lisp 2020-12-26T12:36:04Z bacterio joined #lisp 2020-12-26T12:37:19Z edgar-rft: Alfr_: even if every traversal is linear it's minimum 5 times too slow because only 1 traversal is needed to get the desired result. 2020-12-26T12:37:47Z ck_: phoe already said it, but to expand, it's unix system administration /job security/ :) 2020-12-26T12:38:30Z MichaelRaskin joined #lisp 2020-12-26T12:39:17Z pyc quit (Quit: ZNC 1.7.2+deb3 - https://znc.in) 2020-12-26T12:39:17Z amb007 quit (Read error: Connection reset by peer) 2020-12-26T12:39:22Z edgar-rft: yes, but that answer misses the point of said article 2020-12-26T12:40:00Z pyc joined #lisp 2020-12-26T12:40:07Z amb007 joined #lisp 2020-12-26T12:40:17Z ck_: have you read the Unix Hater's Handbook? 2020-12-26T12:40:17Z random-nick joined #lisp 2020-12-26T12:41:18Z edgar-rft: yes :-) 2020-12-26T12:42:28Z ck_: enough said then, I think ;) 2020-12-26T12:43:29Z nij: I didn't and I should. 2020-12-26T12:45:05Z skapata joined #lisp 2020-12-26T12:45:08Z beach: I avoided reading it for the longest time, thinking it was written by disgruntled IBM mainframe users, but it is very good and it is written by people who know what they are talking about, because they saw the better systems that preceded Unix. 2020-12-26T12:45:35Z nij: Wow full of hate! 2020-12-26T12:45:41Z beach: And now it is freely available online, so there is no excuse not to read it. 2020-12-26T12:45:43Z nij: I'm thinking of avoiding reading it too. 2020-12-26T12:45:59Z nij: Is it just hate or is there any proposed solution? 2020-12-26T12:46:13Z beach: The solutions existed when Unix was created. 2020-12-26T12:46:21Z nij: ?! which is? 2020-12-26T12:46:26Z beach: They describe those better ways. 2020-12-26T12:46:37Z beach: Twenex, ITS, Multics, Genera. 2020-12-26T12:46:40Z lotuseater: is the book enjoyable to read? 2020-12-26T12:46:47Z beach: Very much. 2020-12-26T12:47:21Z lotuseater: yes i found it via a simple search :) 2020-12-26T12:48:58Z ck_: It's deprecating but very humorous, I would call it realistic in the best way possible 2020-12-26T12:49:12Z nij: beach: should I go back and use those.. multics, genera..? 2020-12-26T12:49:49Z ck_: nij: you can go back in time? take me with you. 2020-12-26T12:49:55Z beach: nij: That would be hard (but not impossible). And no, they have not kept up with things like GUIs and such. 2020-12-26T12:50:34Z nij: :( 2020-12-26T12:50:41Z nij: So what's a practical solution if any? 2020-12-26T12:50:52Z phoe: solution for what exactly 2020-12-26T12:50:54Z ck_: please remind me, practical solution to what problem? 2020-12-26T12:51:00Z lotuseater: those headers for chapters in the table of contents are funny :D 2020-12-26T12:51:15Z phoe: lotuseater: they would have been funny if they weren't so sad 2020-12-26T12:51:53Z lotuseater: ok how do you mean exactly? 2020-12-26T12:52:35Z amb007 quit (Read error: Connection reset by peer) 2020-12-26T12:52:47Z nij: I mean.. given that UNIX is so bad.. what should I do? 2020-12-26T12:52:53Z amb007 joined #lisp 2020-12-26T12:53:07Z FennecCode quit (Remote host closed the connection) 2020-12-26T12:53:24Z ck_: be glad, because it could be worse 2020-12-26T12:53:26Z phoe: lotuseater: the existence of these chapter names hints that there is a reason for their existence, which is that unix had and has its obvious issues that we keep on working around because we can't viably fix them 2020-12-26T12:53:35Z beach: nij: One necessary "solution" would be for universities to hire teachers who are qualified to know that they shouldn't teach the crap they are now teaching, as if it were the greatest possible stuff available. 2020-12-26T12:53:35Z lotuseater: use Linux? 2020-12-26T12:53:37Z phoe: nij: continue using it because all alternatives are worse 2020-12-26T12:54:03Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-26T12:55:49Z ck_: also, if you've never seen genera, watch some videos about it. Here's one good demonstration - https://www.youtube.com/watch?v=o4-YnLpLgtk 2020-12-26T12:56:13Z lotuseater: oh thx ck_ 2020-12-26T12:57:21Z andreyorst joined #lisp 2020-12-26T12:58:37Z lotuseater: most people seem to value looks and quantity over usefulness and quality 2020-12-26T12:59:36Z amb007 quit (Read error: Connection reset by peer) 2020-12-26T12:59:39Z nij: ck_: will do! 2020-12-26T13:00:27Z nij: Well.. if we have a sane Lisp shell.. we can interact with the computer however we like in Lisp. 2020-12-26T13:00:31Z nij: Wouldn't that solve the problems? 2020-12-26T13:00:36Z amb007 joined #lisp 2020-12-26T13:00:38Z phoe: we already do, it's called the REPL :D 2020-12-26T13:01:00Z phoe: the unix shell is not a good generic programming interface though because it's not object-oriented 2020-12-26T13:01:13Z phoe: it has no way of representing complex structure othen than via text, a stream of bytes 2020-12-26T13:01:35Z phoe: even Windows PowerShell is more capable than that nowadays 2020-12-26T13:01:47Z nij: yeah! that's what I'm hoping for :D 2020-12-26T13:02:00Z nij: And I do remember your way, phoe 2020-12-26T13:02:16Z nij: aka to have a Lisp repl on all time. I hope I can master that soon in my life. 2020-12-26T13:02:46Z ck_: "master" and "soon" don't often occur in the same sentence. Good Luck! 2020-12-26T13:02:52Z phoe: it's not about mastering 2020-12-26T13:03:04Z phoe: just keep your emacs window always open and keep your slime repl buffer somewhere in there 2020-12-26T13:03:23Z nij: ck_: haha yeah 2020-12-26T13:03:24Z lotuseater: nij: even when you program stuff with McCLIM you have a REPL in default 2020-12-26T13:03:57Z nij: phoe: I need to get out of my comfort zone as the bashism has "worked" for me. I have to forget them and learn the alternatives. 2020-12-26T13:04:15Z nij: It'd be nice if some tutorial teaches how to use the Lisp way to talk to my machine. 2020-12-26T13:04:54Z ck_: nij: there's a section in the Unix Hater's Handbook about that, too. It features a story by Jamie Zawinski, on how he tried to perform a task with bash but then "came to his senses" (is I think the quote) and wrote some emacs lisp code to do it 2020-12-26T13:08:52Z leo_song_ joined #lisp 2020-12-26T13:08:56Z leo_song quit (Ping timeout: 240 seconds) 2020-12-26T13:11:55Z contrapunctus left #lisp 2020-12-26T13:12:52Z nij: ck_: still looking for that section @@ 2020-12-26T13:14:49Z contrapunctus joined #lisp 2020-12-26T13:15:04Z beach: nij: Unfortunately courses and text books on software-related subjects limit themselves to describing some technique without having an opinion as to whether it is good or bad, nor whether there are better alternatives. The reason for this dismal state of things is that authors and teachers are largely incompetent. 2020-12-26T13:16:12Z nij: In academics each judgement needs to be made inside a framework. 2020-12-26T13:16:29Z beach: nij: Take Tanenbaum and Bos "Modern Operating Systems" that claim that an OS can't be written in a language with automatic memory management. Or that has a description of "processes" without telling us why it was invented or what disadvantages processes have. 2020-12-26T13:16:35Z nij: In our case we need a framework/theory that helps judge which is good and which is bad. 2020-12-26T13:17:48Z beach: nij: Knowledge of the domain being taught or written about would be a good start. 2020-12-26T13:18:02Z contrapunctus left #lisp 2020-12-26T13:20:45Z FennecCode joined #lisp 2020-12-26T13:22:47Z ck_: nij: page 167. 2020-12-26T13:23:29Z CrazyEdd_ is now known as CrazEd 2020-12-26T13:23:59Z CrazEd is now known as Guest9673 2020-12-26T13:37:48Z random-nick quit (Ping timeout: 260 seconds) 2020-12-26T13:39:10Z EvW joined #lisp 2020-12-26T13:42:18Z luckless_ joined #lisp 2020-12-26T13:42:53Z nij: I think I'm using a different version @@ 2020-12-26T13:46:23Z nij: Haha I see. It doesn't say how the work is done in elisp.. just says it could be done. 2020-12-26T13:47:29Z ck_: well, the task in question is pretty trivial, how bash needs to spawn additional processes for each entry of some list of filenames is the point of the story 2020-12-26T13:48:19Z nij: How would you do this in lisp? 2020-12-26T13:49:10Z beach: You don't spawn a process for each function executed in Common Lisp. 2020-12-26T13:49:12Z leo_song_ quit (Read error: Connection reset by peer) 2020-12-26T13:49:13Z beach: Luckily. 2020-12-26T13:49:32Z hendursa1 quit (Quit: hendursa1) 2020-12-26T13:49:51Z hendursaga joined #lisp 2020-12-26T13:50:23Z nij: Oh. You just spawn one process that reads a list of strings, and then start manipulating the strings? 2020-12-26T13:50:26Z leo_song joined #lisp 2020-12-26T13:51:32Z beach: nij: Your entire session, from when you start your Lisp system to when you exit it, is one single process. 2020-12-26T13:51:42Z beach: Luckily. 2020-12-26T13:53:01Z jonatack quit (Ping timeout: 264 seconds) 2020-12-26T13:55:04Z jonatack joined #lisp 2020-12-26T14:04:29Z random-nick joined #lisp 2020-12-26T14:07:40Z leo_song quit (Read error: Connection reset by peer) 2020-12-26T14:09:58Z leo_song joined #lisp 2020-12-26T14:12:47Z nij quit (Ping timeout: 260 seconds) 2020-12-26T14:13:48Z aartaka quit (Read error: Connection reset by peer) 2020-12-26T14:13:54Z aartaka_d joined #lisp 2020-12-26T14:18:06Z Guest9673 is now known as CrazEd 2020-12-26T14:18:36Z CrazEd is now known as Guest11553 2020-12-26T14:18:56Z kam1 quit (Ping timeout: 240 seconds) 2020-12-26T14:26:04Z kam1 joined #lisp 2020-12-26T14:35:33Z lowryder quit (Ping timeout: 260 seconds) 2020-12-26T14:37:07Z lowryder joined #lisp 2020-12-26T14:40:01Z EvW quit (Ping timeout: 268 seconds) 2020-12-26T14:41:23Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-26T14:43:15Z luckless_ joined #lisp 2020-12-26T14:47:56Z waleee-cl joined #lisp 2020-12-26T14:56:43Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-26T14:56:43Z amb007 quit (Read error: Connection reset by peer) 2020-12-26T14:57:05Z amb007 joined #lisp 2020-12-26T14:58:18Z bgardner quit (Quit: leaving) 2020-12-26T14:58:39Z luckless_ joined #lisp 2020-12-26T15:01:56Z amb007 quit (Read error: Connection reset by peer) 2020-12-26T15:03:01Z amb007 joined #lisp 2020-12-26T15:05:26Z orivej quit (Ping timeout: 256 seconds) 2020-12-26T15:07:00Z dmc00 quit (Remote host closed the connection) 2020-12-26T15:07:59Z dmc00 joined #lisp 2020-12-26T15:12:14Z toorevitimirp quit (Remote host closed the connection) 2020-12-26T15:17:37Z amb007 quit (Read error: Connection reset by peer) 2020-12-26T15:17:43Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-26T15:18:39Z amb007 joined #lisp 2020-12-26T15:23:10Z dmc00 quit (Remote host closed the connection) 2020-12-26T15:23:57Z dmc00 joined #lisp 2020-12-26T15:27:40Z amb007 quit (Read error: Connection reset by peer) 2020-12-26T15:28:09Z amb007 joined #lisp 2020-12-26T15:29:44Z vutral joined #lisp 2020-12-26T15:29:44Z amb007 quit (Read error: Connection reset by peer) 2020-12-26T15:30:57Z amb007 joined #lisp 2020-12-26T15:35:16Z amb007 quit (Read error: Connection reset by peer) 2020-12-26T15:36:26Z amb007 joined #lisp 2020-12-26T15:38:40Z amb007 quit (Read error: Connection reset by peer) 2020-12-26T15:39:34Z amb007 joined #lisp 2020-12-26T15:44:56Z kam1 quit (Ping timeout: 240 seconds) 2020-12-26T15:45:03Z luckless_ joined #lisp 2020-12-26T15:53:58Z matryoshka quit (Quit: ZNC 1.8.2 - https://znc.in) 2020-12-26T15:54:37Z orivej joined #lisp 2020-12-26T15:56:54Z matryoshka joined #lisp 2020-12-26T15:56:54Z amb007 quit (Read error: Connection reset by peer) 2020-12-26T15:57:24Z amb007 joined #lisp 2020-12-26T16:00:46Z UM-Li joined #lisp 2020-12-26T16:00:46Z amb007 quit (Read error: Connection reset by peer) 2020-12-26T16:01:18Z amb007 joined #lisp 2020-12-26T16:03:22Z amb007 quit (Read error: Connection reset by peer) 2020-12-26T16:04:30Z amb007 joined #lisp 2020-12-26T16:05:37Z aeth quit (Ping timeout: 264 seconds) 2020-12-26T16:06:15Z amb007 quit (Read error: Connection reset by peer) 2020-12-26T16:07:10Z amb007 joined #lisp 2020-12-26T16:07:18Z aeth joined #lisp 2020-12-26T16:09:16Z amb007 quit (Read error: Connection reset by peer) 2020-12-26T16:09:28Z amb007 joined #lisp 2020-12-26T16:10:10Z amb007 quit (Read error: Connection reset by peer) 2020-12-26T16:10:28Z luni joined #lisp 2020-12-26T16:10:29Z amb007 joined #lisp 2020-12-26T16:11:42Z kam1 joined #lisp 2020-12-26T16:24:00Z thmprover joined #lisp 2020-12-26T16:30:40Z tich joined #lisp 2020-12-26T16:31:49Z tich quit (Client Quit) 2020-12-26T16:32:55Z tich joined #lisp 2020-12-26T16:33:02Z tich quit (Client Quit) 2020-12-26T16:39:02Z galex-713 quit (Ping timeout: 268 seconds) 2020-12-26T16:47:16Z galex-713 joined #lisp 2020-12-26T16:47:57Z iskander joined #lisp 2020-12-26T16:48:06Z kam1 quit (Ping timeout: 272 seconds) 2020-12-26T16:48:23Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-26T16:48:49Z iskander- quit (Ping timeout: 264 seconds) 2020-12-26T16:51:11Z luckless_ joined #lisp 2020-12-26T16:59:05Z bmansurov_ quit (Quit: 👋) 2020-12-26T17:00:43Z orivej quit (Ping timeout: 246 seconds) 2020-12-26T17:02:22Z aartaka joined #lisp 2020-12-26T17:05:49Z Oladon joined #lisp 2020-12-26T17:05:50Z aartaka_d quit (Ping timeout: 272 seconds) 2020-12-26T17:15:50Z kam1 joined #lisp 2020-12-26T17:28:22Z jjong joined #lisp 2020-12-26T17:31:54Z karlosz joined #lisp 2020-12-26T17:34:22Z charles` quit (Ping timeout: 260 seconds) 2020-12-26T17:35:03Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-26T17:39:00Z vutral quit (Quit: Connection closed for inactivity) 2020-12-26T18:00:11Z liberliver quit (Quit: liberliver) 2020-12-26T18:08:59Z bitmapper quit (Quit: Connection closed for inactivity) 2020-12-26T18:13:15Z luckless_ joined #lisp 2020-12-26T18:17:05Z contrapunctus joined #lisp 2020-12-26T18:20:29Z contrapunctus: Has anyone tried setting "qq " as an Emacs abbrev for "(ql:quickload :|)"? (with | being the cursor) I got it to work in lisp-mode buffers, but not in slime-repl-mode. 2020-12-26T18:20:43Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-26T18:23:50Z contrapunctus: This is what I have at the moment - http://ix.io/2JDj/elisp 2020-12-26T18:24:21Z luckless_ joined #lisp 2020-12-26T18:41:10Z kam1 quit (Ping timeout: 246 seconds) 2020-12-26T18:43:56Z Lord_of_Life_ joined #lisp 2020-12-26T18:46:25Z Lord_of_Life quit (Ping timeout: 246 seconds) 2020-12-26T18:46:47Z Lord_of_Life_ is now known as Lord_of_Life 2020-12-26T18:46:56Z oxum quit (Ping timeout: 256 seconds) 2020-12-26T18:47:08Z oxum joined #lisp 2020-12-26T18:52:08Z emacs-dwim joined #lisp 2020-12-26T18:53:56Z oxum_ joined #lisp 2020-12-26T18:53:56Z UM-Li quit (Remote host closed the connection) 2020-12-26T18:54:22Z oxum quit (Ping timeout: 256 seconds) 2020-12-26T19:00:21Z Jeanne-Kamikaze joined #lisp 2020-12-26T19:00:38Z rogersm joined #lisp 2020-12-26T19:06:17Z paul0 joined #lisp 2020-12-26T19:08:34Z perrier-jouet quit (Quit: WeeChat 3.0) 2020-12-26T19:08:58Z perrier-jouet joined #lisp 2020-12-26T19:15:41Z whoawhoawhoa joined #lisp 2020-12-26T19:16:20Z notzmv quit (Remote host closed the connection) 2020-12-26T19:16:37Z notzmv joined #lisp 2020-12-26T19:17:11Z whoawhoawhoa is now known as egp8 2020-12-26T19:20:30Z kam1 joined #lisp 2020-12-26T19:27:02Z oni-on-ion: slime has its own shortcut things, with ',' 2020-12-26T19:27:08Z oni-on-ion: you may need to add it there ? 2020-12-26T19:36:04Z _atomik joined #lisp 2020-12-26T19:36:49Z EvW joined #lisp 2020-12-26T19:38:17Z atomik_dog quit (Ping timeout: 260 seconds) 2020-12-26T19:41:03Z luni quit (Quit: Connection closed) 2020-12-26T19:43:43Z rogersm quit (Quit: Leaving...) 2020-12-26T19:46:28Z Jeanne-Kamikaze quit (Ping timeout: 260 seconds) 2020-12-26T19:48:46Z pve: contrapunctus: All my slime-repl abbrevs have ended up in fundamental-mode-abbrev-table for some reason. Perhaps a better way would be to somehow enable the abbrevs in slime-repl-mode-hook... 2020-12-26T19:50:13Z pve: hm it looks like your code might be doing something like that already 2020-12-26T19:50:50Z bitmapper joined #lisp 2020-12-26T19:52:42Z fanta1 quit (Quit: fanta1) 2020-12-26T19:56:08Z andreyorst quit (Ping timeout: 256 seconds) 2020-12-26T19:57:36Z galex-713 quit (Ping timeout: 268 seconds) 2020-12-26T19:57:36Z nitrix-mas is now known as nitrix 2020-12-26T19:59:02Z birdwing quit (Ping timeout: 260 seconds) 2020-12-26T20:01:05Z aeth quit (Ping timeout: 240 seconds) 2020-12-26T20:03:17Z orivej joined #lisp 2020-12-26T20:03:19Z aeth joined #lisp 2020-12-26T20:11:02Z iekfkk joined #lisp 2020-12-26T20:12:30Z galex-713 joined #lisp 2020-12-26T20:14:45Z bisickcor quit (Ping timeout: 240 seconds) 2020-12-26T20:24:58Z kam1 quit (Ping timeout: 260 seconds) 2020-12-26T20:32:15Z kam1 joined #lisp 2020-12-26T20:32:49Z saganman quit (Ping timeout: 246 seconds) 2020-12-26T20:39:46Z hnOsmium0001 joined #lisp 2020-12-26T20:41:15Z jw4 quit (Read error: Connection reset by peer) 2020-12-26T20:43:04Z jw4 joined #lisp 2020-12-26T20:50:39Z iekfkk quit (Read error: Connection reset by peer) 2020-12-26T20:51:39Z iekfkk joined #lisp 2020-12-26T20:51:52Z alanz quit (Ping timeout: 268 seconds) 2020-12-26T20:52:07Z kilimanjaro quit (Ping timeout: 260 seconds) 2020-12-26T20:52:31Z kilimanjaro joined #lisp 2020-12-26T20:53:18Z akoana joined #lisp 2020-12-26T20:53:18Z alanz joined #lisp 2020-12-26T20:59:37Z orivej quit (Ping timeout: 264 seconds) 2020-12-26T21:00:18Z narimiran quit (Quit: leaving) 2020-12-26T21:00:39Z ebrasca joined #lisp 2020-12-26T21:06:09Z kam1 quit (Read error: Connection reset by peer) 2020-12-26T21:06:38Z kam1 joined #lisp 2020-12-26T21:07:01Z Oladon quit (Quit: Leaving.) 2020-12-26T21:10:06Z EvW quit (Ping timeout: 258 seconds) 2020-12-26T21:19:40Z Oladon joined #lisp 2020-12-26T21:21:03Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-26T21:24:18Z phoe: hmmm 2020-12-26T21:24:49Z phoe: I am trying to write down some practices when it comes to validating slot values for instances 2020-12-26T21:24:51Z gproto23 joined #lisp 2020-12-26T21:25:22Z phoe: in face of multiple inheritance, too 2020-12-26T21:25:28Z phoe: and how to best minimize the amount of resulting code 2020-12-26T21:26:11Z gproto23 quit (Client Quit) 2020-12-26T21:26:37Z phoe: option one is applying proper logic to writer methods and in the Four Horsemen of SHARED-INITIALIZE 2020-12-26T21:26:57Z phoe: option two is applying some validation logic in the slots themselves 2020-12-26T21:27:39Z luckless_ joined #lisp 2020-12-26T21:28:30Z mseddon: after personally failing with #2 forever, I'd pick #1, although that is naturally going to be a performance tank. 2020-12-26T21:28:30Z EvW joined #lisp 2020-12-26T21:29:16Z phoe: option one generates a lot of boilerplate code, but option two gives no easy way to perform cross-slot validation logic 2020-12-26T21:29:49Z mseddon: that's my issue with #2, you have this little sea of logic that can easily be made inconsistent 2020-12-26T21:31:13Z mseddon: I guess it's about how much and what you want to validate 2020-12-26T21:31:23Z phoe: my issue with #1 is that a lot of boilerplate is required to make e.g. MAKE-INSTANCE slot validation 2020-12-26T21:32:17Z mseddon: yeah, but there are many simple problems that fit trivially into #2, it's just that #1 can become arbitrarily complicated. You need to set yourself some upper bound I think. 2020-12-26T21:32:27Z phoe: basically, inside :AROUND or primary method, you need to manually reconstruct the keyword argument list and explicitly APPLY #'CALL-NEXT-METHOD on it to prevent the incorrect values from being propagated deeper into the instantiation 2020-12-26T21:32:42Z madage quit (Read error: Connection reset by peer) 2020-12-26T21:32:42Z Aurora_v_kosmose quit (Read error: Connection reset by peer) 2020-12-26T21:32:55Z mseddon: right. that's even scarier 2020-12-26T21:33:04Z phoe: :BEFORE breaks restarts and :AFTER is too late in the instantiation process 2020-12-26T21:33:17Z mseddon: ah whammers and whoppers. always a bit weird imo 2020-12-26T21:33:19Z Aurora_v_kosmose joined #lisp 2020-12-26T21:33:31Z scymtym__ joined #lisp 2020-12-26T21:34:32Z mseddon: imo, in lisp I'm less scared of boilerplate. since I can abstract it. 2020-12-26T21:34:51Z mseddon: but I'm guessing you've found some nasty edge cases that aren't easily defmacro'd away? 2020-12-26T21:34:53Z scymtym_ quit (Ping timeout: 265 seconds) 2020-12-26T21:36:58Z phoe: I'm currently looking for the best ways to solve it before I write my macros 2020-12-26T21:38:29Z grobe0ba quit (Quit: ZNC 1.7.5 - https://znc.in) 2020-12-26T21:38:43Z grobe0ba joined #lisp 2020-12-26T21:41:16Z mseddon: ah right. yeah, that game is definitely harder. 2020-12-26T21:41:35Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-12-26T21:41:48Z mseddon: I mean, surely, validation is quite an open ended problem, both in solutions and your appetite for precision. 2020-12-26T21:41:54Z madage joined #lisp 2020-12-26T21:42:07Z kam1 quit (Remote host closed the connection) 2020-12-26T21:42:11Z Aurora_v_kosmose joined #lisp 2020-12-26T21:42:38Z kam1 joined #lisp 2020-12-26T21:42:57Z aartaka_d joined #lisp 2020-12-26T21:43:04Z grobe0ba quit (Client Quit) 2020-12-26T21:43:10Z mseddon: since I'm assuming you don't need to show that a given STRING can be eval'd and terminate. 2020-12-26T21:43:16Z grobe0ba joined #lisp 2020-12-26T21:44:18Z aartaka quit (Ping timeout: 260 seconds) 2020-12-26T21:50:21Z villanella quit (Ping timeout: 265 seconds) 2020-12-26T21:52:12Z jonatack quit (Quit: jonatack) 2020-12-26T21:57:57Z puchacz joined #lisp 2020-12-26T21:59:04Z puchacz: hi, bt:condition-wait / bt:condition-notify question please. in Java the pattern is always to notifyAll() which wakes up all waiting threads. then they can check in unspecified order: is it for me? 2020-12-26T21:59:33Z puchacz: how do I do it in Lisp? there are threads waiting to run a lambda, and only one of them will have its lambda on the top of the queue. 2020-12-26T22:00:09Z puchacz: the bordeaux manual says it is guaranteed to wake up at least one thread 2020-12-26T22:00:49Z puchacz: in my case the thread may check - is it my lambda at the top of the queue? no, then I will keep waiting. 2020-12-26T22:01:56Z jonatack joined #lisp 2020-12-26T22:04:33Z aeth_ joined #lisp 2020-12-26T22:05:01Z imode joined #lisp 2020-12-26T22:05:18Z cosimone quit (Quit: cosimone) 2020-12-26T22:05:53Z puchacz: actually I know :) 2020-12-26T22:06:23Z puchacz: upon waking up, re-check the condition and if not fulfilled, wake up / notify another thread.... 2020-12-26T22:06:37Z jonatack quit (Ping timeout: 246 seconds) 2020-12-26T22:06:38Z puchacz: but - the thread I want to wake up may never be notified 2020-12-26T22:07:01Z jonatack joined #lisp 2020-12-26T22:07:45Z aeth quit (Ping timeout: 265 seconds) 2020-12-26T22:09:22Z phoe: wait a second 2020-12-26T22:09:29Z phoe: there is a specific thread that you want to wake up? 2020-12-26T22:09:45Z gaqwas quit (Ping timeout: 240 seconds) 2020-12-26T22:09:51Z phoe: hmmmm, this doesn't look like the proper use of condition variables 2020-12-26T22:10:15Z phoe: like, if you have N threads waiting on a single condition variable, and one of these threads is somehow "special", then it should have its own condition variable 2020-12-26T22:10:39Z phoe: from the point of view of a single CV, all threads waiting on that CV are equivalent 2020-12-26T22:11:00Z phoe: if your thread architecture violates this assumption then your thread architecture might be in trouble 2020-12-26T22:12:01Z puchacz: phoe - I have 2 queues, :interactive and :background. when the lambda finishes, I want to notify thread that has its lambda on the top of the interactive queue, if none, then top of background queue 2020-12-26T22:12:25Z puchacz: it seems that every lambda I put on the queue must be paired with its own condition variable 2020-12-26T22:12:38Z phoe: you have queues of threads? 2020-12-26T22:12:57Z phoe: or rather, these functions are pre-assigned to threads? 2020-12-26T22:13:06Z puchacz: queues of lambdas, so threads that put these lambdas on the queue have to wait 2020-12-26T22:13:36Z phoe: okay - why not wake up a random thread and have that thread try-pop a function from the queue then? 2020-12-26T22:13:37Z puchacz: it is for sqlite access, which is capable of only one transaction that writes. 2020-12-26T22:14:00Z phoe: if any other threads wake up, then they'll find an empty queue and go back to sleep 2020-12-26T22:14:50Z puchacz: phoe - I think you are thinking of a pool of executors, where it does not matter which thread executes any given lambda 2020-12-26T22:15:06Z phoe: yes 2020-12-26T22:15:32Z phoe: if you have a single writer thread, and only it is allowed to execute writes, then it should be a single thread possibly waiting on a single CV 2020-12-26T22:15:45Z puchacz: any thread can write, but only one at a time 2020-12-26T22:16:02Z phoe: it seems you want no CV, you want a lock 2020-12-26T22:16:35Z puchacz: I have a lock so the 2 queues are protected 2020-12-26T22:16:47Z phoe: you want a lock for your sqlite 2020-12-26T22:16:59Z puchacz: not needed 2020-12-26T22:17:01Z phoe: so only at most one thread has the capability to write at a given time 2020-12-26T22:17:30Z puchacz: I also want first-in, first-out, and interactive threads to be served before background threads. 2020-12-26T22:17:41Z puchacz: so I have 2 queues 2020-12-26T22:18:02Z phoe: ohhh. yes, this complicates things - you have some kind of prioritization going on. 2020-12-26T22:18:14Z puchacz: a very simple prioritisation 2020-12-26T22:18:54Z phoe: anything with more than one priority won't be served well by a single lock 2020-12-26T22:20:13Z puchacz: the :background type thread puts itself into :background queue and executes WHILE loop that waits till (and (:interactive queue is empty) (:background queue has this thread's lambda at the top)) 2020-12-26T22:20:51Z puchacz: whereas :interactive type thread has this WHILE loop that checks only if (:interactive queue has this thread's lambda) at the top 2020-12-26T22:20:56Z puchacz: so very simple prioritisation 2020-12-26T22:21:18Z phoe: hmmmm 2020-12-26T22:21:34Z phoe: why not actually have a single dedicated writer thread though? 2020-12-26T22:21:35Z puchacz: every time lambda finishes, I grab the queues guarding lock again, and I wanted to notifyAll() like in Java :) 2020-12-26T22:21:53Z aartaka joined #lisp 2020-12-26T22:22:04Z puchacz: because I would still have to juggle priorities and do some sort of join 2020-12-26T22:22:15Z phoe: this writer thread can perform this logic 2020-12-26T22:22:19Z puchacz: you see these threads proceed when they are done with sqlite 2020-12-26T22:22:35Z phoe: oh! you need them to block until the given piece of work is done... 2020-12-26T22:22:39Z puchacz: yes 2020-12-26T22:22:58Z phoe: this does sound kinda like like per-thread condition variables 2020-12-26T22:23:00Z puchacz: so if I enqueue (cons threads-lambda threads-condition-variable) it may work 2020-12-26T22:23:03Z phoe: at least I cannot think of anything better 2020-12-26T22:23:07Z phoe: yes, something like that 2020-12-26T22:23:20Z puchacz: if I had Java's notifyAll(), I would be done by now :) 2020-12-26T22:23:34Z puchacz: just wake them all up, and the right one will continue 2020-12-26T22:24:33Z aartaka_d quit (Ping timeout: 260 seconds) 2020-12-26T22:25:23Z puchacz: okay, I will try to create condition variables on demand and enqueue them. I take they will be garbage collected, nothing fancy like "reserving OS resource" happening behind the scene? 2020-12-26T22:26:36Z puchacz: ok, no worries - nothing like that in the manual 2020-12-26T22:27:07Z puchacz: so thanks for per thread CV suggestion :) 2020-12-26T22:27:40Z phoe: I guess they're normally collected 2020-12-26T22:31:31Z fe[nl]ix: puchacz: bordeaux-threads apiv2 has a condition-broadcast operation 2020-12-26T22:32:26Z imode quit (Quit: Running away from things seems to make them chase you faster. Stupid rubberbanding.) 2020-12-26T22:33:29Z ajb` joined #lisp 2020-12-26T22:34:08Z ajb` left #lisp 2020-12-26T22:35:06Z puchacz: fe[nl]ix - thanks, checking that 2020-12-26T22:36:02Z PuercoPop joined #lisp 2020-12-26T22:36:42Z puchacz: err, is it available? 2020-12-26T22:37:14Z fe[nl]ix: in git 2020-12-26T22:37:47Z puchacz: ok, thanks. 2020-12-26T22:38:17Z puchacz: saves me the trouble of creating condition variables and importantly, choosing the right one to notify :) 2020-12-26T22:39:45Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-12-26T22:40:27Z Aurora_v_kosmose joined #lisp 2020-12-26T22:42:14Z gaqwas joined #lisp 2020-12-26T22:42:14Z gaqwas quit (Changing host) 2020-12-26T22:42:14Z gaqwas joined #lisp 2020-12-26T22:46:56Z nullman quit (Ping timeout: 240 seconds) 2020-12-26T22:49:01Z nullman joined #lisp 2020-12-26T22:49:23Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-26T22:50:30Z pve quit (Quit: leaving) 2020-12-26T22:57:41Z egp8 quit (Quit: EXIT) 2020-12-26T22:57:42Z puchacz quit (Remote host closed the connection) 2020-12-26T23:01:15Z contrapunctus left #lisp 2020-12-26T23:01:49Z contrapunctus joined #lisp 2020-12-26T23:02:07Z frgo quit (Remote host closed the connection) 2020-12-26T23:02:34Z frgo joined #lisp 2020-12-26T23:04:27Z emacs-dwim quit (Ping timeout: 268 seconds) 2020-12-26T23:05:30Z luckless_ joined #lisp 2020-12-26T23:33:46Z gaqwas quit (Ping timeout: 246 seconds) 2020-12-26T23:34:28Z UM-Li joined #lisp 2020-12-26T23:40:33Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-12-26T23:41:08Z Aurora_v_kosmose joined #lisp 2020-12-26T23:41:33Z davisr quit (Ping timeout: 272 seconds) 2020-12-27T00:11:13Z random-nick quit (Ping timeout: 246 seconds) 2020-12-27T00:13:58Z thmprover quit (Ping timeout: 272 seconds) 2020-12-27T00:22:25Z kam1 quit (Ping timeout: 264 seconds) 2020-12-27T00:25:53Z aartaka quit (Ping timeout: 260 seconds) 2020-12-27T00:29:12Z surabax quit (Quit: Leaving) 2020-12-27T00:30:21Z grfn quit (Read error: Connection reset by peer) 2020-12-27T00:30:35Z grfn joined #lisp 2020-12-27T00:31:08Z sgithens quit (Read error: Connection reset by peer) 2020-12-27T00:31:12Z johs quit (Read error: Connection reset by peer) 2020-12-27T00:31:20Z sgithens joined #lisp 2020-12-27T00:31:28Z johs joined #lisp 2020-12-27T00:38:58Z mbomba joined #lisp 2020-12-27T00:39:08Z ebrasca quit (Remote host closed the connection) 2020-12-27T00:44:26Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-12-27T00:45:04Z Aurora_v_kosmose joined #lisp 2020-12-27T00:54:02Z luni joined #lisp 2020-12-27T00:56:08Z mbomba quit (Quit: WeeChat 3.0) 2020-12-27T00:56:45Z mparlaktuna quit (Ping timeout: 240 seconds) 2020-12-27T01:02:32Z Inline joined #lisp 2020-12-27T01:07:05Z slyrus quit (Read error: Connection reset by peer) 2020-12-27T01:11:01Z mparlaktuna joined #lisp 2020-12-27T01:12:07Z kam1 joined #lisp 2020-12-27T01:13:30Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-12-27T01:14:06Z Aurora_v_kosmose joined #lisp 2020-12-27T01:15:03Z gzj joined #lisp 2020-12-27T01:15:38Z rgherdt quit (Ping timeout: 264 seconds) 2020-12-27T01:20:45Z orivej joined #lisp 2020-12-27T01:24:58Z charles` joined #lisp 2020-12-27T01:32:53Z KREYREEN joined #lisp 2020-12-27T01:33:03Z KREYREEN: they said lisp is going to make a better developer~ 2020-12-27T01:33:07Z KREYREEN: https://i.imgur.com/9XKGx8Q.png they were right 2020-12-27T01:45:56Z NorthStar joined #lisp 2020-12-27T01:47:52Z NorthStar left #lisp 2020-12-27T01:48:48Z akoana quit (Quit: leaving) 2020-12-27T01:50:57Z kaftejiman quit (Remote host closed the connection) 2020-12-27T01:51:13Z varjag quit (Ping timeout: 264 seconds) 2020-12-27T01:55:06Z FreeBirdLjj joined #lisp 2020-12-27T01:58:05Z charles` quit (Ping timeout: 240 seconds) 2020-12-27T01:59:31Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-12-27T01:59:37Z FreeBirdLjj quit (Ping timeout: 264 seconds) 2020-12-27T02:00:09Z Aurora_v_kosmose joined #lisp 2020-12-27T02:01:09Z miasuji joined #lisp 2020-12-27T02:08:13Z EvW quit (Ping timeout: 268 seconds) 2020-12-27T02:08:52Z kam1 quit (Ping timeout: 260 seconds) 2020-12-27T02:23:21Z kam1 joined #lisp 2020-12-27T02:33:11Z toorevitimirp joined #lisp 2020-12-27T02:33:44Z kam1 quit (Remote host closed the connection) 2020-12-27T02:35:38Z lowryder quit (Ping timeout: 256 seconds) 2020-12-27T02:37:26Z lowryder joined #lisp 2020-12-27T02:49:42Z miasuji quit (Ping timeout: 260 seconds) 2020-12-27T02:58:29Z matryoshka quit (Quit: ZNC 1.8.2 - https://znc.in) 2020-12-27T02:58:49Z matryoshka joined #lisp 2020-12-27T03:02:08Z rumbler31 joined #lisp 2020-12-27T03:05:37Z toorevitimirp quit (Ping timeout: 264 seconds) 2020-12-27T03:18:25Z solideogloria[m]: what lisp is that 👀 2020-12-27T03:32:45Z toorevitimirp joined #lisp 2020-12-27T03:37:00Z toorevitimirp quit (Ping timeout: 256 seconds) 2020-12-27T03:39:49Z toorevitimirp joined #lisp 2020-12-27T03:46:20Z waleee-cl quit (Quit: Connection closed for inactivity) 2020-12-27T03:54:52Z PuercoPop quit (Remote host closed the connection) 2020-12-27T03:58:55Z imode joined #lisp 2020-12-27T04:03:19Z Alfr joined #lisp 2020-12-27T04:03:33Z beach: Good morning everyone! 2020-12-27T04:04:26Z luni: good morning beach 2020-12-27T04:04:52Z Alfr_ quit (Ping timeout: 258 seconds) 2020-12-27T04:07:27Z luni quit (Quit: Connection closed) 2020-12-27T04:12:00Z PuercoPop joined #lisp 2020-12-27T04:14:42Z __jrjsmrtn__ joined #lisp 2020-12-27T04:15:52Z _jrjsmrtn quit (Ping timeout: 268 seconds) 2020-12-27T04:15:52Z orivej quit (Ping timeout: 246 seconds) 2020-12-27T04:20:07Z orivej joined #lisp 2020-12-27T04:23:44Z charles` joined #lisp 2020-12-27T04:26:00Z solideogloria[m]: does anyone know why the p in `typep` in common lisp ? 2020-12-27T04:26:13Z charles`: predicate 2020-12-27T04:26:15Z beach: "predicate" 2020-12-27T04:26:29Z solideogloria[m]: ah got it 2020-12-27T04:27:42Z beach: The Paris transit authority is named RATP and I have a tendency to pronounce it RAT-P, and think of it as a predicate to determine whether some object is a rat. 2020-12-27T04:28:26Z beach: Though I suppose "rat pee" would be interesting as well. 2020-12-27T04:28:32Z charles`: how do normal people say it? 2020-12-27T04:28:43Z madage quit (Ping timeout: 240 seconds) 2020-12-27T04:28:47Z beach: err ahhh the peh 2020-12-27T04:29:03Z beach: err ahh teh peh I mean. 2020-12-27T04:29:51Z charles`: waste of syllables if you ask me. 2020-12-27T04:29:57Z beach: Indeed. 2020-12-27T04:30:06Z gzj quit (Remote host closed the connection) 2020-12-27T04:30:26Z gzj joined #lisp 2020-12-27T04:31:52Z bilegeek joined #lisp 2020-12-27T04:34:12Z beach: Languages seem to favor oscillations in brevity though. In French "Que est ce" (what is that) became "qu'est-ce" and then "qu'est-ce que c'est" (what is that, that it is) and now "qu'est-ce que c'est que ça" (what is that, that it is, that there) 2020-12-27T04:34:52Z beach: Off topic, so I'll stop now. 2020-12-27T04:35:27Z charles`: Basically macros 2020-12-27T04:35:49Z skapata quit (Remote host closed the connection) 2020-12-27T04:37:10Z beach: Oh, one more. In French, you can say "qu'en faire" (what to do with it), but in one TV commercial a woman said "Qu'est-ce que je dois faire, moi, de ça là maintenant" (what is it that I must do, me, with that there now). 2020-12-27T04:39:25Z karstensrage joined #lisp 2020-12-27T04:46:57Z charles` quit (Ping timeout: 260 seconds) 2020-12-27T04:56:54Z orivej quit (Ping timeout: 256 seconds) 2020-12-27T05:01:26Z toorevitimirp quit (Ping timeout: 256 seconds) 2020-12-27T05:09:58Z orivej joined #lisp 2020-12-27T05:13:24Z hnOsmium0001 is now known as hnOsmium0002 2020-12-27T05:14:18Z hnOsmium0002 is now known as hnOsmium0001 2020-12-27T05:16:06Z saganman joined #lisp 2020-12-27T05:21:01Z vaporatorius__ joined #lisp 2020-12-27T05:24:13Z vaporatorius quit (Ping timeout: 264 seconds) 2020-12-27T05:29:03Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-12-27T05:29:46Z Aurora_v_kosmose joined #lisp 2020-12-27T05:30:58Z contrapunctus: « The Paris transit authority is named RATP » 😂 2020-12-27T05:38:44Z madage joined #lisp 2020-12-27T05:41:25Z orivej quit (Ping timeout: 240 seconds) 2020-12-27T05:44:07Z gzj quit (Remote host closed the connection) 2020-12-27T05:44:27Z gzj joined #lisp 2020-12-27T05:48:52Z PuercoPop quit (Remote host closed the connection) 2020-12-27T05:55:48Z aartaka joined #lisp 2020-12-27T05:56:31Z quazimod1 joined #lisp 2020-12-27T05:57:33Z quazimodo quit (Ping timeout: 265 seconds) 2020-12-27T06:01:25Z aeth_ quit (Ping timeout: 240 seconds) 2020-12-27T06:03:25Z aeth joined #lisp 2020-12-27T06:07:03Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-27T06:10:55Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-12-27T06:11:30Z Aurora_v_kosmose joined #lisp 2020-12-27T06:14:23Z aartaka_d joined #lisp 2020-12-27T06:16:47Z aartaka quit (Ping timeout: 260 seconds) 2020-12-27T06:23:23Z luckless_ joined #lisp 2020-12-27T06:23:39Z narimiran joined #lisp 2020-12-27T06:27:09Z UM-Li quit (Quit: Konversation terminated!) 2020-12-27T06:42:09Z steve88888888 quit (Ping timeout: 245 seconds) 2020-12-27T06:57:03Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-27T07:02:44Z luckless_ joined #lisp 2020-12-27T07:23:30Z orivej joined #lisp 2020-12-27T07:24:06Z gzj quit (Remote host closed the connection) 2020-12-27T07:24:26Z gzj joined #lisp 2020-12-27T07:29:35Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-12-27T07:30:09Z Aurora_v_kosmose joined #lisp 2020-12-27T07:37:06Z keizerrijk[m] joined #lisp 2020-12-27T07:42:05Z gzj quit (Remote host closed the connection) 2020-12-27T07:42:27Z gzj joined #lisp 2020-12-27T07:45:42Z wildlander joined #lisp 2020-12-27T07:47:23Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-27T07:48:50Z luckless_ joined #lisp 2020-12-27T07:53:04Z gutter quit (Remote host closed the connection) 2020-12-27T07:55:30Z gaqwas joined #lisp 2020-12-27T07:55:30Z gaqwas quit (Changing host) 2020-12-27T07:55:30Z gaqwas joined #lisp 2020-12-27T08:02:19Z gutter joined #lisp 2020-12-27T08:04:49Z birdwing joined #lisp 2020-12-27T08:05:22Z gaqwas quit (Remote host closed the connection) 2020-12-27T08:13:21Z andreyorst joined #lisp 2020-12-27T08:14:44Z bilegeek quit (Quit: Leaving) 2020-12-27T08:14:58Z villanella joined #lisp 2020-12-27T08:15:45Z fiddlerwoaroof: So, is using LOAD-TIME-VALUE as a cache a good idea? 2020-12-27T08:15:47Z galex-713 quit (Ping timeout: 260 seconds) 2020-12-27T08:16:31Z fiddlerwoaroof: I have a function that makes an HTTP request to one of several slow-changing endpoints, and I'm thinking of using L-T-V to create a hash-table and then storing the result of the http request in the hashtable. 2020-12-27T08:16:56Z fiddlerwoaroof: Aside from infinite memory growth, are there any downsides with this? 2020-12-27T08:18:01Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-12-27T08:18:40Z Aurora_v_kosmose joined #lisp 2020-12-27T08:24:51Z galex-713 joined #lisp 2020-12-27T08:42:35Z ebrasca joined #lisp 2020-12-27T08:57:33Z karlosz quit (Quit: karlosz) 2020-12-27T08:59:26Z rippa joined #lisp 2020-12-27T09:00:25Z vaporatorius__ quit (Quit: Leaving) 2020-12-27T09:00:38Z vaporatorius joined #lisp 2020-12-27T09:00:38Z vaporatorius quit (Changing host) 2020-12-27T09:00:38Z vaporatorius joined #lisp 2020-12-27T09:03:35Z pve joined #lisp 2020-12-27T09:05:37Z ex_nihilo joined #lisp 2020-12-27T09:07:22Z hendursa1 joined #lisp 2020-12-27T09:09:23Z hendursaga quit (Ping timeout: 240 seconds) 2020-12-27T09:10:52Z hendursa1 quit (Remote host closed the connection) 2020-12-27T09:11:39Z hendursa1 joined #lisp 2020-12-27T09:22:33Z saganman quit (Ping timeout: 260 seconds) 2020-12-27T09:23:04Z flazh quit (Ping timeout: 272 seconds) 2020-12-27T09:31:00Z rgherdt joined #lisp 2020-12-27T09:37:34Z hnOsmium0001 quit (Quit: Connection closed for inactivity) 2020-12-27T09:42:01Z gaqwas joined #lisp 2020-12-27T09:42:01Z gaqwas quit (Changing host) 2020-12-27T09:42:01Z gaqwas joined #lisp 2020-12-27T09:47:55Z heisig joined #lisp 2020-12-27T09:56:14Z flazh joined #lisp 2020-12-27T09:58:06Z liberliver joined #lisp 2020-12-27T09:59:30Z gzj quit (Ping timeout: 256 seconds) 2020-12-27T10:05:43Z varjag joined #lisp 2020-12-27T10:19:57Z cosimone joined #lisp 2020-12-27T10:24:45Z gzj joined #lisp 2020-12-27T10:37:52Z solideogloria[m]: is there any libXft library in common lisp ? 2020-12-27T10:37:58Z solideogloria[m]: CLX doesn't have libXft 2020-12-27T10:38:53Z solideogloria[m]: basically is there any way to use fontconfig fonts with CLX 2020-12-27T10:40:18Z iskander quit (Ping timeout: 256 seconds) 2020-12-27T10:40:54Z solideogloria[m]: or does CLX have some internal way of managing fonts ? 2020-12-27T10:41:17Z iskander joined #lisp 2020-12-27T10:43:23Z cosimone quit (Quit: cosimone) 2020-12-27T10:43:45Z solideogloria[m]: oh nvm my ignorance 2020-12-27T10:46:42Z beach: solideogloria[m]: You may want to ask these questions to the kind people in #clim who know a lot about stuff like that. 2020-12-27T10:49:27Z cosimone joined #lisp 2020-12-27T10:52:32Z iskander- joined #lisp 2020-12-27T10:53:38Z iskander quit (Ping timeout: 272 seconds) 2020-12-27T10:55:07Z imode quit (Quit: WeeChat 2.9) 2020-12-27T11:01:02Z frgo quit (Remote host closed the connection) 2020-12-27T11:01:30Z frgo joined #lisp 2020-12-27T11:03:39Z iskander joined #lisp 2020-12-27T11:04:25Z iskander- quit (Ping timeout: 264 seconds) 2020-12-27T11:07:29Z vegansbane6 quit (Quit: The Lounge - https://thelounge.chat) 2020-12-27T11:11:03Z iskander quit (Ping timeout: 260 seconds) 2020-12-27T11:11:54Z iskander joined #lisp 2020-12-27T11:13:05Z gzj quit (Remote host closed the connection) 2020-12-27T11:13:25Z gzj joined #lisp 2020-12-27T11:15:55Z scymtym__ is now known as scymtym 2020-12-27T11:16:05Z iskander- joined #lisp 2020-12-27T11:16:19Z iskander quit (Read error: Connection reset by peer) 2020-12-27T11:19:25Z Oladon quit (Quit: Leaving.) 2020-12-27T11:20:27Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-12-27T11:21:05Z Aurora_v_kosmose joined #lisp 2020-12-27T11:22:22Z iskander joined #lisp 2020-12-27T11:23:00Z iskander- quit (Read error: Connection reset by peer) 2020-12-27T11:24:26Z hugh_marera quit (Quit: Connection closed) 2020-12-27T11:27:20Z hugh_marera joined #lisp 2020-12-27T11:29:49Z hugh_marera left #lisp 2020-12-27T11:32:03Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-27T11:36:17Z luckless_ joined #lisp 2020-12-27T11:41:24Z vegansbane6 joined #lisp 2020-12-27T11:43:06Z gzj quit (Remote host closed the connection) 2020-12-27T11:43:27Z gzj joined #lisp 2020-12-27T11:44:31Z VincentVega joined #lisp 2020-12-27T11:46:04Z Inline quit (Quit: Leaving) 2020-12-27T11:48:13Z Inline joined #lisp 2020-12-27T12:05:17Z surabax joined #lisp 2020-12-27T12:09:01Z gzj quit (Remote host closed the connection) 2020-12-27T12:09:20Z gzj joined #lisp 2020-12-27T12:11:07Z gzj quit (Remote host closed the connection) 2020-12-27T12:11:26Z gzj joined #lisp 2020-12-27T12:11:35Z kaftejiman joined #lisp 2020-12-27T12:11:40Z phoe: hmmmm 2020-12-27T12:18:25Z hiroaki_ quit (Ping timeout: 265 seconds) 2020-12-27T12:22:02Z random-nick joined #lisp 2020-12-27T12:22:25Z saganman joined #lisp 2020-12-27T12:25:51Z shka_ joined #lisp 2020-12-27T12:27:51Z VincentVega: Hi guys! symbolicate produces a symbol in the current package, but I need another package (e.g. (symbolicate 'alexandria:fact 'orial) gives an error), how can I do that? 2020-12-27T12:32:27Z phoe: (let ((*package* (find-package ...))) (a:symbolicate ...)) 2020-12-27T12:33:58Z VincentVega: phoe: oh, wait, i think ensure-symbol is what i need 2020-12-27T12:34:17Z VincentVega: phoe: tnx tho! 2020-12-27T12:35:20Z phoe: ensure-symbol has slightly different semantics 2020-12-27T12:35:38Z phoe: symbolicate concats the symbol name for you; ensure-symbol doesn't 2020-12-27T12:35:42Z phoe: but, yeah, whatever works 2020-12-27T12:36:46Z VincentVega: i just used them like (ensure-symbol (symbolicate ...)), but yep 2020-12-27T12:41:49Z hiroaki_ joined #lisp 2020-12-27T12:44:26Z phoe: uhhhh... that's likely not what you want 2020-12-27T12:44:42Z phoe: SYMBOLICATE might end up interning one symbol, ENSURE-SYMBOL - another one 2020-12-27T12:44:44Z phoe: two symbols in total 2020-12-27T12:45:37Z VincentVega: hmm true 2020-12-27T12:47:29Z VincentVega: guess will go with your code then 2020-12-27T12:47:59Z phoe: a:symbolicate has no means of specifying the package because of its &rest lambda list 2020-12-27T12:48:07Z gzj quit (Remote host closed the connection) 2020-12-27T12:48:08Z phoe: hence you need to explicitly rebind *package* 2020-12-27T12:48:27Z gzj joined #lisp 2020-12-27T12:49:13Z VincentVega: gotcha 2020-12-27T12:52:33Z villanella quit (Remote host closed the connection) 2020-12-27T13:05:08Z Inline quit (Quit: Leaving) 2020-12-27T13:09:50Z EvW joined #lisp 2020-12-27T13:29:07Z gzj quit (Read error: Connection reset by peer) 2020-12-27T13:29:27Z gzj joined #lisp 2020-12-27T13:33:13Z Bike joined #lisp 2020-12-27T13:35:45Z gzj quit (Ping timeout: 240 seconds) 2020-12-27T13:38:37Z hiroaki_ quit (Ping timeout: 264 seconds) 2020-12-27T13:40:03Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-27T13:41:04Z orivej quit (Ping timeout: 265 seconds) 2020-12-27T13:42:24Z Inline joined #lisp 2020-12-27T13:45:23Z skapata joined #lisp 2020-12-27T13:50:52Z hiroaki_ joined #lisp 2020-12-27T13:51:11Z hendursa1 quit (Quit: hendursa1) 2020-12-27T13:51:31Z hendursaga joined #lisp 2020-12-27T13:56:06Z luckless_ joined #lisp 2020-12-27T14:01:32Z FreeBirdLjj joined #lisp 2020-12-27T14:05:20Z miracle_fox joined #lisp 2020-12-27T14:06:22Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2020-12-27T14:11:20Z troydm quit (Quit: What is Hope? That all of your wishes and all of your dreams come true? To turn back time because things were not supposed to happen like that (C) Rau Le Creuset) 2020-12-27T14:13:02Z troydm joined #lisp 2020-12-27T14:14:10Z Inline quit (Quit: Leaving) 2020-12-27T14:15:45Z KREYREEN quit (Remote host closed the connection) 2020-12-27T14:16:09Z KREYREEN joined #lisp 2020-12-27T14:17:11Z rogersm joined #lisp 2020-12-27T14:17:23Z madage quit (Ping timeout: 240 seconds) 2020-12-27T14:18:15Z madage joined #lisp 2020-12-27T14:19:43Z gxt quit (Ping timeout: 240 seconds) 2020-12-27T14:19:48Z hendursaga quit (Remote host closed the connection) 2020-12-27T14:20:00Z cantstanya quit (Remote host closed the connection) 2020-12-27T14:20:37Z hendursaga joined #lisp 2020-12-27T14:20:37Z gxt joined #lisp 2020-12-27T14:20:52Z madage quit (Remote host closed the connection) 2020-12-27T14:21:53Z cantstanya joined #lisp 2020-12-27T14:24:31Z Inline joined #lisp 2020-12-27T14:24:37Z Inline quit (Remote host closed the connection) 2020-12-27T14:28:01Z madage joined #lisp 2020-12-27T14:28:19Z Inline joined #lisp 2020-12-27T14:28:43Z Inline is now known as Guest5430 2020-12-27T14:29:32Z Guest5430 is now known as Inline 2020-12-27T14:33:59Z Inline quit (Quit: Leaving) 2020-12-27T14:34:25Z lowryder quit (Ping timeout: 240 seconds) 2020-12-27T14:34:53Z Inline joined #lisp 2020-12-27T14:36:45Z lowryder joined #lisp 2020-12-27T14:39:12Z luni joined #lisp 2020-12-27T14:41:02Z EvW quit (Ping timeout: 260 seconds) 2020-12-27T14:41:28Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-12-27T14:42:05Z Aurora_v_kosmose joined #lisp 2020-12-27T14:44:57Z heisig quit (Quit: Leaving) 2020-12-27T14:45:53Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-12-27T14:46:26Z Aurora_v_kosmose joined #lisp 2020-12-27T14:47:39Z jmercouris left #lisp 2020-12-27T14:50:19Z supawat joined #lisp 2020-12-27T14:51:19Z supawat quit (Remote host closed the connection) 2020-12-27T14:51:37Z miyuki1534 joined #lisp 2020-12-27T15:00:54Z gko_ joined #lisp 2020-12-27T15:05:32Z miyuki1534 quit (Quit: ERC (IRC client for Emacs 27.1)) 2020-12-27T15:11:58Z hiroaki_ quit (Read error: Connection timed out) 2020-12-27T15:12:45Z wildlander quit (Quit: Konversation terminated!) 2020-12-27T15:14:10Z hiroaki_ joined #lisp 2020-12-27T15:19:21Z miyuki1534 joined #lisp 2020-12-27T15:21:59Z miyuki1534 quit (Remote host closed the connection) 2020-12-27T15:29:45Z amb007 quit (Read error: Connection reset by peer) 2020-12-27T15:31:35Z Inline is now known as Could_You_Please 2020-12-27T15:31:59Z amb007 joined #lisp 2020-12-27T15:31:59Z amb007 quit (Read error: Connection reset by peer) 2020-12-27T15:32:41Z amb007 joined #lisp 2020-12-27T15:33:58Z miyuki1534 joined #lisp 2020-12-27T15:38:06Z miyuki1534 quit (Remote host closed the connection) 2020-12-27T15:39:33Z orivej joined #lisp 2020-12-27T15:39:33Z amb007 quit (Read error: Connection reset by peer) 2020-12-27T15:39:51Z dbotton joined #lisp 2020-12-27T15:40:09Z amb007 joined #lisp 2020-12-27T15:40:43Z entel is now known as to0n 2020-12-27T15:41:06Z amb007 quit (Read error: Connection reset by peer) 2020-12-27T15:41:43Z amb007 joined #lisp 2020-12-27T15:46:15Z amb007 quit (Read error: Connection reset by peer) 2020-12-27T15:46:33Z amb007 joined #lisp 2020-12-27T15:46:40Z Could_You_Please quit (Quit: Leaving) 2020-12-27T15:48:38Z rogersm quit 2020-12-27T15:51:38Z C-16 joined #lisp 2020-12-27T15:52:26Z C-16 quit (Client Quit) 2020-12-27T15:58:25Z amb007 quit (Read error: Connection reset by peer) 2020-12-27T15:58:58Z amb007 joined #lisp 2020-12-27T16:03:16Z amb007 quit (Read error: Connection reset by peer) 2020-12-27T16:03:55Z amb007 joined #lisp 2020-12-27T16:05:47Z waleee-cl joined #lisp 2020-12-27T16:09:48Z eden joined #lisp 2020-12-27T16:13:51Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-12-27T16:14:31Z Aurora_v_kosmose joined #lisp 2020-12-27T16:18:02Z gko_ quit (Ping timeout: 256 seconds) 2020-12-27T16:21:04Z amb007 quit (Read error: Connection reset by peer) 2020-12-27T16:21:30Z amb007 joined #lisp 2020-12-27T16:23:42Z amb007 quit (Read error: Connection reset by peer) 2020-12-27T16:24:32Z amb007 joined #lisp 2020-12-27T16:25:05Z kaun_ joined #lisp 2020-12-27T16:26:41Z eden quit (Remote host closed the connection) 2020-12-27T16:28:46Z amb007 quit (Read error: Connection reset by peer) 2020-12-27T16:29:11Z amb007 joined #lisp 2020-12-27T16:32:17Z gzj joined #lisp 2020-12-27T16:33:28Z EvW joined #lisp 2020-12-27T16:34:19Z kaun_ left #lisp 2020-12-27T16:37:07Z gzj quit (Ping timeout: 260 seconds) 2020-12-27T16:37:08Z amb007 quit (Read error: Connection reset by peer) 2020-12-27T16:37:52Z amb007 joined #lisp 2020-12-27T16:40:54Z charles` joined #lisp 2020-12-27T16:42:23Z amb007 quit (Read error: Connection reset by peer) 2020-12-27T16:43:15Z amb007 joined #lisp 2020-12-27T16:43:29Z to0n is now known as entel 2020-12-27T16:45:25Z amb007 quit (Read error: Connection reset by peer) 2020-12-27T16:47:12Z amb007 joined #lisp 2020-12-27T16:49:55Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-12-27T16:50:03Z miracle_fox quit (Ping timeout: 265 seconds) 2020-12-27T16:50:29Z Aurora_v_kosmose joined #lisp 2020-12-27T16:54:02Z amb007 quit (Read error: Connection reset by peer) 2020-12-27T16:54:52Z amb007 joined #lisp 2020-12-27T17:01:39Z amb007 quit (Read error: Connection reset by peer) 2020-12-27T17:02:14Z amb007 joined #lisp 2020-12-27T17:04:39Z lotuseater quit (Remote host closed the connection) 2020-12-27T17:04:53Z lotuseater joined #lisp 2020-12-27T17:05:46Z caseyw joined #lisp 2020-12-27T17:07:25Z aartaka_d quit (Read error: Connection reset by peer) 2020-12-27T17:16:14Z amb007 quit (Read error: Connection reset by peer) 2020-12-27T17:16:56Z amb007 joined #lisp 2020-12-27T17:31:36Z VincentVega quit (Remote host closed the connection) 2020-12-27T17:33:44Z abhixec joined #lisp 2020-12-27T17:34:38Z lotuseat` joined #lisp 2020-12-27T17:36:57Z lotuseater quit (Ping timeout: 272 seconds) 2020-12-27T17:40:41Z KREYREEN quit (Remote host closed the connection) 2020-12-27T17:40:48Z charles` quit (Ping timeout: 265 seconds) 2020-12-27T17:40:51Z KREYREEEN joined #lisp 2020-12-27T17:44:36Z l1x quit (Quit: Connection closed for inactivity) 2020-12-27T17:45:47Z dbotton quit (Quit: This computer has gone to sleep) 2020-12-27T17:48:05Z karlosz joined #lisp 2020-12-27T17:53:08Z liberliver quit (Quit: liberliver) 2020-12-27T18:03:23Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-27T18:04:06Z Jeanne-Kamikaze joined #lisp 2020-12-27T18:07:17Z luckless_ joined #lisp 2020-12-27T18:08:42Z miracle_fox joined #lisp 2020-12-27T18:08:58Z EvW quit (Ping timeout: 258 seconds) 2020-12-27T18:09:03Z varjag quit (Quit: ERC (IRC client for Emacs 28.0.50)) 2020-12-27T18:12:43Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-27T18:15:32Z Inline joined #lisp 2020-12-27T18:21:56Z rogersm joined #lisp 2020-12-27T18:22:24Z luckless_ joined #lisp 2020-12-27T18:25:08Z mparlaktuna quit (Remote host closed the connection) 2020-12-27T18:25:45Z jibanes quit (Ping timeout: 240 seconds) 2020-12-27T18:25:49Z miracle_fox quit 2020-12-27T18:26:25Z miracle_fox joined #lisp 2020-12-27T18:27:45Z jibanes joined #lisp 2020-12-27T18:35:01Z jibanes quit (Ping timeout: 264 seconds) 2020-12-27T18:35:32Z rogersm quit (Quit: Leaving...) 2020-12-27T18:36:29Z cosimone quit (Quit: cosimone) 2020-12-27T18:36:31Z jibanes joined #lisp 2020-12-27T18:39:27Z miasuji joined #lisp 2020-12-27T18:41:22Z Lord_of_Life quit (Read error: Connection reset by peer) 2020-12-27T18:41:49Z Lord_of_Life joined #lisp 2020-12-27T18:43:54Z vutral joined #lisp 2020-12-27T18:44:37Z Lord_of_Life_ joined #lisp 2020-12-27T18:47:01Z Lord_of_Life quit (Ping timeout: 246 seconds) 2020-12-27T18:47:01Z Lord_of_Life_ is now known as Lord_of_Life 2020-12-27T18:50:39Z Inline quit (Quit: Leaving) 2020-12-27T18:52:52Z Inline joined #lisp 2020-12-27T18:53:33Z EvW joined #lisp 2020-12-27T18:57:12Z akoana joined #lisp 2020-12-27T18:59:03Z saganman quit (Quit: WeeChat 1.6) 2020-12-27T19:02:47Z dbotton joined #lisp 2020-12-27T19:03:22Z aeth_ joined #lisp 2020-12-27T19:05:44Z aeth quit (Ping timeout: 272 seconds) 2020-12-27T19:05:57Z bisickcor joined #lisp 2020-12-27T19:06:44Z aeth_ is now known as aeth 2020-12-27T19:08:02Z cosimone joined #lisp 2020-12-27T19:08:38Z slyrus joined #lisp 2020-12-27T19:09:32Z iekfkk quit (Ping timeout: 272 seconds) 2020-12-27T19:10:00Z yitzi joined #lisp 2020-12-27T19:20:42Z thmprover joined #lisp 2020-12-27T19:20:54Z Lord_of_Life quit (Ping timeout: 256 seconds) 2020-12-27T19:23:56Z Lord_of_Life joined #lisp 2020-12-27T19:26:46Z dbotton quit (Quit: Leaving) 2020-12-27T19:28:43Z Oladon joined #lisp 2020-12-27T19:31:30Z sm2n joined #lisp 2020-12-27T19:32:29Z zulu-inuoe joined #lisp 2020-12-27T19:33:40Z rumbler31 quit (Remote host closed the connection) 2020-12-27T19:33:56Z sm2n_ quit (Ping timeout: 256 seconds) 2020-12-27T19:34:15Z rumbler31 joined #lisp 2020-12-27T19:41:16Z varjag joined #lisp 2020-12-27T19:41:38Z Inline quit (Quit: Leaving) 2020-12-27T19:46:27Z birdwing quit (Ping timeout: 260 seconds) 2020-12-27T19:50:47Z EvW quit (Ping timeout: 260 seconds) 2020-12-27T20:01:38Z aeth quit (Ping timeout: 256 seconds) 2020-12-27T20:02:05Z uhrenmacher joined #lisp 2020-12-27T20:02:17Z uhrenmacher: Hella people!" 2020-12-27T20:02:19Z uhrenmacher quit (Client Quit) 2020-12-27T20:03:22Z orivej quit (Ping timeout: 260 seconds) 2020-12-27T20:03:37Z aeth joined #lisp 2020-12-27T20:05:36Z cognemo quit (Quit: cognemo) 2020-12-27T20:06:17Z miasuji quit (Ping timeout: 260 seconds) 2020-12-27T20:06:53Z cognemo joined #lisp 2020-12-27T20:11:24Z orivej joined #lisp 2020-12-27T20:11:56Z phoe: hey 2020-12-27T20:17:52Z sl4ck joined #lisp 2020-12-27T20:20:25Z EvW joined #lisp 2020-12-27T20:20:42Z Inline joined #lisp 2020-12-27T20:21:32Z mrchampion quit (Ping timeout: 256 seconds) 2020-12-27T20:22:12Z Inline quit (Remote host closed the connection) 2020-12-27T20:22:50Z jjong quit (Ping timeout: 256 seconds) 2020-12-27T20:23:11Z sl4ck quit (Quit: Igloo IRC: https://iglooirc.com) 2020-12-27T20:23:43Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-27T20:23:55Z rogersm joined #lisp 2020-12-27T20:28:21Z galex-713 quit (Ping timeout: 268 seconds) 2020-12-27T20:29:14Z scymtym_ joined #lisp 2020-12-27T20:29:36Z rogersm quit 2020-12-27T20:30:49Z scymtym quit (Ping timeout: 264 seconds) 2020-12-27T20:31:27Z galex-713 joined #lisp 2020-12-27T20:31:56Z Inline joined #lisp 2020-12-27T20:33:07Z Inline quit (Client Quit) 2020-12-27T20:33:38Z Inline joined #lisp 2020-12-27T20:36:11Z Inline_ joined #lisp 2020-12-27T20:36:55Z Inline is now known as Guest65117 2020-12-27T20:37:41Z Inline_ is now known as Inline 2020-12-27T20:38:50Z Inline quit (Client Quit) 2020-12-27T20:39:18Z amerigo joined #lisp 2020-12-27T20:39:41Z Guest65117 quit (Quit: Leaving) 2020-12-27T20:39:45Z luckless_ joined #lisp 2020-12-27T20:40:59Z Inline joined #lisp 2020-12-27T20:41:19Z jw4 quit (Read error: Connection reset by peer) 2020-12-27T20:43:22Z jw4 joined #lisp 2020-12-27T20:44:23Z mrchampion joined #lisp 2020-12-27T20:45:49Z hnOsmium0001 joined #lisp 2020-12-27T20:52:24Z gxt quit (Quit: WeeChat 2.9) 2020-12-27T21:00:47Z luckless_ quit (Remote host closed the connection) 2020-12-27T21:02:12Z luckless_ joined #lisp 2020-12-27T21:02:33Z narimiran quit (Ping timeout: 260 seconds) 2020-12-27T21:03:27Z gxt joined #lisp 2020-12-27T21:07:11Z gxt quit (Client Quit) 2020-12-27T21:07:25Z aeth quit (Ping timeout: 264 seconds) 2020-12-27T21:08:59Z aeth joined #lisp 2020-12-27T21:10:34Z varjag quit (Ping timeout: 265 seconds) 2020-12-27T21:12:11Z antonv joined #lisp 2020-12-27T21:13:12Z vutral quit (Quit: Connection closed for inactivity) 2020-12-27T21:13:13Z gxt joined #lisp 2020-12-27T21:13:18Z antonv: in a CL wrapper for a C library, how it's better to name constants corresponding to C constants, upcase or lowcased? 2020-12-27T21:13:33Z phoe: antonv: kebab-case 2020-12-27T21:13:41Z antonv: I mean what is frendlier for a library user 2020-12-27T21:13:49Z phoe: if a C constant is FOO_BAR_BAZ then the corresponding CL constant would be +foo-bar-baz+ 2020-12-27T21:14:12Z phoe: which gets upcased by the reader into +FOO-BAR-BAZ+ anyway 2020-12-27T21:14:27Z antonv: not any way, as you know 2020-12-27T21:14:44Z phoe: yes, but I don't really think that |+foo-bar-baz+| is worth it just for the downcased variant 2020-12-27T21:14:55Z antonv: sure 2020-12-27T21:15:46Z antonv: why kebab-case is frendlier? 2020-12-27T21:15:47Z jackdaniel: imo naming it exactly how the constant is named in C world (with the case preserved) is better, because it clearly shows that the variable is foreign (and that's how wrappers should be seen) 2020-12-27T21:16:07Z phoe: antonv: more lispy - but then there's the argument that jackdaniel made 2020-12-27T21:16:14Z antonv: jackdaniel: you mean literaly FOO_BAR_BAZ? 2020-12-27T21:16:17Z jackdaniel: if someone wants to use such wrapper, they may come up with a more transparent interface 2020-12-27T21:16:17Z antonv: in lisp? 2020-12-27T21:16:39Z jackdaniel: antonv: yes, that's how *I* would approach the problem (if it is 1-to-1 mapping) 2020-12-27T21:17:02Z antonv: even no +FOO_BAR_BAZ+ ? 2020-12-27T21:17:07Z jackdaniel: however if you write a library which only uses the ffi lib, then you should use lisp names 2020-12-27T21:17:22Z jackdaniel: yeah; that's my opinion on the matter 2020-12-27T21:17:36Z jackdaniel: s/lisp names/lispy names/ 2020-12-27T21:18:13Z jackdaniel: i.e cl-charms (at least in principle) provides two interfaces: low-level and high-level, I think that the former preserves names verbatim from ncurses 2020-12-27T21:18:26Z jackdaniel: but I didn't check right now, so I may be wrong 2020-12-27T21:19:07Z jackdaniel: (that is - constants names) 2020-12-27T21:19:31Z charles` joined #lisp 2020-12-27T21:20:13Z jackdaniel: as a bonus point: it makes easier to lookup symbols in the librarie's source code 2020-12-27T21:21:06Z antonv: I am thinking to exporort some of the constants defined by cl+ssl, https://github.com/cl-plus-ssl/cl-plus-ssl/blob/master/src/ffi.lisp#L227 2020-12-27T21:21:51Z _hxearth\` joined #lisp 2020-12-27T21:21:54Z jackdaniel: I think that you already ahve somewhat estabilished convention 2020-12-27T21:22:25Z antonv: it's not universally followd in the soruce codd, and so far it's not exported 2020-12-27T21:22:26Z jackdaniel: so I wouldn't change that (naming while a hard problem in general is a minor detail in many cases) 2020-12-27T21:23:19Z jackdaniel: I've got to go -- if you are going to add +foo+ (pluses), I'd use kebab-case, if you want to preserve names verbatim, I'd skip ++ 2020-12-27T21:23:23Z jackdaniel: good night \o 2020-12-27T21:23:35Z antonv: My concern is to make it less likely for library users to write code that works with classic reader, but fail in other cases 2020-12-27T21:23:36Z _hxearth\` quit (Quit: PLease buy at http://amazonian2.000webhostapp.com) 2020-12-27T21:23:53Z antonv: good night, thank you 2020-12-27T21:25:24Z Alfr: antonv, lower case your names then. I think it's less likely that people write lisp all upcased. 2020-12-27T21:28:04Z yitzi quit (Quit: yitzi) 2020-12-27T21:28:05Z antonv: Interesting that the defpackage already mentions the same constants using lower case: https://github.com/cl-plus-ssl/cl-plus-ssl/blob/master/src/package.lisp 2020-12-27T21:28:55Z phoe: these get upcased anyway 2020-12-27T21:29:09Z phoe: I can say that because this code won't compile on any other readtable case setting 2020-12-27T21:29:45Z orivej quit (Ping timeout: 240 seconds) 2020-12-27T21:30:39Z rumbler31 quit (Remote host closed the connection) 2020-12-27T21:30:46Z antonv: it does compile 2020-12-27T21:30:57Z rumbler31 joined #lisp 2020-12-27T21:31:04Z antonv: maybe just exports different symbols than the constants 2020-12-27T21:31:34Z phoe: you're using :invert, right? 2020-12-27T21:31:51Z cosimone quit (Quit: cosimone) 2020-12-27T21:32:18Z phoe: in this case, hmmmmm, I stand corrected - it'll compile, but it'll export different symbols 2020-12-27T21:32:40Z antonv: yes 2020-12-27T21:35:19Z phoe: Which documentation type is used for conditions? TYPE, like for classes? 2020-12-27T21:35:31Z phoe: hm, I guess, yes 2020-12-27T21:35:36Z phoe: it's named a condition *type* after all 2020-12-27T21:36:23Z cosimone joined #lisp 2020-12-27T21:37:00Z antonv: Is that a valid code? 2020-12-27T21:37:02Z antonv: (defconstant +SSL-OP-ALL+ #x80000BFF) 2020-12-27T21:37:02Z antonv: (defconstant +ssl-op-all+ +SSL-OP-ALL+) 2020-12-27T21:37:05Z antonv: 2020-12-27T21:38:02Z antonv: in the classic reader mode the constant is defined second time by referring itself 2020-12-27T21:38:26Z phoe: yes, but I wouldn't write anything like that, because, depending on the readtable setting, this defines either one or two constants 2020-12-27T21:39:16Z phoe: if anything, I'd explicitly (defconstant |+SSL-OP-ALL+| ...) and (defconstant |+ssl-op-all+| ...) which is unambiguous case-wise and always defines two distinct constants 2020-12-27T21:39:20Z antonv: I was thinking that for backward compatibility 2020-12-27T21:39:37Z shka_ quit (Ping timeout: 260 seconds) 2020-12-27T21:39:47Z antonv: ah, in this sense 2020-12-27T21:39:49Z antonv: good point 2020-12-27T21:42:39Z antonv: Slime completion always suggests lower case name, even when orignally in the source code it is upcased, so yes, if I leave them upcased people are more likely to write code that fails in a non-classic reader mode 2020-12-27T21:44:05Z antonv: On the other hand the upcased ones really make it clear that they are C constant conterparts 2020-12-27T21:44:24Z fiddlerwoaroof: How many people use a :preserve or :lower readtable? 2020-12-27T21:44:43Z fiddlerwoaroof: I've always treated that as a "if it breaks, you get to keep both pieces" situation 2020-12-27T21:45:17Z fiddlerwoaroof: If you want to use such a readtable, I'd use something like named-readtables to select a readtable on a file-by-file basis 2020-12-27T21:48:12Z antonv: fiddlerwoaroof: what I'm am thinking about is the Allegro Modern Mode: https://franz.com/support/tech_corner/modern.mode.lhtml 2020-12-27T21:48:17Z GuerrillaMonkey joined #lisp 2020-12-27T21:50:34Z phoe: modern mode is a minefield e.g. when it comes to asdf:test-system 2020-12-27T21:51:02Z Jeanne-Kamikaze quit (Ping timeout: 272 seconds) 2020-12-27T21:51:05Z phoe: lots of those systems use (uiop:symbol-call "FOO" "BAR") to implement calls into the respective frameworks 2020-12-27T21:51:41Z phoe: other pieces of code that call INTERN with literal string arguments also break this way. 2020-12-27T21:52:38Z phoe: these could be patched to use (uiop:symbol-call (string '#:foo) (string '#:bar)) but that's both more verbose and very hard to fix everywhere 2020-12-27T21:52:55Z amerlyq joined #lisp 2020-12-27T21:53:26Z aeth_ joined #lisp 2020-12-27T21:53:50Z antonv: Another way is (funcall (read-from-string "foo:bar")) 2020-12-27T21:54:17Z aeth quit (Disconnected by services) 2020-12-27T21:54:20Z phoe: yes 2020-12-27T21:54:20Z aeth_ is now known as aeth 2020-12-27T21:54:42Z aeth: My message that apparently didn't send... 2020-12-27T21:54:47Z aeth: If anyone wants to pad their résumé... Go through every system in Quicklisp and replace all instances of "FOO" with (symbol-name '#:foo) or sometimes #.(symbol-name '#:foo) and now everything will be modern-mode-compatible. 2020-12-27T21:55:34Z aeth: READ-FROM-STRING almost certainly won't be optimized. STRING might be optimized. SYMBOL-NAME on a constant like that should certainly be optimized in my situation, though. 2020-12-27T21:56:13Z phoe: it can't be naïvely optimized to a compile-time operation because package FOO may not exist at compile-time 2020-12-27T21:56:26Z phoe: the compiler would need to special-case such situation 2020-12-27T21:56:50Z aeth: No, but SBCL certainly optimizes (symbol-name '#:foo) because I tested it before replacing all of my #.(symbol-name '#:foo) with (symbol-name '#:foo) 2020-12-27T21:56:58Z aeth: Unless it regressed. 2020-12-27T21:57:06Z aeth: it's a very low hanging fruit 2020-12-27T21:57:07Z phoe: oh, yes - that's all constant 2020-12-27T21:57:19Z phoe: I mean, '#:foo is a literal, and symbol-name is a pure function 2020-12-27T21:57:38Z aeth: If you're concerned about a loss in performance in some really slow implementations (like e.g. CLISP), then you could do #. though 2020-12-27T21:57:51Z antonv: is CLISP slow? 2020-12-27T21:57:52Z phoe: so this can 100% get compile-time-folded into just "FOO" or "foo" - depends on the readtable case when the literal symbol is read 2020-12-27T21:57:59Z aeth: antonv: The slowest. 2020-12-27T21:58:22Z aeth: phoe: right 2020-12-27T21:59:07Z aeth: I might have accidentally left a few old-style string literals, but all of my code should use (symbol-name '#:foo) now, except in the rare cases where #.(symbol-name '#:foo) is required. As of a few years ago iirc. 2020-12-27T21:59:35Z aeth: It's a lot easier to find than you might think because it's only really needed for doing clever things in macros with symbol names. 2020-12-27T22:07:09Z random-nick quit (Quit: quit) 2020-12-27T22:07:59Z jeosol quit (Remote host closed the connection) 2020-12-27T22:11:54Z Inline quit (Quit: Leaving) 2020-12-27T22:19:23Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2020-12-27T22:22:01Z scymtym_ is now known as scymtym 2020-12-27T22:22:44Z Oddity- joined #lisp 2020-12-27T22:25:25Z GuerrillaMonkey quit (Quit: Leaving) 2020-12-27T22:25:33Z Jeanne-Kamikaze joined #lisp 2020-12-27T22:26:11Z Oddity quit (Ping timeout: 258 seconds) 2020-12-27T22:29:09Z bisickcor quit (Read error: Connection reset by peer) 2020-12-27T22:30:09Z bisickcor joined #lisp 2020-12-27T22:32:10Z karlosz quit (Quit: karlosz) 2020-12-27T22:32:22Z karlosz joined #lisp 2020-12-27T22:32:27Z karlosz quit (Remote host closed the connection) 2020-12-27T22:32:41Z karlosz joined #lisp 2020-12-27T22:40:27Z contrapunctus left #lisp 2020-12-27T22:40:46Z contrapunctus joined #lisp 2020-12-27T22:40:56Z ex_nihilo_ joined #lisp 2020-12-27T22:41:04Z caseyw_ joined #lisp 2020-12-27T22:41:20Z Oddity joined #lisp 2020-12-27T22:43:47Z Oddity- quit (Ping timeout: 260 seconds) 2020-12-27T22:43:47Z caseyw quit (Ping timeout: 260 seconds) 2020-12-27T22:43:47Z waleee-cl quit (Ping timeout: 260 seconds) 2020-12-27T22:43:47Z ex_nihilo quit (Ping timeout: 260 seconds) 2020-12-27T22:44:57Z waleee-cl joined #lisp 2020-12-27T22:49:17Z luni quit (Quit: Connection closed) 2020-12-27T22:51:02Z skapata quit (Ping timeout: 264 seconds) 2020-12-27T22:51:34Z pve quit (Quit: leaving) 2020-12-27T22:52:14Z surabax quit (Quit: Leaving) 2020-12-27T22:53:54Z perrier-jouet quit (Ping timeout: 256 seconds) 2020-12-27T23:00:18Z frgo quit (Remote host closed the connection) 2020-12-27T23:00:44Z frgo joined #lisp 2020-12-27T23:01:17Z EvW quit (Ping timeout: 268 seconds) 2020-12-27T23:01:49Z contrapunctus left #lisp 2020-12-27T23:02:13Z contrapunctus joined #lisp 2020-12-27T23:02:43Z contrapunctus left #lisp 2020-12-27T23:03:36Z miracle_fox quit 2020-12-27T23:04:10Z miracle_fox joined #lisp 2020-12-27T23:04:44Z contrapunctus joined #lisp 2020-12-27T23:05:18Z todun joined #lisp 2020-12-27T23:05:53Z contrapunctus left #lisp 2020-12-27T23:06:28Z miracle_fox quit (Client Quit) 2020-12-27T23:06:43Z gaqwas quit (Ping timeout: 246 seconds) 2020-12-27T23:07:46Z perrier-jouet joined #lisp 2020-12-27T23:08:00Z contrapunctus joined #lisp 2020-12-27T23:10:34Z skapata joined #lisp 2020-12-27T23:10:42Z edgar-rft quit (Quit: Leaving) 2020-12-27T23:13:41Z ex_nihilo_ quit (Quit: Leaving) 2020-12-27T23:14:20Z kaftejiman quit (Remote host closed the connection) 2020-12-27T23:16:14Z abhixec quit (Ping timeout: 256 seconds) 2020-12-27T23:25:09Z caseyw_ quit (Quit: Leaving) 2020-12-27T23:25:50Z Xach: the slowest? 2020-12-27T23:27:00Z EvW joined #lisp 2020-12-27T23:35:03Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-27T23:35:24Z kaftejiman joined #lisp 2020-12-27T23:36:02Z luckless_ joined #lisp 2020-12-27T23:42:26Z lonjil: Does anyone have opinions on the points made in this article? http://kazimirmajorinc.com/Documents/On-Pitmans-Special-forms-in-Lisp/index.html 2020-12-27T23:49:10Z kaftejiman_ joined #lisp 2020-12-27T23:49:31Z aeth: Xach: on any benchmarks I've seen (though most are very old at this point)... although, admittedly, I don't think any benchmark has tested every single CL implementation 2020-12-27T23:49:56Z Xach: aeth: i would guess abcl would be slower overall, but that is guess and not measurement 2020-12-27T23:50:13Z aeth: The caveat for CLISP performance would be *except with bignums. 2020-12-27T23:50:14Z perrier-jouet quit (Ping timeout: 256 seconds) 2020-12-27T23:50:26Z gaqwas joined #lisp 2020-12-27T23:50:26Z gaqwas quit (Changing host) 2020-12-27T23:50:26Z gaqwas joined #lisp 2020-12-27T23:50:29Z Xach: user-written code in clisp is a lot slower than using built-in functions or modules written in C 2020-12-27T23:51:31Z kaftejiman quit (Ping timeout: 246 seconds) 2020-12-27T23:52:27Z aeth: You might be right about ABCL being the slowest. https://cliki.net/Performance%20Benchmarks 2020-12-27T23:52:48Z aeth: Very old benchmarks, though 2020-12-27T23:53:10Z aeth: Pentium 4, Pentium 3... 2020-12-27T23:53:35Z aeth: SBCL 0.8.13... At this point, you might as well just guess because it's going to be so out of date... 2020-12-28T00:04:23Z tempest_nox joined #lisp 2020-12-28T00:04:35Z perrier-jouet joined #lisp 2020-12-28T00:04:48Z cosimone quit (Ping timeout: 268 seconds) 2020-12-28T00:07:38Z matryoshka quit (Quit: ZNC 1.8.2 - https://znc.in) 2020-12-28T00:07:57Z matryoshka joined #lisp 2020-12-28T00:09:23Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-28T00:09:33Z contrapunctus left #lisp 2020-12-28T00:10:01Z contrapunctus joined #lisp 2020-12-28T00:11:27Z contrapunctus left #lisp 2020-12-28T00:12:13Z contrapunctus joined #lisp 2020-12-28T00:13:17Z luckless_ joined #lisp 2020-12-28T00:42:04Z amerlyq quit (Quit: amerlyq) 2020-12-28T00:42:51Z miasuji joined #lisp 2020-12-28T00:47:16Z Inline joined #lisp 2020-12-28T00:49:10Z gaqwas quit (Ping timeout: 256 seconds) 2020-12-28T00:56:57Z phoe6 joined #lisp 2020-12-28T00:57:11Z contrapunctus left #lisp 2020-12-28T00:57:16Z quazimod1 quit (Ping timeout: 240 seconds) 2020-12-28T00:57:30Z contrapunctus joined #lisp 2020-12-28T01:00:34Z todun quit (Quit: todun) 2020-12-28T01:06:27Z abhixec joined #lisp 2020-12-28T01:09:21Z abhixec quit (Client Quit) 2020-12-28T01:13:49Z contrapunctus left #lisp 2020-12-28T01:14:13Z contrapunctus joined #lisp 2020-12-28T01:14:17Z miasuji quit (Ping timeout: 260 seconds) 2020-12-28T01:14:52Z kaftejiman_ quit (Ping timeout: 260 seconds) 2020-12-28T01:25:00Z antonv: phoe: maybe modern mode is not a minefield, other way around, classic mode is a minefield, we just have a shifted perspective 2020-12-28T01:25:35Z antonv: modern mode is more straightforward - symols are named exactly as written 2020-12-28T01:27:52Z KREYREEN joined #lisp 2020-12-28T01:30:03Z KREYREEEN quit (Ping timeout: 240 seconds) 2020-12-28T01:32:03Z kaftejiman_ joined #lisp 2020-12-28T01:34:04Z wxie joined #lisp 2020-12-28T01:38:07Z kaftejiman_ quit (Remote host closed the connection) 2020-12-28T01:38:40Z kaftejiman_ joined #lisp 2020-12-28T01:39:25Z contrapunctus left #lisp 2020-12-28T01:39:56Z contrapunctus joined #lisp 2020-12-28T01:42:03Z contrapunctus left #lisp 2020-12-28T01:42:11Z contrapunctus joined #lisp 2020-12-28T01:44:24Z contrapunctus left #lisp 2020-12-28T01:46:13Z kaftejiman_ quit (Remote host closed the connection) 2020-12-28T01:48:05Z karlosz quit (Remote host closed the connection) 2020-12-28T01:57:53Z kaftejiman_ joined #lisp 2020-12-28T02:01:07Z Lycurgus joined #lisp 2020-12-28T02:04:12Z thmprover: Say, are there any good references on *implementing* Common Lisp? 2020-12-28T02:05:35Z contrapunctus joined #lisp 2020-12-28T02:06:55Z Xach: thmprover: common lisp specifically, no. but Lisp in Small Pieces and Anatomy of Lisp both get into some pretty detailed nuts and bolts of lisp compilation. 2020-12-28T02:07:25Z Xach: there is a detailed document on the implementation of cmucl i believe 2020-12-28T02:07:26Z Lycurgus: use the source luke 2020-12-28T02:07:39Z thmprover: I do like LiSP, I'll lookup "Anatomy of Lisp" 2020-12-28T02:08:33Z Xach: i think frodef used Anatomy of Lisp to implement movitz's compiler 2020-12-28T02:08:43Z Xach: you might ask froggey what he used for mezzano 2020-12-28T02:08:56Z tempest_nox quit (Ping timeout: 240 seconds) 2020-12-28T02:10:56Z thmprover: The 122 page document "Design of CMU CL" by Robert MacLachlan, is that the one you're referring to, Xach? 2020-12-28T02:11:20Z Xach: thmprover: yes 2020-12-28T02:11:32Z thmprover: Awesome, thanks :) 2020-12-28T02:11:54Z kuroda joined #lisp 2020-12-28T02:12:33Z Xach: https://www.amazon.com/Performance-Evaluation-Systems-Richard-Gabriel/dp/B01B99O15K has thumbnail sketches about implementation details of a variety of lisp systems, but it predates common lisp as we know it 2020-12-28T02:13:10Z Xach: it's available for a few dollars on abebooks and possibly elsewhere. 2020-12-28T02:14:00Z thmprover: That's interesting, I'll add it to my reading list 2020-12-28T02:14:19Z jonatack quit (Ping timeout: 246 seconds) 2020-12-28T02:16:12Z karlosz joined #lisp 2020-12-28T02:16:40Z toorevitimirp joined #lisp 2020-12-28T02:20:43Z rgherdt quit (Ping timeout: 272 seconds) 2020-12-28T02:21:43Z birdwing joined #lisp 2020-12-28T02:22:52Z kuroda quit (Remote host closed the connection) 2020-12-28T02:25:26Z Oladon quit (Quit: Leaving.) 2020-12-28T02:27:09Z contrapunctus left #lisp 2020-12-28T02:28:50Z EvW quit (Ping timeout: 258 seconds) 2020-12-28T02:29:49Z akoana left #lisp 2020-12-28T02:30:36Z contrapunctus joined #lisp 2020-12-28T02:32:04Z ebrasca quit (Remote host closed the connection) 2020-12-28T02:35:24Z lowryder quit (Ping timeout: 272 seconds) 2020-12-28T02:37:05Z lowryder joined #lisp 2020-12-28T02:44:26Z Lycurgus quit (Quit: Exeunt) 2020-12-28T02:49:22Z marusich joined #lisp 2020-12-28T02:55:38Z jeosol joined #lisp 2020-12-28T02:56:57Z skapata quit (Remote host closed the connection) 2020-12-28T02:57:21Z lotuseat` is now known as lotuseater 2020-12-28T02:58:36Z antonv quit (Ping timeout: 240 seconds) 2020-12-28T03:04:53Z rumbler3_ joined #lisp 2020-12-28T03:05:58Z rumbler31 quit (Ping timeout: 260 seconds) 2020-12-28T03:08:24Z kaftejiman_ quit (Remote host closed the connection) 2020-12-28T03:08:30Z amerigo quit (Quit: Connection closed for inactivity) 2020-12-28T03:15:11Z _atomik quit (Read error: Connection reset by peer) 2020-12-28T03:15:59Z karlosz_ joined #lisp 2020-12-28T03:16:02Z karlosz quit (Read error: Connection reset by peer) 2020-12-28T03:16:21Z karlosz_ is now known as karlosz 2020-12-28T03:22:00Z pfdietz joined #lisp 2020-12-28T03:22:14Z orivej joined #lisp 2020-12-28T03:32:39Z nithal joined #lisp 2020-12-28T03:33:55Z nithal left #lisp 2020-12-28T03:34:17Z waleee-cl quit (Quit: Connection closed for inactivity) 2020-12-28T03:37:12Z Jeanne-Kamikaze quit (Ping timeout: 260 seconds) 2020-12-28T03:44:24Z Stanley00 joined #lisp 2020-12-28T03:44:58Z matryoshka quit (Quit: ZNC 1.8.2 - https://znc.in) 2020-12-28T03:45:18Z matryoshka joined #lisp 2020-12-28T04:00:05Z matryoshka quit (Quit: ZNC 1.8.2 - https://znc.in) 2020-12-28T04:00:22Z matryoshka joined #lisp 2020-12-28T04:01:44Z beach: Good morning everyone! 2020-12-28T04:06:09Z thmprover: Good morning beach! 2020-12-28T04:06:38Z matryoshka quit (Quit: ZNC 1.8.2 - https://znc.in) 2020-12-28T04:06:57Z matryoshka joined #lisp 2020-12-28T04:07:20Z contrapunctus left #lisp 2020-12-28T04:09:20Z contrapunctus joined #lisp 2020-12-28T04:10:16Z luckless_ quit (Remote host closed the connection) 2020-12-28T04:10:56Z luckless_ joined #lisp 2020-12-28T04:13:02Z contrapunctus left #lisp 2020-12-28T04:14:37Z contrapunctus joined #lisp 2020-12-28T04:16:29Z beach: thmprover: If you are interested in how Common Lisp is implemented, we have regular discussions in #sicl, and you are welcome to participate. 2020-12-28T04:16:53Z beach: ... participate and ask questions. 2020-12-28T04:20:21Z beach: thmprover: Mostly, Common Lisp is a fairly ordinary language from the point of view of compilation. Other aspects are not so ordinary, like how CLOS is implemented. 2020-12-28T04:30:04Z Bike quit (Quit: leaving) 2020-12-28T04:30:18Z p_l: outside of some "rarer" features like multiple returns, which complicate calling conventions (unless one runs on MMIX), everything else is optimization question 2020-12-28T04:31:04Z beach: Right. There are some quirks like that. Otherwise, the hard part is making it all fast. 2020-12-28T04:39:49Z wxie quit (Ping timeout: 264 seconds) 2020-12-28T04:41:56Z thmprover: beach: cool, that sounds like what I'm after. 2020-12-28T04:46:05Z rippa joined #lisp 2020-12-28T04:46:57Z thmprover quit (Quit: Up, up, and away) 2020-12-28T04:48:03Z andreyorst quit (Ping timeout: 260 seconds) 2020-12-28T04:55:37Z charles` quit (Ping timeout: 260 seconds) 2020-12-28T04:58:20Z jibanes quit (Ping timeout: 268 seconds) 2020-12-28T04:59:38Z jibanes joined #lisp 2020-12-28T05:03:16Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2020-12-28T05:08:16Z jibanes quit (Ping timeout: 240 seconds) 2020-12-28T05:10:25Z jibanes joined #lisp 2020-12-28T05:38:30Z bisickcor quit (Ping timeout: 256 seconds) 2020-12-28T05:40:22Z bisickcor joined #lisp 2020-12-28T05:46:25Z froggey quit (Ping timeout: 246 seconds) 2020-12-28T05:47:41Z ldbeth joined #lisp 2020-12-28T05:47:58Z ldbeth: good afternnon 2020-12-28T05:48:26Z froggey joined #lisp 2020-12-28T05:49:51Z beach: Hello ldbeth. 2020-12-28T05:57:39Z wxie joined #lisp 2020-12-28T06:06:46Z elflng quit (Read error: No route to host) 2020-12-28T06:08:33Z andreyorst joined #lisp 2020-12-28T06:08:55Z rumbler3_ quit (Remote host closed the connection) 2020-12-28T06:09:32Z rumbler31 joined #lisp 2020-12-28T06:11:05Z narimiran joined #lisp 2020-12-28T06:13:00Z elflng joined #lisp 2020-12-28T06:22:25Z narimiran quit (Ping timeout: 264 seconds) 2020-12-28T06:23:00Z narimiran joined #lisp 2020-12-28T06:24:03Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-28T06:33:58Z luckless_ joined #lisp 2020-12-28T06:38:44Z lotuseater: beach: do i need my acc to be registered for joining #sicl? 2020-12-28T06:39:56Z beach: lotuseater: I have no idea. 2020-12-28T06:40:43Z ck_: lotuseater: yes, you do 2020-12-28T06:40:52Z beach: ck_: Thanks! 2020-12-28T06:41:08Z beach needs a channel administrator. 2020-12-28T06:41:17Z lotuseater: ok, my client didn't respond so explicit 2020-12-28T06:41:29Z ck_: ( if you /mode #sicl, you'll see it is mode 'r' among others, compare with https://freenode.net/kb/answer/channelmodes ) 2020-12-28T06:41:45Z ck_: beach: does that channel need much administering? 2020-12-28T06:43:02Z beach: ck_: No, not usually. But last night there was a long discussion that I didn't appreciate at all. It would have been enough to be firm though, because all the participants are known and frequent. 2020-12-28T06:43:49Z ck_: I see 2020-12-28T06:45:52Z lotuseater: ok I'll think about registering and will ask then if it's ok to join 2020-12-28T06:46:11Z beach: It is always OK to join if you can. 2020-12-28T06:48:45Z imode joined #lisp 2020-12-28T06:51:49Z luni joined #lisp 2020-12-28T06:58:35Z andreyorst` joined #lisp 2020-12-28T06:58:39Z andreyorst` quit (Remote host closed the connection) 2020-12-28T07:02:01Z andreyorst quit (Ping timeout: 264 seconds) 2020-12-28T07:05:59Z andreyorst` joined #lisp 2020-12-28T07:06:42Z uplime quit (Disconnected by services) 2020-12-28T07:07:29Z also_uplime joined #lisp 2020-12-28T07:07:46Z also_uplime quit (Disconnected by services) 2020-12-28T07:08:00Z also_uplime joined #lisp 2020-12-28T07:11:10Z wooden joined #lisp 2020-12-28T07:18:55Z amerigo joined #lisp 2020-12-28T07:28:59Z ik` joined #lisp 2020-12-28T07:34:52Z zulu-inuoe quit (Read error: Connection reset by peer) 2020-12-28T07:35:23Z ik` quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-12-28T07:36:59Z karlosz quit (Quit: karlosz) 2020-12-28T07:38:03Z frost-lab joined #lisp 2020-12-28T07:41:55Z aindilis quit (Ping timeout: 246 seconds) 2020-12-28T07:42:42Z asarch joined #lisp 2020-12-28T07:45:33Z amerigo quit (Read error: Connection reset by peer) 2020-12-28T07:46:24Z gendl quit (Ping timeout: 246 seconds) 2020-12-28T07:48:11Z amerigo joined #lisp 2020-12-28T07:48:40Z gendl joined #lisp 2020-12-28T07:56:41Z shka_ joined #lisp 2020-12-28T08:23:44Z ldbeth left #lisp 2020-12-28T08:27:37Z asarch quit (Quit: Leaving) 2020-12-28T08:34:57Z galex-713 quit (Ping timeout: 260 seconds) 2020-12-28T08:34:58Z edgar-rft joined #lisp 2020-12-28T08:36:14Z galex-713 joined #lisp 2020-12-28T08:38:59Z phoe: https://github.com/AccelerationNet/access/blob/8a8259e5c93605e9c68cc697efee71d09d6fc873/access.lisp#L492-L498 2020-12-28T08:39:17Z phoe: Is the (apply '(setf aref) new o (ensure-list k)) call valid? 2020-12-28T08:39:48Z phoe: Or should it contain #'(setf aref) instead? 2020-12-28T08:46:58Z phoe: seems like it's invalid because a list is not a function designator 2020-12-28T08:47:06Z phoe: and APPLY does not accept extended function designators 2020-12-28T08:47:37Z frgo quit (Remote host closed the connection) 2020-12-28T08:48:05Z frgo joined #lisp 2020-12-28T08:50:18Z beach: I think it is valid. 2020-12-28T08:50:55Z beach: Yes, I see what you mean. 2020-12-28T08:51:08Z beach: But that has got to be an omission in the standard. 2020-12-28T08:51:24Z beach: There is absolutely no reason to exclude extended function designators. 2020-12-28T08:52:56Z frgo quit (Ping timeout: 258 seconds) 2020-12-28T08:59:22Z gutter quit (Remote host closed the connection) 2020-12-28T08:59:33Z phoe: well 2020-12-28T08:59:34Z phoe: (defun (setf foo) (newval) newval) (apply '(setf foo) '(123)) 2020-12-28T08:59:42Z phoe: SBCL, CCL, ECL, ABCL all reject this code 2020-12-28T08:59:50Z beach: Interesting. 2020-12-28T09:02:54Z pve joined #lisp 2020-12-28T09:07:09Z hendursa1 joined #lisp 2020-12-28T09:07:56Z gaqwas joined #lisp 2020-12-28T09:09:43Z hendursaga quit (Ping timeout: 240 seconds) 2020-12-28T09:11:45Z varjag joined #lisp 2020-12-28T09:14:32Z liberliver joined #lisp 2020-12-28T09:29:08Z ebrasca joined #lisp 2020-12-28T09:31:21Z gaqwas quit (Remote host closed the connection) 2020-12-28T09:35:15Z frgo joined #lisp 2020-12-28T09:35:30Z jprajzne joined #lisp 2020-12-28T09:43:34Z nostoi joined #lisp 2020-12-28T09:48:19Z alendvai_ joined #lisp 2020-12-28T09:49:43Z hnOsmium0001 quit (Quit: Connection closed for inactivity) 2020-12-28T09:50:45Z amb007 quit (Read error: Connection reset by peer) 2020-12-28T09:51:00Z alendvai_ is now known as attila_lendvai 2020-12-28T09:51:09Z attila_lendvai quit (Changing host) 2020-12-28T09:51:09Z attila_lendvai joined #lisp 2020-12-28T09:51:17Z amb007 joined #lisp 2020-12-28T09:57:39Z rgherdt joined #lisp 2020-12-28T10:02:37Z fanta1 joined #lisp 2020-12-28T10:02:44Z amb007 quit (Read error: Connection reset by peer) 2020-12-28T10:03:06Z amb007 joined #lisp 2020-12-28T10:04:13Z wxie quit (Ping timeout: 260 seconds) 2020-12-28T10:05:29Z amb007 quit (Read error: Connection reset by peer) 2020-12-28T10:06:02Z amb007 joined #lisp 2020-12-28T10:06:38Z mrcom quit (Read error: Connection reset by peer) 2020-12-28T10:12:40Z attila_lendvai: hi 2020-12-28T10:16:53Z phoe: heyy 2020-12-28T10:27:04Z heisig joined #lisp 2020-12-28T10:30:55Z bisickcor quit (Read error: Connection reset by peer) 2020-12-28T10:31:48Z bisickcor joined #lisp 2020-12-28T10:33:29Z saganman joined #lisp 2020-12-28T10:36:57Z contrapunctus left #lisp 2020-12-28T10:37:13Z contrapunctus joined #lisp 2020-12-28T10:37:27Z contrapunctus left #lisp 2020-12-28T10:37:52Z contrapunctus joined #lisp 2020-12-28T10:43:56Z contrapunctus left #lisp 2020-12-28T10:49:13Z miyuki1534 joined #lisp 2020-12-28T10:57:05Z iekfkk joined #lisp 2020-12-28T10:57:12Z bisickcor quit (Ping timeout: 256 seconds) 2020-12-28T11:00:22Z acolarh quit (Ping timeout: 246 seconds) 2020-12-28T11:02:42Z skapata joined #lisp 2020-12-28T11:03:21Z vegansbane6 quit (Quit: The Lounge - https://thelounge.chat) 2020-12-28T11:03:44Z paul0 quit (Quit: Leaving) 2020-12-28T11:05:55Z frgo quit (Remote host closed the connection) 2020-12-28T11:13:45Z acolarh joined #lisp 2020-12-28T11:18:48Z v88m joined #lisp 2020-12-28T11:21:21Z contrapunctus joined #lisp 2020-12-28T11:25:18Z luni quit (Quit: Connection closed) 2020-12-28T11:26:11Z imode quit (Quit: WeeChat 2.9) 2020-12-28T11:30:17Z Inline quit (Read error: Connection reset by peer) 2020-12-28T11:31:12Z hineios quit (Read error: Connection reset by peer) 2020-12-28T11:32:31Z oni-on-ion quit (Remote host closed the connection) 2020-12-28T11:33:12Z oni-on-ion joined #lisp 2020-12-28T11:36:10Z hineios joined #lisp 2020-12-28T11:36:19Z vegansbane6 joined #lisp 2020-12-28T11:36:24Z villanella joined #lisp 2020-12-28T11:39:14Z surabax joined #lisp 2020-12-28T11:39:50Z nostoi quit (Quit: Verlassend) 2020-12-28T11:40:36Z random-nick joined #lisp 2020-12-28T11:55:12Z villanella quit (Ping timeout: 268 seconds) 2020-12-28T12:12:01Z villanella joined #lisp 2020-12-28T12:13:23Z cosimone joined #lisp 2020-12-28T12:17:14Z fanta1 quit (Quit: fanta1) 2020-12-28T12:18:47Z villanella quit (Ping timeout: 258 seconds) 2020-12-28T12:20:27Z Stanley00 quit 2020-12-28T12:31:21Z gaqwas joined #lisp 2020-12-28T12:32:38Z Inline joined #lisp 2020-12-28T12:33:27Z jonatack joined #lisp 2020-12-28T12:36:24Z EvW joined #lisp 2020-12-28T12:48:02Z galex-713 quit (Ping timeout: 264 seconds) 2020-12-28T12:48:28Z galex-713 joined #lisp 2020-12-28T12:48:54Z frost-lab quit (Quit: Connection closed) 2020-12-28T12:49:29Z scymtym_ joined #lisp 2020-12-28T12:51:03Z scymtym quit (Ping timeout: 260 seconds) 2020-12-28T12:54:23Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-28T12:54:36Z dra joined #lisp 2020-12-28T13:01:42Z dhil joined #lisp 2020-12-28T13:02:56Z gutter joined #lisp 2020-12-28T13:03:03Z miyuki1534 left #lisp 2020-12-28T13:15:32Z contrapunctus left #lisp 2020-12-28T13:15:44Z contrapunctus joined #lisp 2020-12-28T13:15:56Z iskander quit (Read error: Connection reset by peer) 2020-12-28T13:16:06Z contrapunctus left #lisp 2020-12-28T13:16:27Z contrapunctus joined #lisp 2020-12-28T13:17:01Z iskander joined #lisp 2020-12-28T13:18:47Z contrapunctus left #lisp 2020-12-28T13:18:59Z contrapunctus joined #lisp 2020-12-28T13:21:56Z galex-713 quit (Ping timeout: 240 seconds) 2020-12-28T13:23:42Z dra quit (Remote host closed the connection) 2020-12-28T13:29:29Z contrapunctus left #lisp 2020-12-28T13:29:52Z iskander- joined #lisp 2020-12-28T13:30:38Z contrapunctus joined #lisp 2020-12-28T13:31:08Z vaporatorius__ joined #lisp 2020-12-28T13:31:14Z iskander quit (Ping timeout: 264 seconds) 2020-12-28T13:31:48Z galex-713 joined #lisp 2020-12-28T13:31:56Z mrcom joined #lisp 2020-12-28T13:33:40Z vaporatorius quit (Ping timeout: 246 seconds) 2020-12-28T13:34:20Z vaporatorius joined #lisp 2020-12-28T13:35:37Z vaporatorius__ quit (Ping timeout: 264 seconds) 2020-12-28T13:36:21Z contrapunctus left #lisp 2020-12-28T13:37:58Z contrapunctus joined #lisp 2020-12-28T13:38:30Z gko_ joined #lisp 2020-12-28T13:47:52Z alexander joined #lisp 2020-12-28T13:47:58Z alexander is now known as Guest15134 2020-12-28T13:55:03Z villanella joined #lisp 2020-12-28T13:59:55Z kaftejiman joined #lisp 2020-12-28T14:05:21Z Guest15134 left #lisp 2020-12-28T14:08:24Z EvW quit (Ping timeout: 268 seconds) 2020-12-28T14:08:57Z hendursa1 quit (Quit: hendursa1) 2020-12-28T14:15:08Z asarch joined #lisp 2020-12-28T14:15:29Z krid joined #lisp 2020-12-28T14:31:48Z aeth quit (Ping timeout: 256 seconds) 2020-12-28T14:32:40Z wsinatra joined #lisp 2020-12-28T14:33:16Z krid quit (Remote host closed the connection) 2020-12-28T14:33:39Z aeth joined #lisp 2020-12-28T14:34:25Z jonatack quit (Ping timeout: 264 seconds) 2020-12-28T14:34:51Z jonatack joined #lisp 2020-12-28T14:35:47Z lowryder quit (Ping timeout: 260 seconds) 2020-12-28T14:36:35Z pfdietz: APPLY takes a function designator, not an extended function designator. 2020-12-28T14:37:04Z pfdietz: Ah that was said already 2020-12-28T14:37:13Z frgo joined #lisp 2020-12-28T14:37:26Z lowryder joined #lisp 2020-12-28T14:38:27Z frgo_ joined #lisp 2020-12-28T14:42:19Z frgo quit (Ping timeout: 268 seconds) 2020-12-28T14:53:36Z iskander- quit (Ping timeout: 240 seconds) 2020-12-28T14:54:19Z jmercouris joined #lisp 2020-12-28T14:54:46Z iskander joined #lisp 2020-12-28T14:56:35Z toorevitimirp quit (Remote host closed the connection) 2020-12-28T15:00:55Z yitzi joined #lisp 2020-12-28T15:09:18Z jibanes quit (Ping timeout: 260 seconds) 2020-12-28T15:10:59Z jibanes joined #lisp 2020-12-28T15:14:26Z drl joined #lisp 2020-12-28T15:16:13Z Xach: i'm testing sbcl HEAD today, i expect a lot of fun new failures 2020-12-28T15:17:52Z sjl_ joined #lisp 2020-12-28T15:18:21Z phoe: what new features^Wminor incompatible changes does sbcl HEAD have to cause these failures? 2020-12-28T15:19:17Z jackdaniel: jingle bells, jingle bells, AVER comes to door 2020-12-28T15:19:23Z phoe: :D 2020-12-28T15:19:46Z nij joined #lisp 2020-12-28T15:19:51Z pfdietz: Bad :type in class slots is a recent favorite. 2020-12-28T15:20:00Z phoe: that's old by now though 2020-12-28T15:22:23Z phoe: I am thinking new features! 2020-12-28T15:22:25Z asarch quit (Remote host closed the connection) 2020-12-28T15:22:48Z jibanes quit (Ping timeout: 256 seconds) 2020-12-28T15:24:48Z jibanes joined #lisp 2020-12-28T15:26:11Z nij left #lisp 2020-12-28T15:27:08Z asarch joined #lisp 2020-12-28T15:28:20Z frgo_ quit 2020-12-28T15:29:25Z drl quit (Quit: Leaving) 2020-12-28T15:35:23Z pfdietz: Were any internal sbcl symbols used by user systems removed? 2020-12-28T15:36:19Z phoe: Xach: let us know, for we indulge in unnecessary speculation! 2020-12-28T15:36:50Z jmercouris: NEVER use implementation specific features in your library 2020-12-28T15:37:00Z jmercouris: ALWAYS use a shim library if you must 2020-12-28T15:37:00Z jackdaniel: never say never 2020-12-28T15:37:07Z jmercouris: My World 2.0 2020-12-28T15:37:11Z attila_lendvai quit (Remote host closed the connection) 2020-12-28T15:38:02Z jmercouris: https://www.youtube.com/watch?v=_Z5-P9v3F8w 2020-12-28T15:39:24Z alendvai_ joined #lisp 2020-12-28T15:43:46Z alendvai_ quit (Client Quit) 2020-12-28T15:46:03Z gutter quit (Remote host closed the connection) 2020-12-28T16:00:42Z jmercouris: how to asdf:load-system with filespec? 2020-12-28T16:00:48Z jmercouris: saying look in this file for this system 2020-12-28T16:01:24Z jmercouris: using central registry I believe is not reccomended 2020-12-28T16:01:31Z jmercouris: I thought it was deprecated or something 2020-12-28T16:02:12Z phoe: load-asd perhaps 2020-12-28T16:02:13Z jackdaniel: (asdf:load-asd "/I/have/read/the/manual.asd") ; you may also use find-system system-name if you configure a registry 2020-12-28T16:02:16Z phoe: and then load-system 2020-12-28T16:02:20Z jackdaniel: described here: https://www.common-lisp.net/project/asdf/asdf.html 2020-12-28T16:02:47Z jmercouris: Right, right 2020-12-28T16:02:48Z jmercouris: thank you 2020-12-28T16:04:00Z Alfr: phoe, on (setf aref): The setf function may simply be undefined, clhs 5.1.1.2 last paragraph. (Though I may have missed an explicit exception for aref.) 2020-12-28T16:05:43Z phoe: there is an explicit exception for aref AFAIR 2020-12-28T16:06:12Z phoe: there's apply exceptions for aref, bit, and sbit AFAIR 2020-12-28T16:06:40Z andreyorst` quit (Quit: andreyorst`) 2020-12-28T16:08:23Z pfdietz: For each standardized accessor function F, unless it is explicitly documented otherwise, it is implementation-dependent whether the ability to use an F form as a setf place is implemented by a setf expander or a setf function. Also, it follows from this that it is implementation-dependent whether the name (setf F) is fbound. 2020-12-28T16:08:42Z pfdietz: Which you are referring to 2020-12-28T16:09:20Z Alfr: phoe, you mean 5.1.2.5? That equivalence (mod evaluation order) is only required for user-defined functions. 2020-12-28T16:09:50Z phoe: clhs 5.1.2.5 2020-12-28T16:09:50Z specbot: APPLY Forms as Places: http://www.lispworks.com/reference/HyperSpec/Body/05_abe.htm 2020-12-28T16:10:01Z Alfr: phoe, but I suspect any sane implementation would simply define those functions. 2020-12-28T16:10:06Z phoe: oh 2020-12-28T16:10:16Z phoe: ...yes, you are correct 2020-12-28T16:10:41Z charles` joined #lisp 2020-12-28T16:11:03Z jackdaniel: MeanCL - a new implementations that bites you whenever permissible by the spec 2020-12-28T16:11:08Z miasuji joined #lisp 2020-12-28T16:11:59Z pfdietz: Tough love. The bruises are for your own good. 2020-12-28T16:12:33Z phoe updates the github issue 2020-12-28T16:12:35Z Alfr: jackdaniel, I'd like such an implementation very much to see how unportable some of my code really is. Got one? :D 2020-12-28T16:12:56Z jmercouris: turn warnings on to the max for SBCL and CCL 2020-12-28T16:13:02Z phoe: suicide lisp, doing something non-conforming deletes your home directory 2020-12-28T16:13:06Z jmercouris: should already reveal quite a few things with the appropriate settings 2020-12-28T16:13:18Z jmercouris: that's what we do in our Nyxt CI 2020-12-28T16:13:29Z jmercouris: its amazing how many people release packages on QL with warnings, blows my mind 2020-12-28T16:13:40Z pfdietz: And without tests. 2020-12-28T16:13:49Z jmercouris: the without tests part is a little bit less mind blowing 2020-12-28T16:13:51Z jackdaniel: Alfr: I don't, but I think that clisp had a "strict" build mode 2020-12-28T16:13:53Z jmercouris: I cannot stand compiler warnings 2020-12-28T16:13:55Z jackdaniel: but I may remember wrong 2020-12-28T16:14:34Z jackdaniel: still it doesn't configure fixnum to be exactly of type (signed-byte 16) I think :) 2020-12-28T16:15:17Z phoe: you want something that bites real hard? 2020-12-28T16:15:29Z jackdaniel: many people i.e specialize generic functions on single-float (or on double-float), however the spec defines only float as a system class 2020-12-28T16:15:32Z pfdietz: Restricting all arrays (including strings) to be length at most 1024 would surely be painful. 2020-12-28T16:15:34Z phoe: grab an implementation that sets ARRAY-TOTAL-SIZE-LIMIT to 1024 2020-12-28T16:15:36Z phoe: yes 2020-12-28T16:16:00Z _jrjsmrtn joined #lisp 2020-12-28T16:16:07Z matryoshka quit (Quit: ZNC 1.8.2 - https://znc.in) 2020-12-28T16:16:11Z waleee-cl joined #lisp 2020-12-28T16:16:22Z Alfr: jackdaniel, will try messing w/ warning some time, thanks. 2020-12-28T16:16:24Z matryoshka joined #lisp 2020-12-28T16:16:49Z jackdaniel: warnings will only give you your own screwups, they are not about strictness wrt conformance 2020-12-28T16:17:00Z jackdaniel: also you probably want to thank jmercouris, I did not suggest that 2020-12-28T16:17:22Z __jrjsmrtn__ quit (Ping timeout: 256 seconds) 2020-12-28T16:17:37Z jmercouris: I think some warnings might show non conformance 2020-12-28T16:17:38Z pfdietz: Also, all the code that does something like (apply #'append ) on lists of length > 50. 2020-12-28T16:17:42Z jmercouris: never tried it explicitly though 2020-12-28T16:17:46Z phoe: yes 2020-12-28T16:18:26Z pfdietz: Code that assumes that for fixnums EQ and EQL mean the same thing. 2020-12-28T16:18:31Z phoe: actually 2020-12-28T16:18:41Z phoe: pfdietz: ABCL has call-arguments-limit at 50 2020-12-28T16:18:55Z jackdaniel: some people have an impression, that bignums can be arbitrarily big, however it is only said, that there is no limit on the magnitute of an integer -- I *think* that it would be conforming to signal a storage condition on (1+ most-positive-fixnum) :-) 2020-12-28T16:19:06Z phoe: jackdaniel: :D 2020-12-28T16:19:08Z jackdaniel: of course it would be outraging to do so 2020-12-28T16:19:11Z Alfr: jackdaniel, yeah good point and damn completions. 2020-12-28T16:19:19Z phoe: you people are awful 2020-12-28T16:19:21Z phoe: I love it 2020-12-28T16:19:21Z Alfr: And thanks jmercouris. ^ :) 2020-12-28T16:19:28Z jmercouris: no problem Alfr 2020-12-28T16:20:12Z pfdietz: The random tester would sometime generate code that failed in the sbcl type propagator because of a loop that successively squared a variable. The bignums grew too big to store. 2020-12-28T16:20:41Z gutter joined #lisp 2020-12-28T16:22:23Z phoe: should get a storage-condition then 2020-12-28T16:22:33Z jackdaniel: it probably did 2020-12-28T16:23:55Z pfdietz: Timed out, actually 2020-12-28T16:23:57Z pfdietz: lp 1734714 2020-12-28T16:23:57Z specbot: https://bugs.launchpad.net/bugs/1734714 2020-12-28T16:37:32Z EvW joined #lisp 2020-12-28T16:37:58Z Steeve joined #lisp 2020-12-28T16:39:26Z jjong joined #lisp 2020-12-28T16:39:30Z contrapunctus left #lisp 2020-12-28T16:40:32Z contrapunctus joined #lisp 2020-12-28T16:48:12Z miasuji quit (Ping timeout: 260 seconds) 2020-12-28T17:00:30Z Jeanne-Kamikaze joined #lisp 2020-12-28T17:03:55Z gko_ quit (Ping timeout: 265 seconds) 2020-12-28T17:05:08Z luni joined #lisp 2020-12-28T17:08:05Z attila_lendvai joined #lisp 2020-12-28T17:11:12Z miasuji joined #lisp 2020-12-28T17:13:59Z karlosz joined #lisp 2020-12-28T17:17:44Z andreyorst joined #lisp 2020-12-28T17:19:04Z jjong quit (Ping timeout: 246 seconds) 2020-12-28T17:30:03Z EvW quit (Ping timeout: 268 seconds) 2020-12-28T17:33:42Z cosimone quit (Quit: cosimone) 2020-12-28T17:34:50Z Inline quit (Ping timeout: 264 seconds) 2020-12-28T17:39:01Z luni quit (Quit: Connection closed) 2020-12-28T17:41:01Z jibanes quit (Ping timeout: 264 seconds) 2020-12-28T17:48:07Z EvW joined #lisp 2020-12-28T17:48:22Z jibanes joined #lisp 2020-12-28T17:48:31Z loke[m]: How can I tell what GIT repository a given QL system uses? In particular, I'm trying to fix a bug in cl-cffi-gtk, but what I believed was the official release doesn't seem to be since the content doesn't quite match what's on QL. Clearly QL uses a different fork. 2020-12-28T17:49:32Z ck_: I thought that was in quicklisp-projects, the repository 2020-12-28T17:49:57Z ck_: loke[m]: is this not it? https://github.com/quicklisp/quicklisp-projects/blob/master/projects/cl-cffi-gtk/source.txt 2020-12-28T17:49:57Z loke[m]: Probably. Thans. 2020-12-28T17:50:22Z loke[m]: Ah. Thanks. Makes sense. This seems to be the right one. 2020-12-28T17:50:32Z ck_: not that ferada is on here as well, maybe that helps 2020-12-28T17:50:35Z ck_: note* 2020-12-28T17:51:02Z loke[m]: ck_: That sure would help. 2020-12-28T17:52:31Z liberliver quit (Quit: liberliver) 2020-12-28T17:53:05Z jibanes quit (Ping timeout: 240 seconds) 2020-12-28T17:53:21Z jackdaniel wishes for a garbage collector of his browser tabs 2020-12-28T17:54:38Z jibanes joined #lisp 2020-12-28T17:59:08Z jibanes quit (Ping timeout: 256 seconds) 2020-12-28T18:00:06Z jibanes joined #lisp 2020-12-28T18:01:53Z rogersm joined #lisp 2020-12-28T18:10:54Z karlosz quit (Remote host closed the connection) 2020-12-28T18:11:44Z Cthulhux: some browsers support automatic unloading 2020-12-28T18:14:40Z Xach: that "access" breakage breaks a lot more than i expected 2020-12-28T18:15:03Z phoe: the '(setf aref) one? 2020-12-28T18:15:12Z Xach: yes 2020-12-28T18:15:25Z Xach: http://report.quicklisp.org/2020-12-28/failure-report.html 2020-12-28T18:15:51Z phoe: f 2020-12-28T18:16:11Z Xach: hmm 2020-12-28T18:16:33Z phoe: wait a second, there's a breakage of mine in there... 2020-12-28T18:16:36Z phoe fixes 2020-12-28T18:20:37Z EvW quit (Ping timeout: 268 seconds) 2020-12-28T18:21:30Z mfiano: Xach: Was the breakage due to SBCL being more conformant, or what? 2020-12-28T18:21:39Z EvW joined #lisp 2020-12-28T18:21:41Z mfiano: I see the library hasn't been updated in 5 years anyway 2020-12-28T18:21:55Z phoe: yes, SBCL did not detect this as a compile-time error, and now it does' 2020-12-28T18:23:28Z v88m quit (Ping timeout: 246 seconds) 2020-12-28T18:26:40Z mankaev quit (Read error: Connection reset by peer) 2020-12-28T18:26:45Z mankaev_ joined #lisp 2020-12-28T18:27:09Z phoe fixed PCS 2020-12-28T18:27:54Z karlosz joined #lisp 2020-12-28T18:29:08Z phoe: oh, sheeple is also affected by it 2020-12-28T18:31:30Z EvW quit (Read error: Connection reset by peer) 2020-12-28T18:32:01Z EvW joined #lisp 2020-12-28T18:33:26Z mfiano would be happy if cl-sdl2-ttf was just removed from QL 2020-12-28T18:35:31Z mfiano: It improperly uses finalizers more than 2 years after I changed cl-sdl2 to not use finalizers. The library just plain does not work without memory faults (at runtime), and the author has been unresponsive. 2020-12-28T18:35:49Z mfiano: Therefor, I think it being in Quicklisp is not helping anyone, since it just plain doesn't work at all. 2020-12-28T18:35:59Z Xach: Ok 2020-12-28T18:36:08Z EvW1 joined #lisp 2020-12-28T18:36:39Z EvW quit (Ping timeout: 268 seconds) 2020-12-28T18:36:39Z EvW1 is now known as EvW 2020-12-28T18:38:21Z KREYREEN quit (Remote host closed the connection) 2020-12-28T18:38:21Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-12-28T18:38:21Z madage quit (Write error: Broken pipe) 2020-12-28T18:38:21Z cantstanya quit (Write error: Broken pipe) 2020-12-28T18:38:21Z gxt quit (Write error: Broken pipe) 2020-12-28T18:38:51Z gxt joined #lisp 2020-12-28T18:38:51Z KREYREEN joined #lisp 2020-12-28T18:39:05Z Aurora_v_kosmose joined #lisp 2020-12-28T18:39:13Z madage joined #lisp 2020-12-28T18:40:14Z mfiano: Or maybe it should be moved to sharplispers, if someone is willing to fix it. 2020-12-28T18:41:03Z judson_ joined #lisp 2020-12-28T18:41:17Z attila_lendvai: there's also hu.dwim.sdl which is autogenerated and IIRC complete 2020-12-28T18:41:31Z cantstanya joined #lisp 2020-12-28T18:42:29Z mfiano: There's nothing wrong with cl-sdl2 2020-12-28T18:42:44Z mfiano: It's the ttf extension binding 2020-12-28T18:44:27Z mfiano: Oh I see that it includes the extensions too 2020-12-28T18:46:02Z orivej quit (Ping timeout: 260 seconds) 2020-12-28T18:46:14Z Lord_of_Life_ joined #lisp 2020-12-28T18:46:41Z luni joined #lisp 2020-12-28T18:48:38Z Lord_of_Life quit (Ping timeout: 264 seconds) 2020-12-28T18:48:38Z Lord_of_Life_ is now known as Lord_of_Life 2020-12-28T18:50:52Z lucasb joined #lisp 2020-12-28T18:56:38Z luckless_ joined #lisp 2020-12-28T19:00:37Z galex-713 quit (Ping timeout: 260 seconds) 2020-12-28T19:07:13Z Lord_of_Life quit (Ping timeout: 246 seconds) 2020-12-28T19:07:19Z bisickcor joined #lisp 2020-12-28T19:08:25Z Lord_of_Life joined #lisp 2020-12-28T19:10:01Z iekfkk quit (Ping timeout: 246 seconds) 2020-12-28T19:12:55Z EvW quit (Remote host closed the connection) 2020-12-28T19:13:06Z EvW joined #lisp 2020-12-28T19:17:18Z galex-713 joined #lisp 2020-12-28T19:21:37Z rumbler31_ joined #lisp 2020-12-28T19:22:48Z Jesin quit (Quit: Leaving) 2020-12-28T19:24:34Z rumbler31 quit (Ping timeout: 265 seconds) 2020-12-28T19:26:15Z Jesin joined #lisp 2020-12-28T19:27:55Z karlosz quit (Quit: karlosz) 2020-12-28T19:30:36Z birdwing quit (Ping timeout: 240 seconds) 2020-12-28T19:34:08Z andreyorst quit (Ping timeout: 260 seconds) 2020-12-28T19:36:45Z karlosz joined #lisp 2020-12-28T19:51:24Z rogersm quit (Quit: Leaving...) 2020-12-28T19:57:01Z puchacz joined #lisp 2020-12-28T19:57:12Z notzmv quit (Ping timeout: 260 seconds) 2020-12-28T19:58:02Z puchacz: hi, when I have an error inside unwind-protect, and I choose "abort thread" or similar restart, the cleanup clause from unwind protect is not executed. any workaround for it please? 2020-12-28T19:58:18Z puchacz: I use sly but slime is probably similar 2020-12-28T20:01:04Z cosimone joined #lisp 2020-12-28T20:01:27Z jprajzne quit (Quit: Leaving.) 2020-12-28T20:04:03Z pfdietz: "Fixed bug in sheeple where it wasn't waking up." 2020-12-28T20:05:55Z aindilis joined #lisp 2020-12-28T20:06:13Z jibanes quit (Ping timeout: 264 seconds) 2020-12-28T20:07:48Z jibanes joined #lisp 2020-12-28T20:08:06Z puchacz: okay, " 1: [*ABORT] Return to SLY's top level." evaluates the cleanup 2020-12-28T20:09:26Z eta: puchacz: yeah aborting the thread, uh, aborts the thread 2020-12-28T20:09:32Z eta: it's like kill -9 for threads 2020-12-28T20:09:38Z eta: you don't get to clean up 2020-12-28T20:10:08Z puchacz: eta - yes, fortunately this "return" works fine. maybe it calls return-from 2020-12-28T20:10:47Z puchacz: in SLY, abort thread restart kills the current REPL as well, so not very convenient 2020-12-28T20:11:19Z eta: puchacz: SLY probably wraps repl evaluations in the equivalent of a WITH-SIMPLE-RESTART 2020-12-28T20:11:20Z puchacz: but I guess the logic is consistent 2020-12-28T20:11:27Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-12-28T20:11:38Z eta: you should avoid aborting threads if you don't need to :p 2020-12-28T20:12:06Z puchacz: easy to hit the button by mistake :) 2020-12-28T20:12:15Z Aurora_v_kosmose joined #lisp 2020-12-28T20:12:15Z puchacz: anyway, I am good with 1: [*ABORT] Return to SLY's top level. 2020-12-28T20:12:21Z puchacz: tks :) 2020-12-28T20:12:47Z eta: no problem! 2020-12-28T20:12:58Z eta: puchacz: protip, pushing "a" should choose that one 2020-12-28T20:13:18Z eta: at least I think it does that for my SLIME setup 2020-12-28T20:13:50Z puchacz: *a means that? 2020-12-28T20:13:52Z mfiano: Hitting "a" selects the to-most abort restart, yes 2020-12-28T20:13:57Z mfiano: top-most* 2020-12-28T20:14:16Z mfiano: Likewise "c" for top-most continue 2020-12-28T20:14:23Z puchacz: it is the second abort, first is to re-evaluate, number 0 2020-12-28T20:14:36Z mfiano: That isn't one named ABORT though 2020-12-28T20:14:48Z puchacz: I see, I will try - thanks 2020-12-28T20:19:57Z jibanes quit (Ping timeout: 260 seconds) 2020-12-28T20:21:28Z jibanes joined #lisp 2020-12-28T20:24:20Z phoe: mfiano: for me it's Q rather than A 2020-12-28T20:24:22Z phoe: Q for Quit 2020-12-28T20:24:24Z matryoshka quit (Quit: ZNC 1.8.2 - https://znc.in) 2020-12-28T20:24:28Z phoe: but I'll try A, maybe it works too! 2020-12-28T20:24:41Z matryoshka joined #lisp 2020-12-28T20:24:52Z mfiano: Yes, q is for quit, c is for continue, a is for abort 2020-12-28T20:24:58Z mfiano: Top-most of each 2020-12-28T20:25:20Z mfiano: At least on Sly 2020-12-28T20:25:31Z mfiano: I haven't used SLIME in about 10 years, so unsure how that works :) 2020-12-28T20:25:41Z phoe: same in sly 2020-12-28T20:25:56Z jibanes quit (Ping timeout: 240 seconds) 2020-12-28T20:26:44Z matryoshka quit (Client Quit) 2020-12-28T20:27:06Z matryoshka joined #lisp 2020-12-28T20:27:16Z v88m joined #lisp 2020-12-28T20:29:02Z Inline joined #lisp 2020-12-28T20:29:36Z aeth: it's weird how abort isn't always 0 2020-12-28T20:29:58Z phoe: why would it be? 2020-12-28T20:30:00Z aeth: If 'a' didn't exist, it would be way too much thought any time an error popped up. Sometimes the first abort is hidden behind a MORE 2020-12-28T20:30:05Z phoe: 0th restart is the most recent one, right? 2020-12-28T20:30:17Z phoe: at least on slime, it is 2020-12-28T20:30:29Z aeth: oh, I see, it's probably a front-appending CONS 2020-12-28T20:30:31Z phoe: so, unless you manually reorder restarts for whatever reason, it's not 2020-12-28T20:31:03Z aeth: at least for me, 99% of the time, I'm going to want to abort, fix it in the code, and then rerun it 2020-12-28T20:31:11Z phoe: restarts are bound in clusters, and when you traverse all restarts, you traverse them in strict order 2020-12-28T20:32:50Z jibanes joined #lisp 2020-12-28T20:35:02Z mrSpec quit (Ping timeout: 256 seconds) 2020-12-28T20:35:11Z puchacz: 0. retry. 1. *abort (return to toplevel) 2. abort thread 2020-12-28T20:35:28Z puchacz: and pushing A button indeed selected 1 2020-12-28T20:35:50Z puchacz: phoe, I am debugging my sqlite queue by the way, lol :) 2020-12-28T20:35:57Z phoe: :D 2020-12-28T20:36:14Z hnOsmium0001 joined #lisp 2020-12-28T20:36:18Z puchacz: hence unwind-protect, and threads 2020-12-28T20:37:40Z puchacz: (and speaking of restarts, I bought your book already but not yet read it.... will do) 2020-12-28T20:37:46Z mrSpec joined #lisp 2020-12-28T20:37:53Z phoe: thanks, hope it serves you well 2020-12-28T20:38:11Z mrSpec is now known as Guest61163 2020-12-28T20:38:40Z karlosz quit (Remote host closed the connection) 2020-12-28T20:40:37Z otwieracz quit (Ping timeout: 260 seconds) 2020-12-28T20:41:19Z otwieracz joined #lisp 2020-12-28T20:41:23Z matryoshka quit (Quit: ZNC 1.8.2 - https://znc.in) 2020-12-28T20:41:25Z jw4 quit (Read error: Connection reset by peer) 2020-12-28T20:41:45Z matryoshka joined #lisp 2020-12-28T20:43:09Z jw4 joined #lisp 2020-12-28T20:43:49Z fiddlerwoaroof: Yeah, restart 0 should be the restart in the deepest frame 2020-12-28T20:44:18Z fiddlerwoaroof: Most systems have a dedicated key or command for the abort restart, though 2020-12-28T20:44:24Z EvW quit (Ping timeout: 258 seconds) 2020-12-28T20:44:46Z fiddlerwoaroof: In emacs it's q, lispworks (and some of the other repls) have :a 2020-12-28T20:46:23Z fiddlerwoaroof: Also, more places should provide a continue restart and/or use CHECK-TYPE in their APIs to get the STORE-VALUE restart 2020-12-28T20:46:51Z phoe: or ASSERT with places to get the multi-value-store CONTINUE 2020-12-28T20:47:37Z pfdietz: My favorite case: restarts in the reader for when symbols are given with a nonexistent package, to substitute some other package. 2020-12-28T20:47:55Z phoe: ah yes, Eclector 2020-12-28T20:48:31Z pfdietz: And also in sbcl's reader, now. 2020-12-28T20:48:34Z zacts joined #lisp 2020-12-28T20:48:37Z phoe: yay! 2020-12-28T20:48:38Z zacts quit (Client Quit) 2020-12-28T20:49:16Z narimiran quit (Ping timeout: 240 seconds) 2020-12-28T20:50:35Z pfdietz: That went in... 1.5.1? Last year. 2020-12-28T20:50:53Z phoe: I must have not paid attention 2020-12-28T20:51:19Z EvW joined #lisp 2020-12-28T20:51:20Z phoe: yes, I see it 2020-12-28T20:51:21Z hendursaga joined #lisp 2020-12-28T20:57:40Z choegusung joined #lisp 2020-12-28T21:04:29Z EvW1 joined #lisp 2020-12-28T21:05:26Z karlosz joined #lisp 2020-12-28T21:06:11Z EvW1 quit (Client Quit) 2020-12-28T21:06:48Z l1x joined #lisp 2020-12-28T21:08:21Z EvW quit (Ping timeout: 268 seconds) 2020-12-28T21:08:48Z EvW joined #lisp 2020-12-28T21:10:45Z jibanes quit (Ping timeout: 240 seconds) 2020-12-28T21:10:50Z Xach: it's not always easy to discover new features! 2020-12-28T21:11:10Z phoe: sometimes it's easy 2020-12-28T21:11:18Z phoe: you discover new SBCL features each month 2020-12-28T21:11:33Z choegusung quit (Quit: leaving) 2020-12-28T21:12:57Z jibanes joined #lisp 2020-12-28T21:14:21Z luni quit (Quit: Connection closed) 2020-12-28T21:15:03Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-28T21:18:58Z luckless_ joined #lisp 2020-12-28T21:21:27Z lonjil: In Sly-DB, 'q' invokes a "safe" restart if used under the repl. 2020-12-28T21:23:00Z lonjil: Which I think means the abort that returns you to Sly's top level. 2020-12-28T21:23:35Z lonjil: rebind `slynk:*sly-db-quit-restart*` in your libraries if you want to confuse people 2020-12-28T21:24:37Z puchacz: same as A? 2020-12-28T21:25:03Z fiddlerwoaroof: SLIME puts a * next to the q restart, iirc 2020-12-28T21:25:26Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-12-28T21:25:27Z lonjil: 'a' is always the topmost Abort restart. 2020-12-28T21:25:54Z judson_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-28T21:25:57Z asarch: One very stupid question: is there a project maker that build an empty skeleton of a QuickLisp-based project? If yes, what is its name? 2020-12-28T21:26:02Z Aurora_v_kosmose joined #lisp 2020-12-28T21:26:28Z Xach: asarch: quickproject is one 2020-12-28T21:26:46Z asarch: Thank you, thank you very much Xach! :-) 2020-12-28T21:26:59Z Xach: asarch: for clarity, it creates a project with a simple ASDF system definition. quicklisp can load them, but it's not quicklisp-specific. 2020-12-28T21:27:28Z asarch: I see 2020-12-28T21:27:36Z asarch takes notes... 2020-12-28T21:28:00Z fiddlerwoaroof: Interesting, in slime a invokes the abort restart closest to the error throw 2020-12-28T21:28:07Z fiddlerwoaroof: q invokes the restart that goes back to the repl 2020-12-28T21:29:35Z lonjil: That's what I meant by topmost. 2020-12-28T21:31:08Z fiddlerwoaroof: https://fwoar.co/pastebin/091a0d97c8ab1380b97c3360a02bd85aed504940.lisp.html 2020-12-28T21:31:17Z fiddlerwoaroof: I think I need to retrain to pushing q 2020-12-28T21:31:20Z fiddlerwoaroof: sorry, a 2020-12-28T21:31:42Z attila_lendvai quit (Ping timeout: 256 seconds) 2020-12-28T21:33:41Z bars0 joined #lisp 2020-12-28T21:34:24Z EvW quit (Quit: EvW) 2020-12-28T21:36:35Z wsinatra quit (Quit: WeeChat 3.0) 2020-12-28T21:37:00Z matryoshka quit (Quit: ZNC 1.8.2 - https://znc.in) 2020-12-28T21:37:16Z matryoshka joined #lisp 2020-12-28T21:43:28Z rpg joined #lisp 2020-12-28T21:48:53Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-12-28T21:49:27Z Aurora_v_kosmose joined #lisp 2020-12-28T21:49:45Z judson_ joined #lisp 2020-12-28T21:50:20Z Guest61163 quit (Changing host) 2020-12-28T21:50:20Z Guest61163 joined #lisp 2020-12-28T21:50:25Z Guest61163 is now known as mrSpec 2020-12-28T21:56:16Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-12-28T21:56:50Z Aurora_v_kosmose joined #lisp 2020-12-28T22:00:47Z Steeve quit (Quit: end) 2020-12-28T22:03:21Z karlosz quit (Remote host closed the connection) 2020-12-28T22:04:23Z bisickcor quit (Read error: Connection reset by peer) 2020-12-28T22:05:31Z bisickcor joined #lisp 2020-12-28T22:05:56Z sjl_ quit (Ping timeout: 240 seconds) 2020-12-28T22:07:29Z judson_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-28T22:07:38Z karlosz joined #lisp 2020-12-28T22:09:49Z judson_ joined #lisp 2020-12-28T22:11:31Z vegansbane6 quit (Remote host closed the connection) 2020-12-28T22:14:29Z villanella quit (Ping timeout: 258 seconds) 2020-12-28T22:26:13Z pve quit (Quit: leaving) 2020-12-28T22:33:23Z vegansbane6 joined #lisp 2020-12-28T22:39:49Z Jeanne-Kamikaze quit (Remote host closed the connection) 2020-12-28T22:45:19Z bars0 quit (Quit: leaving) 2020-12-28T22:46:40Z matryoshka quit (Quit: ZNC 1.8.2 - https://znc.in) 2020-12-28T22:46:58Z matryoshka joined #lisp 2020-12-28T22:52:06Z heisig quit (Quit: Leaving) 2020-12-28T23:04:30Z birdwing joined #lisp 2020-12-28T23:17:23Z KREYREEN quit (Remote host closed the connection) 2020-12-28T23:17:51Z KREYREEN joined #lisp 2020-12-28T23:25:35Z puchacz quit (Remote host closed the connection) 2020-12-28T23:27:16Z matryoshka quit (Quit: ZNC 1.8.2 - https://znc.in) 2020-12-28T23:27:38Z matryoshka joined #lisp 2020-12-28T23:38:07Z Jeanne-Kamikaze joined #lisp 2020-12-28T23:46:25Z dhil quit (Ping timeout: 264 seconds) 2020-12-28T23:46:48Z GuerrillaMonkey joined #lisp 2020-12-28T23:47:55Z Jeanne-Kamikaze quit (Ping timeout: 246 seconds) 2020-12-28T23:48:43Z akoana joined #lisp 2020-12-28T23:49:37Z varjag quit (Quit: ERC (IRC client for Emacs 28.0.50)) 2020-12-28T23:52:03Z cosimone quit (Quit: cosimone) 2020-12-28T23:52:55Z igemnace joined #lisp 2020-12-28T23:53:59Z igemnace quit (Client Quit) 2020-12-28T23:59:43Z matryoshka quit (Read error: Connection reset by peer) 2020-12-29T00:00:00Z matryoshka joined #lisp 2020-12-29T00:02:39Z ebrasca quit (Remote host closed the connection) 2020-12-29T00:06:37Z matryoshka quit (Quit: ZNC 1.8.2 - https://znc.in) 2020-12-29T00:06:49Z matryoshka joined #lisp 2020-12-29T00:08:17Z random-nick quit (Ping timeout: 265 seconds) 2020-12-29T00:09:23Z matryoshka quit (Client Quit) 2020-12-29T00:09:44Z matryoshka joined #lisp 2020-12-29T00:10:41Z sjl: love spending 20 minutes digging through SBCL's MOP source code to figure out why it's signaling an error only to realize I did (defmethod update-dependent ...) instead of (defmethod c2mop:update-dependent ...) 2020-12-29T00:10:54Z sjl: Silent naked defmethods are just the worst. 2020-12-29T00:13:14Z phoe: sjl: complain at #sbcl that the "implicitly creating a function" warning should get reinstated 2020-12-29T00:13:19Z phoe: join our choir 2020-12-29T00:13:25Z sjl: I already did long ago 2020-12-29T00:26:44Z slyrus quit (Quit: Leaving) 2020-12-29T00:27:48Z matryoshka quit (Quit: ZNC 1.8.2 - https://znc.in) 2020-12-29T00:28:06Z matryoshka joined #lisp 2020-12-29T00:32:02Z aeth: I implicitly created a complaint 2020-12-29T00:46:47Z gaqwas quit (Ping timeout: 260 seconds) 2020-12-29T00:47:29Z frost-lab joined #lisp 2020-12-29T00:52:50Z asarch quit (Ping timeout: 264 seconds) 2020-12-29T00:57:27Z asarch joined #lisp 2020-12-29T00:57:50Z amerigo quit (Quit: Connection closed for inactivity) 2020-12-29T00:58:59Z dbotton joined #lisp 2020-12-29T01:07:46Z imode joined #lisp 2020-12-29T01:10:04Z kaftejiman quit (Remote host closed the connection) 2020-12-29T01:13:21Z lucasb quit (Quit: Connection closed for inactivity) 2020-12-29T01:14:05Z hiroaki_ quit (Ping timeout: 240 seconds) 2020-12-29T01:17:14Z wxie joined #lisp 2020-12-29T01:21:55Z nij joined #lisp 2020-12-29T01:22:27Z nij: Where can I learn more about open genera OS? especially its relation with lisp machines?? 2020-12-29T01:22:57Z nij: On youtube there are just few DEMO videos .. :( 2020-12-29T01:24:24Z sjl: bitsavers has a bunch of genera manuals and such 2020-12-29T01:24:27Z sjl: e.g. https://archive.org/details/bitsavers?and%5B%5D=genera&sin=&sort=-downloads&and%5B%5D=subject%3A%22lisp%22 2020-12-29T01:25:43Z sjl: here's the genera 8 user's guide https://archive.org/details/bitsavers_symbolicssaUsersGuide_1377112 2020-12-29T01:26:36Z nij: Yay.. T_T Thank you 2020-12-29T01:27:10Z gaqwas joined #lisp 2020-12-29T01:28:18Z hiroaki_ joined #lisp 2020-12-29T01:28:50Z aeth: Based on the URL, I guess that's a mirror of this? http://bitsavers.trailing-edge.com/ 2020-12-29T01:29:36Z dbotton quit (Quit: This computer has gone to sleep) 2020-12-29T01:29:36Z sjl: yeah, with a more searchable interface that a list of directories with terse names 2020-12-29T01:30:01Z nij quit (Quit: ERC (IRC client for Emacs 27.1)) 2020-12-29T01:31:25Z gaqwas quit (Remote host closed the connection) 2020-12-29T01:31:43Z gaqwas joined #lisp 2020-12-29T01:36:04Z notzmv` joined #lisp 2020-12-29T01:36:10Z slyrus joined #lisp 2020-12-29T01:42:10Z pfdietz: lp 1818142 2020-12-29T01:42:10Z specbot: https://bugs.launchpad.net/bugs/1818142 2020-12-29T01:42:19Z pfdietz: For silent defmethods 2020-12-29T01:42:32Z notzmv` quit (Ping timeout: 260 seconds) 2020-12-29T01:42:50Z notzmv``` joined #lisp 2020-12-29T01:46:50Z pfdietz: "Interlisp is a very large software system [...] Interlisp-D has on the order of 17,000 lines of Lisp code, 6,000 lines of Bcpl, and 4,000 lines of microcode." 2020-12-29T01:47:12Z rgherdt quit (Ping timeout: 260 seconds) 2020-12-29T01:47:49Z pfdietz: (checks sbcl source) 555K lines of lisp code. 2020-12-29T01:48:24Z pfdietz: And 53K lines of C. 2020-12-29T01:49:36Z aeth: If you replace all ;-style comments with #||#-style comments, then you could get any Lisp program down to 1 line 2020-12-29T01:51:02Z pfdietz: https://en.wikipedia.org/wiki/Goodhart%27s_law 2020-12-29T01:51:10Z notzmv``` quit (Ping timeout: 256 seconds) 2020-12-29T01:51:24Z rgherdt joined #lisp 2020-12-29T01:51:45Z notzmv joined #lisp 2020-12-29T01:55:04Z gaqwas quit (Ping timeout: 272 seconds) 2020-12-29T01:55:57Z mrchampion quit (Read error: Connection reset by peer) 2020-12-29T01:58:56Z rumbler31 joined #lisp 2020-12-29T01:59:06Z rgherdt quit (Ping timeout: 256 seconds) 2020-12-29T01:59:56Z mrchampion joined #lisp 2020-12-29T02:03:41Z orivej joined #lisp 2020-12-29T02:03:56Z rumbler31 quit (Ping timeout: 272 seconds) 2020-12-29T02:04:55Z phantomics: Hey, a question about arrays: is there any way to create a "representation" of an array with a different element type? 2020-12-29T02:05:12Z phantomics: For example, say I have an 8-element array of type unsigned-byte 8 2020-12-29T02:05:33Z phantomics: And I want to access the same memory space as a 64-element vector of bits 2020-12-29T02:06:08Z phantomics: I can't use array displacement for this, because (make-array) forbids you to use the :displace-to option with an array of a different type 2020-12-29T02:06:10Z GuerrillaMonkey quit (Ping timeout: 246 seconds) 2020-12-29T02:06:11Z Inline quit (Read error: Connection reset by peer) 2020-12-29T02:06:12Z phantomics: Is there any other option? 2020-12-29T02:10:00Z gaqwas joined #lisp 2020-12-29T02:10:00Z gaqwas quit (Changing host) 2020-12-29T02:10:00Z gaqwas joined #lisp 2020-12-29T02:11:01Z sm2n quit (Remote host closed the connection) 2020-12-29T02:11:43Z cantstanya quit (Ping timeout: 240 seconds) 2020-12-29T02:14:40Z aeth: Actually doing it? You can abuse FFI... 2020-12-29T02:14:49Z aeth: e.g. (format t "#x~16,'0X~%" (static-vectors:with-static-vector (a 16 :element-type '(unsigned-byte 8) :initial-element #x12) (cffi:mem-ref (static-vectors:static-vector-pointer a) :uint64 0))) 2020-12-29T02:15:31Z aeth: I'm guessing that you could probably be clever with static-vectors-style hacking to avoid the direct use of CFFI and just create two different arrays that appear to be Lisp native, just with different types and located at the same location. 2020-12-29T02:15:32Z cantstanya joined #lisp 2020-12-29T02:16:03Z aeth: But, in general, I think people just make the array itself be octets and then merge them together if necessary. 2020-12-29T02:16:36Z toorevitimirp joined #lisp 2020-12-29T02:17:41Z aeth: i.e. (format t "#x~16,'0X~%" (logior (ash #x12 (* 8 0)) (ash #x12 (* 8 1)) (ash #x12 (* 8 2)) (ash #x12 (* 8 3)) (ash #x12 (* 8 4)) (ash #x12 (* 8 5)) (ash #x12 (* 8 6)) (ash #x12 (* 8 7)))) 2020-12-29T02:19:25Z gaqwas quit (Ping timeout: 264 seconds) 2020-12-29T02:20:35Z toorevitimirp quit (Remote host closed the connection) 2020-12-29T02:21:57Z surabax quit (Quit: Leaving) 2020-12-29T02:24:13Z aeth: Your implementation (e.g. SBCL) might let you pretend that CL is C if (safety 0). Whatever you do, DO NOT do this one. It's unportable and breaks the type system. (defun foo (a) (declare (optimize (safety 0)) (type (simple-array (unsigned-byte 64) (*)) a)) (aref a 0)) (defun bar () (foo (make-array 32 :element-type '(unsigned-byte 8) :initial-element #x12))) (format t "#x~16,'0X~%" (bar)) 2020-12-29T02:25:04Z aeth: If the type tags are variably sized, it might not work, either. 2020-12-29T02:26:37Z judson_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-29T02:29:25Z notzmv quit (Ping timeout: 240 seconds) 2020-12-29T02:30:07Z notzmv joined #lisp 2020-12-29T02:31:55Z judson_ joined #lisp 2020-12-29T02:32:57Z birdwing quit (Ping timeout: 260 seconds) 2020-12-29T02:35:34Z lowryder quit (Ping timeout: 246 seconds) 2020-12-29T02:37:50Z judson_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-29T02:37:53Z lowryder joined #lisp 2020-12-29T02:38:27Z miasuji quit (Quit: Leaving) 2020-12-29T02:40:22Z DGASAU` joined #lisp 2020-12-29T02:40:42Z karlosz quit (Quit: karlosz) 2020-12-29T02:41:36Z DGASAU quit (Ping timeout: 256 seconds) 2020-12-29T02:47:41Z judson_ joined #lisp 2020-12-29T02:55:12Z matryoshka quit (Quit: ZNC 1.8.2 - https://znc.in) 2020-12-29T02:55:27Z matryoshka joined #lisp 2020-12-29T02:56:34Z Inline joined #lisp 2020-12-29T03:00:11Z galex-713 quit (Ping timeout: 272 seconds) 2020-12-29T03:01:29Z akoana left #lisp 2020-12-29T03:04:16Z vegansbane6 quit (Quit: The Lounge - https://thelounge.chat) 2020-12-29T03:06:19Z pfdietz quit (Ping timeout: 245 seconds) 2020-12-29T03:09:45Z vegansbane6 joined #lisp 2020-12-29T03:11:35Z rumbler31 joined #lisp 2020-12-29T03:13:25Z sjl: phoe: I think I finally managed to wrangle the stupid class option inheritance thing into submission 2020-12-29T03:13:54Z sjl: in typical MOP fashion, it ended up being way more confusing to implement than I thought it would be 2020-12-29T03:13:56Z sjl: https://paste.stevelosh.com/5ac9a4d86b355da455f1771af5d9ac16da50c3f7 2020-12-29T03:15:03Z sjl: I feel like I probably still screwed this up, but I can't think any more about this tonight. 2020-12-29T03:15:50Z v88m quit (Ping timeout: 256 seconds) 2020-12-29T03:25:51Z jrm: Hi. I'm working on an OS package update to alexandria 1.2. I tested by loading stumpwm. After the update an error is reported: Lock on package ALEXANDRIA violated when defining ALEXANDRIA:WITH-GENSYMS as a macro while in package STUMPWM. 2020-12-29T03:26:02Z jrm: We currently have a very old version of alexandria before the alexandria-1 and alexandria-2 sub directories were created. Does something special need to be done to handle the two -1 and -2 implementations? 2020-12-29T03:26:40Z galex-713 joined #lisp 2020-12-29T03:26:52Z jrm: ^ First sent those to #common-lisp, but see on https://common-lisp.net/project/alexandria/ to use #lisp. Sorry to anyone who sees that twice. 2020-12-29T03:28:45Z judson_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-29T03:34:14Z judson_ joined #lisp 2020-12-29T03:37:14Z Inline quit (Ping timeout: 264 seconds) 2020-12-29T03:37:32Z fiddlerwoaroof: sjl: what's the use case? 2020-12-29T03:49:58Z judson_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-29T03:52:30Z thmprover joined #lisp 2020-12-29T04:02:10Z Alfr_ joined #lisp 2020-12-29T04:05:07Z Alfr quit (Ping timeout: 260 seconds) 2020-12-29T04:05:49Z asarch quit (Quit: Leaving) 2020-12-29T04:07:49Z jjong joined #lisp 2020-12-29T04:13:30Z v88m joined #lisp 2020-12-29T04:22:22Z beach: Good morning everyone! 2020-12-29T04:25:20Z slyrus_ joined #lisp 2020-12-29T04:25:49Z saganman: Morning beach 2020-12-29T04:27:36Z slyrus quit (Ping timeout: 240 seconds) 2020-12-29T04:39:07Z matryoshka quit (Quit: ZNC 1.8.2 - https://znc.in) 2020-12-29T04:40:06Z matryoshka joined #lisp 2020-12-29T04:40:25Z orivej quit (Quit: orivej) 2020-12-29T04:41:52Z orivej joined #lisp 2020-12-29T04:42:32Z jibanes quit (Ping timeout: 256 seconds) 2020-12-29T04:43:59Z jibanes joined #lisp 2020-12-29T04:46:41Z karlosz joined #lisp 2020-12-29T04:51:25Z Stanley00 joined #lisp 2020-12-29T04:51:43Z jibanes quit (Ping timeout: 246 seconds) 2020-12-29T04:53:45Z jibanes joined #lisp 2020-12-29T04:54:45Z wxie quit (Ping timeout: 240 seconds) 2020-12-29T05:06:37Z wxie joined #lisp 2020-12-29T05:06:48Z judson_ joined #lisp 2020-12-29T05:07:27Z phantomics: Thanks aeth 2020-12-29T05:28:24Z skapata quit (Remote host closed the connection) 2020-12-29T05:36:24Z thmprover quit (Quit: For Here, I Hope, Begins Our Lasting Joy) 2020-12-29T05:39:03Z rumbler31_ quit (Ping timeout: 260 seconds) 2020-12-29T05:44:08Z saganman quit (Ping timeout: 256 seconds) 2020-12-29T05:47:14Z judson_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-29T05:51:39Z waleee-cl quit (Quit: Connection closed for inactivity) 2020-12-29T05:52:13Z rumbler31 quit (Remote host closed the connection) 2020-12-29T05:53:00Z rumbler31 joined #lisp 2020-12-29T05:53:44Z saganman joined #lisp 2020-12-29T05:57:19Z gxt quit (Remote host closed the connection) 2020-12-29T05:57:41Z gxt joined #lisp 2020-12-29T06:09:08Z judson_ joined #lisp 2020-12-29T06:11:55Z judson_ quit (Client Quit) 2020-12-29T06:30:35Z narimiran joined #lisp 2020-12-29T06:31:12Z Core7917 joined #lisp 2020-12-29T06:54:49Z jibanes quit (Ping timeout: 264 seconds) 2020-12-29T06:56:20Z jibanes joined #lisp 2020-12-29T07:02:47Z jibanes quit (Ping timeout: 260 seconds) 2020-12-29T07:03:38Z jibanes joined #lisp 2020-12-29T07:03:54Z andreyorst` joined #lisp 2020-12-29T07:24:36Z spal quit (Quit: ZNC 1.7.2+deb3 - https://znc.in) 2020-12-29T07:24:46Z spal joined #lisp 2020-12-29T07:30:54Z pve joined #lisp 2020-12-29T07:36:43Z gxt quit (Ping timeout: 240 seconds) 2020-12-29T07:38:57Z gxt joined #lisp 2020-12-29T07:40:00Z msk_ quit (Quit: Leaving) 2020-12-29T07:40:14Z orivej quit (Ping timeout: 272 seconds) 2020-12-29T07:42:07Z birdwing joined #lisp 2020-12-29T07:47:15Z gutter quit (Remote host closed the connection) 2020-12-29T07:48:59Z villanella joined #lisp 2020-12-29T07:53:34Z phoe: jrm: there's a package conflict somewhere. What package defines its own WITH-GENSYMS macro? 2020-12-29T07:53:45Z phoe: sjl: ooooh, let me dig in 2020-12-29T08:14:25Z rogersm joined #lisp 2020-12-29T08:15:52Z devon joined #lisp 2020-12-29T08:25:46Z attila_lendvai joined #lisp 2020-12-29T08:28:21Z bjorkintosh joined #lisp 2020-12-29T08:45:30Z gareppa joined #lisp 2020-12-29T08:46:30Z gareppa quit (Remote host closed the connection) 2020-12-29T08:52:35Z attila_lendvai quit (Ping timeout: 268 seconds) 2020-12-29T08:56:37Z jibanes quit (Ping timeout: 264 seconds) 2020-12-29T08:58:08Z jibanes joined #lisp 2020-12-29T09:06:53Z hendursa1 joined #lisp 2020-12-29T09:09:23Z hendursaga quit (Ping timeout: 240 seconds) 2020-12-29T09:09:24Z amb007 quit (Read error: Connection reset by peer) 2020-12-29T09:09:44Z amb007 joined #lisp 2020-12-29T09:10:50Z flazh quit (Ping timeout: 264 seconds) 2020-12-29T09:13:31Z hnOsmium0001 quit (Quit: Connection closed for inactivity) 2020-12-29T09:13:46Z gaqwas joined #lisp 2020-12-29T09:13:46Z gaqwas quit (Changing host) 2020-12-29T09:13:46Z gaqwas joined #lisp 2020-12-29T09:16:11Z liberliver joined #lisp 2020-12-29T09:19:03Z liberliver1 joined #lisp 2020-12-29T09:20:16Z liberliver quit (Ping timeout: 240 seconds) 2020-12-29T09:20:16Z liberliver1 is now known as liberliver 2020-12-29T09:36:00Z heisig joined #lisp 2020-12-29T09:42:04Z podge joined #lisp 2020-12-29T09:53:36Z amb007 quit (Read error: Connection reset by peer) 2020-12-29T09:53:51Z flazh joined #lisp 2020-12-29T09:54:14Z amb007 joined #lisp 2020-12-29T09:55:47Z l1x quit (Quit: Connection closed for inactivity) 2020-12-29T09:56:09Z rgherdt joined #lisp 2020-12-29T09:57:49Z gaqwas quit (Remote host closed the connection) 2020-12-29T10:00:46Z amb007 quit (Ping timeout: 256 seconds) 2020-12-29T10:01:20Z amb007 joined #lisp 2020-12-29T10:08:07Z wxie quit (Ping timeout: 246 seconds) 2020-12-29T10:08:18Z attila_lendvai joined #lisp 2020-12-29T10:09:13Z imode quit (Quit: WeeChat 2.9) 2020-12-29T10:11:25Z iskander quit (Ping timeout: 240 seconds) 2020-12-29T10:11:27Z iskander- joined #lisp 2020-12-29T10:13:18Z attila_lendvai quit (Ping timeout: 256 seconds) 2020-12-29T10:14:55Z jrm: phoe: I only see the one definition in alexandria/alexandria-1/macros.lisp. 2020-12-29T10:15:11Z rjcks joined #lisp 2020-12-29T10:15:32Z phoe: jrm: something in stumpwm, or one of its dependencies, likely defines its own, then. 2020-12-29T10:15:47Z phoe: the backtrace for the error that you are getting should list the file in question. 2020-12-29T10:20:21Z iskander- quit (Read error: Connection reset by peer) 2020-12-29T10:20:38Z ebrasca joined #lisp 2020-12-29T10:20:40Z iskander joined #lisp 2020-12-29T10:38:07Z jrm: phoe: Thank you! Mystery solved. Stupid user error. I had this in my config. https://github.com/Jehops/config/blob/e89f7d56c5b757d2231eccab563238825e228b88/stumpwm/.stumpwmrc#L138-L142 2020-12-29T10:38:07Z amb007 quit (Read error: Connection reset by peer) 2020-12-29T10:38:19Z phoe: :D 2020-12-29T10:38:27Z amb007 joined #lisp 2020-12-29T10:38:28Z jrm: For some reason, stumpwm only reported the error with the new alexandria? 2020-12-29T10:38:44Z phoe: maybe the new alexandria introduced a package lock on itself 2020-12-29T10:38:49Z jrm: ah 2020-12-29T10:38:53Z phoe: which sounds sane 2020-12-29T10:39:26Z cosimone joined #lisp 2020-12-29T10:43:14Z orivej joined #lisp 2020-12-29T10:43:44Z gutter joined #lisp 2020-12-29T10:46:33Z dhil joined #lisp 2020-12-29T10:58:52Z orivej quit (Ping timeout: 246 seconds) 2020-12-29T10:59:25Z orivej joined #lisp 2020-12-29T11:07:30Z random-nick joined #lisp 2020-12-29T11:08:12Z vegansbane6 quit (Quit: The Lounge - https://thelounge.chat) 2020-12-29T11:12:45Z amb007 quit (Ping timeout: 240 seconds) 2020-12-29T11:13:06Z amb007 joined #lisp 2020-12-29T11:14:40Z Stanley00 quit 2020-12-29T11:19:43Z l1x joined #lisp 2020-12-29T11:21:29Z phoe6_ joined #lisp 2020-12-29T11:35:40Z Inline joined #lisp 2020-12-29T11:36:54Z frost-lab quit (Quit: Connection closed) 2020-12-29T11:37:53Z asarch joined #lisp 2020-12-29T11:42:16Z vegansbane6 joined #lisp 2020-12-29T11:54:56Z saganman quit (Ping timeout: 240 seconds) 2020-12-29T11:55:41Z Inline quit (Read error: Connection reset by peer) 2020-12-29T12:01:43Z amb007 quit (Read error: Connection reset by peer) 2020-12-29T12:02:02Z amb007 joined #lisp 2020-12-29T12:03:59Z surabax joined #lisp 2020-12-29T12:04:02Z gzj joined #lisp 2020-12-29T12:04:08Z GZJ0X_ joined #lisp 2020-12-29T12:04:28Z Bike joined #lisp 2020-12-29T12:07:17Z GZJ0X_ quit (Client Quit) 2020-12-29T12:25:57Z ggole joined #lisp 2020-12-29T12:26:00Z kaftejiman joined #lisp 2020-12-29T12:30:56Z amb007 quit (Read error: Connection reset by peer) 2020-12-29T12:32:52Z amb007 joined #lisp 2020-12-29T12:35:26Z rjcks_ joined #lisp 2020-12-29T12:38:25Z rjcks quit (Ping timeout: 240 seconds) 2020-12-29T12:39:21Z cosimone quit (Quit: cosimone) 2020-12-29T12:43:05Z gzj quit (Remote host closed the connection) 2020-12-29T12:43:26Z gzj joined #lisp 2020-12-29T12:46:19Z amb007 quit (Read error: Connection reset by peer) 2020-12-29T12:47:40Z amb007 joined #lisp 2020-12-29T13:03:49Z amb007 quit (Read error: Connection reset by peer) 2020-12-29T13:04:38Z amb007 joined #lisp 2020-12-29T13:18:01Z gzj quit (Remote host closed the connection) 2020-12-29T13:18:20Z gzj joined #lisp 2020-12-29T13:18:23Z gko_ joined #lisp 2020-12-29T13:24:03Z cosimone joined #lisp 2020-12-29T13:32:42Z nij joined #lisp 2020-12-29T13:39:05Z C-16 joined #lisp 2020-12-29T13:39:30Z C-16 quit (Client Quit) 2020-12-29T13:40:11Z dbotton joined #lisp 2020-12-29T13:44:48Z dbotton quit (Client Quit) 2020-12-29T13:52:37Z wsinatra joined #lisp 2020-12-29T13:52:49Z wsinatra quit (Client Quit) 2020-12-29T13:53:09Z wsinatra joined #lisp 2020-12-29T13:53:24Z wsinatra quit (Client Quit) 2020-12-29T13:53:46Z wsinatra joined #lisp 2020-12-29T13:57:33Z wsinatra quit (Remote host closed the connection) 2020-12-29T13:57:49Z wsinatra joined #lisp 2020-12-29T13:59:27Z wsinatra quit (Client Quit) 2020-12-29T13:59:47Z wsinatra joined #lisp 2020-12-29T14:00:29Z wsinatra quit (Client Quit) 2020-12-29T14:00:47Z wsinatra joined #lisp 2020-12-29T14:06:34Z aeth quit (Ping timeout: 272 seconds) 2020-12-29T14:07:47Z saganman joined #lisp 2020-12-29T14:08:06Z aeth joined #lisp 2020-12-29T14:09:07Z gzj quit (Remote host closed the connection) 2020-12-29T14:09:28Z gzj joined #lisp 2020-12-29T14:12:11Z nij quit (Remote host closed the connection) 2020-12-29T14:12:27Z nij joined #lisp 2020-12-29T14:12:39Z pfdietz joined #lisp 2020-12-29T14:14:09Z gzj quit (Remote host closed the connection) 2020-12-29T14:14:30Z gzj joined #lisp 2020-12-29T14:15:13Z gzj quit (Remote host closed the connection) 2020-12-29T14:15:35Z gzj joined #lisp 2020-12-29T14:16:05Z liberliver quit (Ping timeout: 240 seconds) 2020-12-29T14:17:22Z wsinatra quit (Ping timeout: 260 seconds) 2020-12-29T14:17:47Z waleee-cl joined #lisp 2020-12-29T14:18:07Z gzj quit (Remote host closed the connection) 2020-12-29T14:18:28Z gzj joined #lisp 2020-12-29T14:19:10Z wsinatra joined #lisp 2020-12-29T14:19:10Z gzj quit (Read error: Connection reset by peer) 2020-12-29T14:19:32Z gzj joined #lisp 2020-12-29T14:26:16Z liberliver joined #lisp 2020-12-29T14:26:56Z nij quit (Remote host closed the connection) 2020-12-29T14:27:12Z nij joined #lisp 2020-12-29T14:30:58Z gzj quit (Ping timeout: 246 seconds) 2020-12-29T14:36:13Z lowryder quit (Ping timeout: 246 seconds) 2020-12-29T14:36:49Z jibanes quit (Ping timeout: 264 seconds) 2020-12-29T14:37:13Z scymtym_ quit (Remote host closed the connection) 2020-12-29T14:37:46Z scymtym joined #lisp 2020-12-29T14:38:00Z nicktick joined #lisp 2020-12-29T14:38:20Z jibanes joined #lisp 2020-12-29T14:38:22Z lowryder joined #lisp 2020-12-29T14:42:10Z hendursa1 quit (Quit: hendursa1) 2020-12-29T14:42:30Z hendursaga joined #lisp 2020-12-29T14:44:09Z shka_: hi 2020-12-29T14:44:19Z beach: Hello shka_. 2020-12-29T14:44:47Z shka_: does sbcl hash-table created with 'equalp will handle other hashtables as keys? 2020-12-29T14:44:54Z shka_: in sublinear fashion 2020-12-29T14:46:01Z lonjil: I imagine that it would handle other hashtables as 'eq keys no matter what, since they are objects with identity. 2020-12-29T14:47:24Z phoe: ^ 2020-12-29T14:47:27Z shka_: yeah, but i need equalp 2020-12-29T14:47:35Z phoe: oh wait, equalp descends 2020-12-29T14:47:42Z shka_: well, yes? 2020-12-29T14:47:47Z jackdaniel: see equalp spec 2020-12-29T14:47:52Z jackdaniel: it has well specified behavior for hash-tables 2020-12-29T14:47:56Z phoe: no idea if that is going to be sublinear though 2020-12-29T14:47:59Z shka_: ok 2020-12-29T14:48:44Z shka_: yeah, i know that it should work, i just wonder about the performance 2020-12-29T14:49:16Z shka_: eh, actually i can use ordered list 2020-12-29T14:49:28Z shka_: it will work nicely with 'equal 2020-12-29T14:50:17Z shka_ will figure out equalp case some other time 2020-12-29T14:53:18Z skapata joined #lisp 2020-12-29T14:55:14Z gaqwas joined #lisp 2020-12-29T14:55:14Z gaqwas quit (Changing host) 2020-12-29T14:55:14Z gaqwas joined #lisp 2020-12-29T14:57:37Z v88m quit (Ping timeout: 260 seconds) 2020-12-29T15:01:39Z eden joined #lisp 2020-12-29T15:01:55Z lonjil: Wow, I had no idea about equalp descending hash tables. 2020-12-29T15:04:39Z pfdietz: Want an abstraction combining equality, canonicalization, and hashing, with all the appropriate axioms relating those. These should come packaged together. 2020-12-29T15:04:44Z shka_: it does, i just need to know if sbcl hash-table 'equalp and other hash-tables as keys is smart enough to calculate hash in a sensible way 2020-12-29T15:05:23Z shka_: but whatever, i can do this differently 2020-12-29T15:05:26Z phoe: you still need to traverse the whole hashtable to compute the hash 2020-12-29T15:05:29Z nij: Sometimes you just have to deal with other languages. How difficult and practical is it to write a lisp version of that language? 2020-12-29T15:05:39Z phoe: nij: what do you mean, lisp version of what language 2020-12-29T15:05:39Z nij: The specific example in my mind is Hy, which claims to blend python and lisp. The problem is that the language I'm using (SageMath) is close to but not the same as python. In fact, sagemath's codes got pre-processed into python code. If I'm not mistaken, this is enough to keep Hy away from being effective with sagemath. I'm thinking of doing similar things to sagemath, but am not sure how long it's going to take me. 2020-12-29T15:05:59Z shka_: phoe: yes, but ideal you need to do this ONCE 2020-12-29T15:05:59Z phoe: oh, you want to write a lisp dialect in a language of your choosing? 2020-12-29T15:06:13Z shka_: or rather: twice 2020-12-29T15:06:20Z phoe: shka_: yes... for each GETHASH and for each SETF GETHASH 2020-12-29T15:06:22Z shka_: and not n times 2020-12-29T15:06:44Z nij: phoe: Yeah. So effectively i want to work with that language, but in lisp syntax. 2020-12-29T15:06:54Z shka_: phoe: well, you also need to check for collisions if the occur 2020-12-29T15:07:08Z nij: I imagine this won't be hard. But it will take some time.. 2020-12-29T15:07:15Z shka_: but still better then linear scan of the whole range 2020-12-29T15:08:45Z judson_ joined #lisp 2020-12-29T15:09:21Z phoe: nij: that's more of a ##lisp topic, but, implement a Lisp interpreter in any language using e.g. MAL (Make-A-Lisp) - that should give you an idea of how to do a similar thing in any programming language 2020-12-29T15:11:52Z nij: OH! I wasn't aware of ##lisp. Sorry.. I will migrate my question there. 2020-12-29T15:18:06Z gabot quit (Ping timeout: 256 seconds) 2020-12-29T15:21:30Z notzmv quit (Read error: No route to host) 2020-12-29T15:23:04Z notzmv joined #lisp 2020-12-29T15:25:25Z toorevitimirp joined #lisp 2020-12-29T15:27:22Z charles` quit (Ping timeout: 260 seconds) 2020-12-29T15:27:48Z hendursa1 joined #lisp 2020-12-29T15:28:03Z hendursaga quit (Remote host closed the connection) 2020-12-29T15:35:56Z toorevitimirp quit (Ping timeout: 240 seconds) 2020-12-29T15:36:52Z sjl_ joined #lisp 2020-12-29T15:38:55Z judson_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-29T15:42:48Z judson_ joined #lisp 2020-12-29T15:46:05Z judson_ quit (Client Quit) 2020-12-29T15:47:14Z jonatack quit (Quit: jonatack) 2020-12-29T15:47:23Z gxt quit (Ping timeout: 240 seconds) 2020-12-29T15:47:30Z nij quit (Quit: ERC (IRC client for Emacs 27.1)) 2020-12-29T15:49:38Z gxt joined #lisp 2020-12-29T15:51:38Z contrapunctus left #lisp 2020-12-29T15:54:27Z contrapunctus joined #lisp 2020-12-29T15:57:46Z jonatack joined #lisp 2020-12-29T15:59:00Z orivej quit (Ping timeout: 265 seconds) 2020-12-29T15:59:05Z gutter quit (Remote host closed the connection) 2020-12-29T15:59:05Z orivej_ joined #lisp 2020-12-29T15:59:50Z gutter joined #lisp 2020-12-29T16:01:12Z luni joined #lisp 2020-12-29T16:03:17Z gutter quit (Remote host closed the connection) 2020-12-29T16:03:26Z jonatack quit (Ping timeout: 256 seconds) 2020-12-29T16:05:26Z gutter joined #lisp 2020-12-29T16:06:04Z gutter quit (Remote host closed the connection) 2020-12-29T16:10:02Z jonatack joined #lisp 2020-12-29T16:16:45Z varjag joined #lisp 2020-12-29T16:16:53Z jonatack quit (Ping timeout: 265 seconds) 2020-12-29T16:17:09Z hendursa1 quit (Quit: hendursa1) 2020-12-29T16:17:21Z jonatack joined #lisp 2020-12-29T16:17:32Z hendursaga joined #lisp 2020-12-29T16:27:49Z gko_ quit (Ping timeout: 264 seconds) 2020-12-29T16:27:58Z madage quit (Remote host closed the connection) 2020-12-29T16:28:25Z madage joined #lisp 2020-12-29T16:28:41Z contrapunctus left #lisp 2020-12-29T16:29:08Z contrapunctus joined #lisp 2020-12-29T16:34:12Z Steeve joined #lisp 2020-12-29T16:37:50Z andreyorst joined #lisp 2020-12-29T16:38:01Z tessier quit (Ping timeout: 246 seconds) 2020-12-29T16:42:18Z drl joined #lisp 2020-12-29T16:51:03Z taof joined #lisp 2020-12-29T16:51:34Z taof left #lisp 2020-12-29T16:52:43Z orivej_ quit (Ping timeout: 246 seconds) 2020-12-29T16:52:46Z judson_ joined #lisp 2020-12-29T16:55:32Z judson_ quit (Client Quit) 2020-12-29T16:56:17Z judson_ joined #lisp 2020-12-29T16:59:26Z monkey_ joined #lisp 2020-12-29T17:00:08Z judson_ quit (Client Quit) 2020-12-29T17:07:32Z jibanes quit (Ping timeout: 256 seconds) 2020-12-29T17:13:56Z kapil_ quit (Ping timeout: 256 seconds) 2020-12-29T17:14:21Z gutter joined #lisp 2020-12-29T17:14:36Z wsinatra quit (Ping timeout: 240 seconds) 2020-12-29T17:15:08Z jibanes joined #lisp 2020-12-29T17:16:54Z wsinatra joined #lisp 2020-12-29T17:21:05Z v88m joined #lisp 2020-12-29T17:23:10Z orivej joined #lisp 2020-12-29T17:26:53Z edgar-rft quit (Quit: Leaving) 2020-12-29T17:27:11Z gzj joined #lisp 2020-12-29T17:27:28Z Jeanne-Kamikaze joined #lisp 2020-12-29T17:28:31Z edgar-rft joined #lisp 2020-12-29T17:29:05Z kapil_ joined #lisp 2020-12-29T17:31:05Z jibanes quit (Ping timeout: 240 seconds) 2020-12-29T17:31:45Z liberliver quit (Ping timeout: 240 seconds) 2020-12-29T17:32:26Z gzj quit (Ping timeout: 268 seconds) 2020-12-29T17:33:03Z jibanes joined #lisp 2020-12-29T17:34:55Z edgar-rft quit (Quit: Leaving) 2020-12-29T17:41:05Z rumbler31 quit (Remote host closed the connection) 2020-12-29T17:41:26Z rumbler31 joined #lisp 2020-12-29T17:43:05Z wsinatra quit (Ping timeout: 240 seconds) 2020-12-29T17:44:16Z kapil_ quit (Ping timeout: 240 seconds) 2020-12-29T17:44:20Z podge quit (Remote host closed the connection) 2020-12-29T17:44:36Z jibanes quit (Ping timeout: 240 seconds) 2020-12-29T17:45:19Z wsinatra joined #lisp 2020-12-29T17:46:57Z jibanes joined #lisp 2020-12-29T17:47:56Z heisig quit (Remote host closed the connection) 2020-12-29T17:48:03Z _heisig joined #lisp 2020-12-29T17:49:08Z narimiran quit (Quit: leaving) 2020-12-29T17:51:27Z kapil_ joined #lisp 2020-12-29T17:53:29Z judson_ joined #lisp 2020-12-29T17:54:18Z kapil_ quit (Read error: Connection reset by peer) 2020-12-29T17:54:31Z kapil_ joined #lisp 2020-12-29T17:59:23Z EvW2 joined #lisp 2020-12-29T18:00:12Z EvW2 quit (Client Quit) 2020-12-29T18:06:26Z Oladon joined #lisp 2020-12-29T18:09:36Z rumbler31_ joined #lisp 2020-12-29T18:11:30Z wsinatra quit (Ping timeout: 256 seconds) 2020-12-29T18:13:39Z wsinatra joined #lisp 2020-12-29T18:14:36Z Core7917 quit (Ping timeout: 240 seconds) 2020-12-29T18:15:02Z devon quit (Ping timeout: 264 seconds) 2020-12-29T18:18:20Z eden quit (Remote host closed the connection) 2020-12-29T18:19:04Z karlosz quit (Remote host closed the connection) 2020-12-29T18:19:25Z wsinatra quit (Ping timeout: 264 seconds) 2020-12-29T18:19:50Z galex-713 quit (Ping timeout: 264 seconds) 2020-12-29T18:19:52Z judson_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-29T18:20:49Z judson_ joined #lisp 2020-12-29T18:20:58Z wsinatra joined #lisp 2020-12-29T18:21:49Z luni quit (Quit: Connection closed) 2020-12-29T18:23:10Z judson_ quit (Client Quit) 2020-12-29T18:24:14Z Jeanne-Kamikaze quit (Ping timeout: 268 seconds) 2020-12-29T18:26:15Z jonatack quit (Quit: jonatack) 2020-12-29T18:28:20Z judson_ joined #lisp 2020-12-29T18:28:56Z galex-713 joined #lisp 2020-12-29T18:32:56Z nij joined #lisp 2020-12-29T18:37:13Z jibanes quit (Ping timeout: 260 seconds) 2020-12-29T18:38:39Z jibanes joined #lisp 2020-12-29T18:42:51Z dhil quit (Quit: Leaving) 2020-12-29T18:44:47Z iekfkk joined #lisp 2020-12-29T18:46:17Z bars0 joined #lisp 2020-12-29T18:47:22Z Lord_of_Life_ joined #lisp 2020-12-29T18:47:31Z bisickcor quit (Ping timeout: 246 seconds) 2020-12-29T18:48:56Z Lord_of_Life quit (Ping timeout: 240 seconds) 2020-12-29T18:48:57Z Lord_of_Life_ is now known as Lord_of_Life 2020-12-29T18:49:04Z jonatack joined #lisp 2020-12-29T18:52:18Z luni joined #lisp 2020-12-29T18:54:09Z wsinatra quit (Quit: WeeChat 3.0) 2020-12-29T18:54:43Z jonatack quit (Ping timeout: 260 seconds) 2020-12-29T18:55:09Z jonatack joined #lisp 2020-12-29T18:56:26Z attila_lendvai joined #lisp 2020-12-29T18:57:25Z jibanes quit (Ping timeout: 240 seconds) 2020-12-29T18:58:41Z liberliver joined #lisp 2020-12-29T18:59:41Z jibanes joined #lisp 2020-12-29T19:06:23Z attila_lendvai quit (Ping timeout: 260 seconds) 2020-12-29T19:07:40Z jibanes quit (Ping timeout: 256 seconds) 2020-12-29T19:08:35Z Oladon quit (Quit: Leaving.) 2020-12-29T19:09:29Z jibanes joined #lisp 2020-12-29T19:10:27Z monkey_ quit (Ping timeout: 260 seconds) 2020-12-29T19:12:32Z _heisig is now known as heisig 2020-12-29T19:13:08Z wsinatra joined #lisp 2020-12-29T19:13:14Z judson_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-29T19:14:43Z judson_ joined #lisp 2020-12-29T19:16:56Z jibanes quit (Ping timeout: 240 seconds) 2020-12-29T19:17:25Z scymtym_ joined #lisp 2020-12-29T19:17:52Z Jeanne-Kamikaze joined #lisp 2020-12-29T19:18:49Z scymtym quit (Ping timeout: 264 seconds) 2020-12-29T19:19:13Z jibanes joined #lisp 2020-12-29T19:23:40Z GuerrillaMonkey joined #lisp 2020-12-29T19:23:57Z judson_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-29T19:24:06Z sauvin joined #lisp 2020-12-29T19:24:36Z rumbler31_ quit (Ping timeout: 240 seconds) 2020-12-29T19:26:32Z Jeanne-Kamikaze quit (Ping timeout: 260 seconds) 2020-12-29T19:26:47Z matryoshka quit (Ping timeout: 260 seconds) 2020-12-29T19:27:00Z jackdaniel: we are testing for the next ECL release: https://gitlab.com/embeddable-common-lisp/ecl/-/issues/621 -- please chip in if you have resources to do so :) 2020-12-29T19:27:49Z nij left #lisp 2020-12-29T19:29:00Z bitmapper quit (Quit: Connection closed for inactivity) 2020-12-29T19:30:39Z _death: I think imcl got a compile error with recent ecl.. didn't look into it 2020-12-29T19:32:26Z judson_ joined #lisp 2020-12-29T19:32:38Z liberliver quit (Ping timeout: 260 seconds) 2020-12-29T19:33:52Z _death: or actually it was a runtime error on startup 2020-12-29T19:34:05Z rumbler31_ joined #lisp 2020-12-29T19:34:46Z judson_ quit (Client Quit) 2020-12-29T19:37:03Z birdwing quit (Ping timeout: 272 seconds) 2020-12-29T19:40:43Z fiddlerwoaroof: jackdaniel: is darwin/arm64 supported? 2020-12-29T19:41:56Z akoana joined #lisp 2020-12-29T19:42:03Z KREYREEN quit (Remote host closed the connection) 2020-12-29T19:42:08Z judson_ joined #lisp 2020-12-29T19:42:15Z pfdietz: I sent in a bug report on the previous release yesterday. Issues at the gitlab page... right place to report? 2020-12-29T19:42:38Z gabot joined #lisp 2020-12-29T19:42:48Z KREYREEN joined #lisp 2020-12-29T19:42:49Z miasuji joined #lisp 2020-12-29T19:44:03Z madage quit (Ping timeout: 240 seconds) 2020-12-29T19:44:03Z cantstanya quit (Ping timeout: 240 seconds) 2020-12-29T19:44:03Z Aurora_v_kosmose quit (Ping timeout: 240 seconds) 2020-12-29T19:44:23Z hendursaga quit (Ping timeout: 240 seconds) 2020-12-29T19:44:23Z gxt quit (Ping timeout: 240 seconds) 2020-12-29T19:45:32Z judson_ quit (Client Quit) 2020-12-29T19:46:03Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-29T19:46:51Z jackdaniel: pfdietz: yes, thank you 2020-12-29T19:46:55Z cantstanya joined #lisp 2020-12-29T19:46:56Z jackdaniel: I saw it 2020-12-29T19:47:14Z gxt joined #lisp 2020-12-29T19:47:14Z jackdaniel: (and confirmed) 2020-12-29T19:47:41Z hendursaga joined #lisp 2020-12-29T19:48:39Z jackdaniel: fiddlerwoaroof: probably it is a matter of adding toolchain parts to the config -- as of now it does not build there 2020-12-29T19:49:07Z jibanes quit (Ping timeout: 246 seconds) 2020-12-29T19:49:30Z jackdaniel: you know, triplet arch platform abi 2020-12-29T19:51:18Z jibanes joined #lisp 2020-12-29T19:55:50Z amb007 quit (Read error: Connection reset by peer) 2020-12-29T19:56:15Z bitmapper joined #lisp 2020-12-29T19:56:20Z amb007 joined #lisp 2020-12-29T19:57:03Z GuerrillaMonkey quit (Quit: Leaving) 2020-12-29T19:57:34Z slyrus_: so today's the day I try to dig through the various data-frame-ish libraries in common lisp and see what's what. I've got vellum, teddy, and polyclot on my list. Any others I should be considering? 2020-12-29T19:57:58Z gioyik joined #lisp 2020-12-29T19:58:03Z madage joined #lisp 2020-12-29T19:59:15Z Aurora_v_kosmose joined #lisp 2020-12-29T19:59:46Z matryoshka joined #lisp 2020-12-29T20:00:39Z amb007 quit (Read error: Connection reset by peer) 2020-12-29T20:00:49Z luni quit (Quit: Connection closed) 2020-12-29T20:01:07Z _death: there was also rho 2020-12-29T20:01:12Z rogersm quit (Quit: Leaving...) 2020-12-29T20:01:17Z amb007 joined #lisp 2020-12-29T20:02:00Z nicktick quit (Ping timeout: 256 seconds) 2020-12-29T20:02:03Z amb007 quit (Read error: Connection reset by peer) 2020-12-29T20:02:27Z amb007 joined #lisp 2020-12-29T20:02:38Z luckless_ joined #lisp 2020-12-29T20:03:07Z judson_ joined #lisp 2020-12-29T20:04:38Z judson_ quit (Client Quit) 2020-12-29T20:05:25Z slyrus_: rho gets points off for having neither documentation nor tests that can be easily grokked to infer the API. 2020-12-29T20:06:34Z nicktick joined #lisp 2020-12-29T20:06:34Z amb007 quit (Read error: Connection reset by peer) 2020-12-29T20:07:10Z amb007 joined #lisp 2020-12-29T20:07:27Z _death: didn't try it, but looks like it has unittests.lisp and example.lisp.. and there are some docstrings and comments.. 2020-12-29T20:08:14Z slyrus_: I see neither of those files. 2020-12-29T20:08:43Z _death: https://github.com/blindglobe/rho 2020-12-29T20:08:59Z slyrus_: Oh, I see. I was looking at: https://gitlab.common-lisp.net/mantoniotti/rho 2020-12-29T20:09:20Z judson_ joined #lisp 2020-12-29T20:09:57Z _death: well, it looks like divergent repos 2020-12-29T20:10:07Z shka_: slyrus_: well, as you may noticed i decided to roll my own ;-) 2020-12-29T20:11:34Z shka_: i appreciate your attention, be warned though, vellum probably still has plenty of bugs in dire need of fixing 2020-12-29T20:11:46Z shka_: i just don't encounter them anymore 2020-12-29T20:12:35Z shka_: but no wonder, i simply follow my own footsteps nowadays over and over again 2020-12-29T20:13:47Z amb007 quit (Read error: Connection reset by peer) 2020-12-29T20:15:08Z amb007 joined #lisp 2020-12-29T20:15:10Z amb007 quit (Read error: Connection reset by peer) 2020-12-29T20:15:47Z charles` joined #lisp 2020-12-29T20:17:19Z amb007 joined #lisp 2020-12-29T20:21:31Z scymtym_ is now known as scymtym 2020-12-29T20:22:38Z nicktick quit (Ping timeout: 256 seconds) 2020-12-29T20:23:46Z amb007 quit (Read error: Connection reset by peer) 2020-12-29T20:24:07Z amb007 joined #lisp 2020-12-29T20:26:19Z amb007 quit (Read error: Connection reset by peer) 2020-12-29T20:27:28Z amb007 joined #lisp 2020-12-29T20:27:30Z miasuji quit (Remote host closed the connection) 2020-12-29T20:27:57Z nicktick joined #lisp 2020-12-29T20:29:01Z wsinatra quit (Ping timeout: 264 seconds) 2020-12-29T20:29:01Z amb007 quit (Read error: Connection reset by peer) 2020-12-29T20:29:11Z gabot quit (Ping timeout: 265 seconds) 2020-12-29T20:29:23Z amb007 joined #lisp 2020-12-29T20:29:38Z amb007 quit (Read error: Connection reset by peer) 2020-12-29T20:30:23Z amb007 joined #lisp 2020-12-29T20:31:43Z wsinatra joined #lisp 2020-12-29T20:33:33Z gabot joined #lisp 2020-12-29T20:37:16Z amb007 quit (Read error: Connection reset by peer) 2020-12-29T20:37:37Z hnOsmium0001 joined #lisp 2020-12-29T20:37:44Z amb007 joined #lisp 2020-12-29T20:38:30Z phantomics: Hi slyrus_, is this your library? https://github.com/slyrus/opticl 2020-12-29T20:38:52Z hiroaki_ quit (Ping timeout: 260 seconds) 2020-12-29T20:39:49Z amb007 quit (Read error: Connection reset by peer) 2020-12-29T20:39:55Z devon joined #lisp 2020-12-29T20:40:36Z slyrus_: phantomics: yes 2020-12-29T20:40:42Z amb007 joined #lisp 2020-12-29T20:40:45Z jibanes quit (Ping timeout: 240 seconds) 2020-12-29T20:40:49Z miasuji joined #lisp 2020-12-29T20:41:14Z phantomics: It's been quite useful, thanks for writing it 2020-12-29T20:41:14Z amb007 quit (Read error: Connection reset by peer) 2020-12-29T20:41:22Z amb007 joined #lisp 2020-12-29T20:41:23Z slyrus_: you're welcome! glad you like it. 2020-12-29T20:41:28Z slyrus_: what are you doing with it? 2020-12-29T20:41:35Z jw4 quit (Read error: Connection reset by peer) 2020-12-29T20:41:47Z phantomics: Pixel art, in combination with my April APL compiler, don't know if you've seen it 2020-12-29T20:41:58Z slyrus_: no, do you have a link? 2020-12-29T20:42:10Z phantomics: https://github.com/phantomics/april 2020-12-29T20:42:31Z amb007 quit (Read error: Connection reset by peer) 2020-12-29T20:42:37Z phantomics: I've been using it for a hardware startup 2020-12-29T20:42:42Z jibanes joined #lisp 2020-12-29T20:43:13Z slyrus_: cool! 2020-12-29T20:43:20Z phantomics: If you want to see more details, I discuss the compiler in this video: https://www.youtube.com/watch?v=AUEIgfj9koc 2020-12-29T20:43:22Z pfdietz: What I remember about APL was that IBM had a special ball for the Selectric typewriter/terminal for it. 2020-12-29T20:43:35Z jw4 joined #lisp 2020-12-29T20:43:35Z phantomics: And the Bloxl device is shown starting around the 1:25:00 mark 2020-12-29T20:44:07Z slyrus_: Uh oh. That's a long video! Going to have to set aside some time to watch it! 2020-12-29T20:44:13Z phantomics: Yeah, paradoxically back in the teletype days it was easier to use an alternate character set than later 2020-12-29T20:44:13Z amb007 joined #lisp 2020-12-29T20:44:45Z phantomics: Yeah, if you just want to see the device jump to 1:25:00 and watch for a few minutes 2020-12-29T20:44:56Z phantomics: It's a giant transparent pixel display 2020-12-29T20:46:16Z amb007 quit (Read error: Connection reset by peer) 2020-12-29T20:46:31Z ggole quit (Quit: Leaving) 2020-12-29T20:46:49Z phantomics: The APL developers released another language called J in the 90s because before Unicode, it was a huge pain to use the APL character set 2020-12-29T20:46:57Z amb007 joined #lisp 2020-12-29T20:48:22Z luni joined #lisp 2020-12-29T20:51:25Z hiroaki_ joined #lisp 2020-12-29T20:54:33Z jibanes quit (Ping timeout: 258 seconds) 2020-12-29T20:56:29Z jibanes joined #lisp 2020-12-29T20:58:39Z slyrus_: shka_: I'm can make a table with columns but always seem to end up with 0 rows. 2020-12-29T20:59:40Z shka_: slyrus_: yup, that's how it is supposed to work, actually 2020-12-29T21:00:04Z shka_: make-table will always return table with 0 rows 2020-12-29T21:00:07Z andreyorst quit (Ping timeout: 265 seconds) 2020-12-29T21:00:24Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-12-29T21:00:36Z nicktick quit (Ping timeout: 265 seconds) 2020-12-29T21:00:44Z shka_: slyrus_: however, you can insert data into table without resizing 2020-12-29T21:00:59Z slyrus_: yeah, but I'm trying to use transform and body to add rows a la the example but failing 2020-12-29T21:01:02Z Aurora_v_kosmose joined #lisp 2020-12-29T21:01:16Z shka_: right 2020-12-29T21:01:24Z shka_: did you pass :end to the transform? 2020-12-29T21:01:33Z slyrus_: :end nil 2020-12-29T21:01:41Z phantomics: slyrus_: Also, I recall I made a PR to opticl to add the ability to save PNGs with grayscale + transparency, is it possible you could merge it? https://github.com/slyrus/opticl/pull/33 2020-12-29T21:01:41Z shka_: oh 2020-12-29T21:01:46Z shka_: it should work 2020-12-29T21:02:01Z shka_: care to share code snipped? 2020-12-29T21:02:06Z shka_: *snippet? 2020-12-29T21:02:06Z rjcks_ is now known as rjcks 2020-12-29T21:04:52Z slyrus_: Ah, I got it. I can't shadow my (vellum:body (...) ...) vars with a destructuring-bind, so I have to use another variable name. 2020-12-29T21:05:04Z shka_: right 2020-12-29T21:05:26Z shka_: i probably should put this into readme 2020-12-29T21:06:03Z shka_: it would never occur to me to do something like this, that's why this library is probably ridden with bugs 2020-12-29T21:06:14Z bisickcor joined #lisp 2020-12-29T21:06:23Z shka_: :( 2020-12-29T21:07:02Z slyrus_: there's probably a better way to do this: https://gist.github.com/slyrus/0d3585ffb35b714504a6e0434eb47741 2020-12-29T21:07:09Z miasuji quit (Remote host closed the connection) 2020-12-29T21:07:31Z miasuji joined #lisp 2020-12-29T21:07:48Z shka_: slyrus_: this is actually almost exactly what i would do 2020-12-29T21:08:11Z shka_: well, there is a couple of things that could be changed 2020-12-29T21:08:50Z shka_: first of, symbols established within lambda-list-like part of the body macro are actually special 2020-12-29T21:08:55Z miasuji quit (Remote host closed the connection) 2020-12-29T21:09:07Z shka_: which means that you can delegate all of the work into a separate function 2020-12-29T21:09:18Z shka_: *special variables, that is 2020-12-29T21:10:22Z iekfkk quit (Ping timeout: 260 seconds) 2020-12-29T21:11:09Z yitzi quit (Quit: yitzi) 2020-12-29T21:11:13Z shka_: secondly, you actually can use function (setf vellum:rr) and pass column index to omit body all together 2020-12-29T21:11:23Z shka_: which is handy for more general purpose code 2020-12-29T21:11:58Z shka_: thirdly, that if can be when, finish-transformation performs non-local exit 2020-12-29T21:13:25Z shka_: finally, if you intend to work with this file format a lot, defining method (vellum:copy-from :indometh ...) is not a bad idea 2020-12-29T21:13:56Z slyrus_: I've updated my body to not need the extra variables 2020-12-29T21:14:01Z slyrus_: https://gist.github.com/slyrus/0d3585ffb35b714504a6e0434eb47741 2020-12-29T21:14:34Z shka_: yeah, that should work as well 2020-12-29T21:14:44Z slyrus_: No, this is just a toy file. I want to be able to parse lots of different kinds of files quickly. 2020-12-29T21:14:55Z shka_: ok, got it 2020-12-29T21:15:21Z shka_: i would like to support such use case as good as i possibly can 2020-12-29T21:15:34Z slyrus_: The prohibition on using existing symbols (e.g. time) is kind of annoying. 2020-12-29T21:15:59Z slyrus_: And it's not clear to me the benefit of these being special variables is 2020-12-29T21:16:09Z slyrus_: "what the benefit" 2020-12-29T21:17:29Z shka_: well, maybe i can show you example? 2020-12-29T21:18:27Z shka_: eh, it is already late actually... 2020-12-29T21:18:47Z slyrus_: Sure, and I'll show you the body* macro I just wrote that doesn't declare the vars as special and allows me to use existing keywords like "time" :) 2020-12-29T21:19:07Z shka_: slyrus_: anyway, it is admittedly, very narrow use case 2020-12-29T21:19:40Z slyrus_: What's the narrow use case? Needing these to be special or the name collision? 2020-12-29T21:19:50Z shka_: needing specials 2020-12-29T21:19:56Z shka_: name collisions happen 2020-12-29T21:20:06Z shka_: as you noticed 2020-12-29T21:20:07Z slyrus_: Ah, Ok. So that suggests a variant of body that declares them special. 2020-12-29T21:20:15Z slyrus_: and body itself shouldn't :) 2020-12-29T21:20:28Z shka_: hm, that is actually a very good point 2020-12-29T21:20:28Z karlosz joined #lisp 2020-12-29T21:22:12Z shka_: furthermore, there is, actually special variable *current-row* so that becomes even less in favor of keeping them special 2020-12-29T21:22:33Z slyrus_: this may seem like a minor issue, but one of my major annoyances with R is the namespace/environment stuff. 2020-12-29T21:22:35Z shka_: i mean, it is possible to get into data one way or another 2020-12-29T21:22:51Z birdwing joined #lisp 2020-12-29T21:23:40Z shka_: slyrus_: it is late, being more explicit would aid me to understand you ;-) 2020-12-29T21:24:08Z shka_: what aspect of that annoys you to be specific? 2020-12-29T21:24:37Z stzsch|2 joined #lisp 2020-12-29T21:25:13Z shka_: slyrus_: would you mind if i would play fast and loose and eliminate special declarations in body right now? you convinced me 2020-12-29T21:25:31Z slyrus_: sounds great! 2020-12-29T21:25:59Z shka_: i will add separate macro, called BODYV 2020-12-29T21:26:05Z slyrus_: as for what annoys me, the whole NAMESPACE file thing being mixed up with R packages and all that is just a mess compared to defpackage/in-package 2020-12-29T21:26:21Z shka_: because it is a little bit like progv 2020-12-29T21:26:26Z shka_: oh, got ya 2020-12-29T21:27:15Z shka_: nah, R as a programming language is really not that good, it is excels in it's domain though 2020-12-29T21:27:29Z fiddlerwoaroof: I sort of think body* would be nicer 2020-12-29T21:27:40Z stzsch quit (Ping timeout: 264 seconds) 2020-12-29T21:28:18Z selwyn quit (Ping timeout: 264 seconds) 2020-12-29T21:28:19Z rme quit (Read error: Connection reset by peer) 2020-12-29T21:28:24Z slyrus_: I've always that lisp should have a destructuring-setq to match multiple-value-setq, but, alas, I have to use values-list... 2020-12-29T21:28:42Z shka_: slyrus_: it CAN have it 2020-12-29T21:28:46Z fiddlerwoaroof: You can use multiple-value-call 2020-12-29T21:29:01Z rme joined #lisp 2020-12-29T21:29:09Z birdwing quit (Ping timeout: 272 seconds) 2020-12-29T21:29:12Z fiddlerwoaroof: https://github.com/fiddlerwoaroof/fwoar.lisputils/blob/master/multiple-values.lisp 2020-12-29T21:29:17Z mpontillo quit (Ping timeout: 260 seconds) 2020-12-29T21:29:19Z shka_: slyrus_: btw, since i have your attention 2020-12-29T21:29:33Z shka_: i want to cross check one aspect of the body macro with you 2020-12-29T21:29:40Z mpontillo joined #lisp 2020-12-29T21:29:41Z shka_: namely, it's dirty little secret 2020-12-29T21:29:44Z selwyn joined #lisp 2020-12-29T21:30:44Z shka_: it is closure constructed by macroexpansion of BODY is NOT thread safe 2020-12-29T21:30:48Z fiddlerwoaroof: nvm, I misunderstood what you were saying 2020-12-29T21:31:12Z slyrus_: shka_: why not? 2020-12-29T21:32:01Z jibanes quit (Ping timeout: 246 seconds) 2020-12-29T21:32:11Z shka_: long story or short story? 2020-12-29T21:33:01Z slyrus_: long 2020-12-29T21:33:06Z shka_: short story is: questionable optimization techniques 2020-12-29T21:33:23Z VincentVega joined #lisp 2020-12-29T21:33:41Z slyrus_: MORE PESSIMIZATION! 2020-12-29T21:34:03Z shka_: long story is that those vars 2020-12-29T21:34:08Z jibanes joined #lisp 2020-12-29T21:34:19Z shka_: are actually established in let over lambda, not let inside lambda 2020-12-29T21:34:38Z shka_: and yes, i measured, it makes the difference 2020-12-29T21:34:53Z shka_: and at the time i convinced myself that this is not a big deal 2020-12-29T21:35:16Z shka_: though looking at this now 2020-12-29T21:35:25Z shka_: i wonder WTF 2020-12-29T21:35:38Z shka_: because it should make exactly zero difference 2020-12-29T21:35:43Z Aurora_v_kosmose quit (Ping timeout: 240 seconds) 2020-12-29T21:35:57Z slyrus_: I'd argue for thread safety/correctness over performance at this point, but it would be interesting know why it makes a difference 2020-12-29T21:36:38Z shka_: i need to double check this again, because after all this time, i just can't believe in my own conclusions 2020-12-29T21:36:59Z Inline joined #lisp 2020-12-29T21:37:05Z shka_: perhaps i was sleep deprived at the time 2020-12-29T21:37:58Z shka_: slyrus_: anyway, thanks for your input, i really appreciate it 2020-12-29T21:38:39Z slyrus_: thank you for making vellum! It would be great if we could get some critical mass behind it (or one of the other data-frame-ish libraries -- I'm not 100% sold yet :) )! 2020-12-29T21:38:41Z shka_: the state of the library is probably not what you hoped for, it is work in progress, and i want to make it right 2020-12-29T21:38:59Z slyrus_: I'm OK with W.I.P. as long as it's being worked on! 2020-12-29T21:39:41Z shka_: yeah, i still work on it, though i need to split attention between this and statistical-learning 2020-12-29T21:39:49Z shka_: because i need both 2020-12-29T21:40:18Z shka_: anyway, that body macro can wait, i would rather take shower and go to bed now 2020-12-29T21:41:08Z shka_: if anything pops up (which is likely), please contact me 2020-12-29T21:41:18Z slyrus_: ok, thanks! 2020-12-29T21:41:22Z shka_: preferable on the github, i don't check logs on the #lisp 2020-12-29T21:42:21Z shka_: good night all 2020-12-29T21:42:35Z torbo joined #lisp 2020-12-29T21:42:42Z slyrus_: good night! thanks again. Looking forward to continuing the discussion! 2020-12-29T21:43:55Z luni quit (Quit: Connection closed) 2020-12-29T21:44:32Z beach` joined #lisp 2020-12-29T21:45:42Z saturn2 quit (Ping timeout: 256 seconds) 2020-12-29T21:47:04Z Aurora_v_kosmose joined #lisp 2020-12-29T21:48:47Z beach quit (Ping timeout: 272 seconds) 2020-12-29T21:51:12Z jibanes quit (Ping timeout: 260 seconds) 2020-12-29T21:52:08Z jibanes joined #lisp 2020-12-29T21:52:40Z slyrus_: Another thing R gets wrong, IMO, is the whole parse/subst/quasiquote/dplyr evaluation model/!! and !!! rats nest. I much prefer lisp's macro system. But the ability to use unquoted symbols makes for simple-looking code in many cases. 2020-12-29T21:52:53Z torbo` joined #lisp 2020-12-29T21:53:03Z torbo` quit (Remote host closed the connection) 2020-12-29T21:53:31Z slyrus_: For something like vellum it would be nice to have solid "low level" semantics and then possibly some sort of higher-level set of functions/macros like vellum:body, etc... 2020-12-29T22:01:59Z dilated_dinosaur quit (Ping timeout: 265 seconds) 2020-12-29T22:03:40Z KREYREEN quit (Remote host closed the connection) 2020-12-29T22:04:02Z KREYREEN joined #lisp 2020-12-29T22:04:33Z shka_: slyrus_: that was my plan actually, not sure if i managed to pull it off but it seems that it kinda works for me 2020-12-29T22:05:24Z shka_: ok, really AFK now :D 2020-12-29T22:07:30Z phireh joined #lisp 2020-12-29T22:07:49Z asarch quit (Quit: Leaving) 2020-12-29T22:07:58Z Jeanne-Kamikaze joined #lisp 2020-12-29T22:10:13Z bars0 quit (Quit: leaving) 2020-12-29T22:10:26Z shka_ quit (Ping timeout: 272 seconds) 2020-12-29T22:12:20Z charles` quit (Ping timeout: 272 seconds) 2020-12-29T22:13:25Z hiroaki_ quit (Ping timeout: 264 seconds) 2020-12-29T22:14:09Z rjcks quit (Quit: leaving) 2020-12-29T22:15:15Z pve quit (Quit: leaving) 2020-12-29T22:15:28Z amb007 quit (Read error: Connection reset by peer) 2020-12-29T22:15:49Z orivej quit (Ping timeout: 258 seconds) 2020-12-29T22:15:56Z amb007 joined #lisp 2020-12-29T22:17:03Z phoe6_ quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) 2020-12-29T22:17:27Z sjl_ quit (Ping timeout: 265 seconds) 2020-12-29T22:20:29Z karlosz quit (Quit: karlosz) 2020-12-29T22:21:42Z dilated_dinosaur joined #lisp 2020-12-29T22:22:17Z bilegeek joined #lisp 2020-12-29T22:24:29Z judson_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-29T22:26:16Z hiroaki_ joined #lisp 2020-12-29T22:29:29Z judson_ joined #lisp 2020-12-29T22:31:10Z luckless joined #lisp 2020-12-29T22:33:32Z jibanes quit (Ping timeout: 256 seconds) 2020-12-29T22:33:43Z luckless_ quit (Ping timeout: 240 seconds) 2020-12-29T22:35:24Z jibanes joined #lisp 2020-12-29T22:38:11Z rpg quit (Quit: Textual IRC Client: www.textualapp.com) 2020-12-29T22:42:50Z torbo quit (Remote host closed the connection) 2020-12-29T22:46:56Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-12-29T22:47:32Z Aurora_v_kosmose joined #lisp 2020-12-29T22:55:19Z jibanes quit (Ping timeout: 246 seconds) 2020-12-29T22:56:13Z sjl quit (Ping timeout: 260 seconds) 2020-12-29T22:57:27Z jibanes joined #lisp 2020-12-29T22:57:50Z VincentVega quit (Remote host closed the connection) 2020-12-29T22:59:55Z torbo joined #lisp 2020-12-29T23:06:57Z Steeve quit (Quit: end) 2020-12-29T23:08:51Z perrier-jouet quit (Quit: WeeChat 3.0) 2020-12-29T23:09:53Z sjl joined #lisp 2020-12-29T23:12:28Z jibanes quit (Ping timeout: 246 seconds) 2020-12-29T23:14:22Z jibanes joined #lisp 2020-12-29T23:16:11Z villanella quit (Ping timeout: 272 seconds) 2020-12-29T23:17:16Z heisig quit (Quit: Leaving) 2020-12-29T23:18:49Z wsinatra quit (Quit: WeeChat 3.0) 2020-12-29T23:29:16Z jibanes quit (Ping timeout: 240 seconds) 2020-12-29T23:31:20Z jibanes joined #lisp 2020-12-29T23:36:02Z imode joined #lisp 2020-12-29T23:46:25Z devon quit (Ping timeout: 264 seconds) 2020-12-29T23:56:16Z jibanes quit (Ping timeout: 256 seconds) 2020-12-30T00:05:04Z amb007 quit (Read error: Connection reset by peer) 2020-12-30T00:06:01Z amb007 joined #lisp 2020-12-30T00:06:22Z random-nick quit (Ping timeout: 246 seconds) 2020-12-30T00:08:30Z gzj joined #lisp 2020-12-30T00:18:10Z perrier-jouet joined #lisp 2020-12-30T00:21:03Z karlosz joined #lisp 2020-12-30T00:22:40Z alanz quit (Read error: Connection reset by peer) 2020-12-30T00:22:50Z alanz joined #lisp 2020-12-30T00:24:17Z kilimanjaro quit (Ping timeout: 260 seconds) 2020-12-30T00:25:12Z kilimanjaro joined #lisp 2020-12-30T00:31:52Z quazimodo joined #lisp 2020-12-30T00:34:22Z cosimone quit (Ping timeout: 246 seconds) 2020-12-30T00:34:48Z varjag quit (Ping timeout: 256 seconds) 2020-12-30T00:34:55Z kuroda joined #lisp 2020-12-30T00:35:45Z torbo quit (Remote host closed the connection) 2020-12-30T00:38:00Z Oladon joined #lisp 2020-12-30T00:42:08Z kuroda quit (Remote host closed the connection) 2020-12-30T00:45:45Z sjl quit (Ping timeout: 240 seconds) 2020-12-30T00:47:35Z jeosol: shka_:? 2020-12-30T00:50:34Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-12-30T00:51:15Z Aurora_v_kosmose joined #lisp 2020-12-30T00:58:24Z surabax quit (Quit: Leaving) 2020-12-30T00:59:58Z varjag joined #lisp 2020-12-30T01:00:18Z sjl joined #lisp 2020-12-30T01:04:05Z wxie joined #lisp 2020-12-30T01:05:24Z varjag quit (Ping timeout: 256 seconds) 2020-12-30T01:05:38Z myall joined #lisp 2020-12-30T01:05:38Z myall quit (Changing host) 2020-12-30T01:05:38Z myall joined #lisp 2020-12-30T01:15:07Z myall quit (Quit: ZNC 1.7.5 - https://znc.in) 2020-12-30T01:16:41Z myall joined #lisp 2020-12-30T01:16:41Z myall quit (Changing host) 2020-12-30T01:16:41Z myall joined #lisp 2020-12-30T01:17:53Z jibanes joined #lisp 2020-12-30T01:19:38Z edgar-rft joined #lisp 2020-12-30T01:26:29Z jibanes quit (Read error: Connection reset by peer) 2020-12-30T01:26:39Z rgherdt quit (Ping timeout: 272 seconds) 2020-12-30T01:30:06Z gzj quit (Remote host closed the connection) 2020-12-30T01:30:27Z gzj joined #lisp 2020-12-30T01:31:44Z jibanes joined #lisp 2020-12-30T01:45:45Z drl quit (Quit: Leaving) 2020-12-30T01:51:47Z rpg joined #lisp 2020-12-30T01:57:36Z jibanes quit (Ping timeout: 240 seconds) 2020-12-30T01:59:42Z jibanes joined #lisp 2020-12-30T02:09:00Z luckless quit (Quit: luckless) 2020-12-30T02:11:49Z shifty joined #lisp 2020-12-30T02:15:28Z kaftejiman quit (Remote host closed the connection) 2020-12-30T02:20:52Z perrier-jouet quit (Quit: WeeChat 3.0) 2020-12-30T02:22:56Z gaqwas quit (Ping timeout: 240 seconds) 2020-12-30T02:24:09Z ebrasca quit (Remote host closed the connection) 2020-12-30T02:26:05Z gaqwas joined #lisp 2020-12-30T02:26:05Z gaqwas quit (Changing host) 2020-12-30T02:26:05Z gaqwas joined #lisp 2020-12-30T02:36:49Z lowryder quit (Ping timeout: 264 seconds) 2020-12-30T02:38:42Z lowryder joined #lisp 2020-12-30T02:39:13Z gaqwas quit (Ping timeout: 264 seconds) 2020-12-30T02:41:34Z edgar-rft quit (Quit: Leaving) 2020-12-30T02:42:38Z charles` joined #lisp 2020-12-30T02:42:38Z v88m quit (Ping timeout: 256 seconds) 2020-12-30T02:42:40Z Oladon quit (Quit: Leaving.) 2020-12-30T02:56:46Z cyraxjoe joined #lisp 2020-12-30T02:58:13Z Stanley00 joined #lisp 2020-12-30T03:00:02Z shifty quit (Ping timeout: 264 seconds) 2020-12-30T03:00:24Z shifty joined #lisp 2020-12-30T03:03:57Z Jeanne-Kamikaze quit (Quit: Leaving) 2020-12-30T03:11:52Z perrier-jouet joined #lisp 2020-12-30T03:24:49Z jjong quit (Ping timeout: 264 seconds) 2020-12-30T03:25:11Z jjong joined #lisp 2020-12-30T03:26:04Z cyraxjoe quit (Quit: I'm out!) 2020-12-30T03:28:36Z cyraxjoe joined #lisp 2020-12-30T03:29:35Z v88m joined #lisp 2020-12-30T03:30:03Z cyraxjoe quit (Client Quit) 2020-12-30T03:30:07Z gzj quit (Remote host closed the connection) 2020-12-30T03:30:27Z gzj joined #lisp 2020-12-30T03:35:10Z cyraxjoe joined #lisp 2020-12-30T03:43:00Z akoana quit (Quit: leaving) 2020-12-30T04:02:32Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-12-30T04:02:53Z Alfr joined #lisp 2020-12-30T04:04:20Z Aurora_v_kosmose joined #lisp 2020-12-30T04:04:32Z Alfr_ quit (Ping timeout: 260 seconds) 2020-12-30T04:10:57Z wxie quit (Ping timeout: 260 seconds) 2020-12-30T04:12:59Z pfdietz quit (Ping timeout: 245 seconds) 2020-12-30T04:15:59Z __jrjsmrtn__ joined #lisp 2020-12-30T04:16:47Z _jrjsmrtn quit (Ping timeout: 260 seconds) 2020-12-30T04:19:43Z cantstanya quit (Ping timeout: 240 seconds) 2020-12-30T04:20:03Z hendursaga quit (Ping timeout: 240 seconds) 2020-12-30T04:21:14Z Bike quit (Quit: Lost terminal) 2020-12-30T04:22:49Z hendursaga joined #lisp 2020-12-30T04:23:16Z rumbler31_ quit (Ping timeout: 240 seconds) 2020-12-30T04:24:11Z cantstanya joined #lisp 2020-12-30T04:25:49Z beach` is now known as beach 2020-12-30T04:26:11Z phireh quit (Remote host closed the connection) 2020-12-30T04:26:53Z beach: Good morning everyone! 2020-12-30T04:34:38Z orivej joined #lisp 2020-12-30T04:35:50Z rumbler31_ joined #lisp 2020-12-30T04:35:56Z charles` quit (Ping timeout: 240 seconds) 2020-12-30T04:38:03Z shifty quit (Ping timeout: 260 seconds) 2020-12-30T04:47:24Z Krystof quit (Ping timeout: 260 seconds) 2020-12-30T05:11:47Z housel quit (Read error: Connection reset by peer) 2020-12-30T05:30:25Z torbo joined #lisp 2020-12-30T05:40:49Z karlosz quit (Quit: karlosz) 2020-12-30T05:41:42Z curiouscain quit (Ping timeout: 256 seconds) 2020-12-30T05:43:33Z ex_nihilo joined #lisp 2020-12-30T05:43:50Z curiouscain joined #lisp 2020-12-30T05:44:50Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-12-30T05:45:30Z Aurora_v_kosmose joined #lisp 2020-12-30T05:49:49Z torbo quit (Remote host closed the connection) 2020-12-30T05:51:30Z birdwing joined #lisp 2020-12-30T06:15:16Z orivej quit (Ping timeout: 246 seconds) 2020-12-30T06:15:23Z jeosol quit (Remote host closed the connection) 2020-12-30T06:16:04Z waleee-cl quit (Quit: Connection closed for inactivity) 2020-12-30T06:19:31Z v3ga: hola 2020-12-30T06:19:48Z beach: Hello v3ga. 2020-12-30T06:20:04Z v3ga: morning 2020-12-30T06:23:30Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-12-30T06:24:14Z Aurora_v_kosmose joined #lisp 2020-12-30T06:30:13Z skapata quit (Remote host closed the connection) 2020-12-30T06:33:02Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-12-30T06:33:34Z Aurora_v_kosmose joined #lisp 2020-12-30T06:41:00Z jeosol joined #lisp 2020-12-30T06:44:45Z judson_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-30T06:47:19Z FennecCode quit (Ping timeout: 268 seconds) 2020-12-30T06:49:51Z narimiran joined #lisp 2020-12-30T06:51:49Z frost-lab joined #lisp 2020-12-30T06:55:50Z FennecCode joined #lisp 2020-12-30T07:00:23Z gxt quit (Ping timeout: 240 seconds) 2020-12-30T07:00:54Z gxt joined #lisp 2020-12-30T07:04:23Z gutter quit (Remote host closed the connection) 2020-12-30T07:05:23Z shifty joined #lisp 2020-12-30T07:06:47Z FennecCode quit (Ping timeout: 260 seconds) 2020-12-30T07:25:58Z housel joined #lisp 2020-12-30T07:32:55Z FennecCode joined #lisp 2020-12-30T07:41:37Z FennecCode quit (Ping timeout: 258 seconds) 2020-12-30T07:50:59Z beach: Can someone give an example of when the STORE-VARS returned by GET-SETF-EXPANSION would contain more than one element? 2020-12-30T07:51:33Z beach: I suppose it has to do with the PLACE returning more than one value. 2020-12-30T07:51:41Z beach: But I can't think of an example. 2020-12-30T07:52:58Z beach: Oh, wait, GETHASH maybe. Let me check.. 2020-12-30T07:53:23Z beach: Nope. 2020-12-30T07:55:19Z beach: Ah, the place is VALUES... 2020-12-30T07:55:21Z beach: Thanks. 2020-12-30T07:56:00Z pyc: Is there any best practice regarding not using ~A as the format specifier for (format) all the time? I am learning CL and I usually don't bother with ~D, ~F, etc. and use ~A all the time. Is this a bad habit I am picking up or what I am doing is fine? 2020-12-30T07:56:52Z beach: You can't control the precision and such with ~a. 2020-12-30T08:02:28Z ck_: in other words "it depends", I wouldn't call it a bad practice in general 2020-12-30T08:02:44Z mankaev_ quit (Read error: Connection reset by peer) 2020-12-30T08:02:50Z mankaev joined #lisp 2020-12-30T08:09:41Z phoe: pyc: ~A is good enough most of the time when you want to have debug prints and other similar fun stuff. 2020-12-30T08:10:04Z phoe: but then you cannot e.g. escape strings with it, that's where ~S comes into play 2020-12-30T08:10:32Z phoe: you cannot control radix of the printed numbers to get binary, octal, hex, ternary - what's where ~B, ~O, ~X, ~3R come into play 2020-12-30T08:11:39Z phoe: you cannot control the way floats are printed, that's where ~F, ~E, and ~G come into play 2020-12-30T08:12:32Z phoe: and you can't even control the padding/width of normal decimal numbers - you need ~D for that 2020-12-30T08:13:05Z phoe: so, IMO not really a bad habit - you're using a swiss knife for getting butter on your bread, which is a good use case 2020-12-30T08:13:16Z phoe: just remember that there's more to it and you'll end up finding out about it sooner or later. 2020-12-30T08:14:18Z pyc: phoe: thanks. that is what I wanted to understand. so I will stick with ~A for now and use another format specifier when I really need one. 2020-12-30T08:15:07Z bisickcor quit (Remote host closed the connection) 2020-12-30T08:15:12Z phoe: the two most important ones are ~A and ~S 2020-12-30T08:15:20Z phoe: ~A, for when you want humans to read your stuff back 2020-12-30T08:15:27Z phoe: ~S, for when you want Lisp to read your stuff back 2020-12-30T08:15:45Z phoe: all others are more specialized 2020-12-30T08:18:02Z villanella joined #lisp 2020-12-30T08:19:50Z Krystof joined #lisp 2020-12-30T08:42:13Z shka_ joined #lisp 2020-12-30T08:42:51Z shka_ quit (Client Quit) 2020-12-30T08:43:07Z shka_ joined #lisp 2020-12-30T08:52:14Z luni joined #lisp 2020-12-30T08:52:47Z gxt quit (Remote host closed the connection) 2020-12-30T08:53:01Z liberliver joined #lisp 2020-12-30T08:53:09Z gxt joined #lisp 2020-12-30T09:07:12Z gioyik quit (Quit: WeeChat 3.0) 2020-12-30T09:07:23Z hendursa1 joined #lisp 2020-12-30T09:08:20Z FennecCode joined #lisp 2020-12-30T09:09:23Z hendursaga quit (Ping timeout: 240 seconds) 2020-12-30T09:18:28Z dvdmuckle quit (Quit: Bouncer Surgery) 2020-12-30T09:19:42Z dvdmuckle joined #lisp 2020-12-30T09:21:34Z rgherdt joined #lisp 2020-12-30T09:22:22Z wxie joined #lisp 2020-12-30T09:22:37Z gaqwas joined #lisp 2020-12-30T09:22:37Z gaqwas quit (Changing host) 2020-12-30T09:22:37Z gaqwas joined #lisp 2020-12-30T09:23:28Z mindCrime joined #lisp 2020-12-30T09:27:56Z contrapunctus left #lisp 2020-12-30T09:34:12Z gaqwas quit (Remote host closed the connection) 2020-12-30T09:35:09Z pve joined #lisp 2020-12-30T09:39:09Z pve_ joined #lisp 2020-12-30T09:39:12Z villanella quit (Ping timeout: 256 seconds) 2020-12-30T09:39:59Z pve quit (Ping timeout: 268 seconds) 2020-12-30T09:41:24Z contrapunctus joined #lisp 2020-12-30T09:46:11Z pve_ is now known as pve 2020-12-30T09:50:46Z nicktick joined #lisp 2020-12-30T09:52:36Z hiroaki_ quit (Ping timeout: 240 seconds) 2020-12-30T09:54:12Z contrapunctus left #lisp 2020-12-30T09:54:25Z contrapunctus joined #lisp 2020-12-30T09:55:28Z hnOsmium0001 quit (Quit: Connection closed for inactivity) 2020-12-30T09:56:28Z edgar-rft joined #lisp 2020-12-30T10:00:56Z splittist: good morning 2020-12-30T10:01:11Z beach: Hello splittist. 2020-12-30T10:01:53Z phantomics: morning everyone, I was wondering if anyone had used the optima or trivia pattern matching engines much 2020-12-30T10:02:31Z beach: It seems plausible that someone did. 2020-12-30T10:03:30Z phantomics: Someone has, but are they around? 2020-12-30T10:04:31Z beach: Now, if I were one of them, I would not manifest myself until you say what you would do if I did. 2020-12-30T10:05:32Z beach: So, if I were you, and I had a question about one of those items, I would ask the question, rather than asking whether someone had used one of them. 2020-12-30T10:05:45Z hiroaki_ joined #lisp 2020-12-30T10:06:38Z nicktick quit (Ping timeout: 264 seconds) 2020-12-30T10:08:45Z shka_: hello 2020-12-30T10:09:29Z [d] joined #lisp 2020-12-30T10:10:15Z phantomics: Does optima have an expedient way to match multiple items from a list in a varying quantity? For example, if I have a list (1 2 3 4 a b 1 2 3) and I want to match 1) all numbers until a non-number and 2) the first non-number, is there an expression that'll match this? 2020-12-30T10:11:09Z phantomics: So for the list (1 2 3 4 a b 1 2 3), the output would be (1 2 3 4), a, and rest of the list (b 1 2 3) 2020-12-30T10:13:04Z liberliver quit (Ping timeout: 272 seconds) 2020-12-30T10:14:52Z phantomics: Far as I can tell the only way is to recursively pull items off the front of the list and then get the first non-number when numbers are exhausted, but this requires multiple patterns, not very elegant 2020-12-30T10:15:51Z phoe: I know that trivia advertises itself to have the capability to add new patterns *and* be compatible with optima 2020-12-30T10:15:57Z phoe: I don't know if that's something you are interested in though. 2020-12-30T10:16:52Z liberliver joined #lisp 2020-12-30T10:17:17Z mindCrime quit (Ping timeout: 260 seconds) 2020-12-30T10:20:14Z mindCrime joined #lisp 2020-12-30T10:21:13Z phantomics: That could work, thing is that after going over all the trivia docs, it seems there's no way to match a variable number of something in a list 2020-12-30T10:21:55Z wxie quit (Ping timeout: 268 seconds) 2020-12-30T10:22:29Z phantomics: All the elements of a pattern until the final rest symbol in a list* pattern or similar refer to individual elements 2020-12-30T10:23:20Z phantomics: So you can't just say "bind to this variable the list of all numbers you can find until you hit the end of the list or a non-number" 2020-12-30T10:25:07Z gaqwas joined #lisp 2020-12-30T10:26:01Z amb007 quit (Read error: Connection reset by peer) 2020-12-30T10:26:06Z gzj quit (Remote host closed the connection) 2020-12-30T10:26:26Z gzj joined #lisp 2020-12-30T10:26:27Z amb007 joined #lisp 2020-12-30T10:26:56Z gutter joined #lisp 2020-12-30T10:26:56Z amb007 quit (Read error: Connection reset by peer) 2020-12-30T10:28:02Z amb007 joined #lisp 2020-12-30T10:28:53Z luni quit (Quit: Connection closed) 2020-12-30T10:34:09Z gutter quit (Remote host closed the connection) 2020-12-30T10:35:03Z C-16 joined #lisp 2020-12-30T10:35:32Z C-16 quit (Client Quit) 2020-12-30T10:36:37Z mister_m` joined #lisp 2020-12-30T10:37:56Z [d] quit (Ping timeout: 240 seconds) 2020-12-30T10:38:16Z mister_m quit (Ping timeout: 240 seconds) 2020-12-30T10:38:46Z [d] joined #lisp 2020-12-30T10:46:14Z mindCrime quit (Ping timeout: 264 seconds) 2020-12-30T10:47:59Z varjag joined #lisp 2020-12-30T10:58:23Z [d] quit (Ping timeout: 260 seconds) 2020-12-30T11:01:47Z saganman quit (Quit: WeeChat 1.6) 2020-12-30T11:04:26Z vegansbane6 quit (Quit: The Lounge - https://thelounge.chat) 2020-12-30T11:05:36Z ebrasca joined #lisp 2020-12-30T11:15:34Z surabax joined #lisp 2020-12-30T11:17:02Z notzmv quit (Remote host closed the connection) 2020-12-30T11:29:10Z toorevitimirp joined #lisp 2020-12-30T11:31:44Z cosimone joined #lisp 2020-12-30T11:35:51Z bilegeek quit (Quit: Leaving) 2020-12-30T11:38:18Z vegansbane6 joined #lisp 2020-12-30T11:40:21Z birdwing quit (Ping timeout: 272 seconds) 2020-12-30T11:42:44Z dxtr quit (Ping timeout: 258 seconds) 2020-12-30T11:47:52Z v88m quit (Remote host closed the connection) 2020-12-30T11:48:59Z dxtr joined #lisp 2020-12-30T11:49:36Z varjag quit (Ping timeout: 240 seconds) 2020-12-30T12:00:49Z kaftejiman joined #lisp 2020-12-30T12:04:55Z amb007 quit (Read error: Connection reset by peer) 2020-12-30T12:05:06Z amb007 joined #lisp 2020-12-30T12:07:25Z amb007 quit (Read error: Connection reset by peer) 2020-12-30T12:07:42Z orivej joined #lisp 2020-12-30T12:07:52Z amb007 joined #lisp 2020-12-30T12:14:12Z orivej quit (Ping timeout: 260 seconds) 2020-12-30T12:15:54Z Inline quit (Remote host closed the connection) 2020-12-30T12:16:17Z Inline joined #lisp 2020-12-30T12:17:11Z luni joined #lisp 2020-12-30T12:19:15Z frost-lab quit (Quit: Connection closed) 2020-12-30T12:23:03Z villanella joined #lisp 2020-12-30T12:27:24Z imode quit (Quit: Days with nothing. That's what it's like when you work cases. Days're like.. lost dogs. Goes on like that. You know the job. You're looking for narrative. Interrogate witnesses, partial evidence, establish a timeline, build a story, day after day.) 2020-12-30T12:31:00Z random-nick joined #lisp 2020-12-30T12:31:24Z shka_: slyrus_: hey, I rewrote and renamed body macro 2020-12-30T12:32:25Z shka_: now it is bind-row 2020-12-30T12:32:35Z Stanley00 quit 2020-12-30T12:32:45Z shka_: i think this resolves problems we were discussing yesterday 2020-12-30T12:33:27Z shka_: now time to do some work i am actually paid for xD 2020-12-30T12:33:34Z shka_: see you later 2020-12-30T12:48:16Z flazh quit (Ping timeout: 240 seconds) 2020-12-30T12:52:06Z gzj quit (Remote host closed the connection) 2020-12-30T12:52:27Z gzj joined #lisp 2020-12-30T12:55:02Z orivej joined #lisp 2020-12-30T13:04:50Z shifty quit (Ping timeout: 264 seconds) 2020-12-30T13:05:38Z shifty joined #lisp 2020-12-30T13:06:01Z luni quit (Quit: Connection closed) 2020-12-30T13:20:24Z skapata joined #lisp 2020-12-30T13:23:58Z flazh joined #lisp 2020-12-30T13:29:01Z toorevitimirp quit (Ping timeout: 264 seconds) 2020-12-30T13:34:05Z birdwing joined #lisp 2020-12-30T13:35:06Z gzj quit (Remote host closed the connection) 2020-12-30T13:36:25Z jjong quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) 2020-12-30T13:38:44Z jjong joined #lisp 2020-12-30T13:39:08Z ex_nihilo quit (Remote host closed the connection) 2020-12-30T13:39:32Z ex_nihilo joined #lisp 2020-12-30T13:48:24Z aeth quit (Ping timeout: 272 seconds) 2020-12-30T13:48:49Z orivej quit (Ping timeout: 264 seconds) 2020-12-30T13:49:18Z hendursa1 quit (Quit: hendursa1) 2020-12-30T13:49:35Z hendursaga joined #lisp 2020-12-30T13:49:45Z aeth joined #lisp 2020-12-30T13:50:10Z loke[m]: Someone told me that Ferada can be found here? What's their username here? 2020-12-30T13:53:10Z jackdaniel: loke[m]: "ferada" 2020-12-30T13:55:54Z shifty quit (Ping timeout: 268 seconds) 2020-12-30T13:58:26Z villanella quit (Ping timeout: 258 seconds) 2020-12-30T13:58:30Z amb007 quit (Read error: Connection reset by peer) 2020-12-30T13:59:53Z ck_: (surprise :) 2020-12-30T14:00:11Z ck_: I take it this matrix thing does not display a list of channel nicknames 2020-12-30T14:01:13Z amb007 joined #lisp 2020-12-30T14:02:42Z ferada: loke[m]: hi 2020-12-30T14:03:01Z loke[m]: Hello ferada 2020-12-30T14:03:43Z loke[m]: ferada: I have been working on a GTK backend for McCLIM, and given the type of project, I have run into a lot of edge-cases in cl-cffi-gtk. 2020-12-30T14:04:30Z loke[m]: There are a lot of unimplemented functions that I need. I have implemented them and will post a pull request on it later. 2020-12-30T14:04:56Z loke[m]: However, the biggest issue right now is locking issues in gobject. I just created a bug on it: https://github.com/Ferada/cl-cffi-gtk/issues/54 2020-12-30T14:05:18Z loke[m]: But I need a discussion around it, because to be honest I don't really understand all the things that are going on. 2020-12-30T14:05:19Z amb007 quit (Ping timeout: 246 seconds) 2020-12-30T14:06:12Z fanta1 joined #lisp 2020-12-30T14:06:26Z amb007 joined #lisp 2020-12-30T14:09:10Z jonatack quit (Ping timeout: 260 seconds) 2020-12-30T14:10:14Z ferada: nice, i'm happy to look at the pr. re locking, yeah, i've ran into problems with that, though i've to read your write-up to say anything ... and even then, simplifying it is probably the best direction forward 2020-12-30T14:10:27Z jonatack joined #lisp 2020-12-30T14:10:34Z ferada: either on that issue or pm here is probably best for discussion 2020-12-30T14:11:01Z loke[m]: ferada: I'm thinking of ways to eliminate the lock in the finaliser altogether. 2020-12-30T14:13:10Z loke[m]: The thing is, it's not entirely clear to me what it's actually protecting. If you look at glib::at-finalize in gobject.base.lisp, you'll see it locking foreign-gobjects-lock, but immediately after unlocking it, it sets currently-making-object-p, which as far as I can tell, is also accessed from multiple thrads. 2020-12-30T14:13:34Z loke[m]: So the locks aren't consistent. Again, this is based on my understanding which may be incorrect. 2020-12-30T14:13:36Z Krystof quit (Ping timeout: 240 seconds) 2020-12-30T14:14:24Z Inline quit (Ping timeout: 268 seconds) 2020-12-30T14:15:20Z jonatack quit (Ping timeout: 256 seconds) 2020-12-30T14:15:43Z Inline joined #lisp 2020-12-30T14:15:47Z jonatack joined #lisp 2020-12-30T14:19:36Z ferada: loke[m]: might very well be. i bet the order in which they're acquired isn't either. btw. you could also look at cl-gtk2 for the missing history on it 2020-12-30T14:20:18Z pfdietz joined #lisp 2020-12-30T14:20:30Z loke[m]: I checked the order. It's actually mostly fine. The issue happens when the finaliser is called. Since it can be called at any time, this is a problem. 2020-12-30T14:20:42Z loke[m]: Another workaround would be to disable GC while that lock is held. 2020-12-30T14:21:04Z loke[m]: But that would involve implementation-specific code (and I'm not sure all implementations can even do so) 2020-12-30T14:22:16Z Inline quit (Remote host closed the connection) 2020-12-30T14:22:36Z Inline joined #lisp 2020-12-30T14:22:39Z liberliver quit (Quit: liberliver) 2020-12-30T14:23:14Z v88m joined #lisp 2020-12-30T14:24:49Z Krystof joined #lisp 2020-12-30T14:32:16Z wsinatra joined #lisp 2020-12-30T14:34:12Z ex_nihilo quit (Remote host closed the connection) 2020-12-30T14:34:33Z ex_nihilo joined #lisp 2020-12-30T14:35:46Z lowryder quit (Ping timeout: 246 seconds) 2020-12-30T14:38:01Z lowryder joined #lisp 2020-12-30T14:38:46Z notzmv joined #lisp 2020-12-30T14:42:28Z varjag joined #lisp 2020-12-30T15:00:19Z orivej joined #lisp 2020-12-30T15:03:50Z waleee-cl joined #lisp 2020-12-30T15:05:43Z orivej quit (Ping timeout: 260 seconds) 2020-12-30T15:06:01Z judson_ joined #lisp 2020-12-30T15:07:02Z [d] joined #lisp 2020-12-30T15:10:33Z Josh_2 joined #lisp 2020-12-30T15:11:12Z amb007 quit (Read error: Connection reset by peer) 2020-12-30T15:11:32Z amb007 joined #lisp 2020-12-30T15:15:22Z ex_nihilo quit (Ping timeout: 260 seconds) 2020-12-30T15:18:53Z asarch joined #lisp 2020-12-30T15:21:14Z luni joined #lisp 2020-12-30T15:21:52Z mister_m` is now known as mister_m 2020-12-30T15:22:53Z rumbler31 quit (Remote host closed the connection) 2020-12-30T15:23:42Z rumbler31 joined #lisp 2020-12-30T15:24:13Z amb007 quit (Ping timeout: 264 seconds) 2020-12-30T15:24:18Z keserwan_ joined #lisp 2020-12-30T15:25:03Z asarch quit (Remote host closed the connection) 2020-12-30T15:25:08Z amb007 joined #lisp 2020-12-30T15:25:21Z asarch joined #lisp 2020-12-30T15:27:18Z rumbler31_ quit (Ping timeout: 256 seconds) 2020-12-30T15:33:43Z villanella joined #lisp 2020-12-30T15:35:28Z matta joined #lisp 2020-12-30T15:41:37Z amb007 quit (Ping timeout: 260 seconds) 2020-12-30T15:42:34Z amb007 joined #lisp 2020-12-30T15:42:46Z sjl_ joined #lisp 2020-12-30T15:44:34Z andreyorst` quit (Quit: andreyorst`) 2020-12-30T15:50:13Z gutter joined #lisp 2020-12-30T15:51:48Z Steeve joined #lisp 2020-12-30T15:53:20Z heisig joined #lisp 2020-12-30T15:58:28Z nicktick joined #lisp 2020-12-30T16:04:14Z matta quit (Ping timeout: 245 seconds) 2020-12-30T16:14:37Z orivej joined #lisp 2020-12-30T16:25:30Z keserwan_ quit (Ping timeout: 256 seconds) 2020-12-30T16:27:17Z Oladon joined #lisp 2020-12-30T16:27:36Z antepod joined #lisp 2020-12-30T16:28:01Z antepod quit (Client Quit) 2020-12-30T16:28:15Z antepod joined #lisp 2020-12-30T16:28:52Z luni quit (Quit: Connection closed) 2020-12-30T16:31:45Z orivej quit (Ping timeout: 240 seconds) 2020-12-30T16:33:06Z liberliver joined #lisp 2020-12-30T16:33:18Z liberliver quit (Client Quit) 2020-12-30T16:33:24Z orivej joined #lisp 2020-12-30T16:39:21Z antepod: test 2020-12-30T16:39:28Z Xach: failed, sorry 2020-12-30T16:39:29Z antepod quit (Quit: WeeChat 3.0) 2020-12-30T16:39:49Z remby joined #lisp 2020-12-30T16:42:58Z imode joined #lisp 2020-12-30T16:45:45Z _death: a tester succeeds when his tests fail 2020-12-30T16:49:00Z KREYREEN quit (Remote host closed the connection) 2020-12-30T16:49:26Z KREYREEN joined #lisp 2020-12-30T16:51:23Z cantstanya quit (Ping timeout: 240 seconds) 2020-12-30T16:52:03Z hendursaga quit (Ping timeout: 240 seconds) 2020-12-30T16:52:03Z gxt quit (Ping timeout: 240 seconds) 2020-12-30T16:52:48Z andreyorst joined #lisp 2020-12-30T16:53:03Z Aurora_v_kosmose quit (Ping timeout: 240 seconds) 2020-12-30T16:53:04Z gxt joined #lisp 2020-12-30T16:53:42Z hendursaga joined #lisp 2020-12-30T16:54:29Z cantstanya joined #lisp 2020-12-30T16:55:52Z hendursaga quit (Remote host closed the connection) 2020-12-30T16:56:59Z hendursaga joined #lisp 2020-12-30T17:13:01Z Aurora_v_kosmose joined #lisp 2020-12-30T17:16:06Z Inline quit (Remote host closed the connection) 2020-12-30T17:16:07Z oleo__ joined #lisp 2020-12-30T17:36:03Z mseddon: _death: ironically, true. 2020-12-30T17:36:24Z flazh quit (Ping timeout: 272 seconds) 2020-12-30T17:36:42Z flazh joined #lisp 2020-12-30T17:36:52Z Jeanne-Kamikaze joined #lisp 2020-12-30T17:38:38Z _death: there's an old book called The Art of Software Testing that explains this well 2020-12-30T17:39:47Z Jesin quit (Quit: Leaving) 2020-12-30T17:40:55Z _death: apparently you can buy it on amazon for $324.90 to $1008.0 2020-12-30T17:41:36Z flazh quit (Ping timeout: 256 seconds) 2020-12-30T17:45:05Z flazh joined #lisp 2020-12-30T17:48:05Z nicktick quit (Ping timeout: 265 seconds) 2020-12-30T17:48:34Z cyraxjoe quit (Ping timeout: 265 seconds) 2020-12-30T17:50:17Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-12-30T17:50:52Z Aurora_v_kosmose joined #lisp 2020-12-30T17:53:33Z sjl_: or a used copy of Software Reliability: Principles and Practices for $6 which also says something similar 2020-12-30T17:53:50Z sjl_: > Testing is the process of executing a program with the intention of finding errors. 2020-12-30T17:53:55Z cyraxjoe joined #lisp 2020-12-30T17:54:23Z sjl_: > The goal of the tester is to make the program fail. If his test case makes the program or system fail, then he is successful; if his test case does not make the program fail, then he is unsuccessful. 2020-12-30T17:55:12Z Jesin joined #lisp 2020-12-30T17:56:20Z sjl_: Oh it's by the same guy. That explains it. 2020-12-30T17:56:56Z amb007 quit (Read error: Connection reset by peer) 2020-12-30T17:57:17Z amb007 joined #lisp 2020-12-30T17:57:18Z attila_lendvai joined #lisp 2020-12-30T17:59:30Z amb007 quit (Read error: Connection reset by peer) 2020-12-30T17:59:41Z Josh_2: Hello 2020-12-30T17:59:57Z amb007 joined #lisp 2020-12-30T18:01:32Z phoe: heyyy 2020-12-30T18:02:17Z Josh_2: _death: that book looks very boring 2020-12-30T18:02:49Z phoe: software testing is rarely an exciting task in general 2020-12-30T18:03:08Z phoe: an engaging one, sure, but not exciting 2020-12-30T18:03:08Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-12-30T18:03:31Z phoe: maybe a bit more in Lisp, due to its interactive nature and ability to smoke-REPL-test everything as it's being written 2020-12-30T18:03:49Z Aurora_v_kosmose joined #lisp 2020-12-30T18:04:19Z ex_nihilo joined #lisp 2020-12-30T18:04:19Z Josh_2: writing tests to break things could be fun 2020-12-30T18:06:06Z phoe: well, that's where software testing kinda turns into penetration testing at times :D 2020-12-30T18:06:44Z heisig quit (Quit: Leaving) 2020-12-30T18:13:46Z rogersm joined #lisp 2020-12-30T18:14:31Z Oladon quit (Quit: Leaving.) 2020-12-30T18:16:33Z kaftejiman quit (Remote host closed the connection) 2020-12-30T18:19:56Z oleo__ quit (Quit: Leaving) 2020-12-30T18:21:19Z slyrus_: shka_: I'm getting The function PLOTLY-FORMAT-NO-NULLS is called with three arguments, but wants exactly two. and 2020-12-30T18:22:26Z slyrus_: hmm... I guess that's it. the rest are warnings. 2020-12-30T18:27:08Z Oladon joined #lisp 2020-12-30T18:30:36Z pfdietz: A lot of the old testing literature seems so silly these days. It was all about using cheap human labor to save expensive computer resources. 2020-12-30T18:30:37Z minion: pfdietz, memo from flip214: yeah, I can't rule out that the difference is due to "cache effects". OTOH, I'm loading an ASDF in a fresh image every time, so alignment _could_ be identical... 2020-12-30T18:30:37Z minion: pfdietz, memo from flip214: just "cache effects" sounds like so much phlogiston or aether to me ;/ 2020-12-30T18:30:38Z Inline joined #lisp 2020-12-30T18:31:39Z pfdietz: "writing tests to break things could be fun" It is. Oh yes it is. 2020-12-30T18:32:30Z jonathan| quit (Quit: fBNC - https://bnc4free.com) 2020-12-30T18:33:17Z birdwing quit (Ping timeout: 272 seconds) 2020-12-30T18:33:34Z lotuseater: phantomics: i read today (skimming the wiki article) that Richard Stallman wrote a text editor in his very young years in APL 2020-12-30T18:35:28Z jackdaniel: APL Silicon hue hue 2020-12-30T18:36:30Z pfdietz: My dad worked at APL when I was a kid (the JHU Applied Physics Lab). Fun place. 2020-12-30T18:37:01Z phoe: jackdaniel: "hue" is oddly specific, given the amount of colors that phantomics works on in his light boxen thing 2020-12-30T18:37:41Z jackdaniel associates "hue" only with not-very-clever jokes 2020-12-30T18:38:14Z phoe: https://en.wikipedia.org/wiki/Hue https://en.wikipedia.org/wiki/Hue https://en.wikipedia.org/wiki/Hue 2020-12-30T18:38:19Z pfdietz: "In general, the least effective methodology of all is random-inputtesting—the process of testing a program by selecting, at random, somesubset of all possible input values. n general, the least effective methodology of all is random-inputtesting—the process of testing a program by selecting, at random, somesubset of all possible input values. 2020-12-30T18:38:19Z pfdietz: " -- The Art of Software Testing, 3rd,. ed. 2012 2020-12-30T18:38:20Z phoe ducks 2020-12-30T18:38:30Z pfdietz: Hmm. 2020-12-30T18:38:49Z pfdietz: Anyway. It's amazing he could say that in 2012. 2020-12-30T18:39:00Z bitmapper quit (Quit: Connection closed for inactivity) 2020-12-30T18:41:14Z Lord_of_Life quit (Read error: Connection reset by peer) 2020-12-30T18:41:41Z Lord_of_Life joined #lisp 2020-12-30T18:42:19Z lotuseater: pfdietz: so property testing and generating tests automatically is not good? i doubt it 2020-12-30T18:43:16Z attila_lendvai quit (Ping timeout: 268 seconds) 2020-12-30T18:44:30Z phoe: lotuseater: context: pfdietz is sorta famous for his random test generator that broke SBCL like hundreds of times by now in various interesting ways by generating tons of semirandomized Lisp forms that are valid Common Lisp code and should therefore compile cleanly - and sometimes don't 2020-12-30T18:45:23Z attila_lendvai joined #lisp 2020-12-30T18:46:02Z jackdaniel: lotuseater: I think that pfdietz claims otherwise - that random input testing is quite effective 2020-12-30T18:46:32Z jackdaniel: I'm not sure when fuzz testing gained traction though (before or after 2012) 2020-12-30T18:46:33Z pfdietz: And that trying to carry over testing ideas from a time when computing power was millions of times more expensive is a bold move, to say the least. 2020-12-30T18:47:48Z pfdietz: Random compiler testing? McKeeman in 1998. My ansi-test random tester in 2005 (or so); jsfunfuzz in 2007. Csmith in 2011. Not sure when AFL came out. 2020-12-30T18:47:55Z Lord_of_Life_ joined #lisp 2020-12-30T18:48:09Z v0|d joined #lisp 2020-12-30T18:48:46Z jackdaniel: I know that it was used before 2012 -- by "traction" I mean popularity 2020-12-30T18:48:50Z pfdietz: I sometimes think the reason we've seen a proliferation of new languages in the last decade or so (or so it appears to me) is increasing testability. 2020-12-30T18:49:17Z pfdietz: Used to be it took forever to firm up a new language implementation. 2020-12-30T18:49:25Z lotuseater: that sounds great pfdietz :) 2020-12-30T18:49:56Z Lord_of_Life quit (Ping timeout: 240 seconds) 2020-12-30T18:49:56Z Lord_of_Life_ is now known as Lord_of_Life 2020-12-30T18:50:16Z lotuseater: i read once about quickcheck offered hundreds of serious bugs in Erlang BEAM 2020-12-30T18:52:38Z jjong quit (Ping timeout: 260 seconds) 2020-12-30T18:52:55Z lotuseater: or same with JVM 2020-12-30T18:53:28Z luni joined #lisp 2020-12-30T18:53:55Z pfdietz: Yes 2020-12-30T18:58:59Z lotuseater: and looking at projects like xmonad it stands out in being tested like that 2020-12-30T19:01:02Z lotuseater: so how are random lisp forms generated? those which make sense 2020-12-30T19:02:33Z remby quit (Quit: remby) 2020-12-30T19:06:50Z lotuseater: hm macros will be very helpful indeed with that too 2020-12-30T19:10:23Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-30T19:10:40Z jonathan| joined #lisp 2020-12-30T19:12:03Z akoana joined #lisp 2020-12-30T19:13:53Z Josh_2: I was thinking about creating a REST API test generator based off of the templates I use for parsing the json 2020-12-30T19:15:02Z Josh_2: But I have been very lazy this Christmas season and have just played ESO ¯\_(ツ)_/¯ 2020-12-30T19:15:22Z jackdaniel: a fun fact is that people seem to accept, that if you swing a radio onto the wall, it may stop working; otoh when they busy-loop an innocent application and it has race conditions they scream "a bug, a bug!" 2020-12-30T19:15:55Z Josh_2: interesting fact 2020-12-30T19:18:53Z contrapunctus left #lisp 2020-12-30T19:20:51Z contrapunctus joined #lisp 2020-12-30T19:20:54Z contrapunctus left #lisp 2020-12-30T19:21:49Z contrapunctus joined #lisp 2020-12-30T19:23:57Z ebrasca quit (Remote host closed the connection) 2020-12-30T19:24:10Z ex_nihilo quit (Quit: Leaving) 2020-12-30T19:26:52Z Oladon quit (Quit: Leaving.) 2020-12-30T19:27:38Z remby joined #lisp 2020-12-30T19:29:06Z rpg joined #lisp 2020-12-30T19:35:58Z kaftejiman joined #lisp 2020-12-30T19:39:09Z dbotton joined #lisp 2020-12-30T19:48:30Z remby left #lisp 2020-12-30T19:49:38Z hnOsmium0001 joined #lisp 2020-12-30T19:50:39Z Grauwolf quit (Quit: WeeChat 2.9) 2020-12-30T19:50:47Z Grauwolf joined #lisp 2020-12-30T19:56:02Z rumbler31_ joined #lisp 2020-12-30T19:58:10Z rumbler31 quit (Ping timeout: 256 seconds) 2020-12-30T20:00:00Z rogersm quit (Quit: Leaving...) 2020-12-30T20:13:11Z ark joined #lisp 2020-12-30T20:13:21Z pyc: Is there a function to read an entire file in one shot? 2020-12-30T20:14:05Z phoe: alexandria:read-file-into-{string,byte-vector} 2020-12-30T20:14:37Z v88m quit (Ping timeout: 264 seconds) 2020-12-30T20:15:16Z andreyorst quit (Ping timeout: 240 seconds) 2020-12-30T20:16:16Z rumbler31_ quit (Ping timeout: 240 seconds) 2020-12-30T20:16:28Z edgar-rft: there's CL:READ-LINE and CL:READ-SEQUENCE, the latter can read an entire file at once into a string or a vector 2020-12-30T20:16:56Z lucasb joined #lisp 2020-12-30T20:18:06Z edgar-rft: ...must of course be wrapped into a WITH-OPEN-FILE, what is the difference to the alexandria stuff 2020-12-30T20:25:45Z frgo joined #lisp 2020-12-30T20:26:53Z andreyorst joined #lisp 2020-12-30T20:34:53Z sxmx joined #lisp 2020-12-30T20:36:23Z mindCrime joined #lisp 2020-12-30T20:38:03Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-12-30T20:41:37Z jw4 quit (Read error: Connection reset by peer) 2020-12-30T20:42:28Z Aurora_v_kosmose joined #lisp 2020-12-30T20:43:27Z jw4 joined #lisp 2020-12-30T20:51:23Z luckless joined #lisp 2020-12-30T20:57:09Z fanta1 quit (Quit: fanta1) 2020-12-30T20:58:10Z Jeanne-Kamikaze quit (Quit: Leaving) 2020-12-30T20:59:24Z dbotton quit (Quit: This computer has gone to sleep) 2020-12-30T21:06:06Z v88m joined #lisp 2020-12-30T21:13:03Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-30T21:13:44Z mindCrime quit (Ping timeout: 268 seconds) 2020-12-30T21:14:53Z rpg joined #lisp 2020-12-30T21:20:10Z narimiran quit (Ping timeout: 256 seconds) 2020-12-30T21:22:57Z dbotton joined #lisp 2020-12-30T21:28:38Z dbotton quit (Quit: Leaving) 2020-12-30T21:34:27Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-12-30T21:35:42Z villanella quit (Ping timeout: 260 seconds) 2020-12-30T21:38:15Z Aurora_v_kosmose joined #lisp 2020-12-30T21:41:38Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-30T21:42:30Z shka_: slyrus_: hey 2020-12-30T21:43:57Z Younder joined #lisp 2020-12-30T21:46:29Z slyrus_: hey shka_ 2020-12-30T21:47:07Z shka_: so it is almost 23:00 here and i am going to bed 2020-12-30T21:47:37Z shka_: you may not notice, but i deleted EMPTY-TABLE 2020-12-30T21:47:51Z Younder: My first car was a cdr but it was just like all the rest 2020-12-30T21:47:57Z slyrus_: OK. I see I missed your most recent change before I pushed my latest. 2020-12-30T21:48:08Z shka_: this function was duplicating functionality of make-table 2020-12-30T21:48:18Z shka_: mostly because every new table is empty 2020-12-30T21:48:20Z slyrus_: Right. You OK if I merge #9? 2020-12-30T21:48:38Z slyrus_: Oh, wait, you have to do that :) 2020-12-30T21:48:42Z phoe: :D 2020-12-30T21:48:57Z shka_: yeah, i am the owner 2020-12-30T21:49:31Z shka_: code looks 99% fine for me 2020-12-30T21:49:45Z shka_: but i would rather name that package vellum.utils 2020-12-30T21:50:03Z shka_: this is the current convention anyway 2020-12-30T21:50:08Z slyrus_: two minutes... 2020-12-30T21:50:24Z shka_: btw, i noticed that you contributed to the cl-dbi 2020-12-30T21:50:42Z shka_: i am starting to consider scrapping postmodern in favor of it 2020-12-30T21:51:56Z shka_: it happens that i seem to use PG almost exclusively 2020-12-30T21:51:58Z slyrus_: They both have their uses. For simpler stuff cl-dbi is nice. 2020-12-30T21:52:12Z slyrus_: But, yeah, postmodern is fine. I'd prefer to be all PG :) 2020-12-30T21:52:18Z shka_: right 2020-12-30T21:52:44Z shka_: as for that dependencies splitting 2020-12-30T21:53:07Z shka_: i think that i should create repos and link them into one project 2020-12-30T21:53:12Z galex-713 quit (Ping timeout: 268 seconds) 2020-12-30T21:53:13Z mindCrime joined #lisp 2020-12-30T21:53:33Z shka_: vellum-plotly, vellum-postmodern, vellum-mcclim and so one 2020-12-30T21:54:04Z rpg joined #lisp 2020-12-30T21:55:29Z shifty joined #lisp 2020-12-30T21:57:00Z slyrus_: Ok, new PR rebased and using vellum.utils is ready for your approval. 2020-12-30T21:57:26Z shka_: i would be fine with commit 2020-12-30T21:57:41Z shka_: anyway, love 2020-12-30T21:57:45Z shka_: it 2020-12-30T21:58:31Z slyrus_: awesome. Now to see why we've got some undefined variables. Could be package fallout. 2020-12-30T21:58:44Z slyrus_: And to adjust my work from yesterday to use the new name stuff. 2020-12-30T21:59:13Z shka_: undefined variables? oh no 2020-12-30T21:59:23Z shka_: i didn't notice anything 2020-12-30T21:59:52Z shka_: damn quickload and it's warning muffling 2020-12-30T22:00:03Z slyrus_: defmethod setf row-at 2020-12-30T22:00:16Z slyrus_: index and source are undefined 2020-12-30T22:00:57Z matta joined #lisp 2020-12-30T22:00:58Z shifty quit (Ping timeout: 246 seconds) 2020-12-30T22:01:05Z slyrus_: copy-paste error from above presumably 2020-12-30T22:01:18Z galex-713 joined #lisp 2020-12-30T22:03:49Z hiroaki_ quit (Ping timeout: 264 seconds) 2020-12-30T22:03:51Z shka_: slyrus_: fixed 2020-12-30T22:04:02Z shka_: as you may notice, i am not a tidy programmer 2020-12-30T22:04:44Z slyrus_: Looks like that one was in there for a while :) 2020-12-30T22:04:47Z slyrus_: thanks! 2020-12-30T22:05:03Z shka_: yeah, it seems so 2020-12-30T22:05:12Z slyrus_: 6 months :) 2020-12-30T22:05:32Z shka_: side effect of never actually setting value manually 2020-12-30T22:05:40Z shka_: i only use transform for that 2020-12-30T22:07:28Z slyrus_: What do you think about having (vellum:make-table :columns '(first-column (:name second-column :type fixnum))) work so that the :name is implicit if the column spec is an atom? 2020-12-30T22:07:28Z shka_: but yeah, there is a lot of stuff like that in that codebase 2020-12-30T22:07:53Z Younder quit (Quit: Leaving) 2020-12-30T22:07:54Z shka_: hmmm, i honestly don't like it 2020-12-30T22:08:12Z shka_: i would rather keep as much as possible explicit 2020-12-30T22:09:11Z slyrus_: Hmm... I think the :name stuff gets repetitive. If we can think of a reason not to use the symbol (if it's an atom), I'm OK with that, but the default should just be the name, IMO. I'd like terse syntax (to appeal to the dplyr-using crowd :) ). 2020-12-30T22:10:11Z shka_: i need to think about it 2020-12-30T22:10:21Z shka_: i see your point 2020-12-30T22:11:25Z shka_: anyway, what if you want to create 2 unnamed columns and then one named? 2020-12-30T22:11:42Z shka_: '(nil nil this-one-has-a-name)? 2020-12-30T22:11:49Z slyrus_: Yup 2020-12-30T22:12:14Z slyrus_: How do we feel about identically named columns? 2020-12-30T22:12:39Z slyrus_: prohibited. good. 2020-12-30T22:12:48Z Xach: what about ironically named columns? 2020-12-30T22:12:52Z slyrus_: with a special exception for unnamed columns. Which get a name? 2020-12-30T22:12:58Z slyrus_: hey xach, happy birthday! 2020-12-30T22:13:03Z shka_: Xach: good day 2020-12-30T22:13:24Z slyrus_: xach: I'm trying to help shka_ get vellum quicklisp ready :) 2020-12-30T22:13:29Z shka_: Xach: ironically named columns are supported, but not encouraged ;-) 2020-12-30T22:14:05Z phoe: I'll name my columns '(ionic doric corinthian) 2020-12-30T22:14:19Z phoe: will this signal an IRONIC-WARNING on vellum? 2020-12-30T22:14:20Z slyrus_: '(first fifth) 2020-12-30T22:14:33Z phoe: ...okay, that's warningworthy 2020-12-30T22:14:46Z slyrus_: '(advice gossip) 2020-12-30T22:15:42Z shka_: ACTIONABLE OFFENSIVE COLUMN NAMING DETECTED 2020-12-30T22:16:18Z phoe: (define-condition questionable-column-name (warning) (...)) 2020-12-30T22:16:41Z hiroaki_ joined #lisp 2020-12-30T22:17:43Z shka_: anyway, on the serious note 2020-12-30T22:17:52Z wsinatra quit (Quit: WeeChat 3.0) 2020-12-30T22:18:16Z flazh quit (Ping timeout: 240 seconds) 2020-12-30T22:18:28Z shka_: slyrus_: i lean toward allowing just-a-name for a column 2020-12-30T22:20:29Z slyrus_: I think it's a trivial change to make-header 2020-12-30T22:21:58Z shka_: it is quite simple, yes 2020-12-30T22:22:06Z slyrus_: works here 2020-12-30T22:22:17Z shka_: hmmm, ok, let's go for it 2020-12-30T22:22:38Z shka_: i had other people annoyed by the need for the explicit column naming 2020-12-30T22:24:06Z flazh joined #lisp 2020-12-30T22:24:30Z slyrus_: How do you feel about a print-object method for fundamental-table? 2020-12-30T22:24:58Z shka_: i also just added dual mode bind-row, so now you can either funcall bind-row directly OR grab the optimized closure out of it 2020-12-30T22:25:17Z shka_: so it can be both safe and fast 2020-12-30T22:25:21Z v0|d quit (Remote host closed the connection) 2020-12-30T22:25:28Z shka_: what would that print-object do? 2020-12-30T22:25:35Z slyrus_: call show 2020-12-30T22:26:09Z slyrus_: It would not print readably (yet, although that would be a nice goal). 2020-12-30T22:26:21Z shka_: not sure about the multiline print-object 2020-12-30T22:27:07Z slyrus_: I view this as a must have for interactive development with slime. I can obviously add my own, but I think it's a very nice feature. 2020-12-30T22:27:42Z slyrus_: I pushed the PR for bare column names. 2020-12-30T22:27:42Z shka_: i actually had other idea 2020-12-30T22:27:52Z shka_: yes, looking at it 2020-12-30T22:27:56Z slyrus_: Ok. 2020-12-30T22:28:52Z shka_: yup, that request is no brainer, merging 2020-12-30T22:29:32Z shka_: slyrus_: as for the interactive work 2020-12-30T22:29:45Z shka_: i would want to eventually build something with mcclim 2020-12-30T22:30:19Z shka_: essentially REPL with a table inspector build right in 2020-12-30T22:31:03Z shka_: i am not very good at McCLIM but i seen stuff like this 2020-12-30T22:32:22Z shka_: as for the print-object, i think i would accept this under condition that READ works 2020-12-30T22:32:40Z shka_: which would require a little bit of changes in printing as well 2020-12-30T22:33:12Z shka_: because for now, type information is not presented by show 2020-12-30T22:33:24Z slyrus_: it would be nice to have jackdaniel take a look at vellum and see how he thinks it compares to his polyclot stuff 2020-12-30T22:33:44Z shka_: i know polyclot 2020-12-30T22:34:02Z shka_: scope of the project is different 2020-12-30T22:34:32Z shka_: polyclot is focusing on simply being interface for the plotting library 2020-12-30T22:34:35Z slyrus_: yeah, but he had some dataframe-ish stuff in there as well, along with the mcclim support. not the same but some overlap. 2020-12-30T22:34:43Z shka_: yes 2020-12-30T22:35:17Z shka_: a little bit of overlap 2020-12-30T22:36:02Z shka_: slyrus_: anyway, beach sometimes talks about the second climacs 2020-12-30T22:36:20Z slyrus_: I don't hold my breath, but, yeah, would be nice. 2020-12-30T22:36:30Z shka_: i would imagine that building data IDE on top of it would be the holy grail 2020-12-30T22:37:55Z shka_: i will think about print-object, but i have mix feelings about to say the least 2020-12-30T22:38:36Z slyrus_: OK, being able to C-c C-p a form that makes a table and have it show up in a slime-description window is pretty nice :) 2020-12-30T22:39:43Z shka_: i can acknowledge that 2020-12-30T22:40:35Z contrapunctus left #lisp 2020-12-30T22:41:21Z slyrus_: Also, I'd like to modify the end (and maybe start) arg to show to default to the value of a special variable so users can set a default with how many rows they want to see (or all of them). 2020-12-30T22:41:36Z slyrus_: I suppose I could just do that from my print-object method :) 2020-12-30T22:41:49Z contrapunctus joined #lisp 2020-12-30T22:42:18Z shka_: ok, so print-object idea is ok, but perhaps don't call show in it 2020-12-30T22:43:18Z shka_: slyrus_: so, i would say that print-object should display the whole of the table 2020-12-30T22:43:28Z orivej quit (Ping timeout: 256 seconds) 2020-12-30T22:43:31Z shka_: as it is the case for vectors, lists and so one 2020-12-30T22:43:52Z shka_: my problem is that nothing in CL really prints in more then one line 2020-12-30T22:44:15Z phoe: what do you mean, in more than one line? 2020-12-30T22:44:33Z slyrus_: In the spirit of the lisp *print-length*, we should have user-settable special variables that can control these sorts of things. 2020-12-30T22:44:36Z phoe: because this sounds like pretty printing 2020-12-30T22:44:45Z shka_: phoe: right 2020-12-30T22:45:12Z shka_: slyrus_: ok, makes sense 2020-12-30T22:45:57Z shka_: slyrus_: phoe is right 2020-12-30T22:46:37Z slyrus_: The lisp pretty printer has great potential but is hard to get right. 2020-12-30T22:46:47Z elflng quit (Quit: leaving) 2020-12-30T22:46:47Z luckless quit (Quit: luckless) 2020-12-30T22:46:49Z shka_: so I officially ok the print-object idea 2020-12-30T22:46:56Z slyrus_: I wish there were more examples of pretty printing well (that I knew of). 2020-12-30T22:47:23Z shka_: but respect *print-pretty* 2020-12-30T22:47:30Z luckless joined #lisp 2020-12-30T22:47:35Z slyrus_: lichtblau's XML pretty printing stuff is a step in the right direction 2020-12-30T22:47:44Z shka_: and call show only if *print-pretty* is t 2020-12-30T22:48:11Z shka_: does that sound reasonable? 2020-12-30T22:48:45Z slyrus_: Yes, I guess I'm just used to it always being t. 2020-12-30T22:49:02Z shka_: heh 2020-12-30T22:49:47Z luckless quit (Client Quit) 2020-12-30T22:51:15Z luckless joined #lisp 2020-12-30T22:53:06Z slyrus_: so yeah, we should probably do better than we currently do on three fronts 2020-12-30T22:53:21Z slyrus_: 1. what do we print if *print-pretty* is nil? just the object as we currently do? 2020-12-30T22:53:33Z sjl_ quit (Ping timeout: 260 seconds) 2020-12-30T22:53:42Z slyrus_: 2. if *print-pretty* is t we should have some sort of nice table with some user-settable default limits 2020-12-30T22:53:56Z phantomics: lotuseater: yes, I heard about that. There's a surprising amount of shared history between Lisp and APL, the reason the arctanh function was broken in some early CL versions was that the it was improperly transcribed from APL. 2020-12-30T22:54:04Z slyrus_: 3. we should consider how to print our tables readably (pretty or ugly both). 2020-12-30T22:54:30Z shka_: 1. yup, maybe add number of rows, columns? 2020-12-30T22:54:37Z shka_: 2. yup 2020-12-30T22:54:45Z shka_: 3. eventually, yes 2020-12-30T22:54:54Z shka_: but not super important 2020-12-30T22:55:42Z shka_: i suspect that calling READ to read in data-frame would not be super important 2020-12-30T22:55:48Z shka_: *popular 2020-12-30T22:56:21Z phantomics: Given that Symbolics wrote LispM compilers for many other langauges to Lisp, I'm surprised they didn't write an implementation of APL, the Space Cadet keyboard even includes the APL characters (albeit in a non-standard layout) 2020-12-30T22:56:29Z slyrus_: read is not popular because it isn't well supported. It _could_ be, which would make it more popular, IMO. But, I can see how others might feel differently. 2020-12-30T22:56:58Z shka_: yes, but even in the Rlang land nobody does this anymore 2020-12-30T22:58:10Z shka_: on the other hand, i did some TCL programming and i can believe in a textual representations 2020-12-30T22:59:00Z shka_: slyrus_: anyway, it is really late here, i will go to sleep now 2020-12-30T22:59:07Z phantomics: shka_ and slyrus_ is vellum the project you're discussing? 2020-12-30T22:59:13Z slyrus_: ok, thanks shka_ 2020-12-30T22:59:13Z shka_: phantomics: yes 2020-12-30T22:59:16Z jasom joined #lisp 2020-12-30T22:59:34Z phantomics: Just looked at it, interested to see how it develops 2020-12-30T22:59:48Z shka_: ... it already has 2 years 2020-12-30T22:59:52Z phantomics: I created a web-based spreadsheet interface for Lisp systems a while back and this could be useful for its next edition 2020-12-30T22:59:56Z shka_: if you can believe that 2020-12-30T23:00:37Z shka_: and 50% of the development time went into debugging internal trees 2020-12-30T23:01:12Z shka_: slyrus_: wanna see something scary? 2020-12-30T23:01:17Z slyrus_: sure 2020-12-30T23:01:33Z shka_: https://github.com/sirherrbatka/vellum/blob/537f680af85b22003e8f2580d0dda4ff71ae9587/src/column/internal.lisp#L379 2020-12-30T23:02:33Z phantomics: Makes sense, I'm still working on perfecting the parser in my APL compiler 2020-12-30T23:02:47Z phantomics: Have you seen this? https://github.com/kat-co/cl-apache-arrow Could be an interesting integration 2020-12-30T23:03:08Z shka_: VELLUM:DROP-ROW was the most PITA to implement in the whole project 2020-12-30T23:03:26Z shka_: phantomics: wow, thans 2020-12-30T23:03:29Z shka_: *thanks 2020-12-30T23:03:36Z shka_: stared it 2020-12-30T23:03:37Z phantomics: There was a recent paper by a group of financial industry consultants who found that NumPy combined with Arrow could give faster performance than the super-expensive, proprietary kdb+ 2020-12-30T23:05:05Z slyrus_: shka_: you're not gonna like this but I think the whole selection thing should default to an atom that names the column we want but if it's a list it can be '(:v 1) e.g. 2020-12-30T23:05:49Z shka_: slyrus_: heh 2020-12-30T23:07:00Z shka_: no, this actually sound reasonable 2020-12-30T23:07:02Z slyrus_: (vellum:select *table* :columns '(:v subject :v conc :v time)) vs (vellum:select *table* :columns '(subject conc time)) 2020-12-30T23:07:27Z shka_: i think that select stuff should be redesigned 2020-12-30T23:07:38Z slyrus_: There, I just did it :) 2020-12-30T23:07:47Z shka_: not like that 2020-12-30T23:07:52Z slyrus_: hah! 2020-12-30T23:08:07Z shka_: something like that 2020-12-30T23:08:08Z orivej joined #lisp 2020-12-30T23:08:27Z shka_: ((:v subject)(:v conc)(:v time)) 2020-12-30T23:08:40Z slyrus_: is there a dplyr::filter equivalent or do I code my own with transform/bind-row/drop-row? 2020-12-30T23:09:00Z shka_: let me check what filter does 2020-12-30T23:09:27Z shka_: yes, just use transform 2020-12-30T23:09:53Z shka_: transform does EVERYTHING 2020-12-30T23:10:07Z shka_: it is perhaps a little bit to low level though 2020-12-30T23:10:30Z shka_: slyrus_: anyway, select is kinda fancy because you can write stuff like 2020-12-30T23:10:57Z shka_: (:take-from 0 :skip-from 3 :skip-to 8 :take-to 12) 2020-12-30T23:11:19Z shka_: but it is not quite practical 2020-12-30T23:11:49Z asarch quit (Quit: Leaving) 2020-12-30T23:12:18Z shka_: i think that if atom is encountered, it should be treated as literal row/column ID, otherwise, it gets FANCY 2020-12-30T23:14:27Z shka_: but fanciness should be described using trees 2020-12-30T23:14:48Z slyrus_: this is nice: (filter *table* (time conc) (and (<= time 1.0) (> conc 2.0))) 2020-12-30T23:15:43Z shka_: let me check API package actually 2020-12-30T23:16:11Z pve_ joined #lisp 2020-12-30T23:16:13Z shka_: yeah, nothing like that 2020-12-30T23:16:52Z attila_lendvai quit (Ping timeout: 260 seconds) 2020-12-30T23:16:58Z slyrus_: how do I get all the column names of a table? 2020-12-30T23:18:12Z mrcom quit (Ping timeout: 265 seconds) 2020-12-30T23:18:57Z shka_: slyrus_: get header using vellum.table:header, then you can either column-specs or iterate over the header calling index-to-name 2020-12-30T23:19:11Z shka_: the following two functions are in the vellum.header 2020-12-30T23:19:40Z pve quit (Ping timeout: 272 seconds) 2020-12-30T23:21:36Z pve_ quit (Quit: leaving) 2020-12-30T23:21:55Z shka_: column-count on the header returns number of columns 2020-12-30T23:21:57Z phireh joined #lisp 2020-12-30T23:21:58Z shka_: same for the table 2020-12-30T23:22:13Z shka_: but symbol is actually from the different package 2020-12-30T23:22:48Z slyrus_: yes, I can get column count and iterate over columns calling column-name. 2020-12-30T23:22:56Z slyrus_: might be a more efficient approach but that will work for now. 2020-12-30T23:23:02Z slyrus_: We should add and export that. 2020-12-30T23:23:18Z shka_: i would rather not 2020-12-30T23:23:24Z slyrus_: oh? 2020-12-30T23:23:27Z shka_: it is low level stuff 2020-12-30T23:23:36Z slyrus_: column names aren't, IMO. 2020-12-30T23:23:59Z shka_: ah, right 2020-12-30T23:24:18Z shka_: you are talking about vellum.table:column-name 2020-12-30T23:24:52Z shka_: yes, this should be exported 100% 2020-12-30T23:24:55Z shka_: if it is not already 2020-12-30T23:26:33Z shka_: good night 2020-12-30T23:27:41Z slyrus_: it was the utility function for getting all of the column names at once 2020-12-30T23:27:43Z slyrus_: good night! 2020-12-30T23:33:37Z Misha_B joined #lisp 2020-12-30T23:33:38Z shka_ quit (Ping timeout: 264 seconds) 2020-12-30T23:37:40Z elflng joined #lisp 2020-12-30T23:38:53Z andreyorst quit (Quit: WeeChat 3.0) 2020-12-30T23:42:52Z andreyorst joined #lisp 2020-12-30T23:44:30Z shifty joined #lisp 2020-12-30T23:46:04Z Steeve quit (Quit: end) 2020-12-30T23:55:42Z luni quit (Quit: Connection closed) 2020-12-30T23:56:40Z rumbler31 joined #lisp 2020-12-30T23:57:52Z v88m quit (Ping timeout: 256 seconds) 2020-12-30T23:58:06Z frgo quit (Remote host closed the connection) 2020-12-30T23:58:31Z v88m joined #lisp 2020-12-30T23:58:33Z frgo joined #lisp 2020-12-30T23:59:34Z dbotton joined #lisp 2020-12-31T00:00:30Z cosimone quit (Quit: cosimone) 2020-12-31T00:03:13Z v88m quit (Ping timeout: 264 seconds) 2020-12-31T00:08:54Z frost-lab joined #lisp 2020-12-31T00:09:42Z orivej quit (Ping timeout: 260 seconds) 2020-12-31T00:19:12Z gaqwas quit (Ping timeout: 272 seconds) 2020-12-31T00:19:29Z rumbler31_ joined #lisp 2020-12-31T00:20:16Z bitmapper joined #lisp 2020-12-31T00:27:47Z random-nick quit (Ping timeout: 260 seconds) 2020-12-31T00:35:01Z bilegeek joined #lisp 2020-12-31T00:38:57Z rumbler31_: trying to figure out uiop:with-temporary-file 2020-12-31T00:39:31Z phoe: what about it? 2020-12-31T00:39:57Z rumbler31_: what is the point of specifying :want-stream-p to be nil, the body runs after the stream is closed, but how is this useful if there was no way for user code to know what file handle was just created? 2020-12-31T00:40:56Z rumbler31_: in other words, it seems like you only want to do this if you want to simply create an empty temporary file, and the only thing I can think of is that you would then want to do something with this file, either in the body (like open it back up) or simply return the newly created pathname out of this form. Am I missing something? 2020-12-31T00:41:12Z rumbler31 quit (Remote host closed the connection) 2020-12-31T00:44:50Z lucasb quit (Quit: Connection closed for inactivity) 2020-12-31T00:48:12Z rumbler31_: it also looks like you can't nest them and include calls to :close-stream 2020-12-31T00:48:51Z rumbler31 joined #lisp 2020-12-31T00:49:07Z l1x quit (Quit: Connection closed for inactivity) 2020-12-31T00:49:10Z urek joined #lisp 2020-12-31T00:49:20Z urek quit (Remote host closed the connection) 2020-12-31T00:50:24Z phoe: where's :want-stream-p? I can't see it in WITH-TEMPORARY-FILE 2020-12-31T00:50:35Z phoe: I see it only in CALL-WITH-TEMPORARY-FILE 2020-12-31T00:52:26Z v88m joined #lisp 2020-12-31T00:56:38Z varjag quit (Ping timeout: 256 seconds) 2020-12-31T00:57:34Z matta: rumbler31_: uiop:want-stream-p requires a pathname if a stream isn't requested. CALL-WITH-TEMPORARY-FILE will close the stream before running the body as you said, but the path name will be available. 2020-12-31T00:58:43Z rumbler31_: sorry I was mixing my functions, in the macro to with-temporary-file, I meant the equivalent of specitying want-stream-p, which is to specify a value for the :stream parameter, but yes 2020-12-31T00:59:51Z rumbler31_: so once you have this file, what would you want to do with it that didn't require opening it up in the body, that also wouldn't require keeping it around and binding the pathname to a variable that was in scope after the body returns? 2020-12-31T01:05:10Z surabax quit (Quit: Leaving) 2020-12-31T01:09:59Z rumbler31_: for example, after reading the macroexpands, I don't see a cleaner way to write the following https://pastebin.com/jWHC46J0 2020-12-31T01:12:17Z matta: I think it would be cleaner to call UIOP:RUN-PROGRAM within the WITH-TEMPORARY-FILE body. 2020-12-31T01:12:55Z phoe: but... wait a second 2020-12-31T01:13:07Z phoe: in with-temporary-file, you don't want the streams 2020-12-31T01:13:16Z phoe: but then you call with-open-file which opens the streams anyway 2020-12-31T01:13:22Z phoe: why 2020-12-31T01:13:49Z phoe: cannot you specify both :pathname and :stream in there? 2020-12-31T01:18:41Z rumbler31 quit (Remote host closed the connection) 2020-12-31T01:19:17Z phoe: or also https://plaster.tymoon.eu/view/2220#2220 2020-12-31T01:19:27Z matta: Also, I think :keep t is an edge case for WITH-TEMPORARY-FILE. I'd suggest putting as much code as is reasonable within the body, for clarity -- including your call to uiop:run-program. 2020-12-31T01:19:43Z phoe: no streams, no keeps, no setq 2020-12-31T01:19:53Z andreyorst quit (Quit: WeeChat 3.0) 2020-12-31T01:20:14Z phoe: only :if-exists :supersede that is required in this case because both files exist 2020-12-31T01:20:17Z matta: yes, exactly like phoe's paste. 2020-12-31T01:25:57Z rgherdt quit (Ping timeout: 268 seconds) 2020-12-31T01:34:12Z gzj joined #lisp 2020-12-31T01:37:30Z gzj quit (Remote host closed the connection) 2020-12-31T01:38:19Z wxie joined #lisp 2020-12-31T01:39:33Z gzj joined #lisp 2020-12-31T01:44:48Z vutral joined #lisp 2020-12-31T01:46:04Z cyraxjoe quit (Quit: I'm out!) 2020-12-31T01:46:45Z wxie quit (Ping timeout: 240 seconds) 2020-12-31T01:47:32Z wxie joined #lisp 2020-12-31T01:48:54Z cyraxjoe joined #lisp 2020-12-31T01:52:50Z voidlily quit (Ping timeout: 264 seconds) 2020-12-31T02:01:05Z rumbler31_: phoe: so this started because I originally had all the code inside the body of two with-temporary-file calls 2020-12-31T02:02:36Z rumbler31_: I specified a parameter for both :stream and :pathname, and in the beginning of the body of the first call to with-temporary-file, I printed the string to the open stream. I then needed to close the stream to flush it to disk (and I don't need the stream open anymore) so I specified :close-stream 2020-12-31T02:03:06Z cyraxjoe quit (Quit: I'm out!) 2020-12-31T02:04:22Z rumbler31_: before opening the next invocation of with-temporary-file, wherein I did the same thing. After the inner :close-stream label, I put the run-program call and specified the pathnames as arguments to the command. When I macroexpanded, I found that the innermost body was being carried up 2020-12-31T02:05:04Z rumbler31_: its easier to code up a few examples than explain it, but basically in the macro, if a :close-stream is called, the body before is stored in a gensym "before" and the after in a gensym "after" 2020-12-31T02:05:13Z voidlily joined #lisp 2020-12-31T02:05:19Z rumbler31_: :close-stream "is specified" sorry 2020-12-31T02:05:53Z cyraxjoe joined #lisp 2020-12-31T02:06:07Z rumbler31_: with nested macros with :close-stream labels, the innermost body was being stored in a place where it couldn't see all the bindings 2020-12-31T02:06:26Z rumbler31_: actually gimme a moment and I'll just write it up and paste it 2020-12-31T02:11:58Z rumbler31_: ok scratch all that. I wasn't fully reading my error messages 2020-12-31T02:12:57Z rumbler31_: for the record, this works https://pastebin.com/ZxfYNKv4 2020-12-31T02:13:06Z rumbler31_: sorry for the noise 2020-12-31T02:14:32Z rumbler31_: all is calm, all is right 2020-12-31T02:18:28Z vegansbane6 quit (Quit: The Lounge - https://thelounge.chat) 2020-12-31T02:36:31Z lowryder quit (Ping timeout: 272 seconds) 2020-12-31T02:38:20Z lowryder joined #lisp 2020-12-31T02:40:19Z rumbler31 joined #lisp 2020-12-31T02:48:26Z shifty quit (Ping timeout: 256 seconds) 2020-12-31T02:49:06Z shifty joined #lisp 2020-12-31T02:51:05Z gzj quit (Remote host closed the connection) 2020-12-31T02:51:26Z gzj joined #lisp 2020-12-31T02:52:05Z gzj quit (Remote host closed the connection) 2020-12-31T02:52:26Z gzj joined #lisp 2020-12-31T03:01:56Z shifty quit (Ping timeout: 240 seconds) 2020-12-31T03:02:45Z shifty joined #lisp 2020-12-31T03:10:13Z shifty quit (Ping timeout: 260 seconds) 2020-12-31T03:10:42Z shifty joined #lisp 2020-12-31T03:11:52Z wxie quit (Read error: Connection reset by peer) 2020-12-31T03:14:47Z wxie joined #lisp 2020-12-31T03:18:36Z rumbler31 quit (Ping timeout: 240 seconds) 2020-12-31T03:19:59Z rumbler31 joined #lisp 2020-12-31T03:20:11Z Stanley00 joined #lisp 2020-12-31T03:20:25Z dbotton quit (Quit: This computer has gone to sleep) 2020-12-31T03:25:50Z shifty quit (Ping timeout: 256 seconds) 2020-12-31T03:26:36Z shifty joined #lisp 2020-12-31T03:27:33Z matryoshka` joined #lisp 2020-12-31T03:28:34Z matryoshka quit (Read error: Connection reset by peer) 2020-12-31T03:30:56Z shifty quit (Ping timeout: 240 seconds) 2020-12-31T03:39:56Z wxie quit (Ping timeout: 240 seconds) 2020-12-31T03:41:23Z akoana must be day or must be night 2020-12-31T03:44:06Z wxie joined #lisp 2020-12-31T03:47:58Z Josh_2 quit (Remote host closed the connection) 2020-12-31T03:50:05Z rumbler31 quit (Remote host closed the connection) 2020-12-31T03:51:22Z thmprover joined #lisp 2020-12-31T03:54:26Z vutral quit (Quit: Connection closed for inactivity) 2020-12-31T03:57:36Z phireh quit (Ping timeout: 240 seconds) 2020-12-31T04:02:13Z Alfr_ joined #lisp 2020-12-31T04:03:21Z sm2n joined #lisp 2020-12-31T04:03:57Z beach: Good morning everyone! 2020-12-31T04:05:03Z Alfr quit (Ping timeout: 268 seconds) 2020-12-31T04:05:34Z shinohai: Buenas dias beach ! 2020-12-31T04:08:05Z rumbler31 joined #lisp 2020-12-31T04:08:29Z pyc: Good morning beach. Which timezone do you belong to? 2020-12-31T04:08:51Z beach: UTC+1 2020-12-31T04:09:29Z pyc: beach: wow! must be early morning there. 2020-12-31T04:10:59Z beach: Colleen: Time in Bordeaux. 2020-12-31T04:11:00Z Colleen: The time in Bordeaux. is 2020.12.31 05:11:00. 2020-12-31T04:21:07Z marusich quit (Ping timeout: 260 seconds) 2020-12-31T04:24:14Z orivej joined #lisp 2020-12-31T04:32:20Z marusich joined #lisp 2020-12-31T04:33:39Z karlosz joined #lisp 2020-12-31T04:44:56Z mfiano: Hello all. I have a programming problem here, and the answer is probably either row-major-aref or displaced arrays, but I'm unsure how to utilize them very well, and definitely not for this problem. 2020-12-31T04:46:59Z mfiano: I have a large 2D array of grid cell objects. I have a function that takes as input this grid, and a rectangle object. Inside the function, I convert the coordinates of each of the rectangles corners into grid coordinates, and I now need to loop over the sub-region of the grid denoted by these 4 coordinates, collecting the grid cell objects. 2020-12-31T04:47:06Z mfiano: Any help would be appreciated. 2020-12-31T04:48:24Z karlosz quit (Ping timeout: 256 seconds) 2020-12-31T04:48:35Z beach: (loop for i from a below b append (loop for j from c below d collect (grid i j))) 2020-12-31T04:50:00Z bitmapper quit (Quit: Connection closed for inactivity) 2020-12-31T04:51:05Z mfiano: Oh hmm, that might work. Though I can't really afford that append in there. 2020-12-31T04:51:30Z beach: Try nconc then. 2020-12-31T04:51:48Z beach: Or do it manually. 2020-12-31T04:52:07Z mfiano: Thank you beach. 2020-12-31T04:52:27Z mfiano: I was overthinking this at this late hour on the opposite side of the world. 2020-12-31T04:52:38Z varjag joined #lisp 2020-12-31T04:52:46Z beach: (loop with result = '() for i from a below b do (loop for j from c below d do (push (grid i j) result)) finally (return (nreverse result))) 2020-12-31T04:53:06Z mfiano: did you just destructively modify a list literal? :) 2020-12-31T04:53:13Z beach: No. 2020-12-31T04:55:03Z aeth: In terms of style, I tend to use (list) there for exactly the reason mfiano brought up 2020-12-31T04:55:08Z aeth: even though obviously it doesn't modify a list literal 2020-12-31T04:56:54Z wxie quit (Ping timeout: 256 seconds) 2020-12-31T04:57:24Z varjag quit (Ping timeout: 256 seconds) 2020-12-31T04:58:24Z pfdietz quit (Ping timeout: 245 seconds) 2020-12-31T04:59:16Z mfiano: I guess I'm still a little lost and probably need sleep. I have 8 variables, denoting the x,y coordinates of 4 grid locations. 2020-12-31T04:59:36Z aeth: absolutely 2020-12-31T04:59:41Z aeth: that's what I'd do in the situation 2020-12-31T04:59:45Z aeth: sleep solves all problems 2020-12-31T05:01:53Z beach: In terms of my loop, the corners would be [a c] [a d] [b c] [b d] 2020-12-31T05:02:25Z sjl quit (Quit: WeeChat 2.2-dev) 2020-12-31T05:07:39Z wxie joined #lisp 2020-12-31T05:07:45Z Jesin quit (Read error: Connection reset by peer) 2020-12-31T05:08:04Z Jesin joined #lisp 2020-12-31T05:13:20Z akoana: beach: just trying to follow, what would (grid i j) be? I get Undefined function: GRID 2020-12-31T05:13:53Z akoana: (trying your loop) 2020-12-31T05:14:12Z beach: (aref grid i j) I guess. 2020-12-31T05:14:28Z akoana: ah, thank you! 2020-12-31T05:23:42Z phoe6 quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) 2020-12-31T05:27:08Z Jesin quit (Read error: Connection reset by peer) 2020-12-31T05:42:10Z thmprover quit (Quit: Another long day's journey into night.) 2020-12-31T05:52:02Z freshmaker666 joined #lisp 2020-12-31T05:52:43Z akoana quit (Quit: leaving) 2020-12-31T05:55:23Z luckless quit (Ping timeout: 240 seconds) 2020-12-31T05:56:05Z rumbler31 quit (Remote host closed the connection) 2020-12-31T05:58:02Z luckless joined #lisp 2020-12-31T05:58:46Z perrier-jouet quit (Quit: WeeChat 3.0) 2020-12-31T06:14:53Z andreyorst joined #lisp 2020-12-31T06:15:37Z saganman joined #lisp 2020-12-31T06:41:47Z Stanley00 quit (Remote host closed the connection) 2020-12-31T06:42:44Z andreyorst` joined #lisp 2020-12-31T06:42:46Z andreyorst` quit (Remote host closed the connection) 2020-12-31T06:43:09Z waleee-cl quit (Quit: Connection closed for inactivity) 2020-12-31T06:43:16Z andreyorst_ joined #lisp 2020-12-31T06:46:56Z judson_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-12-31T07:02:36Z orivej quit (Ping timeout: 240 seconds) 2020-12-31T07:04:36Z andreyorst_ quit (Ping timeout: 240 seconds) 2020-12-31T07:05:58Z andreyorst` joined #lisp 2020-12-31T07:07:04Z birdwing joined #lisp 2020-12-31T07:07:28Z contrapunctus left #lisp 2020-12-31T07:07:48Z contrapunctus joined #lisp 2020-12-31T07:12:02Z _whitelogger quit (Remote host closed the connection) 2020-12-31T07:14:10Z _whitelogger joined #lisp 2020-12-31T07:16:02Z birdwing quit (Read error: Connection reset by peer) 2020-12-31T07:24:33Z rpg quit (Ping timeout: 260 seconds) 2020-12-31T07:26:02Z shka_ joined #lisp 2020-12-31T07:27:51Z galex-713 quit (Ping timeout: 272 seconds) 2020-12-31T07:28:42Z orivej joined #lisp 2020-12-31T07:34:38Z narimiran joined #lisp 2020-12-31T07:34:38Z amb007 quit (Read error: Connection reset by peer) 2020-12-31T07:34:58Z amb007 joined #lisp 2020-12-31T07:35:05Z luni joined #lisp 2020-12-31T07:36:15Z oni-on-ion: http://www.sbcl.org/all-news.html#2.1.0 2020-12-31T07:38:36Z skapata quit (Remote host closed the connection) 2020-12-31T07:46:17Z kenran joined #lisp 2020-12-31T07:46:49Z MrNo1 joined #lisp 2020-12-31T07:48:33Z MrNo1_ joined #lisp 2020-12-31T07:49:32Z C-16 joined #lisp 2020-12-31T07:51:19Z MrNo1_ quit (Remote host closed the connection) 2020-12-31T07:51:55Z MrNo1 quit (Ping timeout: 272 seconds) 2020-12-31T07:53:38Z frost-lab quit (Quit: Connection closed) 2020-12-31T07:54:44Z villanella joined #lisp 2020-12-31T07:55:06Z C-16 quit (Quit: leaving) 2020-12-31T07:55:22Z bilegeek quit (Quit: Leaving) 2020-12-31T08:00:19Z kenran: I've started reading PCL and I've just finished the chapter where he builds a small unit test framework. One question that popped into my mind is about the function (defun report-result (result form) (format t "something~a" result form)): Would it be possible to use a macro for that as well? 2020-12-31T08:02:39Z kenran: Or is it because 'result' is only known at runtime? 2020-12-31T08:03:00Z phoe: why use a macro 2020-12-31T08:03:09Z gutter quit (Remote host closed the connection) 2020-12-31T08:03:25Z kenran: In general, I'm now wondering if/when to use macros where a normal function would do as well. 2020-12-31T08:03:30Z phoe: never 2020-12-31T08:03:48Z phoe: whenever a normal function does well, always use normal functions 2020-12-31T08:03:58Z kenran: that sounds like a good rule 2020-12-31T08:04:20Z kenran: thanks 2020-12-31T08:04:22Z quazimodo quit (Ping timeout: 246 seconds) 2020-12-31T08:04:59Z kenran: At the moment, I'm just playing around to get a feeling for what can be done at macro-expansion time and what needs to be done at runtime. It's a bit mind-boggling :D 2020-12-31T08:05:18Z kenran: I've done some Clojure, but didn't really use macros at all there except for a few simple cases. 2020-12-31T08:09:08Z wxie quit (Ping timeout: 272 seconds) 2020-12-31T08:11:23Z luckless quit (Ping timeout: 240 seconds) 2020-12-31T08:14:57Z luckless joined #lisp 2020-12-31T08:15:37Z orivej quit (Ping timeout: 260 seconds) 2020-12-31T08:18:30Z kaftejiman quit (Remote host closed the connection) 2020-12-31T08:18:36Z gzj quit (Remote host closed the connection) 2020-12-31T08:24:02Z _whitelogger quit (Remote host closed the connection) 2020-12-31T08:26:10Z _whitelogger joined #lisp 2020-12-31T08:26:53Z jjong joined #lisp 2020-12-31T08:32:07Z rumbler31 joined #lisp 2020-12-31T08:33:17Z gutter joined #lisp 2020-12-31T08:34:27Z gaqwas joined #lisp 2020-12-31T08:34:27Z gaqwas quit (Changing host) 2020-12-31T08:34:27Z gaqwas joined #lisp 2020-12-31T08:35:36Z rumbler31_ quit (Ping timeout: 240 seconds) 2020-12-31T08:36:49Z rumbler31 quit (Ping timeout: 264 seconds) 2020-12-31T08:37:32Z amirouche quit (Ping timeout: 260 seconds) 2020-12-31T08:40:02Z amirouche joined #lisp 2020-12-31T08:42:05Z frost-lab joined #lisp 2020-12-31T08:43:34Z orivej joined #lisp 2020-12-31T08:52:02Z gaqwas quit (Remote host closed the connection) 2020-12-31T08:57:02Z _whitelogger quit (Remote host closed the connection) 2020-12-31T08:58:41Z quazimodo joined #lisp 2020-12-31T08:59:10Z _whitelogger joined #lisp 2020-12-31T09:07:43Z hendursaga quit (Ping timeout: 240 seconds) 2020-12-31T09:09:57Z hendursaga joined #lisp 2020-12-31T09:10:22Z sauvin: Feh. I'm still trying to figure out how to (setq b a) in fun1 such that it's visible *nowhere* outside fun1. 2020-12-31T09:12:16Z epony quit (Ping timeout: 240 seconds) 2020-12-31T09:13:09Z beach: clhs let 2020-12-31T09:13:09Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/s_let_l.htm 2020-12-31T09:13:41Z beach: sauvin: You can't use SETQ on an undefined variable. 2020-12-31T09:13:50Z beach: If you try, you should get a warning. 2020-12-31T09:15:33Z beach: sauvin: If I understand you correctly, you want B to be a lexical (local) variable, yes? 2020-12-31T09:15:55Z sauvin: Yes, visible *only* inside the form in which it's used. 2020-12-31T09:16:08Z beach: Er, what does that mean? 2020-12-31T09:16:20Z beach: The form is (setq b a). 2020-12-31T09:16:41Z beach: Clearly for that form to make sense, there has got to be a B outside it. 2020-12-31T09:16:51Z sauvin: (defun crap () (setq a something) (setq b something_else) (somefunc something somethingelse) ) 2020-12-31T09:17:02Z beach: You are not allowed to do that. 2020-12-31T09:17:03Z phoe: sauvin: which A and B are you setting? 2020-12-31T09:17:11Z phoe: I mean, where were they defined? 2020-12-31T09:17:13Z beach: A and B are not defined. 2020-12-31T09:17:29Z beach: sauvin: Use LET to define A and B. 2020-12-31T09:17:53Z sauvin: That's what I'm looking at because of what you said just minutes ago. 2020-12-31T09:17:57Z oni-on-ion quit (Quit: Quit) 2020-12-31T09:18:44Z beach: (defun ... () (let ((a something) (b something-else)) ...)) 2020-12-31T09:19:11Z oni-on-ion joined #lisp 2020-12-31T09:19:22Z beach: You are not allowed to use SETQ on undefined variables. Your Common Lisp implementation should have given you a warning. 2020-12-31T09:20:20Z shka_: hmmmm 2020-12-31T09:20:39Z rgherdt joined #lisp 2020-12-31T09:20:45Z shka_: more like, you are advised against it 2020-12-31T09:20:49Z shka_: strongly 2020-12-31T09:21:00Z beach: shka_: It is undefined behavior. 2020-12-31T09:21:04Z shka_: really? 2020-12-31T09:21:07Z beach: Yes. 2020-12-31T09:21:30Z shka_: on lisp uses setq to define global variable... 2020-12-31T09:21:41Z shka_: bad Graham, bad 2020-12-31T09:21:51Z beach: Yes, so do some other books, and so does the Common Lisp HyperSpec in places. 2020-12-31T09:22:32Z phoe: yes 2020-12-31T09:22:32Z shka_: i suspect that there is story behind it, but it is pretty bad 2020-12-31T09:22:36Z paul0 joined #lisp 2020-12-31T09:22:43Z phoe: the story is that old lisps used that to define global variables 2020-12-31T09:22:56Z phantomics: For the purpose of teaching, it's convenient to do it that way. Wrapping everything in a (let) form is confusing to new users 2020-12-31T09:22:57Z shka_: i suspected this 2020-12-31T09:23:02Z phantomics: Although it starts them out with a bad habit 2020-12-31T09:23:03Z phoe: and modern CL implementations preserve this behavior for backwards compatibility even though it's not CL-valid 2020-12-31T09:23:18Z shka_: this is evil 2020-12-31T09:23:33Z phoe: ...but some of them issue warnings 2020-12-31T09:23:43Z beach: shka_: It is just that, in the past, we thought it was a good idea to help the programmer by doing "something reasonable". But then we got wiser because a simple typo can then create a lot of debugging time. 2020-12-31T09:24:10Z beach: shka_: Same with having DEFMETHOD implicitly create the generic function. 2020-12-31T09:24:10Z shka_: beach: the infamous good idea fairy 2020-12-31T09:24:48Z phoe: DWIM 2020-12-31T09:25:59Z shka_: defmethod creating generic is so nice when you forget to add the packagename to the function name 2020-12-31T09:26:09Z shka_: and it just implicitly creates THE WRONG METHOD 2020-12-31T09:26:13Z shka_: eh 2020-12-31T09:26:27Z beach: That's what I mean, yes. 2020-12-31T09:27:20Z shka_: this is actually worse then setq 2020-12-31T09:27:47Z shka_: because there is no reason to use setq instead of setf 2020-12-31T09:28:24Z beach: Using SETF on an undefined variable is also undefined behavior. 2020-12-31T09:28:41Z gaqwas joined #lisp 2020-12-31T09:28:41Z gaqwas quit (Changing host) 2020-12-31T09:28:41Z gaqwas joined #lisp 2020-12-31T09:28:43Z shka_: right 2020-12-31T09:29:13Z sauvin: Yes, it looks like let is what I'm looking for. 2020-12-31T09:29:26Z oni-on-ion: ouch 2020-12-31T09:29:44Z beach: oni-on-ion: What? 2020-12-31T09:30:17Z sauvin: When I say I have zero experience with lisp, I'm lying, but not by much: about twenty years ago, I did a couple of years of writing AutoLISP stuff. 2020-12-31T09:30:27Z shka_: beach: do you plan to error-out on setq that should not be? 2020-12-31T09:30:33Z phoe: autolisp isn't very close to CL 2020-12-31T09:30:43Z shka_: in sicl 2020-12-31T09:30:46Z phoe: and even the overall CL programming style has changed over the last twenty years 2020-12-31T09:30:49Z oni-on-ion: had thought; torah is like CLHS, the written version. now there is the oral "tradition" which is not written down, as the other half of the story. it feels like CL has this kind of situation as well =) 2020-12-31T09:30:56Z beach: shka_: Maybe so. 2020-12-31T09:31:11Z phoe: oni-on-ion: yes, the holy scriptures and their interpretations sort of situation 2020-12-31T09:31:15Z oni-on-ion: yeh 2020-12-31T09:31:18Z sauvin: I'm not counting AutoLISP as lisp experience for that very reason. It's not like what I believe I remember. 2020-12-31T09:31:41Z shka_: beach: if it won't prevent compilation of 99% of lisp systems? ;-) 2020-12-31T09:31:41Z phoe: but with CLHS the issue isn't because it's holy, it's because fixing it and ensuring backwards compatibility is a massive and time-taking and thankless task 2020-12-31T09:31:48Z phoe: and I say that as someone who tried 2020-12-31T09:31:55Z oni-on-ion: heh, fair 2020-12-31T09:31:58Z phoe: shka_: it sounds more like finding bugs in dependencies of 99% lisp systems 2020-12-31T09:32:03Z phoe: I'm all up for it 2020-12-31T09:32:14Z beach: shka_: I already catch things that others don't, like incorrect LOOP clause order. 2020-12-31T09:32:15Z shka_: phoe: heh, this is the same thing 2020-12-31T09:32:31Z phoe: :D 2020-12-31T09:32:37Z oni-on-ion: beach, i wanted to ask you earlier, what is main reason for new implementation? just curious 2020-12-31T09:33:27Z beach: oni-on-ion: The stuff that I want would be unacceptable to the maintainers of existing Common Lisp implementations, so that was my only option. 2020-12-31T09:33:35Z hnOsmium0001 quit (Quit: Connection closed for inactivity) 2020-12-31T09:33:36Z shka_: oni-on-ion: clean room approach vs 50 years old code base? 2020-12-31T09:33:53Z phoe: writing in full CL as opposed to writing in subsets of CL and/or other languages 2020-12-31T09:33:54Z beach: oni-on-ion: Like first-class global environments, more use of CLOS, "cleaner" code. 2020-12-31T09:34:14Z beach: That too, yes. 2020-12-31T09:34:29Z oni-on-ion: ahh! very cool. and very fair 2020-12-31T09:34:47Z oni-on-ion: is it fun/worthwhile so far ? quite the undertaking 2020-12-31T09:35:25Z beach: oni-on-ion: It is a lot of work, but I am doing great progress. And I have had significant help. 2020-12-31T09:35:34Z phoe: it already has multiple benefits on the Lisp ecosystem, too 2020-12-31T09:35:59Z phoe: the project is highly modular and that's a big benefit, because we get e.g. Cleavir the compiler or Eclector the reader as fully portable and conforming libraries 2020-12-31T09:36:19Z phoe: and we can and do use them outside SICL. 2020-12-31T09:36:25Z beach: oni-on-ion: scymtym basically created Eclector (the reader). Bike and karlosz are working on the compiler. heisig did Trucler and the sequence functions. etc. etc. 2020-12-31T09:36:49Z shka_: clasp uses bits of sicl as well 2020-12-31T09:37:02Z beach: Indeed, Clasp uses the compiler and Eclector. 2020-12-31T09:38:25Z oni-on-ion: beach, ah awesome! very cool =) 2020-12-31T09:38:41Z beach: Thanks! 2020-12-31T09:38:50Z oni-on-ion: phoe, true; had noticed some of this 2020-12-31T09:39:27Z oni-on-ion: i've had gotten SICL and Clasp mixed up (not in name) and SICL is where my interest goes mainly. there seems to be much CL code that can be shared across imps 2020-12-31T09:43:58Z beach: That was my initial idea, yes. 2020-12-31T09:44:07Z beach: But as it turns out, it is not going to be easy. 2020-12-31T09:44:51Z beach: Since I use the full language to implement each module, most Common Lisp implementations can't use them. They must build up the system from a simple core, adding features for each new module. 2020-12-31T09:45:07Z oni-on-ion: have not seen Bike in a while 2020-12-31T09:45:25Z beach: He's on vacation probably. 2020-12-31T09:45:32Z beach: I don't have that problem with SICL, because of the way it is bootstrapped. 2020-12-31T09:45:34Z oni-on-ion: beach, ahh, hmm. i notice more and more SBCL-specific features happening. but no one wants to use them 2020-12-31T09:45:54Z pve joined #lisp 2020-12-31T09:46:01Z beach: Such as? 2020-12-31T09:46:01Z shka_: oni-on-ion: because people like portable cod 2020-12-31T09:46:04Z shka_: code 2020-12-31T09:47:14Z oni-on-ion: beach, type inference for eg; but a lot on the release changes page http://www.sbcl.org/news.html#2.1.0 2020-12-31T09:47:43Z beach: I see. 2020-12-31T09:47:49Z oni-on-ion: shka_, i've rarely seen that in practice; but mostly in the form of "i like to keep another one around, CLISP or ccl or whatever, just to check make sure my code is portable" 2020-12-31T09:47:52Z phoe: what do you mean by SBCL-specific when you speak about type inference though? 2020-12-31T09:48:18Z phoe: type inference helps SBCL optimize otherwise portable code; there are not really many SBCL-specific declarations in there 2020-12-31T09:48:18Z amb007 quit (Read error: Connection reset by peer) 2020-12-31T09:48:27Z oni-on-ion: phoe, i learned that SBCL has some kind of type inference, that others may not have. i am just about to google this now because i really like TI 2020-12-31T09:49:03Z oni-on-ion: eg: "new feature: SB-EXT:PRIMITIVE-OBJECT-SIZE can be used to interrogate the low-level size in memory of objects. (#1636910, reported by anquegi) " 2020-12-31T09:49:13Z amb007 joined #lisp 2020-12-31T09:49:17Z phoe: that's not type inference though 2020-12-31T09:49:29Z oni-on-ion: im talking about 3 things at once 2020-12-31T09:49:33Z phoe: yes, I see 2020-12-31T09:49:37Z amb007 quit (Read error: Connection reset by peer) 2020-12-31T09:49:53Z amb007 joined #lisp 2020-12-31T09:50:37Z pve quit (Ping timeout: 264 seconds) 2020-12-31T09:50:53Z pve joined #lisp 2020-12-31T09:50:54Z oni-on-ion: the inferencing of types is sbcl, but done with CL portable code. this i understand =) 2020-12-31T09:50:58Z amb007 quit (Read error: Connection reset by peer) 2020-12-31T09:51:08Z amb007 joined #lisp 2020-12-31T09:51:18Z amb007 quit (Read error: Connection reset by peer) 2020-12-31T09:51:36Z amb007 joined #lisp 2020-12-31T09:51:38Z oni-on-ion: but why i like TI does make a difference for developer (catching stuff early, even for eg. avoiding typo that takes a while to debug as beach mentioned a moment ago) 2020-12-31T09:52:06Z epony joined #lisp 2020-12-31T09:52:46Z oni-on-ion: and i understand that nice/secure/performant code can be pure CL, but i am wondering -- why not use all the SBCL stuff ? i have not often seen the requirement of multiple implementations in the wild or in proprietary notes 2020-12-31T09:53:12Z orivej quit (Ping timeout: 256 seconds) 2020-12-31T09:54:07Z shka_: oni-on-ion: not only portable between different implementations but also between different versions of sbcl 2020-12-31T09:54:21Z shka_: either back compatible, or forward compatible 2020-12-31T09:54:43Z luckless quit (Ping timeout: 240 seconds) 2020-12-31T09:55:26Z phoe: oni-on-ion: future insurance 2020-12-31T09:55:27Z amb007 quit (Read error: Connection reset by peer) 2020-12-31T09:55:47Z phoe: who knows if you won't want to run your code on ECL instead, e.g. for deployment on mobile devices 2020-12-31T09:55:50Z shka_: if you just write standard CL, avoid UBs and so one, it is possible to run it on both 1998 CL implementation and 2070 implementation 2020-12-31T09:55:52Z amb007 joined #lisp 2020-12-31T09:55:55Z phoe: or on ABCL so it can benefit from real-time GC on the JVM 2020-12-31T09:56:15Z phoe: or on commercial implementations so it can benefit from their commercial goodness 2020-12-31T09:56:30Z phoe: or on CCL because you'll want to build against native macOS cocoa GUI 2020-12-31T09:56:54Z phoe: or on Clasp because you'll want to bind to C++ 2020-12-31T09:57:16Z phoe: in all those situations, your #+sbcl is going to be sad 2020-12-31T09:57:44Z orivej joined #lisp 2020-12-31T09:58:21Z galex-713 joined #lisp 2020-12-31T09:58:32Z shka_: also notice, that stuff gets removed from sbcl 2020-12-31T09:59:29Z mrios222 joined #lisp 2020-12-31T10:00:32Z luckless joined #lisp 2020-12-31T10:01:10Z phoe: ...unless you also have a matching #-sbcl 2020-12-31T10:01:26Z phoe: at which point you're inventing a tiny impromptu portability library 2020-12-31T10:03:08Z amb007 quit (Read error: Connection reset by peer) 2020-12-31T10:03:10Z oni-on-ion: shka_, hm true, never thought of that (compat with versions of sbcl) 2020-12-31T10:03:37Z amb007 joined #lisp 2020-12-31T10:03:46Z narimiran quit (Ping timeout: 272 seconds) 2020-12-31T10:04:21Z narimiran joined #lisp 2020-12-31T10:04:29Z oni-on-ion: phoe, hmm, is ECL still alive ? also, does JVM GC outperform SBCL GC? 2020-12-31T10:04:40Z shka_: yse and yes 2020-12-31T10:04:45Z shka_: *yes and yes 2020-12-31T10:04:50Z beach: ECL is maintained by jackdaniel. 2020-12-31T10:04:56Z oni-on-ion: ah. and ahhh 2020-12-31T10:06:21Z phoe: ECL is doing well and aiming for a new release right now 2020-12-31T10:10:14Z heisig joined #lisp 2020-12-31T10:15:51Z amb007 quit (Read error: Connection reset by peer) 2020-12-31T10:17:35Z oni-on-ion: ah wonderful =) 2020-12-31T10:17:41Z amb007 joined #lisp 2020-12-31T10:18:03Z luckless quit (Ping timeout: 240 seconds) 2020-12-31T10:18:25Z luni quit (Quit: Connection closed) 2020-12-31T10:20:44Z oni-on-ion: C has had its share of breaking changes; not sure if we will see many more of them if any in the coming decades 2020-12-31T10:22:03Z luckless joined #lisp 2020-12-31T10:22:42Z shka_: oni-on-ion: https://en.wikipedia.org/wiki/C11_(C_standard_revision) 2020-12-31T10:22:56Z shka_: and C2X is on its way 2020-12-31T10:24:12Z oni-on-ion: its C17 now though ? 2020-12-31T10:24:41Z shka_: yes, C17 only introduces bugfixes though 2020-12-31T10:25:00Z shka_: anyway, i suspect that C will continue to change no 2020-12-31T10:25:02Z shka_: w 2020-12-31T10:25:10Z oni-on-ion: hmm; and looking all all these, most of them were GNU in the first place. surely much of my C code relied on GNU (CC) extensions 2020-12-31T10:25:22Z oni-on-ion: thats probably true 2020-12-31T10:25:35Z mrios222: Hi, I have a question about POST requests made to Hunchentoot. If I send a JSON object as the body, then how can I access the JSON data using define-easy-handler? 2020-12-31T10:25:51Z oni-on-ion: whoa @ Type-generic expressions 2020-12-31T10:25:53Z amb007 quit (Read error: Connection reset by peer) 2020-12-31T10:26:03Z luckless quit (Ping timeout: 240 seconds) 2020-12-31T10:26:23Z amb007 joined #lisp 2020-12-31T10:26:42Z shka_: mrios222: hi, *request* 2020-12-31T10:26:52Z shka_: http://edicl.github.io/hunchentoot/#requests 2020-12-31T10:27:22Z shka_: and raw-post-data 2020-12-31T10:27:40Z shka_: mrios222: you understand, right? 2020-12-31T10:30:12Z mrios222: shka_ Do you know of any examples of working code? 2020-12-31T10:31:34Z oni-on-ion: is this happening ? https://github.com/spxy/clpc 2020-12-31T10:32:38Z mrios222: shka_ I get errors when I try to use the methods for *request* 2020-12-31T10:32:52Z cosimone joined #lisp 2020-12-31T10:33:36Z mrios222: When I don't get 500 errors, all of the data comes up as NIL or the hexadecimal id for the request object 2020-12-31T10:34:27Z Inline quit (Ping timeout: 260 seconds) 2020-12-31T10:38:02Z mrios222: When I do (post-parameters* *request*) I get NIL, even though I'm sure that I'm sending a body object that is stringified JSON 2020-12-31T10:38:34Z amb007 quit (Read error: Connection reset by peer) 2020-12-31T10:39:36Z amb007 joined #lisp 2020-12-31T10:39:52Z shka_: hmmm 2020-12-31T10:40:23Z shka_: mrios222: sorry, can't help, it's been some time since i was using hunchentoot 2020-12-31T10:40:34Z mrios222: shka_ no problem 2020-12-31T10:41:47Z mrios222: I figured it out. I need to use (raw-post-data :force-text *response*) and then feed that into a json reader 2020-12-31T10:42:28Z shka_: hmm 2020-12-31T10:42:36Z shka_: *response* 2020-12-31T10:42:42Z shka_: ok, i guess? 2020-12-31T10:44:52Z frost-lab quit (Quit: Connection closed) 2020-12-31T10:54:28Z oxum_ quit (Ping timeout: 256 seconds) 2020-12-31T11:05:09Z surabax joined #lisp 2020-12-31T11:08:21Z pyc: what does it mean when a system (like uiop) is part of ASDF? Does it mean that I can safely rely on it and it will work on all CL implementations without installing any additional dependency? 2020-12-31T11:09:55Z oni-on-ion: in this case i believe it means that uiop was initially part of asdf, then seperated into its own project; but as a subproject of asdf ? 2020-12-31T11:10:57Z pyc: oni-on-ion: is relying on uiop portable then? Is it guaranteed to be available in all CL implementations? (I am a newbie to CL) 2020-12-31T11:11:16Z jjong quit (Ping timeout: 240 seconds) 2020-12-31T11:11:29Z phoe: pyc: it's a portability library, meaning, a library that bridges gaps across different Lisp implementations for non-standard behavior 2020-12-31T11:11:54Z oni-on-ion: i would feel safe to say yes - according to "UIOP is the portability layer of ASDF. It provides utilities that abstract over discrepancies between implementations, between operating systems, and between what the standard provides and what programmers actually need, to write portable Common Lisp programs. " 2020-12-31T11:11:57Z phoe: such like usocket for network sockets, bordeaux-threads for multiprocessing, trivial-gray-streams for programmable streams, etc.. 2020-12-31T11:11:59Z oni-on-ion: (from https://common-lisp.net/project/asdf/uiop.html ) 2020-12-31T11:12:04Z pyc: phoe: okay. i am trying to understand if this library is guaranteed to be available on any CL implementation. 2020-12-31T11:12:09Z phoe: nope 2020-12-31T11:12:17Z phoe: but, if you use ASDF, then UIOP is there 2020-12-31T11:12:18Z shka_: pyc: uiop is likely to never go away 2020-12-31T11:12:25Z shka_: you can count on it 2020-12-31T11:12:26Z phoe: and you are very likely to use ASDF while doing Lisp. 2020-12-31T11:12:53Z oni-on-ion: "... to write portable Common Lisp programs. " as long as one's system/impl supports it perhaps. 2020-12-31T11:13:03Z shka_: which they do 2020-12-31T11:13:07Z shka_: all of them 2020-12-31T11:13:35Z pyc: does SBCL come with ASDF automatically? because I never installed ASDF explicitly myself but I see (uiop:read-file-string) works. 2020-12-31T11:14:36Z phoe: you have Quicklisp loaded, yes? 2020-12-31T11:14:49Z phoe: Quicklisp loads ASDF which loads UIOP 2020-12-31T11:15:00Z pyc: phoe: yes, i have quicklisp loaded and added to ~/.sbclrc. Is that why uiop is available too? 2020-12-31T11:15:03Z phoe: yes 2020-12-31T11:15:10Z phoe: try running SBCL without Quicklisp loaded! 2020-12-31T11:15:24Z edgar-rft: I'm not so sure about "all of them", there still exist exotic implementations like GNU Common Lisp. 2020-12-31T11:15:31Z phoe: GCL is dead though 2020-12-31T11:15:42Z phoe: (and AFAIR hasn't ever really been conforming) 2020-12-31T11:16:08Z pyc: phoe: you are right. without loading quicklisp, i get "Package UIOP does not exist." 2020-12-31T11:16:14Z edgar-rft: GCL is stil used by Maxima on Windows if I'm not totally wrong. 2020-12-31T11:16:50Z mindCrime quit (Ping timeout: 264 seconds) 2020-12-31T11:16:55Z jjong joined #lisp 2020-12-31T11:17:27Z edgar-rft: but sure, you can say all *sane* Common Lisp implementations use ASDF ande therefore also UIOP nowaways 2020-12-31T11:18:03Z jackdaniel expresses doubt whether using asdf and uiop is a sane choice, but oh well 2020-12-31T11:18:03Z pyc: I am reading a CL thread on Hacker News and I came across this comment: https://news.ycombinator.com/item?id=25586297 It says, "I have less patience with ... the churn found in many currently popular languages." What does churn mean in this context? Sorry, I am not a native english speaker. 2020-12-31T11:18:55Z beach: Type "define churn" to Google. 2020-12-31T11:19:09Z andreyorst_ joined #lisp 2020-12-31T11:19:33Z edgar-rft: jackdaniel: ASDF and UIOP provide a level of insanity the ANSI specification lacks :-) 2020-12-31T11:20:17Z pyc: beach: I did and I found some meanings like "unplesant disturbed feeling" and I am not sure that applies here. I mean I am guessing it has something to do with nature of languages. There is some undesirable property known as "churn" that is present in other languages which is missing from CL. 2020-12-31T11:20:33Z luni joined #lisp 2020-12-31T11:20:50Z pyc: "unplesant disturbed feeling" is quite vague. so I am hoping this channel can help me understand what "churn" is, how it is present in other languages but not in CL. 2020-12-31T11:22:12Z pyc: jackdaniel: why do you doubt asdf and uiop aren't sane choice. if you could elaborate it would help a beginner like me. 2020-12-31T11:22:44Z phoe: mostly because of the ideological difference between standard CL and UIOP 2020-12-31T11:22:59Z andreyorst` quit (Quit: andreyorst`) 2020-12-31T11:23:07Z pyc: what's the ideological difference between CL and UIOP? 2020-12-31T11:23:30Z rumbler31 joined #lisp 2020-12-31T11:23:35Z heisig: > churn out: To produce in an abundant and regular manner: churns out four novels a year. 2020-12-31T11:23:55Z mindCrime joined #lisp 2020-12-31T11:24:01Z phoe: UIOP is a single-implementation library without a standard, CL is very much the opposite 2020-12-31T11:24:51Z heisig: If Common Lisp code had things in an "abundant and regular manner", you could introduce a macro to abbreviate it. 2020-12-31T11:25:01Z phoe: and for many purposes UIOP is the necessary evil 2020-12-31T11:26:01Z phoe: getting implementers to agree on an extension is a very *very* tough task to do, so UIOP, like many other portability libraries, just moved in while skipping this step wherever possible 2020-12-31T11:26:07Z pyc: oh! that makes sense. and that makes me wonder about standardization vs. pragmatism. I am learning CL because it is a standard and I want to write my code once and run for the next 30 years. I have had quite a bad time in Python where code I wrote 10 years ago broke with Python 3 upgrade. Sure, conversion from Py 2 to Py 3 can be automated but it is still additional work and hassle. 2020-12-31T11:26:26Z phoe: and the tough part is most people have a choice to e.g. not use bordeaux-threads or have them loaded in their image whatsoever 2020-12-31T11:26:34Z phoe: it's different with UIOP because then they cannot have ASDF. 2020-12-31T11:26:51Z pyc: so I have come to take refuge in CL where I am hoping I can write something once and it will run for the next 30 years without requiring a lot of maintenance. if UIOP can break that guarantee then I may want to avoid it. 2020-12-31T11:27:12Z phoe: there's also the question of inertia 2020-12-31T11:27:29Z phoe: if UIOP breaks backwards compatibility at some point then people simply won't upgrade the new version 2020-12-31T11:27:55Z phoe: that's the fate of e.g. Alexandria, too, which is probably the most popular CL library 2020-12-31T11:28:00Z phoe: s/upgrade/upgrade to/ 2020-12-31T11:28:04Z rumbler31 quit (Ping timeout: 256 seconds) 2020-12-31T11:28:25Z phoe: Alexandria's fate is worsened by the fact that it's heavily :USEd, too, which means that it cannot easily export new symbols without setting a lot of the CL world on fire 2020-12-31T11:28:38Z phoe: (because of import conflicts) 2020-12-31T11:29:26Z pyc: if people simply won't upgrade, then it is good news. but sadly in JS and Python world I see people are always ready to upgrade when something breaks. Upgrading is the norm. People like me who do not want to modify 10 year old code to make a new version of a package happy are the outliers. 2020-12-31T11:29:30Z phoe: so IMO these libraries are very unlikely to change in backwards-incompatible way, even from the practical or pragmatic point of view 2020-12-31T11:29:46Z phoe: well, there's many people in the CL world who think the same 2020-12-31T11:29:58Z jackdaniel: here an idea: export from all new libraries a symbol shadowed from cl (something irrelevant), then if someone uses your library and the cl package, then they will need to think twice 2020-12-31T11:30:10Z phoe: jackdaniel: I have been thinking about it 2020-12-31T11:30:45Z phoe: this is one of the ideas that sound really good and really evil at the same time 2020-12-31T11:30:54Z heisig: Speaking of UIOP, is there already a CL version of Python's pathlib? Because that one looks reasonable, and it has the advantage that many programmers are already familiar with the interface. 2020-12-31T11:30:55Z jackdaniel: evil? 2020-12-31T11:30:58Z varjag joined #lisp 2020-12-31T11:31:07Z random-nick joined #lisp 2020-12-31T11:31:19Z pyc: phoe: you mean people in the CL world also think that it is okay for upgrades to break old code? or they think that upgrades should never break old code? 2020-12-31T11:31:20Z phoe: yes, because it'll create some confusion 2020-12-31T11:31:24Z phoe: pyc: the latter 2020-12-31T11:31:41Z phoe: compatibility is pretty important in the CL ecosystem 2020-12-31T11:31:56Z pyc: phoe: thanks! that is a lot of relief. i feel good about converting my python tools to CL now. 2020-12-31T11:32:31Z phoe: and a piece portable and conforming CL code should NEVER be broken by a change in the implementation, because it means that either there was a bug in the implementation, or there was a bug in the code 2020-12-31T11:33:04Z pyc: btw, anyone can help me understand what it means there is a lot of churn in many popular languages? 2020-12-31T11:33:25Z oxum joined #lisp 2020-12-31T11:33:28Z phoe: I guess some people just like rewriting stuff in the newest version of the framework that will be obsoleted by a week from now 2020-12-31T11:33:30Z oni-on-ion: heisig, afaik CL has path things 2020-12-31T11:33:36Z phoe: s/by// 2020-12-31T11:34:27Z heisig: oni-on-ion: The path things in CL are a mess. I think they even admitted that the CL standardization committee ran out of time when it came to paths and streams. 2020-12-31T11:34:30Z phoe: heisig: I saw such a thing some time ago, one second... 2020-12-31T11:34:33Z phoe: ! 2020-12-31T11:34:38Z oni-on-ion: pyc, in that case above, churn i think is 'yak shaving' 2020-12-31T11:34:39Z phoe: https://github.com/fourier/ppath 2020-12-31T11:34:44Z pyc: phoe: oh, if that is what they mean churn, i absolutely hate that. i want to solve a problem, write a tool, and move on. after that I should just remain a happy user of the tool. i don't want to rewrite it again with whatever becomes fashionable in future. 2020-12-31T11:36:33Z oni-on-ion: pyc, yeah. main things about "other languages" (which is often referred to as 'Blub') which people complain -- each have compilation target (native, bytecode), libraries, package manager, release schedule, repository location, etc.. 2020-12-31T11:36:34Z heisig: Thanks phoe. Unfortunately this an implementation of Python's os.path library, which is already out of fashion. I was told pathlib is the cool new thing. 2020-12-31T11:36:57Z oni-on-ion: what about this http://edicl.github.io/cl-fad/ 2020-12-31T11:37:30Z susam: Yes! "I want to be a happy user of the tool," is exactly how I feel about programming in Common Lisp. I don't have the time to keep chasing the latest hotness. I would rather work on other important problems instead of rewriting stuff with the latest framework. 2020-12-31T11:37:49Z phoe: heisig: ... 2020-12-31T11:37:53Z phoe: no I mean uh 2020-12-31T11:37:58Z phoe: are you serious? 2020-12-31T11:39:02Z heisig: Serious about what? That the Python fashion cycles last only about four years? Dead serious :) 2020-12-31T11:39:08Z edgar-rft: oni-on-ion: cl-fad has turned out to be buggy, but stupidly I can't remember the details right now, Fare (author of UIOP) has written something about it 2020-12-31T11:39:17Z phoe: heisig: .................... 2020-12-31T11:39:41Z phoe: edgar-rft: cl-fad was kinda superseded by UIOP, according to UIOP authors 2020-12-31T11:39:56Z phoe: and, frankly, I like UIOP pathname stuff myself 2020-12-31T11:40:09Z phoe: never used it heavily, but it seems to Just Work™ all the time I use it 2020-12-31T11:41:29Z edgar-rft: phoe: there *were* problems with cl-fad, I myself had some with cl-fad and CLISP for example, I only can't remember what exactly 2020-12-31T11:41:48Z phoe: edgar-rft: wait, I meant that I like and used UIOP pathname stuff 2020-12-31T11:42:01Z phoe: I only used CL-FAD once or twice I think 2020-12-31T11:42:09Z easye: cl-fad's WALK-DIRECTORY doesn't have a direct replacement in UIOP I think. 2020-12-31T11:42:45Z luni quit (Ping timeout: 240 seconds) 2020-12-31T11:43:01Z oni-on-ion: edgar-rft, ahh. *added to the oral history CLHS project* 2020-12-31T11:43:30Z edgar-rft: phoe: I meant it was not just simply superseded, there was a reason, that I stupidly can't remember :-( 2020-12-31T11:43:57Z oni-on-ion: "cliki" is a good place for the Oral Writ 2020-12-31T11:45:27Z phoe: easye: https://lispcookbook.github.io/cl-cookbook/files.html#traversing-walking-directories 2020-12-31T11:47:39Z easye: Alright. There was something missing when I last looked from what I recall, but perhaps that is a false memory. 2020-12-31T11:48:37Z luckless joined #lisp 2020-12-31T11:53:20Z oni-on-ion: https://github.com/franzinc?tab=repositories --- they even supply an Emacs interface for Alleg? 2020-12-31T11:53:34Z oni-on-ion: I remember ordering the Allegro demo CD for linux, mid 90s 2020-12-31T11:57:05Z frgo quit (Remote host closed the connection) 2020-12-31T11:57:32Z frgo joined #lisp 2020-12-31T11:58:23Z luckless quit (Ping timeout: 240 seconds) 2020-12-31T12:06:02Z _whitelogger quit (Remote host closed the connection) 2020-12-31T12:06:37Z mindCrime quit (Ping timeout: 260 seconds) 2020-12-31T12:08:08Z oni-on-ion: it looks to me as if ASDF and UIOP are part of the SBCL distro 2020-12-31T12:08:09Z _whitelogger joined #lisp 2020-12-31T12:08:32Z oni-on-ion: those two in -- /usr/local/lib/sbcl/contrib/ -- the rest are sb-* 2020-12-31T12:10:28Z waleee-cl joined #lisp 2020-12-31T12:25:25Z luckless joined #lisp 2020-12-31T12:29:06Z Inline joined #lisp 2020-12-31T12:33:14Z perrier-jouet joined #lisp 2020-12-31T12:39:26Z imode quit (Quit: WeeChat 2.9) 2020-12-31T12:39:34Z ebrasca joined #lisp 2020-12-31T12:42:37Z Inline quit (Ping timeout: 272 seconds) 2020-12-31T12:43:03Z luckless quit (Ping timeout: 240 seconds) 2020-12-31T12:43:04Z Inline joined #lisp 2020-12-31T12:45:09Z cosimone quit (Quit: cosimone) 2020-12-31T12:45:13Z luckless joined #lisp 2020-12-31T12:45:54Z cosimone joined #lisp 2020-12-31T12:46:18Z aorst joined #lisp 2020-12-31T12:49:16Z andreyorst quit (Ping timeout: 240 seconds) 2020-12-31T12:49:16Z andreyorst_ is now known as andreyorst 2020-12-31T12:50:31Z villanella quit (Quit: villanella) 2020-12-31T12:53:13Z arbv quit (Quit: ZNC - https://znc.in) 2020-12-31T13:04:44Z orivej quit (Ping timeout: 256 seconds) 2020-12-31T13:13:05Z pfdietz joined #lisp 2020-12-31T13:18:04Z pfdietz: I'm going through various lisp repos in quicklisp in descending order of popularity to see how well tested they are. I'm on cl-fad right now. 2020-12-31T13:22:25Z oni-on-ion: how testing? their individual test suites ? 2020-12-31T13:22:43Z pfdietz: Yes. 2020-12-31T13:22:51Z jackdaniel: when I'm defining a method that is specialized directly on the class (not on the name) -- what are the risks? 2020-12-31T13:23:03Z luckless quit (Ping timeout: 240 seconds) 2020-12-31T13:23:21Z jackdaniel: (compared to specializing on the name that is) 2020-12-31T13:23:26Z pfdietz: (1) Do they even HAVE a test suite? (2) How well does it cover their code? (3) (to come) How well does it kill deliberately introduced bugs? 2020-12-31T13:25:56Z jjong quit (Ping timeout: 256 seconds) 2020-12-31T13:26:10Z gutter quit (Remote host closed the connection) 2020-12-31T13:27:44Z Inline quit (Remote host closed the connection) 2020-12-31T13:28:29Z pfdietz: It appears to have the same behavior as just using the class name, if you redefine the class (or, if you set find-class on the name to nil and then redefine the class). 2020-12-31T13:28:33Z jackdaniel: ah, "Can't use anonymous [or undefined] class as constant", that's the gotcha 2020-12-31T13:28:58Z pfdietz: Ah, you were talking about an EQL specializer 2020-12-31T13:29:02Z Inline joined #lisp 2020-12-31T13:29:12Z jackdaniel: no, about the class used as a specifier 2020-12-31T13:29:19Z pfdietz: That's allowed. 2020-12-31T13:30:08Z pfdietz: I suspect that could not be used in file compiled code though. Need to try that. 2020-12-31T13:30:26Z jackdaniel: yes, but when you load the fasl, the class is looked by name it seems 2020-12-31T13:30:40Z scymtym: "anonymous" in the error message suggests that the class in question does not have a name or is not associated with a name in the global environment. could that be the problem? 2020-12-31T13:31:02Z pfdietz: Right. You also can't use function objects as constants in file compiled code, as they cannot be serialized out. 2020-12-31T13:31:11Z jjong joined #lisp 2020-12-31T13:31:13Z scymtym: (which different from being able to use the class instance as opposed to its name as a specializer) 2020-12-31T13:31:17Z scymtym: *which is 2020-12-31T13:31:41Z Inline__ joined #lisp 2020-12-31T13:31:49Z Inline quit (Read error: Connection reset by peer) 2020-12-31T13:32:44Z jackdaniel: I'm experimenting with ways for forward-referencing classes, so they may be finalized with a different name. if that's the only issue, then I can ensure that there is always a name 2020-12-31T13:32:58Z jackdaniel: (with a different name and a different metaclass, depending on circumstances) 2020-12-31T13:33:24Z jackdaniel: so the important part is that there always must be a name 2020-12-31T13:34:21Z Inline__ quit (Remote host closed the connection) 2020-12-31T13:34:21Z amb007 quit (Read error: Connection reset by peer) 2020-12-31T13:34:56Z Inline__ joined #lisp 2020-12-31T13:35:07Z amb007 joined #lisp 2020-12-31T13:35:31Z jackdaniel: I'm still pondering the forward referencing issue in McCLIM; I think that I have a solution which will work fine 2020-12-31T13:37:25Z amb007 quit (Read error: Connection reset by peer) 2020-12-31T13:37:41Z amb007 joined #lisp 2020-12-31T13:37:44Z amb007 quit (Read error: Connection reset by peer) 2020-12-31T13:39:23Z rumbler31 joined #lisp 2020-12-31T13:43:51Z rumbler31 quit (Ping timeout: 265 seconds) 2020-12-31T13:44:19Z Inline__ quit (Remote host closed the connection) 2020-12-31T13:44:38Z Inline__ joined #lisp 2020-12-31T13:44:53Z Inline__ quit (Client Quit) 2020-12-31T13:46:31Z dbotton joined #lisp 2020-12-31T13:52:35Z amb007 joined #lisp 2020-12-31T13:54:49Z jjong quit (Ping timeout: 264 seconds) 2020-12-31T13:56:04Z pfdietz: You can give a class more than one name. (setf (find-class 'name2) (find-class 'name1)) 2020-12-31T13:56:28Z phoe: depends on what you mean by "name" 2020-12-31T13:56:35Z oni-on-ion: whoa 2020-12-31T13:56:37Z phoe: is it the symbol by which you find-class? 2020-12-31T13:56:46Z phoe: or the value of class-name when called on a class object? 2020-12-31T13:56:48Z jackdaniel: setf find-class installs the class in the environment, there is one slot class-name though 2020-12-31T13:57:30Z pfdietz: (eql (find-class 'name1) (find-class 'name2)) ==> T 2020-12-31T13:59:55Z pfdietz: You can also reach a state where (find-class (class-name ) nil) ==> nil 2020-12-31T14:00:38Z andreyor1 joined #lisp 2020-12-31T14:00:58Z jjong joined #lisp 2020-12-31T14:01:04Z jackdaniel: (and that's the state where fasl refuses to get loaded when such class object is a specializer) 2020-12-31T14:01:22Z oni-on-ion: would it be possible to remove stuff , and save image? 2020-12-31T14:01:32Z perrier-jouet quit (Ping timeout: 260 seconds) 2020-12-31T14:01:47Z jackdaniel: like a class? you'd need to remove all references to it 2020-12-31T14:01:53Z jackdaniel: i.e methods 2020-12-31T14:02:02Z jackdaniel: and environment(s) entries etc 2020-12-31T14:02:57Z aorst quit (Ping timeout: 260 seconds) 2020-12-31T14:03:37Z phoe: and subclassses 2020-12-31T14:04:49Z perrier-jouet joined #lisp 2020-12-31T14:05:34Z jjong quit (Ping timeout: 246 seconds) 2020-12-31T14:06:23Z oni-on-ion: interesting 2020-12-31T14:06:51Z oni-on-ion: a pruning can be done 2020-12-31T14:09:30Z dbotton quit (Quit: Leaving) 2020-12-31T14:10:51Z arbv joined #lisp 2020-12-31T14:14:38Z bilal_ quit (Quit: Leaving) 2020-12-31T14:16:24Z jjong joined #lisp 2020-12-31T14:16:44Z Lord_Nightmare quit (Quit: ZNC - http://znc.in) 2020-12-31T14:17:18Z bilalkhan joined #lisp 2020-12-31T14:21:18Z jjong quit (Ping timeout: 256 seconds) 2020-12-31T14:21:23Z pfdietz: Classes also show up in the DIRECT-SUBCLASSES slot of their immediate superclasses. That will keep them from being gced, even if the association the the name is lost. 2020-12-31T14:22:31Z pfdietz: with the 2020-12-31T14:26:02Z jjong joined #lisp 2020-12-31T14:27:56Z contrapunctus left #lisp 2020-12-31T14:29:13Z contrapunctus joined #lisp 2020-12-31T14:29:22Z narimiran quit (Ping timeout: 246 seconds) 2020-12-31T14:32:08Z contrapunctus left #lisp 2020-12-31T14:32:53Z oni-on-ion: interestiong 2020-12-31T14:34:00Z contrapunctus joined #lisp 2020-12-31T14:36:36Z lowryder quit (Ping timeout: 256 seconds) 2020-12-31T14:38:40Z lowryder joined #lisp 2020-12-31T14:50:16Z orivej joined #lisp 2020-12-31T15:04:49Z Josh_2 joined #lisp 2020-12-31T15:05:03Z Josh_2 quit (Remote host closed the connection) 2020-12-31T15:28:35Z pve: I'd be interested in learning how to cleanly delete a class (that has no subclasses). My current best-effort solution is to remove the subclass link from the superclass, then remove all methods associated with the class, and finally do (setf (find-class 'myclass) nil). 2020-12-31T15:29:12Z pve: Could this be enough? 2020-12-31T15:29:44Z pve: I'm unsure of the environment entries jackdaniel mentioned.. 2020-12-31T15:32:09Z oni-on-ion quit (Quit: Quit) 2020-12-31T15:32:35Z oni-on-ion joined #lisp 2020-12-31T15:37:14Z beach: That might work. 2020-12-31T15:37:56Z oni-on-ion: pve, and then call a gc? 2020-12-31T15:39:54Z luckless joined #lisp 2020-12-31T15:42:53Z matryoshka` quit (Quit: ZNC 1.8.2 - https://znc.in) 2020-12-31T15:43:27Z pve: beach: ok great, thanks 2020-12-31T15:44:03Z pve: oni-on-ion: yes, or just wait for it to happen 2020-12-31T15:46:14Z amb007 quit (Read error: Connection reset by peer) 2020-12-31T15:46:30Z amb007 joined #lisp 2020-12-31T15:46:50Z amb007 quit (Read error: Connection reset by peer) 2020-12-31T15:47:16Z amb007 joined #lisp 2020-12-31T15:49:43Z amb007 quit (Read error: Connection reset by peer) 2020-12-31T15:50:17Z amb007 joined #lisp 2020-12-31T15:51:20Z neirac joined #lisp 2020-12-31T15:51:26Z amb007 quit (Read error: Connection reset by peer) 2020-12-31T15:51:45Z amb007 joined #lisp 2020-12-31T15:53:12Z attila_lendvai joined #lisp 2020-12-31T15:56:12Z kaftejiman joined #lisp 2020-12-31T15:59:41Z neirac quit (Quit: Leaving) 2020-12-31T16:00:45Z amb007 quit (Read error: Connection reset by peer) 2020-12-31T16:01:10Z amb007 joined #lisp 2020-12-31T16:03:28Z amb007 quit (Read error: Connection reset by peer) 2020-12-31T16:04:07Z amb007 joined #lisp 2020-12-31T16:08:01Z MrNo1 joined #lisp 2020-12-31T16:10:27Z isBEKaml joined #lisp 2020-12-31T16:10:28Z heisig: pve: You could also attach a finalizer to check whether your class is actually being collected. 2020-12-31T16:11:57Z oni-on-ion: ^ nice idea to add. always had this idea of being able to prune a lisp image 2020-12-31T16:11:57Z amb007 quit (Read error: Connection reset by peer) 2020-12-31T16:12:10Z amb007 joined #lisp 2020-12-31T16:15:18Z MrNo1 quit (Remote host closed the connection) 2020-12-31T16:15:46Z skapata joined #lisp 2020-12-31T16:17:42Z pve: heisig: great idea! 2020-12-31T16:17:53Z _jrjsmrtn joined #lisp 2020-12-31T16:18:46Z amb007 quit (Read error: Connection reset by peer) 2020-12-31T16:18:53Z __jrjsmrtn__ quit (Ping timeout: 260 seconds) 2020-12-31T16:19:02Z amb007 joined #lisp 2020-12-31T16:19:14Z ym joined #lisp 2020-12-31T16:20:09Z amb007 quit (Read error: Connection reset by peer) 2020-12-31T16:20:47Z amb007 joined #lisp 2020-12-31T16:30:02Z amb007 quit (Read error: Connection reset by peer) 2020-12-31T16:30:30Z amb007 joined #lisp 2020-12-31T16:32:32Z luckless quit (Quit: luckless) 2020-12-31T16:33:33Z zulu-inuoe joined #lisp 2020-12-31T16:34:05Z attila_lendvai quit (Read error: Connection reset by peer) 2020-12-31T16:34:24Z attila_lendvai joined #lisp 2020-12-31T16:36:24Z oxum quit (Read error: Connection reset by peer) 2020-12-31T16:43:01Z luni joined #lisp 2020-12-31T16:43:01Z amb007 quit (Read error: Connection reset by peer) 2020-12-31T16:43:40Z amb007 joined #lisp 2020-12-31T16:44:12Z pve: While we're on the subject, there wouldn't happen to be a way to cleanly delete a structure-class? SBCL at least lets me do (closer-mop:remove-direct-subclass (find-class 'structure-object) (find-class 'mystruct)), but can it be relied on? 2020-12-31T16:44:49Z phoe: yes 2020-12-31T16:44:54Z phoe: mop remove-direct-subclass 2020-12-31T16:44:54Z specbot: http://metamodular.com/CLOS-MOP/remove-direct-subclass.html 2020-12-31T16:45:22Z phoe: this works on all classes 2020-12-31T16:46:40Z pve: that's interesting 2020-12-31T16:48:04Z pve: thanks phoe 2020-12-31T16:50:45Z phoe: in particular, structure-classes are classes 2020-12-31T16:50:52Z phoe: so the default method is going to work well on them 2020-12-31T16:51:54Z oxum joined #lisp 2020-12-31T16:54:45Z jjong quit (Ping timeout: 240 seconds) 2020-12-31T16:57:24Z amb007 quit (Read error: Connection reset by peer) 2020-12-31T17:00:56Z Jeanne-Kamikaze joined #lisp 2020-12-31T17:04:08Z amb007 joined #lisp 2020-12-31T17:04:15Z isBEKaml quit 2020-12-31T17:06:46Z Xach: I wonder if access will be fixed by the original maintainers 2020-12-31T17:07:16Z matta quit (Ping timeout: 256 seconds) 2020-12-31T17:09:37Z attila_lendvai quit (Ping timeout: 260 seconds) 2020-12-31T17:10:18Z attila_lendvai joined #lisp 2020-12-31T17:10:22Z matta joined #lisp 2020-12-31T17:10:31Z phoe: a sharplispers fork coming in 3... 2... 1... 2020-12-31T17:10:54Z jonatack quit (Ping timeout: 256 seconds) 2020-12-31T17:11:11Z amb007 quit (Read error: Connection reset by peer) 2020-12-31T17:12:07Z jackdaniel: bom, millenium clock error 2020-12-31T17:12:13Z jackdaniel: start counting from 1979 again 2020-12-31T17:12:30Z jackdaniel: 1970* 2020-12-31T17:12:35Z jonatack joined #lisp 2020-12-31T17:13:21Z phoe: 3... 2... 1... 0... 18446744073709551615... 18446744073709551614... 2020-12-31T17:13:39Z contrapunctus: lmao 2020-12-31T17:14:37Z amb007 joined #lisp 2020-12-31T17:15:23Z luckless joined #lisp 2020-12-31T17:15:52Z luckless quit (Remote host closed the connection) 2020-12-31T17:16:20Z luckless joined #lisp 2020-12-31T17:17:47Z slyrus_: morning 2020-12-31T17:18:16Z bitmapper joined #lisp 2020-12-31T17:22:45Z saganman quit (Ping timeout: 240 seconds) 2020-12-31T17:26:12Z matta quit (Ping timeout: 256 seconds) 2020-12-31T17:27:45Z amb007 quit (Read error: Connection reset by peer) 2020-12-31T17:28:00Z amb007 joined #lisp 2020-12-31T17:35:20Z amb007 quit (Read error: Connection reset by peer) 2020-12-31T17:37:44Z cosimone quit (Quit: cosimone) 2020-12-31T17:38:08Z cosimone joined #lisp 2020-12-31T17:39:54Z rumbler31 joined #lisp 2020-12-31T17:41:04Z ebrasca quit (Remote host closed the connection) 2020-12-31T17:44:36Z rumbler31 quit (Ping timeout: 268 seconds) 2020-12-31T17:44:45Z amb007 joined #lisp 2020-12-31T17:48:16Z cosimone quit (Quit: cosimone) 2020-12-31T17:50:56Z madage quit (Remote host closed the connection) 2020-12-31T17:51:12Z madage joined #lisp 2020-12-31T17:53:09Z matryoshka joined #lisp 2020-12-31T18:00:44Z narimiran joined #lisp 2020-12-31T18:01:05Z rumbler31 joined #lisp 2020-12-31T18:01:18Z narimiran quit (Remote host closed the connection) 2020-12-31T18:03:04Z rumbler31_ joined #lisp 2020-12-31T18:04:11Z attila_lendvai quit (Remote host closed the connection) 2020-12-31T18:04:37Z attila_lendvai joined #lisp 2020-12-31T18:06:01Z dra joined #lisp 2020-12-31T18:07:24Z amb007 quit (Read error: Connection reset by peer) 2020-12-31T18:07:36Z amb007 joined #lisp 2020-12-31T18:10:44Z amb007 quit (Read error: Connection reset by peer) 2020-12-31T18:11:24Z makomo joined #lisp 2020-12-31T18:12:56Z amb007 joined #lisp 2020-12-31T18:12:59Z amb007 quit (Read error: Connection reset by peer) 2020-12-31T18:13:20Z amb007 joined #lisp 2020-12-31T18:14:16Z makomo: does anyone know why (interactive-stream-p *standard-input*) is false in SLIME? 2020-12-31T18:14:32Z makomo: (at least for me it is) 2020-12-31T18:16:10Z makomo: (also, using sbcl) 2020-12-31T18:16:34Z makomo: when running sbcl on the side (i.e. not as an emacs inferior process), running the same form from sbcl's repl returns true 2020-12-31T18:17:57Z aeth: via the REPL... (interactive-stream-p *standard-input*) => T 2020-12-31T18:18:08Z aeth: via SLIME... (interactive-stream-p *standard-input*) => NIL 2020-12-31T18:18:16Z aeth: So it's a SLIME bug, if that's not intentional 2020-12-31T18:18:35Z aeth: file a bug here? https://github.com/slime/slime/ 2020-12-31T18:18:54Z makomo: yep, that's what i wanna know, is it a bug or not. i would have expected it to return T 2020-12-31T18:19:05Z makomo: maybe i should ask in #slime instead of opening a bug right away 2020-12-31T18:19:05Z amb007 quit (Read error: Connection reset by peer) 2020-12-31T18:19:40Z cosimone joined #lisp 2020-12-31T18:19:44Z amb007 joined #lisp 2020-12-31T18:20:54Z rogersm joined #lisp 2020-12-31T18:21:59Z amb007 quit (Read error: Connection reset by peer) 2020-12-31T18:23:44Z amb007 joined #lisp 2020-12-31T18:29:19Z White_Flame: one of the possible implementation-dependent criteria of interactive streams is the "normal input editing", which I don't think the stream perceives? 2020-12-31T18:29:53Z White_Flame: (but that's very interpretive) 2020-12-31T18:31:41Z dra quit (Remote host closed the connection) 2020-12-31T18:39:49Z attila_lendvai quit (Ping timeout: 272 seconds) 2020-12-31T18:41:05Z jackdaniel: ~/win 2 2020-12-31T18:43:20Z _death: pfdietz: hey.. was that PR meant for me? 2020-12-31T18:45:48Z gendl: Is Bordeaux Threads originally made by beach? Is that where the name comes from? 2020-12-31T18:47:46Z _death: the initial commit (and project description on cl.net) mentions bordeaux-mp by Dan Barlow 2020-12-31T18:48:38Z phoe: gendl: I recall beach mentioning it to me 2020-12-31T18:48:55Z phoe: AFAIR it is because the first version of the library was written in Bordeaux 2020-12-31T18:49:56Z Lord_of_Life_ joined #lisp 2020-12-31T18:51:13Z Lord_of_Life quit (Ping timeout: 272 seconds) 2020-12-31T18:51:17Z Lord_of_Life_ is now known as Lord_of_Life 2020-12-31T18:53:13Z bilalkhan quit (Remote host closed the connection) 2020-12-31T18:53:42Z bilalkhan joined #lisp 2020-12-31T18:54:04Z amb007 quit (Read error: Connection reset by peer) 2020-12-31T18:54:17Z PuercoPop joined #lisp 2020-12-31T18:56:53Z judson_ joined #lisp 2020-12-31T18:57:06Z amb007 joined #lisp 2020-12-31T19:03:02Z rogersm quit (Quit: Leaving...) 2020-12-31T19:04:08Z edgar-rft: maybe the library was influenced by lots of Bordeaux wine :-) 2020-12-31T19:04:56Z matta joined #lisp 2020-12-31T19:15:51Z akoana joined #lisp 2020-12-31T19:18:24Z hnOsmium0001 joined #lisp 2020-12-31T19:20:43Z slyrus_: shka_: around? 2020-12-31T19:21:04Z Jesin joined #lisp 2020-12-31T19:24:43Z luckless quit (Ping timeout: 240 seconds) 2020-12-31T19:26:21Z luckless joined #lisp 2020-12-31T19:39:07Z rlp10 joined #lisp 2020-12-31T19:40:56Z jibanes quit (Ping timeout: 240 seconds) 2020-12-31T19:43:09Z jibanes joined #lisp 2020-12-31T19:46:15Z pfdietz: _death: yes, I pushed up a tweak to your modified copy of cffi 2020-12-31T19:46:49Z lowryder quit (Ping timeout: 246 seconds) 2020-12-31T19:46:49Z pfdietz: (which we are using with tree-sitter) 2020-12-31T19:47:27Z johs quit (Ping timeout: 260 seconds) 2020-12-31T19:47:43Z shka_: slyrus_: yeah 2020-12-31T19:47:45Z cosimone quit (Quit: cosimone) 2020-12-31T19:48:02Z pfdietz: That tweak reduced the run time of that by about 10%. eql hash tables are much faster than equal hash tables, I think because they can cache based on the previous key. 2020-12-31T19:48:05Z kini quit (Read error: Connection reset by peer) 2020-12-31T19:48:11Z bjorkint0sh joined #lisp 2020-12-31T19:48:37Z bjorkintosh quit (Ping timeout: 260 seconds) 2020-12-31T19:49:01Z johs joined #lisp 2020-12-31T19:49:03Z lowryder joined #lisp 2020-12-31T19:49:24Z kini joined #lisp 2020-12-31T19:49:36Z cyraxjoe quit (Ping timeout: 272 seconds) 2020-12-31T19:51:00Z slyrus_: shka_: thanks for the comments on the github issues. I'll check out the rr thing. We need to focus on the developer experience. I'd like to make sure that we have easily understandable examples a la those on the teddy README page. 2020-12-31T19:52:53Z shka_: agreed 2020-12-31T19:53:03Z shka_: i will write some examples 2020-12-31T19:53:44Z shka_: especially since i may or may not broke it yesterday :-) 2020-12-31T19:54:23Z shka_: i mean, it will work fine as long as the lambda-list of bind-row is empty 2020-12-31T19:55:23Z ebrasca joined #lisp 2020-12-31T19:56:02Z rumbler31 quit (Remote host closed the connection) 2020-12-31T20:00:16Z rumbler31_ quit (Ping timeout: 240 seconds) 2020-12-31T20:01:04Z herlocksholmes quit (Quit: Hasta la victoria, siempre!) 2020-12-31T20:01:04Z jealousmonk quit (Quit: Long live IRC! ) 2020-12-31T20:02:27Z shka_: slyrus_: also, i presume that you find my explanation to be workable 2020-12-31T20:05:48Z herlocksholmes joined #lisp 2020-12-31T20:07:05Z jealousmonk joined #lisp 2020-12-31T20:17:22Z Lycurgus joined #lisp 2020-12-31T20:19:19Z _death: pfdietz: well, it looks good to me (there's some extra whitespace & commented code though).. I can merge it, but perhaps you should also send a PR to cffi maintainers 2020-12-31T20:25:51Z karlosz joined #lisp 2020-12-31T20:30:20Z X-Scale quit (Ping timeout: 265 seconds) 2020-12-31T20:30:37Z X-Scale` joined #lisp 2020-12-31T20:31:00Z X-Scale` is now known as X-Scale 2020-12-31T20:32:37Z shka_: slyrus_: btw, any thoughts on the filter? 2020-12-31T20:33:05Z shka_: I wanted to suggest implementing it by assuming that it needs to be in bind-row 2020-12-31T20:35:52Z danish joined #lisp 2020-12-31T20:39:57Z shka_: slyrus_: i added docstrings for those slots in the STANDARD-HEADER 2020-12-31T20:40:00Z shka_: hope that helps 2020-12-31T20:40:54Z mindCrime joined #lisp 2020-12-31T20:41:44Z jw4 quit (Read error: Connection reset by peer) 2020-12-31T20:43:23Z jw4 joined #lisp 2020-12-31T20:44:47Z benjamindc joined #lisp 2020-12-31T20:46:14Z l1x joined #lisp 2020-12-31T20:47:06Z benjamindc: Every time I reload a file in the REPL in which I've used defconstant I get the redefinition warning. Is it possible to muffle this warning in my .sbclrc? 2020-12-31T20:50:44Z notzmv quit (Remote host closed the connection) 2020-12-31T20:53:03Z shka_: benjamindc: there is a better way to do so 2020-12-31T20:54:44Z shka_: benjamindc: alexandria provides define-constant as a solution to this specific issue 2020-12-31T20:54:57Z shka_: just don't forget to provide proper test 2020-12-31T20:54:59Z phoe: ^ 2020-12-31T20:55:12Z shka_: phoe: good evening phoe 2020-12-31T20:55:22Z phoe: hey shka_ 2020-12-31T20:55:27Z notzmv joined #lisp 2020-12-31T20:55:50Z contrapunctus: .o(`define-constant`? What is this, Scheme? 😏) 2020-12-31T20:56:42Z shka_: contrapunctus: heh, yeah 2020-12-31T20:57:13Z shka_: but alexandria is so common that it very well be considered sudo standard 2020-12-31T20:57:25Z shka_: so here you 2020-12-31T20:57:26Z benjamindc: thank you shka_ I'll check that out 2020-12-31T20:57:26Z shka_: go 2020-12-31T20:57:32Z shka_: benjamindc: you are welcome 2020-12-31T20:58:31Z shka_: actually alexandria is based on utils described in "on lisp" and the author of the book is a notorious schemer 2020-12-31T20:58:52Z shka_: so it kinda makes sense that some of it bleeds into alexandria 2020-12-31T20:59:19Z jackdaniel: define-constant is a very nice lispy name, I don't find it more schemish than lispish 2020-12-31T21:00:08Z nicktick joined #lisp 2020-12-31T21:00:13Z jackdaniel: (define-condition, define-symbol-macro, define-method-combination, define-anything-what-is-not-defsmth-due-to-backward-compatibility) 2020-12-31T21:00:26Z shka_: don't forget about car 2020-12-31T21:00:32Z shka_: ;-) 2020-12-31T21:00:42Z shka_: and most importantly caaddr 2020-12-31T21:00:59Z karlosz quit (Quit: karlosz) 2020-12-31T21:01:03Z attila_lendvai joined #lisp 2020-12-31T21:01:03Z attila_lendvai quit (Changing host) 2020-12-31T21:01:03Z attila_lendvai joined #lisp 2020-12-31T21:12:11Z slyrus_: shka_: refresh my memory about the filter thing. We're talking about the macro I wrote yesterday, right? 2020-12-31T21:12:20Z shka_: yup 2020-12-31T21:12:40Z slyrus_: what's the question again :) ? 2020-12-31T21:13:14Z shka_: no question, just wanted to suggest that assuming that filter is supposed to be placed inside bind-row would make that macro significantly simpler 2020-12-31T21:13:45Z shka_: or rather 2020-12-31T21:13:51Z shka_: make it simple 2020-12-31T21:13:56Z travv0 left #lisp 2020-12-31T21:13:59Z slyrus_: I see. My point is I want a macro that doesn't require bind-row :) 2020-12-31T21:14:26Z shka_: i was under that impression, yes 2020-12-31T21:14:52Z shka_: and i wanted to suggest something 2020-12-31T21:14:55Z slyrus_: bind-row is nice and efficient and all but I think we should provide "wrapper" functions that hide its use for things like filter. 2020-12-31T21:15:05Z hiroaki_ quit (Ping timeout: 240 seconds) 2020-12-31T21:15:38Z shka_: slyrus_: i think that i need to study the real world use cases of filter 2020-12-31T21:15:51Z shka_: if filter is part of some longer sequence 2020-12-31T21:16:09Z shka_: it would probably be ok to assume that it needs bind-row variables 2020-12-31T21:17:09Z shka_: and perhaps write some macro that works accepts table, bind-row lambda-list and bind-row body as it's own &body 2020-12-31T21:17:39Z shka_: then you could write (filter ...)(something-else)(filter)(something-else) 2020-12-31T21:18:28Z slyrus_: if we take for a moment that we want something dplyr-ish (which is reasonable for my needs), the things I use a lot are the various df/tibble creation routines, select, filter, mutate, rename, inner_join, arrange, pivot_..., etc... 2020-12-31T21:18:51Z slyrus_: I'd like to see an interface like that exposed to developer/users that would presumably use bind-row under the covers 2020-12-31T21:19:18Z shka_: since drop-row performs non-local-exit, you can just stick every operations in bind-row 2020-12-31T21:19:45Z shka_: slyrus_: if one would really want to make it compact, i think that reader macro is the solution 2020-12-31T21:20:15Z shka_: that would allow you to skip writing lambda-list whatsoever 2020-12-31T21:20:32Z benjamindc quit (Remote host closed the connection) 2020-12-31T21:20:33Z slyrus_: Why do we need a reader macro for that? 2020-12-31T21:20:49Z hiroaki_ joined #lisp 2020-12-31T21:21:02Z slyrus_: Don't get me wrong, bind-row is cool and there are certainly going to places to use it, but I'd like to see a higher level interface as well. 2020-12-31T21:21:10Z shka_: slyrus_: this would allow writing stuff like 2020-12-31T21:21:17Z shka_: for instance 2020-12-31T21:21:28Z slyrus_: not quite following 2020-12-31T21:21:51Z shka_: [(filter (> @column-name 0.5))] 2020-12-31T21:22:00Z shka_: instead of 2020-12-31T21:22:25Z shka_: (bind-row (column-name) (filter (< column-name 0.5))) 2020-12-31T21:23:13Z slyrus_: and why can't we just write (filter table (< column-name 0.5)) ? 2020-12-31T21:24:16Z shka_: well, how we can distinguish before a local variable and a column? 2020-12-31T21:24:47Z shka_: *between 2020-12-31T21:25:33Z slyrus_: This is a good question. dplyr has it's approach to this that works reasonably well. The poorly-articulated question that's running around my mind is can we do better in the lisp world given the tools at our disposal? 2020-12-31T21:25:49Z shka_: i really don't think so 2020-12-31T21:26:17Z shka_: without the first-class envs this seems to be destined to be hacky 2020-12-31T21:27:00Z shka_: but on the other hand, people are used to writing (lambda (something other-thing) ...) so why not imitate lambda? 2020-12-31T21:27:04Z shka_: that was the idea with bind-row 2020-12-31T21:27:32Z shka_: or, as i mentioned, add reader-macro 2020-12-31T21:29:35Z shka_: slyrus_: i personally consider this to be a minor inconvenience 2020-12-31T21:30:18Z shka_: let's just avoid imitating pandas 2020-12-31T21:30:39Z shka_: i don't agree with it's api design even a little bit 2020-12-31T21:31:28Z shka_: however, i a agree that higher level functionality is welcome 2020-12-31T21:31:44Z shka_: let's just not get too clever about it :-) 2020-12-31T21:36:38Z shka_: slyrus_: ok, have a good day, i will be online tomorrow 2020-12-31T21:44:01Z hiroaki_ quit (Ping timeout: 264 seconds) 2020-12-31T21:49:02Z edgar-rft quit (Quit: Leaving) 2020-12-31T21:56:37Z rumbler31 joined #lisp 2020-12-31T21:56:39Z hiroaki_ joined #lisp 2020-12-31T21:57:47Z luckless quit (Quit: luckless) 2020-12-31T22:01:25Z rumbler31 quit (Ping timeout: 264 seconds) 2020-12-31T22:01:55Z Walex joined #lisp 2020-12-31T22:02:35Z mindCrime quit (Quit: Konversation terminated!) 2020-12-31T22:03:25Z slyrus_: shka_: ok, thanks. happy new year! 2020-12-31T22:06:00Z Lord_Nightmare joined #lisp 2020-12-31T22:09:58Z shka_ quit (Ping timeout: 246 seconds) 2020-12-31T22:13:18Z andreyor1 is now known as andreyorst_ 2020-12-31T22:13:28Z andreyorst_ quit (Quit: WeeChat 3.0) 2020-12-31T22:13:30Z andreyorst quit (Ping timeout: 256 seconds) 2020-12-31T22:13:40Z asarch joined #lisp 2020-12-31T22:13:45Z andreyorst joined #lisp 2020-12-31T22:19:09Z karlosz joined #lisp 2020-12-31T22:24:03Z hiroaki_ quit (Ping timeout: 260 seconds) 2020-12-31T22:24:32Z aorst joined #lisp 2020-12-31T22:25:51Z Lycurgus quit (Quit: Exeunt) 2020-12-31T22:26:45Z andreyor1 joined #lisp 2020-12-31T22:27:10Z andreyorst quit (Read error: Connection reset by peer) 2020-12-31T22:30:12Z aorst quit (Ping timeout: 260 seconds) 2020-12-31T22:34:46Z karlosz quit (Quit: karlosz) 2020-12-31T22:35:08Z orivej quit (Ping timeout: 260 seconds) 2020-12-31T22:41:11Z pve quit (Quit: leaving) 2020-12-31T22:41:12Z hiroaki_ joined #lisp 2020-12-31T22:43:18Z imode joined #lisp 2020-12-31T22:58:44Z mindCrime joined #lisp 2020-12-31T23:02:48Z makomo quit (Ping timeout: 256 seconds) 2020-12-31T23:11:06Z makomo joined #lisp 2020-12-31T23:13:59Z l1x quit (Quit: Connection closed for inactivity) 2020-12-31T23:21:16Z danish quit (Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/) 2020-12-31T23:39:23Z attila_lendvai quit (Ping timeout: 272 seconds) 2020-12-31T23:46:47Z andreyor1 quit (Quit: WeeChat 3.0) 2020-12-31T23:50:11Z kaftejiman quit (Remote host closed the connection) 2020-12-31T23:50:57Z ym555 joined #lisp 2020-12-31T23:56:03Z frgo quit (Remote host closed the connection) 2020-12-31T23:56:32Z frgo joined #lisp