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 aaaa