2020-01-01T00:02:14Z Josh_2: Happy New Years all! 2020-01-01T00:04:08Z ArthurStrong: Josh_2: HNY! 2020-01-01T00:06:48Z william1 quit (Ping timeout: 260 seconds) 2020-01-01T00:08:08Z oxum quit (Read error: Connection reset by peer) 2020-01-01T00:08:21Z oxum joined #lisp 2020-01-01T00:10:48Z william1 joined #lisp 2020-01-01T00:11:23Z clothespin joined #lisp 2020-01-01T00:12:36Z asdf_asdf_asdf joined #lisp 2020-01-01T00:16:46Z learning_ joined #lisp 2020-01-01T00:18:45Z learning quit (Ping timeout: 265 seconds) 2020-01-01T00:19:29Z learning_ quit (Remote host closed the connection) 2020-01-01T00:19:43Z pilne joined #lisp 2020-01-01T00:25:18Z mhcat quit (Remote host closed the connection) 2020-01-01T00:26:13Z rumbler31 joined #lisp 2020-01-01T00:27:22Z lowryder joined #lisp 2020-01-01T00:39:28Z william1 quit (Ping timeout: 260 seconds) 2020-01-01T00:39:56Z wxie joined #lisp 2020-01-01T00:53:26Z shka_ quit (Ping timeout: 258 seconds) 2020-01-01T00:54:41Z puchacz quit (Quit: Connection closed for inactivity) 2020-01-01T00:59:21Z orivej quit (Ping timeout: 268 seconds) 2020-01-01T01:15:46Z asdf_asdf_asdf quit (Remote host closed the connection) 2020-01-01T01:16:55Z _jrjsmrtn joined #lisp 2020-01-01T01:17:23Z ebzzry joined #lisp 2020-01-01T01:17:58Z __jrjsmrtn__ quit (Ping timeout: 260 seconds) 2020-01-01T01:21:35Z Tordek quit (Ping timeout: 265 seconds) 2020-01-01T01:23:22Z Nistur quit (Remote host closed the connection) 2020-01-01T01:25:15Z wxie quit (Ping timeout: 268 seconds) 2020-01-01T01:30:08Z vlatkoB quit (Remote host closed the connection) 2020-01-01T01:30:39Z wxie joined #lisp 2020-01-01T01:32:08Z Tordek joined #lisp 2020-01-01T01:33:41Z Nistur joined #lisp 2020-01-01T01:34:13Z oxum quit (Remote host closed the connection) 2020-01-01T01:35:28Z wxie quit (Ping timeout: 260 seconds) 2020-01-01T01:41:23Z zooey quit (Ping timeout: 240 seconds) 2020-01-01T01:42:13Z zooey joined #lisp 2020-01-01T01:45:43Z smokeink joined #lisp 2020-01-01T01:49:03Z karlosz quit (Quit: karlosz) 2020-01-01T01:54:00Z bilegeek joined #lisp 2020-01-01T01:54:49Z lavaflow quit (Quit: WeeChat 2.6) 2020-01-01T01:55:19Z ``Erik_ is now known as ``Erik 2020-01-01T01:56:19Z rumbler31 quit (Remote host closed the connection) 2020-01-01T01:56:28Z nekosagan quit (Ping timeout: 260 seconds) 2020-01-01T01:59:19Z bilegeek quit (Quit: Leaving) 2020-01-01T02:00:14Z smokeink quit (Remote host closed the connection) 2020-01-01T02:03:35Z narimiran quit (Ping timeout: 258 seconds) 2020-01-01T02:04:07Z Nistur quit (Ping timeout: 265 seconds) 2020-01-01T02:04:20Z akoana left #lisp 2020-01-01T02:04:47Z Nistur joined #lisp 2020-01-01T02:05:20Z bitmapper quit (Ping timeout: 268 seconds) 2020-01-01T02:05:48Z Tordek quit (Ping timeout: 260 seconds) 2020-01-01T02:06:16Z Tordek joined #lisp 2020-01-01T02:07:02Z random-nick quit (Ping timeout: 258 seconds) 2020-01-01T02:09:14Z Nistur quit (Ping timeout: 240 seconds) 2020-01-01T02:10:01Z Nistur joined #lisp 2020-01-01T02:12:50Z varjag quit (Ping timeout: 240 seconds) 2020-01-01T02:14:23Z zooey quit (Ping timeout: 240 seconds) 2020-01-01T02:15:35Z zooey joined #lisp 2020-01-01T02:15:55Z vidak` joined #lisp 2020-01-01T02:17:24Z mn3m quit (Read error: Connection reset by peer) 2020-01-01T02:17:38Z X-Scale quit (Ping timeout: 240 seconds) 2020-01-01T02:21:28Z karlosz joined #lisp 2020-01-01T02:25:59Z X-Scale joined #lisp 2020-01-01T02:28:17Z vidak` quit (Ping timeout: 260 seconds) 2020-01-01T02:30:02Z libertyprime quit (Ping timeout: 240 seconds) 2020-01-01T02:30:57Z mathrick joined #lisp 2020-01-01T02:34:40Z ArthurStrong quit (Quit: leaving) 2020-01-01T02:36:59Z libertyprime joined #lisp 2020-01-01T02:37:02Z EvW quit (Ping timeout: 260 seconds) 2020-01-01T02:37:43Z shifty joined #lisp 2020-01-01T02:38:39Z karlosz quit (Quit: karlosz) 2020-01-01T02:43:10Z johnjay joined #lisp 2020-01-01T02:44:12Z space_otter joined #lisp 2020-01-01T02:49:35Z libertyprime quit (Ping timeout: 258 seconds) 2020-01-01T02:56:54Z Lord_of_Life_ joined #lisp 2020-01-01T02:58:22Z Lord_of_Life quit (Ping timeout: 268 seconds) 2020-01-01T02:58:22Z Lord_of_Life_ is now known as Lord_of_Life 2020-01-01T03:11:51Z karlosz joined #lisp 2020-01-01T03:14:50Z khisanth_ quit (Ping timeout: 240 seconds) 2020-01-01T03:15:37Z karlosz quit (Client Quit) 2020-01-01T03:16:33Z libertyprime joined #lisp 2020-01-01T03:19:55Z karlosz joined #lisp 2020-01-01T03:23:02Z karlosz quit (Client Quit) 2020-01-01T03:24:46Z mono joined #lisp 2020-01-01T03:28:18Z khisanth_ joined #lisp 2020-01-01T03:28:18Z monokrom quit (Ping timeout: 258 seconds) 2020-01-01T03:33:00Z Oladon quit (Quit: Leaving.) 2020-01-01T03:36:45Z lavaflow joined #lisp 2020-01-01T03:58:37Z libertyprime quit (Quit: leaving) 2020-01-01T03:58:40Z PuercoPope quit (Read error: Connection reset by peer) 2020-01-01T04:01:45Z karswell quit (Remote host closed the connection) 2020-01-01T04:02:04Z oni-on-ion quit (Remote host closed the connection) 2020-01-01T04:02:26Z oni-on-ion joined #lisp 2020-01-01T04:02:30Z karswell joined #lisp 2020-01-01T04:16:42Z brown121407 quit (Read error: Connection reset by peer) 2020-01-01T04:18:12Z brown121407 joined #lisp 2020-01-01T04:26:11Z EvW1 joined #lisp 2020-01-01T04:51:16Z wxie joined #lisp 2020-01-01T04:53:46Z raghavgururajan joined #lisp 2020-01-01T05:01:05Z wxie quit (Ping timeout: 268 seconds) 2020-01-01T05:02:58Z SaganMan joined #lisp 2020-01-01T05:03:12Z SaganMan is now known as nekosagan 2020-01-01T05:08:58Z Josh_2 quit (Ping timeout: 260 seconds) 2020-01-01T05:15:46Z amnesia` joined #lisp 2020-01-01T05:18:28Z EvW1 quit (Ping timeout: 248 seconds) 2020-01-01T05:18:29Z karswell quit (Read error: Connection reset by peer) 2020-01-01T05:18:32Z travv0` quit (Remote host closed the connection) 2020-01-01T05:18:56Z karswell joined #lisp 2020-01-01T05:21:11Z parjanya quit (Remote host closed the connection) 2020-01-01T05:33:21Z karswell quit (Remote host closed the connection) 2020-01-01T05:34:10Z karswell joined #lisp 2020-01-01T05:42:26Z gravicappa joined #lisp 2020-01-01T05:50:40Z sjl: Happy new year from the East Coast of the US! 2020-01-01T05:50:49Z sjl quit (Quit: WeeChat 2.2-dev) 2020-01-01T05:56:08Z MinnowTaur quit (Ping timeout: 245 seconds) 2020-01-01T06:09:46Z MinnowTaur joined #lisp 2020-01-01T06:31:51Z Lycurgus joined #lisp 2020-01-01T06:32:58Z shangul joined #lisp 2020-01-01T06:34:12Z dddddd quit (Remote host closed the connection) 2020-01-01T06:39:02Z _whitelogger quit (Remote host closed the connection) 2020-01-01T06:41:15Z _whitelogger joined #lisp 2020-01-01T06:42:37Z libertyprime joined #lisp 2020-01-01T06:52:25Z smokeink joined #lisp 2020-01-01T07:01:56Z rippa joined #lisp 2020-01-01T07:05:14Z Bike quit (Quit: Lost terminal) 2020-01-01T07:06:14Z Lycurgus quit (Quit: Exeunt) 2020-01-01T07:07:05Z ebrasca joined #lisp 2020-01-01T07:07:27Z Jeanne-Kamikaze quit (Remote host closed the connection) 2020-01-01T07:10:15Z gravicappa quit (Ping timeout: 258 seconds) 2020-01-01T07:15:02Z _whitelogger quit (Remote host closed the connection) 2020-01-01T07:16:24Z wxie joined #lisp 2020-01-01T07:16:41Z nekosagan quit (Read error: Connection reset by peer) 2020-01-01T07:17:15Z _whitelogger joined #lisp 2020-01-01T07:17:43Z SaganMan joined #lisp 2020-01-01T07:18:36Z SaganMan is now known as nekosagan 2020-01-01T07:20:06Z beach: Good morning everyone! And a happy new year! 2020-01-01T07:20:24Z torbo quit (Remote host closed the connection) 2020-01-01T07:21:26Z smokeink: Happy New Year 2020-01-01T07:26:37Z jeosol: Happy New Year to everyone here. Still 30 mins for my TZ 2020-01-01T07:32:02Z ebrasca: Morning beach! 2020-01-01T07:38:18Z nekosagan quit (Ping timeout: 260 seconds) 2020-01-01T07:39:38Z SaganMan joined #lisp 2020-01-01T07:40:04Z SaganMan is now known as nekosagan 2020-01-01T07:43:20Z karayan joined #lisp 2020-01-01T07:45:30Z smokeink quit (Quit: Leaving) 2020-01-01T07:49:23Z loke joined #lisp 2020-01-01T07:54:45Z orivej joined #lisp 2020-01-01T07:59:18Z impulse quit (Ping timeout: 268 seconds) 2020-01-01T08:02:44Z dale quit (Quit: My computer has gone to sleep) 2020-01-01T08:06:02Z _whitelogger quit (Remote host closed the connection) 2020-01-01T08:06:34Z brettgilio joined #lisp 2020-01-01T08:08:15Z _whitelogger joined #lisp 2020-01-01T08:10:43Z oxum joined #lisp 2020-01-01T08:11:19Z gravicappa joined #lisp 2020-01-01T08:12:08Z refpga joined #lisp 2020-01-01T08:14:01Z rnmhdn joined #lisp 2020-01-01T08:14:43Z libertyprime quit (Ping timeout: 268 seconds) 2020-01-01T08:15:20Z oxum quit (Ping timeout: 268 seconds) 2020-01-01T08:15:22Z karayan quit (Remote host closed the connection) 2020-01-01T08:16:50Z wxie quit (Ping timeout: 240 seconds) 2020-01-01T08:20:36Z fookara joined #lisp 2020-01-01T08:27:53Z Kevslinger quit (Quit: Connection closed for inactivity) 2020-01-01T08:29:49Z rnmhdn quit (Ping timeout: 265 seconds) 2020-01-01T08:30:29Z mn3m joined #lisp 2020-01-01T08:32:17Z shifty quit (Ping timeout: 258 seconds) 2020-01-01T08:33:52Z shka_ joined #lisp 2020-01-01T08:45:03Z _whitelogger quit (Remote host closed the connection) 2020-01-01T08:45:27Z oxum joined #lisp 2020-01-01T08:47:15Z _whitelogger joined #lisp 2020-01-01T09:02:50Z orivej quit (Ping timeout: 240 seconds) 2020-01-01T09:06:11Z rnmhdn joined #lisp 2020-01-01T09:08:33Z refpga quit (Remote host closed the connection) 2020-01-01T09:11:30Z loke: wow 2020-01-01T09:12:02Z beach: What? 2020-01-01T09:12:21Z loke: I made the mistake of looking at c.l.l just now... That WJ guy (changed name now though) is _still_ posting the same garbage. I cannot believe a human can be that insane. But if it's not a human, it's a quite decent AI. 2020-01-01T09:12:38Z no-defun-allowed: Whom? 2020-01-01T09:13:00Z rnmhdn quit (Quit: WeeChat 2.5) 2020-01-01T09:13:05Z ck_: no-defun-allowed: just randomly sample comp.lang.lisp and you'll probably find one of their posts 2020-01-01T09:13:21Z loke: The guy who keeps posting replies to decades-old posts with answers in any language except for Lisp. 2020-01-01T09:13:43Z ck_: it's mostly necroposting with 'solutions' like "in racket: " 2020-01-01T09:13:55Z ck_: I'm impressed with the persistence as well, quite the long game 2020-01-01T09:13:59Z loke: He's been doing it for years, plenty of posts every single day. I would love to know what kind of broken mindis behind it. 2020-01-01T09:14:37Z no-defun-allowed: Robert L? 2020-01-01T09:14:41Z loke: Yeah 2020-01-01T09:14:47Z loke: that's the most recent name he uses 2020-01-01T09:15:01Z loke: He changes once in a while because people block him 2020-01-01T09:15:14Z libertyprime joined #lisp 2020-01-01T09:15:41Z ggole joined #lisp 2020-01-01T09:16:07Z no-defun-allowed: Usenet sounds like a weird place honestly. 2020-01-01T09:16:35Z ck_: from their perspective, the same goes for things like slack, discord, or "internet forums" 2020-01-01T09:17:10Z no-defun-allowed is too young to say "kids these days", but says 2020-01-01T09:17:12Z no-defun-allowed: Kids these days... 2020-01-01T09:17:30Z ck_: reads like "people like me these days" 2020-01-01T09:17:43Z shka_: people are weird 2020-01-01T09:17:43Z ck_: but yes, that's an eternal observation 2020-01-01T09:20:03Z _paul0 joined #lisp 2020-01-01T09:20:35Z orivej joined #lisp 2020-01-01T09:22:32Z paul0 quit (Ping timeout: 252 seconds) 2020-01-01T09:23:47Z ebzzry quit (Ping timeout: 268 seconds) 2020-01-01T09:26:24Z shka_: what a complex and mysterious creatures they are 2020-01-01T09:26:52Z gravicappa quit (Ping timeout: 268 seconds) 2020-01-01T09:27:49Z gravicappa joined #lisp 2020-01-01T09:29:07Z Codaraxis joined #lisp 2020-01-01T09:36:23Z je4i joined #lisp 2020-01-01T09:40:53Z oxum_ joined #lisp 2020-01-01T09:41:38Z oxum quit (Ping timeout: 240 seconds) 2020-01-01T09:49:54Z zooey quit (Remote host closed the connection) 2020-01-01T09:50:13Z zooey joined #lisp 2020-01-01T09:55:32Z smokeink joined #lisp 2020-01-01T09:56:24Z anewuser joined #lisp 2020-01-01T10:07:38Z brown121407 quit (Ping timeout: 240 seconds) 2020-01-01T10:08:48Z hiroaki quit (Ping timeout: 268 seconds) 2020-01-01T10:09:02Z notzmv joined #lisp 2020-01-01T10:09:39Z varjag joined #lisp 2020-01-01T10:14:03Z varjag quit (Ping timeout: 260 seconds) 2020-01-01T10:15:22Z Lord_of_Life quit (Read error: Connection reset by peer) 2020-01-01T10:16:26Z orivej quit (Ping timeout: 240 seconds) 2020-01-01T10:17:03Z Lord_of_Life joined #lisp 2020-01-01T10:20:45Z space_otter quit (Remote host closed the connection) 2020-01-01T10:28:31Z shka_: does anybody here has a setup in emacs that will send-notify when slime debugger window pops up in emacs? 2020-01-01T10:28:57Z jonatack quit (Ping timeout: 260 seconds) 2020-01-01T10:31:47Z narimiran joined #lisp 2020-01-01T10:38:08Z Necktwi quit (Read error: Connection reset by peer) 2020-01-01T10:43:23Z Necktwi joined #lisp 2020-01-01T10:45:28Z heisig joined #lisp 2020-01-01T10:55:19Z wxie joined #lisp 2020-01-01T10:59:34Z varjag joined #lisp 2020-01-01T11:00:30Z jonatack joined #lisp 2020-01-01T11:01:45Z josemanuel joined #lisp 2020-01-01T11:02:18Z v88m joined #lisp 2020-01-01T11:05:51Z wxie quit (Quit: wxie) 2020-01-01T11:06:09Z wxie joined #lisp 2020-01-01T11:10:36Z wxie quit (Ping timeout: 258 seconds) 2020-01-01T11:11:42Z clothespin quit (Ping timeout: 268 seconds) 2020-01-01T11:20:14Z wxie joined #lisp 2020-01-01T11:22:08Z nirved: shka_: (defun your-notify-fn () (notifications-notify :title "title" ...)) (add-hook 'sldb-hook 'your-notify-fn) 2020-01-01T11:41:17Z wxie quit (Ping timeout: 260 seconds) 2020-01-01T11:41:32Z william1 joined #lisp 2020-01-01T11:41:48Z shka_: nirved: awesome, thanks! 2020-01-01T11:45:51Z shka_: nirved: this works nicely, thanks 2020-01-01T11:46:15Z william1 quit (Ping timeout: 258 seconds) 2020-01-01T11:50:50Z mathrick quit (Ping timeout: 240 seconds) 2020-01-01T11:55:34Z brown121407 joined #lisp 2020-01-01T12:01:05Z random-nick joined #lisp 2020-01-01T12:02:03Z wxie joined #lisp 2020-01-01T12:08:52Z v88m quit (Ping timeout: 258 seconds) 2020-01-01T12:10:43Z heisig quit (Ping timeout: 260 seconds) 2020-01-01T12:10:59Z kslt1 joined #lisp 2020-01-01T12:12:38Z bestinket joined #lisp 2020-01-01T12:18:36Z pnp joined #lisp 2020-01-01T12:24:35Z jonatack quit (Read error: Connection reset by peer) 2020-01-01T12:26:00Z oni-on-ion quit (Remote host closed the connection) 2020-01-01T12:35:15Z ebzzry joined #lisp 2020-01-01T12:39:42Z narimiran quit (Ping timeout: 265 seconds) 2020-01-01T12:41:15Z pnp quit (Remote host closed the connection) 2020-01-01T12:50:42Z wxie quit (Ping timeout: 260 seconds) 2020-01-01T12:57:33Z jmercouris joined #lisp 2020-01-01T13:03:30Z cosimone joined #lisp 2020-01-01T13:05:10Z cosimone quit (Client Quit) 2020-01-01T13:05:35Z cosimone joined #lisp 2020-01-01T13:12:31Z william1 joined #lisp 2020-01-01T13:13:03Z jmercouris: Happy New Year! 2020-01-01T13:13:22Z Kevslinger joined #lisp 2020-01-01T13:13:32Z beach: To you too! 2020-01-01T13:13:49Z jmercouris: thank you beach! 2020-01-01T13:15:47Z pnp joined #lisp 2020-01-01T13:18:41Z Bike joined #lisp 2020-01-01T13:19:33Z pjb: Good luck! 2020-01-01T13:28:19Z jmercouris: thank you 2020-01-01T13:29:27Z orivej joined #lisp 2020-01-01T13:29:28Z je4i quit (Ping timeout: 264 seconds) 2020-01-01T13:30:26Z anewuser quit (Ping timeout: 240 seconds) 2020-01-01T13:30:35Z FreeBirdLjj joined #lisp 2020-01-01T13:30:36Z jmercouris quit (Remote host closed the connection) 2020-01-01T13:33:48Z je4i joined #lisp 2020-01-01T13:35:00Z FreeBirdLjj quit (Ping timeout: 248 seconds) 2020-01-01T13:38:00Z asdf_asdf_asdf joined #lisp 2020-01-01T13:39:18Z kslt1 quit (Remote host closed the connection) 2020-01-01T13:39:20Z bestinket quit (Ping timeout: 258 seconds) 2020-01-01T13:41:24Z cosimone quit (Quit: Terminated!) 2020-01-01T13:42:09Z rumbler31 joined #lisp 2020-01-01T13:46:42Z rumbler31 quit (Ping timeout: 260 seconds) 2020-01-01T13:46:53Z dddddd joined #lisp 2020-01-01T13:49:34Z bestinket joined #lisp 2020-01-01T13:49:49Z dddddd quit (Read error: Connection reset by peer) 2020-01-01T13:50:14Z EvW joined #lisp 2020-01-01T13:50:18Z dddddd joined #lisp 2020-01-01T13:53:52Z stepnem quit (Read error: Connection reset by peer) 2020-01-01T13:55:11Z stepnem joined #lisp 2020-01-01T13:55:14Z smokeink quit (Ping timeout: 240 seconds) 2020-01-01T13:58:00Z rumbler31 joined #lisp 2020-01-01T14:02:21Z penguwin quit (Quit: NO CARRIER) 2020-01-01T14:02:27Z rumbler31 quit (Ping timeout: 260 seconds) 2020-01-01T14:03:13Z penguwin joined #lisp 2020-01-01T14:04:28Z bestinket quit (Ping timeout: 260 seconds) 2020-01-01T14:14:57Z antoszka: https://dream.tex-design.com.tw/products/shinobi?variant=16969883779162 ← kinda reminds one of the spacesaver 2020-01-01T14:14:57Z libertyprime quit (Quit: leaving) 2020-01-01T14:15:11Z antoszka: probably more of a #lispcafe topic, though, sorry 2020-01-01T14:19:20Z cosimone joined #lisp 2020-01-01T14:29:02Z william1 quit (Ping timeout: 268 seconds) 2020-01-01T14:30:08Z amnesia` quit (Ping timeout: 260 seconds) 2020-01-01T14:40:19Z hiroaki joined #lisp 2020-01-01T14:42:56Z boeg: Can anyone recommend a good code base (for learning purposes) that effectively uses conditions and return values where it makes sense to handle errors? I'm look to get a better grasp of when/what/how of error handling in lisp and I've read a lot of literature but what like to see some concrete examples 2020-01-01T14:43:29Z boeg: would* 2020-01-01T14:51:02Z _whitelogger quit (Remote host closed the connection) 2020-01-01T14:52:05Z beach: boeg: It is never a good idea to use return values to indicate error situations. 2020-01-01T14:52:44Z beach: boeg: You are then giving the caller the option of not handling errors, so the error then propagates further during execution, making it very hard to find the bug later. 2020-01-01T14:53:14Z _whitelogger joined #lisp 2020-01-01T14:53:48Z beach: boeg: furthermore, you must then handle the error in intermediate functions, like if A calls B and B calls C, C detects an error that B does not what to do with, but A does, then B must still look at the return value and return it to A. 2020-01-01T14:55:01Z beach: boeg: So for simple things, call ERROR in the function that detects the error situation and use HANDLER-CASE in the function that (directly or indirectly) invoked the function that detects the error. 2020-01-01T14:56:05Z beach: For more sophisticated situations, provide one or more restarts in the function that detects the error, letting the caller choose a restart so that execution can continue. 2020-01-01T14:56:17Z boeg: beach: Yes, what I meant was a code base that is good at returning values where it makes sense and using conditions what that makes sense 2020-01-01T14:56:19Z beach: As I recall, PCL has an example of that. 2020-01-01T14:56:32Z ebrasca quit (Remote host closed the connection) 2020-01-01T14:56:46Z beach: It never makes sense to use return values to indicate error situations. 2020-01-01T14:56:51Z boeg: not as in using return values for errors 2020-01-01T14:56:56Z boeg: indeed 2020-01-01T14:57:49Z Lord_of_Life_ joined #lisp 2020-01-01T14:58:12Z beach: Then almost any code base will do, because they all return values and they all handle errors. 2020-01-01T14:58:20Z boeg: a function should either return something or it should "throw" a condition 2020-01-01T14:58:39Z beach: "signal". Not "throw". 2020-01-01T14:58:43Z boeg: sure, but can you recommend a good code base that are good at doing it "properly"? That is maybe not too big but neither trivial 2020-01-01T14:58:47Z boeg: ah, thats the word 2020-01-01T14:59:08Z beach: THROW is a function in Common Lisp, but it doesn't have anything to do with error handling. 2020-01-01T14:59:23Z Lord_of_Life quit (Ping timeout: 265 seconds) 2020-01-01T14:59:39Z boeg: you know, i'd like to study a code base that is of good quality but not too big that the size will be a hindrance for the actual goal 2020-01-01T14:59:42Z beach: You can look at Cluffer if you like. It is pretty well organized if I may say so myself. 2020-01-01T14:59:47Z heisig joined #lisp 2020-01-01T14:59:50Z boeg: thanks, i'll check it out 2020-01-01T15:00:03Z beach: Let me know if you have any questions. 2020-01-01T15:00:07Z pticochon joined #lisp 2020-01-01T15:00:19Z boeg: sure, will do 2020-01-01T15:00:45Z Lord_of_Life_ is now known as Lord_of_Life 2020-01-01T15:01:05Z beach: You can also read chapter 19 of PCL. 2020-01-01T15:01:24Z beach: minion: Please tell boeg about PCL. 2020-01-01T15:01:25Z minion: boeg: look at PCL: pcl-book: "Practical Common Lisp", an introduction to Common Lisp by Peter Seibel, available at http://www.gigamonkeys.com/book/ and in dead-tree form from Apress (as of 11 April 2005). 2020-01-01T15:01:51Z boeg: beach: thanks ill give it a look 2020-01-01T15:01:59Z boeg: can you link me to cluffer? Not sure I can find it 2020-01-01T15:02:10Z beach: Sure, hold on... 2020-01-01T15:02:11Z boeg: googling is not of much help for "common lisp cluffer" 2020-01-01T15:02:22Z boeg: not a link for pcl, sorry 2020-01-01T15:02:28Z boeg: i own a copy 2020-01-01T15:03:02Z beach: https://github.com/robert-strandh/Cluffer 2020-01-01T15:03:12Z boeg: thank you 2020-01-01T15:03:14Z beach: It implements a buffer for a text editor. 2020-01-01T15:03:16Z beach: Sure. 2020-01-01T15:04:24Z beach: boeg: Cluffer has good comments, reasonable documentation, and tests. 2020-01-01T15:05:09Z boeg: cool, i'm sure ill learn something from it 2020-01-01T15:06:34Z boeg: beach: is cluffer used in any text editor i might know of? 2020-01-01T15:07:13Z beach: Not in any that is finished yet. 2020-01-01T15:07:19Z beach: ... as far as I know. 2020-01-01T15:07:33Z beach: But it is central to Second Climacs (which is not finished yet). 2020-01-01T15:08:15Z boeg: second climacs, I'll check it out 2020-01-01T15:08:42Z beach: I recommend you not try to execute it. 2020-01-01T15:09:26Z boeg: he ok 2020-01-01T15:11:27Z boeg: beach: sounds like a cool project 2020-01-01T15:11:34Z beach: Thanks. 2020-01-01T15:11:45Z beach: All my projects are "cool" I hope. :) 2020-01-01T15:11:53Z boeg: ha :P 2020-01-01T15:13:42Z boeg: beach: is it usable? As in do you use it? 2020-01-01T15:13:57Z boeg: just out of curiosity. Not gonna try building it or anything :p 2020-01-01T15:14:05Z beach: Second Climacs? No, not yet. 2020-01-01T15:14:20Z boeg: ok 2020-01-01T15:14:23Z beach: (first) Climacs works. But I am not using it. It is not good enough. 2020-01-01T15:14:40Z boeg: alright 2020-01-01T15:14:41Z beach: The plan is for Second Climacs to be so good for editing Common Lisp that I don't need to use Emacs for that anymore. 2020-01-01T15:15:03Z shangul quit (Ping timeout: 260 seconds) 2020-01-01T15:15:07Z boeg: right - so its goal is not so "universal" as what emacs (can be used for) ? 2020-01-01T15:15:28Z beach: Right, I won't have the energy for that. 2020-01-01T15:15:36Z boeg: like some use emacs for everything for writing software, to email, to browsing and so on because it can be used as a kinda lisp machine 2020-01-01T15:15:42Z boeg: alright 2020-01-01T15:17:13Z pjb: boeg: you could try to find a system that has a lot of define-condition. 2020-01-01T15:17:14Z beach: We are also working on other components of an IDE for Common Lisp, like a debugger (Clordane, embryonic for now), inspector Clouseau (by scymtym, very complete), etc. 2020-01-01T15:17:24Z jebes joined #lisp 2020-01-01T15:17:34Z beach: pjb: Cluffer does. 2020-01-01T15:17:43Z boeg: there ya go 2020-01-01T15:18:37Z orivej quit (Ping timeout: 258 seconds) 2020-01-01T15:19:01Z pnp quit (Remote host closed the connection) 2020-01-01T15:19:01Z pjb: boeg: Perhaps an interpreter would do; there are syntax errors, parsing errors, type errors, etc: https://github.com/informatimago/nasium-lse/ 2020-01-01T15:19:56Z jebes: is there an active common lisp editor project? 2020-01-01T15:20:16Z beach: jebes: Several, I think. I know loke is working on one. 2020-01-01T15:20:28Z jebes: i just found lem 2020-01-01T15:20:32Z boeg: beach: sounds cool, although I dunno if I would be interested in such a thing. What I like about emacs is that its an environment that understands (a) lisp so I can do whatever with it, like programming common lisp in it or taking notes and so on. I'm not interested in a "common lisp editor". I'm probably not the target though 2020-01-01T15:20:43Z beach: jebes: That's another one, yes. 2020-01-01T15:20:54Z boeg: pjb: thanks, ill check it out! 2020-01-01T15:21:13Z beach: boeg: You will change your mind when you discover what I can do. :) 2020-01-01T15:21:31Z boeg: beach: what can you do? 2020-01-01T15:21:47Z beach: I mean, with the editor. 2020-01-01T15:21:51Z boeg: right 2020-01-01T15:22:08Z didi joined #lisp 2020-01-01T15:22:10Z boeg: i guess my question is this 2020-01-01T15:22:20Z didi: What should be the result of (let ((x 42)) (mapcar (lambda (x) (declare (ignore x)) x) '(1 2 3)))? 2020-01-01T15:22:45Z boeg: is it an editor in an environment where you can program the environment live by evaluating things in the editor? 2020-01-01T15:22:46Z beach: boeg: metamodular.com/second-climacs.pdf 2020-01-01T15:22:58Z jebes: is that elisp or or cl, didi? 2020-01-01T15:23:08Z didi: jebes: Common Lisp. 2020-01-01T15:23:18Z pjb: didi: declarations are optional. A good implementation would signal a compile-time warning that a variable is not ignored as declared. 2020-01-01T15:23:28Z jebes: i imagine the result should be 1 2 3 with what pjb said 2020-01-01T15:23:45Z didi: pjb: But shouldn't X be bind to 42? 2020-01-01T15:23:46Z pjb: Definitely not (42 42 42) in any case. 2020-01-01T15:23:50Z didi: I see. 2020-01-01T15:24:32Z pjb: didi: but it was a good question, semantically it could have been meaningful. 2020-01-01T15:24:39Z boeg: beach: you should show me instead 2020-01-01T15:24:44Z boeg: beach: like with a short video 2020-01-01T15:24:52Z boeg: show me what you can do with second climacs :9 2020-01-01T15:25:06Z beach: I can't since it is not finished. 2020-01-01T15:25:11Z boeg: ah 2020-01-01T15:25:14Z boeg: of course 2020-01-01T15:25:22Z boeg: i am checking the document though, no worries 2020-01-01T15:25:26Z jebes: is climacs your project, beach? 2020-01-01T15:25:56Z pjb: didi: ccl gives: ;Compiler warnings : 2020-01-01T15:25:56Z pjb: ; In an anonymous lambda form inside an anonymous lambda form: Variable x not ignored. 2020-01-01T15:25:56Z pjb: ; In an anonymous lambda form: Unused lexical variable x 2020-01-01T15:25:57Z pjb: 2020-01-01T15:25:59Z boeg: beach: what is eta? If there is one 2020-01-01T15:26:15Z pjb: didi: The first x is the parameter, the second x is the let variable. 2020-01-01T15:26:42Z didi: pjb: SBCL also spills similar warnings. 2020-01-01T15:30:02Z beach: jebes: Yes, both (first) Climacs and Second Climacs. 2020-01-01T15:30:14Z jebes: beach: 2020-01-01T15:30:25Z jebes: is the github repo the active one? 2020-01-01T15:30:28Z beach: boeg: Hard to say, I am working on SICL right now. 2020-01-01T15:30:37Z beach: jebes: For Second Climacs it is, yes. 2020-01-01T15:30:41Z boeg: alright 2020-01-01T15:31:11Z beach: boeg: But SICL is necessary for the complete Second Climacs because I plan to compile the buffer at typing speed. 2020-01-01T15:31:24Z boeg: right, sounds cool! 2020-01-01T15:31:26Z jebes: ambitious... 2020-01-01T15:31:33Z boeg: I'll have to keep an eye on it for sure 2020-01-01T15:34:42Z shangul joined #lisp 2020-01-01T15:41:07Z karlosz joined #lisp 2020-01-01T15:42:07Z an3223 joined #lisp 2020-01-01T15:47:00Z didi left #lisp 2020-01-01T15:47:36Z didi joined #lisp 2020-01-01T15:49:45Z didi: Should I use `assert' for sanity checks? For example, X must be a list of length 1 at this point; there is no fixing if it is not. 2020-01-01T15:50:03Z shka_ quit (Ping timeout: 258 seconds) 2020-01-01T15:50:11Z beach: ASSERT is fine for that. 2020-01-01T15:50:21Z didi: beach: Thank you. 2020-01-01T15:50:25Z beach: But only as a tool for the developer. 2020-01-01T15:50:44Z didi: Yes, that's my intent here. 2020-01-01T15:50:50Z beach: OK. 2020-01-01T15:52:26Z hiroaki quit (Ping timeout: 240 seconds) 2020-01-01T15:54:41Z learning joined #lisp 2020-01-01T16:05:03Z shka_ joined #lisp 2020-01-01T16:05:42Z didi left #lisp 2020-01-01T16:06:28Z heisig quit (Ping timeout: 268 seconds) 2020-01-01T16:10:18Z pjb: minion: memo for didi: note that CL:ASSERT let you fix the problem: Try: (let ((list (list 1 2 3))) (assert (= 1 (length list)) (list) "should be a list of 1 element")) and select the restart that let you enter a new value for LIST. 2020-01-01T16:10:18Z minion: Remembered. I'll tell didi when he/she/it next speaks. 2020-01-01T16:11:59Z jebes: minion: singular they uber alles my duderion 2020-01-01T16:12:00Z minion: watch out, you'll make krystof angry 2020-01-01T16:18:07Z gareppa joined #lisp 2020-01-01T16:26:31Z jebes quit (Remote host closed the connection) 2020-01-01T16:40:55Z fanta1 joined #lisp 2020-01-01T16:43:52Z gareppa quit (Quit: Leaving) 2020-01-01T16:46:09Z Lycurgus joined #lisp 2020-01-01T16:47:49Z jgodbout joined #lisp 2020-01-01T16:50:00Z Lycurgus quit (Client Quit) 2020-01-01T16:58:06Z fookara quit (Read error: Connection reset by peer) 2020-01-01T16:59:09Z cosimone quit (Quit: Terminated!) 2020-01-01T17:01:45Z varjag quit (Quit: ERC (IRC client for Emacs 26.1)) 2020-01-01T17:04:41Z pticochon quit (Changing host) 2020-01-01T17:04:41Z pticochon joined #lisp 2020-01-01T17:05:32Z heisig joined #lisp 2020-01-01T17:05:40Z scymtym: boeg: this is not second climacs but it demonstrates some of the things that can be done by using the Lisp reader instead of regex-based analysis: https://techfak.de/~jmoringe/style-check.html . or see https://techfak.de/~jmoringe/eclector-cst-toy-2.ogv , https://techfak.de/~jmoringe/eclector-context-completion.ogv for a deeper analysis, in emacs but based on the same approach 2020-01-01T17:06:29Z boeg: scymtym: thank you, i'll check it out! 2020-01-01T17:06:33Z bestinket joined #lisp 2020-01-01T17:06:37Z anddam left #lisp 2020-01-01T17:10:51Z heisig quit (Ping timeout: 265 seconds) 2020-01-01T17:16:46Z brown121407 quit (Ping timeout: 268 seconds) 2020-01-01T17:17:33Z brown121407 joined #lisp 2020-01-01T17:18:43Z Oladon joined #lisp 2020-01-01T17:19:57Z an3223 quit (Quit: WeeChat 2.7) 2020-01-01T17:20:09Z kajo joined #lisp 2020-01-01T17:23:28Z v88m joined #lisp 2020-01-01T17:28:29Z brown121407 quit (Read error: Connection reset by peer) 2020-01-01T17:28:42Z brown121407 joined #lisp 2020-01-01T17:29:05Z narimiran joined #lisp 2020-01-01T17:30:33Z heisig joined #lisp 2020-01-01T17:33:36Z Kevslinger quit (Quit: Connection closed for inactivity) 2020-01-01T17:33:53Z icer joined #lisp 2020-01-01T17:35:05Z heisig quit (Ping timeout: 258 seconds) 2020-01-01T17:40:53Z brown121407 quit (Ping timeout: 260 seconds) 2020-01-01T17:42:30Z rumbler31 joined #lisp 2020-01-01T17:42:39Z learning quit (Read error: Connection reset by peer) 2020-01-01T17:42:51Z brown121407 joined #lisp 2020-01-01T17:42:56Z learning joined #lisp 2020-01-01T17:43:37Z refpga joined #lisp 2020-01-01T17:44:27Z refpga quit (Client Quit) 2020-01-01T17:44:42Z refpga joined #lisp 2020-01-01T17:44:46Z Josh_2 joined #lisp 2020-01-01T17:49:28Z EvW quit (Ping timeout: 245 seconds) 2020-01-01T17:52:57Z Necktwi quit (Read error: Connection reset by peer) 2020-01-01T17:58:10Z Necktwi joined #lisp 2020-01-01T18:05:26Z josemanuel quit (Quit: leaving) 2020-01-01T18:09:28Z madagest joined #lisp 2020-01-01T18:11:31Z aeth: I'd prefer CHECK-TYPE to ASSERT if it can be expressed as a type in a reasonable way (so e.g. not a SATISFIES type). 2020-01-01T18:12:03Z madage quit (Ping timeout: 240 seconds) 2020-01-01T18:12:05Z aeth: For list length, maybe ASSERT is the most straightforward, but for vector length, a CHECK-TYPE is the most readable and concise. 2020-01-01T18:12:15Z EvW joined #lisp 2020-01-01T18:19:38Z je4i quit (Quit: ERC (IRC client for Emacs 25.3.1)) 2020-01-01T18:21:08Z icer quit (Ping timeout: 260 seconds) 2020-01-01T18:23:26Z space_otter joined #lisp 2020-01-01T18:26:53Z ahungry joined #lisp 2020-01-01T18:32:54Z Kevslinger joined #lisp 2020-01-01T18:45:37Z shangul quit (Ping timeout: 258 seconds) 2020-01-01T18:49:32Z brown121407 quit (Read error: Connection reset by peer) 2020-01-01T18:50:24Z brown121408 joined #lisp 2020-01-01T19:02:12Z mathrick joined #lisp 2020-01-01T19:02:30Z alexmeinhold joined #lisp 2020-01-01T19:04:12Z Jeanne-Kamikaze joined #lisp 2020-01-01T19:04:47Z alexmeinhold left #lisp 2020-01-01T19:10:36Z fanta1 quit (Quit: fanta1) 2020-01-01T19:10:39Z retropikzel joined #lisp 2020-01-01T19:11:28Z bestinket quit (Ping timeout: 268 seconds) 2020-01-01T19:12:55Z Kundry_Wag joined #lisp 2020-01-01T19:14:36Z jebes joined #lisp 2020-01-01T19:18:17Z random-nick quit (Quit: quit) 2020-01-01T19:21:37Z random-nick joined #lisp 2020-01-01T19:31:04Z fanta1 joined #lisp 2020-01-01T19:31:44Z ggole quit (Quit: Leaving) 2020-01-01T19:34:51Z brettgilio quit (Read error: Connection reset by peer) 2020-01-01T19:34:56Z jonatack joined #lisp 2020-01-01T19:39:44Z lucasb joined #lisp 2020-01-01T19:41:53Z rumbler31: sorry for the noob question, but I want to return a specific value from a loop once it is complete 2020-01-01T19:43:19Z rumbler31: the "finally" verb simply executes its form 2020-01-01T19:43:32Z johnjay: rumbler31: sounds like a job for progn 2020-01-01T19:44:11Z rumbler31: well, you mean stuff a return form in a finally statement? 2020-01-01T19:44:34Z efm quit (Read error: Connection reset by peer) 2020-01-01T19:44:38Z aeth: :finally (return ...) 2020-01-01T19:45:12Z rumbler31: oh man. I forgot about that I keep thinking about return in loops as the return verb and forgetting that function call 2020-01-01T19:46:41Z efm joined #lisp 2020-01-01T19:46:53Z pjb: rumbler31: just don't forget that lisp is orthogonal! 2020-01-01T19:47:18Z rumbler31: What do you mean 2020-01-01T19:49:27Z jebes: everything is meant to tie together, there isn't arbitary differences like statements vs expressions 2020-01-01T19:50:30Z fanta1 quit (Quit: fanta1) 2020-01-01T19:55:50Z asdf_asdf_asdf quit (Remote host closed the connection) 2020-01-01T19:59:02Z duuqnd joined #lisp 2020-01-01T19:59:52Z nirved: rumbler31: still doing advent of code? 2020-01-01T20:01:02Z pjb: rumbler31: that means that loop doesn't return. return returns. If you want to return from a loop you must combine loop and return. 2020-01-01T20:01:11Z jebes quit (Remote host closed the connection) 2020-01-01T20:04:20Z kajo quit (Ping timeout: 248 seconds) 2020-01-01T20:06:37Z learning quit 2020-01-01T20:12:08Z asdf_asdf_asdf joined #lisp 2020-01-01T20:13:40Z rumbler31: but there is a loop keyword called return, I meant 2020-01-01T20:14:28Z rumbler31: nirved: yes. 2020-01-01T20:14:37Z jonatack quit (Ping timeout: 260 seconds) 2020-01-01T20:16:42Z icer joined #lisp 2020-01-01T20:19:05Z nirved: rumbler31: how is it going? which day are you at? 2020-01-01T20:19:21Z rumbler31: day 4. I worked back through 3 and got the right answer 2020-01-01T20:19:56Z Oladon quit (Quit: Leaving.) 2020-01-01T20:19:57Z rumbler31: day 4 part 2. the wording isn't clear but I think they are trying to say that there must be at least one pair that is only a pair, even if there are other matching digits of any length 2020-01-01T20:21:18Z icer quit (Ping timeout: 260 seconds) 2020-01-01T20:22:54Z varjag joined #lisp 2020-01-01T20:24:08Z nirved: looks quite clear to me: counting the repeating element, matching if there's a pair, ignoring otherwise 2020-01-01T20:25:11Z rumbler31: part 2 adds a thing 2020-01-01T20:25:34Z nirved: still easy 2020-01-01T20:26:17Z rumbler31: my brain is fried and I'm distracted 2020-01-01T20:28:06Z nirved: a more convolved solution would be to first transform the number to a run-length encoded sequence - i.e. list of (digit repetitions), and work on it 2020-01-01T20:29:42Z rumbler31: that's almost easier to think about 2020-01-01T20:33:43Z kajo joined #lisp 2020-01-01T20:36:35Z wnj joined #lisp 2020-01-01T20:39:14Z wnj quit (Remote host closed the connection) 2020-01-01T20:39:35Z grewal joined #lisp 2020-01-01T20:40:50Z izh_ joined #lisp 2020-01-01T20:42:07Z grobe0ba quit (Ping timeout: 268 seconds) 2020-01-01T20:44:33Z pjb: When you use the loop return, it doesn't execute the finally: (loop return 42 finally (return 33)) #| --> 42 |# 2020-01-01T20:45:01Z pjb: or: (loop return 42 finally (print 33)) #| --> 42 |# 2020-01-01T20:46:20Z grobe0ba joined #lisp 2020-01-01T20:47:01Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2020-01-01T20:49:18Z wnj joined #lisp 2020-01-01T20:52:11Z ahungry quit (Remote host closed the connection) 2020-01-01T20:52:27Z torbo joined #lisp 2020-01-01T20:56:33Z raghavgururajan quit (Remote host closed the connection) 2020-01-01T20:57:54Z q-u-a-n2 quit (Read error: Connection reset by peer) 2020-01-01T21:00:19Z Josh_2: hmm, so I have a problem. I have a thread that is constantly listening for connections, accepting and processing them. How can I kill this thread without ending up with the "address-in-use" error when I attempt to restart the thread on the same ip and port? 2020-01-01T21:00:23Z cosimone joined #lisp 2020-01-01T21:01:13Z Josh_2: hmmm actually maybe I answered my own question 2020-01-01T21:01:25Z Josh_2: I love it when that happens 2020-01-01T21:01:37Z rumbler31 quit (Remote host closed the connection) 2020-01-01T21:12:57Z narimiran quit (Ping timeout: 268 seconds) 2020-01-01T21:16:36Z Xach: Josh_2: was it so_reuseaddr? 2020-01-01T21:25:48Z bitmapper joined #lisp 2020-01-01T21:25:59Z brettgilio joined #lisp 2020-01-01T21:28:23Z gravicappa quit (Ping timeout: 260 seconds) 2020-01-01T21:29:40Z stepnem_ joined #lisp 2020-01-01T21:31:27Z stepnem quit (Ping timeout: 268 seconds) 2020-01-01T21:32:51Z Josh_2: usocket:socket-listen has both :reuseaddress and :reuse-address for some reason, but had them both set to t to no avail. Instead I just put the currently listening connection into my server object so I can shut it down when I shut down the server 2020-01-01T21:34:17Z pfdietz joined #lisp 2020-01-01T21:35:35Z pfdietz: So should I do more random tests with *check-consistency* enabled? 2020-01-01T21:35:45Z pfdietz: Oops, wrong channel 2020-01-01T21:37:08Z shka_ quit (Ping timeout: 260 seconds) 2020-01-01T21:37:12Z efm quit (Read error: Connection reset by peer) 2020-01-01T21:37:57Z aeth: the answer is always "yes" to "... more... tests...?" 2020-01-01T21:38:36Z aeth: (assuming there isn't a negation) 2020-01-01T21:43:36Z Kevslinger quit (Quit: Connection closed for inactivity) 2020-01-01T21:47:42Z efm joined #lisp 2020-01-01T21:55:25Z shifty joined #lisp 2020-01-01T21:58:48Z cosimone quit (Quit: Terminated!) 2020-01-01T22:01:52Z cosimone joined #lisp 2020-01-01T22:02:31Z rumbler31 joined #lisp 2020-01-01T22:04:47Z heisig joined #lisp 2020-01-01T22:07:37Z Jeanne-Kamikaze quit (Ping timeout: 265 seconds) 2020-01-01T22:07:47Z rumbler31 quit (Ping timeout: 260 seconds) 2020-01-01T22:13:22Z ebrasca joined #lisp 2020-01-01T22:19:44Z Jeanne-Kamikaze joined #lisp 2020-01-01T22:20:18Z shifty quit (Ping timeout: 260 seconds) 2020-01-01T22:23:05Z heisig quit (Ping timeout: 265 seconds) 2020-01-01T22:32:48Z cosimone quit (Quit: Quit.) 2020-01-01T22:34:17Z cosimone joined #lisp 2020-01-01T22:36:35Z lemoinem quit (Killed (livingstone.freenode.net (Nickname regained by services))) 2020-01-01T22:36:37Z lemoinem joined #lisp 2020-01-01T22:42:08Z Lestat9 joined #lisp 2020-01-01T22:42:34Z Lestat9: whats the easiest lisp program out there? 2020-01-01T22:42:41Z Lestat9: easy to learn 2020-01-01T22:43:10Z no-defun-allowed: The easiest would be a constant, like 2. 2020-01-01T22:43:13Z pjb: Lestat9: "Hello World!" 2020-01-01T22:43:18Z aeth: no-defun-allowed: 0 2020-01-01T22:43:21Z aeth: Always start with 0 2020-01-01T22:43:32Z no-defun-allowed: aeth: :no-u 2020-01-01T22:43:39Z Lestat9: I mean the actual program not a program within lisp 2020-01-01T22:43:52Z aeth: no-defun-allowed: your 2-based indices are an interesting solution to the 0-based vs. 1-based controversy in computing 2020-01-01T22:44:08Z Lestat9: like microsoft visal basic is the program is used to write program 2020-01-01T22:44:22Z no-defun-allowed: aeth: 0 and 1 are both radical extremists, the true solution is for 1/2 to be the starting index for an array. 2020-01-01T22:44:36Z pjb: Lestat9: Clozure CL.app but it's written in Common Lisp so you will discount it. 2020-01-01T22:44:47Z no-defun-allowed: And it's not like anything other than Matlab and Maxima use 1-based indexing. 2020-01-01T22:44:48Z Lestat9: i dont think mircosoft made lisp programming language 2020-01-01T22:44:50Z pjb: There's also emacs, but it's written in emacs lisp, so you will discount it. 2020-01-01T22:44:56Z aeth: no-defun-allowed: I like starting at -1 so you have a spare item in front just in case you want to use it. 2020-01-01T22:45:00Z aeth: RAM's cheap 2020-01-01T22:45:09Z pjb: Lestat9: I guess you could try vim… 2020-01-01T22:45:40Z Lestat9: have you guys followed the ai chess programs? 2020-01-01T22:45:41Z aeth: no-defun-allowed: Quite a few things use 1-based, as diverse as Fortran (iirc) and Lua. 2020-01-01T22:46:09Z no-defun-allowed: People use FORTRAN? 2020-01-01T22:46:48Z aeth: no-defun-allowed: If someone wrote your scientific computation program in 1974 and then retired in 1981 and died in 1987, who would dare touch it to try to rewrite it? 2020-01-01T22:47:07Z no-defun-allowed: :/ 2020-01-01T22:47:54Z pfdietz: A lot of old COBOL is being slowly GCed as the companies running the programs eventually die. This can take a while. 2020-01-01T22:49:40Z izh_ quit (Quit: Leaving) 2020-01-01T22:51:43Z edgar-rft: Lestat9: when microsoft started in a garage they didn't have enough money for Lisp, so they bought DOS instead 2020-01-01T22:52:34Z no-defun-allowed would say mulisp is a Lisp implementation by Microsoft but it is not Common Lisp 2020-01-01T22:53:06Z Lestat9: I was teethed on a commodore 64 and in 1984 IBM didnt even have color yet so commodore4 was king... 2020-01-01T22:53:50Z Lestat9: I talked to a girl i dated back then and she reminded me she met me on my BBS i ran on my C64, and jokingly said that was the first internet... and then ui realized it was 2020-01-01T22:54:25Z Shinmera: Lestat9: Please stay on topic. 2020-01-01T22:57:14Z Lestat9: There was a lizard i ran over today by my house 2020-01-01T22:58:19Z no-defun-allowed: Do you want a Lisp implementation to use, or a Lisp program to analyse? 2020-01-01T22:58:40Z no-defun-allowed: (Or both? You could study a Lisp implementation with enough snacks.) 2020-01-01T22:59:21Z lucasb quit (Quit: Connection closed for inactivity) 2020-01-01T23:02:00Z fyrkrans joined #lisp 2020-01-01T23:02:54Z hhdave joined #lisp 2020-01-01T23:05:29Z rumbler31 joined #lisp 2020-01-01T23:06:57Z akoana joined #lisp 2020-01-01T23:08:47Z tadni[m]1 joined #lisp 2020-01-01T23:09:38Z rumbler31 quit (Ping timeout: 240 seconds) 2020-01-01T23:10:06Z clothespin joined #lisp 2020-01-01T23:12:09Z dale joined #lisp 2020-01-01T23:13:54Z tadni[m]1 quit (Quit: authenticating) 2020-01-01T23:14:16Z pjb: Lestat9: there's #lispcafe for random ranting. 2020-01-01T23:16:14Z jmercouris joined #lisp 2020-01-01T23:17:07Z jmercouris: how much do you have to change a block of code before it is no longer copyrightable? 2020-01-01T23:17:31Z jmercouris: I know this is a legal question, but there's a snippet in my codebase that no longer resembles the original implementation, is that still under copywrite? 2020-01-01T23:17:35Z jmercouris: copyright* 2020-01-01T23:17:54Z pjb: jmercouris: this is a question to ask a judge in an actual suit. 2020-01-01T23:17:55Z grobe0ba: jmercouris: afaik, any modifications YOU make are your IP, and thus copyrightable by you. 2020-01-01T23:18:06Z grobe0ba: however, the original code copyright holds on anything no actually modified. 2020-01-01T23:18:11Z grobe0ba: not of course to include reformatting. 2020-01-01T23:18:20Z grobe0ba is not a lawyer, just reads too much stuff 2020-01-01T23:18:22Z jmercouris: the only things that are the same are a couple of method names 2020-01-01T23:18:28Z grobe0ba: as pjb said, ask a lawyer. 2020-01-01T23:18:30Z pjb: jmercouris: the technical term is derived work. Notice how you can take a book, change every sentences of it, and still get a derived work. For example, when translating. 2020-01-01T23:18:32Z jebes joined #lisp 2020-01-01T23:18:42Z jmercouris: that's true 2020-01-01T23:18:44Z duuqnd: I mean, it's technically probably maybe still owned by the author but if it doesn't even resemble the original you're probably safe as long as you don't tell anyone. 2020-01-01T23:18:48Z jmercouris: I guess this would be drived work 2020-01-01T23:19:03Z pjb: jmercouris: so even if you rewrite the whole software, even in a different language for a different system, you could still fall under the derived work category and own all your profit to the original author. 2020-01-01T23:19:46Z jmercouris: well, the original author did release under a BSD type license... 2020-01-01T23:20:03Z jmercouris: I'll just leave the copyright notice in anyways, even though it does not seem relevant anymore 2020-01-01T23:20:05Z jmercouris: it doesn't hurt I guess 2020-01-01T23:21:11Z orivej joined #lisp 2020-01-01T23:22:23Z grobe0ba: jmercouris: just add your own above it in the file, and you're covered. 2020-01-01T23:24:44Z jmercouris: OK, will do, thanks 2020-01-01T23:25:16Z jmercouris quit (Remote host closed the connection) 2020-01-01T23:25:27Z asdf_asdf_asdf quit (Remote host closed the connection) 2020-01-01T23:27:23Z wxie joined #lisp 2020-01-01T23:32:26Z ebrasca quit (Remote host closed the connection) 2020-01-01T23:42:48Z orivej quit (Ping timeout: 268 seconds) 2020-01-01T23:43:28Z wxie quit (Ping timeout: 258 seconds) 2020-01-01T23:43:40Z hhdave quit (Quit: hhdave) 2020-01-01T23:51:13Z Kevslinger joined #lisp 2020-01-01T23:53:26Z clothespin quit (Ping timeout: 258 seconds) 2020-01-02T00:00:19Z space_otter quit (Remote host closed the connection) 2020-01-02T00:00:29Z jebes quit (Quit: ZNC 1.7.4+deb7 - https://znc.in) 2020-01-02T00:04:28Z cosimone quit (Ping timeout: 245 seconds) 2020-01-02T00:06:25Z duuqnd quit 2020-01-02T00:08:03Z stepnem joined #lisp 2020-01-02T00:08:48Z stepnem_ quit (Ping timeout: 260 seconds) 2020-01-02T00:14:22Z thecoffemaker quit (Ping timeout: 260 seconds) 2020-01-02T00:16:01Z thecoffemaker joined #lisp 2020-01-02T00:18:48Z rumbler31 joined #lisp 2020-01-02T00:18:51Z nckx quit (Quit: Updating my GNU Guix System — https://guix.gnu.org) 2020-01-02T00:19:19Z nckx joined #lisp 2020-01-02T00:19:33Z clothespin joined #lisp 2020-01-02T00:23:55Z rumbler31 quit (Ping timeout: 265 seconds) 2020-01-02T00:24:24Z akoana quit (Ping timeout: 265 seconds) 2020-01-02T00:25:36Z Oladon joined #lisp 2020-01-02T00:35:31Z random-nick quit (Ping timeout: 265 seconds) 2020-01-02T00:39:46Z xkapastel joined #lisp 2020-01-02T00:42:01Z Kundry_Wag quit 2020-01-02T00:43:34Z rumbler31 joined #lisp 2020-01-02T00:45:14Z fittestbits__ joined #lisp 2020-01-02T00:47:28Z varjag quit (Quit: ERC (IRC client for Emacs 26.1)) 2020-01-02T00:49:43Z Lestat9 quit 2020-01-02T01:04:12Z akoana joined #lisp 2020-01-02T01:09:47Z anewuser joined #lisp 2020-01-02T01:29:23Z Kundry_Wag joined #lisp 2020-01-02T01:36:06Z fittestbits__ left #lisp 2020-01-02T01:36:58Z ahungry joined #lisp 2020-01-02T01:45:42Z orivej joined #lisp 2020-01-02T01:53:14Z orivej quit (Ping timeout: 240 seconds) 2020-01-02T02:08:31Z vidak` joined #lisp 2020-01-02T02:08:50Z smokeink joined #lisp 2020-01-02T02:10:15Z bitmapper quit (Ping timeout: 265 seconds) 2020-01-02T02:13:39Z brettgilio quit (Quit: Quit) 2020-01-02T02:25:46Z X-Scale` joined #lisp 2020-01-02T02:26:41Z X-Scale quit (Ping timeout: 265 seconds) 2020-01-02T02:26:57Z brettgilio joined #lisp 2020-01-02T02:27:09Z X-Scale` is now known as X-Scale 2020-01-02T02:29:07Z jebes joined #lisp 2020-01-02T02:31:18Z libertyprime joined #lisp 2020-01-02T02:39:02Z karswell quit (Ping timeout: 258 seconds) 2020-01-02T02:42:25Z yangby joined #lisp 2020-01-02T02:42:34Z karlosz_ joined #lisp 2020-01-02T02:42:43Z madagest quit (Ping timeout: 240 seconds) 2020-01-02T02:43:42Z karlosz quit (Ping timeout: 260 seconds) 2020-01-02T02:43:42Z karlosz_ is now known as karlosz 2020-01-02T02:45:56Z EvW quit (Ping timeout: 248 seconds) 2020-01-02T02:48:04Z madage joined #lisp 2020-01-02T02:52:58Z yangby quit (Quit: Go out for a walk and buy a drink.) 2020-01-02T02:53:51Z icer joined #lisp 2020-01-02T02:57:43Z Lord_of_Life_ joined #lisp 2020-01-02T02:58:12Z icer quit (Ping timeout: 258 seconds) 2020-01-02T02:58:52Z Kundry_Wag quit 2020-01-02T02:59:21Z Lord_of_Life quit (Ping timeout: 258 seconds) 2020-01-02T02:59:22Z Lord_of_Life_ is now known as Lord_of_Life 2020-01-02T02:59:54Z pjb quit (Remote host closed the connection) 2020-01-02T03:02:47Z pjb joined #lisp 2020-01-02T03:05:14Z brettgilio left #lisp 2020-01-02T03:06:09Z pjb quit (Remote host closed the connection) 2020-01-02T03:06:58Z brettgilio joined #lisp 2020-01-02T03:08:08Z pjb joined #lisp 2020-01-02T03:10:35Z p0a joined #lisp 2020-01-02T03:14:04Z p0a left #lisp 2020-01-02T03:14:59Z brettgilio quit (Quit: ZNC 1.7.5 - https://znc.in) 2020-01-02T03:15:33Z brettgilio joined #lisp 2020-01-02T03:17:08Z madmonkey joined #lisp 2020-01-02T03:18:16Z rumbler31 quit (Remote host closed the connection) 2020-01-02T03:18:42Z dddddd quit (Ping timeout: 260 seconds) 2020-01-02T03:20:13Z pjb quit (Read error: No route to host) 2020-01-02T03:21:29Z fyrkrans quit (Remote host closed the connection) 2020-01-02T03:23:48Z monok joined #lisp 2020-01-02T03:24:00Z pjb joined #lisp 2020-01-02T03:27:14Z mono quit (Ping timeout: 240 seconds) 2020-01-02T03:28:31Z pjb quit (Remote host closed the connection) 2020-01-02T03:29:50Z pjb joined #lisp 2020-01-02T03:43:38Z pjb quit (Ping timeout: 252 seconds) 2020-01-02T03:44:50Z vidak` quit (Ping timeout: 240 seconds) 2020-01-02T03:47:00Z pjb joined #lisp 2020-01-02T03:50:55Z pjb quit (Remote host closed the connection) 2020-01-02T03:52:12Z pjb joined #lisp 2020-01-02T03:57:04Z pjb quit (Remote host closed the connection) 2020-01-02T03:58:43Z pjb joined #lisp 2020-01-02T04:06:49Z beach: Good morning everyone! 2020-01-02T04:08:31Z Josh_2: Morning beach 2020-01-02T04:09:12Z ebzzry quit (Ping timeout: 268 seconds) 2020-01-02T04:10:39Z pjb quit (Remote host closed the connection) 2020-01-02T04:12:28Z pjb joined #lisp 2020-01-02T04:17:08Z pjb quit (Ping timeout: 248 seconds) 2020-01-02T04:19:09Z pjb joined #lisp 2020-01-02T04:26:33Z madmonkey quit (Ping timeout: 265 seconds) 2020-01-02T04:28:25Z pjb quit (Remote host closed the connection) 2020-01-02T04:31:24Z brettgilio quit (Ping timeout: 246 seconds) 2020-01-02T04:31:43Z pjb joined #lisp 2020-01-02T04:32:19Z brettgilio joined #lisp 2020-01-02T04:41:28Z p0a joined #lisp 2020-01-02T04:41:37Z p0a: Hello how can I evaluate a lisp form in slime? 2020-01-02T04:41:38Z pjb quit (Read error: No route to host) 2020-01-02T04:41:53Z Josh_2: by typing it and hitting return? 2020-01-02T04:42:14Z p0a: That's right. I meant to ask, if I'm in a different buffer like foo.lisp 2020-01-02T04:42:46Z Josh_2: c-c c-c 2020-01-02T04:42:47Z loke: p0a: C-M-x 2020-01-02T04:42:53Z p0a: https://www.common-lisp.net/project/slime/doc/html/Evaluation.html#Evaluation says C-x C-e but it's not working 2020-01-02T04:43:10Z p0a: ah okay. I don't particularly like C-M but it'll do 2020-01-02T04:43:15Z p0a: thank you lo 2020-01-02T04:43:24Z Josh_2: well c-c c-c is compile it, then you can run it in repl 2020-01-02T04:43:39Z loke: p0a: C-c C-c compiles the form. M-C-x evaluates it. In most cases they are the same. 2020-01-02T04:43:49Z p0a: Wait, C-c C-c only compiles one form not the file? aaah 2020-01-02T04:44:08Z Josh_2: c-c c-k is whole file 2020-01-02T04:44:12Z p0a: Right right, thank you 2020-01-02T04:44:24Z p0a: thanks for reminding me about compilation/evaluation being the same. I was confused for a moment 2020-01-02T04:44:33Z pjb joined #lisp 2020-01-02T04:45:06Z gravicappa joined #lisp 2020-01-02T04:49:32Z pjb quit (Remote host closed the connection) 2020-01-02T04:49:52Z Bike quit (Quit: Lost terminal) 2020-01-02T04:51:52Z pjb joined #lisp 2020-01-02T04:56:08Z pjb quit (Remote host closed the connection) 2020-01-02T04:57:53Z pjb joined #lisp 2020-01-02T05:01:56Z pjb quit (Remote host closed the connection) 2020-01-02T05:04:17Z pjb joined #lisp 2020-01-02T05:08:21Z p0a quit (Quit: bye) 2020-01-02T05:09:13Z oxum_ quit (Remote host closed the connection) 2020-01-02T05:09:13Z libertyprime quit (Ping timeout: 260 seconds) 2020-01-02T05:11:38Z pjb quit (Ping timeout: 252 seconds) 2020-01-02T05:13:58Z pjb joined #lisp 2020-01-02T05:15:48Z rumbler31 joined #lisp 2020-01-02T05:18:00Z sjl joined #lisp 2020-01-02T05:18:13Z pjb quit (Ping timeout: 245 seconds) 2020-01-02T05:18:29Z karlosz quit (Quit: karlosz) 2020-01-02T05:18:45Z karlosz joined #lisp 2020-01-02T05:20:53Z pjb joined #lisp 2020-01-02T05:22:14Z dale quit (Quit: My computer has gone to sleep) 2020-01-02T05:24:52Z pjb quit (Remote host closed the connection) 2020-01-02T05:26:08Z pjb joined #lisp 2020-01-02T05:30:48Z oxum joined #lisp 2020-01-02T05:31:03Z libertyprime joined #lisp 2020-01-02T05:32:36Z pjb` joined #lisp 2020-01-02T05:33:56Z pjb quit (Ping timeout: 248 seconds) 2020-01-02T05:36:44Z hapticFeels joined #lisp 2020-01-02T05:37:10Z pjb` quit (Remote host closed the connection) 2020-01-02T05:38:03Z retropikzel quit (Quit: Leaving) 2020-01-02T05:38:52Z pjb` joined #lisp 2020-01-02T05:41:33Z orivej joined #lisp 2020-01-02T05:45:42Z pjb` quit (Ping timeout: 260 seconds) 2020-01-02T05:48:00Z pjb` joined #lisp 2020-01-02T05:48:14Z oxum_ joined #lisp 2020-01-02T05:50:50Z oxum quit (Ping timeout: 240 seconds) 2020-01-02T05:53:42Z pjb`` joined #lisp 2020-01-02T05:53:55Z pjb` quit (Remote host closed the connection) 2020-01-02T05:59:14Z libertyprime quit (Quit: leaving) 2020-01-02T06:00:50Z jgodbout quit (Ping timeout: 240 seconds) 2020-01-02T06:03:02Z oxum_ quit (Read error: Connection reset by peer) 2020-01-02T06:03:08Z oxum joined #lisp 2020-01-02T06:06:23Z vidak` joined #lisp 2020-01-02T06:12:35Z Jeanne-Kamikaze quit (Remote host closed the connection) 2020-01-02T06:12:52Z icer joined #lisp 2020-01-02T06:16:21Z Oladon quit (Quit: Leaving.) 2020-01-02T06:20:07Z karlosz quit (Quit: karlosz) 2020-01-02T06:21:14Z icer left #lisp 2020-01-02T06:24:57Z ahungry quit (Remote host closed the connection) 2020-01-02T06:36:05Z oxum quit (Remote host closed the connection) 2020-01-02T06:37:11Z oxum joined #lisp 2020-01-02T06:45:08Z quazimodo quit (Ping timeout: 258 seconds) 2020-01-02T06:47:41Z oxum quit (Ping timeout: 265 seconds) 2020-01-02T06:48:21Z oxum joined #lisp 2020-01-02T06:48:26Z refpga quit (Ping timeout: 240 seconds) 2020-01-02T06:49:39Z refpga joined #lisp 2020-01-02T06:49:39Z oxum_ joined #lisp 2020-01-02T06:49:41Z oxum quit (Remote host closed the connection) 2020-01-02T06:50:31Z Inline quit (Quit: Leaving) 2020-01-02T06:51:30Z ebzzry joined #lisp 2020-01-02T06:52:30Z quazimodo joined #lisp 2020-01-02T06:54:13Z refpga quit (Ping timeout: 260 seconds) 2020-01-02T06:54:46Z refpga joined #lisp 2020-01-02T06:56:27Z narimiran joined #lisp 2020-01-02T07:05:14Z gravicappa quit (Ping timeout: 240 seconds) 2020-01-02T07:06:49Z smokeink quit (Remote host closed the connection) 2020-01-02T07:07:40Z smokeink joined #lisp 2020-01-02T07:14:27Z MichaelRaskin quit (Quit: MichaelRaskin) 2020-01-02T07:19:19Z xkapastel quit (Quit: Connection closed for inactivity) 2020-01-02T07:23:28Z scymtym quit (Ping timeout: 258 seconds) 2020-01-02T07:24:38Z jprajzne joined #lisp 2020-01-02T07:32:43Z malm quit (Quit: Bye bye) 2020-01-02T07:43:32Z stux|RC-only quit (Quit: Aloha!) 2020-01-02T07:49:44Z stux|RC-only joined #lisp 2020-01-02T08:06:11Z Oladon joined #lisp 2020-01-02T08:09:28Z MinnowTaur quit (Ping timeout: 258 seconds) 2020-01-02T08:13:37Z john_ joined #lisp 2020-01-02T08:14:07Z pticochon quit (Remote host closed the connection) 2020-01-02T08:16:16Z gabiruh joined #lisp 2020-01-02T08:17:06Z orivej quit (Ping timeout: 268 seconds) 2020-01-02T08:17:53Z varjag joined #lisp 2020-01-02T08:18:04Z scymtym joined #lisp 2020-01-02T08:19:31Z gabiruh_ quit (Ping timeout: 265 seconds) 2020-01-02T08:21:43Z MinnowTaur joined #lisp 2020-01-02T08:21:46Z vidak` quit (Read error: Connection reset by peer) 2020-01-02T08:23:43Z dozn joined #lisp 2020-01-02T08:29:48Z anewuser quit (Quit: anewuser) 2020-01-02T08:30:41Z torbo quit (Remote host closed the connection) 2020-01-02T08:39:29Z pagnol joined #lisp 2020-01-02T08:45:40Z mingus joined #lisp 2020-01-02T08:55:10Z duuqnd joined #lisp 2020-01-02T08:59:03Z stux|RC-only quit (Ping timeout: 260 seconds) 2020-01-02T09:03:18Z shangul joined #lisp 2020-01-02T09:05:50Z Oladon quit (Quit: Leaving.) 2020-01-02T09:06:02Z pagnol quit (Ping timeout: 240 seconds) 2020-01-02T09:14:47Z orivej joined #lisp 2020-01-02T09:15:03Z john_ quit (Remote host closed the connection) 2020-01-02T09:24:30Z stux|RC-only joined #lisp 2020-01-02T09:26:01Z HDurer quit (Remote host closed the connection) 2020-01-02T09:29:37Z pagnol joined #lisp 2020-01-02T09:34:17Z rippa joined #lisp 2020-01-02T09:36:54Z oxum_ is now known as oxum 2020-01-02T09:51:46Z flip214 quit (Ping timeout: 252 seconds) 2020-01-02T09:57:26Z galdor quit (Quit: WeeChat 2.7) 2020-01-02T09:58:34Z flip214 joined #lisp 2020-01-02T09:58:51Z galdor joined #lisp 2020-01-02T10:02:16Z galdor quit (Client Quit) 2020-01-02T10:04:10Z malm joined #lisp 2020-01-02T10:05:17Z kajo quit (Ping timeout: 260 seconds) 2020-01-02T10:11:04Z pjb`` quit (Quit: ERC (IRC client for Emacs 26.1)) 2020-01-02T10:11:29Z pjb joined #lisp 2020-01-02T10:11:48Z pjb is now known as Guest49717 2020-01-02T10:11:54Z galdor joined #lisp 2020-01-02T10:12:13Z dozn_ joined #lisp 2020-01-02T10:12:20Z Guest49717 quit (Remote host closed the connection) 2020-01-02T10:13:02Z refpga quit (Ping timeout: 268 seconds) 2020-01-02T10:13:27Z fookara joined #lisp 2020-01-02T10:16:00Z dozn quit (Ping timeout: 265 seconds) 2020-01-02T10:16:32Z shka_ joined #lisp 2020-01-02T10:16:36Z heisig joined #lisp 2020-01-02T10:22:41Z refpga joined #lisp 2020-01-02T10:26:36Z easye quit (Remote host closed the connection) 2020-01-02T10:31:38Z refpga quit (Ping timeout: 240 seconds) 2020-01-02T10:33:43Z random-nick joined #lisp 2020-01-02T10:36:43Z specbot quit (Remote host closed the connection) 2020-01-02T10:39:43Z minion quit (Remote host closed the connection) 2020-01-02T10:40:43Z zooey quit (Ping timeout: 240 seconds) 2020-01-02T10:41:00Z ioa quit (Ping timeout: 246 seconds) 2020-01-02T10:41:43Z madage quit (Ping timeout: 240 seconds) 2020-01-02T10:42:03Z cantstanya quit (Ping timeout: 240 seconds) 2020-01-02T10:42:35Z sammich quit (Ping timeout: 265 seconds) 2020-01-02T10:42:46Z HDurer joined #lisp 2020-01-02T10:43:03Z shifty joined #lisp 2020-01-02T10:44:18Z sammich joined #lisp 2020-01-02T10:44:21Z fookara quit (Remote host closed the connection) 2020-01-02T10:45:36Z ioa joined #lisp 2020-01-02T10:46:50Z specbot joined #lisp 2020-01-02T10:47:34Z minion joined #lisp 2020-01-02T10:47:48Z zooey joined #lisp 2020-01-02T10:48:35Z kajo joined #lisp 2020-01-02T10:48:47Z cantstanya joined #lisp 2020-01-02T10:54:35Z cosimone joined #lisp 2020-01-02T10:54:55Z madage joined #lisp 2020-01-02T10:55:38Z Necktwi quit (Read error: Connection reset by peer) 2020-01-02T10:55:39Z sara_ joined #lisp 2020-01-02T10:55:40Z sara_ quit (Excess Flood) 2020-01-02T11:01:26Z pilne quit (Quit: Beware of programmers who carry screwdrivers.) 2020-01-02T11:07:00Z easye joined #lisp 2020-01-02T11:08:01Z monok quit (Read error: Connection reset by peer) 2020-01-02T11:15:45Z william1 joined #lisp 2020-01-02T11:16:30Z vidak` joined #lisp 2020-01-02T11:25:21Z EvW1 joined #lisp 2020-01-02T11:36:02Z _whitelogger quit (Remote host closed the connection) 2020-01-02T11:37:04Z dozn_ is now known as dozn 2020-01-02T11:38:15Z _whitelogger joined #lisp 2020-01-02T11:46:34Z easye quit (Read error: No route to host) 2020-01-02T11:46:38Z easye` joined #lisp 2020-01-02T11:54:22Z akoana left #lisp 2020-01-02T12:02:21Z vms14 joined #lisp 2020-01-02T12:05:27Z dddddd joined #lisp 2020-01-02T12:06:58Z EvW1 quit (Ping timeout: 245 seconds) 2020-01-02T12:25:37Z notzmv quit (Ping timeout: 268 seconds) 2020-01-02T12:44:48Z izh_ joined #lisp 2020-01-02T12:48:02Z _whitelogger quit (Remote host closed the connection) 2020-01-02T12:49:42Z vap1 quit (Quit: Leaving) 2020-01-02T12:49:58Z vaporatorius joined #lisp 2020-01-02T12:50:15Z _whitelogger joined #lisp 2020-01-02T12:53:52Z shka_: hello, I need a sbcl (I think?) tip, i defined type "extendable-vector" that requires type to be array, have a fill pointer and be adjustable 2020-01-02T12:54:13Z shka_: however, sbcl can't optimize away length calls based on this type 2020-01-02T12:54:33Z shka_: it can if i put assert has-fill-pointer-p though 2020-01-02T12:54:42Z shka_: is there is something i am missing here? 2020-01-02T12:56:35Z smokeink quit (Ping timeout: 258 seconds) 2020-01-02T12:57:33Z shka_: uh, wrong 2020-01-02T12:57:48Z shka_: it can't tell if argument is a simple-array 2020-01-02T12:58:18Z shka_: which is needed for omitting check if array is adjustable or has fill-pointer? 2020-01-02T12:58:20Z shka_: i think 2020-01-02T12:58:23Z Bike joined #lisp 2020-01-02T13:00:40Z cosimone quit (Quit: Terminated!) 2020-01-02T13:04:38Z pjb joined #lisp 2020-01-02T13:06:39Z vms14 quit (Remote host closed the connection) 2020-01-02T13:06:51Z ggole joined #lisp 2020-01-02T13:10:21Z pfdietz: I can't make sense of what you're asking here. 2020-01-02T13:10:28Z clothespin quit (Ping timeout: 248 seconds) 2020-01-02T13:15:47Z abordado joined #lisp 2020-01-02T13:17:15Z je4i joined #lisp 2020-01-02T13:18:38Z _jrjsmrtn quit (Ping timeout: 260 seconds) 2020-01-02T13:19:16Z ebzzry quit (Ping timeout: 268 seconds) 2020-01-02T13:20:21Z __jrjsmrtn__ joined #lisp 2020-01-02T13:20:53Z ebzzry joined #lisp 2020-01-02T13:23:51Z lucasb joined #lisp 2020-01-02T13:23:53Z pagnol quit (Ping timeout: 260 seconds) 2020-01-02T13:30:40Z minion quit (Disconnected by services) 2020-01-02T13:30:42Z minion joined #lisp 2020-01-02T13:30:57Z AnimalCl` joined #lisp 2020-01-02T13:31:13Z shka_: pfdietz: example perhaps would help 2020-01-02T13:31:15Z specbot quit (Remote host closed the connection) 2020-01-02T13:31:16Z shka_: give me a second 2020-01-02T13:31:22Z specbot joined #lisp 2020-01-02T13:32:06Z AnimalCl` left #lisp 2020-01-02T13:34:14Z shka_: https://pastebin.com/Ad8iTSVd 2020-01-02T13:35:04Z shka_: pfdietz: notice how test1 will give 2 notes about simple-array possibility while test2 will give 0 notes 2020-01-02T13:35:52Z shka_: i find it weird because SBCL does not have adjustable-arrays that are also simple-arrays 2020-01-02T13:36:05Z shka_: or does it? 2020-01-02T13:36:45Z shka_: furthermore, adding (assert (array-has-fill-pointer-p vector)) in the test1 will also remove notes 2020-01-02T13:36:51Z shka_: which is curious 2020-01-02T13:36:56Z Xach: shka_: simple-arrays by definition are not expressly adjustable 2020-01-02T13:37:18Z Xach: Oh, sorry, I misread what you wrote. 2020-01-02T13:37:28Z Bike: shka_: you mean notes like "can't optimize because it's not a simple array"? I think if you expressly declare it's not a simple array those notes are suppressed 2020-01-02T13:37:58Z Bike: and sbcl might not be smart enough to use satisfies types to figure out array complexity 2020-01-02T13:38:22Z shka_: Bike: no, notes are about sbcl having to check if vector is a simple-array, however type in the SBCL at least means: not a simple-array 2020-01-02T13:38:31Z shka_: oh, ok, this makes sense 2020-01-02T13:38:40Z shka_: pity though :( 2020-01-02T13:39:37Z shka_: Xach: actually, according to the standard simple-arrays CAN be adjustable 2020-01-02T13:40:31Z jackdaniel: it is undefined whether simple-arrays are adjustable, it is conforming for them not to be 2020-01-02T13:40:37Z jmercouris joined #lisp 2020-01-02T13:41:00Z shka_: what jackdaniel said 2020-01-02T13:41:23Z jmercouris: anyone know of a project like backward-parenscript (https://github.com/bhyde/backward-parenscript) but is complete? 2020-01-02T13:41:25Z william1 quit (Ping timeout: 265 seconds) 2020-01-02T13:41:25Z jackdaniel: in practice portable code can't expect simple arrays to be adjustable 2020-01-02T13:41:41Z Xach: shka_: but not expressly adjustable 2020-01-02T13:42:02Z shka_: anyway, thanks all for the assistance, maybe sbcl will be able to figure out constraints based on satisfies 2020-01-02T13:42:05Z shka_: some day 2020-01-02T13:42:10Z pjb: jmercouris: It's in jwacs. 2020-01-02T13:42:19Z pjb: https://github.com/chumsley/jwacs 2020-01-02T13:42:52Z jackdaniel: Xach: simple arrays *may* be expressly adjustable 2020-01-02T13:42:53Z shka_: Xach: nah, it just says list conditions that implies that array is expressly adjustable 2020-01-02T13:42:59Z jackdaniel: the implication goes the other way around 2020-01-02T13:43:02Z jmercouris: pjb: could you expand on that? have you used it to transform JS into parenscript? 2020-01-02T13:43:07Z pjb: jmercouris: probbaly a tad bitrotten, and surely incomplete, sorry. 2020-01-02T13:43:11Z jmercouris: ah, OK 2020-01-02T13:43:18Z jmercouris: no problem, I will investigate 2020-01-02T13:43:19Z jackdaniel: if it is not expressly adjustable, not yada yada and yada, then it is => simple-array 2020-01-02T13:43:29Z pjb: jmercouris: and without batteries included; yes, I used this a long time ago to turn JS into parenscript. 2020-01-02T13:43:35Z Xach: jackdaniel: oh, i think i see that possibility by the "subtype" language 2020-01-02T13:43:44Z pjb: With additionnal proprietary code. 2020-01-02T13:43:50Z shka_: … or, otherwise, it may still be simple-array ;-) 2020-01-02T13:44:02Z Xach: I was referencing this: The type of an array that is not displaced to another array, has no fill pointer, and is not expressly adjustable is a subtype of type simple-array. 2020-01-02T13:44:03Z jmercouris: OK, I see 2020-01-02T13:44:13Z pjb: jmercouris: probably you'll have more luck with banckward-parenscript. 2020-01-02T13:44:23Z shka_: Xach: i got this wrong as well the first time 2020-01-02T13:44:27Z jmercouris: perhaps it'll be a good starting point, and it will just require a bit of tweaking 2020-01-02T13:44:28Z jackdaniel: Xach: right, but it is not said, that array which is displaced or has a fill pointer or is expressly adjustable is *not* a subtype of type simple-array 2020-01-02T13:44:48Z jackdaniel: it is undefined behavior wether it is 2020-01-02T13:44:52Z jackdaniel: whether 2020-01-02T13:45:43Z kajo quit (Quit: From my rotting body, flowers shall grow and I am in them and that is eternity. -- E. M.) 2020-01-02T13:47:50Z ikki joined #lisp 2020-01-02T13:48:47Z jmercouris: does quicklisp download all of the software from its sources or is a copy made on some sort of quicklisp server? 2020-01-02T13:49:13Z Xach: jmercouris: the files you download via quicklisp are on a central server 2020-01-02T13:49:15Z cosimone joined #lisp 2020-01-02T13:49:30Z jmercouris: Xach: do you have therefore an archive of all quicklisp verisons on the server? 2020-01-02T13:49:39Z pjb: jmercouris: downloading from sources is to this central server is done once a month. 2020-01-02T13:49:39Z Xach: jmercouris: i do, going back to 2010 2020-01-02T13:49:45Z jmercouris: so basically I imagine you would have just about every important CL project since then 2020-01-02T13:49:55Z jmercouris: how much disk space does that take? 2020-01-02T13:50:18Z jmercouris: or, how much disk space does a given month take? 2020-01-02T13:50:19Z Xach: I haven't checked lately. It's stored on S3 and I bet it's under 5GB. 2020-01-02T13:50:27Z jmercouris: not bad! that's quite good 2020-01-02T13:50:53Z jmercouris: Xach: is there a way to download every single repository available on quicklisp and to have them ready to be quickloaded even when offline? 2020-01-02T13:50:58Z Xach: A given month is only differentially bigger than the previous month. 2020-01-02T13:51:24Z Xach: jmercouris: sure. (map nil 'ql-dist:ensure-installed (ql-dist:provided-releases t)) iirc. 2020-01-02T13:52:07Z jmercouris: will that also install? 2020-01-02T13:52:22Z jmercouris: what about ensure-archive-file? or ensure-local-archive-file? 2020-01-02T13:52:23Z Xach: jmercouris: it will download and unpack archives but not load them into the running system. 2020-01-02T13:52:31Z pjb: ensure does when it's not done. 2020-01-02T13:52:32Z jmercouris: OK, perfect! 2020-01-02T13:56:46Z shifty quit (Ping timeout: 258 seconds) 2020-01-02T13:57:42Z dozn_ joined #lisp 2020-01-02T13:58:14Z xkapastel joined #lisp 2020-01-02T13:58:26Z heisig quit (Ping timeout: 240 seconds) 2020-01-02T14:01:22Z dozn quit (Ping timeout: 258 seconds) 2020-01-02T14:06:03Z madage quit (Ping timeout: 240 seconds) 2020-01-02T14:07:39Z wxie joined #lisp 2020-01-02T14:08:10Z william1 joined #lisp 2020-01-02T14:12:24Z priyadarshan joined #lisp 2020-01-02T14:12:50Z william1 quit (Ping timeout: 240 seconds) 2020-01-02T14:13:12Z madage joined #lisp 2020-01-02T14:13:38Z heisig joined #lisp 2020-01-02T14:19:07Z jmercouris quit (Ping timeout: 265 seconds) 2020-01-02T14:20:24Z ikki quit (Quit: Leaving) 2020-01-02T14:22:39Z jebes quit (Quit: ZNC 1.7.4+deb7 - https://znc.in) 2020-01-02T14:25:47Z LiamH joined #lisp 2020-01-02T14:27:12Z jmercouris joined #lisp 2020-01-02T14:27:55Z jmercouris: what would have to change to allow multiple versions of the same library to be quickloaded? 2020-01-02T14:28:08Z jmercouris: would we need what beach calls 'environments'? 2020-01-02T14:28:32Z jmercouris: something to change all of the symbols and provide some version specific accessor to them? 2020-01-02T14:29:01Z jmercouris: I'm just interested purely from an academic perspective, Ie have no need to do this practically 2020-01-02T14:29:38Z heisig quit (Ping timeout: 240 seconds) 2020-01-02T14:34:31Z Inline joined #lisp 2020-01-02T14:35:13Z Bike: well, there'd have to be some way for them to bind symbols with the same name and package to different things. so either some kind of transparent package renaming or environments, probably. 2020-01-02T14:35:18Z pjb: jmercouris: the common resource are the package names, keywords, and global (special) CL variables. 2020-01-02T14:38:41Z jmercouris: OK, interesting to know, thanks 2020-01-02T14:38:57Z jmercouris: Is there any interest in this functionality? 2020-01-02T14:39:01Z beach: jmercouris: I didn't invent the term "environments". It is in the Common Lisp HyperSpec already. 2020-01-02T14:39:16Z cosimone quit (Remote host closed the connection) 2020-01-02T14:39:18Z beach: What I did was to turn them first-class, which the Common Lisp HyperSpec does not require. 2020-01-02T14:39:31Z jmercouris: Why was it not first-class? what is the reasoning of the original authors? 2020-01-02T14:39:44Z beach: Backward compatibility. 2020-01-02T14:39:45Z cosimone joined #lisp 2020-01-02T14:39:57Z jmercouris: why does it break backwards compatibility to add a language feature? 2020-01-02T14:40:03Z beach: Lisp has a long history of spreading out the global environment everywhere in the system. 2020-01-02T14:40:12Z beach: Symbols have a function cell, for instance. 2020-01-02T14:40:16Z jmercouris: ah, so people depend on that in the code they write 2020-01-02T14:40:29Z jmercouris: and so it would break many programs 2020-01-02T14:40:35Z beach: No, but it would require the creators of Common Lisp systems to invent what I only just did. 2020-01-02T14:41:07Z jmercouris: so when you say 'backward compatibility', is that a codeword for 'more work'? 2020-01-02T14:41:12Z wxie quit (Ping timeout: 260 seconds) 2020-01-02T14:41:19Z jackdaniel: clhs was already enormous in scope when it was written (and I think they were running out of money); adding new features would be, well, unwise 2020-01-02T14:41:27Z beach: And I am guessing the creators of the standard did not want to burden the suppliers of Common Lisp systems with that extra requirement, especially since they didn't know how to make the feature efficient. 2020-01-02T14:41:44Z beach: It is not just another feature. 2020-01-02T14:41:54Z jmercouris: what makes it particularly expensive? 2020-01-02T14:41:57Z beach: It would require someone to have done the research that I did. 2020-01-02T14:42:09Z beach: And they didn't, so they didn't know how to make it fast. 2020-01-02T14:42:19Z Bike: it's kind of hard to answer questions about why something wasn't invented earlier than it was. 2020-01-02T14:42:25Z jackdaniel: beach: yes, my point is that even for "normal" features that would be unwise, inventing new stuff even more so 2020-01-02T14:42:37Z beach: So, since the vendors were members of the committee that created Common Lisp, they did not consider making it mandatory. 2020-01-02T14:42:40Z william1 joined #lisp 2020-01-02T14:42:44Z jackdaniel: (even if they knew what and potentiallyh how) 2020-01-02T14:42:48Z jmercouris: Bike: sometimes yes, sometimes no. For example, why wasn't the light bulb invented in 1000BC? Because many pre-requisite technologies and knowledge was missing 2020-01-02T14:43:32Z beach: jmercouris: It isn't expensive if you do what I do. But previous proposals required a hash-table lookup for each function application. Whereas the tradition was to access a slot in the symbol. 2020-01-02T14:44:40Z beach: jackdaniel: I agree with you. 2020-01-02T14:46:03Z beach: jmercouris: With my proposal, calling FDEFINITION or FBOUNDP with a non-constant argument still requires a hash-table lookup. 2020-01-02T14:46:19Z jmercouris: beach: hash table is O(1), how is that expensive? 2020-01-02T14:46:31Z beach: Heh, funny. 2020-01-02T14:46:59Z jmercouris: I'm not being funny, hash table is an unbelievably fast data structure 2020-01-02T14:47:06Z beach: A function call is just a few instructions, adding a O(1) lookup that may require hundreds of instructions and several memory accesses is out of the question. 2020-01-02T14:47:09Z Bike: jmercouris: doing a hash table lookup for every symbol access would kind of suck. 2020-01-02T14:47:33Z jmercouris: interesting, I didn't realize things were so fast for function calls 2020-01-02T14:48:04Z quazimodo quit (Ping timeout: 268 seconds) 2020-01-02T14:48:08Z beach: jmercouris: You have the pointer to the symbol. You access the function slot, then the entry point of the function. You set the arguments, and then do a CALL instruction. 2020-01-02T14:49:27Z beach: clhs 3.2.1 2020-01-02T14:49:27Z specbot: Compiler Terminology: http://www.lispworks.com/reference/HyperSpec/Body/03_ba.htm 2020-01-02T14:49:39Z beach: jmercouris: You can read about global environments in that section. 2020-01-02T14:49:57Z beach: Notice that they allow for all the different global environments to be one and the same. 2020-01-02T14:51:05Z jmercouris: however they are not guaranteed to be the same? 2020-01-02T14:51:18Z jmercouris: also the definition is interesting 2020-01-02T14:51:25Z jmercouris: environment n. 1. a set of bindings. 2020-01-02T14:51:35Z beach: jmercouris: What I did was just to have the function slot disembodied. So my call protocol looks the same with a small difference: You have a pointer to a cell. You access the contents of that cell (the function object), then the entry point of the function. You set the arguments, and then do a CALL instruction. 2020-01-02T14:52:01Z beach: jmercouris: They are not guaranteed to be the same, and SICL will likely be the first implementation in which they are not. 2020-01-02T14:52:16Z jmercouris: what is a 'disembodied slot'? 2020-01-02T14:52:20Z jmercouris: is it just an accessor? 2020-01-02T14:52:32Z beach: A slot that is not in the symbol, but exists elsewhere. 2020-01-02T14:52:48Z yottabyte left #lisp 2020-01-02T14:52:58Z jmercouris: some other type of data structure? 2020-01-02T14:53:02Z beach: ... in a "cell". I just use a CONS cell. 2020-01-02T14:53:11Z beach: Or a singleton list if you prefer. 2020-01-02T14:53:15Z jmercouris: OK 2020-01-02T14:53:16Z jmercouris: interesting 2020-01-02T14:53:26Z beach: jmercouris: It is all in my paper. 2020-01-02T14:53:40Z jmercouris: does performance degreate with the number of environments? 2020-01-02T14:53:45Z jmercouris: degrade* 2020-01-02T14:53:46Z beach: Nope. 2020-01-02T14:53:59Z jmercouris: what if we have 10,000 environments that all define the symbol *potato-chip* 2020-01-02T14:54:17Z Bike: if you understand the method you'll understand that the number of environments doesn't affect the lookup speed. 2020-01-02T14:54:18Z jmercouris: won't we have to look for the correct symbol among all the environments using the disemodied function slot? 2020-01-02T14:54:21Z beach: There is only one such symbol in the system. 2020-01-02T14:54:36Z jmercouris: right, sorry 2020-01-02T14:54:37Z beach: jmercouris: The paper is not that hard to read, I hope. 2020-01-02T14:54:49Z jmercouris: which paper? 2020-01-02T14:55:02Z quazimodo joined #lisp 2020-01-02T14:55:02Z beach: metamodular.com/SICL/environments.pdf 2020-01-02T14:55:40Z jmercouris: OK, I read 2020-01-02T14:56:30Z lennonwoo quit (Quit: Connection closed for inactivity) 2020-01-02T14:59:14Z Lord_of_Life quit (Ping timeout: 265 seconds) 2020-01-02T14:59:43Z Lord_of_Life joined #lisp 2020-01-02T14:59:49Z cosimone quit (Quit: Terminated!) 2020-01-02T15:01:24Z william1_ joined #lisp 2020-01-02T15:02:33Z cosimone joined #lisp 2020-01-02T15:03:14Z jmercouris quit (Ping timeout: 240 seconds) 2020-01-02T15:04:23Z vms14 joined #lisp 2020-01-02T15:05:07Z oxum_ joined #lisp 2020-01-02T15:05:59Z whartung joined #lisp 2020-01-02T15:06:21Z oxum_ quit (Remote host closed the connection) 2020-01-02T15:08:25Z oxum quit (Ping timeout: 268 seconds) 2020-01-02T15:08:55Z jmercouris joined #lisp 2020-01-02T15:09:08Z dale_ joined #lisp 2020-01-02T15:09:32Z dale_ is now known as dale 2020-01-02T15:12:02Z brown121408 quit (Ping timeout: 240 seconds) 2020-01-02T15:12:30Z heisig joined #lisp 2020-01-02T15:13:14Z brown121407 joined #lisp 2020-01-02T15:18:38Z oxum joined #lisp 2020-01-02T15:20:20Z heisig quit (Ping timeout: 258 seconds) 2020-01-02T15:23:01Z brown121408 joined #lisp 2020-01-02T15:23:02Z brown121407 quit (Read error: Connection reset by peer) 2020-01-02T15:31:31Z nowhere_man joined #lisp 2020-01-02T15:34:03Z cantstanya quit (Ping timeout: 240 seconds) 2020-01-02T15:38:08Z heisig joined #lisp 2020-01-02T15:38:14Z cantstanya joined #lisp 2020-01-02T15:39:19Z raghavgururajan joined #lisp 2020-01-02T15:46:00Z jebes joined #lisp 2020-01-02T15:46:26Z brown121408 quit (Ping timeout: 240 seconds) 2020-01-02T15:46:47Z brown121408 joined #lisp 2020-01-02T15:49:41Z anewuser joined #lisp 2020-01-02T15:50:11Z gravicappa joined #lisp 2020-01-02T15:52:20Z jonatack joined #lisp 2020-01-02T15:53:19Z Inline quit (Read error: Connection reset by peer) 2020-01-02T15:53:47Z Inline joined #lisp 2020-01-02T15:55:31Z m00natic joined #lisp 2020-01-02T15:55:45Z jmercouris quit (Remote host closed the connection) 2020-01-02T15:56:31Z orivej quit (Ping timeout: 268 seconds) 2020-01-02T15:56:49Z skeuomorf joined #lisp 2020-01-02T15:57:00Z skeuomorf left #lisp 2020-01-02T16:01:02Z EvW joined #lisp 2020-01-02T16:01:53Z varjag quit (Quit: ERC (IRC client for Emacs 25.2.2)) 2020-01-02T16:07:15Z vidak` quit (Read error: No route to host) 2020-01-02T16:07:16Z cosimone quit (Quit: Terminated!) 2020-01-02T16:09:15Z raghavgururajan quit (Remote host closed the connection) 2020-01-02T16:16:43Z izh_ quit (Quit: Leaving) 2020-01-02T16:17:51Z abordado quit (Read error: Connection reset by peer) 2020-01-02T16:18:18Z abordado joined #lisp 2020-01-02T16:25:13Z karlosz joined #lisp 2020-01-02T16:29:01Z Bourne quit (Remote host closed the connection) 2020-01-02T16:31:55Z flip214 quit (Read error: Connection reset by peer) 2020-01-02T16:33:03Z Bourne joined #lisp 2020-01-02T16:33:40Z EvW quit (Ping timeout: 248 seconds) 2020-01-02T16:37:26Z flip214 joined #lisp 2020-01-02T16:43:20Z jprajzne quit (Quit: Leaving.) 2020-01-02T16:43:25Z sjl quit (Quit: WeeChat 2.2-dev) 2020-01-02T16:43:54Z easye` quit (Read error: Connection reset by peer) 2020-01-02T16:44:09Z brown121408 quit (Read error: Connection reset by peer) 2020-01-02T16:44:24Z brown121408 joined #lisp 2020-01-02T16:54:03Z easye` joined #lisp 2020-01-02T16:54:15Z hiroaki joined #lisp 2020-01-02T16:54:15Z william1 quit (Ping timeout: 258 seconds) 2020-01-02T16:58:45Z Necktwi joined #lisp 2020-01-02T17:00:18Z khisanth_ quit (Ping timeout: 260 seconds) 2020-01-02T17:02:42Z patlv joined #lisp 2020-01-02T17:04:19Z vms14 quit (Remote host closed the connection) 2020-01-02T17:07:11Z ggole quit (Quit: Leaving) 2020-01-02T17:07:52Z xkapastel quit (Quit: Connection closed for inactivity) 2020-01-02T17:12:55Z khisanth_ joined #lisp 2020-01-02T17:26:16Z william1 joined #lisp 2020-01-02T17:27:14Z varjag joined #lisp 2020-01-02T17:28:54Z m00natic quit (Remote host closed the connection) 2020-01-02T17:31:26Z william1 quit (Ping timeout: 258 seconds) 2020-01-02T17:34:19Z pilne joined #lisp 2020-01-02T17:34:46Z bitmapper joined #lisp 2020-01-02T17:43:38Z EvW joined #lisp 2020-01-02T17:56:44Z nowhere_man quit (Ping timeout: 258 seconds) 2020-01-02T17:57:58Z cosimone joined #lisp 2020-01-02T18:00:34Z gigetoo quit (Ping timeout: 258 seconds) 2020-01-02T18:01:20Z gigetoo joined #lisp 2020-01-02T18:04:54Z retropikzel joined #lisp 2020-01-02T18:07:43Z karlosz quit (Quit: karlosz) 2020-01-02T18:12:04Z william1 joined #lisp 2020-01-02T18:14:51Z _paul0 is now known as paul0 2020-01-02T18:17:07Z william1 quit (Ping timeout: 268 seconds) 2020-01-02T18:28:38Z clothespin joined #lisp 2020-01-02T18:36:29Z jebes quit (Remote host closed the connection) 2020-01-02T18:46:43Z priyadarshan quit (Remote host closed the connection) 2020-01-02T18:47:57Z Bourne quit (Ping timeout: 268 seconds) 2020-01-02T18:49:46Z cosimone quit (Quit: Quit.) 2020-01-02T18:52:42Z heisig quit (Ping timeout: 258 seconds) 2020-01-02T18:54:26Z shangul quit (Ping timeout: 240 seconds) 2020-01-02T19:00:14Z Bike quit (Remote host closed the connection) 2020-01-02T19:00:52Z Bike joined #lisp 2020-01-02T19:01:34Z zaquest quit (Quit: Leaving) 2020-01-02T19:03:22Z zaquest joined #lisp 2020-01-02T19:03:47Z MightyJoe joined #lisp 2020-01-02T19:03:48Z cyraxjoe quit (Ping timeout: 265 seconds) 2020-01-02T19:03:53Z xuxuru joined #lisp 2020-01-02T19:05:03Z gigetoo quit (Remote host closed the connection) 2020-01-02T19:08:13Z xuxuru quit (Client Quit) 2020-01-02T19:09:37Z xuxuru joined #lisp 2020-01-02T19:13:40Z Bike quit (Remote host closed the connection) 2020-01-02T19:13:53Z heisig joined #lisp 2020-01-02T19:14:57Z Bike joined #lisp 2020-01-02T19:19:39Z jeosol quit (Remote host closed the connection) 2020-01-02T19:22:36Z william1 joined #lisp 2020-01-02T19:29:07Z william1 quit (Ping timeout: 258 seconds) 2020-01-02T19:29:18Z je4i quit (Read error: Connection reset by peer) 2020-01-02T19:29:25Z sauvin quit (Ping timeout: 265 seconds) 2020-01-02T19:29:41Z je4i joined #lisp 2020-01-02T19:30:10Z cosimone joined #lisp 2020-01-02T19:31:00Z jfb4_ joined #lisp 2020-01-02T19:32:21Z jfb4 quit (Ping timeout: 268 seconds) 2020-01-02T19:37:18Z Bourne joined #lisp 2020-01-02T19:37:30Z pnp joined #lisp 2020-01-02T19:42:02Z torbo joined #lisp 2020-01-02T19:42:40Z pfdietz quit (Remote host closed the connection) 2020-01-02T19:44:17Z jebes joined #lisp 2020-01-02T19:49:12Z EvW quit (Ping timeout: 260 seconds) 2020-01-02T19:51:32Z scymtym quit (Ping timeout: 248 seconds) 2020-01-02T19:53:14Z rdh joined #lisp 2020-01-02T19:54:33Z Codaraxis quit (Ping timeout: 265 seconds) 2020-01-02T19:55:23Z william1_ quit (Quit: WeeChat 1.9.1) 2020-01-02T19:55:49Z william1 joined #lisp 2020-01-02T19:55:53Z retropikzel quit (Quit: Leaving) 2020-01-02T19:57:29Z asdf_asdf_asdf joined #lisp 2020-01-02T19:57:51Z rdh: hello, i am coming back to clisp and hoping someone can help me out (i do not have to much exp with setting it up) but i have quicklisp installed and everytime i run (ql:quickload "cffi"), i get an error but when clisp offers a restart, taking the option "Retry finding system cffi after reinitializing the source-registry" cffi loads fine. 2020-01-02T19:58:29Z rdh: the error: DESTRUCTURING-BIND: (OPERATE 'TEST-OP :CFFI-TESTS) does not match lambda 2020-01-02T19:58:29Z rdh: list element (O 2020-01-02T19:58:29Z rdh: C) 2020-01-02T19:59:07Z cosimone quit (Quit: Quit.) 2020-01-02T19:59:34Z rdh: I do not understand what is going on. is this some thing I over looked setting up quicklisp or a bug with cffi. 2020-01-02T20:00:45Z gareppa joined #lisp 2020-01-02T20:01:03Z asdf_asdf_asdf: rdh, paste piece of code. 2020-01-02T20:01:08Z stepnem_ joined #lisp 2020-01-02T20:01:23Z rdh: asdf_asdf_asdf, sure one sec... 2020-01-02T20:01:25Z asdf_asdf_asdf: Maybe problem is in code not in configuration. 2020-01-02T20:01:53Z tst` joined #lisp 2020-01-02T20:02:05Z stepnem quit (Ping timeout: 258 seconds) 2020-01-02T20:03:14Z rdh: https://pastebin.com/kErNBVik 2020-01-02T20:03:59Z anewuser quit (Ping timeout: 268 seconds) 2020-01-02T20:04:11Z jackdaniel: the problem is that asdf broke its api contract. you need to download upstream asdf and (load (compile-file /it/)) before loading quicklisp 2020-01-02T20:05:04Z jackdaniel: for asdf defense one could say, that clisp didn't update bundled asdf for ages 2020-01-02T20:05:53Z anewuser joined #lisp 2020-01-02T20:06:28Z asdf_asdf_asdf: https://github.com/rpav/cl-autowrap/issues/92 Maybe this. 2020-01-02T20:06:47Z Bike: oh yeah, clisp's asdf is super old. 2020-01-02T20:07:20Z asdf_asdf_asdf: (ql:update-all-dists) 2020-01-02T20:08:05Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2020-01-02T20:08:34Z gravicappa quit (Ping timeout: 265 seconds) 2020-01-02T20:08:58Z rdh: weird, why are they not using a newer asdf? 2020-01-02T20:09:42Z didi joined #lisp 2020-01-02T20:09:56Z asdf_asdf_asdf: Because You should SBCL, not Clisp? 2020-01-02T20:10:41Z Bike: clisp is... i think it's maintained now, but it wasn't for a while? 2020-01-02T20:10:42Z didi: So, how much of an offense is to use both &optional and &key in a lambda-list? 2020-01-02T20:10:43Z minion: didi, memo from pjb: note that CL:ASSERT let you fix the problem: Try: (let ((list (list 1 2 3))) (assert (= 1 (length list)) (list) "should be a list of 1 element")) and select the restart that let you enter a new value for LIST. 2020-01-02T20:10:47Z asdf_asdf_asdf: Which is your operating system? 2020-01-02T20:10:47Z Bike: might be a bit old. 2020-01-02T20:10:57Z Bike: didi: sbcl gives a style warning, i think. mostly it's just confusing. 2020-01-02T20:11:15Z jackdaniel: didi: sometimes useful, usually stylistically yuck 2020-01-02T20:11:48Z jackdaniel: rdh: because they didn't release for a long time. there is also that asdf is just a program, nobody expects gcc to ship make with it 2020-01-02T20:12:06Z didi: pjb: Thanks, but in the case I was thinking, it should never happen; it's deep inside an algorithm; and there is no saving from sinking. 2020-01-02T20:12:15Z didi: Bike, jackdaniel: Thank you. 2020-01-02T20:12:32Z jxy joined #lisp 2020-01-02T20:12:47Z rdh: oh, should i switch to sbcl before even getting into clisp? 2020-01-02T20:13:10Z rdh: if i remember correctly, sbcl compiles everything first? 2020-01-02T20:13:19Z Bike: well, usually we prefer other implementations, yeah. there's also ccl and stuff. 2020-01-02T20:13:25Z rdh: obviously among other differences... 2020-01-02T20:13:41Z Bike: sbcl usually compiles, yeah. you can configure it to use an evaluator. 2020-01-02T20:14:10Z asdf_asdf_asdf: rdh, SBCL is compiler no environment programming. 2020-01-02T20:14:20Z rdh: ok, im justing emacs/slime 2020-01-02T20:14:21Z Bike: this won't really matter to your user experience though, generally. 2020-01-02T20:14:34Z Bike: sbcl and ccl and everyone work fine with slime. 2020-01-02T20:16:55Z jackdaniel: rdh: "compiles it first" doesn't mean it is slugish 2020-01-02T20:17:05Z jackdaniel: quite the contrary, repl works top-notch fast 2020-01-02T20:17:42Z rdh: jackdaniel, Ok 2020-01-02T20:18:38Z tst` quit (Quit: Leaving) 2020-01-02T20:20:54Z copec: clisp has an awesome non-slime repl 2020-01-02T20:21:37Z shka_ quit (Ping timeout: 265 seconds) 2020-01-02T20:21:52Z copec: (Hence the reason why it is GPL) 2020-01-02T20:23:43Z copec: Its bytecode progs are small, and even significantly faster then cpython when I did a bunch of testing with it like 10 years ago 2020-01-02T20:24:45Z copec: I don't like the "just use SBCL" mentality, even though I <3 SBCL 2020-01-02T20:27:00Z jackdaniel endorses ECL ;-) 2020-01-02T20:27:30Z jackdaniel: but it is sluggish at times, p 2020-01-02T20:28:04Z copec: How much bytecode interpretation does ECL share with Clisp? 2020-01-02T20:28:08Z rdh: I think ill go with sbcl, seems to be well maintained. 2020-01-02T20:28:31Z scymtym joined #lisp 2020-01-02T20:29:14Z jackdaniel: rdh: sbcl is a solid choice 2020-01-02T20:29:43Z jackdaniel: copec: zero, it was written from scratch. also ecl has two compilers (one is a bytecode, second is via C source code, the latter produces way faster code) 2020-01-02T20:30:02Z copec: I just started playing with ECL a couple of days ago, actually 2020-01-02T20:30:18Z jackdaniel: enjoy! :) 2020-01-02T20:30:39Z jebes: i was thinking of using ecl to create an opengl engine 2020-01-02T20:30:54Z copec: Is there a way for disassemble to actually show you the C source? 2020-01-02T20:31:13Z jackdaniel: when you call compile-file you may provide :c-file :data-file and :h-file arguments 2020-01-02T20:31:32Z jackdaniel: files won't be deleted then but rather saved at the location you want them to 2020-01-02T20:31:42Z karlosz joined #lisp 2020-01-02T20:31:43Z jackdaniel: you may also try (disassemble nil '(lambda () 42)) 2020-01-02T20:32:12Z pnp quit (Remote host closed the connection) 2020-01-02T20:32:40Z efm quit (Quit: Konversation terminated!) 2020-01-02T20:33:37Z copec: I was reading the other day that Haskell uses a C--, have you ever looked at that jackdaniel? 2020-01-02T20:34:41Z copec: apropos: https://en.wikipedia.org/wiki/C--#Haskell 2020-01-02T20:35:18Z jackdaniel: I did, it is a very cool concept but C-- is not very maintained 2020-01-02T20:35:26Z copec: Still not something portable like standard C 2020-01-02T20:35:28Z jackdaniel: and it covers a small range of platforms 2020-01-02T20:35:35Z jackdaniel: so it is not worth the effort 2020-01-02T20:35:39Z copec: I wish C-- would have become a thing 2020-01-02T20:35:52Z jfb4_ quit (Remote host closed the connection) 2020-01-02T20:36:15Z jackdaniel: if C-- were a traget of ECL compiler things like call/cc would be very much possible 2020-01-02T20:36:16Z jmercouris joined #lisp 2020-01-02T20:36:38Z jackdaniel: (of course now it is attainable with chaney trick, that's what chicken does) 2020-01-02T20:36:59Z copec: I just saw your mention of lisp in small pieces the other day, finally ordered a copy of that for myself 2020-01-02T20:37:29Z copec: Can the CL condition system be implemented on top of call/cc ? 2020-01-02T20:38:12Z Fade: https://www.nhplace.com/kent/Papers/Condition-Handling-2001.html 2020-01-02T20:38:21Z jackdaniel: if it can be implemented without it, then it could be implemented with it, sure ,) some structures are easier to implement with continuations. that said call/cc is not that much useful 2020-01-02T20:38:25Z Bike: it's usually implemented on top of block/return-from and special variable binding 2020-01-02T20:38:39Z Bike: and block/return-from is equivalent to call/ec 2020-01-02T20:38:41Z jackdaniel: delimited continuations cover most of things you want to have (and are *much* easier to implement) 2020-01-02T20:38:48Z copec: ah 2020-01-02T20:39:03Z copec: I've only used call/cc for some educational dynamic programming, but never needed it for an application I was working on 2020-01-02T20:39:14Z jackdaniel: I've mentioned call/cc only to show limits of what compilation to C can achieve without hacks 2020-01-02T20:39:38Z copec: The chicken impl. is very cool from what I've understood reading about it 2020-01-02T20:39:45Z didi: jackdaniel: Word on the street is that it doesn't leak like call/cc. 2020-01-02T20:40:15Z copec: Thanks for the link Fade 2020-01-02T20:40:25Z jebes: doesn't scheme have something akin to unwind-protect for call/cc 2020-01-02T20:40:49Z jebes: i haven't looked into contuation implementation stuff in a long time 2020-01-02T20:41:10Z jebes: copec: i have a copy right beside me right now. Its pretty solid. Pricey though, now 2020-01-02T20:41:37Z jackdaniel: lisp in small pieces is a very valuable read if you are interested /how/ lisps could be implemented 2020-01-02T20:41:50Z copec: I've gone through the dragon book 2020-01-02T20:42:09Z jackdaniel: I've never read the dragon book, but from what I've heard half of it is about parsing 2020-01-02T20:42:22Z copec: yup 2020-01-02T20:42:31Z jackdaniel: and parsing is not very fascinating topic 2020-01-02T20:42:39Z jebes: i don't think i've ever seen a book about gory back end details 2020-01-02T20:42:43Z cosimone joined #lisp 2020-01-02T20:43:05Z copec: It is a very traditional language compiler book 2020-01-02T20:43:06Z jmercouris quit (Ping timeout: 258 seconds) 2020-01-02T20:43:21Z Bike: "doesn't scheme have something akin to unwind-protect for call/cc" dynamic-wind. 2020-01-02T20:43:51Z jackdaniel: dynamic-windu s/dynamic/master/ and voila, master windu ;-) see you o/ 2020-01-02T20:45:08Z copec: What does clasp use as an intermediate language with llvm? 2020-01-02T20:46:15Z jebes: besides llvm's ir? 2020-01-02T20:46:30Z copec: does it translate cl directly into llvm ir? 2020-01-02T20:46:47Z didi left #lisp 2020-01-02T20:47:01Z EvW joined #lisp 2020-01-02T20:47:08Z Bike: it translates common lisp into Cleavir's IR, then that into LLVM-IR. 2020-01-02T20:47:19Z Bike: cleavir being part of https://github.com/robert-strandh/SICL 2020-01-02T20:47:56Z copec: Ah, okay 2020-01-02T20:47:57Z Bike: during bootstrapping it does translate lisp pretty directly into llvm-ir. 2020-01-02T20:50:54Z copec: Is there a relatively simple way to disassemble to llvm-ir from the repl? 2020-01-02T20:51:45Z Bike: in clasp? sure. 2020-01-02T20:52:04Z Bike: (disassemble '(lambda ...) :type :ir) 2020-01-02T20:52:14Z copec amazes 2020-01-02T20:52:32Z Bike: you can't do it for already-compiled reasons for what i imagine are similar reasons to ECL and C 2020-01-02T20:52:40Z Bike: for already-compiled fun tions* 2020-01-02T20:52:42Z Bike: functions* jesus 2020-01-02T20:53:30Z phoe: Bike: I guess there could be a compiler switch that remembers IR representations for functions for later disassembly 2020-01-02T20:53:44Z phoe: but then again, why would it be needed if you have all the source available 2020-01-02T20:53:48Z Bike: wouldn't just be a compiler switch, you'd also have to store it in the function. 2020-01-02T20:53:59Z phoe: Bike: uh yes, I meant that - remember and store it in the object. 2020-01-02T20:54:01Z Bike: but yeah i guess it's possible. 2020-01-02T20:54:11Z phoe: but then, it's possible, but is it really worth it 2020-01-02T20:54:17Z Bike: the llvm-ir can't really be recovered from the machine code, it's too abstracted. 2020-01-02T20:54:28Z phoe: obviously, yes 2020-01-02T20:54:40Z HumanGeode joined #lisp 2020-01-02T20:54:56Z phoe: I guess someone would want to use (disassemble #'foo :type :ir) real bad for this switch to become actually worth the time spent on implementing it 2020-01-02T20:55:49Z Bike: i don't think it would be too complicated to do. we just don't have much reason to. 2020-01-02T20:56:02Z Bike: i only even look at llvm-ir when i'm debugging the compiler, which ideally is not something a user has to concern themselves with 2020-01-02T20:57:11Z phoe: that's why I said that *someone* would want to use the IR disassembly 2020-01-02T20:57:22Z phoe: IR disassembly mode, I mean 2020-01-02T20:57:39Z phoe: if the current developers don't need it that way, then everything's pretty fine 2020-01-02T20:57:41Z Bike: for seeing if optimizations have been applied and other stuff, it would probably be clearest with the cleavir IR, but it's nonlinear so that's kind of tricky 2020-01-02T20:58:19Z Codaraxis joined #lisp 2020-01-02T20:59:11Z Codaraxis quit (Remote host closed the connection) 2020-01-02T20:59:36Z Codaraxis joined #lisp 2020-01-02T21:00:48Z gendarme joined #lisp 2020-01-02T21:01:18Z copec: Is there a spec for cleavir ir? 2020-01-02T21:01:50Z copec checks documentation dir for more information 2020-01-02T21:02:00Z rdh: sweet, thanks guys i have sbcl, emacs and slime working perfectly together. 2020-01-02T21:02:48Z copec: ^That is a beautiful combination 2020-01-02T21:02:49Z Bike: copec: Yes, there's a cleavir.pdf that explains it, though the one in the documentation is a little outdated 2020-01-02T21:03:24Z copec: someday .pdf will be a tld 2020-01-02T21:03:33Z Bike: is it not already? 2020-01-02T21:04:26Z Bike: i thought i remembered people complaining. maybe i was hallucinating. 2020-01-02T21:04:28Z copec: Do you have a link to said pdf Bike? 2020-01-02T21:04:51Z Bike: i don't think so, sorry. you should be able to make it from the repository. 2020-01-02T21:05:07Z copec: okay 2020-01-02T21:05:08Z Bike: you could ask beach when he's awake. 2020-01-02T21:05:31Z Bike: beach is also in the middle of a major update to cleavir which will somewhat alter the IR 2020-01-02T21:05:48Z Bike: since clasp and sicl are the only things using it we kind of change it as we go. 2020-01-02T21:06:28Z phoe: what's being changed? 2020-01-02T21:07:09Z Bike: representation of handling of multiple return values and the dynamic environment, mainly 2020-01-02T21:07:52Z Bike: cleavir at the moment can't represent unwind-protect or special variable bindings so these have to be done through function calls. that will no longer be the case. 2020-01-02T21:08:57Z phoe: what's the cleavir method of representing u-p via function calls? 2020-01-02T21:09:28Z Bike: (unwind-protect protected forms...) macroexpands to (funwind-protect (lambda () protected) (lambda () forms...)) 2020-01-02T21:09:43Z Bike: and funwind-protect is not compiled by cleavir. in clasp's case it's a C++ function using RAII. 2020-01-02T21:10:48Z Bike: or try catch i guess. whatever. 2020-01-02T21:10:48Z phoe: got it 2020-01-02T21:11:01Z hiroaki quit (Ping timeout: 268 seconds) 2020-01-02T21:13:50Z Kevslinger quit (Quit: Connection closed for inactivity) 2020-01-02T21:23:13Z hiroaki joined #lisp 2020-01-02T21:23:16Z xuxuru quit (Quit: xuxuru) 2020-01-02T21:24:43Z william1_ joined #lisp 2020-01-02T21:25:09Z xuxuru joined #lisp 2020-01-02T21:29:59Z Xach: 2020-01-02T21:30:02Z william1_ quit (Ping timeout: 240 seconds) 2020-01-02T21:32:08Z rdh quit (Ping timeout: 260 seconds) 2020-01-02T21:39:48Z Inline quit (Remote host closed the connection) 2020-01-02T21:40:40Z Inline joined #lisp 2020-01-02T21:45:30Z gareppa quit (Quit: Leaving) 2020-01-02T21:51:07Z narimiran quit (Ping timeout: 260 seconds) 2020-01-02T21:51:35Z xuxuru quit (Quit: xuxuru) 2020-01-02T21:59:00Z clothespin quit (Ping timeout: 248 seconds) 2020-01-02T22:04:29Z jmercouris joined #lisp 2020-01-02T22:07:22Z stylewarning: Any thoughts on building a portable hash table library (that has a wider range of efficient custom hash functions), that isn't just a TRIVIAL-* library? 2020-01-02T22:08:23Z jmercouris: why not build a hashing library, and then a hash table library on top of your hashing library? 2020-01-02T22:08:33Z heisig: stylewarning: Sounds great! 2020-01-02T22:08:40Z Bike: i don't see why not. 2020-01-02T22:09:49Z phoe: stylewarning: https://github.com/metawilm/cl-custom-hash-table 2020-01-02T22:09:55Z phoe: there is some previous work on the matter 2020-01-02T22:10:10Z no-defun-allowed: stylewarning: I do think it's good. 2020-01-02T22:10:51Z phoe: but also hell yes sounds good 2020-01-02T22:11:22Z stylewarning: phoe: I've seen this; i consider it to be a bit of a cop-out solution. It solves the problem of portability (of some features: custom hash funs) but doesn't really care about efficiency, multithreadedness, etc 2020-01-02T22:11:40Z stylewarning: jmercouris: it doesn't seem like a useful separation of concerns imho 2020-01-02T22:12:01Z shifty joined #lisp 2020-01-02T22:12:11Z jmercouris: perhaps, it was just an idea 2020-01-02T22:12:40Z heisig: We also need a good hash table implementation for SICL, so there is some potential for collaboration :) 2020-01-02T22:13:06Z no-defun-allowed: Oh, good...evening heisig! 2020-01-02T22:14:09Z Bike: well, some people seem to like being able to supply their own hash functions 2020-01-02T22:15:57Z clothespin joined #lisp 2020-01-02T22:15:58Z stylewarning: heisig: we have been abusing hash tables non-portably, and many of the hash tables are just sparse integer maps, so we thought we could implement a better one (famous last words) that works more efficiently and as flexibly as needed 2020-01-02T22:17:04Z stylewarning: (there's of course a separate question: is a hash table the right data structure for a sparse integer map? but that's neither here nor there. We also use tons of custom hash functions) 2020-01-02T22:19:16Z jmercouris: is hash table the right data structure for a sparse integer map... difficult question 2020-01-02T22:19:26Z jmercouris: that really depends on *how* the data structure is being used 2020-01-02T22:19:41Z stylewarning: another feature I've wanted is being able to specify key/value types for safety. Maybe that doesn't deserve to be in the hash table interface but almost all tables I create have concrete key and value types 2020-01-02T22:19:59Z stylewarning: and of course CL's HTs are designed with the opposite in mind: any kind of key and any kind of value 2020-01-02T22:20:00Z jmercouris: why have you wanted this feature? I am diametrically opposed to it 2020-01-02T22:20:07Z phoe: type safety 2020-01-02T22:20:13Z jmercouris: I am opposed to type safety 2020-01-02T22:20:19Z phoe: well, I'm not 2020-01-02T22:20:27Z jmercouris: I used to be a Java programmer way back when... 2020-01-02T22:20:31Z stylewarning: jmercouris: your key and value types can be T and T respectively : 2020-01-02T22:20:32Z stylewarning: :) 2020-01-02T22:20:43Z jmercouris: lol :-D 2020-01-02T22:21:25Z stylewarning: Why MAKE-ARRAY :element-type wasn't exactly designed for safety, and it has wackiness with upgraded types and whathaveyou, i think it's a nice design element 2020-01-02T22:21:41Z stylewarning: (make-hash-table &key key-type value-type) maybe... 2020-01-02T22:21:44Z phoe: as verbose as Java is, it gets its type safety mostly right - and declaring types for hashtables is one thing that I enjoy in it 2020-01-02T22:21:57Z Bike: ugh, please don't copy the type upgrading thing again 2020-01-02T22:22:05Z jmercouris: I actually really disliked that, it is a preference however, I understand it, I just didn't believe in it 2020-01-02T22:22:12Z stylewarning: Bike: haha, that is the part i would *NOT* want to copy 2020-01-02T22:22:14Z phoe: now we upgradin' hash table key types Bike 2020-01-02T22:22:23Z phoe: it's the current fad 2020-01-02T22:22:38Z phoe: ;; I agree, this is the part that we shouldn't copy over 2020-01-02T22:22:48Z Bike: treating it as a storage thing would be uh, weird. hash table implementation might put keys and values in the same vector... 2020-01-02T22:23:20Z stylewarning: jmercouris: so you much prefer that you supply a test function such that the hash function and test function form a reverse implication on the key types you have, and the value types are Whatever You Feel Like Whenever You Woke Up? ;) 2020-01-02T22:23:30Z phoe: even if it would be just for runtime checks, there is some value in runtime safety alone 2020-01-02T22:23:49Z jmercouris: stylewarning: the test function is only a mild implication, and it can span across types! 2020-01-02T22:23:53Z Bike: i'd say if you want safety you can define gethash+(setf gethash) analogues that have declared/checked types respectively. don't feel strongly about it though. 2020-01-02T22:23:54Z jmercouris: that's what makes it so cool 2020-01-02T22:23:58Z stylewarning: Bike: I'm saying I like the design element of specifying a type in the constructor, not that it directly has to do with storage. (: 2020-01-02T22:24:11Z stylewarning: jmercouris: types in Lisp are sets, and sets can be unioned, so it still is all the same 2020-01-02T22:25:31Z jmercouris: :-D 2020-01-02T22:26:36Z learning joined #lisp 2020-01-02T22:27:16Z Bike: if you do it in the constructor and have gethash/(setf gethash) check the types there you're doing type checks based on a type only known at runtime which is gonna be a lot less performant. 2020-01-02T22:27:21Z Bike: which you might not care about, but still 2020-01-02T22:28:11Z stylewarning: it would be nice if it could do w/e AREF does wrt type safety 2020-01-02T22:28:42Z stylewarning: (declaim (optimize #.*danger-zone*)) 2020-01-02T22:28:50Z Bike quit (Remote host closed the connection) 2020-01-02T22:29:20Z phoe: so you seek a hashtable library which generates different code based on the compiler policy 2020-01-02T22:29:25Z Bike joined #lisp 2020-01-02T22:29:28Z Bike: unfortunately that's generally tied into impleemntation type inference stuff so it's not possible to deal with portably 2020-01-02T22:29:42Z phoe: your GETHASH might include typechecks on default safety levels and no runtime checks on (declare (optimize :yes)) 2020-01-02T22:29:48Z copec: *danger-zone* implies audio output 2020-01-02T22:29:56Z Bike: ...but if you do want to do this, maybe start with having a table library, and then we can make my shed 2020-01-02T22:29:57Z phoe: copec: oh I laughed, thanks 2020-01-02T22:30:43Z phoe: Bike: maybe that's doable portably; an implementation should be able to elide surplus checks, like, if it knows that a thing is a FOO then it doesn't need to check if it's a FOO anymore 2020-01-02T22:31:31Z Bike: it wouldn't know that at compile time without some work though. 2020-01-02T22:31:38Z Bike: inexpressible work 2020-01-02T22:32:14Z phoe: ouch 2020-01-02T22:32:16Z phoe: that's correct 2020-01-02T22:32:30Z phoe: ...this should be achievable with some compiler macros though 2020-01-02T22:32:37Z harovali joined #lisp 2020-01-02T22:32:43Z Bike: then there's no type information. 2020-01-02T22:32:49Z jmercouris: what is 'inexprisible work'? 2020-01-02T22:32:52Z Bike: well, inferred type information 2020-01-02T22:33:04Z phoe: sigh. correct. 2020-01-02T22:33:13Z Bike: maybe i should just write out a thing about why type-directed transformations might be nice but aren't very doable, since this keeps coming up 2020-01-02T22:33:16Z phoe: you'd need to try and expand into the code that will then, hopefully, be optimized by the compiler. 2020-01-02T22:33:32Z harovali: hi! how can I exit when slime hangs saying "Type a form to be evaluated:" ? 2020-01-02T22:33:42Z phoe: harovali: Ctrl+G? 2020-01-02T22:33:53Z harovali: phoe: it does nothing 2020-01-02T22:34:02Z jmercouris: maybe if you press it really hard 2020-01-02T22:34:03Z william1 quit (Ping timeout: 265 seconds) 2020-01-02T22:34:03Z phoe: That's the general "get me out of here" combo in emacs 2020-01-02T22:34:05Z phoe: oh, hm 2020-01-02T22:34:13Z jmercouris: that seems to work for me 2020-01-02T22:34:18Z jebes quit (Quit: ZNC 1.7.4+deb7 - https://znc.in) 2020-01-02T22:34:18Z phoe: harovali: what happens if you ') 2020-01-02T22:34:20Z phoe: uhh 2020-01-02T22:34:22Z Bike: what happens if you type a form to be evaluated 2020-01-02T22:34:25Z phoe: if you type in () and hit enter? 2020-01-02T22:34:28Z harovali: for now I'm exiting emacs wit C-x C-c which works 2020-01-02T22:34:33Z phoe: that's harsh 2020-01-02T22:34:36Z harovali: let me see 2020-01-02T22:34:50Z phoe: what did you do to end up in such a place? 2020-01-02T22:34:57Z jmercouris: if you are able to exit with C-x C-c then emacs is not frozen 2020-01-02T22:35:11Z jmercouris: which means you should be able, in the worst case to kill the repl and inferior lisp 2020-01-02T22:35:12Z stylewarning: SLIME's request for input in some random buffer has caused issues in live presentations once 2020-01-02T22:35:25Z stylewarning: i wish the interface for entering input for conditions was better 2020-01-02T22:36:03Z je4i quit (Ping timeout: 264 seconds) 2020-01-02T22:36:27Z harovali: phoe: finally I could get out of there , maybe () did it 2020-01-02T22:36:52Z harovali: sometimes I get there typing the wrong key in the error menu 2020-01-02T22:37:07Z Seteeri joined #lisp 2020-01-02T22:37:22Z phoe: ooh, yes, in the debugger 2020-01-02T22:37:42Z harovali: jmercouris: it's not frozen, right . Maybe it's slime in a loop which emacs cannot exit , and which eventually will exit itself 2020-01-02T22:37:43Z phoe: in that case just type in a () and then [q] to quit the debugger 2020-01-02T22:37:50Z heisig: I see two ways to obtain typed hash tables: 1. A defstruct-like macro that generates the hash table, its type, and its accessors. 2. Painful, non-portable SBCL hacking. 2020-01-02T22:37:50Z harovali: phoe: maybe yes 2020-01-02T22:37:52Z phoe: it's not in a loop I guess 2020-01-02T22:37:55Z phoe: it's waiting for user input 2020-01-02T22:38:08Z harovali: phoe: I'll try again with () next time 2020-01-02T22:38:16Z harovali: thanks ! 2020-01-02T22:39:58Z Seteeri quit (Client Quit) 2020-01-02T22:41:17Z Codaraxis quit (Ping timeout: 260 seconds) 2020-01-02T22:41:34Z stylewarning: heisig: i'm probably in favor of a portable intf+impl with painful SBCL hacking 2020-01-02T22:41:43Z notzmv joined #lisp 2020-01-02T22:42:35Z stylewarning: gotta give those SBCL folks something to do w/their time 2020-01-02T22:44:57Z heisig: So the portable interface would be something like (make-hash-table :key-type fixnum :value-type symbol :hash-function #'identity)? 2020-01-02T22:45:09Z phoe: stylewarning: this sounds exactly like the goal that this library that I linked above has 2020-01-02T22:45:11Z Bike: hopefully those are quoted. 2020-01-02T22:45:24Z phoe: it already has some fallback stuff plus depends on implementation-defined stuff if an implementation supports these 2020-01-02T22:45:38Z phoe: oh yes please quote these 2020-01-02T22:46:04Z phoe: mostly cause of (let ((fixnum 't) (symbol 'nil)) (make-hash-table :key-type fixnum :value-type symbol :hash-function #'identity)) 2020-01-02T22:47:24Z stylewarning: heisig: tbh i'm not sure, i'll play around with an interface, maybe once I have a strawman we can mess around with it 2020-01-02T22:49:06Z jackdaniel: (declare (type ht (hash-table fixnum symbol))) ;,) 2020-01-02T22:49:28Z phoe: jackdaniel: :( 2020-01-02T22:49:39Z heisig: jackdaniel: Yes, please! 2020-01-02T22:49:40Z phoe: you just made me reread clhs hash-table 2020-01-02T22:49:42Z phoe: I did it just to be sure 2020-01-02T22:50:25Z phoe: ...but yes, such an extension would be lovely 2020-01-02T22:50:48Z jackdaniel: first I need to truly separate passes in ecl, then why not ,) however, is there any reason that having this will improve anything hash-table-access-wise? 2020-01-02T22:51:24Z phoe: some more type inference information will be available 2020-01-02T22:51:27Z jackdaniel: to believe* 2020-01-02T22:51:47Z kajo joined #lisp 2020-01-02T22:52:05Z phoe: a compiler will be able to warn if you try to use a non-fixnum key in the gethash, plus it'll know that the result will be (or null symbol) 2020-01-02T22:52:45Z jackdaniel: it will be able to do that if you always declare type of the hash table 2020-01-02T22:53:20Z phoe: (declaim (type *ht* ...)) ;) 2020-01-02T22:54:24Z phoe: but yes, that's one nuisance - you'll need to manually declare the types there 2020-01-02T22:54:44Z xuxuru joined #lisp 2020-01-02T22:56:33Z jackdaniel: hash tables are fast *yet* slow for performance-crictical code (access-wise); the real question is that: is there any data to support thesis, that it would be worth the effort? 2020-01-02T22:56:38Z pjb: phoe: do you realize that you cannot put anything in the result of (let ((fixnum 't) (symbol 'nil)) (make-hash-table :key-type fixnum :value-type symbol :hash-function #'identity)) ? 2020-01-02T22:56:55Z phoe: pjb: yes, I do, the type NIL has no elements 2020-01-02T22:57:02Z pjb: ok 2020-01-02T22:57:09Z no-defun-allowed: pjb: (make-thatsthejoke) 2020-01-02T22:57:16Z stylewarning: no-defun-allowed: :))) 2020-01-02T22:59:39Z heisig quit (Quit: Leaving) 2020-01-02T23:00:49Z no-defun-allowed: stylewarning: (make-pathname :name "thatsthejoke" :type "jpg") 2020-01-02T23:00:58Z Bike quit (Quit: Bike) 2020-01-02T23:01:29Z stylewarning: #P"MEMES:LISP;THEJOKE.JPG" 2020-01-02T23:03:31Z phoe: okay please slow down 2020-01-02T23:04:09Z jmercouris quit (Remote host closed the connection) 2020-01-02T23:04:15Z xuxuru quit (Quit: xuxuru) 2020-01-02T23:07:41Z phoe: I kinda wish #'EQ was associative the same way #'= is 2020-01-02T23:08:01Z Codaraxis joined #lisp 2020-01-02T23:08:06Z stylewarning: do you mean (EQ x y z ...)? 2020-01-02T23:08:12Z phoe: yes 2020-01-02T23:08:29Z phoe: now I gotta do (and (eq a b) (eq b c) (eq c d)) 2020-01-02T23:08:41Z jackdaniel: why not define a macro if you truly miss that? 2020-01-02T23:08:47Z phoe: or do some magic like (every (alexandria:curry #'eq a) (list b c d)) 2020-01-02T23:09:36Z stylewarning: 8 MEGABYTES AND (CONSTANTLY #'CONSING) 2020-01-02T23:09:37Z jackdaniel: or a function if you need function interface 2020-01-02T23:09:44Z cosimone quit (Quit: Quit.) 2020-01-02T23:09:53Z phoe: stylewarning: I laughed harder than I should have, thank you 2020-01-02T23:10:01Z phoe: jackdaniel: right, I can do that 2020-01-02T23:10:32Z phoe: it's just that shadowing CL:EQ makes me die a little inside due to the side effects of that 2020-01-02T23:10:43Z ym quit (Ping timeout: 260 seconds) 2020-01-02T23:10:44Z jackdaniel: name it eq* 2020-01-02T23:11:10Z phoe: hmm 2020-01-02T23:11:14Z phoe: doable, thanks for the idea 2020-01-02T23:11:54Z Xach: mfiano: was there a recent change to plain pngload? i reset my vcs cache and now it seems to be gone and completely replaced with pngload-fast. 2020-01-02T23:12:07Z Xach: I don't know if it's something that got jiggled around when I purged my cache or what. 2020-01-02T23:12:37Z pjb: jackdaniel: how do you justify a macro for eq*? 2020-01-02T23:12:42Z jackdaniel: sure, it wasn't very bright though, I've personally never encountered a situation where I'd need such eq, (every (curry #'eq a) other-values) would suffice too 2020-01-02T23:13:14Z jackdaniel: like I justify and vs every, not all arguments need to be evaluated 2020-01-02T23:13:32Z stylewarning: > (defmacro associate (op x y &rest z) 2020-01-02T23:13:33Z stylewarning: `(and (,op ,x ,y) 2020-01-02T23:13:33Z stylewarning: ,@(loop :for a :in (cons y z) 2020-01-02T23:13:33Z stylewarning: :for b :in z 2020-01-02T23:13:33Z stylewarning: :collect `(,op ,a ,b)))) 2020-01-02T23:13:39Z stylewarning: ^_^ 2020-01-02T23:13:40Z phoe: Xach: https://github.com/mfiano/pngload redirects to https://github.com/mfiano/pngload-fast 2020-01-02T23:14:06Z stylewarning: probably once-only etc 2020-01-02T23:14:25Z wxie joined #lisp 2020-01-02T23:14:44Z Xach: phoe: i use https://github.com/hackertheory/pngload/ 2020-01-02T23:15:08Z jackdaniel: stylewarning: I'm bothering you at #ecl ,) 2020-01-02T23:15:19Z phoe: Xach: it seems that it got renamed completely, see https://github.com/HackerTheory/pngload/commits/master 2020-01-02T23:15:20Z Xach: There was some discussion a while ago about having them both available separately and I'm not sure what happened to break things now. whether it's a local issue or something that coincidentally happened at the same time. 2020-01-02T23:15:33Z Xach: phoe: my question is not that it happened, but about the timing. 2020-01-02T23:15:37Z LiamH quit (Quit: Leaving.) 2020-01-02T23:15:49Z phoe: Xach: gotcha 2020-01-02T23:15:51Z Xach: Whether it is something that took effect very recently, like today. 2020-01-02T23:23:29Z mfiano: Xach: checking 2020-01-02T23:23:38Z varjag quit (Quit: ERC (IRC client for Emacs 26.1)) 2020-01-02T23:23:43Z ym joined #lisp 2020-01-02T23:24:12Z mfiano: Yeah an insignificant change, but a change nonetheless 2020-01-02T23:24:30Z mfiano: (replaced loop keyword with a keyword symbol) 2020-01-02T23:25:09Z mfiano: I actually didn't mean to commit to that repo since it is uhh unmaintained 2020-01-02T23:25:37Z phoe: ;; I suggest to mark it as such then 2020-01-02T23:26:16Z mfiano: I was going to but you said you were going to merge the pngload-fast features into pngload with reader conditionals for implementations to have fallback support 2020-01-02T23:26:27Z mfiano: Wasn't sure if that was happening sooner than later apparently :) 2020-01-02T23:26:38Z phoe: oh god I forgot about that completely 2020-01-02T23:26:51Z phoe: please bang me against the nearest wall 2020-01-02T23:27:00Z mfiano: No problem. I had forgot too 2020-01-02T23:27:23Z mfiano: I prefer not thinking about either repo. They drain too much of my limited resources 2020-01-02T23:30:15Z abordado quit (Read error: Connection reset by peer) 2020-01-02T23:31:47Z phoe: Xach: I have a curious question 2020-01-02T23:32:27Z phoe: I'm on SBCL and for some reason I have a package named QL-CLISP 2020-01-02T23:32:38Z phoe: I wonder why 2020-01-02T23:32:54Z gendarme quit (Read error: Connection reset by peer) 2020-01-02T23:33:09Z gendarme joined #lisp 2020-01-02T23:34:28Z gendarme quit (Client Quit) 2020-01-02T23:34:38Z gendarme joined #lisp 2020-01-02T23:41:19Z harovali: does anyone know of some current tutorial or documentation to cl-pdf and cl-typesetting? 2020-01-02T23:42:24Z stylewarning: phoe: I have created the perfect overengineered macro for you: https://github.com/stylewarning/lisp-random/blob/master/associate.lisp 2020-01-02T23:42:31Z harovali: i'm reading https://github.com/mbattyani/cl-typesetting/blob/master/documentation/cl-pdf-doc.pdf which might be outdated 2020-01-02T23:43:17Z phoe: stylewarning: gasp 2020-01-02T23:43:19Z phoe: thank you 2020-01-02T23:43:58Z stylewarning: phoe: it will save you many many processor cycles and bytes consed 2020-01-02T23:44:12Z Xach: phoe: it is because of how i implemented portability. i would do it differently today. 2020-01-02T23:44:51Z phoe: stylewarning: what about lambdas converted 2020-01-02T23:44:53Z phoe: Xach: got it 2020-01-02T23:45:12Z Xach: mfiano: were the pngload-fast changes freshly pushed today also, even though the commits are old? 2020-01-02T23:46:45Z mfiano: Xach: https://files.michaelfiano.com/images/screenshots/img-20200102184629.png 2020-01-02T23:46:47Z mfiano: nopers 2020-01-02T23:47:27Z Xach: mfiano: i'm not sure what i'm looking at, sorry 2020-01-02T23:47:54Z phoe: mfiano github activity for this month 2020-01-02T23:47:57Z phoe: only one commit was pushed 2020-01-02T23:48:02Z mfiano: github tracks pushes. It's saying the only commits i pushed were to those 2 repos 2020-01-02T23:48:29Z wxie quit (Ping timeout: 265 seconds) 2020-01-02T23:49:01Z Xach: Ok. Well, I'm not sure how to account for what I'm seeing, but the missing pngload system breaks a bunch of stuff. 2020-01-02T23:50:24Z mfiano: I'm not sure why it is missing 2020-01-02T23:50:27Z mfiano: I didn't remove it 2020-01-02T23:51:15Z mfiano: Oh ffs 2020-01-02T23:51:22Z mfiano: Yes I did. Something went horribly wrong 2020-01-02T23:51:24Z mfiano: Fixing 2020-01-02T23:52:00Z Xach: The last commit I saw until today was f386fb11f0500ff8129f2b77aed9a1064c546c60 2020-01-02T23:53:44Z Xach: mfiano: curious to learn the scoop! 2020-01-02T23:53:48Z mfiano: That helps. Thanks. My branches were all messed up 2020-01-02T23:56:07Z mfiano: Xach: Sorry, food's ready. I'll repair this mess within the hour 2020-01-02T23:56:13Z mfiano: Sorry 2020-01-02T23:56:23Z Xach: No rush 2020-01-02T23:56:26Z Xach: Thanks for looking at it 2020-01-02T23:58:34Z asdf_asdf_asdf quit (Remote host closed the connection) 2020-01-03T00:00:27Z learning_ joined #lisp 2020-01-03T00:02:03Z gendarme quit (Ping timeout: 260 seconds) 2020-01-03T00:03:49Z Bike joined #lisp 2020-01-03T00:03:57Z learning quit (Ping timeout: 265 seconds) 2020-01-03T00:04:58Z learning_ quit (Ping timeout: 260 seconds) 2020-01-03T00:06:13Z learning joined #lisp 2020-01-03T00:08:18Z random-nick quit (Ping timeout: 265 seconds) 2020-01-03T00:09:22Z Codaraxis quit (Ping timeout: 260 seconds) 2020-01-03T00:10:02Z anewuser quit (Ping timeout: 240 seconds) 2020-01-03T00:10:11Z gendarme joined #lisp 2020-01-03T00:11:03Z duuqnd quit 2020-01-03T00:11:10Z Josh_2 is now known as bigkewlkidJosh2 2020-01-03T00:11:28Z bigkewlkidJosh2 is now known as birthdayboyJosh_ 2020-01-03T00:11:40Z birthdayboyJosh_ is now known as BirthdayboiJosh 2020-01-03T00:12:06Z phoe: writing robust software is hard 2020-01-03T00:12:06Z mfiano: Xach: The worst part is this same thing happened the last time you pinged me about it. I had this repository hard reset to a specific commit, and pushing a minor change fast-forwarded it. This is what I get for not paying attention. 2020-01-03T00:12:41Z phoe: mfiano: try removing the respective remote in your local gitconfig 2020-01-03T00:12:51Z phoe: you can't accidentally push if there is nowhere to push™ 2020-01-03T00:13:08Z mfiano: I wanted to, I just didn't do it correctly 2020-01-03T00:15:00Z anewuser joined #lisp 2020-01-03T00:15:42Z smokeink joined #lisp 2020-01-03T00:15:55Z mfiano: Repairing this is above my head right now, because I can't rebase or revert with merge commits in the tree 2020-01-03T00:15:59Z mfiano: Sigh 2020-01-03T00:20:05Z mfiano: I guess I can revert just my working tree and then make another commit. Simple enough idea. Let's see how it plays out 2020-01-03T00:22:28Z clothespin quit (Ping timeout: 260 seconds) 2020-01-03T00:29:17Z learning quit (Remote host closed the connection) 2020-01-03T00:29:39Z gendarme quit (Ping timeout: 258 seconds) 2020-01-03T00:31:21Z learning joined #lisp 2020-01-03T00:35:43Z gendarme joined #lisp 2020-01-03T00:38:43Z clothespin joined #lisp 2020-01-03T00:39:09Z Kevslinger joined #lisp 2020-01-03T00:40:52Z libertyprime joined #lisp 2020-01-03T00:41:43Z karlosz quit (Quit: karlosz) 2020-01-03T00:43:01Z lucasb quit (Quit: Connection closed for inactivity) 2020-01-03T00:45:37Z brass quit (Ping timeout: 268 seconds) 2020-01-03T00:48:55Z vidak` joined #lisp 2020-01-03T00:51:01Z jeosol joined #lisp 2020-01-03T00:51:05Z mfiano: fixed 2020-01-03T00:53:33Z asdf_asdf_asdf joined #lisp 2020-01-03T00:56:27Z gendarme quit (Quit: Konversation terminated!) 2020-01-03T00:56:29Z Bourne quit (Read error: Connection reset by peer) 2020-01-03T00:57:40Z harovali: (require 'cl-pdf) 2020-01-03T00:59:32Z harovali quit (Remote host closed the connection) 2020-01-03T01:00:43Z brass joined #lisp 2020-01-03T01:00:51Z harovali joined #lisp 2020-01-03T01:02:34Z stux|RC-only quit (Quit: Aloha!) 2020-01-03T01:03:23Z anewuser quit (Ping timeout: 258 seconds) 2020-01-03T01:03:54Z Xach: bodge! 2020-01-03T01:05:10Z learning quit (Remote host closed the connection) 2020-01-03T01:05:31Z karlosz joined #lisp 2020-01-03T01:05:42Z learning joined #lisp 2020-01-03T01:07:22Z stux|RC-only joined #lisp 2020-01-03T01:09:56Z EvW quit (Ping timeout: 248 seconds) 2020-01-03T01:10:18Z learning quit (Ping timeout: 260 seconds) 2020-01-03T01:11:22Z asdf_asdf_asdf quit (Remote host closed the connection) 2020-01-03T01:12:38Z sjl joined #lisp 2020-01-03T01:12:53Z karlosz quit (Remote host closed the connection) 2020-01-03T01:14:44Z z147 joined #lisp 2020-01-03T01:16:13Z Xach: galdor: what happened to lisp-zmq and m2cl? 2020-01-03T01:20:43Z z147 quit (Ping timeout: 240 seconds) 2020-01-03T01:20:56Z karlosz joined #lisp 2020-01-03T01:26:18Z william1_ joined #lisp 2020-01-03T01:30:43Z william1_ quit (Ping timeout: 260 seconds) 2020-01-03T01:37:01Z igemnace joined #lisp 2020-01-03T01:42:33Z igemnace quit (Ping timeout: 265 seconds) 2020-01-03T01:44:18Z rdh joined #lisp 2020-01-03T01:45:43Z rdh quit (Client Quit) 2020-01-03T01:47:38Z ft quit (Ping timeout: 260 seconds) 2020-01-03T01:48:41Z ft joined #lisp 2020-01-03T01:50:32Z karlosz quit (Quit: karlosz) 2020-01-03T01:50:49Z karlosz joined #lisp 2020-01-03T01:53:38Z ft quit (Ping timeout: 240 seconds) 2020-01-03T01:54:43Z ft joined #lisp 2020-01-03T01:56:32Z stux|RC-only quit (Quit: Aloha!) 2020-01-03T01:57:37Z ahungry joined #lisp 2020-01-03T01:58:01Z stux|RC-only joined #lisp 2020-01-03T02:01:48Z stux|RC-only quit (Read error: Connection reset by peer) 2020-01-03T02:03:42Z ealfonso joined #lisp 2020-01-03T02:04:02Z bitmapper quit (Ping timeout: 240 seconds) 2020-01-03T02:09:17Z igemnace joined #lisp 2020-01-03T02:09:27Z Xach: well, here are a bunch of update failures: https://gist.github.com/quicklisp/97e9df796326da8d0c75af75b91400d9 2020-01-03T02:09:33Z Xach: I think I may just remove those projects 2020-01-03T02:11:22Z Xach: They are just gone from github or the internet. 2020-01-03T02:11:52Z igemnace quit (Client Quit) 2020-01-03T02:15:49Z stux|RC-only joined #lisp 2020-01-03T02:15:55Z bilegeek joined #lisp 2020-01-03T02:15:59Z bilegeek quit (Remote host closed the connection) 2020-01-03T02:19:50Z HumanGeode quit (Quit: Leaving) 2020-01-03T02:21:22Z Oladon joined #lisp 2020-01-03T02:23:01Z lxpnh98 joined #lisp 2020-01-03T02:27:22Z X-Scale quit (Ping timeout: 268 seconds) 2020-01-03T02:30:12Z ArthurStrong joined #lisp 2020-01-03T02:38:24Z ahungry quit (Remote host closed the connection) 2020-01-03T02:40:51Z Codaraxis joined #lisp 2020-01-03T02:46:28Z ahungry joined #lisp 2020-01-03T02:49:28Z ArthurStrong quit (Ping timeout: 260 seconds) 2020-01-03T02:51:12Z ArthurStrong joined #lisp 2020-01-03T02:53:08Z X-Scale joined #lisp 2020-01-03T02:57:53Z drdo quit (Quit: ...) 2020-01-03T02:58:00Z dddddd quit (Ping timeout: 258 seconds) 2020-01-03T02:58:15Z drdo joined #lisp 2020-01-03T02:59:53Z ft quit (Ping timeout: 265 seconds) 2020-01-03T03:00:55Z Lord_of_Life_ joined #lisp 2020-01-03T03:01:49Z Lord_of_Life quit (Ping timeout: 265 seconds) 2020-01-03T03:02:18Z Lord_of_Life_ is now known as Lord_of_Life 2020-01-03T03:04:44Z akoana joined #lisp 2020-01-03T03:10:05Z sjl quit (Quit: WeeChat 2.2-dev) 2020-01-03T03:16:49Z ft joined #lisp 2020-01-03T03:22:54Z jgodbout joined #lisp 2020-01-03T03:30:18Z ahungry quit (Ping timeout: 260 seconds) 2020-01-03T03:30:23Z lxpnh98 quit (Quit: Leaving) 2020-01-03T03:32:48Z ealfonso left #lisp 2020-01-03T03:35:52Z karlosz quit (Quit: karlosz) 2020-01-03T03:36:09Z karlosz joined #lisp 2020-01-03T03:37:18Z jgodbout quit (Ping timeout: 260 seconds) 2020-01-03T03:44:01Z karlosz quit (Remote host closed the connection) 2020-01-03T03:48:39Z smokeink: (in clisp): (list :); => (:||) , is there any way to make this work in sbcl as well? illegal terminating character after a colon: #\) 2020-01-03T03:49:03Z Bike: i think that's bad syntax 2020-01-03T03:49:07Z Bike: you could write (list :||) 2020-01-03T03:49:51Z no-defun-allowed: Yeah, I think CLISP is being lenient and you have to at least put :|| there. 2020-01-03T03:50:25Z EvW joined #lisp 2020-01-03T03:53:03Z smokeink: https://www.reddit.com/r/lisp/comments/72n6gy/the_nest_macro_ported_from_common_lisp_to_scheme/ ": as a universally accepted token denoting a self-evaluating keyword would be handy." 2020-01-03T03:54:44Z ahungry joined #lisp 2020-01-03T04:02:54Z karlosz joined #lisp 2020-01-03T04:06:17Z harovali: is it possible to see the coorect glyph in CL-PDF's pdf:draw-text with characters like #\U+00CD ? 2020-01-03T04:06:42Z no-defun-allowed: I don't think so. 2020-01-03T04:07:20Z Bike quit (Quit: Lost terminal) 2020-01-03T04:07:31Z harovali: which roadpath should I follow to get that ? 2020-01-03T04:07:38Z vidak` quit (Ping timeout: 240 seconds) 2020-01-03T04:07:40Z no-defun-allowed: From memory, CL-PDF has the kerning information for some Adobe fonts, but only for the ASCII character set. 2020-01-03T04:10:03Z harovali: I think I should render those unicode strings in another library and compose that in cl-pdf, right? Is cl-typesetting that sort of library? Are there other nice options? 2020-01-03T04:10:07Z beach: Good morning everyone! 2020-01-03T04:10:42Z BirthdayboiJosh: Morning beach 2020-01-03T04:15:19Z p0a joined #lisp 2020-01-03T04:15:37Z pjb: smokeink: you could add "" as nickname to the "KEYWORD" package. 2020-01-03T04:16:10Z p0a: What's the difference between foo:bar and foo::bar? 2020-01-03T04:16:21Z pjb: Ah, right, sorry. ||:foo is :foo in clisp… 2020-01-03T04:16:43Z pjb: p0a: :: means you don't care whether the symbol named "BAR" is exported from the package named "FOO" or not. 2020-01-03T04:16:58Z pjb: p0a: : means that you want to get an error signaled if the symbol named "BAR" is NOT exported from the package named "FOO". 2020-01-03T04:17:41Z pjb: p0a: so basically, you should always use : and if an error occurs, it means you're messing with the internals of the package, and you should correct and limit yourself to the public, exported API. 2020-01-03T04:18:03Z smokeink: p0a: they both refer to the symbol named "BAR" from the package named "FOO" . if you want to use foo:bar then first you have to export 'bar 2020-01-03T04:19:03Z p0a: gotcha 2020-01-03T04:19:14Z ahungry quit (Ping timeout: 240 seconds) 2020-01-03T04:19:20Z p0a: yeah like public/private 2020-01-03T04:19:27Z p0a: in some other languages 2020-01-03T04:19:40Z beach: Not quite. 2020-01-03T04:19:49Z beach: But similar. 2020-01-03T04:20:58Z ahungry joined #lisp 2020-01-03T04:22:09Z Oladon quit (Quit: Leaving.) 2020-01-03T04:22:38Z p0a: so quickloading my project 2020-01-03T04:22:45Z p0a: I get errors coming from past source codes. What is going on? 2020-01-03T04:22:55Z p0a: Do I need to delete the .fasl files? 2020-01-03T04:23:57Z p0a: actually there's no .fasl files I'm super confused. It complains about "/home/emacs/Pictures/foo" but that string does no longer exist in my main.lisp project. I restarted the lisp image too 2020-01-03T04:24:55Z smokeink: paste the full error on pastebin 2020-01-03T04:26:21Z p0a: Here it is https://pastebin.com/LMh5UEPj 2020-01-03T04:26:45Z pjb: p0a: the .fasl files are stored by asdf in ~/.cache/common-lisp/. In general, you don't need to bother with them. 2020-01-03T04:27:07Z pjb: p0a: or you may go inside this directory to clean them if really needed. 2020-01-03T04:27:22Z smokeink: HUNCHENTOOT:CREATE-FOLDER-DISPATCHER-AND-HANDLER is trying to access that folder, perhaps 2020-01-03T04:27:48Z smokeink: so remove/fix the code that tries to make use of that directory 2020-01-03T04:28:06Z pjb: p0a: CL distinguishes PATHNAMEs designating directories from pathnames designating files. #P"/home/emacs/Pictures/foo" designates a file named foo. #P"/home/emacs/Pictures/foo/" designates a directory named foo. 2020-01-03T04:28:37Z mfiano: frame 4. 2020-01-03T04:28:56Z pjb: p0a: so in your code, write: (ADD-SLIDESHOW "foo" "/home/emacs/Pictures/foo/") instead. 2020-01-03T04:28:59Z mfiano: i think you're trying to compile files rather than taking the iterative development approach 2020-01-03T04:29:04Z p0a: smokeink: there is no such code 2020-01-03T04:29:07Z p0a: I deleted all of it 2020-01-03T04:29:18Z smokeink: p0a: right, check out frame 4 as mfiano said 2020-01-03T04:29:38Z p0a: okay thank you 2020-01-03T04:29:47Z froggey quit (Ping timeout: 265 seconds) 2020-01-03T04:29:52Z p0a: mfiano: what is the iterative approach then? load the file instead? 2020-01-03T04:30:07Z harovali: how do I create a new repl in slime if I accidentally closed it ? the inferior buffer is still there 2020-01-03T04:30:20Z no-defun-allowed: M-x slime-repl 2020-01-03T04:30:24Z harovali: thanks 2020-01-03T04:30:37Z mfiano: p0a: C-c C-c 2020-01-03T04:30:39Z pjb: harovali: M-x slime RET 2020-01-03T04:31:10Z asarch joined #lisp 2020-01-03T04:31:29Z froggey joined #lisp 2020-01-03T04:31:33Z ArthurStrong quit (Quit: leaving) 2020-01-03T04:33:08Z p0a: mfiano: thank you. I will try that 2020-01-03T04:35:01Z smokeink: pjb: added "" as nickname to the "KEYWORD" package but it didn't do the trick 2020-01-03T04:35:33Z pjb: smokeink: yes, sorry. This was a trick in clisp to read :foo in the keyword package. But for after :, you need to use :||. 2020-01-03T04:35:56Z pjb: smokeink: or, write a reader macro for #\:. 2020-01-03T04:36:48Z ahungry quit (Ping timeout: 260 seconds) 2020-01-03T04:37:29Z ahungry joined #lisp 2020-01-03T04:43:54Z gravicappa joined #lisp 2020-01-03T04:53:20Z orangebot joined #lisp 2020-01-03T04:58:17Z orangebot quit (Quit: Simple IRC: The quit option.) 2020-01-03T04:59:52Z EvW quit (Ping timeout: 260 seconds) 2020-01-03T05:00:43Z notzmv quit (Ping timeout: 260 seconds) 2020-01-03T05:05:24Z notzmv joined #lisp 2020-01-03T05:08:01Z Oladon joined #lisp 2020-01-03T05:11:30Z Codaraxis quit (Read error: Connection reset by peer) 2020-01-03T05:17:37Z smokeink: pbj: can a reader macro for #\: be writtten without breaking things ? 2020-01-03T05:17:54Z patlv quit (Quit: Leaving) 2020-01-03T05:22:38Z Inline quit (Quit: Leaving) 2020-01-03T05:26:54Z william1_ joined #lisp 2020-01-03T05:27:39Z refpga joined #lisp 2020-01-03T05:28:14Z p0a: I don't understand 2020-01-03T05:28:24Z p0a: when I quickload the asd file, the hunchentoot server runs 2020-01-03T05:28:38Z p0a: so that I can't load my main.lisp code (socket in use error). 2020-01-03T05:28:53Z p0a: But when I delete that line of code that starts the server in my main.lisp file, the asd file no longer starts the server 2020-01-03T05:29:20Z pjb: smokeink: yes. You must be very careful. 2020-01-03T05:30:13Z pjb: p0a: check your toplevel forms. I would advise avoiding starting things from lisp sources. Instead, define functions, and call them from the repl. Like main, or start-server, stop-server, etc. 2020-01-03T05:31:01Z p0a: I think you're right 2020-01-03T05:31:05Z p0a: I might as well just stop reading this tutorial 2020-01-03T05:31:14Z william1_ quit (Ping timeout: 240 seconds) 2020-01-03T05:31:40Z p0a: and just read the hunchentoot docs 2020-01-03T05:31:42Z stux|RC-only quit (Quit: Aloha!) 2020-01-03T05:32:05Z stux|RC-only joined #lisp 2020-01-03T05:32:36Z p0a: but wouldn't C-c C-c'ing (in-package :project-alpha) get me in project-alpha? It still is in CL-USER> or is that just for the REPL? 2020-01-03T05:32:52Z libertyprime quit (Ping timeout: 258 seconds) 2020-01-03T05:32:55Z p0a: all these interfaces on top of interfaces have me so mixed up 2020-01-03T05:33:54Z no-defun-allowed: C-M-x would, but I don't believe C-c C-c would. 2020-01-03T05:34:12Z no-defun-allowed: No, that won't either. 2020-01-03T05:34:21Z p0a: So what's the point of evaluating IN-PACKAGE? 2020-01-03T05:35:00Z no-defun-allowed: In the REPL, it will set *package* to the package specified. 2020-01-03T05:35:04Z p0a is tempted to write his website in C++ 2020-01-03T05:35:15Z p0a: but it's still CL-USER> for me 2020-01-03T05:35:42Z no-defun-allowed: If you have it in a file, SLIME will evaluate/compile/&c everything after that definition in the specified package, but it won't affect the REPL. 2020-01-03T05:35:54Z p0a: got it, thank you 2020-01-03T05:36:14Z stux|RC-only quit (Remote host closed the connection) 2020-01-03T05:36:32Z no-defun-allowed: If you evaluate (in-package package-name) in the REPL, it will change the package there. 2020-01-03T05:36:57Z smokeink: slime evals in a separate thread than the repl 2020-01-03T05:37:07Z no-defun-allowed: And for the love of all things that are not Turing-complete to parse, please don't make a website using C++. 2020-01-03T05:37:09Z harovali: cl-typesetting has an example which has a sequence type specifier of 'unicode-string-type. I'm trying to compile this code in SBCL, and it seems not to have that name defined. I'm trying without success to figure out the SBCL equivalent. Would you please help me? 2020-01-03T05:37:36Z no-defun-allowed recalls the presence of #. and gives up on that set of all things 2020-01-03T05:37:42Z smokeink: and in each thread *package* can be set to something different 2020-01-03T05:37:56Z no-defun-allowed: harovali: I would use the specifier STRING, because SBCL has Unicode support, so you should be fine. 2020-01-03T05:38:07Z harovali: no-defun-allowed: thanks ! 2020-01-03T05:39:29Z no-defun-allowed: smokeink: That is a bit of a simplification. *package* is a special variable, and can be bound to many packages by one thread. 2020-01-03T05:40:17Z smokeink: yeah 2020-01-03T05:41:15Z smokeink: slime's background evaluation thread peeks at (in-package :package-name) in the source file, and then sets *package* accordingly, before evaling the sourcecode (if I'm not mistaken) 2020-01-03T05:41:35Z no-defun-allowed: Close enough. 2020-01-03T05:42:19Z smokeink: pjb : I need help writing that reader macro for #\: https://paste.ofcode.org/sMLY3Awg6pPKtJhrBCRLzT 2020-01-03T05:43:40Z no-defun-allowed: From memory, the symbol reading stuff is called when there is no macro character to use, so that makes sense, though it doesn't help. 2020-01-03T05:44:43Z libertyprime joined #lisp 2020-01-03T05:46:27Z p0a: I believe #\: gives nil in get-macro-character because it's not a macro character 2020-01-03T05:46:42Z p0a: Something like :Foo is literally the name of the symbol right? 2020-01-03T05:46:51Z smokeink: yes, it's not a macro character 2020-01-03T05:47:28Z beach: p0a: No, the : is not part of the name. 2020-01-03T05:47:33Z loke was sure that I had seen references to #, before, but CLHS doesn't mention it 2020-01-03T05:47:43Z p0a: beach: okay, thank you 2020-01-03T05:47:45Z smokeink: I want a macro character that'll allow me to read : as a symbol, and will not break pkg:symbols or :symbols 2020-01-03T05:47:53Z loke: Apparently it was removed (there is a note about that in CLHS). I must have seen it in the ClTL2 book. 2020-01-03T05:48:58Z loke: From the discssuion I don't understand what #, actually did... 2020-01-03T05:48:59Z loke: http://www.lispworks.com/documentation/HyperSpec/Issues/iss315_w.htm 2020-01-03T05:53:04Z aeth: loke: I'm guessing that #, did load time eval like #. does read time eval? 2020-01-03T05:53:20Z aeth: based on something called LOAD-TIME-EVAL being a proposed replacement 2020-01-03T05:53:41Z stux|RC-only joined #lisp 2020-01-03T05:53:52Z loke: aeth: Yeah, I guess. But they also mention #,, 2020-01-03T05:54:09Z loke: And they also talk about EVAL-WHEN 2020-01-03T05:54:56Z loke: Oh wait. there is more information here: http://www.lispworks.com/documentation/HyperSpec/Issues/iss216_w.htm 2020-01-03T06:00:40Z stux|RC-only quit (Quit: Aloha!) 2020-01-03T06:02:06Z refpga quit (Ping timeout: 265 seconds) 2020-01-03T06:02:55Z refpga joined #lisp 2020-01-03T06:03:50Z p0a: What is :cl? It says can't find that package 2020-01-03T06:05:18Z harovali: any hint to have SBCL load the truetype fonts in arch linux ? 2020-01-03T06:06:39Z p0a left #lisp 2020-01-03T06:06:58Z smokeink: harovali: you want your xterm to load a specific font ? 2020-01-03T06:07:59Z harovali: smokeink: no, I'm trying to render a unicode enabled truetype font in making a pdf document with cl-pdf and cl-typesetting 2020-01-03T06:08:17Z Oladon quit (Quit: Leaving.) 2020-01-03T06:10:06Z no-defun-allowed: SBCL doesn't know anything about fonts. 2020-01-03T06:11:11Z harovali: no-defun-allowed: see this invocation: (tt:with-style (:font "atruetypefont" 2020-01-03T06:11:14Z no-defun-allowed: Neither does cl-pdf, actually. It just gets character size information. 2020-01-03T06:11:33Z no-defun-allowed: You would have to generate said information, and I don't know how to. 2020-01-03T06:11:58Z oxum quit (Remote host closed the connection) 2020-01-03T06:12:16Z no-defun-allowed: harovali: Those would look like the AFM files in https://github.com/mbattyani/cl-pdf/tree/master/afm 2020-01-03T06:13:05Z stux|RC-only joined #lisp 2020-01-03T06:13:59Z pjb: smokeink: https://termbin.com/ro9i 2020-01-03T06:14:28Z pjb: smokeink: if you want to deal with (foo:) -> (foo:||) then you also need to add reader macro on all consituent characters, and parse foo too. 2020-01-03T06:14:46Z smokeink: pjb: thanks! 2020-01-03T06:16:25Z dale quit (Quit: My computer has gone to sleep) 2020-01-03T06:17:35Z pjb: smokeink: you could change the test for next-char to something like: (or (find …) (not (nth-value 1 (get-macro-character next-char)))) for more generality, I guess. 2020-01-03T06:17:42Z pjb: (not tested). 2020-01-03T06:18:01Z pjb: so for example, (:(foo)) -> (:|| (foo)) 2020-01-03T06:18:06Z stux|RC-only quit (Read error: Connection reset by peer) 2020-01-03T06:19:14Z pjb: or rather: (multiple-value-bind (rm nt) (get-macro-character next-char) (and rm (not nt))) 2020-01-03T06:21:25Z torbo quit (Remote host closed the connection) 2020-01-03T06:23:13Z refpga quit (Read error: Connection reset by peer) 2020-01-03T06:23:35Z refpga joined #lisp 2020-01-03T06:25:28Z sauvin joined #lisp 2020-01-03T06:25:28Z refpga quit (Read error: Connection reset by peer) 2020-01-03T06:28:59Z karlosz quit (Quit: karlosz) 2020-01-03T06:29:35Z stux|RC-only joined #lisp 2020-01-03T06:31:50Z narimiran joined #lisp 2020-01-03T06:34:14Z oxum joined #lisp 2020-01-03T06:35:16Z kajo quit (Ping timeout: 248 seconds) 2020-01-03T06:41:55Z space_otter joined #lisp 2020-01-03T06:43:10Z xkapastel joined #lisp 2020-01-03T06:43:40Z z3t0 quit (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net) 2020-01-03T06:44:00Z Codaraxis joined #lisp 2020-01-03T06:45:04Z z147 joined #lisp 2020-01-03T06:45:38Z gravicappa quit (Ping timeout: 240 seconds) 2020-01-03T06:46:18Z shka_ joined #lisp 2020-01-03T06:51:00Z oxum_ joined #lisp 2020-01-03T06:51:09Z oxum quit (Read error: Connection reset by peer) 2020-01-03T07:01:40Z oxum_ quit (Read error: Connection reset by peer) 2020-01-03T07:01:46Z oxum joined #lisp 2020-01-03T07:02:21Z epony quit (Quit: upgrades) 2020-01-03T07:05:32Z epony joined #lisp 2020-01-03T07:07:53Z asarch quit (Quit: Leaving) 2020-01-03T07:17:46Z Oladon joined #lisp 2020-01-03T07:17:52Z oxum quit (Remote host closed the connection) 2020-01-03T07:18:53Z oxum joined #lisp 2020-01-03T07:20:41Z hapticFeels quit (Remote host closed the connection) 2020-01-03T07:21:55Z anewuser joined #lisp 2020-01-03T07:25:22Z oxum quit (Remote host closed the connection) 2020-01-03T07:26:04Z oxum joined #lisp 2020-01-03T07:26:50Z narimiran quit (Ping timeout: 240 seconds) 2020-01-03T07:28:41Z shangul joined #lisp 2020-01-03T07:28:48Z oxum quit (Remote host closed the connection) 2020-01-03T07:28:51Z ahungry quit (Remote host closed the connection) 2020-01-03T07:30:00Z oxum joined #lisp 2020-01-03T07:33:33Z kajo joined #lisp 2020-01-03T07:41:48Z varjag joined #lisp 2020-01-03T07:44:05Z scymtym quit (Ping timeout: 265 seconds) 2020-01-03T07:45:28Z easye` is now known as easye 2020-01-03T07:45:32Z nekosagan quit (Ping timeout: 265 seconds) 2020-01-03T07:49:13Z mn3m quit (Quit: mn3m) 2020-01-03T07:50:30Z ft quit (Ping timeout: 268 seconds) 2020-01-03T07:51:08Z ft joined #lisp 2020-01-03T07:53:44Z jprajzne joined #lisp 2020-01-03T07:57:16Z oxum quit (Read error: Connection reset by peer) 2020-01-03T07:57:33Z oxum joined #lisp 2020-01-03T07:58:38Z ft quit (Ping timeout: 260 seconds) 2020-01-03T08:00:17Z stux|RC-only quit (Quit: Aloha!) 2020-01-03T08:02:20Z galdor: Xach: I was not even aware they were in quicklisp, I have not use them for so many years I do not even remember what they were for 2020-01-03T08:03:39Z galdor: by all means remove them, I'm pretty sure I never submitted them for inclusion, and I'm not even sure I still have the code 2020-01-03T08:12:33Z stux|RC-only joined #lisp 2020-01-03T08:16:28Z stux|RC-only quit (Remote host closed the connection) 2020-01-03T08:16:59Z scymtym joined #lisp 2020-01-03T08:17:13Z jayspeer joined #lisp 2020-01-03T08:17:32Z Oladon quit (Quit: Leaving.) 2020-01-03T08:18:12Z stux|RC-only joined #lisp 2020-01-03T08:20:48Z hapticFeels joined #lisp 2020-01-03T08:21:05Z z147x joined #lisp 2020-01-03T08:22:03Z z147 quit (Ping timeout: 240 seconds) 2020-01-03T08:27:06Z stux|RC-only quit (Ping timeout: 265 seconds) 2020-01-03T08:34:13Z stux|RC-only joined #lisp 2020-01-03T08:37:08Z oxum quit (Read error: Connection reset by peer) 2020-01-03T08:37:14Z oxum joined #lisp 2020-01-03T08:39:29Z oxum quit (Read error: Connection reset by peer) 2020-01-03T08:39:45Z oxum joined #lisp 2020-01-03T08:48:42Z stux|RC-only quit (Quit: Aloha!) 2020-01-03T08:53:38Z harovali` joined #lisp 2020-01-03T08:55:21Z stux|RC-only joined #lisp 2020-01-03T08:55:39Z duuqnd joined #lisp 2020-01-03T08:56:18Z beach` joined #lisp 2020-01-03T08:57:14Z harovali quit (Ping timeout: 240 seconds) 2020-01-03T09:00:20Z beach quit (Ping timeout: 252 seconds) 2020-01-03T09:09:06Z william1_ joined #lisp 2020-01-03T09:09:56Z oxum quit (Read error: Connection reset by peer) 2020-01-03T09:10:16Z oxum joined #lisp 2020-01-03T09:11:18Z mister_m` joined #lisp 2020-01-03T09:13:17Z mister_m quit (Ping timeout: 258 seconds) 2020-01-03T09:15:08Z beach` is now known as beach 2020-01-03T09:19:08Z sindan quit (Ping timeout: 260 seconds) 2020-01-03T09:19:59Z _paul0 joined #lisp 2020-01-03T09:22:20Z paul0 quit (Ping timeout: 252 seconds) 2020-01-03T09:33:08Z akoana left #lisp 2020-01-03T09:37:43Z rippa joined #lisp 2020-01-03T09:46:17Z CrazyEddy joined #lisp 2020-01-03T09:52:26Z oxum quit (Ping timeout: 240 seconds) 2020-01-03T09:53:38Z oxum joined #lisp 2020-01-03T09:53:56Z mingus` joined #lisp 2020-01-03T09:57:06Z mingus quit (Ping timeout: 268 seconds) 2020-01-03T09:58:33Z oxum quit (Read error: Connection reset by peer) 2020-01-03T09:59:13Z xuxuru joined #lisp 2020-01-03T10:01:27Z jonatack quit (Ping timeout: 260 seconds) 2020-01-03T10:03:16Z ft joined #lisp 2020-01-03T10:03:52Z abordado joined #lisp 2020-01-03T10:10:28Z ft quit (Ping timeout: 260 seconds) 2020-01-03T10:11:01Z easye quit (Remote host closed the connection) 2020-01-03T10:18:39Z jayspeer quit (Remote host closed the connection) 2020-01-03T10:19:15Z abordado quit (Remote host closed the connection) 2020-01-03T10:19:53Z abordado joined #lisp 2020-01-03T10:22:21Z abordado quit (Client Quit) 2020-01-03T10:22:45Z rdh joined #lisp 2020-01-03T10:22:52Z sindan joined #lisp 2020-01-03T10:24:58Z heisig joined #lisp 2020-01-03T10:29:23Z m00natic joined #lisp 2020-01-03T10:29:27Z space_otter quit (Remote host closed the connection) 2020-01-03T10:39:18Z mingus` quit (Remote host closed the connection) 2020-01-03T10:39:36Z mingus` joined #lisp 2020-01-03T10:42:57Z asdf_asdf_asdf joined #lisp 2020-01-03T10:43:56Z ghard joined #lisp 2020-01-03T10:44:58Z rdh quit (Quit: Leaving) 2020-01-03T10:45:49Z easye joined #lisp 2020-01-03T10:47:09Z random-nick joined #lisp 2020-01-03T10:49:07Z ft joined #lisp 2020-01-03T10:55:30Z Necktwi quit (Ping timeout: 268 seconds) 2020-01-03T10:56:55Z narimiran joined #lisp 2020-01-03T11:02:17Z ebzzry quit (Ping timeout: 268 seconds) 2020-01-03T11:07:13Z clothespin quit (Ping timeout: 268 seconds) 2020-01-03T11:19:46Z atgreen joined #lisp 2020-01-03T11:22:57Z atgreen: asdf question... I am using a one-package-per-file style, and have packages user and db - but they have a circular dependency (they want to call functions exported by each other), and asdf doesn't like this. What's the best way to address this? 2020-01-03T11:23:43Z oxum joined #lisp 2020-01-03T11:25:43Z troydm quit (Ping timeout: 260 seconds) 2020-01-03T11:27:51Z galdor: avoid the one package per file style ? 2020-01-03T11:28:03Z Shinmera: two choices: 1) don't use oppf, 2) factor out the circular deps into a third package both depend on. 2020-01-03T11:28:07Z Shinmera: preferably 1), though. 2020-01-03T11:28:24Z galdor: there are similar issues in every language, excessive compartmentalization does not help 2020-01-03T11:29:11Z pjb: atgreen: put the package definitions in their own file! package.lisp 2020-01-03T11:31:22Z pjb: Put in package.lisp: (defpackage "A" (:use "CL") (:export "FA")) (defpackage "B" (:use "CL" "A") (:export "FB")) (eval-when (:compile-toplevel :load-toplevel :execute) (use-package "B" "A")) 2020-01-03T11:31:26Z pjb: then you can use '(A::FB B::FA) -> (b:fb a:fa) 2020-01-03T11:32:21Z pjb: and yes, you should avoid circular dependencies between the packages. But it's nice to know it's possible to have them if you need them. 2020-01-03T11:32:31Z pjb: Some implementation may complain more than others about that… 2020-01-03T11:35:56Z atgreen: Ok, thanks for the tips. I do have a top-level package.lisp for the 'main' package, but everything else is oppf. See https://github.com/atgreen/red-light-green-light . 2020-01-03T11:41:12Z pjb: atgreen: remove oppf, move your package definitions to the package.lisp file! 2020-01-03T11:42:58Z cosimone joined #lisp 2020-01-03T11:55:25Z narimiran quit (Ping timeout: 265 seconds) 2020-01-03T12:00:03Z ljavorsk joined #lisp 2020-01-03T12:07:04Z Necktwi joined #lisp 2020-01-03T12:13:44Z atgreen: I've implemented the change, and it works fine. Thanks again. 2020-01-03T12:18:14Z abordado joined #lisp 2020-01-03T12:20:30Z easye` joined #lisp 2020-01-03T12:21:34Z abordado quit (Quit: ZNC 1.7.5 - https://znc.in) 2020-01-03T12:21:49Z abordado joined #lisp 2020-01-03T12:21:54Z mingus` quit (Remote host closed the connection) 2020-01-03T12:22:07Z ggole joined #lisp 2020-01-03T12:23:04Z easye quit (Ping timeout: 268 seconds) 2020-01-03T12:26:37Z abordado quit (Client Quit) 2020-01-03T12:26:46Z abordado joined #lisp 2020-01-03T12:28:03Z z147x quit (Ping timeout: 240 seconds) 2020-01-03T12:30:56Z jonatack joined #lisp 2020-01-03T12:32:07Z mingus joined #lisp 2020-01-03T12:32:50Z ft quit (Ping timeout: 240 seconds) 2020-01-03T12:33:55Z Xach: galdor: hmm, ok 2020-01-03T12:35:24Z galdor: in general, do you let people submit packages they do not maintain ? 2020-01-03T12:36:02Z galdor: I do not necessarily disagree, but it might cause issues 2020-01-03T12:36:05Z Xach: galdor: yes 2020-01-03T12:36:16Z Xach: galdor: if the license is good and it builds, it is added 2020-01-03T12:38:35Z je4i joined #lisp 2020-01-03T12:42:43Z jonatack quit (Ping timeout: 260 seconds) 2020-01-03T12:43:18Z jonatack joined #lisp 2020-01-03T12:44:51Z Xach: galdor: some projects use lisp-zmq, apparently 2020-01-03T12:48:33Z mingus quit (Ping timeout: 260 seconds) 2020-01-03T12:48:44Z 7GHAAGGRV joined #lisp 2020-01-03T12:48:58Z brown121408 quit (Ping timeout: 268 seconds) 2020-01-03T12:52:45Z galdor: ok I found the code 2020-01-03T12:52:53Z galdor: I can re-create the repository 2020-01-03T12:54:53Z troydm joined #lisp 2020-01-03T12:55:44Z ghard quit (Remote host closed the connection) 2020-01-03T12:56:20Z Xach: x.let-star's disappearance broke a few things too 2020-01-03T12:56:21Z galdor: done, with a warning since I do not maintain it 2020-01-03T12:57:19Z galdor: anyone interested about maintaining it is free to contact me to transfer the repository 2020-01-03T12:57:23Z galdor: I'll keep it on until then 2020-01-03T12:57:43Z jebes joined #lisp 2020-01-03T12:58:02Z atgreen quit (Ping timeout: 240 seconds) 2020-01-03T13:01:57Z ebzzry joined #lisp 2020-01-03T13:03:58Z orivej joined #lisp 2020-01-03T13:05:38Z william1_ quit (Ping timeout: 240 seconds) 2020-01-03T13:06:32Z ljavorsk_ joined #lisp 2020-01-03T13:08:50Z ljavorsk quit (Ping timeout: 240 seconds) 2020-01-03T13:14:12Z whiteline quit (Ping timeout: 265 seconds) 2020-01-03T13:17:57Z shifty quit (Ping timeout: 268 seconds) 2020-01-03T13:18:46Z shifty joined #lisp 2020-01-03T13:19:23Z trittweiler quit (Ping timeout: 258 seconds) 2020-01-03T13:20:11Z atgreen joined #lisp 2020-01-03T13:24:22Z orivej quit (Ping timeout: 258 seconds) 2020-01-03T13:28:48Z untakenstupidnic joined #lisp 2020-01-03T13:29:15Z lucasb joined #lisp 2020-01-03T13:31:42Z xkapastel quit (Quit: Connection closed for inactivity) 2020-01-03T13:32:29Z asdf_asdf_asdf quit (Remote host closed the connection) 2020-01-03T13:34:58Z xuxuru quit (Quit: xuxuru) 2020-01-03T13:39:20Z quazimodo quit (Ping timeout: 265 seconds) 2020-01-03T13:40:31Z ljavorsk__ joined #lisp 2020-01-03T13:41:03Z smokeink quit (Ping timeout: 260 seconds) 2020-01-03T13:41:09Z quazimodo joined #lisp 2020-01-03T13:41:22Z ljavorsk_ quit (Ping timeout: 260 seconds) 2020-01-03T13:45:27Z quazimodo quit (Ping timeout: 258 seconds) 2020-01-03T13:45:40Z whiteline joined #lisp 2020-01-03T13:46:34Z quazimodo joined #lisp 2020-01-03T13:47:23Z ebrasca joined #lisp 2020-01-03T13:48:47Z jonatack quit (Ping timeout: 268 seconds) 2020-01-03T13:49:58Z v88m quit (Ping timeout: 265 seconds) 2020-01-03T13:51:39Z ft joined #lisp 2020-01-03T13:52:14Z untakenstupidnic: everyone who uses lisp is so enthusiastic about it, some say SBCL's generated code can run faster than C. but if there was such a great language from ancient times and was so mainstream, how did C++ survive? 2020-01-03T13:54:08Z untakenstupidnic: and why is it so rarely used and unlike C# and java, i don't see efforts to rewrite the whole world in it? 2020-01-03T13:54:11Z _death: another day, another troll 2020-01-03T13:54:22Z untakenstupidnic: i am just curious 2020-01-03T13:54:32Z _death: go be curious elsewhere 2020-01-03T13:55:27Z trittweiler joined #lisp 2020-01-03T13:56:30Z drdo: untakenstupidnic: There are many other factors that greatly influence popularity 2020-01-03T13:58:50Z shangul quit (Ping timeout: 268 seconds) 2020-01-03T13:59:11Z atgreen quit (Quit: Leaving) 2020-01-03T13:59:47Z untakenstupidnic: drdo: can you explain more? 2020-01-03T14:00:19Z ebrasca quit (Remote host closed the connection) 2020-01-03T14:00:20Z dddddd joined #lisp 2020-01-03T14:02:18Z pjb quit (Remote host closed the connection) 2020-01-03T14:02:34Z drdo: untakenstupidnic: many things have been written on this 2020-01-03T14:04:04Z easye joined #lisp 2020-01-03T14:04:18Z pjb joined #lisp 2020-01-03T14:04:19Z phoe: untakenstupidnic: one such thing is http://www.winestockwebdesign.com/Essays/Lisp_Curse.html 2020-01-03T14:05:44Z phoe: also http://www.marktarver.com/bipolar.html 2020-01-03T14:06:07Z phoe: also opinion-based discussions from google, https://news.ycombinator.com/item?id=153812 and https://www.quora.com/Why-is-Lisp-not-as-popular-as-Python and https://softwareengineering.stackexchange.com/questions/60012/why-isnt-lisp-more-widespread 2020-01-03T14:06:25Z Shinmera: it's not about lisp, it's just a fundamental property that good things don't become dominant just because they're good, and vice versa that dominant things are not necessarily good. 2020-01-03T14:06:26Z beach: untakenstupidnic: You make an assumption that just isn't true, namely that people are rational and that they would prefer things just because they are good. If you look around, you will see that this is not the case. 2020-01-03T14:07:17Z phoe: also because DARPA stopped funding AI work in the 80s and instead started paying for C++ projects much more 2020-01-03T14:08:54Z cosimone quit (Quit: Quit.) 2020-01-03T14:09:28Z phoe: also note that your question can be flipped over; if C++ is so popular and used by the some of the largest softwaremaking players in the world, how did $LANGUAGE_NAME survive 2020-01-03T14:09:40Z phoe: (including Lisp!) 2020-01-03T14:11:10Z cosimone joined #lisp 2020-01-03T14:11:22Z EvW joined #lisp 2020-01-03T14:11:25Z pfdietz joined #lisp 2020-01-03T14:12:09Z phoe: this is a surprisingly non-trivial question with complex and mostly incomplete answers that differ per every language you might insert in there 2020-01-03T14:12:25Z Shinmera: which is why we can drop this conversation now 2020-01-03T14:12:46Z phoe: sure, I guess I've posted enough links 2020-01-03T14:12:53Z phoe: if anything, we could continue it in #lispcafe 2020-01-03T14:16:38Z frgo_ joined #lisp 2020-01-03T14:16:52Z Bike joined #lisp 2020-01-03T14:17:09Z frgo quit (Ping timeout: 268 seconds) 2020-01-03T14:25:55Z LiamH joined #lisp 2020-01-03T14:31:42Z anewuser quit (Quit: anewuser) 2020-01-03T14:31:50Z untakenstupidnic: phoe: thanks! one link was enough. also the C++ thing can be explained because of excessive bloat and that some people care for maintainablity. phoe: beach: Shinmera: but people say it was dominant and is the ultimate language, and people normally don't break the status que for making things worse. 2020-01-03T14:32:45Z beach: untakenstupidnic: Those are not the same people. New generations are active now. 2020-01-03T14:32:57Z untakenstupidnic: thanks for answering and if a question gets asked every day, ##C solves that with bots. 2020-01-03T14:33:19Z beach: untakenstupidnic: We are the friendliest channel around. :) 2020-01-03T14:33:48Z katco: we have all defun 2020-01-03T14:33:55Z beach: Heh. 2020-01-03T14:34:11Z beach: My fun is usually generic. 2020-01-03T14:35:20Z katco: however you define your method 2020-01-03T14:36:21Z william1 joined #lisp 2020-01-03T14:36:33Z beach: That's a different metaclass of fun altogether. 2020-01-03T14:36:42Z beach stops now. 2020-01-03T14:37:25Z katco: we're stretching a bit now aren't we ;p 2020-01-03T14:38:55Z Shinmera: If a function dispatches based on type but nobody is around to see it, is it actually generic? 2020-01-03T14:39:04Z phoe: untakenstupidnic: that's an idea. We could add this sort of thing to minion. 2020-01-03T14:39:36Z Shinmera: phoe: I feel like a canned bot answer won't really satisfy people that are genuinely looking for the answer, and won't stop people who're just trolling. 2020-01-03T14:40:39Z Bike: plus we'd have to trigger the bot anyway 2020-01-03T14:40:42Z beach: I agree with Shinmera. I think we should take on the question each time, adapted to the exact question of course. It doesn't happen that often, and we get to show off our friendliness if the troll is not too bad. 2020-01-03T14:41:07Z phoe: we never know if a person is trolling or not though, not until later in the discourse 2020-01-03T14:41:15Z phoe: genuine curiosity happens 2020-01-03T14:41:39Z Shinmera: phoe: That's just another point against the bot though? 2020-01-03T14:42:20Z phoe: Shinmera: no, why? one can ask minion about "popularity" to not need to google for these links again and again 2020-01-03T14:42:37Z phoe: it's obvious that this isn't enough, but ought to save a minute or two 2020-01-03T14:43:51Z phoe: minion: tell phoe about popularity 2020-01-03T14:43:51Z minion: phoe: look at popularity: http://www.winestockwebdesign.com/Essays/Lisp_Curse.html and http://www.marktarver.com/bipolar.html and https://news.ycombinator.com/item?id=153812 and https://www.quora.com/Why-is-Lisp-not-as-popular-as-Python and https://softwareengineering.stackexchange.com/questions/60012/why-isnt-lisp-more-widespread 2020-01-03T14:44:14Z phoe: OK, the links are stored 2020-01-03T14:44:15Z jebes: i have noticed that lisp is steadily growing 2020-01-03T14:44:37Z katco: jebes: i'm curious what signals you've used to make that conclusion? 2020-01-03T14:44:46Z beach: jebes: I would like to think that is true, but what is the evidence that you have? 2020-01-03T14:45:06Z jebes: no solid evidence, its probably just that i've been more active in the community 2020-01-03T14:45:35Z jebes: i see it brought up more but i'm in places that bring up lisp more 2020-01-03T14:46:28Z Shinmera: Hmm, seems I have over 100 libraries on QL now. 2020-01-03T14:46:39Z Shinmera: I wonder who's gonna take on all that maintenance burden once I'm gone. 2020-01-03T14:46:44Z phoe: you're a productive guy, aren'tcha 2020-01-03T14:46:56Z katco: congratulations Shinmera 2020-01-03T14:47:04Z Shinmera: Not sure it's something to be proud of 2020-01-03T14:47:15Z phoe: someone will if the libraries are used; do you plan on disappearing any time in the near future? 2020-01-03T14:47:35Z Shinmera: I don't plan to, but I'm no oracle, you know 2020-01-03T14:47:45Z phoe: yep, I understand that 2020-01-03T14:48:08Z Shinmera: And even if I don't plan to it would be nice if I didn't have to maintain everything while I'm still around. That's a lot to ask for though, I know. 2020-01-03T14:48:32Z gravicappa joined #lisp 2020-01-03T14:48:37Z phoe: correct, maintenance is a burden in general, especially maintenance that no one pays you for 2020-01-03T14:49:12Z jebes: i'm currently unemployed (and probably for the forseeable future) and need some resume boosters, i'd love to help out where I can 2020-01-03T14:49:59Z Shinmera: Not sure lisp would boost that resume much, but maybe you can pawn it off as "open source work" 2020-01-03T14:50:41Z Shinmera: jebes: Where do your interests lie? 2020-01-03T14:50:46Z jebes: shinmera: the only jobs here are enterprise jobs and there's barely developers to begin with. I don't need much of a resume to get a job lmao 2020-01-03T14:50:52Z phoe: sure thing you can, working with other people on alive FOSS projects is a useful skill on its own regardless of the languages and technology used 2020-01-03T14:50:53Z jebes: shinmera: graphics and ml 2020-01-03T14:51:05Z jebes: but honesly i just need something that isn't a video game to kill time 2020-01-03T14:51:25Z Shinmera: jebes: I have a couple of projects related to gamedev, text layout, and UI. 2020-01-03T14:51:34Z jebes: oooh. 2020-01-03T14:51:50Z jebes: https://github.com/Shinmera this is you right? 2020-01-03T14:51:59Z Shinmera: yes, and https://github.com/shirakumo 2020-01-03T14:52:47Z Shinmera: I would especially like help with https://github.com/Shirakumo/alloy 2020-01-03T14:55:07Z jebes: ooooh 2020-01-03T14:55:37Z phoe: Shinmera: I think the current README should have links to some of the videos you posted of it in action 2020-01-03T14:55:45Z phoe: I can't see those after a brief glance 2020-01-03T14:56:25Z phoe: so either they aren't there or they're in a place where I couldn't see them 2020-01-03T14:56:41Z jebes: why not work on mcclim? 2020-01-03T14:56:56Z Shinmera: phoe: Fair point. They're here for now. https://www.youtube.com/playlist?list=PLkDl6Irujx9Mh3BWdBmt4JtIrwYgihTWp 2020-01-03T14:57:06Z Shinmera: jebes: I have my own ideas on how a UI framework ought to work. 2020-01-03T14:57:26Z Shinmera: and doing this got me where I needed to be faster than if I needed to figure out how to make a usable GL backend with CLIM. 2020-01-03T14:59:13Z jebes: its gl backed? 2020-01-03T14:59:25Z jebes: so could i embed it in a game engine to handle the UI? 2020-01-03T14:59:51Z phoe: I think that's the idea, yes 2020-01-03T15:00:11Z Shinmera: Alloy has a GL backend, and you can use it for that, yes. https://twitter.com/Shinmera/status/1203361882113036288 2020-01-03T15:00:25Z pfdietz: Unmaintained libraries are more useful if they're matured to a state where they need little or no maintenance. 2020-01-03T15:00:31Z Shinmera: I'd like native backends at some point too but that's not a priority right now. 2020-01-03T15:00:35Z Ampws joined #lisp 2020-01-03T15:01:15Z pfdietz: Not referring to anything you have done in that comment, but I see libraries up on github from various sources that aren't fully baked. 2020-01-03T15:01:33Z Xach: pfdietz: the prove incident is interesting to me because prove is considered obsolete, but is still widely used, and although it didn't change, one of its active prerequisites did. 2020-01-03T15:01:34Z Shinmera: pfdietz: True enough. Sadly with most of my stuff I don't know if people are just not using them, or there's no bugs, or they just don't report them and give up. 2020-01-03T15:02:13Z pfdietz: I have been spending a little time recently trying to harden some public projects there. 2020-01-03T15:02:16Z Shinmera: I'll be right back 2020-01-03T15:02:26Z Xach: Shinmera: i've found out about patches to my projects in weird indirect ways, when nobody bothered to tell me about them. 2020-01-03T15:02:28Z Lord_of_Life quit (Ping timeout: 265 seconds) 2020-01-03T15:02:35Z jebes: Xach: the prove incident? 2020-01-03T15:02:37Z Xach: i'm not sure why that happens 2020-01-03T15:02:57Z pfdietz: Xach: presumably you are sent email about pull requests? 2020-01-03T15:03:17Z Xach: jebes: a prerequisite of prove changed and prove stopped building. prove is not maintained but is still used by a dozen+ projects. 2020-01-03T15:03:26Z Xach: well, it was more complex than that 2020-01-03T15:03:36Z Ampws: I wonder ... if common lisp is suitable for the study of computational neuroscience...It seems that MATLAB is always used in this subject... 2020-01-03T15:03:41Z jebes: better than left-bad 2020-01-03T15:03:44Z jebes: left-pad( 2020-01-03T15:03:45Z Xach: prove itself kept building but a prerequisite introduced a new dependency that made other stuff break in certain circumstances. 2020-01-03T15:04:07Z pfdietz: Ampws: that would likely come down to availability of the necessary libraries and interfacing to other tools. 2020-01-03T15:04:07Z Lord_of_Life joined #lisp 2020-01-03T15:04:08Z jayspeer joined #lisp 2020-01-03T15:04:43Z jebes: Ampws: just do what the CLASP guy did and write it all yourself 2020-01-03T15:04:59Z Ampws: thank you~ 2020-01-03T15:05:04Z Ampws: I see 2020-01-03T15:05:09Z pfdietz: Xach: the issue was use of an unexported symbol, right? Curation for that in widely used systems would be useful. 2020-01-03T15:05:17Z pfdietz: In our copious spare time. 2020-01-03T15:05:37Z jebes: you're welcome. Back in my day we had to write everything in assembly to run forth to run psuedo-lisp to control telescopes 2020-01-03T15:05:46Z Xach: pfdietz: oh yeah, that was part of it, and then there was another part that was another problem. 2020-01-03T15:05:48Z jprajzne quit (Quit: Leaving.) 2020-01-03T15:10:20Z patlv joined #lisp 2020-01-03T15:10:32Z jebes: Ampws: out of curiousity what tech stacks do computational neuroscience use in matlab? 2020-01-03T15:10:39Z jebes: i have no idea about the field 2020-01-03T15:11:06Z Bike: (don't actually write it all yourself) 2020-01-03T15:11:17Z learning joined #lisp 2020-01-03T15:11:27Z je4i quit (Ping timeout: 264 seconds) 2020-01-03T15:11:29Z jebes: write it all yourself is usually the worst idea 2020-01-03T15:11:46Z phoe: (even in Lisp) 2020-01-03T15:15:16Z jebes: i do want to write a gpgpu system in lisp, unless anyone knows of one already in existence 2020-01-03T15:15:39Z phoe: you mean like CUDA? 2020-01-03T15:15:55Z phoe: there exist things for that 2020-01-03T15:16:00Z jebes: An interface to CUDA (well, OpenCL because NVIDA is >:( ) 2020-01-03T15:16:20Z Xach: there's a cl-cuda now 2020-01-03T15:16:34Z Xach: I don't know much about it 2020-01-03T15:17:21Z jebes: well i do not have an nvidia gpu 2020-01-03T15:17:22Z phoe: openCL bindings exist as well 2020-01-03T15:17:59Z clothespin joined #lisp 2020-01-03T15:18:21Z jebes: that does remind me about spir-v 2020-01-03T15:18:44Z scymtym_ joined #lisp 2020-01-03T15:19:29Z dale_ joined #lisp 2020-01-03T15:19:32Z scymtym quit (Ping timeout: 248 seconds) 2020-01-03T15:19:46Z dale_ is now known as dale 2020-01-03T15:20:27Z jonatack joined #lisp 2020-01-03T15:21:54Z nirved: phoe: where are the OpenCL bindings? 2020-01-03T15:23:01Z _death: https://github.com/gos-k/cl-oclapi although it's quite low-level 2020-01-03T15:23:16Z scymtym_ quit (Ping timeout: 248 seconds) 2020-01-03T15:23:18Z phoe: nirved: https://www.reddit.com/r/lisp/comments/3r8pew/opencl_binding_for_common_lisp/ lists some 2020-01-03T15:23:38Z phoe: also https://github.com/gos-k/oclcl 2020-01-03T15:29:36Z oxum_ joined #lisp 2020-01-03T15:29:47Z oxum_ quit (Remote host closed the connection) 2020-01-03T15:29:59Z Shinmera: jebes: I'm the guy that writes everything himself and yes it is a bad idea if you want to be done in a timely fashion. 2020-01-03T15:32:10Z Shinmera: Xach: like googling for your name, or? 2020-01-03T15:32:38Z varjag quit (Quit: ERC (IRC client for Emacs 25.2.2)) 2020-01-03T15:32:41Z Xach: Shinmera: some article or blog about some lisp experience that mentions patching something in passing 2020-01-03T15:32:49Z Shinmera: Ah. 2020-01-03T15:33:10Z oxum quit (Ping timeout: 258 seconds) 2020-01-03T15:33:44Z karswell joined #lisp 2020-01-03T15:33:44Z 7GHAAGGRV quit (Read error: Connection reset by peer) 2020-01-03T15:33:56Z brown121407 joined #lisp 2020-01-03T15:40:32Z raghavgururajan joined #lisp 2020-01-03T15:43:29Z jayspeer quit (Ping timeout: 268 seconds) 2020-01-03T15:45:56Z oxum joined #lisp 2020-01-03T15:50:48Z oxum quit (Ping timeout: 265 seconds) 2020-01-03T15:51:07Z efm joined #lisp 2020-01-03T15:53:49Z jebes quit (Quit: ZNC 1.7.4+deb7 - https://znc.in) 2020-01-03T15:54:02Z Shinmera: jebes: If you're serious about helping out, feel free to stop by #shirakumo, the primary channel for project discussion around what I do. 2020-01-03T15:58:12Z pjb quit (Read error: Connection reset by peer) 2020-01-03T16:00:05Z pjb joined #lisp 2020-01-03T16:02:36Z flazh quit (Ping timeout: 268 seconds) 2020-01-03T16:03:19Z clothespin: i use3dl-matrices 2020-01-03T16:04:25Z oxum joined #lisp 2020-01-03T16:09:01Z pjb quit (Remote host closed the connection) 2020-01-03T16:10:37Z pjb joined #lisp 2020-01-03T16:11:51Z ebzzry quit (Ping timeout: 268 seconds) 2020-01-03T16:11:55Z z147x joined #lisp 2020-01-03T16:12:02Z shifty quit (Ping timeout: 240 seconds) 2020-01-03T16:12:39Z karlosz joined #lisp 2020-01-03T16:13:01Z scymtym joined #lisp 2020-01-03T16:15:15Z pjb quit (Remote host closed the connection) 2020-01-03T16:18:35Z pjb joined #lisp 2020-01-03T16:19:43Z johnjay quit (Ping timeout: 260 seconds) 2020-01-03T16:20:35Z johnjay joined #lisp 2020-01-03T16:23:45Z orivej joined #lisp 2020-01-03T16:24:55Z jayspeer joined #lisp 2020-01-03T16:27:52Z narimiran joined #lisp 2020-01-03T16:28:55Z asdf_asdf_asdf joined #lisp 2020-01-03T16:28:58Z raghavgururajan quit (Read error: Connection reset by peer) 2020-01-03T16:32:47Z mister_m` is now known as mister_m 2020-01-03T16:33:54Z stux|RC quit (Ping timeout: 252 seconds) 2020-01-03T16:37:23Z EvW quit (Ping timeout: 245 seconds) 2020-01-03T16:37:59Z Lycurgus joined #lisp 2020-01-03T16:39:48Z stux|RC joined #lisp 2020-01-03T16:40:27Z kajo quit (Ping timeout: 260 seconds) 2020-01-03T16:41:19Z ebzzry joined #lisp 2020-01-03T16:41:28Z flazh joined #lisp 2020-01-03T16:45:47Z Lycurgus quit (Quit: Exeunt) 2020-01-03T16:51:41Z efm quit (Remote host closed the connection) 2020-01-03T16:53:16Z efm joined #lisp 2020-01-03T16:54:11Z earl-ducaine quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) 2020-01-03T16:57:58Z kajo joined #lisp 2020-01-03T16:58:13Z gravicappa quit (Ping timeout: 260 seconds) 2020-01-03T16:58:17Z heisig quit (Ping timeout: 268 seconds) 2020-01-03T16:59:07Z bitmapper joined #lisp 2020-01-03T17:00:59Z jayspeer quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-01-03T17:01:29Z neuro_sys joined #lisp 2020-01-03T17:02:07Z neuro_sys: Why does 2.el behave differently than 1.el in terms of scope rules? https://gist.github.com/neuro-sys/b5ca549674f1968f1a61da9f07b38c3f (Although note, this is Elisp, was hoping people here are knowledgable about it too). 2020-01-03T17:03:03Z Xach: neuro_sys: they might be, but it's only common lisp discussion here. 2020-01-03T17:04:05Z TMA: neuro_sys: try #emacs 2020-01-03T17:04:36Z neuro_sys: Okay 2020-01-03T17:08:59Z cosimone quit (Quit: Quit.) 2020-01-03T17:09:38Z clothespin quit (Ping timeout: 240 seconds) 2020-01-03T17:11:44Z phoe: LW support landed in trivial-p-l-n. ACL remaining. 2020-01-03T17:12:30Z efm_ joined #lisp 2020-01-03T17:13:56Z efm quit (Ping timeout: 265 seconds) 2020-01-03T17:15:16Z beach: Fantastic! 2020-01-03T17:15:23Z ljavorsk__ quit (Ping timeout: 265 seconds) 2020-01-03T17:16:50Z efm_ quit (Ping timeout: 240 seconds) 2020-01-03T17:17:48Z notzmv quit (Ping timeout: 265 seconds) 2020-01-03T17:20:56Z phoe: Its unreleased version also seems to pass the tpln test suite. 2020-01-03T17:24:06Z xuxuru joined #lisp 2020-01-03T17:25:14Z khisanth_ quit (Ping timeout: 268 seconds) 2020-01-03T17:26:02Z orivej quit (Ping timeout: 240 seconds) 2020-01-03T17:26:30Z william1 quit (Ping timeout: 265 seconds) 2020-01-03T17:27:05Z jayspeer joined #lisp 2020-01-03T17:27:26Z learning quit (Remote host closed the connection) 2020-01-03T17:30:42Z jayspeer quit (Remote host closed the connection) 2020-01-03T17:30:51Z brown121407 quit (Ping timeout: 265 seconds) 2020-01-03T17:31:06Z jayspeer joined #lisp 2020-01-03T17:31:26Z brown121407 joined #lisp 2020-01-03T17:35:03Z untakenstupidnic quit (Ping timeout: 240 seconds) 2020-01-03T17:37:46Z karlosz quit (Quit: karlosz) 2020-01-03T17:38:29Z clothespin joined #lisp 2020-01-03T17:38:35Z untakenstupidnic joined #lisp 2020-01-03T17:39:40Z jayspeer quit (Ping timeout: 258 seconds) 2020-01-03T17:41:39Z m00natic quit (Remote host closed the connection) 2020-01-03T17:46:23Z v88m joined #lisp 2020-01-03T17:50:47Z pjb quit (Read error: Connection reset by peer) 2020-01-03T17:51:31Z khisanth_ joined #lisp 2020-01-03T17:54:45Z Shinmera: phoe: Wait, LW has plns? Since when? 2020-01-03T17:54:53Z Shinmera: that is amazing news 2020-01-03T17:55:16Z Shinmera goes to update https://shinmera.github.io/portability 2020-01-03T17:56:53Z karlosz joined #lisp 2020-01-03T17:57:01Z dxtr_ is now known as dxtr 2020-01-03T17:57:17Z ebrasca joined #lisp 2020-01-03T17:57:30Z phoe: Shinmera: not yet 2020-01-03T17:57:37Z phoe: it'll be a part of next LW release 2020-01-03T17:57:38Z trittweiler: plns? 2020-01-03T17:57:44Z phoe: I'm preparing tpln ahead of time. 2020-01-03T17:57:48Z phoe: trittweiler: package-local nicknames 2020-01-03T17:57:59Z phoe: so hold yer horses until LW releases 2020-01-03T17:58:03Z phoe: Shinmera: ^ 2020-01-03T17:58:35Z trittweiler: ah, thanks 2020-01-03T17:58:44Z Shinmera: ok 2020-01-03T18:00:26Z flazh quit (Ping timeout: 240 seconds) 2020-01-03T18:02:50Z william1 joined #lisp 2020-01-03T18:03:58Z Shinmera: I suppose I'll instead try to automate the webpage rebuild with github's action stuff. 2020-01-03T18:08:41Z trittweiler: You can run lisp code in different implementations including LW with that? 2020-01-03T18:08:58Z trittweiler: or is that run locally before push? 2020-01-03T18:09:37Z shangul joined #lisp 2020-01-03T18:09:45Z Shinmera: portability only presents an index. 2020-01-03T18:09:56Z Shinmera: it's just a webpage generated from a lisp data file. 2020-01-03T18:10:01Z Shinmera: it does not actually test anything. 2020-01-03T18:10:15Z william1 quit (Ping timeout: 268 seconds) 2020-01-03T18:10:25Z Shinmera: so, in theory, all I need to be able to do is to run sbcl to build that index, and then push the new index live. 2020-01-03T18:10:32Z phoe: trittweiler: you want cl-all for that 2020-01-03T18:12:45Z shangul left #lisp 2020-01-03T18:17:49Z aindilis quit (Read error: Connection reset by peer) 2020-01-03T18:26:15Z ggole quit (Quit: Leaving) 2020-01-03T18:30:30Z aindilis joined #lisp 2020-01-03T18:32:26Z harovali`: hi, any hint to add a font with unicode support to cl-pdf is welcome! 2020-01-03T18:37:50Z JSambrook89 joined #lisp 2020-01-03T18:38:33Z asdf_asdf_asdf quit (Remote host closed the connection) 2020-01-03T18:39:38Z EvW joined #lisp 2020-01-03T18:50:15Z JSambrook89 quit (Remote host closed the connection) 2020-01-03T18:51:29Z JSambrook89 joined #lisp 2020-01-03T18:52:52Z Dibejzer joined #lisp 2020-01-03T18:53:44Z MichaelRaskin joined #lisp 2020-01-03T19:01:40Z brown121408 joined #lisp 2020-01-03T19:01:41Z brown121407 quit (Read error: Connection reset by peer) 2020-01-03T19:08:37Z clothespin quit (Ping timeout: 260 seconds) 2020-01-03T19:08:43Z galdor: is there an equivalent to STRING= for vectors ? i.e. something with :START, :END, :KEY, and :TEST 2020-01-03T19:08:45Z galdor: I cannot find it 2020-01-03T19:09:53Z Shinmera: There isn't. 2020-01-03T19:10:06Z Remavas quit (K-Lined) 2020-01-03T19:11:24Z nirved: galdor: you could use search with appropriate arguments 2020-01-03T19:12:23Z Shinmera: hmm, actually, nevermind 2020-01-03T19:12:28Z Shinmera: I guess there is MISMATCH 2020-01-03T19:13:28Z galdor: oh right of course 2020-01-03T19:13:36Z galdor: and know I learned about MISMATCH 2020-01-03T19:14:01Z galdor: SEARCH works but MISMATCH will stop at the first element which fails the comparison so it's better 2020-01-03T19:14:51Z Shinmera: well search would also abort early since they couldn't match anyway due to the two sub regions not being long enough anymore for a match anyway. 2020-01-03T19:14:58Z jebes joined #lisp 2020-01-03T19:15:09Z Shinmera: but SEARCH does not convey the intention very well. 2020-01-03T19:15:30Z galdor: you're right 2020-01-03T19:15:43Z nirved: yes, (not (mismatch ...)) looks better 2020-01-03T19:16:01Z varjag joined #lisp 2020-01-03T19:16:33Z Bike: wow, an actual use of mismatch! exciting 2020-01-03T19:17:34Z Shinmera: I know, right 2020-01-03T19:21:34Z neuro_sys is now known as Guest30616 2020-01-03T19:22:42Z orivej joined #lisp 2020-01-03T19:22:59Z v88m quit (Ping timeout: 265 seconds) 2020-01-03T19:23:21Z kark quit (Remote host closed the connection) 2020-01-03T19:24:52Z libertyprime quit (Ping timeout: 268 seconds) 2020-01-03T19:25:05Z libertyprime joined #lisp 2020-01-03T19:25:11Z jmercouris joined #lisp 2020-01-03T19:26:35Z phoe: oh look, this function exists in the standard 2020-01-03T19:26:48Z phoe: I remember that I learned about its existence then forgot about it again like three times now 2020-01-03T19:27:42Z phoe: time to forget about it for the fourth time 2020-01-03T19:28:49Z BirthdayboiJosh: I was just skimming over ANSI Common Lisp and saw mismatch, I didn't know it existed, and then this conversation happened 2 minutes after 2020-01-03T19:29:03Z Dibejzer quit (Quit: Leaving) 2020-01-03T19:29:10Z travv0: it's pretty embarrassing how often i forget and am reminded of even commonly used functions 2020-01-03T19:29:18Z sauvin quit (Read error: Connection reset by peer) 2020-01-03T19:29:22Z BirthdayboiJosh: Well there are a huge amount of them :D 2020-01-03T19:29:26Z travv0: there sure are 2020-01-03T19:30:43Z orivej quit (Ping timeout: 265 seconds) 2020-01-03T19:32:39Z pfdietz: I was chagrined when I discovered an entire symbol I had overlooked when writing the ansi-tests: STANDARD 2020-01-03T19:33:29Z phoe: oh yes, the mythical method combination 2020-01-03T19:33:39Z Remavas joined #lisp 2020-01-03T19:33:41Z phoe: I tend to forget about OTHERWISE sometimes 2020-01-03T19:33:49Z pfdietz: Mentioned on page 7.6.6.2. It doesn't even rate its own page. 2020-01-03T19:33:50Z phoe: because I use T in cond to denote an always true thing 2020-01-03T19:34:03Z phoe: pfdietz: it's a second-class standard symbol 2020-01-03T19:34:09Z pfdietz: SUBSTANDARD 2020-01-03T19:34:18Z gareppa joined #lisp 2020-01-03T19:34:21Z phoe: (incf pfdietz) 2020-01-03T19:34:21Z v88m joined #lisp 2020-01-03T19:34:37Z bendersteed joined #lisp 2020-01-03T19:34:37Z BirthdayboiJosh: otherwise is for case isn't it? 2020-01-03T19:34:40Z BirthdayboiJosh: does it work with cond? 2020-01-03T19:34:40Z orivej joined #lisp 2020-01-03T19:35:03Z pfdietz: Perhaps by accident, if it's bound to something as a special? 2020-01-03T19:35:15Z Dibejzer joined #lisp 2020-01-03T19:35:40Z phoe: it isn't 2020-01-03T19:35:42Z phoe: OTHERWISE is not bound 2020-01-03T19:35:46Z phoe: clhs otherwise 2020-01-03T19:35:47Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/m_case_.htm 2020-01-03T19:35:57Z Dibejzer quit (Remote host closed the connection) 2020-01-03T19:36:04Z pfdietz: I mean, a user *could*. And if evaluated as a special in unsafe code, perhaps it gives some garbage that's not nil? 2020-01-03T19:36:24Z phoe: isn't that forbidden though? to proclaim a standard symbol to be special 2020-01-03T19:36:37Z phoe: (if it wasn't proclaimed special by the standard) 2020-01-03T19:36:56Z pfdietz: Yes. 2020-01-03T19:37:31Z pfdietz: But simply using it as a special without a declaration... not conforming, but implementations will let you do that, often. 2020-01-03T19:37:44Z pfdietz: All very sinful, of course. 2020-01-03T19:37:47Z phoe: kinda, yes 2020-01-03T19:38:00Z phoe: I wouldn't want to touch that code with a five foot pole though 2020-01-03T19:39:07Z learning joined #lisp 2020-01-03T19:40:52Z EvW quit (Ping timeout: 248 seconds) 2020-01-03T19:42:08Z flazh joined #lisp 2020-01-03T19:43:36Z Bike: BirthdayboiJosh: it doesn't work with cond. 2020-01-03T19:48:30Z asdf_asdf_asdf joined #lisp 2020-01-03T19:52:44Z MichaelRaskin quit (Remote host closed the connection) 2020-01-03T19:54:24Z troydm quit (Ping timeout: 265 seconds) 2020-01-03T19:56:54Z terpri joined #lisp 2020-01-03T19:57:01Z harovali`: I finally could do the damn unicode font thing in cl-pdf 2020-01-03T19:57:59Z Shinmera: harovali`: what was the magic trick? 2020-01-03T19:59:07Z harovali`: ( LOAD-TTF-FONT "font.ttf" ) 2020-01-03T20:00:16Z harovali`: no .afm stuff 2020-01-03T20:00:29Z harovali`: at least no for a truetype font 2020-01-03T20:00:49Z harovali`: don't know how would it be with newer opentype fonts 2020-01-03T20:01:06Z harovali`: there are a couple more font loading functions 2020-01-03T20:01:33Z harovali`: there are mentions to "afm" in LOAD-TTF-FONT source though 2020-01-03T20:03:08Z william1 joined #lisp 2020-01-03T20:04:21Z dozn__ joined #lisp 2020-01-03T20:04:22Z EvW joined #lisp 2020-01-03T20:07:19Z Jesin quit (Quit: Leaving) 2020-01-03T20:08:01Z dozn_ quit (Ping timeout: 258 seconds) 2020-01-03T20:10:35Z xuxuru quit (Quit: xuxuru) 2020-01-03T20:11:47Z whiteline quit (Read error: Connection reset by peer) 2020-01-03T20:12:16Z whiteline joined #lisp 2020-01-03T20:14:03Z flazh quit (Quit: flazh) 2020-01-03T20:14:13Z flazh joined #lisp 2020-01-03T20:15:58Z flazh quit (Client Quit) 2020-01-03T20:16:10Z flazh joined #lisp 2020-01-03T20:16:17Z jebes quit (Ping timeout: 260 seconds) 2020-01-03T20:16:44Z xuxuru joined #lisp 2020-01-03T20:18:43Z untakenstupidnic quit (Ping timeout: 240 seconds) 2020-01-03T20:21:21Z troydm joined #lisp 2020-01-03T20:22:53Z untakenstupidnic joined #lisp 2020-01-03T20:28:42Z cosimone joined #lisp 2020-01-03T20:30:34Z harovali` quit (Remote host closed the connection) 2020-01-03T20:35:01Z learning quit (Remote host closed the connection) 2020-01-03T20:38:55Z jebes joined #lisp 2020-01-03T20:52:16Z zig joined #lisp 2020-01-03T20:52:22Z zig left #lisp 2020-01-03T20:54:43Z untakenstupidnic quit (Ping timeout: 240 seconds) 2020-01-03T20:56:02Z zclark joined #lisp 2020-01-03T20:58:19Z untakenstupidnic joined #lisp 2020-01-03T21:05:57Z pjb joined #lisp 2020-01-03T21:06:34Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2020-01-03T21:07:43Z untakenstupidnic quit (Ping timeout: 240 seconds) 2020-01-03T21:10:45Z heisig joined #lisp 2020-01-03T21:11:23Z shka_ quit (Ping timeout: 260 seconds) 2020-01-03T21:12:07Z jmercouris quit (Remote host closed the connection) 2020-01-03T21:16:00Z Bike quit (Quit: Bike) 2020-01-03T21:17:36Z cosimone quit (Quit: Quit.) 2020-01-03T21:20:35Z jebes quit (Quit: ZNC 1.7.4+deb7 - https://znc.in) 2020-01-03T21:24:37Z MichaelRaskin joined #lisp 2020-01-03T21:28:25Z sugarwren joined #lisp 2020-01-03T21:29:17Z MightyJoe quit (Ping timeout: 258 seconds) 2020-01-03T21:33:38Z MichaelRaskin quit (Remote host closed the connection) 2020-01-03T21:33:39Z cyraxjoe joined #lisp 2020-01-03T21:40:11Z dale quit (Quit: My computer has gone to sleep) 2020-01-03T21:45:11Z dale joined #lisp 2020-01-03T21:46:32Z william1 quit (Ping timeout: 265 seconds) 2020-01-03T21:48:20Z jibanes joined #lisp 2020-01-03T21:50:17Z makomo joined #lisp 2020-01-03T21:51:51Z whiteline quit (Read error: Connection reset by peer) 2020-01-03T21:51:58Z cosimone joined #lisp 2020-01-03T21:52:05Z whiteline joined #lisp 2020-01-03T21:53:18Z untakenstupidnic joined #lisp 2020-01-03T21:54:27Z stux|RC-only quit (Remote host closed the connection) 2020-01-03T21:54:39Z frgo_ quit 2020-01-03T21:54:43Z Codaraxis quit (Ping timeout: 268 seconds) 2020-01-03T21:56:04Z Bike joined #lisp 2020-01-03T21:57:22Z whiteline quit (Remote host closed the connection) 2020-01-03T21:58:11Z whiteline joined #lisp 2020-01-03T22:03:02Z frgo joined #lisp 2020-01-03T22:08:30Z stux|RC-only joined #lisp 2020-01-03T22:10:46Z william1 joined #lisp 2020-01-03T22:12:26Z femi quit (Ping timeout: 240 seconds) 2020-01-03T22:13:22Z MichaelRaskin joined #lisp 2020-01-03T22:16:16Z zaquest quit (Quit: Leaving) 2020-01-03T22:17:14Z stux|RC-only quit (Ping timeout: 240 seconds) 2020-01-03T22:20:39Z orivej quit (Ping timeout: 258 seconds) 2020-01-03T22:21:43Z heisig quit (Quit: Leaving) 2020-01-03T22:21:53Z xuxuru quit (Quit: xuxuru) 2020-01-03T22:23:03Z untakenstupidnic quit (Ping timeout: 240 seconds) 2020-01-03T22:24:27Z stux|RC-only joined #lisp 2020-01-03T22:29:42Z narimiran quit (Quit: leaving) 2020-01-03T22:31:34Z stux|RC-only quit (Quit: Aloha!) 2020-01-03T22:34:16Z duuqnd quit 2020-01-03T22:35:51Z sjl joined #lisp 2020-01-03T22:36:00Z stux|RC-only joined #lisp 2020-01-03T22:41:48Z stux|RC-only quit (Read error: Connection reset by peer) 2020-01-03T22:43:26Z stux|RC-only joined #lisp 2020-01-03T22:44:27Z EvW quit (Ping timeout: 260 seconds) 2020-01-03T22:48:38Z stux|RC-only quit (Remote host closed the connection) 2020-01-03T22:51:14Z stux|RC-only joined #lisp 2020-01-03T22:54:14Z dozn_ joined #lisp 2020-01-03T22:56:31Z makomo quit (Quit: WeeChat 2.4) 2020-01-03T22:57:43Z lucasb quit (Quit: Connection closed for inactivity) 2020-01-03T22:58:08Z dozn__ quit (Ping timeout: 260 seconds) 2020-01-03T22:58:47Z asdf_asdf_asdf quit (Remote host closed the connection) 2020-01-03T23:02:25Z gareppa quit (Quit: Leaving) 2020-01-03T23:13:44Z Oddity quit (Read error: Connection reset by peer) 2020-01-03T23:16:54Z sjl quit (Quit: WeeChat 2.2-dev) 2020-01-03T23:18:38Z whiteline quit (Read error: Connection reset by peer) 2020-01-03T23:19:21Z whiteline joined #lisp 2020-01-03T23:20:32Z LiamH quit (Quit: Leaving.) 2020-01-03T23:24:01Z Oddity joined #lisp 2020-01-03T23:25:20Z StripedLisper joined #lisp 2020-01-03T23:27:57Z StripedLisper quit (Remote host closed the connection) 2020-01-03T23:28:37Z StripedLisper joined #lisp 2020-01-03T23:28:56Z cosimone quit (Quit: Quit.) 2020-01-03T23:34:07Z StripedLisper quit (Ping timeout: 260 seconds) 2020-01-03T23:51:53Z random-nick quit (Ping timeout: 258 seconds) 2020-01-03T23:54:46Z Codaraxis joined #lisp 2020-01-03T23:55:18Z MightyJoe joined #lisp 2020-01-03T23:55:18Z cyraxjoe quit (Ping timeout: 260 seconds) 2020-01-03T23:55:53Z ineiros quit (Ping timeout: 250 seconds) 2020-01-03T23:59:54Z varjag quit (Quit: ERC (IRC client for Emacs 26.1)) 2020-01-04T00:00:37Z Codaraxis quit (Remote host closed the connection) 2020-01-04T00:00:59Z Codaraxis joined #lisp 2020-01-04T00:01:41Z akoana joined #lisp 2020-01-04T00:01:41Z Codaraxis quit (Max SendQ exceeded) 2020-01-04T00:02:17Z Codaraxis joined #lisp 2020-01-04T00:02:27Z jebes joined #lisp 2020-01-04T00:03:21Z libertyprime quit (Quit: leaving) 2020-01-04T00:05:18Z Ampws quit (Quit: leaving) 2020-01-04T00:05:24Z Codaraxis quit (Remote host closed the connection) 2020-01-04T00:05:50Z Ampws joined #lisp 2020-01-04T00:06:27Z wxie joined #lisp 2020-01-04T00:12:50Z william1 quit (Ping timeout: 240 seconds) 2020-01-04T00:13:42Z wxie quit (Ping timeout: 260 seconds) 2020-01-04T00:17:41Z EvW1 joined #lisp 2020-01-04T00:34:32Z ArthurStrong joined #lisp 2020-01-04T00:50:57Z jasom: mismatch is also good for trie-like structures 2020-01-04T00:51:52Z pioneer42 joined #lisp 2020-01-04T00:52:02Z whiteline quit (Read error: Connection reset by peer) 2020-01-04T00:52:26Z whiteline joined #lisp 2020-01-04T00:59:07Z sugarwren quit (Quit: Leaving) 2020-01-04T01:01:38Z libertyprime joined #lisp 2020-01-04T01:05:12Z rdh joined #lisp 2020-01-04T01:08:12Z asarch joined #lisp 2020-01-04T01:08:17Z karlosz quit (Remote host closed the connection) 2020-01-04T01:09:43Z z147x quit (Ping timeout: 240 seconds) 2020-01-04T01:18:12Z _jrjsmrtn joined #lisp 2020-01-04T01:20:04Z __jrjsmrtn__ quit (Ping timeout: 268 seconds) 2020-01-04T01:20:19Z Lord_Nightmare quit (Read error: Connection reset by peer) 2020-01-04T01:22:50Z notzmv joined #lisp 2020-01-04T01:24:38Z sjl joined #lisp 2020-01-04T01:31:09Z clothespin joined #lisp 2020-01-04T01:32:54Z learning joined #lisp 2020-01-04T01:37:36Z shifty joined #lisp 2020-01-04T01:55:29Z jgodbout joined #lisp 2020-01-04T01:57:10Z anewuser joined #lisp 2020-01-04T02:00:36Z karlosz joined #lisp 2020-01-04T02:01:58Z ahungry joined #lisp 2020-01-04T02:04:28Z JSambrook89 quit (Ping timeout: 268 seconds) 2020-01-04T02:05:00Z karlosz quit (Remote host closed the connection) 2020-01-04T02:12:11Z ebzzry quit (Ping timeout: 258 seconds) 2020-01-04T02:13:48Z saravia joined #lisp 2020-01-04T02:14:29Z bitmapper quit (Ping timeout: 258 seconds) 2020-01-04T02:17:19Z bendersteed quit (Remote host closed the connection) 2020-01-04T02:25:54Z learning quit (Remote host closed the connection) 2020-01-04T02:28:46Z StripedLisper joined #lisp 2020-01-04T02:29:03Z atgreen joined #lisp 2020-01-04T02:30:22Z asarch quit (Quit: Leaving) 2020-01-04T02:31:27Z saravia: hello, ¿is posible write CSharp (Frameworks 4) binaries with portacle and common lisp language? 2020-01-04T02:34:19Z ebrasca quit (Remote host closed the connection) 2020-01-04T02:35:22Z phoe: Do you mean interoperating with C# in some way? 2020-01-04T02:37:32Z JSambrook89 joined #lisp 2020-01-04T02:37:43Z saravia: yes, to run in Microsoft Windows Server 2020-01-04T02:38:09Z phoe: I know about https://github.com/Lovesan/bike 2020-01-04T02:39:22Z karlosz joined #lisp 2020-01-04T02:43:42Z BirthdayboiJosh is now known as Josh_2 2020-01-04T02:46:48Z ArthurStrong quit (Ping timeout: 260 seconds) 2020-01-04T02:47:40Z ArthurStrong joined #lisp 2020-01-04T02:49:57Z X-Scale` joined #lisp 2020-01-04T02:50:51Z saravia: phoe, sorry but .net core is the same of C#, becose Lovesan/bike tell me ".net core and c++" but i need interoperate -> C# Frameworks 4, is posible doc? 2020-01-04T02:51:02Z X-Scale quit (Ping timeout: 265 seconds) 2020-01-04T02:51:06Z phoe: what's C# Frameworks 4? 2020-01-04T02:51:22Z phoe: Oh, I see. 2020-01-04T02:51:23Z X-Scale` is now known as X-Scale 2020-01-04T02:51:25Z phoe: No idea if that's possible. 2020-01-04T02:52:06Z saravia: but this work names "interoperate" no? 2020-01-04T02:53:18Z saravia: my new job requires visual studio, but to me is more inspiration "interoperate with common lisp + portacle (Emacs) xD" 2020-01-04T02:53:47Z pjb: saravia: AFAIK, there is no CL compiler targetting .Net. Instead, you can write the core of your application in Common Lisp, running in a separate process, and communicating with the .Net environment thru socketsr. 2020-01-04T02:54:41Z pjb: https://cliki.net/Common%20Lisp%20implementation 2020-01-04T02:54:53Z pjb: https://cliki.net/.NET 2020-01-04T02:55:36Z pjb: saravia: you can compile and run from Visual Studion this little program: int main(){ system("emacs"); return 0;} // can't you? 2020-01-04T02:55:44Z clothespin: there was once rdnzl 2020-01-04T02:56:01Z phoe: clothespin: it seems that bike is rdnzl 2.0 2020-01-04T02:56:19Z phoe: pjb: I think ABCL once experimented with running on the CLR. 2020-01-04T02:57:48Z ebzzry joined #lisp 2020-01-04T03:01:00Z Lord_of_Life_ joined #lisp 2020-01-04T03:01:16Z saravia: thanks phoe, clothespin, i'll continue tomorrow, see you tomorrow 2020-01-04T03:01:26Z saravia quit (Quit: Leaving) 2020-01-04T03:03:07Z Lord_of_Life quit (Ping timeout: 265 seconds) 2020-01-04T03:03:07Z Lord_of_Life_ is now known as Lord_of_Life 2020-01-04T03:14:19Z Oladon joined #lisp 2020-01-04T03:16:07Z ArthurSt1ong joined #lisp 2020-01-04T03:16:37Z smokeink joined #lisp 2020-01-04T03:19:00Z EvW1 quit (Ping timeout: 248 seconds) 2020-01-04T03:19:14Z ArthurStrong quit (Ping timeout: 240 seconds) 2020-01-04T03:32:02Z rdh quit (Ping timeout: 240 seconds) 2020-01-04T03:33:38Z ahungry quit (Ping timeout: 240 seconds) 2020-01-04T03:34:55Z ahungry joined #lisp 2020-01-04T03:35:56Z ahungry quit (Remote host closed the connection) 2020-01-04T03:39:09Z Josh_2: if I'm using sly/slime, is there a function I can call to call the inspector on an instance of an object? 2020-01-04T03:39:19Z Josh_2: I want to call this function from within my code 2020-01-04T03:49:09Z ArthurStrong joined #lisp 2020-01-04T03:52:37Z ArthurSt1ong quit (Ping timeout: 258 seconds) 2020-01-04T03:53:43Z dddddd quit (Remote host closed the connection) 2020-01-04T03:54:25Z stux|RC-only quit (Quit: Aloha!) 2020-01-04T04:02:45Z stux|RC quit (Read error: Connection reset by peer) 2020-01-04T04:05:12Z stux|RC-only joined #lisp 2020-01-04T04:06:41Z stux|RC joined #lisp 2020-01-04T04:10:50Z libertyprime quit (Ping timeout: 240 seconds) 2020-01-04T04:13:01Z libertyprime joined #lisp 2020-01-04T04:15:28Z pjb: Josh_2: (swank:inspect-in-emacs object) 2020-01-04T04:16:04Z kajo quit (Ping timeout: 248 seconds) 2020-01-04T04:16:22Z pjb: Josh_2: (apropos "INSPECT" "SWANK") 2020-01-04T04:16:29Z Ampws is now known as ampws 2020-01-04T04:16:40Z ampws is now known as Ampws 2020-01-04T04:18:24Z kajo joined #lisp 2020-01-04T04:19:51Z untakenstupidnic joined #lisp 2020-01-04T04:22:02Z ahungry joined #lisp 2020-01-04T04:22:10Z Josh_2: pjb: thanks :) 2020-01-04T04:24:28Z ebzzry quit (Read error: Connection reset by peer) 2020-01-04T04:26:50Z Ampws quit (Ping timeout: 240 seconds) 2020-01-04T04:28:05Z Ampws joined #lisp 2020-01-04T04:34:24Z karlosz quit (Quit: karlosz) 2020-01-04T04:38:29Z femi joined #lisp 2020-01-04T04:38:45Z JSambrook89 left #lisp 2020-01-04T04:43:21Z refpga joined #lisp 2020-01-04T04:48:09Z karlosz joined #lisp 2020-01-04T04:55:43Z atgreen quit (Ping timeout: 260 seconds) 2020-01-04T04:58:26Z quazimodo quit (Ping timeout: 240 seconds) 2020-01-04T05:04:03Z quazimodo joined #lisp 2020-01-04T05:04:51Z orivej joined #lisp 2020-01-04T05:06:01Z karlosz quit (Remote host closed the connection) 2020-01-04T05:11:30Z libertyprime quit (Quit: leaving) 2020-01-04T05:12:20Z retropikzel joined #lisp 2020-01-04T05:13:16Z cyraxjoe joined #lisp 2020-01-04T05:15:38Z MightyJoe quit (Ping timeout: 268 seconds) 2020-01-04T05:18:36Z manualcrank quit (Quit: WeeChat 1.9.1) 2020-01-04T05:19:27Z refpga quit (Remote host closed the connection) 2020-01-04T05:20:48Z patlv quit (Quit: Leaving) 2020-01-04T05:26:20Z igemnace joined #lisp 2020-01-04T05:26:43Z karlosz joined #lisp 2020-01-04T05:27:18Z shifty quit (Ping timeout: 258 seconds) 2020-01-04T05:27:43Z untakenstupidnic quit (Ping timeout: 240 seconds) 2020-01-04T05:38:28Z retropikzel quit (Quit: Leaving) 2020-01-04T05:47:54Z ahungry quit (Remote host closed the connection) 2020-01-04T05:50:03Z Oladon quit (Quit: Leaving.) 2020-01-04T05:54:52Z StripedLisper quit (Remote host closed the connection) 2020-01-04T05:55:36Z beach: Good morning everyone! 2020-01-04T05:55:40Z orivej quit (Ping timeout: 265 seconds) 2020-01-04T06:00:28Z jgodbout quit (Ping timeout: 260 seconds) 2020-01-04T06:01:22Z brettgilio quit (Ping timeout: 260 seconds) 2020-01-04T06:03:43Z brettgilio joined #lisp 2020-01-04T06:13:04Z jeosol: Good morning beach 2020-01-04T06:15:20Z TanKian joined #lisp 2020-01-04T06:15:51Z Bike quit (Quit: Lost terminal) 2020-01-04T06:16:56Z hifitim joined #lisp 2020-01-04T06:17:11Z hifitim quit (Client Quit) 2020-01-04T06:18:09Z untakenstupidnic joined #lisp 2020-01-04T06:19:45Z TanKian is now known as jian 2020-01-04T06:20:26Z jian is now known as theJian 2020-01-04T06:21:08Z retropikzel joined #lisp 2020-01-04T06:21:55Z theJian is now known as TanKian 2020-01-04T06:22:40Z TanKian quit (Quit: TanKian) 2020-01-04T06:23:19Z Ampws: morning! 2020-01-04T06:23:21Z TanKian joined #lisp 2020-01-04T06:23:49Z beach: Hello Ampws. 2020-01-04T06:24:20Z Ampws: hi 2020-01-04T06:25:36Z Ampws: i've made a ircbot by common lisp as a practice...but i wonder if i could use the lisp program in a linux terminal 2020-01-04T06:25:43Z Ampws: "an" 2020-01-04T06:26:09Z pjb: Ampws: of course. Why not? They're programs just like any other program. 2020-01-04T06:26:32Z pjb: Ampws: See for example: http://github.com/informatimago/hw 2020-01-04T06:26:46Z Ampws: okay, thank you 2020-01-04T06:30:50Z atgreen joined #lisp 2020-01-04T06:33:22Z TanKian quit (Ping timeout: 265 seconds) 2020-01-04T06:36:58Z anewuser quit (Quit: anewuser) 2020-01-04T06:38:26Z atgreen quit (Remote host closed the connection) 2020-01-04T06:38:30Z sauvin joined #lisp 2020-01-04T06:38:50Z atgreen joined #lisp 2020-01-04T06:41:02Z jebes quit (Ping timeout: 260 seconds) 2020-01-04T06:45:02Z _whitelogger quit (Remote host closed the connection) 2020-01-04T06:47:16Z _whitelogger joined #lisp 2020-01-04T06:47:48Z Krystof quit (Ping timeout: 258 seconds) 2020-01-04T07:00:50Z TanKian_ joined #lisp 2020-01-04T07:05:51Z ggole joined #lisp 2020-01-04T07:06:48Z karlosz quit (Quit: karlosz) 2020-01-04T07:07:05Z karlosz joined #lisp 2020-01-04T07:08:26Z vaporatorius quit (Remote host closed the connection) 2020-01-04T07:10:20Z narimiran joined #lisp 2020-01-04T07:11:23Z TanKian_ quit (Quit: TanKian_) 2020-01-04T07:12:00Z TanKian joined #lisp 2020-01-04T07:14:44Z kajo quit (Ping timeout: 248 seconds) 2020-01-04T07:17:56Z Oladon joined #lisp 2020-01-04T07:18:47Z dale quit (Quit: My computer has gone to sleep) 2020-01-04T07:20:26Z TanKian quit (Quit: TanKian) 2020-01-04T07:21:03Z TanKian joined #lisp 2020-01-04T07:25:26Z dozn_ is now known as dozn 2020-01-04T07:26:22Z TanKian quit (Ping timeout: 268 seconds) 2020-01-04T07:28:20Z TanKian joined #lisp 2020-01-04T07:29:15Z zclark quit (Remote host closed the connection) 2020-01-04T07:32:14Z vidak` joined #lisp 2020-01-04T07:42:08Z karlosz quit (Quit: karlosz) 2020-01-04T07:42:27Z karlosz joined #lisp 2020-01-04T07:48:03Z untakenstupidnic quit (Ping timeout: 240 seconds) 2020-01-04T07:48:56Z shka_ joined #lisp 2020-01-04T07:49:11Z atgreen quit (Ping timeout: 268 seconds) 2020-01-04T07:55:57Z Wojciech_K joined #lisp 2020-01-04T07:56:17Z untakenstupidnic joined #lisp 2020-01-04T08:00:16Z hapticFeels quit (Remote host closed the connection) 2020-01-04T08:00:23Z hapticFeels joined #lisp 2020-01-04T08:01:01Z karlosz quit (Quit: karlosz) 2020-01-04T08:03:39Z hapticFe` joined #lisp 2020-01-04T08:05:02Z hapticFeels quit (Ping timeout: 260 seconds) 2020-01-04T08:09:01Z asdf_asdf_asdf joined #lisp 2020-01-04T08:12:54Z trittweiler quit (Ping timeout: 258 seconds) 2020-01-04T08:16:35Z gabiruh_ joined #lisp 2020-01-04T08:17:36Z Oladon quit (Quit: Leaving.) 2020-01-04T08:19:37Z gabiruh quit (Ping timeout: 260 seconds) 2020-01-04T08:19:58Z gabiruh joined #lisp 2020-01-04T08:21:44Z zooey quit (Remote host closed the connection) 2020-01-04T08:22:04Z zooey joined #lisp 2020-01-04T08:23:07Z gabiruh_ quit (Ping timeout: 260 seconds) 2020-01-04T08:23:07Z StripedLisper joined #lisp 2020-01-04T08:30:43Z StripedLisper quit (Remote host closed the connection) 2020-01-04T08:41:42Z xkapastel joined #lisp 2020-01-04T09:03:13Z asdf_asdf_asdf quit (Remote host closed the connection) 2020-01-04T09:05:43Z orivej joined #lisp 2020-01-04T09:08:11Z libertyprime joined #lisp 2020-01-04T09:19:40Z _paul0 quit (Remote host closed the connection) 2020-01-04T09:20:03Z _paul0 joined #lisp 2020-01-04T09:24:22Z jayspeer joined #lisp 2020-01-04T09:25:00Z hapticFe` quit (Remote host closed the connection) 2020-01-04T09:29:34Z heisig joined #lisp 2020-01-04T09:32:07Z z147x joined #lisp 2020-01-04T09:43:00Z jonatack quit (Ping timeout: 248 seconds) 2020-01-04T09:50:54Z gareppa joined #lisp 2020-01-04T10:03:08Z orivej quit (Ping timeout: 265 seconds) 2020-01-04T10:05:34Z Krystof joined #lisp 2020-01-04T10:10:12Z jayspeer quit (Remote host closed the connection) 2020-01-04T10:12:46Z gareppa quit (Quit: Leaving) 2020-01-04T10:13:06Z rippa joined #lisp 2020-01-04T10:15:12Z Lord_of_Life quit (Read error: Connection reset by peer) 2020-01-04T10:19:12Z Lord_of_Life joined #lisp 2020-01-04T10:23:56Z varjag joined #lisp 2020-01-04T10:24:26Z Posterdati quit (Ping timeout: 240 seconds) 2020-01-04T10:25:35Z Posterdati joined #lisp 2020-01-04T10:30:18Z jmercouris joined #lisp 2020-01-04T10:36:20Z ebzzry joined #lisp 2020-01-04T10:39:15Z z147x quit (Remote host closed the connection) 2020-01-04T10:44:23Z untakenstupidnic quit (Ping timeout: 240 seconds) 2020-01-04T10:46:30Z untakenstupidnic joined #lisp 2020-01-04T10:49:51Z william1 joined #lisp 2020-01-04T10:54:22Z TanKian quit (Quit: TanKian) 2020-01-04T10:55:58Z william1 quit (Quit: WeeChat 1.9.1) 2020-01-04T10:56:11Z shifty joined #lisp 2020-01-04T10:56:54Z william1 joined #lisp 2020-01-04T11:02:43Z ebzzry quit (Read error: Connection reset by peer) 2020-01-04T11:17:51Z igemnace quit (Quit: WeeChat 2.7) 2020-01-04T11:18:15Z random-nick joined #lisp 2020-01-04T11:20:36Z cosimone joined #lisp 2020-01-04T11:20:52Z cosimone quit (Client Quit) 2020-01-04T11:21:15Z cosimone joined #lisp 2020-01-04T11:25:47Z orivej joined #lisp 2020-01-04T11:27:26Z akoana left #lisp 2020-01-04T11:32:43Z untakenstupidnic quit (Ping timeout: 240 seconds) 2020-01-04T11:34:02Z orivej quit (Ping timeout: 240 seconds) 2020-01-04T11:35:07Z pioneer42 quit (Quit: Leaving.) 2020-01-04T11:35:40Z gabiruh_ joined #lisp 2020-01-04T11:38:13Z gabiruh quit (Ping timeout: 245 seconds) 2020-01-04T11:42:19Z retropikzel quit (Quit: Leaving) 2020-01-04T11:43:00Z cosimone quit (Quit: Terminated!) 2020-01-04T11:44:32Z Inline joined #lisp 2020-01-04T11:46:29Z je4i joined #lisp 2020-01-04T11:48:04Z trittweiler joined #lisp 2020-01-04T11:49:34Z hhdave joined #lisp 2020-01-04T11:49:40Z untakenstupidnic joined #lisp 2020-01-04T11:54:26Z hhdave quit (Ping timeout: 240 seconds) 2020-01-04T11:56:00Z rdh joined #lisp 2020-01-04T11:57:41Z jonatack joined #lisp 2020-01-04T12:01:04Z rdh quit (Ping timeout: 265 seconds) 2020-01-04T12:10:34Z krid joined #lisp 2020-01-04T12:10:39Z trittweiler quit (Ping timeout: 268 seconds) 2020-01-04T12:23:43Z untakenstupidnic quit (Ping timeout: 240 seconds) 2020-01-04T12:28:30Z ivan19 joined #lisp 2020-01-04T12:34:08Z hhdave joined #lisp 2020-01-04T12:35:38Z jayspeer joined #lisp 2020-01-04T12:39:01Z vidak` quit (Ping timeout: 268 seconds) 2020-01-04T12:45:03Z cantstanya quit (Remote host closed the connection) 2020-01-04T12:47:01Z cantstanya joined #lisp 2020-01-04T12:48:35Z jayspeer quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-01-04T12:49:54Z jayspeer joined #lisp 2020-01-04T12:50:11Z longshi joined #lisp 2020-01-04T12:53:28Z smokeink quit (Ping timeout: 260 seconds) 2020-01-04T12:59:51Z papachan joined #lisp 2020-01-04T13:00:08Z dddddd joined #lisp 2020-01-04T13:00:21Z shangul joined #lisp 2020-01-04T13:07:33Z untakenstupidnic joined #lisp 2020-01-04T13:11:59Z wxie joined #lisp 2020-01-04T13:14:09Z orivej joined #lisp 2020-01-04T13:16:11Z dozn_ joined #lisp 2020-01-04T13:17:15Z clothespin quit (Ping timeout: 268 seconds) 2020-01-04T13:19:43Z dozn quit (Ping timeout: 260 seconds) 2020-01-04T13:20:07Z Bike joined #lisp 2020-01-04T13:22:47Z atgreen joined #lisp 2020-01-04T13:23:38Z hhdave quit (Ping timeout: 240 seconds) 2020-01-04T13:30:00Z scymtym quit (Ping timeout: 265 seconds) 2020-01-04T13:49:28Z shifty quit (Ping timeout: 260 seconds) 2020-01-04T13:50:47Z ivan19 quit (Remote host closed the connection) 2020-01-04T13:51:18Z libertyprime quit (Quit: leaving) 2020-01-04T13:55:23Z zaquest joined #lisp 2020-01-04T13:57:35Z phoe: well 2020-01-04T13:57:42Z phoe: it's time for me for use alexandria:map-permutations 2020-01-04T13:57:43Z untakenstupidnic quit (Ping timeout: 240 seconds) 2020-01-04T14:00:55Z untakenstupidnic joined #lisp 2020-01-04T14:10:23Z FreeBirdLjj joined #lisp 2020-01-04T14:12:48Z wxie quit (Ping timeout: 260 seconds) 2020-01-04T14:27:02Z _whitelogger quit (Remote host closed the connection) 2020-01-04T14:29:15Z _whitelogger joined #lisp 2020-01-04T14:31:04Z xkapastel quit (Quit: Connection closed for inactivity) 2020-01-04T14:31:17Z shka_ quit (Quit: Konversation terminated!) 2020-01-04T14:32:48Z Inline quit (Ping timeout: 252 seconds) 2020-01-04T14:37:15Z dozn__ joined #lisp 2020-01-04T14:39:36Z jayspeer quit (Ping timeout: 265 seconds) 2020-01-04T14:39:39Z dozn joined #lisp 2020-01-04T14:41:03Z dozn_ quit (Ping timeout: 265 seconds) 2020-01-04T14:41:25Z Cymew joined #lisp 2020-01-04T14:41:29Z dozn_ joined #lisp 2020-01-04T14:43:14Z dozn__ quit (Ping timeout: 240 seconds) 2020-01-04T14:45:27Z dozn quit (Read error: Connection reset by peer) 2020-01-04T14:45:45Z manualcrank joined #lisp 2020-01-04T14:48:19Z vaporatorius joined #lisp 2020-01-04T14:50:25Z Inline joined #lisp 2020-01-04T14:50:43Z dozn joined #lisp 2020-01-04T14:50:53Z papachan quit (Quit: Leaving) 2020-01-04T14:53:33Z dozn_ quit (Read error: Connection reset by peer) 2020-01-04T14:54:28Z xkapastel joined #lisp 2020-01-04T14:55:26Z dozn_ joined #lisp 2020-01-04T14:57:02Z cosimone joined #lisp 2020-01-04T14:57:19Z nowhere_man joined #lisp 2020-01-04T14:59:14Z dozn quit (Ping timeout: 258 seconds) 2020-01-04T15:00:14Z dozn_ quit (Ping timeout: 268 seconds) 2020-01-04T15:00:14Z v88m quit (Ping timeout: 268 seconds) 2020-01-04T15:00:32Z Lord_of_Life_ joined #lisp 2020-01-04T15:03:27Z Lord_of_Life quit (Ping timeout: 258 seconds) 2020-01-04T15:03:33Z v88m joined #lisp 2020-01-04T15:03:56Z Lord_of_Life_ is now known as Lord_of_Life 2020-01-04T15:06:14Z Cymew quit (Quit: Konversation terminated!) 2020-01-04T15:07:18Z clothespin joined #lisp 2020-01-04T15:07:32Z whiteline quit (Remote host closed the connection) 2020-01-04T15:07:53Z whiteline joined #lisp 2020-01-04T15:08:20Z ebzzry joined #lisp 2020-01-04T15:09:17Z wsinatra joined #lisp 2020-01-04T15:18:47Z longshi quit (Ping timeout: 258 seconds) 2020-01-04T15:20:52Z gareppa joined #lisp 2020-01-04T15:22:50Z jmercouris quit (Ping timeout: 240 seconds) 2020-01-04T15:22:56Z hhdave joined #lisp 2020-01-04T15:23:23Z orivej quit (Ping timeout: 260 seconds) 2020-01-04T15:24:40Z kajo joined #lisp 2020-01-04T15:35:28Z scymtym joined #lisp 2020-01-04T15:36:33Z kajo quit (Ping timeout: 245 seconds) 2020-01-04T15:37:42Z atgreen quit (Ping timeout: 260 seconds) 2020-01-04T15:39:01Z wsinatra quit (Quit: WeeChat 2.7) 2020-01-04T15:39:19Z learning joined #lisp 2020-01-04T15:40:05Z Wojciech_K quit (Remote host closed the connection) 2020-01-04T15:42:21Z refpga joined #lisp 2020-01-04T15:43:56Z gareppa quit (Quit: Leaving) 2020-01-04T15:49:02Z megalography quit (Quit: Leaving.) 2020-01-04T15:49:21Z jmercouris joined #lisp 2020-01-04T15:54:02Z hhdave quit (Ping timeout: 240 seconds) 2020-01-04T15:58:22Z stepnem_ quit (Read error: Connection reset by peer) 2020-01-04T16:00:03Z untakenstupidnic quit (Ping timeout: 240 seconds) 2020-01-04T16:00:28Z shifty joined #lisp 2020-01-04T16:02:46Z stepnem joined #lisp 2020-01-04T16:02:48Z jonatack quit (Ping timeout: 245 seconds) 2020-01-04T16:08:24Z nowhere_man quit (Ping timeout: 246 seconds) 2020-01-04T16:14:22Z william1 quit (Ping timeout: 258 seconds) 2020-01-04T16:14:49Z whiteline quit (Read error: Connection reset by peer) 2020-01-04T16:14:50Z untakenstupidnic joined #lisp 2020-01-04T16:15:05Z whiteline joined #lisp 2020-01-04T16:15:29Z pjb quit (Remote host closed the connection) 2020-01-04T16:17:08Z kajo joined #lisp 2020-01-04T16:17:30Z pjb joined #lisp 2020-01-04T16:20:14Z pjb quit (Remote host closed the connection) 2020-01-04T16:21:50Z pjb joined #lisp 2020-01-04T16:23:26Z longshi joined #lisp 2020-01-04T16:26:24Z karlosz joined #lisp 2020-01-04T16:31:03Z hhdave joined #lisp 2020-01-04T16:33:09Z shifty quit (Ping timeout: 258 seconds) 2020-01-04T16:38:00Z cosimone_ joined #lisp 2020-01-04T16:40:30Z learning quit 2020-01-04T16:41:53Z cosimone quit (Ping timeout: 265 seconds) 2020-01-04T16:47:18Z oni-on-ion joined #lisp 2020-01-04T16:48:03Z lucasb joined #lisp 2020-01-04T16:48:26Z jmercouris quit (Ping timeout: 240 seconds) 2020-01-04T16:57:45Z william1 joined #lisp 2020-01-04T17:01:33Z gravicappa joined #lisp 2020-01-04T17:03:57Z clothespin quit (Quit: Leaving) 2020-01-04T17:09:32Z ebrasca joined #lisp 2020-01-04T17:11:19Z vaporatorius quit (Remote host closed the connection) 2020-01-04T17:18:39Z jmercouris joined #lisp 2020-01-04T17:18:59Z mangul joined #lisp 2020-01-04T17:21:27Z shangul quit (Ping timeout: 258 seconds) 2020-01-04T17:25:26Z orivej joined #lisp 2020-01-04T17:26:23Z untakenstupidnic quit (Ping timeout: 240 seconds) 2020-01-04T17:26:28Z hhdave quit (Ping timeout: 260 seconds) 2020-01-04T17:26:40Z AS_Jon joined #lisp 2020-01-04T17:27:28Z AS_Jon: check out http://www.desertofthereal.org 2020-01-04T17:28:49Z oni-on-ion: no one click that. very NSFW. you're welcome, took one for the team. any OPS ? beach ? 2020-01-04T17:28:51Z untakenstupidnic joined #lisp 2020-01-04T17:29:03Z oni-on-ion: fe[nl]ix 2020-01-04T17:29:47Z AS_Jon: wats ur problem 2020-01-04T17:29:52Z defaultxr joined #lisp 2020-01-04T17:30:00Z AS_Jon: why are u calling my site NSFW? 2020-01-04T17:31:11Z brown121408 quit (Ping timeout: 265 seconds) 2020-01-04T17:31:38Z refpga quit (Ping timeout: 240 seconds) 2020-01-04T17:31:39Z oni-on-ion: because i dont want to subject anyone of these fine souls of your depravity 2020-01-04T17:32:02Z cosimone_ quit (Ping timeout: 240 seconds) 2020-01-04T17:32:12Z AS_Jon: why are u calling me depraved 2020-01-04T17:32:16Z oni-on-ion: perverted pig, good luck with the rest of your life when it all catches up to you. 2020-01-04T17:32:22Z AS_Jon: just cause u dont like my site 2020-01-04T17:32:25Z refpga joined #lisp 2020-01-04T17:32:27Z AS_Jon: http://www.desertofthereal.org 2020-01-04T17:32:29Z sjl: oni-on-ion: don't engage with the child, just report to freenode ops 2020-01-04T17:32:38Z oni-on-ion: sjl, i dont know how or who 2020-01-04T17:32:46Z AS_Jon: u have no basis to report me 2020-01-04T17:32:53Z brown121408 joined #lisp 2020-01-04T17:33:28Z sjl: Or also I think Xach might have ops in here? 2020-01-04T17:33:36Z phoe: one sec, let me remember the commands 2020-01-04T17:35:18Z ChanServ has set mode +o phoe 2020-01-04T17:37:16Z phoe has set mode +b *!*18d3e139@*.nc.res.rr.com 2020-01-04T17:37:16Z AS_Jon [~phoe@2001:470:64f1:1:dc52:a0ff:fe71:ae52] has been kicked from #lisp by phoe (AS_Jon) 2020-01-04T17:37:55Z Josh_2: What fun 2020-01-04T17:38:28Z oni-on-ion: excellent 2020-01-04T17:40:43Z ChanServ has set mode -o phoe 2020-01-04T17:41:36Z phoe: I'm a rusty operator since I literally have to remember the op/deop/kickban commands every single time 2020-01-04T17:41:50Z phoe: but still, it seems that I was first 2020-01-04T17:42:54Z oni-on-ion: thanks for it =) we could always have regular drills. =P 2020-01-04T17:42:54Z brown121408 quit (Read error: Connection reset by peer) 2020-01-04T17:44:14Z brown121407 joined #lisp 2020-01-04T17:45:43Z oxum quit (Ping timeout: 260 seconds) 2020-01-04T17:46:26Z phoe: FYI, 18:41 -!- AS_Jon [18d3e139@cpe-24-211-225-57.nc.res.rr.com] has quit [Killed (Sigyn (Spam is off topic on freenode.))] 2020-01-04T17:46:29Z MichaelRaskin: phoe: you want to say you need a translator layer so you can execute a lisp form (in Emacs, I guess) and it would talk to chanserv in your name? 2020-01-04T17:46:51Z phoe: MichaelRaskin: my IRC is in an irssi session sitting on a tmux on a VPS. So, no emacs here. 2020-01-04T17:47:30Z MichaelRaskin: phoe: you say that as if Lisp cannot talk via sockets 2020-01-04T17:47:36Z brown121408 joined #lisp 2020-01-04T17:47:53Z dale joined #lisp 2020-01-04T17:48:35Z brown121407 quit (Ping timeout: 265 seconds) 2020-01-04T17:49:42Z Josh_2: phoe: that's sad :( 2020-01-04T17:50:33Z bitmapper joined #lisp 2020-01-04T17:50:35Z MichaelRaskin: On my system Lisp controls quite a bit of non-Lisp software 2020-01-04T17:51:22Z koenig: I'm literally right now banging my head trying to write a WeeChat plugin for ECL. 2020-01-04T17:51:25Z jmercouris: if you make me a moderator I can be of service 2020-01-04T17:51:42Z koenig: With the idea that you could script WeeChat with Common Lisp. 2020-01-04T17:52:03Z oni-on-ion: ohh there's a new ECL release coming up. after 3 years development. excited to see whats in it =) 2020-01-04T17:52:25Z koenig: I'm afraid that I'm not very far along. I know too little about ECL I think. 2020-01-04T17:52:58Z koenig: I'm calling cl_boot() inside the plugin code and am getting a nasty segfault / backtrace in ECL. 2020-01-04T17:55:48Z oni-on-ion: hmm let me see my code that uses it .. 2020-01-04T17:56:36Z koenig: I've been able to call cl_boot() from within a simple C main() that I've written, and then evaluate a simple Lisp form in a string. So I'm pretty sure I know how to do that part. 2020-01-04T17:56:42Z oni-on-ion: koenig, oh, ah... just cl_boot(argc, argv) first line in main() 2020-01-04T17:57:03Z whiteline_ joined #lisp 2020-01-04T17:57:08Z oni-on-ion: but doesnt work as weechat plugin ? 2020-01-04T17:57:10Z jmercouris: ping jackdaniel he may know 2020-01-04T17:57:29Z oni-on-ion: i wonder if looking into cl_main() would reveal that weechat's own main conflicts with it. like setting interrupts or whathaveyou 2020-01-04T17:57:32Z jmercouris: here is the context: https://weechat.org/files/doc/stable/weechat_plugin_api.en.html 2020-01-04T17:58:23Z jmercouris: are you sure that your plugin isn't segfaulting for some unknown reason? are you able to create/use the same plugin without ECL? 2020-01-04T17:58:25Z koenig: The ECL backtrace seems to get to ecl_init_module() which looks to be pretty far along in the initialization process. 2020-01-04T17:58:33Z lemoinem quit (Ping timeout: 260 seconds) 2020-01-04T17:58:39Z lemoinem joined #lisp 2020-01-04T17:58:52Z brown121408 quit (Read error: Connection reset by peer) 2020-01-04T17:58:52Z koenig: I'm able to create a plugin that doesn't use ECL but does successfully write "Hello world" to the WeeChat core buffer. 2020-01-04T17:59:30Z ebrasca quit (Remote host closed the connection) 2020-01-04T17:59:41Z whiteline quit (Ping timeout: 268 seconds) 2020-01-04T18:00:04Z brown121407 joined #lisp 2020-01-04T18:00:18Z william1 quit (Ping timeout: 268 seconds) 2020-01-04T18:00:30Z hhdave joined #lisp 2020-01-04T18:00:40Z hiroaki quit (Ping timeout: 265 seconds) 2020-01-04T18:00:46Z jmercouris: OK 2020-01-04T18:01:04Z xkapastel quit (Quit: Connection closed for inactivity) 2020-01-04T18:01:12Z koenig: But it was a good idea. :) 2020-01-04T18:01:58Z koenig: I think the next step is to build WeeChat with debugging enabled and ECL with debugging enabled and get a gdb attached to the process. 2020-01-04T18:02:27Z oni-on-ion: yeah. or, have the weechat plugin talk to a sepereate ECL process. =P 2020-01-04T18:02:27Z je4i quit (Ping timeout: 264 seconds) 2020-01-04T18:02:31Z koenig: If I can trap cl_boot() maybe I can see exactly where things go haywire. 2020-01-04T18:02:36Z oni-on-ion: (too much work there) 2020-01-04T18:02:45Z koenig: oni-on-ion: I had considered that, but it seems kludgy to me. 2020-01-04T18:02:53Z koenig: I want the real deal here. 2020-01-04T18:03:24Z oni-on-ion: yeah. and point being using lisp and not c 2020-01-04T18:03:35Z stepnem_ joined #lisp 2020-01-04T18:03:58Z oni-on-ion: at the very least you could put in cl_boot() to weechat's own main =) after checking out gdb . 2020-01-04T18:04:00Z stepnem quit (Ping timeout: 268 seconds) 2020-01-04T18:04:06Z oni-on-ion: (very least effort*) 2020-01-04T18:04:07Z koenig: I've done a lot of systems programming in my career, but I am a neophite Lisper. Part of the point of this exercise is to learn a little more about ECL and then a lot more about Common Lisp when I use it to script WeeChat. 2020-01-04T18:04:40Z oni-on-ion: and would not have to restart weechat or the plugin while you are developing it 2020-01-04T18:04:42Z kajo quit (Ping timeout: 260 seconds) 2020-01-04T18:04:51Z koenig: I think the right thing to do is to attach a remote gdb to the running WeeChat, then set the cl_boot() breakpoint, then trigger the plugin to load dynamically. 2020-01-04T18:05:18Z koenig: I've restarted weechat seems like a million times while trying to debug this. :) 2020-01-04T18:05:51Z oni-on-ion: ahh the nostalgia of systems programming =) 2020-01-04T18:06:38Z koenig: Yeah. I switched my career about 4 years ago to doing data science after spending about 25 years doing systems programming. So I've gotten an itch to do something "real" again. 2020-01-04T18:06:43Z je4i joined #lisp 2020-01-04T18:09:29Z jmercouris quit (Remote host closed the connection) 2020-01-04T18:11:12Z oni-on-ion: cool. i been doing system programming and graphic rendering for about 25 . i'm still in hiatus, not sure what i want or need to do yet. 2020-01-04T18:11:27Z je4i quit (Ping timeout: 264 seconds) 2020-01-04T18:14:03Z hiroaki joined #lisp 2020-01-04T18:17:21Z MichaelRaskin: koenig: BTW, are there many threads by the time ECL plugin is loaded? 2020-01-04T18:18:41Z awolven joined #lisp 2020-01-04T18:19:30Z awolven is now known as clothespin 2020-01-04T18:21:45Z MichaelRaskin: (although it does look like it should not matter) 2020-01-04T18:26:26Z koenig: The WeeChat plugin developer documentation says that your plugin is not supposed to be using threads. 2020-01-04T18:27:25Z koenig: I tried building ECL with the correct --disable-thread option in configure. I verified that *features* in the ECL prompt do not say :THREADS. 2020-01-04T18:27:44Z koenig: But the ECL backtrace I get still seems to be telling me that I'm doing something with pthreads. 2020-01-04T18:28:09Z kajo joined #lisp 2020-01-04T18:28:15Z koenig: I'm not sure whether the way I'm building it means "ECL doesn't use threads at all" or means "no user-facing threads are available". 2020-01-04T18:28:53Z koenig: gdb will tell me this, but probably rebuilding everything to allow me to attach a gdb to this mess is going to be about an hour's worth of work, so I have been poking sticks at other things for right now. 2020-01-04T18:29:21Z koenig: My intuition is telling me I just need to spend the time to get a tool attached to this that can let me see what's happening. 2020-01-04T18:33:05Z MichaelRaskin: strace will also tell you about any threads happenning 2020-01-04T18:34:06Z koenig: That's a pretty good suggestion. Let me try that. 2020-01-04T18:34:19Z koenig: But first, I have to eat some pancakes. 2020-01-04T18:34:41Z mangul quit (Remote host closed the connection) 2020-01-04T18:34:57Z mangul joined #lisp 2020-01-04T18:36:28Z gravicappa quit (Ping timeout: 260 seconds) 2020-01-04T18:37:58Z vaporatorius joined #lisp 2020-01-04T18:37:58Z vaporatorius quit (Changing host) 2020-01-04T18:37:58Z vaporatorius joined #lisp 2020-01-04T18:41:08Z mangul quit (Ping timeout: 260 seconds) 2020-01-04T18:44:22Z longshi quit (Ping timeout: 260 seconds) 2020-01-04T18:51:08Z reg32 joined #lisp 2020-01-04T18:51:38Z EvW joined #lisp 2020-01-04T18:53:03Z koenig: Ok, one thing that may not be too nice is that WeeChat of course captures a bunch of signals with its own signal handlers, and of course so does ECL. 2020-01-04T18:54:20Z MichaelRaskin: Well, you always have an option to give up and spin a ECL process communicating with weechat via a socket… 2020-01-04T18:55:17Z koenig: There must be some way to do this. I can't believe that interpreters like Guile and Python and whatever don't do very similar things to what ECL does. 2020-01-04T18:55:35Z koenig: I'm just too ignorant of how ECL works internally to get it yet. 2020-01-04T18:55:46Z hhdave quit (Ping timeout: 265 seconds) 2020-01-04T18:57:09Z koenig: The point is, in order to really participate with some topic (say, Common Lisp), you have to have some objective that focuses your attention. Now I have one: namely, this project. :) 2020-01-04T18:59:51Z Josh_2: Just how many system threads can I run before things start to go oof? 2020-01-04T18:59:54Z jackdaniel: koenig: if weechat spawns new processes, then in each new thread you need to call import_thread function (see examples/ directory for details) 2020-01-04T19:00:12Z Josh_2: I'm wondering if I should consider changing some of my functionality to green threads 2020-01-04T19:01:14Z Josh_2: I don't see my server having thousands of simultaneous connections 2020-01-04T19:01:23Z jackdaniel: Josh_2: if you count your processes in thousands then *if* green threads are an option *and* are well supported on your implementation *and* your program can run in such pseudo-parallel fashion then go for it 2020-01-04T19:01:34Z koenig: jackdaniel: I don't see import_thread called anywhere in any file throughout examples/ . I just did a grep -r. 2020-01-04T19:01:43Z jackdaniel: let me see 2020-01-04T19:01:58Z eeeeeta: I'm literally right now banging my head trying to write a WeeChat plugin for ECL. 2020-01-04T19:02:06Z jackdaniel: koenig: see src/examples/import.c 2020-01-04T19:02:06Z eeeeeta: this seems like a cool project! 2020-01-04T19:02:09Z Josh_2: jackdaniel: well theres lots of libraries for green threads but I don't know how well they function 2020-01-04T19:02:14Z Josh_2: on SBCL 2020-01-04T19:02:18Z bacterio quit (Quit: bacterio) 2020-01-04T19:02:22Z jackdaniel: exact function name is ecl_import_current_thread 2020-01-04T19:02:23Z eeeeeta: koenig: weechat is single-threaded, btw 2020-01-04T19:02:42Z bacterio joined #lisp 2020-01-04T19:02:42Z bacterio quit (Changing host) 2020-01-04T19:02:42Z bacterio joined #lisp 2020-01-04T19:03:06Z jackdaniel: if it doesn't spawn new threads, then cl_boot(narg, argv); should be fine 2020-01-04T19:03:25Z jackdaniel: s/narg/argc/ 2020-01-04T19:03:47Z bacterio quit (Client Quit) 2020-01-04T19:03:49Z koenig: Yes, eeeeeta is right. 2020-01-04T19:03:58Z bacterio joined #lisp 2020-01-04T19:04:10Z eeeeeta would be very interested in a weechat CL project ^_^ 2020-01-04T19:04:10Z jackdaniel: do you try to statically link ecl or do you use dynamic linking? 2020-01-04T19:04:19Z Oladon joined #lisp 2020-01-04T19:04:45Z bacterio quit (Client Quit) 2020-01-04T19:04:55Z bacterio joined #lisp 2020-01-04T19:05:11Z koenig: The WeeChat plugins are .so by definition. The WeeChat core invokes the dynamic linker to load them at runtime and then calls into an entry point in each .so called weechat_plugin_init() to initialize it. 2020-01-04T19:05:33Z koenig: My .so dynamically links to the ecl library. 2020-01-04T19:05:59Z jackdaniel: and when you run ecl binary from the same installation it works fine? 2020-01-04T19:06:06Z koenig: Correct. 2020-01-04T19:06:15Z jackdaniel: could you link the initialization code? 2020-01-04T19:06:16Z mangul joined #lisp 2020-01-04T19:06:20Z jackdaniel: so I can look at the source code 2020-01-04T19:06:34Z koenig: Also works fine when I write a simple main() of my own that calls cl_boot() and passes in a C string with a simple Lisp form. 2020-01-04T19:06:47Z jackdaniel: n.b, for the reference there was x-chat plugin written in ecl: https://sourceforge.net/projects/xchatlisp/files/X-Chat%20ECL%20Plugin/X-Chat%20ECL%20Plugin%200.3/ (16y ago) 2020-01-04T19:07:07Z koenig: I'd have to move it to a place where there's a Web server running. 2020-01-04T19:07:09Z jackdaniel: please link the source code, maybe I'll be able to spot the problem (probably not though) 2020-01-04T19:07:33Z jackdaniel: maybe you could use something like pastebin? 2020-01-04T19:07:35Z eeeeeta: koenig: do you pass through argc and argh? 2020-01-04T19:07:38Z eeeeeta: argv* 2020-01-04T19:08:03Z eeeeeta: /have you tried with argc=0, argv=NULL or similar? 2020-01-04T19:08:57Z koenig: I've tried (1) passing through the argc/argv that WeeChat sends the plugin, (2) creating argc=1 and argv[0]="dummy" argv[1]=NULL, and (3) using argc=0 and argv[0]=NULL. 2020-01-04T19:09:30Z jackdaniel: koenig: does weechat have its own signal handlers? 2020-01-04T19:09:37Z koenig: Yes. Very many. 2020-01-04T19:10:13Z jackdaniel: OK, then that may be the problem. in that case you may want to disable ecl's signal handler 2020-01-04T19:10:27Z koenig: How can I build ECL to do this? 2020-01-04T19:11:12Z jackdaniel: I don't know from the top of my head, let me see 2020-01-04T19:11:54Z eeeeeta: https://common-lisp.net/project/ecl/static/manual/re97.html 2020-01-04T19:12:05Z eeeeeta: looks like you might want to twiddle all of those boot options to FALSE? 2020-01-04T19:12:11Z eeeeeta: the TRAP_* ones 2020-01-04T19:12:22Z ebrasca joined #lisp 2020-01-04T19:12:38Z jackdaniel: right, you may kill the traps on individal signals too 2020-01-04T19:13:07Z eeeeeta: oh huh, there's an option for a "Unix signal to communicate between threads" 2020-01-04T19:13:18Z eeeeeta: maybe that's interfering with a similar weechat mechanism 2020-01-04T19:13:20Z eeeeeta: ?* 2020-01-04T19:13:35Z sjl quit (Quit: WeeChat 2.2-dev) 2020-01-04T19:14:46Z koenig: Ok, let me try calling ecl_set_option() to set all of ECL_OPT_TRAP_* to False and ECL_OPT_SIGNAL_HANDLING_THREAD also to False. 2020-01-04T19:14:50Z bitmapper quit (Ping timeout: 240 seconds) 2020-01-04T19:15:38Z koenig: The WeeChat core intercepts basically tons of signals for its own purposes, including I suspect SIGALARM so it can implement its own callback mechanism. 2020-01-04T19:15:52Z koenig: That's how it functions in a single thread. 2020-01-04T19:16:28Z eeeeeta: sounds good 2020-01-04T19:16:30Z eeeeeta: it says in the docs actually 2020-01-04T19:16:32Z eeeeeta: > Systems which embed ECL as an extension language may wish to deactivate the signal handling thread using the previously mentioned option. 2020-01-04T19:18:24Z pilne quit (Read error: Connection reset by peer) 2020-01-04T19:19:32Z pilne joined #lisp 2020-01-04T19:20:23Z koenig: Ok, that definitely improved things, but still no love. Looking at the stack trace right now. 2020-01-04T19:25:56Z koenig: ecl_module_init() somehow calls ecl_read_object_with_delimiter() to do something which is where things are going wrong. It gets into FEreader_error() after that, which I'm assuming is ECL's error handler for the reader. 2020-01-04T19:26:08Z whiteline_ quit (Read error: Connection reset by peer) 2020-01-04T19:26:18Z koenig: ecl_module_init() appears to get invoked close to the end of cl_boot(), though, so that seems positive. 2020-01-04T19:26:35Z whiteline joined #lisp 2020-01-04T19:29:20Z scymtym quit (Remote host closed the connection) 2020-01-04T19:30:01Z ebrasca quit (Read error: Connection reset by peer) 2020-01-04T19:31:02Z ebrasca joined #lisp 2020-01-04T19:36:35Z ggole quit (Quit: Leaving) 2020-01-04T19:36:43Z koenig: Ok, I'm feeling like I need to rebuild WeeChat and ECL both with debugging enabled so I can attach a gdb to everything. And probably need to go back and re-read documentation now that I have a better idea of what's going on. 2020-01-04T19:38:09Z johnjay: weechat embeds ECL? 2020-01-04T19:38:16Z rumbler31: https://pastebin.com/1Hh2tKz0 2020-01-04T19:38:25Z MichaelRaskin: Of course, gdb will _also_ mess with signals 2020-01-04T19:38:42Z rumbler31: trying to mess with lisp-binary. walking through the diy doom series. 2020-01-04T19:39:05Z rumbler31: I get errors that don't make sense with just simple stuff like the above paste 2020-01-04T19:39:24Z rumbler31: the outcome is the same regardless of the use of flexi stream 2020-01-04T19:42:02Z mangul quit (Ping timeout: 240 seconds) 2020-01-04T19:42:30Z rdh joined #lisp 2020-01-04T19:46:13Z Josh_2: hmm, so I wrote a snippet of code that interrupts a thread, passes it a function and pushes the result of the thread evaluating the function to a structure that is currently global as I know the thread will be able to access it. I would like to have separate structures for each thread, how would I go about making sure that the thread and the structure is in the 'same environment'. 2020-01-04T19:46:22Z Josh_2: I don't really know the correct terminology ¯\_(ツ)_/¯ 2020-01-04T19:46:34Z phoe: environment? no, why? 2020-01-04T19:46:54Z reg32 quit (Remote host closed the connection) 2020-01-04T19:46:57Z phoe: make a global hashtable whose keys are thread objects and values are whatever you want, preferably with :weakness :key 2020-01-04T19:47:09Z Josh_2: hmm well that's what I wanted to avoid 2020-01-04T19:47:13Z phoe: and have each thread setf gethash with itself as a key 2020-01-04T19:47:30Z phoe: also, interrupting threads as a part of your normal program code is a bad idea™ 2020-01-04T19:47:41Z whiteline quit (Read error: Connection reset by peer) 2020-01-04T19:49:04Z oni-on-ion: has anyone ever heard of a communal REPL ? not like Jupyter. but like several users sharing the same lisp image ? 2020-01-04T19:49:32Z whiteline joined #lisp 2020-01-04T19:49:42Z jackdaniel: how about multiple slime session connected to the same swank server? 2020-01-04T19:51:04Z Josh_2: Well the reason I was going to do it is because I have a thread that is constantly waiting to download packets from a stream and then pushes these into a queue, however there may be a time where I want another function to download a single packet, perhaps to confirm that the server received a specific type of packet. So I was thinking I can interrupt the thread and get it to download one packet and then return back to normal 2020-01-04T19:51:04Z Josh_2: function. Is this bad phoe ? 2020-01-04T19:51:12Z oni-on-ion: ohhh! i am wearing the wrong glasses today! 2020-01-04T19:51:29Z Josh_2: I can change the functionality if required, It's not a big deal, I've only really been dabbling with it ¯\_(ツ)_/¯ 2020-01-04T19:51:47Z oni-on-ion: thanks jackdaniel , been about a week taking break from computer 2020-01-04T19:53:08Z phoe: oni-on-ion: we once wrote a small hack just for that, https://github.com/kraklisp/repl-chat 2020-01-04T19:53:35Z oni-on-ion: slime+swank can't do it as is? 2020-01-04T19:53:40Z phoe: of course it can 2020-01-04T19:53:50Z phoe: it's a tiny chat written on top of swank+multislime 2020-01-04T19:54:08Z phoe: more like a proof of concept than like anything else 2020-01-04T19:54:39Z Lord_of_Life_ joined #lisp 2020-01-04T19:54:54Z Josh_2: who needs irc when we can all connect to one lisp image and chat that was :D 2020-01-04T19:54:57Z Josh_2: way* 2020-01-04T19:55:07Z jackdaniel: (sb-ext:quit) voila 2020-01-04T19:55:10Z jackdaniel: irc is dead 2020-01-04T19:55:22Z Josh_2: well yes, that's a problem 2020-01-04T19:55:23Z Lord_of_Life quit (Read error: Connection reset by peer) 2020-01-04T19:55:28Z phoe: exactly that, Lisp has no sandboxing 2020-01-04T19:55:37Z Josh_2: It would have to be high trust 2020-01-04T19:56:25Z phoe: trust is one thing 2020-01-04T19:56:39Z phoe: you'd also need everyone to be perfect enough to never corrupt the image or blow the stack 2020-01-04T19:56:52Z Josh_2: Only for chatting 2020-01-04T19:56:54Z Josh_2: high trust xD 2020-01-04T19:57:12Z Josh_2: we all pinky promise to only chat 2020-01-04T19:57:36Z Lord_of_Life_ is now known as Lord_of_Life 2020-01-04T19:58:25Z shinohai: `1 2020-01-04T19:58:27Z phoe: it's called irc 2020-01-04T19:58:31Z Josh_2: phoe: do you have an opinion on what I wrote? 2020-01-04T19:59:03Z phoe: Josh_2: looks like weird architecture to me and breaking of the single responsibility principle 2020-01-04T19:59:17Z blabagu joined #lisp 2020-01-04T19:59:29Z phoe: why doesn't the original thread just push everything it downloads into a queue and something else grabs stuff from that queue and executes whatever code is needed? 2020-01-04T19:59:47Z Josh_2: That's what is going to happen 2020-01-04T19:59:57Z Josh_2: Haven't gotten to the processing part yet 2020-01-04T20:00:19Z phoe: why do you even need to interrupt the original thread then? 2020-01-04T20:00:40Z phoe: if the thread is supposed to just download packets, then why would you need to interupt it with something else that also downloads packets 2020-01-04T20:00:50Z blabagu: Hi! Is there any recent opensource web application lying around on github (or similar) that is written in Common Lisp? I'd like to get a feel for how developing something like that in CL might feel 2020-01-04T20:01:44Z phoe: blabagu: I'm working on one right now, but it is just the backend and internal logic - nothing network or web/REST/HTTP related just yet. 2020-01-04T20:01:57Z phoe: Poke me in about two weeks, I should have it ready then. 2020-01-04T20:02:07Z phoe: (Or kinda getting it ready. We'll see.) 2020-01-04T20:03:50Z Josh_2: hmmm 2020-01-04T20:04:19Z blabagu: I found https://github.com/turtl/api but it seems to be depracted since the project was rewritten in nodejs 2020-01-04T20:04:48Z Josh_2: blabagu: https://github.com/Shirakumo/radiance 2020-01-04T20:05:00Z Oladon quit (Quit: Leaving.) 2020-01-04T20:05:20Z phoe: oh right, Shinmera's stuff 2020-01-04T20:05:33Z phoe: https://plaster.tymoon.eu/ is one I use all the time, lol 2020-01-04T20:05:40Z Josh_2: same 2020-01-04T20:07:18Z phoe: it's at https://github.com/Shirakumo/plaster 2020-01-04T20:07:24Z blabagu: Ah yes, I already have this in my bookmarks (both) 2020-01-04T20:09:24Z Josh_2: phoe: Okay, Im gonna approach my problem a different way. Thanks :) 2020-01-04T20:10:25Z krid quit (Ping timeout: 268 seconds) 2020-01-04T20:10:29Z Shinmera: blabagu: There's a bunch of other applications for radiance on Shirakumo. 2020-01-04T20:10:42Z EvW quit (Ping timeout: 260 seconds) 2020-01-04T20:11:04Z blabagu: Shinmera: Ah, thanks! Will take a look 2020-01-04T20:11:47Z oni-on-ion: phoe, oh sorry i was elsewhere. cool! checking the code now. 2020-01-04T20:11:57Z oni-on-ion: lisp image can surely have sandboxing with namespaces eh ? 2020-01-04T20:11:58Z stepnem_ quit (Read error: Connection reset by peer) 2020-01-04T20:12:21Z stepnem joined #lisp 2020-01-04T20:18:03Z untakenstupidnic quit (Ping timeout: 240 seconds) 2020-01-04T20:19:08Z phoe: oni-on-ion: what exactly do you mean? 2020-01-04T20:19:44Z oni-on-ion: it was said that lisp has no sandboxing. can't that be done simply ? with namespace + some tricks 2020-01-04T20:20:14Z phoe: not really 2020-01-04T20:20:26Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2020-01-04T20:20:28Z phoe: you'd need to restrict access to a lot of CL symbols that allow you to escape the sandbox 2020-01-04T20:20:58Z blabagu: Shinmera: not that it matters all too much, but do you know of any non-Shirakumo projects/companies using radiance? Probably even on github? 2020-01-04T20:21:11Z phoe: and then also you have DoS attacks such as (loop) and (defvar *x* 0) (loop (setf *x* (cons *x* *x*))) 2020-01-04T20:22:05Z Shinmera: I know some people use it, but I don't know of a nything public 2020-01-04T20:22:33Z abordado left #lisp 2020-01-04T20:24:56Z oni-on-ion: phoe, ahh, hm. shoot 2020-01-04T20:25:08Z oni-on-ion: x_x that is no good at all. 2020-01-04T20:25:47Z phoe: also obvious stuff such as internbombing and read-eval 2020-01-04T20:25:53Z EvW1 joined #lisp 2020-01-04T20:26:30Z phoe: Lisp is a language that gives a lot of power to the programmer, it's hard to suddenly take all of that power away even if you want to sandbox 2020-01-04T20:26:58Z phoe: with great power comes great power bill^W^Wresponsibility 2020-01-04T20:27:40Z untakenstupidnic joined #lisp 2020-01-04T20:28:26Z oni-on-ion: yeah... i am now checking out prolog for this, a solution to write a server in this manner 2020-01-04T20:35:11Z rumbler31: anyone used lisp-binary for counted-buffer or counted-string? those seem to break for me 2020-01-04T20:38:19Z phoe: rumbler31: show me the breakage 2020-01-04T20:38:37Z rumbler31: https://pastebin.com/1Hh2tKz0 2020-01-04T20:40:11Z zooey quit (Remote host closed the connection) 2020-01-04T20:40:34Z zooey joined #lisp 2020-01-04T20:40:45Z rumbler31: and that behavior is the same even without the explicit use of flexi streams 2020-01-04T20:41:37Z clothespin quit (Ping timeout: 260 seconds) 2020-01-04T20:42:00Z phoe: rumbler31: could you try making a reproducible test case? this example breaks with #\I not being of type ub8 2020-01-04T20:42:21Z rumbler31: right, so comment out that one and try the next 2020-01-04T20:42:32Z rumbler31: that was my first problem 2020-01-04T20:42:40Z blabagu quit (Remote host closed the connection) 2020-01-04T20:43:10Z phoe: ooh 2020-01-04T20:43:12Z phoe: hm 2020-01-04T20:43:36Z phoe: in WITH-OPEN-FILE, explicitly specify the stream element to be (unsigned-byte 8) 2020-01-04T20:43:44Z rumbler31: I assume I have to use streams of type (unsigned-byte 8) and lisp-binary takes care to read chars and convert to lisp strings, so says the docs. But then doing that, I get those blowups where the library wants to allocate a whole bunch 2020-01-04T20:44:10Z rumbler31: right, try running the next line 2020-01-04T20:44:34Z phoe: the second line gives me 2020-01-04T20:44:35Z phoe: There is no applicable method for the generic function # when called with arguments (HEADER #). 2020-01-04T20:44:44Z rumbler31: hmm 2020-01-04T20:44:46Z rumbler31: well 2020-01-04T20:45:05Z rumbler31: alright, remove the flexi stream make stream line 2020-01-04T20:45:51Z phoe: There is no applicable method for the generic function # when called with arguments (HEADER #). 2020-01-04T20:45:56Z phoe: nope 2020-01-04T20:46:17Z rumbler31: what 2020-01-04T20:46:50Z rumbler31: ok I guess I'll make a better test case 2020-01-04T20:47:42Z phoe: oh 2020-01-04T20:47:43Z phoe: ooooh 2020-01-04T20:47:45Z phoe: yes, I got it 2020-01-04T20:48:36Z oni-on-ion quit (Ping timeout: 248 seconds) 2020-01-04T20:49:05Z koenig: jackdaniel: Okay, I've rebuilt WeeChat and ECL both with debug symbols. I can attach a gdb to the remote process and step through initialization. 2020-01-04T20:49:22Z oni-on-ion joined #lisp 2020-01-04T20:49:32Z koenig: The problem happens in ECL's main.d:786. This is a call to ecl_init_module(OBJNULL,init_lib_LSP); 2020-01-04T20:49:33Z phoe: rumbler31: https://plaster.tymoon.eu/view/1631#1631 2020-01-04T20:49:58Z scymtym joined #lisp 2020-01-04T20:50:19Z rumbler31: ah there 2020-01-04T20:50:20Z rumbler31: yes 2020-01-04T20:50:30Z rumbler31: ah, forgot to use the library macro.... 2020-01-04T20:50:35Z rumbler31: but still, blows up 2020-01-04T20:51:16Z phoe: wait a second 2020-01-04T20:51:23Z phoe: https://github.com/j3pic/lisp-binary/blob/c372e5f02050f25dff8856a7c289c5f1fe4b5dd2/binary-1.lisp#L249 2020-01-04T20:51:26Z phoe: see the docstring for this 2020-01-04T20:52:47Z krid joined #lisp 2020-01-04T20:53:01Z rumbler31: does that sentence make sense to you? 2020-01-04T20:53:21Z rumbler31: it just reads an int of size however many bytes you specify? 2020-01-04T20:53:39Z phoe: it first tries to read an integer from that file 2020-01-04T20:53:52Z phoe: (format t "~X" (flex:string-to-octets "IWAD")) ;=> #(49 57 41 44) 2020-01-04T20:54:06Z phoe: and #x44415749 ;=> 1145132873 2020-01-04T20:54:16Z hhdave joined #lisp 2020-01-04T20:54:20Z phoe: which explains the number in (SB-KERNEL:%MAKE-ARRAY 1145132873 ...) 2020-01-04T20:54:45Z phoe: so your "IWAD" was just treated as a number of bytes to allocate 2020-01-04T20:54:53Z rumbler31: X 2020-01-04T20:55:03Z rumbler31: so its expecting a pascal string 2020-01-04T20:55:10Z phoe: yes, it seems so 2020-01-04T20:55:25Z rumbler31: thanks 2020-01-04T20:55:28Z phoe: no problem 2020-01-04T20:55:56Z rumbler31: I was thinking that at first but I didn't do the conversion of that value in the debugger to the value of the iwad like you said 2020-01-04T20:56:36Z oni-on-ion quit (Ping timeout: 248 seconds) 2020-01-04T20:57:04Z phoe: I read the source code and the docstring and that's the first thing I suspected 2020-01-04T20:57:16Z phoe: that it tries to read the IWAD as a vector size 2020-01-04T20:57:29Z phoe: and lo and behold, I was surprised to be right this time 2020-01-04T20:59:43Z untakenstupidnic quit (Ping timeout: 240 seconds) 2020-01-04T21:06:56Z rumbler31: it looks like it doesn't support reading these kinds of strings directly 2020-01-04T21:08:03Z phoe: rumbler31: what kind of strings do you mean? 2020-01-04T21:08:26Z rumbler31: just 4 characters 2020-01-04T21:08:45Z rumbler31: like, strings whose size are fixed by convention, not arbitrary length 2020-01-04T21:09:03Z phoe: the README mentions something similar though 2020-01-04T21:09:28Z phoe: take a look at the defbinary compressed-text in README 2020-01-04T21:09:35Z rumbler31: sigh, slap my wrist.... 2020-01-04T21:09:50Z phoe: IWAD could be (magic "IWAD" ...) perhaps 2020-01-04T21:10:12Z rumbler31: I'm sorry for the lazy question 2020-01-04T21:10:17Z phoe: hah, not sorry 2020-01-04T21:10:22Z phoe: I mean, no need to be sorry 2020-01-04T21:10:46Z phoe: I know that feeling myself - I tend to get focused on one thing so much that I lose grasp on the surroundings 2020-01-04T21:10:58Z phoe: (including other parts of the libraries I am using at that very moment!) 2020-01-04T21:25:38Z hhdave quit (Ping timeout: 258 seconds) 2020-01-04T21:29:57Z narimiran quit (Ping timeout: 265 seconds) 2020-01-04T21:33:03Z heisig quit (Quit: Leaving) 2020-01-04T21:39:33Z bitmapper joined #lisp 2020-01-04T21:40:44Z easye`` joined #lisp 2020-01-04T21:43:00Z EvW1 quit (Ping timeout: 248 seconds) 2020-01-04T21:43:58Z easye` quit (Ping timeout: 265 seconds) 2020-01-04T21:45:23Z rdh quit (Ping timeout: 268 seconds) 2020-01-04T21:47:57Z madmonkey joined #lisp 2020-01-04T21:52:51Z bitmapper quit (Ping timeout: 258 seconds) 2020-01-04T21:56:47Z gabiruh_ quit (Quit: ZNC - 1.6.0 - http://znc.in) 2020-01-04T22:01:25Z ArthurStrong quit (Ping timeout: 268 seconds) 2020-01-04T22:02:51Z ArthurStrong joined #lisp 2020-01-04T22:06:05Z izh_ joined #lisp 2020-01-04T22:07:23Z lucasb quit (Quit: Connection closed for inactivity) 2020-01-04T22:11:00Z pilne quit (Quit: If you're not living on the edge, you're taking up too much space) 2020-01-04T22:11:17Z refpga quit (Ping timeout: 268 seconds) 2020-01-04T22:11:39Z refpga joined #lisp 2020-01-04T22:12:55Z bilegeek joined #lisp 2020-01-04T22:15:22Z shifty joined #lisp 2020-01-04T22:15:22Z Ampws quit (Quit: Lost terminal) 2020-01-04T22:24:52Z FreeBirdLjj quit (Remote host closed the connection) 2020-01-04T22:26:29Z FreeBirdLjj joined #lisp 2020-01-04T22:31:49Z FreeBirdLjj quit (Ping timeout: 268 seconds) 2020-01-04T22:34:17Z nowhere_man joined #lisp 2020-01-04T22:38:35Z orivej quit (Ping timeout: 265 seconds) 2020-01-04T22:39:07Z orivej joined #lisp 2020-01-04T22:40:49Z Oladon joined #lisp 2020-01-04T22:41:55Z grumble quit (Quit: People who can't distinguish between etymology and entomology bug me in ways I cannot put into words.) 2020-01-04T22:43:54Z grumble joined #lisp 2020-01-04T22:45:17Z Lord_Nightmare joined #lisp 2020-01-04T22:52:04Z oxum joined #lisp 2020-01-04T22:56:29Z ebrasca quit (Ping timeout: 258 seconds) 2020-01-04T23:00:39Z whiteline quit (Remote host closed the connection) 2020-01-04T23:02:54Z whiteline joined #lisp 2020-01-04T23:03:59Z jebes joined #lisp 2020-01-04T23:04:07Z jebes: oin 2020-01-04T23:07:45Z Xach: moin 2020-01-04T23:09:04Z ebrasca joined #lisp 2020-01-04T23:09:34Z jebes: i meant to type /join 2020-01-04T23:10:01Z karlosz quit (Quit: karlosz) 2020-01-04T23:10:03Z phoe gives jebes a /j 2020-01-04T23:11:13Z Xach: moin moin 2020-01-04T23:11:14Z jebes: thank you 2020-01-04T23:11:54Z jmercouris joined #lisp 2020-01-04T23:13:41Z izh_ quit (Quit: Leaving) 2020-01-04T23:14:14Z karlosz joined #lisp 2020-01-04T23:14:18Z jebes: slime isn't being very nice with ecl... 2020-01-04T23:16:20Z jebes: and i can't get a proper stack trace 2020-01-04T23:19:44Z flip214 quit (Ping timeout: 268 seconds) 2020-01-04T23:20:50Z orivej quit (Ping timeout: 240 seconds) 2020-01-04T23:25:50Z flip214 joined #lisp 2020-01-04T23:26:54Z hhdave joined #lisp 2020-01-04T23:27:52Z pjb: jebes: (apropos "BACKTRACE") in ecl gives uiop/image:print-backtrace, which seems to work perfectly in ecl… 2020-01-04T23:30:38Z jebes: then seems like a slime problem 2020-01-04T23:39:04Z jebes: doesn't print the name of the function for me 2020-01-04T23:39:26Z FreeBirdLjj joined #lisp 2020-01-04T23:45:01Z FreeBirdLjj quit (Ping timeout: 268 seconds) 2020-01-04T23:51:44Z bitmapper joined #lisp 2020-01-04T23:53:31Z bilegeek quit (Quit: Leaving) 2020-01-04T23:55:33Z hhdave quit (Ping timeout: 260 seconds) 2020-01-04T23:56:41Z Lord_Nightmare quit (Quit: ZNC - http://znc.in) 2020-01-05T00:01:07Z karlosz quit (Ping timeout: 260 seconds) 2020-01-05T00:04:26Z libertyprime joined #lisp 2020-01-05T00:05:31Z pjb: jebes: perhaps the function is anonymous? 2020-01-05T00:07:02Z rdh joined #lisp 2020-01-05T00:07:10Z Lord_Nightmare joined #lisp 2020-01-05T00:07:33Z oni-on-ion joined #lisp 2020-01-05T00:09:11Z jebes: its definitly named 2020-01-05T00:09:35Z jebes: i'll look into it later 2020-01-05T00:09:36Z jebes: lol 2020-01-05T00:15:47Z karlosz joined #lisp 2020-01-05T00:16:14Z kajo quit (Quit: From my rotting body, flowers shall grow and I am in them and that is eternity. -- E. M.) 2020-01-05T00:16:21Z jmercouris quit (Remote host closed the connection) 2020-01-05T00:16:29Z rdh: hello, I have a question regarding using sbcl for hard/firm real-time... I am building a flight controller using linux for a drone, but the more i think about this task the more i realize the importance of the sensors and motor controls being top priority on the linux system. 2020-01-05T00:17:22Z oni-on-ion: kevent 2020-01-05T00:17:30Z oni-on-ion: and/or libev 2020-01-05T00:17:39Z Xach: oni-on-ion: you didn't wait for the question! 2020-01-05T00:17:48Z rdh: haha 2020-01-05T00:18:02Z galdor: I'm not sure SBCL and Linux are the right solution for a hard real-time system 2020-01-05T00:18:30Z phoe: linux might be, since there hard real time patches for it - but SBCL might not be since it has little guarantees about e.g. its GC performance 2020-01-05T00:18:38Z grewal: For realtime, you'd just need to control the gc more 2020-01-05T00:19:15Z phoe: or that 2020-01-05T00:19:24Z oni-on-ion: im rolling dice =) ECL can be possibly closer to system than SBCL ? 2020-01-05T00:20:34Z rdh: ok, my idea was to set the niceness of the lisp program to high, and use c libs for interfacing with the sensors... but where could i find more info on controlling the gc? 2020-01-05T00:20:57Z phoe: rdh: in your implementation's manual - the standard doesn't specify anything like that 2020-01-05T00:21:04Z phoe: so http://www.sbcl.org/manual/ 2020-01-05T00:23:16Z karlosz quit (Quit: karlosz) 2020-01-05T00:27:34Z random-nick quit (Ping timeout: 268 seconds) 2020-01-05T00:29:58Z quazimodo quit (Ping timeout: 260 seconds) 2020-01-05T00:30:27Z quazimodo joined #lisp 2020-01-05T00:31:12Z varjag quit (Ping timeout: 265 seconds) 2020-01-05T00:45:02Z _whitelogger quit (Remote host closed the connection) 2020-01-05T00:45:08Z ebrasca quit (Ping timeout: 260 seconds) 2020-01-05T00:46:28Z wooden quit (Ping timeout: 265 seconds) 2020-01-05T00:47:15Z _whitelogger joined #lisp 2020-01-05T00:48:08Z wooden joined #lisp 2020-01-05T00:48:08Z wooden quit (Changing host) 2020-01-05T00:48:08Z wooden joined #lisp 2020-01-05T00:49:09Z lowryder quit (Quit: WeeChat 2.6-dev) 2020-01-05T00:52:30Z sjl joined #lisp 2020-01-05T00:53:06Z rdh: doesnt look like sbcl's gc can not be 'disable' just be tuned. 2020-01-05T00:57:01Z krid quit (Remote host closed the connection) 2020-01-05T00:59:38Z no-defun-allowed: sb-sys:without-gcing 2020-01-05T01:00:45Z oni-on-ion: eyetwitch. just make your own GC as one lisp object 2020-01-05T01:03:03Z ebrasca joined #lisp 2020-01-05T01:11:34Z torbo joined #lisp 2020-01-05T01:18:19Z rdh quit (Ping timeout: 258 seconds) 2020-01-05T01:20:53Z karlosz joined #lisp 2020-01-05T01:26:41Z terpri quit (Remote host closed the connection) 2020-01-05T01:27:00Z terpri joined #lisp 2020-01-05T01:32:14Z vidak` joined #lisp 2020-01-05T01:35:00Z libertyprime quit (Ping timeout: 265 seconds) 2020-01-05T01:35:07Z oni-on-ion: ah he left. found something rdh may have been interested in 2020-01-05T01:35:11Z wxie joined #lisp 2020-01-05T01:42:51Z FreeBirdLjj joined #lisp 2020-01-05T01:48:31Z ebrasca quit (Remote host closed the connection) 2020-01-05T01:48:32Z FreeBirdLjj quit (Ping timeout: 265 seconds) 2020-01-05T01:48:54Z longshi joined #lisp 2020-01-05T01:52:28Z copec: Is there a CL implementation that uses https://en.wikipedia.org/wiki/Resource_acquisition_is_initialization 2020-01-05T01:53:19Z pjb: Why would we use the dumb concepts from deficient languages? 2020-01-05T01:54:05Z copec: I'm interested in the type of systems software that would be the target for Rust 2020-01-05T01:54:31Z copec: I just really don't like the actual Rust language 2020-01-05T01:54:50Z pjb: Why do you care how implementations are implemented? 2020-01-05T01:54:51Z jebes quit (Quit: ZNC 1.7.4+deb7 - https://znc.in) 2020-01-05T01:54:58Z Oladon quit (Quit: Leaving.) 2020-01-05T01:55:21Z pjb: copec: you could have a look at clasp, or write your own CL implementation in C++… 2020-01-05T01:55:22Z copec: If you wanted precise memory control, or something embedded 2020-01-05T01:55:42Z pjb: You would still have to provide the CL memory model to user programs! 2020-01-05T01:56:54Z libertyprime joined #lisp 2020-01-05T01:57:16Z copec: I get that 2020-01-05T01:58:21Z hhdave joined #lisp 2020-01-05T02:01:25Z copec: http://cliffle.com/blog/m4vga-in-rust/ 2020-01-05T02:04:28Z bitmapper quit (Ping timeout: 260 seconds) 2020-01-05T02:06:47Z pjb: copec: perhaps you just need a sexp-ified rust, like Liskell for Haskell… 2020-01-05T02:08:03Z no-defun-allowed: pjb: perhaps *don't* 2020-01-05T02:08:33Z libertyprime quit (Ping timeout: 260 seconds) 2020-01-05T02:09:30Z no-defun-allowed: And no, RAII would not work in the presence of closures that outlive their creators. 2020-01-05T02:10:27Z copec: There are closures in Rust 2020-01-05T02:10:51Z copec: well, the married-cousins version 2020-01-05T02:10:57Z copec: https://doc.rust-lang.org/rust-by-example/fn/closures.html 2020-01-05T02:11:31Z no-defun-allowed: Could I write (let ((x 0)) (values (lambda () (incf x)) (lambda () x))) and call the first closure to increment the value produced by calling the second? 2020-01-05T02:13:19Z vidak` quit (Remote host closed the connection) 2020-01-05T02:13:48Z copec: I believe so, but don't quote me on that. 2020-01-05T02:14:20Z copec: I'm still just poking at Rust in my spare time 2020-01-05T02:14:44Z copec: mostly because I hear about how great its memory control is for systems code 2020-01-05T02:15:40Z no-defun-allowed: Much ado about nothing. 2020-01-05T02:15:50Z copec: yesh 2020-01-05T02:16:05Z ArthurStrong heard Rust is just like C++ with unique_ptr everywhere 2020-01-05T02:20:05Z libertyprime joined #lisp 2020-01-05T02:20:36Z vidak` joined #lisp 2020-01-05T02:27:19Z hhdave quit (Ping timeout: 258 seconds) 2020-01-05T02:28:07Z longshi quit (Ping timeout: 260 seconds) 2020-01-05T02:37:58Z lavaflow quit (Read error: Connection reset by peer) 2020-01-05T02:39:18Z lavaflow joined #lisp 2020-01-05T02:42:59Z copec: no-defun-allowed, yeah you can modify via a closure, but it is only ever a single reference that is borrowed in Rust vernacular. 2020-01-05T02:43:09Z libertyprime quit (Ping timeout: 265 seconds) 2020-01-05T02:44:30Z copec: While testing it out I landed at the docs for it https://doc.rust-lang.org/rust-by-example/fn/closures/capture.html 2020-01-05T02:44:37Z no-defun-allowed: I would guess there's two references there to that X. 2020-01-05T02:44:52Z Xach: there is a new quicklisp client today 2020-01-05T02:48:53Z no-defun-allowed: RAII doesn't seem like it'd handle upwards funargs well. None of the examples have those. 2020-01-05T02:50:06Z libertyprime joined #lisp 2020-01-05T02:50:29Z aeth: There are already some things that don't play nice with every situation, like declaring closures dynamic-extent (i.e. stack allocating them) 2020-01-05T02:50:50Z X-Scale quit (Ping timeout: 240 seconds) 2020-01-05T02:50:59Z copec: no-defun-allowed, apropos https://www.imdb.com/title/tt2094064/ 2020-01-05T02:51:24Z copec: ^Wife and I enjoy Josh Whedon stuff 2020-01-05T02:51:52Z no-defun-allowed: "A big fuss over a trifle, as in Jerry had everyone running around looking for his gloves—much ado about nothing. Although this expression is best remembered as the title of Shakespeare's comedy, the phrase much ado was already being used for a big commotion or trouble in the early 1500s." 2020-01-05T02:52:26Z xkapastel joined #lisp 2020-01-05T02:52:59Z X-Scale joined #lisp 2020-01-05T02:53:32Z copec: I'm sure, but it's not of colloquial use around these parts except for in reference to Shakespeare, and I rather enjoy Josh Whedon's version. 2020-01-05T02:56:41Z khisanth_ quit (Ping timeout: 265 seconds) 2020-01-05T03:02:12Z Lord_of_Life quit (Ping timeout: 258 seconds) 2020-01-05T03:02:48Z Lord_of_Life joined #lisp 2020-01-05T03:09:40Z khisanth_ joined #lisp 2020-01-05T03:16:12Z libertyprime quit (Quit: leaving) 2020-01-05T03:25:42Z mangul joined #lisp 2020-01-05T03:28:12Z MinnowTaur quit (Ping timeout: 260 seconds) 2020-01-05T03:34:12Z zaquest quit (Quit: Leaving) 2020-01-05T03:37:23Z zaquest joined #lisp 2020-01-05T03:38:07Z wxie quit (Ping timeout: 268 seconds) 2020-01-05T03:42:10Z quazimodo quit (Read error: Connection reset by peer) 2020-01-05T03:42:50Z refpga quit (Ping timeout: 258 seconds) 2020-01-05T03:47:26Z quazimodo joined #lisp 2020-01-05T03:54:24Z Oladon joined #lisp 2020-01-05T03:56:04Z scatterp joined #lisp 2020-01-05T04:01:16Z beach: Good morning everyone! 2020-01-05T04:17:06Z karlosz quit (Quit: karlosz) 2020-01-05T04:21:30Z MinnowTaur joined #lisp 2020-01-05T04:28:14Z hhdave joined #lisp 2020-01-05T04:29:59Z vidak` quit (Read error: Connection reset by peer) 2020-01-05T04:31:53Z karlosz joined #lisp 2020-01-05T04:34:56Z koenig: jackdaniel and eeeeeta: Success! After *much* debugging, I observed that WeeChat has a plugin that loads the Guile interpreter. 2020-01-05T04:35:15Z koenig: Guile uses a lot of the same special libraries that ECL uses, such as Bignum and stuff. 2020-01-05T04:35:43Z oni-on-ion: T_T i wanted to suggest that this morning. but i refrained because #lisp only is CL =( 2020-01-05T04:35:50Z koenig: HAHAHAHAHA 2020-01-05T04:36:01Z koenig: I don't trust Schemers... :) :) :) 2020-01-05T04:36:23Z no-defun-allowed: #f off 2020-01-05T04:36:41Z oni-on-ion: because they scheme? ^_^ 2020-01-05T04:36:50Z koenig: Man, I am so relieved I've figured this out finally. I can do some very basic calls between WeeChat handlers and ECL now. 2020-01-05T04:37:36Z koenig: A good side-effect is that I know a lot more about the internals of ECL (and WeeChat) now. I've single stepped through the ECL initialization so many times now. 2020-01-05T04:38:46Z koenig: I predict this project is going to get a lot more fun pretty quickly now. 2020-01-05T04:44:14Z epony quit (Quit: upgrades) 2020-01-05T04:57:02Z _whitelogger quit (Remote host closed the connection) 2020-01-05T04:57:40Z hhdave quit (Ping timeout: 268 seconds) 2020-01-05T04:59:15Z _whitelogger joined #lisp 2020-01-05T05:03:02Z _whitelogger quit (Remote host closed the connection) 2020-01-05T05:05:15Z _whitelogger joined #lisp 2020-01-05T05:12:29Z epony joined #lisp 2020-01-05T05:12:55Z mangul quit (Ping timeout: 258 seconds) 2020-01-05T05:18:41Z slyrus joined #lisp 2020-01-05T05:21:13Z mangul joined #lisp 2020-01-05T05:25:34Z whiteline quit (Ping timeout: 258 seconds) 2020-01-05T05:28:38Z mangul quit (Ping timeout: 260 seconds) 2020-01-05T05:44:52Z FreeBirdLjj joined #lisp 2020-01-05T05:49:21Z ArthurSt1ong joined #lisp 2020-01-05T05:52:47Z ArthurStrong quit (Ping timeout: 258 seconds) 2020-01-05T05:53:27Z ggole joined #lisp 2020-01-05T05:54:35Z bilegeek joined #lisp 2020-01-05T06:03:28Z Bike quit (Quit: Lost terminal) 2020-01-05T06:04:04Z bilegeek quit (Quit: Leaving) 2020-01-05T06:05:03Z ArthurSt1ong quit (Quit: leaving) 2020-01-05T06:10:03Z dddddd quit (Ping timeout: 260 seconds) 2020-01-05T06:11:34Z Oladon quit (Quit: Leaving.) 2020-01-05T06:11:38Z narimiran joined #lisp 2020-01-05T06:20:59Z rippa joined #lisp 2020-01-05T06:44:31Z vlatkoB joined #lisp 2020-01-05T06:51:33Z orivej joined #lisp 2020-01-05T06:58:06Z hhdave joined #lisp 2020-01-05T06:59:58Z ozzloy quit (Remote host closed the connection) 2020-01-05T07:00:28Z untakenstupidnic joined #lisp 2020-01-05T07:00:40Z untakenstupidnic quit (Remote host closed the connection) 2020-01-05T07:08:01Z easye`` quit (Ping timeout: 265 seconds) 2020-01-05T07:14:03Z orivej quit (Ping timeout: 258 seconds) 2020-01-05T07:25:51Z Oladon joined #lisp 2020-01-05T07:29:23Z hhdave quit (Ping timeout: 258 seconds) 2020-01-05T07:31:34Z karlosz quit (Quit: karlosz) 2020-01-05T07:35:26Z karlosz joined #lisp 2020-01-05T07:35:54Z akrl quit (Ping timeout: 258 seconds) 2020-01-05T07:39:27Z wxie joined #lisp 2020-01-05T07:54:01Z TheAlemazing joined #lisp 2020-01-05T07:58:20Z TheAlemazing quit (Read error: Connection reset by peer) 2020-01-05T07:58:57Z TheAlemazing joined #lisp 2020-01-05T07:58:59Z Qudit314159 joined #lisp 2020-01-05T08:00:44Z TheAlemazing whois 2020-01-05T08:00:45Z jonatack joined #lisp 2020-01-05T08:02:05Z xkapastel quit (Quit: Connection closed for inactivity) 2020-01-05T08:06:57Z wxie quit (Ping timeout: 258 seconds) 2020-01-05T08:07:48Z libertyprime joined #lisp 2020-01-05T08:09:24Z gravicappa joined #lisp 2020-01-05T08:14:23Z karlosz quit (Quit: karlosz) 2020-01-05T08:18:47Z FreeBirdLjj quit (Remote host closed the connection) 2020-01-05T08:19:05Z beach: TheAlemazing: What are you looking for? 2020-01-05T08:19:24Z FreeBirdLjj joined #lisp 2020-01-05T08:20:03Z retropikzel joined #lisp 2020-01-05T08:24:13Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2020-01-05T08:25:17Z akrl joined #lisp 2020-01-05T08:25:31Z Oladon quit (Quit: Leaving.) 2020-01-05T08:30:02Z whiteline joined #lisp 2020-01-05T08:42:02Z quazimodo quit (Ping timeout: 240 seconds) 2020-01-05T08:43:37Z ebrasca joined #lisp 2020-01-05T08:44:00Z quazimodo joined #lisp 2020-01-05T08:49:11Z torbo quit (Remote host closed the connection) 2020-01-05T08:54:52Z ebzzry quit (Ping timeout: 258 seconds) 2020-01-05T09:05:03Z eeeeeta: koenig: wait, so did you give up on ECL, or did you get it working? 2020-01-05T09:10:51Z jackdaniel: I think that he got it working. Given guile was started at the same time, I suspect that i.e libgc was initialized twice 2020-01-05T09:11:07Z jackdaniel: (once by guile init and the second time by ecl) 2020-01-05T09:11:55Z atgreen joined #lisp 2020-01-05T09:11:55Z orivej joined #lisp 2020-01-05T09:12:51Z jackdaniel: as of not trusting schemers, I would object, but looking at the ticket: https://savannah.nongnu.org/task/?7289 "task: Common Lisp support", and the resolving message "Done, with guile. New plugin: \"Guile\"" I'd say that this scheme dev is pretty cunning ,-) 2020-01-05T09:13:57Z Buggys joined #lisp 2020-01-05T09:19:29Z Shinmera: Hmmm! Having ECL with Weechat would lessen the effort needed to get a Lichat plugin going a lot 2020-01-05T09:20:03Z __vlgvrs joined #lisp 2020-01-05T09:22:30Z _paul0 quit (Ping timeout: 252 seconds) 2020-01-05T09:24:39Z eeeeeta: a lichat plugin? 2020-01-05T09:25:06Z eeeeeta: jackdaniel: ah, makes sense 2020-01-05T09:26:45Z Qudit314159 quit (Remote host closed the connection) 2020-01-05T09:27:18Z jackdaniel: of course if I were to make a wishlist contest, I'd say that libgc should signal a condition (OK, printf a message - it is C after all!) and carry on without crashing ;) but libgc is excellent aid in unix world nevertheless 2020-01-05T09:28:07Z Shinmera: eeeeeta: Make Weechat speak the Lichat protocol so I can use it as a client. https://shirakumo.github.io/lichat-protocol/ 2020-01-05T09:28:39Z hhdave joined #lisp 2020-01-05T09:29:57Z xkapastel joined #lisp 2020-01-05T09:30:42Z nowhere_man quit (Ping timeout: 246 seconds) 2020-01-05T09:31:37Z nowhere_man joined #lisp 2020-01-05T09:35:07Z TheAlemazing left #lisp 2020-01-05T09:45:50Z duuqnd joined #lisp 2020-01-05T09:48:07Z Tordek quit (Ping timeout: 268 seconds) 2020-01-05T09:51:19Z Tordek joined #lisp 2020-01-05T09:55:26Z Nistur quit (Ping timeout: 258 seconds) 2020-01-05T09:56:02Z Tordek quit (Ping timeout: 240 seconds) 2020-01-05T09:58:02Z hhdave quit (Ping timeout: 240 seconds) 2020-01-05T09:58:38Z gareppa joined #lisp 2020-01-05T10:11:22Z flip214: for ITERATE, if I COLLECT in multiple places in the loop, do I have to specify the same RESULT-TYPE every time, or is once enough? 2020-01-05T10:11:57Z flip214: (iter (if (first-iteration-p) (collect input result-type string into foo)) ... (collect val result-type string into foo)...) 2020-01-05T10:12:43Z dale quit (Quit: My computer has gone to sleep) 2020-01-05T10:12:44Z Tordek joined #lisp 2020-01-05T10:13:25Z Nistur joined #lisp 2020-01-05T10:21:35Z libertyprime quit (Quit: leaving) 2020-01-05T10:22:49Z gareppa quit (Quit: Leaving) 2020-01-05T10:32:50Z oni-on-ion quit (Remote host closed the connection) 2020-01-05T10:33:55Z dddddd joined #lisp 2020-01-05T10:36:04Z shifty quit (Ping timeout: 258 seconds) 2020-01-05T10:50:26Z narimiran quit (Ping timeout: 240 seconds) 2020-01-05T10:55:11Z defaultxr left #lisp 2020-01-05T11:09:20Z cosimone joined #lisp 2020-01-05T11:11:07Z dra joined #lisp 2020-01-05T11:16:31Z varjag joined #lisp 2020-01-05T11:16:55Z orivej quit (Ping timeout: 268 seconds) 2020-01-05T11:18:23Z okflo joined #lisp 2020-01-05T11:20:30Z william1 joined #lisp 2020-01-05T11:25:17Z okflo left #lisp 2020-01-05T11:26:31Z longshi joined #lisp 2020-01-05T11:26:55Z random-nick joined #lisp 2020-01-05T11:28:10Z ebrasca quit (Remote host closed the connection) 2020-01-05T11:36:37Z trafaret1 joined #lisp 2020-01-05T11:42:15Z josemanuel joined #lisp 2020-01-05T11:58:56Z hhdave joined #lisp 2020-01-05T12:02:22Z brown121407 quit (Ping timeout: 265 seconds) 2020-01-05T12:04:40Z brown121407 joined #lisp 2020-01-05T12:05:25Z wxie joined #lisp 2020-01-05T12:16:34Z trafaret1 left #lisp 2020-01-05T12:17:11Z atgreen quit (Quit: Leaving) 2020-01-05T12:23:30Z dra quit (Remote host closed the connection) 2020-01-05T12:28:28Z xuxuru joined #lisp 2020-01-05T12:30:18Z hhdave quit (Ping timeout: 258 seconds) 2020-01-05T12:32:00Z phoe: flip214: I'd take a look at the macroexpansion to see 2020-01-05T12:32:24Z phoe: I don't think the specification is going to answer this well enough 2020-01-05T12:34:26Z quazimodo quit (Ping timeout: 240 seconds) 2020-01-05T12:37:12Z cosimone quit (Quit: Quit.) 2020-01-05T12:39:33Z gravicappa quit (Ping timeout: 268 seconds) 2020-01-05T12:42:11Z terpri quit (Remote host closed the connection) 2020-01-05T12:42:36Z terpri joined #lisp 2020-01-05T12:45:23Z random-nick quit (Ping timeout: 265 seconds) 2020-01-05T12:50:50Z ebzzry joined #lisp 2020-01-05T12:55:43Z orivej joined #lisp 2020-01-05T12:57:05Z random-nick joined #lisp 2020-01-05T13:03:39Z retropikzel quit (Remote host closed the connection) 2020-01-05T13:14:14Z william1 quit (Quit: WeeChat 1.9.1) 2020-01-05T13:14:34Z xuxuru quit (Quit: xuxuru) 2020-01-05T13:14:53Z wxie quit (Ping timeout: 268 seconds) 2020-01-05T13:19:41Z __jrjsmrtn__ joined #lisp 2020-01-05T13:21:38Z _jrjsmrtn quit (Ping timeout: 265 seconds) 2020-01-05T13:25:55Z xantoz quit (Read error: Connection reset by peer) 2020-01-05T13:26:23Z xantoz joined #lisp 2020-01-05T13:30:02Z _whitelogger quit (Remote host closed the connection) 2020-01-05T13:32:07Z mangul joined #lisp 2020-01-05T13:32:16Z _whitelogger joined #lisp 2020-01-05T13:37:57Z cosimone joined #lisp 2020-01-05T13:43:02Z mangul is now known as shangul 2020-01-05T13:46:26Z orivej quit (Ping timeout: 240 seconds) 2020-01-05T13:53:03Z papachan joined #lisp 2020-01-05T14:06:09Z Bike joined #lisp 2020-01-05T14:06:31Z shangul quit (Ping timeout: 258 seconds) 2020-01-05T14:06:33Z mangul joined #lisp 2020-01-05T14:14:20Z narimiran joined #lisp 2020-01-05T14:16:39Z josemanuel quit (Quit: leaving) 2020-01-05T14:18:25Z jmercouris joined #lisp 2020-01-05T14:19:11Z Xach: Well, no bug reports for the new quicklisp client, i guess it must work! 2020-01-05T14:20:07Z beach: Congratulations! 2020-01-05T14:21:42Z EvW joined #lisp 2020-01-05T14:23:18Z jmercouris: lol :-D 2020-01-05T14:23:21Z jmercouris: no bug reports, no problem! 2020-01-05T14:24:36Z longshi quit (Ping timeout: 248 seconds) 2020-01-05T14:25:06Z gravicappa joined #lisp 2020-01-05T14:28:26Z bitmapper joined #lisp 2020-01-05T14:30:31Z hhdave joined #lisp 2020-01-05T14:32:30Z Xach: it is the ostritch method of quality metrics 2020-01-05T14:36:27Z Inline: give the bug a hug lol 2020-01-05T14:48:02Z _whitelogger quit (Remote host closed the connection) 2020-01-05T14:50:15Z _whitelogger joined #lisp 2020-01-05T14:51:38Z jmercouris quit (Ping timeout: 240 seconds) 2020-01-05T14:53:26Z p_l: https://twitter.com/RainerJoswig/status/1213484071952752640 <--- a bunch of LispM screenshots for interested people 2020-01-05T14:53:38Z phoe: wait, is there a new client 2020-01-05T14:58:11Z mangul quit (Remote host closed the connection) 2020-01-05T14:58:40Z mangul joined #lisp 2020-01-05T14:59:48Z hhdave quit (Ping timeout: 258 seconds) 2020-01-05T15:01:41Z mangul quit (Remote host closed the connection) 2020-01-05T15:02:07Z mangul joined #lisp 2020-01-05T15:04:47Z Lord_of_Life quit (Ping timeout: 258 seconds) 2020-01-05T15:07:50Z Lord_of_Life joined #lisp 2020-01-05T15:08:40Z papachan quit (Quit: Leaving) 2020-01-05T15:11:15Z random-nick quit (Ping timeout: 268 seconds) 2020-01-05T15:13:20Z duuqnd: I've gotten OpenGenera working on Linux except that using the meta (alt) key doesn't work (it works in xterm but not in the VLM window). Does anyone know what the problem might be? 2020-01-05T15:17:33Z clothespin joined #lisp 2020-01-05T15:24:32Z random-nick joined #lisp 2020-01-05T15:24:52Z epony quit (Quit: reconf) 2020-01-05T15:27:05Z p_l: check what key is reported when you hit alt 2020-01-05T15:27:13Z epony joined #lisp 2020-01-05T15:27:21Z p_l: I think there used to be some bits of mapping that had to be changed? 2020-01-05T15:27:47Z nowhere_man quit (Ping timeout: 265 seconds) 2020-01-05T15:28:27Z duuqnd: I'm not sure. I've noticed that when I hold Meta/Alt and press buttons on the top-row it types some strange characters. 2020-01-05T15:28:45Z duuqnd: Not just top-row actually. 2020-01-05T15:28:56Z duuqnd: A lot of keys do it. 2020-01-05T15:29:40Z duuqnd: p_l: I'm not really that experienced with Genera so I'm not sure how I'd see what keys are pressed. 2020-01-05T15:29:57Z p_l: duuqnd: under X11, a program (run in terminal) called `xev` 2020-01-05T15:30:37Z duuqnd: xev's telling me that I'm pressing the left alt key. 2020-01-05T15:30:58Z duuqnd: Alt works fine in xterm too, just not in the VLM. 2020-01-05T15:31:57Z FreeBirdLjj joined #lisp 2020-01-05T15:32:47Z sjl quit (Quit: WeeChat 2.2-dev) 2020-01-05T15:33:27Z duuqnd: I'm thinking that maybe it interprets Left Alt as the symbol key. 2020-01-05T15:34:37Z duuqnd: That wouldn't really make sense though, since symbol is supposed to be bound to Numpad 8. 2020-01-05T15:37:09Z cosimone quit (Quit: Terminated!) 2020-01-05T15:37:39Z duuqnd: Right Alt does the same thing, so I'm quite confused. 2020-01-05T15:42:26Z p_l: It should give you Meta_L, afaik 2020-01-05T15:42:39Z duuqnd: Yeah, that's what I've been seeing too. 2020-01-05T15:42:57Z p_l: I'm not at the computer right now, but there is a xmodmap file floating around to handle that 2020-01-05T15:43:29Z duuqnd: I'll look for that, thanks. I'll also read through the snap4 README and see if there's anything there. 2020-01-05T15:45:06Z duuqnd: The snap4 README mentions that Right Control is bound to Super, though, and that doesn't seem to be true. It also says that resizing the window doesn't work, but I've had no problems with it. 2020-01-05T15:47:41Z p_l: The issue is right in the name - the "snap" refers to "snapshot" and it was a bit broken both in snap4 and snap5 2020-01-05T15:47:59Z duuqnd: I haven't been able to find anything newer than snap4. 2020-01-05T15:48:13Z duuqnd: Where could I find the latest version? 2020-01-05T15:48:34Z p_l: Then you have the issue that OpenGenera, despite 2.0 number, is more of a beta.. 2020-01-05T15:48:45Z p_l: duuqnd: snap5 never worked for me 2020-01-05T15:49:02Z p_l: Nor did the community patched versions 2020-01-05T15:49:33Z duuqnd: Yeah, I'm using snap4 because it's the one thing that worked. All the others either didn't work at all or wouldn't let me reload a saved world. 2020-01-05T15:49:42Z whiteline quit (Remote host closed the connection) 2020-01-05T15:50:20Z whiteline joined #lisp 2020-01-05T15:54:58Z bitmapper: yeah, snap5 didn't work 2020-01-05T15:55:10Z bitmapper: i still haven't gotten snap6 to work either 2020-01-05T15:56:57Z duuqnd: I wonder where the xinput code would be. Would it be in the VLM or in Genera itself? 2020-01-05T15:57:22Z duuqnd: In the VLM I can only find mentions of input in relation to the cold load window. 2020-01-05T15:58:11Z karlosz joined #lisp 2020-01-05T15:58:30Z karlosz quit (Remote host closed the connection) 2020-01-05T15:58:44Z bitmapper: a bit of both 2020-01-05T15:59:32Z duuqnd: I'm gussing the actual X key to Genera key translation is done in Genera. Good thing Genera comes with the source code. 2020-01-05T16:00:19Z bitmapper: well, most of it 2020-01-05T16:01:18Z duuqnd: There's enough of it for it to be useful. It would be nice to have it all, but most is better than none. 2020-01-05T16:01:33Z clothespin quit 2020-01-05T16:02:48Z EvW quit (Ping timeout: 245 seconds) 2020-01-05T16:03:11Z clothespin joined #lisp 2020-01-05T16:03:43Z p_l: duuqnd: most of X11 handling is done in Genera 2020-01-05T16:04:28Z duuqnd: I found a package called xlib, so I'll try looking through that. 2020-01-05T16:06:11Z nowhere_man joined #lisp 2020-01-05T16:08:26Z zaquest quit (Quit: Leaving) 2020-01-05T16:09:20Z duuqnd: I found something in sys.sct/x11/clx/translate.lisp. I think it's defining keysyms. I'll try changing that. 2020-01-05T16:09:24Z nirved: duuqnd: have you checked here https://archives.loomcom.com/genera/genera-install.html ? 2020-01-05T16:10:02Z duuqnd: nirved: I've read that, yes. It never worked that well for me. I have been using that keymapping image alot though. 2020-01-05T16:10:22Z duuqnd: The one guide that actually worked for me was a youtube video. 2020-01-05T16:10:58Z duuqnd: This video is the only VLM on Linux guide that's worked for me. https://www.youtube.com/watch?v=12USa3gU_oU 2020-01-05T16:11:18Z p_l: duuqnd: it helps to have old X11 unless you have modelock patch applied 2020-01-05T16:11:33Z duuqnd: Yeah, I'm running Ubuntu 7.10 in a VM. 2020-01-05T16:11:44Z p_l: I keep an ubuntu image from I think 8.04 for that yeah 2020-01-05T16:12:04Z duuqnd: Right now I'm just trying to figure out why it maps my alt keys to Symbol. 2020-01-05T16:12:22Z nirved: duuqnd: what kind of VM? 2020-01-05T16:12:42Z duuqnd: nirved: I'm using VirtualBox, but I've had success with VMWare too. 2020-01-05T16:14:02Z zaquest joined #lisp 2020-01-05T16:14:04Z nirved: duuqnd: there was something about alt keys and running fullscreen without mouse integration 2020-01-05T16:14:34Z duuqnd: My alt keys actually work, they're just bound to the Symbol key for some reason. 2020-01-05T16:15:31Z duuqnd: The reason seems to be that in Genera's xlib, left meta has the keysym #xFFE7, but the actual keysym for left alt is #xFFE9. 2020-01-05T16:16:33Z nirved: does KP8 work as SYMBOL as well? 2020-01-05T16:16:39Z duuqnd: I'll try. 2020-01-05T16:16:53Z duuqnd: No, it doesn't. 2020-01-05T16:18:44Z duuqnd: There seems to be some strange definitions in xlib... left-meta-keysym exists, but so does left-alt-keysym. Now, that sounds like meta is actually supposed to be super, but left-super-keysym is also there. 2020-01-05T16:21:27Z jmercouris joined #lisp 2020-01-05T16:24:44Z duuqnd: I think I've got it... Maybe. So, I might be wrong here, but it seems that Alt, Meta, Super and Hyper are all different keys according to X. Genera maps X11 Meta to its own Meta keys, but my keyboard spits out Alt keysyms. 2020-01-05T16:25:20Z nirved: does xev in host return the same keysym as xev in guest? 2020-01-05T16:26:18Z duuqnd: I don't have xev installed on my host, but I can probably fix this by telling Genera to use X11 Alt key instead of X11 meta. 2020-01-05T16:26:39Z duuqnd: Then I can remap Symbol to something else. 2020-01-05T16:28:26Z duuqnd: I switched meta and alt in keysyms.lisp, so now all I need to do is to reload the keysyms.lisp file and make a new world file. Hopefully that will work. 2020-01-05T16:32:14Z p_l: duuqnd: there's also keyboard definition system you can use later 2020-01-05T16:32:35Z duuqnd: What's that? 2020-01-05T16:33:50Z Mandus quit (Quit: WeeChat 2.4) 2020-01-05T16:34:55Z p_l: A system to define mappings for Genera to adapt to different keyboards 2020-01-05T16:35:13Z p_l: BTW, I found xmodmap file for you: https://github.com/unya/opengenera/blob/master/keybindings.template 2020-01-05T16:35:23Z duuqnd: Thanks, I'll take a look at that. 2020-01-05T16:35:48Z duuqnd: That seems like a perfect fix! 2020-01-05T16:36:29Z duuqnd: I'll try this, thanks! 2020-01-05T16:38:25Z duuqnd: That worked! Thank you! 2020-01-05T16:41:12Z whiteline quit (Remote host closed the connection) 2020-01-05T16:41:41Z whiteline joined #lisp 2020-01-05T16:46:43Z galdor: I feel stupid: why does (macrolet ((foo (plist) `(list ,(getf plist :a)))) (foo '(:a 1 :b 2))) expands to (NIL) and not to (1) ? 2020-01-05T16:47:03Z galdor: since (getf '(:a 1 :b 2) :a) returns 1, it would feel logical 2020-01-05T16:47:49Z phoe: galdor: '(:a 1 :b 2) == (QUOTE (:a 1 :b 2)) 2020-01-05T16:48:18Z beach: Nice catch! 2020-01-05T16:48:30Z phoe: '(:a 1 :b 2) is a plist with one key that is the symbol QUOTE and one value that is the list (:a 1 :b 2) 2020-01-05T16:48:54Z galdor: oh of course 2020-01-05T16:48:59Z galdor: this is really stupid 2020-01-05T16:49:01Z galdor: thank you 2020-01-05T16:49:02Z phoe: which is a perversion of how plists are supposed to work, but nonetheless, it's getting interpreted like that since MACROLET macros get its arguments unevaluated 2020-01-05T16:49:11Z phoe: s/its/their/ 2020-01-05T16:49:56Z phoe: see a similar version, (macrolet ((foo (plist) `(list ,(getf plist 'quote)))) (foo '(:a 1 :b 2))) 2020-01-05T16:51:17Z shifty joined #lisp 2020-01-05T16:51:56Z galdor: this kind of thing isn't easy to debug 2020-01-05T16:52:02Z galdor: but now I get the idea 2020-01-05T16:52:05Z xkapastel quit (Quit: Connection closed for inactivity) 2020-01-05T16:52:39Z MichaelRaskin: Well, you can ask your macro to print stuff during the expansion 2020-01-05T16:52:40Z phoe: nowadays I debug macros via macrostep mode - it's amazing 2020-01-05T16:52:44Z __vlgvrs is now known as paul0 2020-01-05T16:53:14Z phoe: inline macroexpansions are amazing 2020-01-05T16:53:53Z galdor: I did not know about macrostep 2020-01-05T16:54:03Z galdor: now I have to read about it, this is exactly what I wanted 2020-01-05T16:54:46Z phoe: you want M-x macrostep-expand 2020-01-05T16:55:03Z phoe: once macrostep mode is triggered, use [e] to expand, [c] to collapse, [q] to quit 2020-01-05T16:55:23Z phoe: use your emacs point to tell emacs which macro form should be expanded next. 2020-01-05T16:55:29Z phoe: it works with local macros as well. 2020-01-05T16:55:29Z EvW1 joined #lisp 2020-01-05T16:55:39Z trittweiler joined #lisp 2020-01-05T16:55:51Z galdor: this is really magic 2020-01-05T16:56:15Z galdor: thank you so much 2020-01-05T16:57:42Z phoe: glad to be of help 2020-01-05T17:00:27Z nowhere_man quit (Ping timeout: 246 seconds) 2020-01-05T17:00:42Z nowhere_man joined #lisp 2020-01-05T17:02:05Z hhdave joined #lisp 2020-01-05T17:02:28Z brown121407 quit (Ping timeout: 258 seconds) 2020-01-05T17:02:51Z jmercouris quit (Ping timeout: 258 seconds) 2020-01-05T17:03:35Z brown121408 joined #lisp 2020-01-05T17:05:54Z karlosz joined #lisp 2020-01-05T17:07:44Z pnp joined #lisp 2020-01-05T17:25:05Z shifty quit (Ping timeout: 258 seconds) 2020-01-05T17:25:51Z shifty joined #lisp 2020-01-05T17:28:03Z orivej joined #lisp 2020-01-05T17:28:50Z hhdave quit (Ping timeout: 240 seconds) 2020-01-05T17:33:37Z karlosz quit (Quit: karlosz) 2020-01-05T17:34:46Z retropikzel joined #lisp 2020-01-05T17:37:38Z sauvin quit (Ping timeout: 240 seconds) 2020-01-05T17:37:51Z Vodyanoy joined #lisp 2020-01-05T17:38:10Z sauvin joined #lisp 2020-01-05T17:40:28Z sabrac joined #lisp 2020-01-05T17:54:28Z phoe: Xach: CLX-TRUTEYPE is dead. 2020-01-05T17:54:34Z phoe: The repo https://github.com/quicklisp/quicklisp-projects/blob/master/projects/clx-truetype/source.txt is no longer there. 2020-01-05T17:54:55Z sabrac quit (Quit: Konversation terminated!) 2020-01-05T17:55:53Z karlosz joined #lisp 2020-01-05T17:58:35Z FreeBirdLjj quit (Remote host closed the connection) 2020-01-05T17:59:09Z FreeBirdLjj joined #lisp 2020-01-05T17:59:58Z v88m quit (Ping timeout: 258 seconds) 2020-01-05T18:01:30Z sabrac joined #lisp 2020-01-05T18:03:28Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2020-01-05T18:07:07Z ravndal joined #lisp 2020-01-05T18:08:32Z Oladon joined #lisp 2020-01-05T18:09:49Z ravndal quit (Client Quit) 2020-01-05T18:11:01Z Jeanne-Kamikaze joined #lisp 2020-01-05T18:11:54Z ravndal joined #lisp 2020-01-05T18:13:36Z phoe: I've mailed the repository owner and made a q-p issue. 2020-01-05T18:14:53Z phoe: froggey: an interesting question arose at the ASDF repository, https://gitlab.common-lisp.net/asdf/asdf/issues/14#note_5636 2020-01-05T18:17:00Z phoe: I just encountered a case where I would need to make my Lisp library accessible from the C world. What solutions exist for that? 2020-01-05T18:20:17Z p_l: phoe: other than RPC, there's ECL, LW, and maybe SBCL 2020-01-05T18:20:36Z ahungry joined #lisp 2020-01-05T18:23:02Z MichaelRaskin: Note that RPC might include shared memeory buffers, so you can keep copying overhead at a reasonable level 2020-01-05T18:23:57Z phoe: I'm kind of puzzled because it's the first time I had someone request I make bindings for my code available *from* Lisp into C. 2020-01-05T18:24:07Z mangul quit (Ping timeout: 258 seconds) 2020-01-05T18:24:17Z froggey: phoe: not sure. the system starts a swank server by default, maybe talk to that? 2020-01-05T18:25:35Z phoe: froggey: ASDF tests seem to use a makefile. And I don't think Mezzano ships make. 2020-01-05T18:25:40Z phoe: That's going to be interesting. 2020-01-05T18:26:29Z MichaelRaskin: Are they on a Unix-like platform at least? 2020-01-05T18:27:24Z phoe: The tests could be run on any OS, since we're using VirtualBox to run Mezzano anyway. 2020-01-05T18:28:39Z neuro_sys joined #lisp 2020-01-05T18:28:53Z neuro_sys: How do you pronounce CDR? 2020-01-05T18:30:06Z phoe: https://en.wiktionary.org/wiki/cdr#Pronunciation 2020-01-05T18:30:19Z froggey: phoe: right, no make 2020-01-05T18:31:01Z phoe: I'm reading https://gitlab.common-lisp.net/asdf/asdf/blob/master/test/run-tests.sh right now 2020-01-05T18:31:08Z phoe: ;; no bourne shell either, I guess (; 2020-01-05T18:31:37Z froggey: noo 2020-01-05T18:32:10Z random-nick quit (Ping timeout: 258 seconds) 2020-01-05T18:35:09Z Achylles joined #lisp 2020-01-05T18:36:17Z p_l: phoe: on Windows you would have the option of doing a DCOM server 2020-01-05T18:37:18Z phoe: p_l: can't do that, I need it to work on Linux. 2020-01-05T18:38:30Z jeosol: Morning guys 2020-01-05T18:39:29Z random-nick joined #lisp 2020-01-05T18:39:43Z jeosol: Just want to confirm that it's still not possible to create core file from within EMACS+SLIME and only through shell. I am running sbcl and get the usual "Cannot save core with multiple threads running". I am not sure if this has changed yet. Thanks 2020-01-05T18:40:42Z jeosol: Or there is some kind of work around I am not aware of. 2020-01-05T18:40:46Z oni-on-ion joined #lisp 2020-01-05T18:40:56Z phoe: jeosol: this won't change AFAIK - if anything, you could script emacs to automatically run the inferior lisp and issue (asdf:make :myproject) 2020-01-05T18:41:10Z phoe: like, slime has nothing to do with it 2020-01-05T18:41:38Z phoe: swank has its own threads running, so running swank at all prevents core dumping. 2020-01-05T18:41:40Z MichaelRaskin: phoe: does your library need large amounts of data in the arguments or in the results? 2020-01-05T18:42:51Z oni-on-ion: phoe, not sure what is the situation, but would running lisp outside of emacs help ? then connect w/ slime 2020-01-05T18:43:07Z jeosol: phoe: Thanks for that. 2020-01-05T18:43:52Z v88m joined #lisp 2020-01-05T18:43:58Z phoe: oni-on-ion: nope, you cannot use slime on an image that you use for dumping a heap. Unless you somehow cause swank to take over the single thread of that image. 2020-01-05T18:44:08Z jeosol: I have an application that takes time to load so I prefer to use core file for fast restart. Often, I go off emacs+slime, load SBCL on shell, just to dump the core file and come back to emacs+slime, so I reload that updated image and continue developing. 2020-01-05T18:44:09Z phoe: MichaelRaskin: not really, less than a kilobyte per call. 2020-01-05T18:44:10Z oni-on-ion: ohhh, right right 2020-01-05T18:44:37Z random-nick quit (Ping timeout: 268 seconds) 2020-01-05T18:44:44Z phoe: jeosol: that's impossible with multithreaded swank loaded. 2020-01-05T18:44:47Z jeosol: I don't do it every time but sometimes after making some incompatible change, and need to recreate the core file. This is also application specific 2020-01-05T18:45:17Z jeosol: phoe: I am in agreement. I knew it was the case, but thought may be there was work around by this time. 2020-01-05T18:45:38Z jeosol: Thanks 2020-01-05T18:46:09Z MichaelRaskin: phoe: does latency (context-switch overhead) matter for the library? 2020-01-05T18:47:28Z Achylles quit (Quit: Leaving) 2020-01-05T18:47:33Z bitmapper quit (Remote host closed the connection) 2020-01-05T18:48:07Z bitmapper joined #lisp 2020-01-05T18:49:28Z frgo_ joined #lisp 2020-01-05T18:50:40Z phoe: MichaelRaskin: I think I've found the way, and it's called ECL. It exposes what I want. 2020-01-05T18:51:17Z phoe: Or rather, it allows a Lisp function to be called from C. 2020-01-05T18:51:22Z MichaelRaskin: That's true; be careful about the signal use, though 2020-01-05T18:51:57Z MichaelRaskin: Just yesterday in this channel there was a conversation about debugging ECL use inside a WeeChat plugin… 2020-01-05T18:52:02Z frgo quit (Ping timeout: 240 seconds) 2020-01-05T18:52:38Z bitmapper quit (Ping timeout: 268 seconds) 2020-01-05T18:52:43Z jackdaniel: the problem was apparently double inititialization of some shared libraries (like libgc) by both guile and ecl 2020-01-05T18:53:13Z xvx joined #lisp 2020-01-05T18:53:20Z MichaelRaskin: The second problem, after the signal conflict was sorted out? 2020-01-05T18:54:13Z gravicappa quit (Ping timeout: 260 seconds) 2020-01-05T18:54:46Z p_l: jackdaniel: sounds like a reason to support more separation in compilation 2020-01-05T18:54:48Z jackdaniel: maybe, it was unclear to me from the conclusion 2020-01-05T18:54:56Z jackdaniel: p_l: ? 2020-01-05T18:55:22Z jackdaniel: it is already possible to statically link libgc with ecl, and it doesn't interfere with shared libgc 2020-01-05T18:55:30Z jackdaniel: (same goes for gmp and libffi) 2020-01-05T18:55:37Z p_l: jackdaniel: nice 2020-01-05T18:55:49Z p_l: Now I only need to finally test static compile against musl 2020-01-05T18:55:51Z bitmapper joined #lisp 2020-01-05T18:55:56Z jackdaniel: as of making libgc more resilent to double initialization it is a question to bdwgc maintainers 2020-01-05T18:57:21Z random-nick joined #lisp 2020-01-05T18:57:25Z Vodyanoy quit (Quit: Leaving) 2020-01-05T19:02:23Z cyraxjoe quit (Ping timeout: 265 seconds) 2020-01-05T19:02:23Z jmercouris joined #lisp 2020-01-05T19:03:26Z phoe: do they know of the issue? 2020-01-05T19:04:45Z jackdaniel: technically it is not an issue 2020-01-05T19:04:55Z jackdaniel: being more resilent would be a feature 2020-01-05T19:04:55Z gigetoo joined #lisp 2020-01-05T19:05:45Z phoe: well, if two different libraries can clash with each other by just using a single shared libgc then I'd say it's a real-world issue 2020-01-05T19:06:18Z phoe: specifically if the user wants to use these libraries and doesn't want to concern themselves with what they are using under the hood 2020-01-05T19:08:09Z jackdaniel: I don't share your opinion, but you are free to suggest such improvement 2020-01-05T19:08:52Z phoe: jackdaniel: OK 2020-01-05T19:14:46Z slyrus quit (Quit: Leaving) 2020-01-05T19:16:34Z phoe: huh. Very weird. It seems that bdwgc already contains protection against multiple initialization at https://github.com/ivmai/bdwgc/blob/master/misc.c#L907 and its inner code calls GC_init() fearlessly. 2020-01-05T19:16:41Z phoe: But that's getting offtopic now. 2020-01-05T19:18:00Z cyraxjoe joined #lisp 2020-01-05T19:22:50Z mercourisj joined #lisp 2020-01-05T19:22:56Z jmercouris quit (Disconnected by services) 2020-01-05T19:22:59Z mercourisj is now known as jmercouris 2020-01-05T19:27:53Z p_l: phoe: the classic solution in Windows world (where it's common to have conflicting dependencies that might not interact right) is to statically link such runtime dependencies into shared library and not reexpose them 2020-01-05T19:28:04Z p_l: kinda making the shared library into a closure 2020-01-05T19:28:09Z phoe: hah 2020-01-05T19:31:28Z hhdave joined #lisp 2020-01-05T19:44:00Z brettgilio quit (Ping timeout: 252 seconds) 2020-01-05T19:50:16Z karlosz quit (Remote host closed the connection) 2020-01-05T19:52:30Z analogue joined #lisp 2020-01-05T19:52:49Z nullniverse joined #lisp 2020-01-05T19:53:49Z ggole quit (Quit: Leaving) 2020-01-05T19:57:16Z ahungry quit (Remote host closed the connection) 2020-01-05T19:59:34Z jmercouris quit (Ping timeout: 258 seconds) 2020-01-05T20:00:43Z hhdave quit (Ping timeout: 260 seconds) 2020-01-05T20:04:44Z xvx quit (Quit: xvx) 2020-01-05T20:14:24Z analogue quit (Ping timeout: 265 seconds) 2020-01-05T20:16:22Z cosimone joined #lisp 2020-01-05T20:19:08Z whiteline quit (Remote host closed the connection) 2020-01-05T20:21:51Z whiteline joined #lisp 2020-01-05T20:21:52Z brown121408 quit (Read error: Connection reset by peer) 2020-01-05T20:23:24Z brown121408 joined #lisp 2020-01-05T20:36:51Z random-nick quit (Ping timeout: 268 seconds) 2020-01-05T20:40:30Z retropikzel quit (Quit: Leaving) 2020-01-05T20:49:13Z xvx joined #lisp 2020-01-05T20:52:24Z pnp quit (Remote host closed the connection) 2020-01-05T20:53:09Z vlatkoB quit (Read error: Connection reset by peer) 2020-01-05T20:53:59Z phoe: froggey: "That said, if some Mezzano maven wanted to have ASDF tests run on Mezzano, they could "just" write some script that starts Mezzano in a new VM, with the ASDF directory magically mounted on the "same" path (and/or suitable paths copied in before the tests and copied out after them)." 2020-01-05T20:54:05Z phoe: that's from that asdf issue 2020-01-05T20:56:40Z random-nick joined #lisp 2020-01-05T20:56:54Z patlv joined #lisp 2020-01-05T21:00:29Z karlosz joined #lisp 2020-01-05T21:02:57Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2020-01-05T21:03:07Z brettgilio joined #lisp 2020-01-05T21:08:03Z karlosz quit (Ping timeout: 265 seconds) 2020-01-05T21:08:35Z jfb4 joined #lisp 2020-01-05T21:10:52Z jfb4 quit (Remote host closed the connection) 2020-01-05T21:11:14Z ealfonso joined #lisp 2020-01-05T21:12:15Z karlosz joined #lisp 2020-01-05T21:13:10Z analogue joined #lisp 2020-01-05T21:14:13Z mathrick quit (Ping timeout: 260 seconds) 2020-01-05T21:19:04Z jfb4 joined #lisp 2020-01-05T21:19:19Z xvx quit (Quit: xvx) 2020-01-05T21:23:33Z jmercouris joined #lisp 2020-01-05T21:25:00Z duuqnd quit 2020-01-05T21:31:15Z lavaflow quit (Ping timeout: 265 seconds) 2020-01-05T21:37:38Z lavaflow joined #lisp 2020-01-05T21:39:53Z whiteline quit (Read error: Connection reset by peer) 2020-01-05T21:40:09Z whiteline joined #lisp 2020-01-05T21:40:26Z narimiran quit (Ping timeout: 240 seconds) 2020-01-05T21:43:12Z Jeanne-Kamikaze quit (Quit: Leaving) 2020-01-05T21:44:47Z orivej quit (Ping timeout: 265 seconds) 2020-01-05T21:46:46Z pfdietz28 joined #lisp 2020-01-05T21:48:35Z orivej joined #lisp 2020-01-05T21:57:38Z jmercouris quit (Ping timeout: 268 seconds) 2020-01-05T22:02:01Z hhdave joined #lisp 2020-01-05T22:02:21Z Josh_2: Hi, can anyone show me some more examples or an article anything really on the style used here? https://plaster.tymoon.eu/view/1633#1633 It took me a moment to figure out what was going on 2020-01-05T22:03:51Z jeosol quit (Ping timeout: 260 seconds) 2020-01-05T22:05:56Z phoe: set-log-level should be (setf log-level) 2020-01-05T22:06:08Z jackdaniel: s/should/could/ 2020-01-05T22:06:36Z xuxuru joined #lisp 2020-01-05T22:06:37Z jackdaniel: (setf (log-level) :debug) ; looks weird, you setf log-level of /what/ 2020-01-05T22:06:59Z phoe: hm 2020-01-05T22:07:03Z phoe: that's a compelling argument 2020-01-05T22:07:25Z phoe: s/compelling/guh I need to find the proper word 2020-01-05T22:07:29Z Josh_2: It's not originally my code, I just changed it slightly 2020-01-05T22:07:33Z phoe: oh! convincing 2020-01-05T22:07:34Z pjb: Josh_2: so what is it you don't understand? 2020-01-05T22:08:00Z Josh_2: Well I understand it now, I'm just curious whether this approach to the problem has a name 2020-01-05T22:08:17Z jackdaniel: Josh_2: that's basically how you would implement log levels (some parts could be phrased differently) -- I don't think it is complex enough to give it a name 2020-01-05T22:08:19Z pjb: Josh_2: I would have used a vector and an index, and mapped the keyword argument to (setf log-level) to this index to avoid the assoc… 2020-01-05T22:08:41Z pjb: Josh_2: you could call it caching of method. 2020-01-05T22:08:49Z Josh_2: pjb: see that's the sort of route I would have taken 2020-01-05T22:09:03Z phoe: same here 2020-01-05T22:09:09Z phoe: someone wanted to type it out explicitly though 2020-01-05T22:09:24Z Josh_2: jackdaniel: alrighty, I was just curious as it seemed very obscure to me 2020-01-05T22:10:41Z jackdaniel: note that there are two "entries", one is the current loglevel and the second is a message loglevel 2020-01-05T22:11:40Z Josh_2: Yes 2020-01-05T22:12:44Z jackdaniel: so verifying whether a message loglevel matches the current log level is not a keyword comparison but rather member for active levels 2020-01-05T22:12:54Z jackdaniel: s/for active/of active/ 2020-01-05T22:12:54Z phoe: Josh_2: https://plaster.tymoon.eu/view/1633#1634 2020-01-05T22:13:08Z patlv quit (Ping timeout: 260 seconds) 2020-01-05T22:13:27Z phoe: that's the way I'd write it 2020-01-05T22:13:30Z jackdaniel: phoe: member in set-log-level may be less efficient than ecase 2020-01-05T22:13:44Z jackdaniel: not that it matters much here 2020-01-05T22:14:01Z phoe: jackdaniel: hm, correct - that could be the reason why an ecase was chosen 2020-01-05T22:14:20Z phoe: it would get optimized to two jumps instead of list traversal 2020-01-05T22:14:34Z learning joined #lisp 2020-01-05T22:14:39Z phoe: mayyybe if *debug-levels* was a constant... one could dream 2020-01-05T22:14:51Z phoe: oh well - less performant but somewhat more readable I hope 2020-01-05T22:14:57Z scatterp: hi i have an unformated lisp file and i am trying to view it in vim with formatting and rainbow mode when i enable the built in rainbow mode of vim it only highlights a few lines of the code can anyone help me with this? 2020-01-05T22:15:11Z phoe: scatterp: give us a screenshot 2020-01-05T22:15:16Z scatterp: one moment 2020-01-05T22:16:40Z mathrick joined #lisp 2020-01-05T22:17:00Z pjb: Josh_2: https://termbin.com/x9ft 2020-01-05T22:17:24Z scatterp: phoe https://pasteboard.co/IOCqN3f.png 2020-01-05T22:17:59Z phoe: this doesn't look like Lisp in the slightest 2020-01-05T22:18:06Z phoe: could you show me a screenshot of the beginning of the file? 2020-01-05T22:18:18Z scatterp: phoe, one moment 2020-01-05T22:18:22Z pjb: jackdaniel: (setf (level :log) :debug) ??? 2020-01-05T22:18:47Z scatterp: phoe, that is the beginning of the file 2020-01-05T22:18:51Z phoe: pjb: (decf (level :sea)) ;; solves global warming 2020-01-05T22:19:12Z phoe: scatterp: this stuff doesn't look like Lisp at all 2020-01-05T22:19:16Z scatterp: phoe, i may be missunderstanding something i converted from ruby to s expression is that not lisp ? 2020-01-05T22:19:18Z no-defun-allowed: I think that is something like a dump of a Julia program. It's definitely not Lisp though. 2020-01-05T22:19:37Z no-defun-allowed: No, there are semantics attached and that is not Cambridge prefix either. 2020-01-05T22:19:50Z scatterp: ah ok 2020-01-05T22:20:07Z phoe: definitely not any kind of Common Lisp source 2020-01-05T22:20:23Z no-defun-allowed: You could open it in Emacs, select it all and use C-M-\ possibly. 2020-01-05T22:20:39Z scatterp: tried with emacs would not work 2020-01-05T22:20:51Z scatterp: let me see if i can find the correct channel .. 2020-01-05T22:21:32Z scatterp: hmm 2020-01-05T22:21:38Z scatterp: on google it says An s-expression, also known as a sexpr or sexp, is a way to represent a nested list of data. It stands for "symbolic expression," and it is commonly encountered in the Lisp programming language and variants of Lisp such as Scheme, Racket, and Clojure 2020-01-05T22:22:29Z no-defun-allowed: Yes, but those aren't s-expressions. 2020-01-05T22:22:51Z scatterp: ok let me check something one moment 2020-01-05T22:23:03Z shifty quit (Ping timeout: 260 seconds) 2020-01-05T22:23:05Z phoe: this looks like Ruby source code 2020-01-05T22:23:17Z phoe: with all the "s(...)" calls 2020-01-05T22:23:31Z no-defun-allowed: It looks more like bytecode that's been disassembled after a second glance. 2020-01-05T22:23:37Z phoe: maybe the *result* of running this Ruby code will generate a S-expression 2020-01-05T22:27:16Z scatterp: yes so we started with a ruby file and then disassmbled it to "that" 2020-01-05T22:27:34Z scatterp: but as far as i understand that is sexp and its read back in to ruby using 2020-01-05T22:28:02Z scatterp: some ruby code which i can pastebin 2020-01-05T22:28:25Z Shinmera: ruby is off topic. 2020-01-05T22:29:00Z ealfonso quit (Ping timeout: 252 seconds) 2020-01-05T22:29:00Z no-defun-allowed: No, those aren't s-expressions. 2020-01-05T22:29:28Z no-defun-allowed: Your code looks like :foo(bar, baz), but S-expressions look like (foo bar baz) 2020-01-05T22:30:32Z scatterp: i see 2020-01-05T22:30:47Z aindilis quit (Remote host closed the connection) 2020-01-05T22:30:50Z hhdave quit (Ping timeout: 240 seconds) 2020-01-05T22:30:59Z sabrac quit (Ping timeout: 258 seconds) 2020-01-05T22:31:15Z scatterp: not to divert back to ruby because my point is to understand what this code is i understood it was lisp from this link http://timelessrepo.com/sexp-for-rubyists which sugests its lisp 2020-01-05T22:31:30Z scatterp: if its not it seems maybe its a close varient i mean its not c++ for sure.. 2020-01-05T22:31:51Z Shinmera: Whatever the case it's not Common Lisp, so off topic. 2020-01-05T22:32:14Z no-defun-allowed: People can be wrong on the internet. 2020-01-05T22:32:47Z no-defun-allowed: And if someone complains about parentheses in the same post as they are explaining S-expressions, they are instantly unqualified to talk about them. 2020-01-05T22:33:04Z phoe: it looks much more like a case for ##lisp which is a general-Lisp channel; this one is strictly for Common Lisp, a particular dialect of Lisp 2020-01-05T22:33:16Z scatterp: ah! 2020-01-05T22:33:20Z scatterp: ok let me try there 2020-01-05T22:34:13Z scatterp: just to clarify because its really confusing for me... 2020-01-05T22:34:17Z no-defun-allowed: If you're putting out that code, and in Ruby, please don't. 2020-01-05T22:34:56Z scatterp: s-expressions is a way to express code in the language lisp but sexp is not a language ? 2020-01-05T22:35:07Z no-defun-allowed: Correct. 2020-01-05T22:35:17Z no-defun-allowed: And that parse tree isn't an s-expression. 2020-01-05T22:36:05Z scatterp: so confusing 2020-01-05T22:36:07Z phoe: no-defun-allowed: it actually is an S-expression, just represented in a way that is readable in Ruby. 2020-01-05T22:36:34Z scatterp: phoe my screenshot you mean ? 2020-01-05T22:36:36Z phoe: yes 2020-01-05T22:36:45Z phoe: a Lisp compiler will choke on it 2020-01-05T22:37:09Z scatterp: ruby lisp compiler accepts it (with the exception theres a bracket out of place) 2020-01-05T22:37:18Z no-defun-allowed: I guess it is a representation of symbols and arrays, but they don't follow S-expression syntax at all. 2020-01-05T22:37:24Z analogue quit (Read error: Connection reset by peer) 2020-01-05T22:37:29Z phoe: no-defun-allowed: not the Lisp sexp syntax, correct 2020-01-05T22:37:40Z phoe: but then again, in this case, this looks much more like an emacs issue with rainbow-parens than anything else 2020-01-05T22:37:55Z scatterp: not quite phoe i have a story about that :) 2020-01-05T22:38:40Z scatterp: i tried to do rainbow with emacs for days with the support channel for emacs anyway multiple people worked with me on it and it didnt work out so thats how i ended up in vim tried in windows and linux also 2020-01-05T22:38:56Z phoe: If I open up emacs in ruby-mode with rainbow-parens active and then copypaste the snipper from the ruby article you posted, I get https://i.imgur.com/ufjlWt4.png - so stuff seems to work 2020-01-05T22:39:19Z phoe: well then, it seems like an issue with your editor setup - I don't think a channel dedicated to Common Lisp is going to be of much help to you 2020-01-05T22:39:43Z scatterp: in linux i installed a package called Rainbow (luochen) and it did the same as the image i sent finally i found out vim has support for rainbow built in enabled it thats the screenshot i sent you 2020-01-05T22:40:04Z phoe: in that case it'll be #vim 2020-01-05T22:41:35Z scatterp: yeah tried there thats why i came here i thought maybe language specific help might be better because its not just the colors its the formating and pretty printing i need to do but it seems if i understand correctly its an issue more for ##lisp 2020-01-05T22:46:45Z phoe: scatterp: #lisp can't help you with language-specific help if Common Lisp isn't the language 2020-01-05T22:46:48Z phoe: and it isn't 2020-01-05T22:47:37Z sabrac joined #lisp 2020-01-05T22:51:03Z lavaflow quit (Ping timeout: 260 seconds) 2020-01-05T22:52:48Z turona joined #lisp 2020-01-05T22:53:11Z lavaflow joined #lisp 2020-01-05T23:07:12Z longshi joined #lisp 2020-01-05T23:08:23Z xuxuru quit (Quit: xuxuru) 2020-01-05T23:13:08Z aindilis joined #lisp 2020-01-05T23:18:25Z orivej quit (Ping timeout: 268 seconds) 2020-01-05T23:26:08Z slyrus joined #lisp 2020-01-05T23:29:11Z random-nick quit (Ping timeout: 265 seconds) 2020-01-05T23:31:12Z zmt00 joined #lisp 2020-01-05T23:33:27Z zmt00 quit (Client Quit) 2020-01-05T23:34:23Z galdor: I'm wondering if there's a way to sort of wrap a condition into a new one: this way you get the information and context of the new one, but do not lose access to the stack trace and information of the first one 2020-01-05T23:34:54Z zmt00 joined #lisp 2020-01-05T23:35:08Z galdor: a classic example would be when a low level routine signaled an error, but it was HANDLER-CASE catched at application level to indicate that something failed somewhere, and signaled as a new condition 2020-01-05T23:35:34Z learning quit (Remote host closed the connection) 2020-01-05T23:36:04Z galdor: and if you do not do this kind of intercept + signal again, you end up without any context of what led to the error without decyphering the stack trace, which sucks for non-developers 2020-01-05T23:39:03Z LdBeth: galdor: then 2020-01-05T23:39:11Z LdBeth: when you get a condition 2020-01-05T23:39:33Z LdBeth: it is usually not the fault of the low level one 2020-01-05T23:40:28Z LdBeth: but you should check if wrong argument has been passed to the higher level interface, or you have a bug in your code 2020-01-05T23:40:44Z LdBeth: assume the low level one works all right 2020-01-05T23:41:28Z longshi quit (Read error: Connection reset by peer) 2020-01-05T23:42:07Z galdor: sure if you have a bug in your code; but most errors I deal with are external data validation, system errors, things you cannot stop happening by calling functions differently 2020-01-05T23:43:04Z learning joined #lisp 2020-01-05T23:43:24Z galdor: in that case, I want both to keep access to the original condition, its data and its stack trace, and wrap it to signal a high level error which will be more palatable (because a condition telling me "cannot read file foo.txt" does not help in any way) 2020-01-05T23:44:39Z Bike: galdor: if you use handler-bind instead of handler-case, the stack will not be unwound, so the trace is preserved 2020-01-05T23:45:05Z Bike: so you can signal your new wrapped condition from the handler. 2020-01-05T23:45:54Z galdor: ah this is true 2020-01-05T23:46:04Z galdor: this could work 2020-01-05T23:47:10Z Bike: lisp compilers, which are the most involved users of the condition system i know of, tend to do this 2020-01-05T23:48:20Z saravia joined #lisp 2020-01-05T23:49:51Z galdor: yup it works perfectly well 2020-01-05T23:49:58Z varjag quit (Quit: ERC (IRC client for Emacs 26.1)) 2020-01-05T23:50:00Z galdor: thank you 2020-01-05T23:53:11Z gxt joined #lisp 2020-01-05T23:53:46Z raghavgururajan joined #lisp 2020-01-06T00:03:25Z learning_ joined #lisp 2020-01-06T00:03:59Z learning quit (Ping timeout: 265 seconds) 2020-01-06T00:04:20Z cosimone quit (Ping timeout: 248 seconds) 2020-01-06T00:04:36Z galdor: crap I was sure that having two :TREE sexps in an ASDF config file means systems from the second one override systems in the first 2020-01-06T00:04:40Z galdor: well apparently not 2020-01-06T00:09:28Z oni-on-ion quit (Ping timeout: 245 seconds) 2020-01-06T00:10:40Z galdor: at some point I'm just going to go back to hacking *central-registry* 2020-01-06T00:11:16Z EvW1 quit (Ping timeout: 248 seconds) 2020-01-06T00:13:30Z oni-on-ion joined #lisp 2020-01-06T00:13:52Z turona quit (Ping timeout: 252 seconds) 2020-01-06T00:13:59Z turona_ joined #lisp 2020-01-06T00:15:47Z slyrus_ joined #lisp 2020-01-06T00:16:41Z turona_ quit (Client Quit) 2020-01-06T00:17:26Z Qudit314159 joined #lisp 2020-01-06T00:18:33Z slyrus quit (Ping timeout: 260 seconds) 2020-01-06T00:29:36Z notzmv quit (Ping timeout: 265 seconds) 2020-01-06T00:36:35Z hhdave joined #lisp 2020-01-06T00:36:38Z EvW joined #lisp 2020-01-06T00:37:15Z learning_ quit (Remote host closed the connection) 2020-01-06T00:47:35Z terpri_ joined #lisp 2020-01-06T00:49:41Z mathrick quit (Ping timeout: 268 seconds) 2020-01-06T00:50:22Z terpri quit (Ping timeout: 260 seconds) 2020-01-06T00:52:51Z pjb quit (Remote host closed the connection) 2020-01-06T00:56:28Z pjb joined #lisp 2020-01-06T00:57:41Z atgreen joined #lisp 2020-01-06T00:57:46Z gendl: hi, speaking of output-translations, I'm having trouble followinghttps://common-lisp.net/project/asdf/asdf/Output-Configuration-DSL.html#Output-Configuration-DSL. What output translation would I need simply to prepend a static root directory to the source directory, e.g. ~/genworks/staging/default/... 2020-01-06T00:58:29Z gendl: sorry the following... got stuck onto the url. Url for the DSL description is https://common-lisp.net/project/asdf/asdf/Output-Configuration-DSL.html#Output-Configuration-DSL 2020-01-06T01:00:49Z pjb quit (Remote host closed the connection) 2020-01-06T01:01:30Z hhdave quit (Ping timeout: 265 seconds) 2020-01-06T01:03:21Z pjb joined #lisp 2020-01-06T01:06:58Z EvW quit (Ping timeout: 245 seconds) 2020-01-06T01:08:47Z pjb quit (Remote host closed the connection) 2020-01-06T01:10:24Z pjb joined #lisp 2020-01-06T01:11:45Z MichaelRaskin quit (Quit: MichaelRaskin) 2020-01-06T01:20:02Z scatterp quit (Remote host closed the connection) 2020-01-06T01:20:28Z turona joined #lisp 2020-01-06T01:24:01Z akoana joined #lisp 2020-01-06T01:35:38Z raghavgururajan quit (Read error: Connection reset by peer) 2020-01-06T01:39:02Z _whitelogger quit (Remote host closed the connection) 2020-01-06T01:41:15Z _whitelogger joined #lisp 2020-01-06T01:41:29Z Qudit314159 quit (Ping timeout: 268 seconds) 2020-01-06T02:05:18Z bitmapper quit (Ping timeout: 265 seconds) 2020-01-06T02:12:27Z supersaravia joined #lisp 2020-01-06T02:12:48Z neuro_sys quit (Remote host closed the connection) 2020-01-06T02:13:02Z saravia quit (Ping timeout: 265 seconds) 2020-01-06T02:13:56Z smokeink joined #lisp 2020-01-06T02:23:49Z pfdietz28 quit (Remote host closed the connection) 2020-01-06T02:44:58Z ebzzry quit (Ping timeout: 260 seconds) 2020-01-06T02:51:19Z X-Scale` joined #lisp 2020-01-06T02:53:01Z X-Scale quit (Ping timeout: 268 seconds) 2020-01-06T02:53:01Z X-Scale` is now known as X-Scale 2020-01-06T02:53:33Z ahungry joined #lisp 2020-01-06T02:56:31Z notzmv joined #lisp 2020-01-06T03:01:50Z hhdave joined #lisp 2020-01-06T03:03:26Z Lord_of_Life_ joined #lisp 2020-01-06T03:05:43Z Lord_of_Life quit (Ping timeout: 265 seconds) 2020-01-06T03:05:44Z Oladon quit (Quit: Leaving.) 2020-01-06T03:06:18Z Lord_of_Life_ is now known as Lord_of_Life 2020-01-06T03:09:13Z patlv joined #lisp 2020-01-06T03:12:44Z X-Scale quit (Ping timeout: 258 seconds) 2020-01-06T03:13:34Z X-Scale` joined #lisp 2020-01-06T03:14:39Z X-Scale` is now known as X-Scale 2020-01-06T03:17:56Z karlosz quit (Quit: karlosz) 2020-01-06T03:20:54Z Josh_2: phoe: your approach is most likely how I would solved the problem, atleast similar anyway 2020-01-06T03:26:41Z karlosz joined #lisp 2020-01-06T03:29:11Z ebzzry joined #lisp 2020-01-06T03:31:31Z defaultxr joined #lisp 2020-01-06T03:31:52Z hhdave quit (Ping timeout: 268 seconds) 2020-01-06T03:35:02Z kscarlet joined #lisp 2020-01-06T03:36:42Z kscarlet: anybody has idea/pointer to efficient implementation of multiple dispatch in CLOS? 2020-01-06T03:37:18Z kscarlet: There's trick for single dispatch and trick for single inheritance, but CLOS has both MS/MI 2020-01-06T03:37:56Z Bike: kscarlet: https://dl.acm.org/doi/10.1145/2635648.2635654 here's a newish method 2020-01-06T03:38:18Z kscarlet: Bike: thx so much 2020-01-06T03:43:35Z loke: sci-hub is fialing to download that one 2020-01-06T03:48:00Z Bike: beach might have a pdf lying around somewhere. the sources should be in the sicl repository 2020-01-06T03:48:48Z kscarlet` joined #lisp 2020-01-06T03:49:28Z Bike: i could also just summarize it, since i've worked on an implementation 2020-01-06T03:50:16Z loke: I'd hope so. He's listed as the autor :-) 2020-01-06T03:50:53Z kscarlet quit (Ping timeout: 260 seconds) 2020-01-06T03:51:53Z akoana left #lisp 2020-01-06T03:52:09Z kscarlet`: Bike: I see, this is basically improving look up in the memoization table 2020-01-06T03:52:23Z no-defun-allowed: kscarlet`: http://metamodular.com/SICL/generic-dispatch.pdf 2020-01-06T03:52:30Z no-defun-allowed: ow, Markdown exploded again 2020-01-06T03:52:36Z no-defun-allowed: kscarlet: http://metamodular.com/SICL/generic-dispatch.pdf 2020-01-06T03:52:45Z Bike: oh, there we are. 2020-01-06T03:53:10Z kscarlet`: Bike: I'm more concerned on the efficient implementation of a raw dispatch without any previous caching. I imagine this will be crucial for very dynamic code, e.g. creating subclasses in a inner loop 2020-01-06T03:53:37Z Bike: i don't know that anybody has worked on that. 2020-01-06T03:53:43Z Bike: code like that is very rare. 2020-01-06T03:53:46Z no-defun-allowed: Basically, every class gets a fixnum ID, then to dispatch, binary-search on the ID to find the appropriate method 2020-01-06T03:53:49Z Bike: well, worked on it much. 2020-01-06T03:54:04Z Bike: in particular, defining a class is almost certainly going to be slow in itself 2020-01-06T03:54:16Z kscarlet`: ok fair 2020-01-06T03:54:21Z LdBeth: kscarlet: Not necessarily CLOS relevant, but there's some info on a whole program optimization compiler for a MP/MI language called Cecil http://projectsweb.cs.washington.edu/research/projects/cecil/www/vortex.html 2020-01-06T03:54:51Z no-defun-allowed: I made an implementation of that which dispatched on bytes for an interpreter, but it is single-dispatch and pretty static so it's probably not what you are looking for. 2020-01-06T03:55:12Z kscarlet`: single-dispatch is much much easier to deal with 2020-01-06T03:55:19Z mathrick joined #lisp 2020-01-06T03:55:36Z LdBeth: And Cecil largely resembles CLOS 2020-01-06T03:55:53Z kscarlet`: i've read lots of paper on efficient dispatching, but none of them has MI&MD&call-next-method 2020-01-06T03:56:03Z kscarlet`: LdBeth: ok let me see 2020-01-06T03:57:46Z LdBeth: Some one I know in PL research field makes a comment on this like "no particularly innovative compiler technology demonstrated in the paper" 2020-01-06T03:57:56Z kscarlet`: LdBeth: so it's static 2020-01-06T03:58:45Z kscarlet`: Bike: for that memoizing vs update stuff, I have a idea to mem-protect a modified instance and update the instances on segfault and GC 2020-01-06T03:58:48Z LdBeth: kscarlet`: Cecil does dynamic dispatch, like CLOS 2020-01-06T03:59:07Z Bike: "memoizing vs update stuff"? 2020-01-06T03:59:38Z patlv quit (Ping timeout: 260 seconds) 2020-01-06T04:00:11Z kscarlet`: Bike: because CLOS is interactive you need some wrapper/update stamp etc to make memoization work 2020-01-06T04:00:21Z kscarlet`: Bike: on updates 2020-01-06T04:00:31Z Bike: yes. 2020-01-06T04:00:54Z kscarlet`: Bike: to my understanding this is a major performance penality and also what that paper intend to optimize 2020-01-06T04:01:17Z kscarlet`: Bike: I'm thinking using mem protect to deal with update, thus make slot access/generic method even cheaper 2020-01-06T04:01:43Z Bike: well, the paper is based on the premise that re/defining methods and classes is rare and doesn't need to be optimized so much. and you only need to update instances when a class is redefined. 2020-01-06T04:02:09Z kscarlet`: that's also my premise 2020-01-06T04:02:23Z Bike: i thought you were defining classes in an inner loop. 2020-01-06T04:02:32Z kscarlet`: now i changed my context 2020-01-06T04:02:36Z kscarlet`: and i changed my mind 2020-01-06T04:02:42Z Bike: alright. 2020-01-06T04:02:44Z Bike: (updating an instance is also customizable with the update-instance-for-redefined-class function) 2020-01-06T04:03:42Z kscarlet`: what's the problem of this? limitations in signal handler and functions called by gc? 2020-01-06T04:04:03Z zooey quit (Ping timeout: 240 seconds) 2020-01-06T04:05:12Z Bike: well honestly i don't think i understand exactly what you mean - are you saying that rather than letting instance updates be handled by clos per se, you put a trap on the slots' memory so that when they're accessed the updating stuff is done? 2020-01-06T04:05:15Z Oladon joined #lisp 2020-01-06T04:05:17Z zooey joined #lisp 2020-01-06T04:06:33Z kscarlet`: i mean putting a trap on the updated class object 2020-01-06T04:07:12Z Bike: slot access doesn't really need to touch the class object. 2020-01-06T04:07:56Z kscarlet`: well, then trap also need to be put on slot vector 2020-01-06T04:08:08Z Bike: like what i said? 2020-01-06T04:08:13Z kscarlet`: yes 2020-01-06T04:08:28Z kscarlet`: so no need checking when no update 2020-01-06T04:08:33Z kscarlet`: and handle update in the trap 2020-01-06T04:08:38Z Bike: right, i see. 2020-01-06T04:09:03Z kscarlet`: do u think this work 2020-01-06T04:09:14Z Bike: in beach's method this isn't necessary since checking for obsoleteness is part of the dispatch. for other algorithms it could be nice? that kind of trap isn't my expertise unfortunately. 2020-01-06T04:09:45Z kscarlet`: ok thx 2020-01-06T04:13:21Z thewrinklyninja joined #lisp 2020-01-06T04:23:13Z thewrinklyninja quit (Quit: Leaving) 2020-01-06T04:36:18Z jeosol joined #lisp 2020-01-06T04:41:27Z madmonkey quit (Remote host closed the connection) 2020-01-06T04:47:17Z FreeBirdLjj joined #lisp 2020-01-06T04:55:31Z Qudit314159 joined #lisp 2020-01-06T04:58:18Z beach: Good morning everyone! 2020-01-06T04:58:50Z smokeink quit (Ping timeout: 240 seconds) 2020-01-06T05:04:30Z smokeink joined #lisp 2020-01-06T05:09:41Z Bike quit (Quit: Lost terminal) 2020-01-06T05:11:33Z Josh_2: Mornin beach 2020-01-06T05:15:03Z beach: Josh_2: The general name of that programming style is "data-driven programming". 2020-01-06T05:15:13Z smokeink quit (Read error: Connection reset by peer) 2020-01-06T05:15:29Z beach: It was mostly replaced by the more general concept of "object-oriented programming", but it can still be useful in some situations. 2020-01-06T05:16:38Z kscarlet` quit (Ping timeout: 260 seconds) 2020-01-06T05:16:58Z supersaravia quit (Remote host closed the connection) 2020-01-06T05:18:36Z FreeBirdLjj quit (Remote host closed the connection) 2020-01-06T05:20:19Z oxum quit (Read error: Connection reset by peer) 2020-01-06T05:26:20Z smokeink joined #lisp 2020-01-06T05:26:44Z karlosz quit (Quit: karlosz) 2020-01-06T05:26:58Z karlosz joined #lisp 2020-01-06T05:30:12Z saravia joined #lisp 2020-01-06T05:33:20Z hhdave joined #lisp 2020-01-06T05:35:41Z sindan quit (Remote host closed the connection) 2020-01-06T05:36:08Z sindan joined #lisp 2020-01-06T05:36:44Z oxum joined #lisp 2020-01-06T05:37:56Z atgreen_ joined #lisp 2020-01-06T05:40:45Z atgreen quit (Ping timeout: 268 seconds) 2020-01-06T05:41:23Z oxum quit (Remote host closed the connection) 2020-01-06T05:44:35Z oxum joined #lisp 2020-01-06T05:45:54Z oxum quit (Remote host closed the connection) 2020-01-06T05:48:43Z oxum joined #lisp 2020-01-06T05:49:18Z stux|RC-only quit (Ping timeout: 260 seconds) 2020-01-06T05:49:56Z Oladon quit (Quit: Leaving.) 2020-01-06T05:50:02Z Demosthenex: anyone care to comment: https://www.reddit.com/r/programming/comments/ejxwlu/hello_world/fd5iovn/ i'm not the hottest lisper ;] 2020-01-06T05:50:21Z karlosz quit (Remote host closed the connection) 2020-01-06T05:50:38Z pjb: Demosthenex: well, you can have a look at my take on it: http://github.com/informatimago/hw 2020-01-06T05:50:52Z no-defun-allowed: `(write-line "Hello world")` 2020-01-06T05:51:03Z oxum_ joined #lisp 2020-01-06T05:51:09Z oxum_ quit (Read error: Connection reset by peer) 2020-01-06T05:51:32Z oxum quit (Read error: Connection reset by peer) 2020-01-06T05:51:40Z pjb: I'd use (write-line "Hello World!") rather than print… 2020-01-06T05:51:47Z oxum joined #lisp 2020-01-06T05:52:11Z Demosthenex: ah, well it was still small. ;] 2020-01-06T05:52:27Z no-defun-allowed: And Common Lisp is not really a language you use for making "small" programs, since it is very interactive unlike others where you get no control over the process after you compile it. 2020-01-06T05:53:03Z Demosthenex: pjb: the discussion was over the number of system calls and binary sizes for just hello world 2020-01-06T05:53:08Z Demosthenex: not strictly hello world itself ;] 2020-01-06T05:53:27Z pjb: Demosthenex: then type make and ls -l 2020-01-06T05:53:27Z no-defun-allowed: So, a good number of the syscalls will be to set up the SBCL process and tear it back down. 2020-01-06T05:53:59Z pjb: or make test 2020-01-06T05:54:19Z Demosthenex: no-defun-allowed: i agree. i noted that in my comment to the article. the disassembled hello world procedure is only 50 bytes of assembly... but the image is 43 MB. startup time is pretty good though 2020-01-06T05:54:43Z Demosthenex: it's better than node! ;] 2020-01-06T05:54:54Z no-defun-allowed: However most programs are somewhat more complex than printing "Hello, world!" so I wouldn't be worried. 2020-01-06T05:55:29Z Demosthenex: wasn't, the OP article was about a comparison of hello world in many langs with a comparison of the syscalls and sizes. just interesting 2020-01-06T05:55:36Z aeth: Demosthenex: CL doesn't really produce executables in normal operation. For a light program you'd just use an existing CL image rather than something like save-lisp-and-die, which would be more for something big like a computer game or a web browser. 2020-01-06T05:55:37Z pjb: Demosthenex: notably: 2020-01-06T05:55:37Z pjb: -rwxr-xr-x 1 pjb staff 8432 May 5 2019 hw-c 2020-01-06T05:55:37Z pjb: -rwxr-xr-x 1 pjb staff 8696 May 5 2019 hw-ecl 2020-01-06T05:55:44Z Demosthenex: what i was curious about is did i miss something that could improve the CL score 2020-01-06T05:55:47Z stux|RC-only joined #lisp 2020-01-06T05:55:52Z pjb: No significant difference between ecl and gcc!!! 2020-01-06T05:56:03Z no-defun-allowed: The only way to win is not to play, IMHO. 2020-01-06T05:56:15Z pjb: But clisp beats them flat: -rwxr-xr-x 1 pjb staff 2285 May 5 2019 hw-lisp-clisp-fas 2020-01-06T05:56:20Z pjb: It's an executable. 2020-01-06T05:56:49Z no-defun-allowed: Let the others mess about with shaving bytes, then ask them why they did when they ask you how to debug their mess. 2020-01-06T05:57:08Z oxum quit (Remote host closed the connection) 2020-01-06T05:57:47Z mathrick quit (Ping timeout: 265 seconds) 2020-01-06T05:58:40Z oxum joined #lisp 2020-01-06T06:02:57Z hhdave quit (Ping timeout: 268 seconds) 2020-01-06T06:10:03Z saravia quit (Quit: Leaving) 2020-01-06T06:11:35Z dddddd quit (Ping timeout: 268 seconds) 2020-01-06T06:19:06Z Inline quit (Read error: Connection reset by peer) 2020-01-06T06:19:34Z Inline joined #lisp 2020-01-06T06:19:34Z Inline quit (Client Quit) 2020-01-06T06:38:53Z sabrac quit (Ping timeout: 260 seconds) 2020-01-06T06:39:58Z sabrac joined #lisp 2020-01-06T06:42:54Z Demosthenex: i agree the lisp interpreter provides plenty of features, and it's cool to see that ecl is the same size =] 2020-01-06T06:42:58Z White_Flame: what's the asdf syntax for specifying an individual file in another subdirectory? 2020-01-06T06:42:59Z jeosol: pjb: do know have speed metrics, off your head, for clisp vs. SBCL. I use the latter mostly 2020-01-06T06:43:37Z jeosol: * do you have ... 2020-01-06T06:43:58Z White_Flame: (oh, nevermind, had bad syntax in there. plain slashes work) 2020-01-06T06:45:55Z eeeeeta: No significant difference between ecl and gcc!!! 2020-01-06T06:46:01Z eeeeeta: pjb: ...doesn't ECL invoke GCC 2020-01-06T06:46:50Z gravicappa joined #lisp 2020-01-06T06:48:19Z oni-on-ion: im waiting for https://mailman.common-lisp.net/pipermail/ecl-devel/2019-December/011462.html 2020-01-06T06:48:47Z johnjay: someone was asking in ##C about how to use cpp macros to check if a float was between 0 and 1. 2020-01-06T06:49:02Z johnjay: i was thinking, not only can you do that with lisp and regexp, but has someone already designed a lisp build system? 2020-01-06T06:49:05Z johnjay: like ninja but lisp 2020-01-06T06:49:06Z oni-on-ion: tell them to use 'cmacro' 2020-01-06T06:49:20Z karlosz joined #lisp 2020-01-06T06:49:21Z shifty joined #lisp 2020-01-06T06:49:43Z oni-on-ion: johnjay, like quicklisp/asdf but external ? looks like each implementation has their own kind of such thing for building 2020-01-06T06:50:09Z johnjay: yes that 2020-01-06T06:50:38Z johnjay: in fact why use cpp at all. just mix sexp's into your code directly 2020-01-06T06:51:05Z oni-on-ion: if i was doing just C, i'd definately use https://github.com/eudoxia0/cmacro 2020-01-06T06:51:34Z oni-on-ion: and oh look, that home page links to this -> https://www.xach.com/lisp/buildapp/ 2020-01-06T06:51:34Z Necktwi quit (Read error: Connection reset by peer) 2020-01-06T06:58:57Z beach: Demosthenex: It is usually not an interpreter. 2020-01-06T07:02:01Z beach: Demosthenex: To many people, when you tell them that Common Lisp is interpreted, they (rightly so) conclude that it must be slow. 2020-01-06T07:02:50Z beach: Demosthenex: The best way of avoiding such rumors is to tell them that most modern systems compile to native code, which is the case. 2020-01-06T07:03:52Z oxum_ joined #lisp 2020-01-06T07:04:01Z oxum_ quit (Read error: Connection reset by peer) 2020-01-06T07:04:06Z oxum quit (Read error: Connection reset by peer) 2020-01-06T07:04:35Z oxum joined #lisp 2020-01-06T07:05:39Z Qudit314159 quit (Remote host closed the connection) 2020-01-06T07:06:07Z ahungry quit (Remote host closed the connection) 2020-01-06T07:06:59Z narimiran joined #lisp 2020-01-06T07:07:01Z eeeeeta: wait, does that ECL tiny binary contain code for calling eval 2020-01-06T07:07:15Z eeeeeta: I refuse to believe there's a complete Lisp interpreter in that thing 2020-01-06T07:07:26Z beach: Doesn't ECL come with a shared library? 2020-01-06T07:07:44Z no-defun-allowed: Yeah, I think ECL programs will link to a libecl somewhere. 2020-01-06T07:07:57Z beach: Just like C does (which explains the small binaries you get with C). 2020-01-06T07:09:37Z oxum quit (Remote host closed the connection) 2020-01-06T07:09:53Z beach: A shared library is actually a good way to silence those who complain about large binaries. 2020-01-06T07:10:00Z oxum joined #lisp 2020-01-06T07:10:02Z khisanth_ quit (Ping timeout: 240 seconds) 2020-01-06T07:10:07Z beach: Not that it's important per se. 2020-01-06T07:10:17Z eeeeeta: ah right 2020-01-06T07:10:22Z eeeeeta: that makes much more sense 2020-01-06T07:10:42Z eeeeeta is used to Rust where stable ABIs aren't a thing and all of the stdlib is in the binary 2020-01-06T07:11:35Z pjb: eeeeeta: of course, ecl uses gcc. What's the point? 2020-01-06T07:12:13Z eeeeeta: pjb: well assuming ECL generates good C code, you're just comparing gcc to gcc :p 2020-01-06T07:12:44Z beach: eeeeeta: It is not that simple, given that Common Lisp is dynamically typed. 2020-01-06T07:13:00Z eeeeeta: hmmm 2020-01-06T07:13:15Z eeeeeta: well I wonder whether that example had type declarations everywhere or not 2020-01-06T07:13:53Z pjb: the point here is that there's a CL library, just like there's a C library. libecl is about the same size as libc. Other CL implementation statically link this CL library in the lisp images. clisp (fasls) and ecl don't. 2020-01-06T07:13:55Z oni-on-ion: ECL is indeed full lisp, and has shared lib 2020-01-06T07:14:44Z pjb: Why shared library were invented? For space saving! Why is there no pressure to share space in modern CL implementations? Because we are not space constrained anymore! 2020-01-06T07:14:51Z orivej joined #lisp 2020-01-06T07:15:36Z pjb: oni-on-ion: even if you try to imagine a situation where this could be a problem it doesn't break: we're in a O(1) situation, not a O(n) one! 2020-01-06T07:15:52Z pjb: ie. there's a finite number of programs installed on a platform. 2020-01-06T07:16:00Z eeeeeta: but yeah, I am probably oversimplifying things here 2020-01-06T07:16:37Z oni-on-ion: ECL's configure script takes --enable-shared (default=YES) 2020-01-06T07:16:39Z Necktwi joined #lisp 2020-01-06T07:16:44Z oni-on-ion: also https://gitlab.com/embeddable-common-lisp/ecl/tree/develop/examples/embed 2020-01-06T07:20:13Z beach: pjb: Unix-style shared libraries were invented in order to compensate for a particularly stupid operating systems. A lot more sophisticated techniques existed before Unix destroyed those techniques, and the knowledge about them. 2020-01-06T07:23:22Z khisanth_ joined #lisp 2020-01-06T07:24:07Z oni-on-ion: hmm. arent they a good thing, .so ? 2020-01-06T07:24:17Z oni-on-ion: i vaguely remember the transition from .a in linux 2020-01-06T07:24:26Z beach: oni-on-ion: As you as it gets if Unix is all you have, sure. 2020-01-06T07:24:54Z beach: I mean, the knowledge is still around, of course, but generations of developers now think that Unix is the best thing since sliced bread, and that nothing better existed before. 2020-01-06T07:24:57Z oni-on-ion: nowadays we bundle everything into an app, like AppImage, Electron, any mobile apps... 2020-01-06T07:25:29Z oni-on-ion: i was looking at the Plan 9 editor today, Acme, briefly. and the Alef programming lang originally used to implement it 2020-01-06T07:25:45Z orivej quit (Ping timeout: 265 seconds) 2020-01-06T07:25:50Z beach: As *good* as it gets. Sorry. 2020-01-06T07:26:10Z mangul joined #lisp 2020-01-06T07:27:12Z oni-on-ion: its ok =) hmm. 2020-01-06T07:28:14Z beach: oni-on-ion: What is disturbing to me is that the Unix static linking was incredibly stupid, and then we invent a kludge like Unix-style shared libraries to somewhat compensate for that stupidity, and everybody thinks it is great. 2020-01-06T07:28:43Z oni-on-ion: what would be best, in your eyes ? 2020-01-06T07:29:28Z beach: I'll answer that differently by saying that Multics was way better than Unix. 2020-01-06T07:29:43Z beach: Developers today really need to read up on their history in order not to be duped by silly kludges. 2020-01-06T07:30:36Z oni-on-ion: 10000% agree with that one. 2020-01-06T07:30:43Z oni-on-ion: going to check out the multics stuff 2020-01-06T07:30:56Z karlosz quit (Quit: karlosz) 2020-01-06T07:31:01Z beach: Sure, but we can do even better today. 2020-01-06T07:31:51Z oni-on-ion: i am thinking we might have to. things are getting quite out of hand out there in the wild 2020-01-06T07:32:23Z beach: You might want to read metamodular.com/closos.pdf to get some ideas of what could be done. 2020-01-06T07:33:04Z beach: I really think we need to abandon this idea from the 1950s that we should always write code as if we have the entire physical machine available. 2020-01-06T07:33:07Z oxum_ joined #lisp 2020-01-06T07:33:20Z oni-on-ion: ahh i see the multics dynamic linking -- i'd say also that is how i would imagine things to happen. that is how i imagine something like Genera to operate but i am not sure. 2020-01-06T07:33:35Z beach: I thing Genera is very different. 2020-01-06T07:33:56Z oni-on-ion: beach, ahh, yeah =) i will actually load that pdf and read it. apologies for not having done so yet 2020-01-06T07:34:16Z oni-on-ion: well, the idea of multics where files and processes are in the same "space" 2020-01-06T07:34:21Z beach: Dynamic linking like that is needed only when this silly programming model is a must. 2020-01-06T07:34:24Z oni-on-ion: that is a big point of confusion/complexity for any modern OS 2020-01-06T07:34:59Z beach: That's not quite true about Multics. 2020-01-06T07:35:26Z beach: It had no files. It had "segments" that behaved like primary memory. 2020-01-06T07:35:47Z beach: But it did have processes, but more course-grained than those of Unix. 2020-01-06T07:36:20Z beach: So, Multics had the same problem as Unix, in that you can't send a pointer across process boundaries. 2020-01-06T07:36:28Z oxum quit (Ping timeout: 258 seconds) 2020-01-06T07:36:42Z oni-on-ion: eh yeah, that is what i meant 2020-01-06T07:36:57Z oni-on-ion: hmm. 2020-01-06T07:37:55Z beach: So I am not advocating a return to Multics. I am advocating something like Genera, except also safe and multi-user. 2020-01-06T07:38:00Z oxum joined #lisp 2020-01-06T07:38:45Z oxum quit (Remote host closed the connection) 2020-01-06T07:39:10Z beach: But then, people need to abandon this silly idea from 60 or more years ago, that we should program as if we have access to the physical machine, with its RAM starting at address 0, and with the call stack fully accessible. 2020-01-06T07:39:18Z oxum_ quit (Read error: Connection reset by peer) 2020-01-06T07:39:20Z oxum joined #lisp 2020-01-06T07:39:46Z White_Flame: the Mill CPU has an interesting model of pointer-passing in a single-address space with process-style but heirarchical memory protection 2020-01-06T07:39:55Z beach: That's not what we have done though. We invented shared libraries. Then we invented ASLR to compensate for the silliness of shared libraries. 2020-01-06T07:40:29Z beach: White_Flame: Interesting. 2020-01-06T07:41:13Z beach: I think we can do well with existing hardware though, if we just abandon this silly programming model that has caused so much problems. 2020-01-06T07:41:34Z beach: s/much/many/ 2020-01-06T07:41:52Z lieven: the AS400 had also some neat ideas. kind of the anti unix. nothing is a stream of bytes. everything is a typed object. 2020-01-06T07:41:55Z White_Flame: sure, but you might fight against the hardware performance-wise, but as long as the functionality is transparently supported in the environment, the speed can come later 2020-01-06T07:42:06Z beach: lieven: Definitely. 2020-01-06T07:42:25Z White_Flame: yeah, streams of bytes is a real big complaint of mine as well 2020-01-06T07:42:41Z beach: White_Flame: On the contrary, my proposal makes context-switches unnecessary, so things will be much faster. 2020-01-06T07:43:44Z beach: Recent research is moving I/O to user space to compensate for context-switch slowness, making the system even more complicated and less safe, all in order to preserve the silly programming model. 2020-01-06T07:44:13Z beach: So it is yet another kludge to avoid questioning the silliness of this model. 2020-01-06T07:45:58Z scymtym quit (Ping timeout: 260 seconds) 2020-01-06T07:46:25Z lieven: well, even the chip designers have to do this since it's been found impossible to teach random programmers to write working large scale parallel programs 2020-01-06T07:47:05Z lieven: so we have underneath a large amount of ALU's and then a layer that pretends it's just one CPU 2020-01-06T07:47:16Z lieven: and then came spectre and the like 2020-01-06T07:49:11Z oni-on-ion: hmmmm 2020-01-06T07:49:31Z beach: Indeed. Processor manufacturers are working hard to make people believe that they are still making PDP-11s. 2020-01-06T07:49:53Z shifty quit (Ping timeout: 258 seconds) 2020-01-06T07:50:32Z beach: The amount of silicon real-estate that is costing is staggering. 2020-01-06T07:51:03Z beach: Not to mention the energy it costs to run the thing. 2020-01-06T07:51:22Z jackdaniel: eeeeeta: libecl is around 3.5MB after stripping and it has full common lisp environment at your disposal 2020-01-06T07:51:32Z jackdaniel: compiler to C is another 500KB 2020-01-06T07:51:34Z eeeeeta not bad meme 2020-01-06T07:52:00Z eeeeeta: okay my Rust 200MB binaries are starting to look a tad ridiculous now 2020-01-06T07:52:14Z eeeeeta: although that's all due to monomorphization, probably 2020-01-06T07:52:57Z lieven: probably not something they've put a lot of effort in 2020-01-06T07:53:02Z eeeeeta: no 2020-01-06T07:53:13Z lieven: there's no reason something like a tree shaker couldn't be written for Rust 2020-01-06T07:53:17Z jackdaniel: sorry, compiler is 1.1MB after striping 2020-01-06T07:53:23Z eeeeeta: well they do thinLTO 2020-01-06T07:53:36Z eeeeeta: and LTO is pretty much a tree shaker AIUI 2020-01-06T07:53:51Z eeeeeta: it's not unused stdlib code that's the problem though 2020-01-06T07:53:59Z no-defun-allowed: They make unpolymorphic code from every possible type fed to polymorphic code? 2020-01-06T07:54:08Z eeeeeta: yep 2020-01-06T07:54:09Z lieven: yeah 2020-01-06T07:54:32Z no-defun-allowed: WHY? 2020-01-06T07:54:35Z lieven: at source level even if I understand correctly 2020-01-06T07:54:56Z no-defun-allowed: I'm pretty sure every ML-ish compiler spits out polymorphic code. 2020-01-06T07:55:31Z eeeeeta: optimizing for runtime performance 2020-01-06T07:55:53Z eeeeeta: you can use trait objects for dynamic dispatch though 2020-01-06T07:56:00Z ebzzry: Why are alist items dotted lists? 2020-01-06T07:56:10Z pjb: ebzzry: because they are not. 2020-01-06T07:56:10Z ebzzry: Or, why are dotted lists used most frequently? 2020-01-06T07:56:27Z pjb: ebzzry: they are pairs of (key . value). 2020-01-06T07:57:00Z pjb: dotted lists are not used frequently at all, because they make one more special case to test when processing them! 2020-01-06T07:57:36Z ebzzry: pjb: hm 2020-01-06T07:57:49Z no-defun-allowed recalls a significant part of Appel's compiler book was about how to make polymorphic data layouts and code 2020-01-06T07:57:52Z beach: ebzzry: What would you have liked for them to be instead? 2020-01-06T07:57:52Z ebzzry: Does PAIRLIS only create dotted lists? 2020-01-06T07:58:29Z pjb: ebzzry: no, it only creates proper lists. Because alists are proper lists! 2020-01-06T07:58:58Z pjb: (proper-list-p (pairlis '(:k1 :k2 :k3) '(1 2 3))) #| --> t |# 2020-01-06T07:59:05Z eeeeeta: lists of cons pairs, that is 2020-01-06T07:59:09Z ebzzry: beach: nothing special. I was just wondering that a common use of alist is with dotted lists. 2020-01-06T07:59:12Z ebzzry: Indeed. 2020-01-06T07:59:37Z pjb: ebzzry: but you're wrong: there is no dotted list in an a-list (unless you put one yourself there). 2020-01-06T07:59:51Z pjb: ebzzry: a-lists are PROPER lists of pairs! 2020-01-06T08:00:00Z ebzzry: pjb: Yes, you are correct. 2020-01-06T08:00:03Z beach: ebzzry: If the data items are proper lists, the alist items will be proper lists as well. 2020-01-06T08:00:12Z ebzzry: alists are proper lists of pairs. 2020-01-06T08:00:50Z beach: ebzzry: But the CDR of each pair may be a proper list. 2020-01-06T08:01:00Z beach: ebzzry: In which case, no dotted lists are involved. 2020-01-06T08:01:00Z ebzzry: Is it faster to get v, when the structure is (k . v) instead of (k v)? 2020-01-06T08:01:08Z eeeeeta: yes 2020-01-06T08:01:23Z eeeeeta: you follow 1 pointer instead of 2 2020-01-06T08:01:25Z ebzzry: eeeeeta: by a factor of how much, in estimate? 2020-01-06T08:01:33Z eeeeeta: uh, 2?? 2020-01-06T08:01:36Z pjb: :-) 2020-01-06T08:01:42Z ebzzry: ;-) 2020-01-06T08:01:43Z beach: ebzzry: Of course. One is (CDR x), the other one is (CAR (CDR x)). 2020-01-06T08:03:05Z hhdave joined #lisp 2020-01-06T08:03:17Z ebzzry: I have always wondered about it but never tested it. :-) 2020-01-06T08:07:20Z ArthurStrong joined #lisp 2020-01-06T08:09:20Z jprajzne joined #lisp 2020-01-06T08:10:35Z gravicappa quit (Ping timeout: 258 seconds) 2020-01-06T08:14:13Z orivej joined #lisp 2020-01-06T08:20:38Z White_Flame: ebzzry: in modern systems, the memory bandwidth and cache pressure is probably going to be more constraining than the raw CPU clocks 2020-01-06T08:21:06Z ebzzry: White_Flame: hm 2020-01-06T08:25:53Z beach: I second that. 2020-01-06T08:29:44Z mingus joined #lisp 2020-01-06T08:32:27Z lavaflow quit (Ping timeout: 265 seconds) 2020-01-06T08:34:25Z varjag joined #lisp 2020-01-06T08:34:44Z hhdave quit (Ping timeout: 258 seconds) 2020-01-06T08:38:28Z cyraxjoe quit (Ping timeout: 260 seconds) 2020-01-06T08:41:35Z cyraxjoe joined #lisp 2020-01-06T08:44:17Z scymtym joined #lisp 2020-01-06T08:52:51Z lavaflow joined #lisp 2020-01-06T08:57:44Z lavaflow quit (Ping timeout: 258 seconds) 2020-01-06T09:01:27Z william1_ joined #lisp 2020-01-06T09:02:28Z oni-on-ion quit (Quit: Quit) 2020-01-06T09:04:53Z eeeeeta: now the question is whether the Lisp implementations allocate cons cells close to one another to avoid horrible CPU cache performance 2020-01-06T09:05:53Z hhdave joined #lisp 2020-01-06T09:06:17Z william1_ quit (Ping timeout: 268 seconds) 2020-01-06T09:06:35Z william1_ joined #lisp 2020-01-06T09:07:31Z White_Flame: eeeeeta: there's 2 aspects: initial allocation, and GC relocation 2020-01-06T09:07:54Z White_Flame: initial allocation is a purely linear bump pointer (within a slab allocation) 2020-01-06T09:08:04Z eeeeeta: ah right 2020-01-06T09:08:10Z eeeeeta: okay, that shouldn't be too bad 2020-01-06T09:08:13Z White_Flame: GC would tend to walk a list and place items in order, but it depends on if it does the CAR first or CDR first 2020-01-06T09:10:27Z rippa joined #lisp 2020-01-06T09:12:22Z slyrus__ joined #lisp 2020-01-06T09:15:21Z slyrus_ quit (Ping timeout: 268 seconds) 2020-01-06T09:16:35Z beach: I advocate a sliding collector so that objects allocated together stay close. 2020-01-06T09:17:13Z beach: But I don't think that's what most Common Lisp implementations do, probably because the sliding GC algorithm, as described in the literature, is inefficient. That's why I had to improve it. :) 2020-01-06T09:19:08Z beach: Furthermore, traditional copying collectors will promote anything that is live, whereas the sliding collector can be made to promote in strict order of age. That way, there is less risk that a promoted object will die soon after garbage collection. 2020-01-06T09:20:10Z paul0 quit (Remote host closed the connection) 2020-01-06T09:20:31Z paul0 joined #lisp 2020-01-06T09:23:13Z ArthurStrong quit (Quit: leaving) 2020-01-06T09:27:38Z jfb4 quit (Ping timeout: 258 seconds) 2020-01-06T09:27:45Z libertyprime joined #lisp 2020-01-06T09:28:09Z jfb4 joined #lisp 2020-01-06T09:28:49Z reg32 joined #lisp 2020-01-06T09:29:14Z reg32: Hi, is roswell something that IS REALLY used by the CL community? 2020-01-06T09:30:20Z Shinmera: what are you actually asking? 2020-01-06T09:30:38Z reg32: I am investing some time recently in trying to resolve some roswell bugs 2020-01-06T09:30:49Z reg32: I am just trying to understand if I am wasting my time or not 2020-01-06T09:30:59Z Shinmera: some people use it, some do not. 2020-01-06T09:31:17Z reg32: it's pretty a strange project 2020-01-06T09:31:55Z pjb: I don't even know what it is. Is it some kind of UFO simulator? 2020-01-06T09:31:57Z reg32: there is a C frontend that just donwloads a CL runtime, parses command line paramenter adn then delegates all the rest to LISP code 2020-01-06T09:32:13Z Shinmera: pjb: It's an implementation manager 2020-01-06T09:32:15Z reg32: but logging is a mess 2020-01-06T09:32:28Z reg32: in the C code error are not managed properly 2020-01-06T09:32:30Z Shinmera: supposed to allow you to easily install any implementation on a supported platform. 2020-01-06T09:32:52Z reg32: and also since most of the business logic in the end is implemented in CL also having a C trigger is really questionable 2020-01-06T09:33:22Z reg32: if it is for the sake of having an executable that could have been done simply with a full CL implementation 2020-01-06T09:33:30Z reg32: the point at which I am now 2020-01-06T09:33:32Z Shinmera: Well the C part of "just" downloading an implementation is the primary reason for itss existence, if I remember correctly. 2020-01-06T09:33:56Z reg32: the pity is that 2020-01-06T09:34:03Z reg32: the C part doesn't properly manages errors 2020-01-06T09:34:16Z reg32: and logs are completely incosistent 2020-01-06T09:34:30Z random-nick joined #lisp 2020-01-06T09:34:43Z Demosthenex: looks like python's virtualenv? 2020-01-06T09:34:57Z reg32: yes it's something like python virtualenv 2020-01-06T09:35:17Z reg32: but with only one environment at a time I guess 2020-01-06T09:35:40Z Shinmera: ? roswell allows you to install any number of implementations. 2020-01-06T09:35:42Z reg32: so I am really tempted to heavily refactor the C part 2020-01-06T09:35:52Z reg32: yes Shinmera 2020-01-06T09:36:14Z reg32: but my understanding is that you can have only a single "environment" per each CL implementation 2020-01-06T09:36:23Z gxt quit (Ping timeout: 240 seconds) 2020-01-06T09:36:39Z reg32: with virtualevn you can have multiple environments for the same python implementation 2020-01-06T09:36:51Z Shinmera: ah, ok 2020-01-06T09:37:06Z gxt joined #lisp 2020-01-06T09:39:19Z reg32: before doing that I would like to understand whether it is worth the effort 2020-01-06T09:39:40Z Shinmera: only you can answer that for yourself. 2020-01-06T09:39:44Z davepdotorg joined #lisp 2020-01-06T09:39:59Z reg32: for me it's a matter of people impacted 2020-01-06T09:40:02Z jfb4 quit (Ping timeout: 240 seconds) 2020-01-06T09:40:07Z reg32: if my work is not going to have an impact 2020-01-06T09:40:10Z reg32: it's not interesting 2020-01-06T09:41:10Z jfb4 joined #lisp 2020-01-06T09:48:29Z shifty joined #lisp 2020-01-06T09:49:32Z larme joined #lisp 2020-01-06T09:50:33Z larme quit (Client Quit) 2020-01-06T09:55:43Z larme joined #lisp 2020-01-06T09:58:41Z EvW1 joined #lisp 2020-01-06T10:02:29Z TMA: reg32: I personally do not use it, because it failed to work for me. (on microsoft windows that is) 2020-01-06T10:03:05Z Frobozz joined #lisp 2020-01-06T10:03:26Z TMA: reg32: I have seen it used in continuous integration scripts for some lisp projects 2020-01-06T10:03:54Z reg32: TMA did you file a bug on the github repo? 2020-01-06T10:04:25Z reg32: In fact I am trying to fix stuff that don't work on Windows 2020-01-06T10:04:26Z shifty quit (Ping timeout: 258 seconds) 2020-01-06T10:04:46Z reg32: Windows is too much negleted and this, in my opinion, damages the popularity of CL 2020-01-06T10:04:48Z TMA: reg32: no. I do not file bug reports. Either I am able to fix it myself or I do not bother others 2020-01-06T10:04:55Z reg32: ok 2020-01-06T10:05:04Z shifty joined #lisp 2020-01-06T10:05:21Z oxum_ joined #lisp 2020-01-06T10:05:29Z hhdave quit (Ping timeout: 268 seconds) 2020-01-06T10:05:31Z oxum_ quit (Read error: Connection reset by peer) 2020-01-06T10:05:36Z reg32: https://github.com/lucaregini/roswell/blob/master/releases/test-release-5-jan-2019.zip 2020-01-06T10:05:41Z reg32: can you see whether you can do 2020-01-06T10:05:45Z TMA: reg32: my remark was intended as a data point for you about the popularity, nothing more 2020-01-06T10:05:46Z reg32: ros init 2020-01-06T10:05:54Z reg32: ros install sbcl with the release I just pasted above? 2020-01-06T10:05:58Z oxum_ joined #lisp 2020-01-06T10:06:01Z oxum_ quit (Read error: Connection reset by peer) 2020-01-06T10:06:10Z TMA: reg32: wait a second, I'll try 2020-01-06T10:06:16Z reg32: on Windows obviously 2020-01-06T10:06:53Z oxum_ joined #lisp 2020-01-06T10:08:25Z larme quit (Quit: WeeChat 2.3) 2020-01-06T10:09:00Z oxum quit (Ping timeout: 268 seconds) 2020-01-06T10:09:34Z larme joined #lisp 2020-01-06T10:10:44Z larme quit (Client Quit) 2020-01-06T10:11:49Z TMA: reg32: it is downloading sbcl. it appears to be hung on the second line of [##########################################################################]100% 2020-01-06T10:13:08Z reg32: wait 2020-01-06T10:13:12Z reg32: it takes a lot of time 2020-01-06T10:13:17Z reg32: you shall wait until it ends 2020-01-06T10:13:25Z reg32: either with an error or with a success 2020-01-06T10:13:43Z reg32: it will fill your home with about 1GB of software 2020-01-06T10:13:53Z reg32: including 7zip 2020-01-06T10:13:54Z reg32: msys 2020-01-06T10:13:56Z reg32: sbcl sources 2020-01-06T10:14:01Z reg32: build artifacts 2020-01-06T10:14:07Z reg32: let it go for at least 15 minutes 2020-01-06T10:16:22Z larme joined #lisp 2020-01-06T10:17:12Z TMA: ok 2020-01-06T10:19:32Z nullniverse quit (Quit: Leaving) 2020-01-06T10:24:59Z oxum joined #lisp 2020-01-06T10:25:38Z oxum quit (Remote host closed the connection) 2020-01-06T10:26:09Z oxum joined #lisp 2020-01-06T10:27:13Z mangul quit (Remote host closed the connection) 2020-01-06T10:27:41Z mangul joined #lisp 2020-01-06T10:28:27Z oxum_ quit (Ping timeout: 265 seconds) 2020-01-06T10:30:35Z v88m quit (Ping timeout: 268 seconds) 2020-01-06T10:38:57Z reg323 joined #lisp 2020-01-06T10:40:36Z EvW1 quit (Ping timeout: 248 seconds) 2020-01-06T10:41:15Z reg32 quit (Ping timeout: 260 seconds) 2020-01-06T10:44:19Z jonatack quit (Quit: jonatack) 2020-01-06T10:45:51Z shifty quit (Ping timeout: 265 seconds) 2020-01-06T10:47:08Z shifty joined #lisp 2020-01-06T10:47:53Z edgar-rft: roswell takes so long on windows that reg32 gave up to wait for an answer :-) 2020-01-06T10:50:31Z TMA: from the log file it seems to wait about 12 minutes for each samba drive before progressing to the next drive 2020-01-06T10:51:12Z TMA: as I have interrupted it after the second, I do not know whether it would finish afterwards 2020-01-06T10:52:08Z shifty quit (Ping timeout: 265 seconds) 2020-01-06T10:53:07Z shifty joined #lisp 2020-01-06T10:57:35Z FreeBirdLjj joined #lisp 2020-01-06T10:58:48Z mangul is now known as shangul 2020-01-06T11:04:47Z duncan_bayne joined #lisp 2020-01-06T11:05:40Z cosimone joined #lisp 2020-01-06T11:07:03Z EvW joined #lisp 2020-01-06T11:11:08Z shifty quit (Ping timeout: 258 seconds) 2020-01-06T11:12:11Z shifty joined #lisp 2020-01-06T11:13:25Z duncan_bayne: Quick question: what library would people recommend for quickly generating XML from s-expressions? I've tried s-xml (https://common-lisp.net/project/s-xml/) but S-XML:PRINT-XML fails. There are a bunch of parsers in https://github.com/CodyReichert/awesome-cl but nothing suitable I can see. 2020-01-06T11:14:42Z Shinmera: plump-sexp can turn it into a dom, which plump can turn to XML. 2020-01-06T11:17:19Z duncan_bayne: shinmera: Thanks, I'll try that. s-xml failure is at https://gitlab.com/snippets/1927417 if anyone's interested. 2020-01-06T11:19:56Z FreeBirdLjj quit (Remote host closed the connection) 2020-01-06T11:22:00Z galdor: (s-xml:print-xml '(:p "Interesting stuff at " ((:a :href "http://slashdot.org") "SlashDot"))) 2020-01-06T11:22:13Z galdor: use keywords 2020-01-06T11:24:49Z jonatack joined #lisp 2020-01-06T11:24:58Z galdor: funny thing is that the problems comes from PRINT-IDENTIFIER which really wants to find a XML namespace associated with the package of the symbol P 2020-01-06T11:25:24Z galdor: it does not find one 2020-01-06T11:25:57Z galdor: and therefore GET-PREFIX (seriously, why would you use such an accessor name) fails because there is no method for NIL 2020-01-06T11:26:31Z galdor: so yes, bad code, you could probably patch it fairly easily to signal an error indicating that there is no XML namespace associated with the package 2020-01-06T11:27:09Z galdor: but s-xml isn't maintained 2020-01-06T11:27:23Z duncan_bayne: galdor: That makes sense. Oddly that example is straight from the s-xml docs, so I'd assumed I was doing the Wrong Thing 2020-01-06T11:27:25Z galdor: and it's GPL 2020-01-06T11:33:59Z reg323 quit (Ping timeout: 260 seconds) 2020-01-06T11:36:23Z shifty quit (Ping timeout: 260 seconds) 2020-01-06T11:36:55Z shifty joined #lisp 2020-01-06T11:41:55Z shifty quit (Ping timeout: 265 seconds) 2020-01-06T11:42:02Z shifty joined #lisp 2020-01-06T11:50:40Z oxum quit (Read error: Connection reset by peer) 2020-01-06T11:51:04Z oxum joined #lisp 2020-01-06T11:52:07Z reg32 joined #lisp 2020-01-06T11:57:52Z eeeeeta: man, ECL is actually slow 2020-01-06T11:57:57Z eeeeeta: to compile, that is 2020-01-06T11:59:50Z cosimone quit (Remote host closed the connection) 2020-01-06T12:00:18Z cosimone joined #lisp 2020-01-06T12:03:31Z hhdave joined #lisp 2020-01-06T12:05:18Z oxum quit (Remote host closed the connection) 2020-01-06T12:07:55Z smokeink quit (Quit: Leaving) 2020-01-06T12:08:21Z jmercouris joined #lisp 2020-01-06T12:13:12Z ggole joined #lisp 2020-01-06T12:15:55Z duncan_bayne quit (Ping timeout: 258 seconds) 2020-01-06T12:16:03Z jmercouris: most succinct way to do conditional assignment? 2020-01-06T12:16:19Z jmercouris: I have something like (defun search (string case-sensitive-p) ...) 2020-01-06T12:16:26Z jmercouris: I want to transform string ONLY if case-sensitive-p 2020-01-06T12:16:59Z jmercouris: I am using a (let ((string (if case-sensitive-p string (lowercase-function string))))...) 2020-01-06T12:17:08Z jmercouris: I can't remember what the actual loewrcase-function is, that is just pseudo code 2020-01-06T12:17:27Z shifty quit (Ping timeout: 268 seconds) 2020-01-06T12:17:47Z shifty joined #lisp 2020-01-06T12:18:27Z jmercouris: string-downcase for future readers... 2020-01-06T12:18:37Z jmercouris: anyways, that's not the essence of the above question, feedback appreciated! 2020-01-06T12:19:10Z beach: jmercouris: (when (setf ... ...)) 2020-01-06T12:19:26Z edgar-rft reads the future 2020-01-06T12:19:35Z jmercouris: setf would indeed work... it just feels wrong 2020-01-06T12:19:48Z beach: OK. 2020-01-06T12:19:54Z jmercouris: perhaps that is the best though 2020-01-06T12:19:55Z phoe: (let ((string string)) (when case-sensitive-string (setf string ...)) ...) 2020-01-06T12:20:04Z jmercouris: normally I would not write code like this, but I am translating some parenscript 2020-01-06T12:20:18Z phoe: the additional binding ensures that the original variable is not overwritten, which is important for debugging 2020-01-06T12:20:36Z oxum joined #lisp 2020-01-06T12:20:37Z pfdietz6 joined #lisp 2020-01-06T12:20:56Z jmercouris: I would like to understand setf a little bit more 2020-01-06T12:21:04Z jmercouris: I understand that it is a macro that *does the right thing* for assignment 2020-01-06T12:21:44Z jmercouris: is it bad to setf arguments supplied to a function? 2020-01-06T12:21:57Z jmercouris: I feel like I have read that before somewhere 2020-01-06T12:22:46Z pfdietz6: It's fine to setf the arguments to a function. That seems like a silly rule not to, from some functional programming puritan. 2020-01-06T12:23:33Z jmercouris: perhaps it is something I internalized a long time ago without giving it due diligence 2020-01-06T12:24:00Z jmercouris: in that case beach's form is the most succinct and obvious 2020-01-06T12:24:20Z jmercouris: thank you for the information everyone 2020-01-06T12:24:34Z pfdietz6: The easiest way to use setf is to define setf functions, although perhaps not the most efficient. 2020-01-06T12:25:44Z nirved quit (Ping timeout: 252 seconds) 2020-01-06T12:26:03Z pfdietz6: You can make those setf functions generic, which is quite nice. 2020-01-06T12:27:19Z pfdietz6: How can I get access to the common-lisp.net GitLab? I want to fork Alexandria there. 2020-01-06T12:27:20Z jmercouris: hm, OK 2020-01-06T12:27:30Z nirved joined #lisp 2020-01-06T12:27:51Z phoe: jmercouris: a function argument is just Yet Another Variable Binding 2020-01-06T12:28:08Z phoe: pfdietz6: ask on #common-lisp.net 2020-01-06T12:28:29Z pfdietz6: k thx 2020-01-06T12:28:31Z phoe: jmercouris: as with any other variable binding, you can mutate it, so setfing it is possible 2020-01-06T12:28:39Z beach: pfdietz6: I have been known to say that it's a bad idea to assign to parameters. But it is not for the reasons you cite. It is purely a question of ease of debugging. If your Common Lisp implementation overwrites the parameter, it is harder to understand how the function was called in the first place. 2020-01-06T12:29:08Z phoe: ^ 2020-01-06T12:29:22Z phoe: that's why I introduced the additional (let ((string string)) ...) binding 2020-01-06T12:29:34Z phoe: if you overwrite the original parameter, it's gone from the stacktrace 2020-01-06T12:29:54Z beach: It could be. I guess it depends on the implementation. 2020-01-06T12:30:49Z jmercouris: phoe: I see! 2020-01-06T12:31:23Z beach: jmercouris: I am telling you this from experience, where I have spent time staring at backtraces, not understanding how on earth a function could have been called the way the backtrace indicates. 2020-01-06T12:31:40Z beach: ... only to understand that the parameter was assigned to in the function body. 2020-01-06T12:31:43Z atgreen_ quit (Quit: Leaving) 2020-01-06T12:31:52Z pfdietz6: Hmm, ok. 2020-01-06T12:31:52Z jmercouris: Ahhhh :-D 2020-01-06T12:32:22Z jmercouris: The lisp debugger, especially when it is invoked during some ASDF operation, is still quite a mystery to me 2020-01-06T12:32:27Z jmercouris: I can't seem to reason about the traces 2020-01-06T12:32:38Z jmercouris: I'll expand the elements, look, and there's a ton of gobbledygook 2020-01-06T12:32:52Z jmercouris: sometimes it works for me though, so I must be getting better :-D 2020-01-06T12:34:28Z EvW quit (Ping timeout: 245 seconds) 2020-01-06T12:35:05Z hhdave quit (Ping timeout: 258 seconds) 2020-01-06T12:38:51Z hsaziz joined #lisp 2020-01-06T12:44:26Z jmercouris quit (Ping timeout: 240 seconds) 2020-01-06T12:44:52Z wxie joined #lisp 2020-01-06T12:47:02Z pfdietz6: Good grief, this is user-hostile. 2020-01-06T12:49:58Z oxum quit (Remote host closed the connection) 2020-01-06T12:51:31Z hsaziz quit (Ping timeout: 265 seconds) 2020-01-06T12:51:34Z phoe: pfdietz6: it's to avoid spambots, it seems. clnet has had a big problem with those for a while. 2020-01-06T12:53:02Z pfdietz6: And yet, GitHub doesn't need any of this? 2020-01-06T12:53:28Z oxum_ joined #lisp 2020-01-06T12:53:58Z mingus quit (Remote host closed the connection) 2020-01-06T12:55:49Z bitmapper joined #lisp 2020-01-06T12:58:27Z kscarlet joined #lisp 2020-01-06T12:58:34Z pfdietz6: Welll that exceeded my annoyance threshold. Maybe I'll try again sometime when I'm not so annoyed. What an exercise in unnecessary nonsense. 2020-01-06T13:01:55Z phoe: pfdietz6: GitHub has it optional, whereas clnet gitlab has it mandatory. 2020-01-06T13:03:57Z EvW joined #lisp 2020-01-06T13:05:03Z pfdietz6: The spambots were hitting the wiki pages, right? 2020-01-06T13:07:31Z phoe: GitLab itself. 2020-01-06T13:07:35Z oxum_ quit (Remote host closed the connection) 2020-01-06T13:07:41Z phoe: You can possibly ask ehuelsmann about the details. 2020-01-06T13:07:56Z gravicappa joined #lisp 2020-01-06T13:09:18Z z147d joined #lisp 2020-01-06T13:09:25Z oxum joined #lisp 2020-01-06T13:10:29Z kscarlet quit (Remote host closed the connection) 2020-01-06T13:10:47Z kscarlet joined #lisp 2020-01-06T13:16:16Z oxum quit (Remote host closed the connection) 2020-01-06T13:17:07Z oxum joined #lisp 2020-01-06T13:21:42Z wxie quit (Ping timeout: 260 seconds) 2020-01-06T13:22:09Z patlv joined #lisp 2020-01-06T13:24:16Z cosimone quit (Quit: Terminated!) 2020-01-06T13:24:46Z dddddd joined #lisp 2020-01-06T13:28:01Z galdor: regarding common-lisp.net, who are the "we" I see on https://common-lisp.net/project-intro ? the link at the bottom of the page links to http://cl-foundation.org/ which is dead (unconfigured apache page) 2020-01-06T13:28:25Z galdor: I'm not even sure there is anyone with any exclusive official claim on Common Lisp in general 2020-01-06T13:28:58Z ym quit (Quit: Leaving) 2020-01-06T13:31:26Z shifty quit (Ping timeout: 258 seconds) 2020-01-06T13:31:57Z shifty joined #lisp 2020-01-06T13:32:00Z libertyprime quit (Quit: leaving) 2020-01-06T13:36:02Z phoe: there isn't 2020-01-06T13:36:21Z phoe: also CLF is alive, they just haven't updated their website in MOST-POSITIVE-BIGNUM years 2020-01-06T13:36:34Z phoe: ...oooooh, *that* kind of dead 2020-01-06T13:36:40Z phoe: their website is gone altogether 2020-01-06T13:37:04Z phoe: galdor: "we", as in, #common-lisp.net 2020-01-06T13:38:04Z galdor: this kind of dead stuff is depressing 2020-01-06T13:38:42Z phoe: yes, it is 2020-01-06T13:38:52Z galdor: anyway there's no real point in using a common-lisp gitlab account when you can use github/gitlab/whatever and librelist, without having to jump through the hoops 2020-01-06T13:39:29Z galdor: do not take it the wrong way, I just started using CL recently, and I'm trying really hard to convince myself it's not a stupid decision and I'm not wasting my time 2020-01-06T13:39:34Z galdor: *started again 2020-01-06T13:39:38Z shifty quit (Ping timeout: 240 seconds) 2020-01-06T13:40:12Z shifty joined #lisp 2020-01-06T13:40:40Z reg32 quit (Remote host closed the connection) 2020-01-06T13:40:50Z jackdaniel: people who are interested to use non-profit gitlab instance (instead of for-profit popular alternatives) are in their right to do so. nobody forces you to keep your code on cl.net gitlab (in fact afaik most projects are kept on github) 2020-01-06T13:41:19Z galdor: of course 2020-01-06T13:46:06Z kscarlet` joined #lisp 2020-01-06T13:47:00Z learning joined #lisp 2020-01-06T13:47:38Z kscarlet quit (Ping timeout: 260 seconds) 2020-01-06T13:49:01Z atgreen joined #lisp 2020-01-06T13:49:54Z makomo joined #lisp 2020-01-06T14:04:09Z kscarlet` quit (Remote host closed the connection) 2020-01-06T14:04:30Z kscarlet` joined #lisp 2020-01-06T14:06:56Z FreeBirdLjj joined #lisp 2020-01-06T14:08:36Z EvW quit (Ping timeout: 248 seconds) 2020-01-06T14:10:12Z _jrjsmrtn joined #lisp 2020-01-06T14:10:21Z Bike joined #lisp 2020-01-06T14:11:33Z __jrjsmrtn__ quit (Ping timeout: 260 seconds) 2020-01-06T14:17:58Z oxum quit (Remote host closed the connection) 2020-01-06T14:20:51Z pfdietz: I wanted to use common-lisp.net gitlab so I could fork and then issue pull requests. I don't suppose there's a way to do that to cl-net from github, is there? 2020-01-06T14:20:53Z shifty quit (Ping timeout: 258 seconds) 2020-01-06T14:21:01Z count3rmeasure joined #lisp 2020-01-06T14:21:28Z eeeeeta: pfdietz: I mean, you could do it the old-school way: clone the repo, upload it to a new repo on github, do your changes, send them a patch via email 2020-01-06T14:21:36Z pfdietz: The specific project was Alexandria, which as far as I can tell has its official repo on cl-net. 2020-01-06T14:21:36Z shifty joined #lisp 2020-01-06T14:21:41Z eeeeeta: or open an issue or something with "please pull from this repo" 2020-01-06T14:22:19Z pfdietz: To open an issue on cl-net I need to log in to cl-net, right? 2020-01-06T14:24:25Z eeeeeta: oh yeah 2020-01-06T14:24:31Z eeeeeta: that is a problem 2020-01-06T14:25:10Z oxum joined #lisp 2020-01-06T14:25:18Z eeeeeta suspects that people who are savvy enough to use self-hosted git alternatives will probably also be able to accept email patches, though 2020-01-06T14:25:42Z eeeeeta: I don't know whether they would, but http://git-send-email.io/ would be helpful if that were to be the case 2020-01-06T14:27:48Z cosimone joined #lisp 2020-01-06T14:29:26Z oxum quit (Remote host closed the connection) 2020-01-06T14:31:09Z oxum joined #lisp 2020-01-06T14:31:11Z dlowe: I've accepted an email patch before and it wasn't a big deal 2020-01-06T14:31:27Z oxum quit (Read error: Connection reset by peer) 2020-01-06T14:32:00Z patlv: morning everybody, I want to use CL as an embedded DSL for a product I'm developing, I'm wondering what's the best way, use the full sbcl, by locking functionalities that I don't need/want if it's at all possible, or implement a lisp in lisp with only the functionalities that I need 2020-01-06T14:32:14Z oxum joined #lisp 2020-01-06T14:34:01Z hhdave joined #lisp 2020-01-06T14:34:59Z dlowe: the latter 2020-01-06T14:35:42Z dlowe: another third option is to write a translator from your dsl-lisp to common lisp 2020-01-06T14:36:28Z patlv: yes good point 2020-01-06T14:36:45Z brown121408 quit (Remote host closed the connection) 2020-01-06T14:36:47Z dlowe: a fourth option (and one that I don't much use of) is to use lambda chaining to build up a sequence of code 2020-01-06T14:37:07Z brown121408 joined #lisp 2020-01-06T14:37:12Z dlowe: lemme find you an example because it's hard to explain 2020-01-06T14:37:14Z eeeeeta: patlv: or use Embeddable Common Lisp (ECL) 2020-01-06T14:37:19Z eeeeeta: cf. https://common-lisp.net/project/ecl/ 2020-01-06T14:37:27Z dlowe: eeeeeta: what does that solve 2020-01-06T14:37:45Z eeeeeta: dlowe: well, the embedding part? 2020-01-06T14:38:21Z patlv: the thing is the security needs to be very tight, I don't want users to be able to do anything they want 2020-01-06T14:38:35Z patlv: especially IO related stuff 2020-01-06T14:38:46Z eeeeeta: oh right, got you 2020-01-06T14:39:08Z eeeeeta: in that case, writing your own DSL does sound like the way to go 2020-01-06T14:40:15Z LiamH joined #lisp 2020-01-06T14:41:14Z patlv: yes indeed, I hoped there was an easier way 2020-01-06T14:41:38Z beach: patlv: Is this an existing product or a new one? 2020-01-06T14:41:51Z patlv: beach: a new one 2020-01-06T14:42:02Z beach: Then why not write the entire thing in Common Lisp? 2020-01-06T14:42:12Z beach: It solves many problems. 2020-01-06T14:42:17Z patlv: that's the case, it's all CL 2020-01-06T14:42:26Z beach: Oh, sorry, misunderstood. 2020-01-06T14:43:06Z beach: And why can't Common Lisp be your DSL? 2020-01-06T14:43:15Z eeeeeta: 14:38:21 the thing is the security needs to be very tight, I don't want users to be able to do anything they want 2020-01-06T14:43:21Z eeeeeta: beach: ^ 2020-01-06T14:43:39Z beach: I saw that, but what is it that they are not allowed to do and why? 2020-01-06T14:43:53Z patlv: yes, the engine is in CL, and that's why I wished there was a way to just import client scripts and eval them one way or another, but I'd need to be able to completely sandbox it 2020-01-06T14:44:23Z beach: OK, so the language itself would be OK, but you just want to restrict some functionality? 2020-01-06T14:44:28Z patlv: all IO stuff, writing on disk, network, anything that can be used to use mess things up 2020-01-06T14:44:37Z beach: Sure. 2020-01-06T14:44:52Z mathrick joined #lisp 2020-01-06T14:45:30Z patlv: bach: yes, exactly, I want the language without anything else basically 2020-01-06T14:45:40Z beach: patlv: It seems clothespin needs to do exactly the same thing as you do. 2020-01-06T14:46:46Z beach: It is pretty hard to sandbox Common Lisp. What I suggested to him was to use the Cleavir front end to translate the source code using first-class global environments to an AST, and then to translate the AST to Common Lisp that accesses only that first-class global environment. 2020-01-06T14:46:50Z beach: I'll be back... 2020-01-06T14:46:55Z dlowe: eeeeeta: https://github.com/TempusMUD/cl-tempus/blob/master/src/events/handler.lisp in the function make-creature-matcher 2020-01-06T14:47:38Z phoe: patlv: do not use the read-eval-print loop of the original Lisp since it is almost impossible to sandbox. 2020-01-06T14:47:41Z eeeeeta: dlowe: wait, why're you showing me this again? 2020-01-06T14:47:49Z dlowe: it's another way of implementing a dsl 2020-01-06T14:47:59Z dlowe: oops, sorry 2020-01-06T14:48:01Z dlowe: patlv: ^ 2020-01-06T14:48:03Z phoe: Shinmera has done some previous work on making a client-server network protocol that is lispy enough - https://github.com/Shirakumo/lichat-protocol/blob/master/wire.lisp 2020-01-06T14:48:44Z patlv: dlowe: great thanks, gonna check it out 2020-01-06T14:50:58Z EvW joined #lisp 2020-01-06T14:51:01Z patlv: phoe: very interesting! 2020-01-06T15:01:14Z beach: patlv: I know what I am suggesting sounds complicated, but almost all the components are in place. All that is needed is a fairly simple translator from ASTs to Common Lisp. And I am pretty sure that technique could be documented in a paper to submit to ELS. 2020-01-06T15:01:30Z beach: ... since many people want sandboxing and it is pretty hard to accomplish. 2020-01-06T15:02:35Z beach: But I can see why you would be put off by the external dependencies. So never mind. I might just try this myself. 2020-01-06T15:02:46Z Lord_of_Life_ joined #lisp 2020-01-06T15:03:26Z dlowe: If you want a sandbox, I feel that a language runtime is the wrong place for it 2020-01-06T15:03:47Z dlowe: because it won't protect you from all classes of malicious attack 2020-01-06T15:04:22Z beach: dlowe: Can you elaborate on that? 2020-01-06T15:04:51Z dlowe: Like CPU/memory consumption attacks, or rowhammer, or spectre 2020-01-06T15:05:20Z beach: And what approach would protect from those? 2020-01-06T15:05:53Z dlowe: almost nothing :D don't run user code 2020-01-06T15:06:16Z phoe: For DoS, some sort of time and memory constraints put on the user program. For Rowhammer and Spectre, see the respective mitigation techniques. 2020-01-06T15:06:19Z dlowe: You can get close with VMs and quotas 2020-01-06T15:06:23Z Lord_of_Life quit (Ping timeout: 260 seconds) 2020-01-06T15:06:26Z Lord_of_Life_ is now known as Lord_of_Life 2020-01-06T15:07:20Z dlowe: you'd also need to make sure that they can't hit storage outside of the sandbox 2020-01-06T15:07:25Z efm joined #lisp 2020-01-06T15:07:52Z hhdave quit (Ping timeout: 260 seconds) 2020-01-06T15:08:04Z Lycurgus joined #lisp 2020-01-06T15:08:22Z patlv: yes, I'll run those user scripts in cgroups, so here my fear with using "eval" is that they use it for spamming or DOS etc 2020-01-06T15:08:49Z slyrus_ joined #lisp 2020-01-06T15:09:02Z dlowe: oh, right, letting them access network ports also enables all sorts of mischief 2020-01-06T15:09:16Z patlv: exactly, all IOs basically 2020-01-06T15:09:21Z dlowe: I really think a dsl is the way to go. A whitelist of operations instead of a blacklist. 2020-01-06T15:10:05Z dlowe: You'd also have to cut out all the FFI functionality so that a program couldn't set up its own syscall functions 2020-01-06T15:10:16Z patlv: dlowe: absolutely 2020-01-06T15:11:20Z patlv: dlowe: the tempus code you sent is very nice 2020-01-06T15:11:38Z patlv: I'm gonna test it, but could definitely be what I need 2020-01-06T15:11:38Z gigetoo quit (Ping timeout: 240 seconds) 2020-01-06T15:11:47Z slyrus__ quit (Ping timeout: 268 seconds) 2020-01-06T15:12:34Z gigetoo joined #lisp 2020-01-06T15:12:39Z lucasb joined #lisp 2020-01-06T15:12:44Z Shinmera: It's a catch-22. As soon as it's turing complete there's security problems, and if it's not turing complete it's almost useless. 2020-01-06T15:13:00Z eschulte joined #lisp 2020-01-06T15:13:38Z Lycurgus: turing complete = security hole 2020-01-06T15:15:44Z patlv: the way I see it but maybe i'm too optimistic, the base language, without imports + only a set of functions they can use inside the language, should be pretty tight 2020-01-06T15:15:59Z patlv: right? 2020-01-06T15:16:42Z phoe: I mean, you need to solve the issue of people running the equivalent of (loop) inside your code 2020-01-06T15:16:50Z phoe: to avoid denial of service attacks 2020-01-06T15:16:52Z papachan joined #lisp 2020-01-06T15:16:56Z TMA: I totally concur with Shinmera's assessment. I remember an old version of mediawiki (wikipedia's wiki software) that would not have its templates turing complete because the depth of expansion was limited to I think seven. without that limitation it would be useful but DoS prone 2020-01-06T15:16:57Z phoe: that's all about Turing completeness 2020-01-06T15:17:57Z Shinmera: patlv: In effect you'll be fine because your service will probably not be popular enough to catch the attention of people who are really serious about finding security vulnerabilities. 2020-01-06T15:18:32Z dlowe: Shinmera: I disagree about uselessness. Turing complete languages are commonly used when a lesser complexity language would work just fine 2020-01-06T15:19:04Z Shinmera: That's not a guarantee, but hardware-level exploits and shit about breaking out of multiple levels of virtualisation and runtime encapsulation shows it's just a really really hard thing. 2020-01-06T15:19:27Z patlv: shinmera: definitely 2020-01-06T15:19:27Z Shinmera: Really really hard to secure, I mean. 2020-01-06T15:19:41Z dlowe: fortunately, unless you've got state-level actor problems, it's probably not a problem in practice 2020-01-06T15:19:51Z Shinmera: dlowe: I meant in the context of what appears to be a service to run arbitrary code. 2020-01-06T15:20:06Z dlowe: yes 2020-01-06T15:20:17Z patlv: yes, there' no way to make sure they won't find an exploit at the OS level even 2020-01-06T15:20:38Z Lycurgus quit (Quit: Exeunt) 2020-01-06T15:28:19Z jprajzne quit (Quit: Leaving.) 2020-01-06T15:30:04Z learning quit (Remote host closed the connection) 2020-01-06T15:31:54Z karswell quit (Remote host closed the connection) 2020-01-06T15:32:22Z patlv_ joined #lisp 2020-01-06T15:32:44Z karswell joined #lisp 2020-01-06T15:36:45Z TwoFinger joined #lisp 2020-01-06T15:36:49Z patlv quit (Ping timeout: 265 seconds) 2020-01-06T15:36:50Z shangul quit (Ping timeout: 240 seconds) 2020-01-06T15:37:35Z pjb quit (Remote host closed the connection) 2020-01-06T15:37:56Z kscarlet` quit (Ping timeout: 258 seconds) 2020-01-06T15:39:03Z shangul joined #lisp 2020-01-06T15:39:22Z pjb joined #lisp 2020-01-06T15:42:26Z shangul quit (Remote host closed the connection) 2020-01-06T15:42:45Z shangul joined #lisp 2020-01-06T15:48:32Z stux|RC-- joined #lisp 2020-01-06T15:51:48Z stux|RC quit (Ping timeout: 265 seconds) 2020-01-06T15:57:06Z karlosz joined #lisp 2020-01-06T15:57:29Z shifty quit (Ping timeout: 258 seconds) 2020-01-06T15:58:06Z smazga joined #lisp 2020-01-06T15:58:37Z shifty joined #lisp 2020-01-06T16:04:41Z karlosz quit (Quit: karlosz) 2020-01-06T16:06:44Z count3rmeasure quit (Quit: Leaving) 2020-01-06T16:08:08Z cosimone quit (Remote host closed the connection) 2020-01-06T16:08:34Z cosimone joined #lisp 2020-01-06T16:12:56Z rumbler3130 joined #lisp 2020-01-06T16:14:31Z antepod joined #lisp 2020-01-06T16:18:27Z EvW quit (Ping timeout: 260 seconds) 2020-01-06T16:18:51Z varjag quit (Quit: ERC (IRC client for Emacs 25.2.2)) 2020-01-06T16:20:40Z green` joined #lisp 2020-01-06T16:22:00Z green` quit (Remote host closed the connection) 2020-01-06T16:22:08Z atgreen quit (Quit: Leaving) 2020-01-06T16:31:33Z karlosz joined #lisp 2020-01-06T16:33:10Z oxum_ joined #lisp 2020-01-06T16:33:41Z oxum_ quit (Remote host closed the connection) 2020-01-06T16:35:14Z jebes joined #lisp 2020-01-06T16:36:45Z oxum quit (Ping timeout: 265 seconds) 2020-01-06T16:40:27Z gareppa joined #lisp 2020-01-06T16:43:06Z cosimone quit (Quit: Terminated!) 2020-01-06T16:45:16Z stux|RC-- quit (Quit: Aloha!) 2020-01-06T16:46:00Z oxum joined #lisp 2020-01-06T16:46:01Z stux|RC joined #lisp 2020-01-06T16:46:59Z cosimone joined #lisp 2020-01-06T16:49:19Z FreeBirdLjj quit (Remote host closed the connection) 2020-01-06T16:52:29Z cosimone_ joined #lisp 2020-01-06T16:53:24Z cosimone quit (Read error: Connection reset by peer) 2020-01-06T17:04:59Z hhdave joined #lisp 2020-01-06T17:08:41Z varjag joined #lisp 2020-01-06T17:08:55Z oni-on-ion joined #lisp 2020-01-06T17:09:27Z oni-on-ion quit (Remote host closed the connection) 2020-01-06T17:10:32Z oni-on-ion joined #lisp 2020-01-06T17:12:12Z lavaflow joined #lisp 2020-01-06T17:18:56Z v88m joined #lisp 2020-01-06T17:19:32Z EvW1 joined #lisp 2020-01-06T17:23:13Z davepdotorg quit (Remote host closed the connection) 2020-01-06T17:23:47Z davepdotorg joined #lisp 2020-01-06T17:29:18Z davepdotorg quit (Ping timeout: 260 seconds) 2020-01-06T17:38:37Z hhdave quit (Ping timeout: 265 seconds) 2020-01-06T17:43:11Z count3rmeasure joined #lisp 2020-01-06T17:43:22Z slyrus__ joined #lisp 2020-01-06T17:43:24Z dorapan joined #lisp 2020-01-06T17:43:30Z dorapan: hello 2020-01-06T17:44:53Z aindilis` joined #lisp 2020-01-06T17:45:52Z aindilis quit (Ping timeout: 265 seconds) 2020-01-06T17:46:13Z slyrus_ quit (Ping timeout: 260 seconds) 2020-01-06T17:48:44Z aindilis` quit (Remote host closed the connection) 2020-01-06T17:51:26Z beach: Hello dorapan. 2020-01-06T17:51:35Z dorapan quit (Quit: leaving) 2020-01-06T17:52:01Z aindilis joined #lisp 2020-01-06T17:52:13Z brown121407 joined #lisp 2020-01-06T17:53:31Z patlv joined #lisp 2020-01-06T17:54:58Z brown121408 quit (Ping timeout: 260 seconds) 2020-01-06T17:55:33Z brown121408 joined #lisp 2020-01-06T17:56:43Z brown121407 quit (Ping timeout: 260 seconds) 2020-01-06T18:02:28Z patlv quit (Remote host closed the connection) 2020-01-06T18:06:47Z slyrus_ joined #lisp 2020-01-06T18:09:21Z slyrus__ quit (Ping timeout: 258 seconds) 2020-01-06T18:09:51Z gigetoo quit (Read error: No route to host) 2020-01-06T18:10:53Z gigetoo joined #lisp 2020-01-06T18:11:43Z phoe: heyyy 2020-01-06T18:13:39Z papachan quit (Quit: Leaving) 2020-01-06T18:14:04Z pjb quit (Remote host closed the connection) 2020-01-06T18:16:02Z pjb joined #lisp 2020-01-06T18:16:16Z atgreen joined #lisp 2020-01-06T18:18:13Z EvW1 quit (Ping timeout: 245 seconds) 2020-01-06T18:25:52Z slyrus__ joined #lisp 2020-01-06T18:28:30Z slyrus_ quit (Ping timeout: 268 seconds) 2020-01-06T18:28:51Z slyrus_ joined #lisp 2020-01-06T18:29:17Z ggole quit (Quit: Leaving) 2020-01-06T18:31:47Z slyrus__ quit (Ping timeout: 265 seconds) 2020-01-06T18:32:36Z jebes quit (Quit: ZNC 1.7.4+deb7 - https://znc.in) 2020-01-06T18:36:19Z oni-on-ion quit (Quit: Leaving) 2020-01-06T18:42:26Z shifty quit (Ping timeout: 240 seconds) 2020-01-06T18:43:01Z shifty joined #lisp 2020-01-06T18:45:51Z oni-on-ion joined #lisp 2020-01-06T18:48:07Z gareppa quit (Quit: Leaving) 2020-01-06T18:48:18Z oni-on-ion quit (Client Quit) 2020-01-06T18:48:40Z oni-on-ion joined #lisp 2020-01-06T18:54:12Z shifty quit (Ping timeout: 258 seconds) 2020-01-06T18:58:10Z green` joined #lisp 2020-01-06T19:00:21Z green` quit (Client Quit) 2020-01-06T19:00:26Z atgreen quit (Remote host closed the connection) 2020-01-06T19:03:13Z atgreen joined #lisp 2020-01-06T19:06:15Z madmonkey joined #lisp 2020-01-06T19:06:17Z brown121408 quit (Read error: Connection reset by peer) 2020-01-06T19:07:02Z brown121407 joined #lisp 2020-01-06T19:07:03Z atgreen quit (Client Quit) 2020-01-06T19:09:23Z xuxuru joined #lisp 2020-01-06T19:09:34Z hhdave joined #lisp 2020-01-06T19:15:42Z kuribas joined #lisp 2020-01-06T19:15:53Z kuribas: why is (= 0.23 23/100) nil? 2020-01-06T19:16:28Z dlowe: because floating-point isn't exact but 23/100 is 2020-01-06T19:16:32Z hhdave quit (Quit: hhdave) 2020-01-06T19:16:52Z remexre joined #lisp 2020-01-06T19:16:53Z hhdave joined #lisp 2020-01-06T19:16:54Z hhdave quit (Client Quit) 2020-01-06T19:17:13Z kuribas: (equal 0.23 (float 0.23 1d0)) => nil 2020-01-06T19:17:15Z hhdave joined #lisp 2020-01-06T19:17:42Z hhdave quit (Client Quit) 2020-01-06T19:18:06Z phoe: #'equal does not coerce types 2020-01-06T19:18:20Z hhdave joined #lisp 2020-01-06T19:18:23Z phoe: (equalp 0.23 (float 0.23 1d0)) ;=> T 2020-01-06T19:18:29Z hhdave quit (Client Quit) 2020-01-06T19:18:43Z phoe: in particular, single floats to double floats 2020-01-06T19:19:00Z hhdave joined #lisp 2020-01-06T19:19:17Z hhdave quit (Client Quit) 2020-01-06T19:19:54Z hhdave joined #lisp 2020-01-06T19:20:05Z hhdave quit (Client Quit) 2020-01-06T19:20:26Z shangul quit (Ping timeout: 240 seconds) 2020-01-06T19:20:44Z hhdave joined #lisp 2020-01-06T19:20:52Z hhdave quit (Client Quit) 2020-01-06T19:21:14Z hhdave joined #lisp 2020-01-06T19:21:40Z hhdave quit (Client Quit) 2020-01-06T19:22:19Z hhdave joined #lisp 2020-01-06T19:22:28Z hhdave quit (Client Quit) 2020-01-06T19:23:02Z atgreen joined #lisp 2020-01-06T19:23:42Z davepdotorg joined #lisp 2020-01-06T19:25:26Z Necktwi quit (Ping timeout: 265 seconds) 2020-01-06T19:25:50Z Necktwi joined #lisp 2020-01-06T19:26:12Z oni-on-ion quit (Quit: Leaving) 2020-01-06T19:26:36Z _death: (= 0.23 (rational 0.23)) => T 2020-01-06T19:28:19Z davepdotorg quit (Ping timeout: 258 seconds) 2020-01-06T19:32:31Z phoe: (rational 0.23) ;=> 15435039/67108864 2020-01-06T19:32:37Z phoe: (at least on my machine) 2020-01-06T19:32:38Z antepod quit (Ping timeout: 268 seconds) 2020-01-06T19:33:06Z kuribas: ok, thx 2020-01-06T19:33:09Z kuribas quit (Quit: ERC (IRC client for Emacs 25.3.2)) 2020-01-06T19:40:38Z dale_ joined #lisp 2020-01-06T19:40:52Z dale_ is now known as dale 2020-01-06T19:41:03Z count3rmeasure quit (Quit: Leaving) 2020-01-06T19:43:18Z anewuser joined #lisp 2020-01-06T19:48:26Z anewuser quit (Ping timeout: 240 seconds) 2020-01-06T19:50:52Z anewuser joined #lisp 2020-01-06T19:52:14Z anewuser quit (Read error: Connection reset by peer) 2020-01-06T19:56:15Z antepod joined #lisp 2020-01-06T20:01:15Z pfdietz6 quit (Ping timeout: 260 seconds) 2020-01-06T20:02:51Z stylewarning: In SBCL, does FORMAT have a cost even if the stream is "null" (eg. (MAKE-BROADCAST-STREAM))? 2020-01-06T20:04:41Z stylewarning: (I assume yes) 2020-01-06T20:04:48Z pfdietz: I'd predict yes, but I do not know. 2020-01-06T20:05:29Z _death: try (format (make-broadcast-stream) "~{~A~}" 42) 2020-01-06T20:08:07Z Bike: i'm not sure how you'd optimize stuff out without checking for null streams at runtime 2020-01-06T20:13:54Z whiteline quit (Read error: Connection reset by peer) 2020-01-06T20:14:09Z stylewarning: Bike: I'm not even sure how you'd check *that*. I guess there's no other way in Lisp (?) but to make an empty bcast stream. 2020-01-06T20:15:08Z whiteline joined #lisp 2020-01-06T20:15:13Z nowhere_man quit (Ping timeout: 265 seconds) 2020-01-06T20:15:56Z Bike: (and (typep stream 'broadcast-stream) (null (broadcast-stream-streams stream)))? 2020-01-06T20:16:17Z _death: you could have your own stream doing that as well (perhaps conditionally) .. so in general you want a predicate 2020-01-06T20:16:17Z pfdietz: (and (typep s 'broadcast-stream) (null (broadcast-stream-streams s))) 2020-01-06T20:16:22Z Bike: i suppose it could be a synonym stream 2020-01-06T20:17:00Z william1_ quit (Ping timeout: 258 seconds) 2020-01-06T20:17:05Z Bike: ...anyway, hard to see the point. if you expect this to happen a lot you could check yourself 2020-01-06T20:17:17Z Bike: (unless (null-stream-p stream) (format stream ...)), i mean 2020-01-06T20:20:27Z pfdietz: open-stream-p could also be useful 2020-01-06T20:23:08Z gravicappa quit (Ping timeout: 258 seconds) 2020-01-06T20:31:37Z william1_ joined #lisp 2020-01-06T20:35:48Z scymtym quit (Ping timeout: 248 seconds) 2020-01-06T20:53:47Z ebrasca joined #lisp 2020-01-06T20:55:57Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2020-01-06T20:57:33Z phoe: pfdietz: (open-stream-p (make-broadcast-stream)) ;=> T 2020-01-06T20:57:41Z phoe: it's hard to write to a closed stream anyway 2020-01-06T20:59:45Z FreeBirdLjj joined #lisp 2020-01-06T21:04:17Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2020-01-06T21:06:30Z rumbler3130: not with that attitude 2020-01-06T21:08:17Z Ven`` joined #lisp 2020-01-06T21:10:39Z xuxuru quit (Quit: xuxuru) 2020-01-06T21:13:53Z hiroaki quit (Ping timeout: 260 seconds) 2020-01-06T21:15:03Z scymtym joined #lisp 2020-01-06T21:20:18Z william1_ quit (Ping timeout: 260 seconds) 2020-01-06T21:20:37Z oni-on-ion joined #lisp 2020-01-06T21:24:16Z davepdotorg joined #lisp 2020-01-06T21:24:38Z pfdietz: Minds, like streams, work best when open? 2020-01-06T21:25:35Z papachan joined #lisp 2020-01-06T21:27:03Z hiroaki joined #lisp 2020-01-06T21:28:50Z davepdotorg quit (Ping timeout: 240 seconds) 2020-01-06T21:31:48Z TwoFinger quit (Quit: WeeChat 2.7) 2020-01-06T21:33:25Z ggoes joined #lisp 2020-01-06T21:34:20Z rumbler3130: there you go 2020-01-06T21:38:45Z pfdietz: Why does ITERATE have a code walker? 2020-01-06T21:39:57Z Kundry_Wag joined #lisp 2020-01-06T21:40:47Z pfdietz: For the "into" clauses? Hmm. 2020-01-06T21:41:37Z william1_ joined #lisp 2020-01-06T21:47:14Z narimiran quit (Ping timeout: 240 seconds) 2020-01-06T21:47:15Z efm quit (Ping timeout: 268 seconds) 2020-01-06T21:52:37Z trittweiler quit (Ping timeout: 268 seconds) 2020-01-06T22:03:26Z efm joined #lisp 2020-01-06T22:04:55Z rwrsdjlhvwi joined #lisp 2020-01-06T22:16:36Z atgreen quit (Remote host closed the connection) 2020-01-06T22:18:42Z pjb quit (Remote host closed the connection) 2020-01-06T22:20:05Z xvx joined #lisp 2020-01-06T22:21:02Z pjb joined #lisp 2020-01-06T22:24:01Z ebrasca quit (Remote host closed the connection) 2020-01-06T22:24:13Z vivit joined #lisp 2020-01-06T22:25:26Z xuxuru joined #lisp 2020-01-06T22:25:46Z xuxuru quit (Client Quit) 2020-01-06T22:27:10Z vivit: Does anybody know anybody who puts only one earmuff on identifiers? 2020-01-06T22:27:33Z vivit: (defparameter *param ...), (defconstant +answer 42), etc 2020-01-06T22:28:55Z oni-on-ion: i have not seen this, but it looks alright. aside from almost triggering the brain to see them like C language 2020-01-06T22:29:06Z oni-on-ion: also itym identifiers == symbols 2020-01-06T22:30:41Z Bike quit (Quit: Bike) 2020-01-06T22:34:53Z _death: it looks silly, because the convention for the last several decades or so has been *x* 2020-01-06T22:36:43Z varjag quit (Ping timeout: 260 seconds) 2020-01-06T22:38:13Z vivit: hey, at least it's not using underscores instead of hyphens :p 2020-01-06T22:40:02Z no-defun-allowed: (defvar strPrmtr "a parameter") 2020-01-06T22:41:23Z Shinmera: no-defun-allowed: (defclass MySingleton () ((strParameter :initform "a parameter" :allocation :class))) 2020-01-06T22:41:46Z _death: don't you mean lpszParam :) 2020-01-06T22:42:24Z no-defun-allowed: the Genera convention forbids anyone from sending code of such mind-rotting on IRC 2020-01-06T22:42:46Z oni-on-ion: or %percent% or #hash# 2020-01-06T22:43:26Z oni-on-ion: (defvar m_pszTItle "a title") -- member, pointer, string, zero-terminated. was a MFC thing =) 2020-01-06T22:43:50Z oni-on-ion: ah _death got it. i think lp is long pointer ? 2020-01-06T22:44:33Z _death: yes.. and sz is asciiz string (ascii nul-terminated string) 2020-01-06T22:44:45Z oni-on-ion: yep. 2020-01-06T22:45:02Z william1_ quit (Ping timeout: 268 seconds) 2020-01-06T22:45:06Z oni-on-ion: mentioned it. personally... i think namespaces are enough. and local bindings (let) 2020-01-06T22:45:16Z no-defun-allowed: hmm, where did I put that Lisp program that was "improved" by Hungarian notation 2020-01-06T22:45:22Z oni-on-ion: to avoid not having any fancy characters in symbols 2020-01-06T22:46:09Z oni-on-ion: admittedly i do like camelCase and ThisCase 2020-01-06T22:46:21Z no-defun-allowed: ): 2020-01-06T22:46:54Z oni-on-ion: it takes advantage of how my teenage brain was wired for scope and other invisible constructs from C days 2020-01-06T22:48:41Z oni-on-ion: can a symbol be a namespace? i mean... can namespaces then be recursive if their names are symbols? 2020-01-06T22:49:59Z no-defun-allowed cannot remember where she put that code 2020-01-06T22:50:54Z no-defun-allowed: it was in a picture, preceded by instructions to "rewrite a program to use camel case or Hungarian notation, then post the improved program" then had "We don't do that here" at the end 2020-01-06T22:51:21Z oni-on-ion: aw i want to see it. lmk if you happen to come across it 2020-01-06T22:51:52Z no-defun-allowed: I could make a new one. It was just some code I had to rewrite a pattern (for pattern matching) into a set of tests. 2020-01-06T22:52:14Z oni-on-ion: nah dont do it for me, i've got enough unconventional ideas =P 2020-01-06T22:52:51Z no-defun-allowed: The scary thing was that was mandated by the education board here. 2020-01-06T22:53:10Z oni-on-ion: interesting; applying notations to any ole lang ? 2020-01-06T22:54:14Z no-defun-allowed: Supposedly it was to support schools which still used some variant of BASIC, so no one else got to learn anything more like object-oriented programming or higher order functions. 2020-01-06T22:54:15Z vivit: no-defun-allowed: you forgot to put "my" in front of everything 2020-01-06T22:54:26Z no-defun-allowed: Ow. 2020-01-06T22:54:52Z oni-on-ion: )= 2020-01-06T22:55:04Z no-defun-allowed: Anyways, there's probably something more on-topic to discuss while I figure out what I wrote. 2020-01-06T22:55:23Z oni-on-ion: (defvar this.m_lpszMyFirstName "vivit") 2020-01-06T22:55:38Z oni-on-ion: yeah, my question above ! 2020-01-06T22:56:18Z vivit: ain't that a dot context error 2020-01-06T22:58:00Z oni-on-ion: i was asking about namespaces and symbols 2020-01-06T22:58:15Z oni-on-ion: its ok i can ask later on 2020-01-06T23:01:15Z p_l: oni-on-ion: in Symbolics Common Lisp, it was possible to have recursive packages iirc 2020-01-06T23:02:23Z brass quit (Quit: ZNC 1.7.5 - https://znc.in) 2020-01-06T23:02:46Z _death: oni-on-ion: there were attempts at using symbols to name packages, e.g. https://github.com/jasom/spm-reader 2020-01-06T23:05:50Z Bike joined #lisp 2020-01-06T23:07:02Z brass joined #lisp 2020-01-06T23:07:17Z karlosz quit (Quit: karlosz) 2020-01-06T23:08:34Z karlosz joined #lisp 2020-01-06T23:10:29Z Frobozz quit (Read error: Connection reset by peer) 2020-01-06T23:10:45Z vivit: Can you tilde-escape newlines in docstrings like you can in format strings? 2020-01-06T23:11:12Z no-defun-allowed: Not really. 2020-01-06T23:11:37Z no-defun-allowed: You can use #.(format nil "string goes here~more string") as a documentation string, but that's using a format string to produce the documentation string. 2020-01-06T23:14:09Z TMA quit (Ping timeout: 246 seconds) 2020-01-06T23:15:00Z akoana joined #lisp 2020-01-06T23:15:52Z efm quit (Ping timeout: 268 seconds) 2020-01-06T23:16:26Z skidd0 joined #lisp 2020-01-06T23:16:30Z efm joined #lisp 2020-01-06T23:16:33Z TMA joined #lisp 2020-01-06T23:19:20Z Odin- joined #lisp 2020-01-06T23:20:12Z LiamH quit (Quit: Leaving.) 2020-01-06T23:23:14Z jasom: oni-on-ion, _death, apparently using symbols to name packages was considered at some point a long time ago, but considering that the parent package often wanted to use symbols from the child package, but the child package would have to be declared second is was considered unergonomic 2020-01-06T23:24:14Z learning joined #lisp 2020-01-06T23:25:38Z oni-on-ion: jasom, ahh, that is a good reason . (fwiw where haskell solves with exported symbol lists like in CL, and ocaml with its parametric module system.) 2020-01-06T23:26:10Z oni-on-ion: another question... (in-package #:so-and-so) converts the symbol to a string then? 2020-01-06T23:26:42Z Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-06T23:26:43Z jasom: oni-on-ion: correct, see http://clhs.lisp.se/Body/26_glo_p.htm#package_designator 2020-01-06T23:26:59Z efm quit (Remote host closed the connection) 2020-01-06T23:27:25Z jasom: (in-package FOO) can be any of 1) the string name of the package 2) a string designator for the name of the package 3) the package object itself. 2020-01-06T23:27:26Z efm joined #lisp 2020-01-06T23:27:43Z jasom: FOO can be any of those 3 rather 2020-01-06T23:29:16Z oni-on-ion: aha. thank you very much 2020-01-06T23:29:33Z jasom: so (in-package some-name) (in-package :some-name) (in-package "SOME-NAME") and (in-package #.(find-package "SOME-NAME")) should all get you in the same package. 2020-01-06T23:29:46Z wxie joined #lisp 2020-01-06T23:30:01Z jasom: The read-time side-effects are different though. 2020-01-06T23:30:27Z phoe: only in the last case 2020-01-06T23:30:32Z phoe: the first three are equivalent 2020-01-06T23:30:48Z jasom: phoe: no, they aren't. The first two intern symbols in the current package and KEYWORD respectively 2020-01-06T23:30:52Z oni-on-ion: that inspires me another question. what if, let's say ... package A, package B. inside package A is symbol X which resolves to package B . can we do (in-package X) ? 2020-01-06T23:30:59Z phoe: oh! you mean that, yes 2020-01-06T23:31:07Z phoe: there's also (in-package #:some-name) then 2020-01-06T23:31:25Z phoe: oni-on-ion: nope, the macro syntax prevents it. 2020-01-06T23:31:29Z jasom: oni-on-ion: no, because the package name is not evaluated 2020-01-06T23:31:51Z phoe: you can however manually (setf *package* (find-package :cl-user)) if you want to play with that 2020-01-06T23:34:12Z oni-on-ion: ahh right. considering the first example (in-package some-name) is what i feared, that it was macro 2020-01-06T23:34:26Z oni-on-ion: phoe, hmm =) 2020-01-06T23:35:11Z jasom: or you could just write a macro: (defmacro in-package* (x) `(in-package ,x)) 2020-01-06T23:35:41Z jasom: nevermind, that won't work for the same reason 2020-01-06T23:35:45Z oni-on-ion: i like that one -- oh 2020-01-06T23:35:48Z jasom is tired 2020-01-06T23:36:00Z jasom: I'm going to go get some caffeine before talking any more 2020-01-06T23:36:18Z oni-on-ion: essentially i am looking to avoid mylisp-subsystem-section-specificpackage kind of naming. symbols can get quite long winded enough as it is 2020-01-06T23:38:39Z skidd0 left #lisp 2020-01-06T23:39:11Z wxie quit (Ping timeout: 265 seconds) 2020-01-06T23:41:14Z vivit quit (Ping timeout: 240 seconds) 2020-01-06T23:43:37Z efm quit (Ping timeout: 268 seconds) 2020-01-06T23:44:51Z random-nick quit (Ping timeout: 268 seconds) 2020-01-06T23:44:56Z jasom: oni-on-ion: you can look at how e.g. asdf does things. UIOP has some tools for automatically re-exporting symbols from some packages, and it uses the notation of main-package/subpackage:symbol-name and the public api is completely exported from main-package. 2020-01-06T23:47:02Z orivej quit (Ping timeout: 260 seconds) 2020-01-06T23:49:51Z karlosz quit (Quit: karlosz) 2020-01-06T23:49:51Z Kundry_Wag quit (Read error: Connection reset by peer) 2020-01-06T23:50:07Z Kundry_Wag joined #lisp 2020-01-06T23:51:21Z efm joined #lisp 2020-01-06T23:51:26Z lucasb quit (Quit: Connection closed for inactivity) 2020-01-06T23:57:25Z cosimone joined #lisp 2020-01-06T23:57:56Z cosimone_ quit (Ping timeout: 248 seconds) 2020-01-06T23:58:20Z slyrus__ joined #lisp 2020-01-06T23:59:23Z cosimone quit (Client Quit) 2020-01-06T23:59:41Z cosimone joined #lisp 2020-01-07T00:01:25Z slyrus_ quit (Ping timeout: 265 seconds) 2020-01-07T00:01:51Z Xach: This is a pain when trying to print code. By default things print with the subpackage and not the main package. 2020-01-07T00:02:19Z Xach: Especially if the idea is "the specific subpackage is an implementation detail" 2020-01-07T00:05:18Z cosimone quit (Quit: Quit.) 2020-01-07T00:05:30Z phoe: I don't know a way around this, other than defining the API package first and having implementation packages define stuff on the API's symbols. 2020-01-07T00:05:33Z cosimone joined #lisp 2020-01-07T00:05:45Z phoe: Instead of having the API package just reexport stuff from other packages. 2020-01-07T00:07:24Z oni-on-ion: jasom, alright thank you. i will take a look at that ,but it does seem a bit overexhaustive atm. 2020-01-07T00:07:32Z vivit joined #lisp 2020-01-07T00:07:32Z vivit quit (Changing host) 2020-01-07T00:07:32Z vivit joined #lisp 2020-01-07T00:07:56Z jasom: oni-on-ion: obviously if I were happy with things as they are now, I wouldn't have made that prototype that _death linked earlier :) 2020-01-07T00:09:59Z oni-on-ion: jasom, oh! i dodged it because of acronym, generally projects with acros are beyond my level of academic qualifications i find =) did not realise it was yours. 2020-01-07T00:10:59Z oni-on-ion: in the description, exactly describes what i was looking for. i wonder also if it could help with lisp sandboxing 2020-01-07T00:11:26Z jasom: oni-on-ion: it doesn't help with sandboxing because it still uses lisp packages under-the-hood 2020-01-07T00:11:39Z jasom: so you could still do (find-package "some-long-name") 2020-01-07T00:12:36Z turona quit (Ping timeout: 246 seconds) 2020-01-07T00:12:57Z jasom: oni-on-ion: and if you do decide to use it, then perhaps limit the characters it installs reader-macros for to ascii (though that does mean that tokens starting with non-ascii characters would be read as normal). 2020-01-07T00:13:09Z turona joined #lisp 2020-01-07T00:13:50Z makomo quit (Ping timeout: 268 seconds) 2020-01-07T00:16:36Z oni-on-ion quit (Ping timeout: 248 seconds) 2020-01-07T00:22:36Z oni-on-ion joined #lisp 2020-01-07T00:22:43Z efm quit (Ping timeout: 258 seconds) 2020-01-07T00:22:45Z xvx quit (Quit: xvx) 2020-01-07T00:22:53Z brown121407 quit (Ping timeout: 260 seconds) 2020-01-07T00:23:53Z smazga quit (Quit: leaving) 2020-01-07T00:26:51Z efm joined #lisp 2020-01-07T00:27:28Z karlosz joined #lisp 2020-01-07T00:27:39Z cosimone quit (Quit: Quit.) 2020-01-07T00:27:58Z cosimone joined #lisp 2020-01-07T00:28:03Z z147d quit (Ping timeout: 240 seconds) 2020-01-07T00:32:03Z brown121407 joined #lisp 2020-01-07T00:32:26Z varjag joined #lisp 2020-01-07T00:32:51Z CrazyEddy quit (Remote host closed the connection) 2020-01-07T00:35:22Z efm quit (Ping timeout: 258 seconds) 2020-01-07T00:36:21Z jebes joined #lisp 2020-01-07T00:36:54Z varjag quit (Ping timeout: 258 seconds) 2020-01-07T00:38:57Z efm joined #lisp 2020-01-07T00:47:36Z karlosz quit (Quit: karlosz) 2020-01-07T00:49:53Z karlosz joined #lisp 2020-01-07T00:49:57Z akoana left #lisp 2020-01-07T00:50:00Z pjb quit (Remote host closed the connection) 2020-01-07T00:51:30Z pjb joined #lisp 2020-01-07T00:57:43Z gxt quit (Ping timeout: 240 seconds) 2020-01-07T00:58:07Z learning quit (Remote host closed the connection) 2020-01-07T01:00:48Z varjag joined #lisp 2020-01-07T01:01:12Z gxt joined #lisp 2020-01-07T01:05:42Z varjag quit (Ping timeout: 265 seconds) 2020-01-07T01:05:44Z FreeBirdLjj joined #lisp 2020-01-07T01:06:14Z _death: you can see an example of a restricted CL sandbox in https://github.com/tlikonen/cl-eval-bot/tree/master/src 2020-01-07T01:10:27Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2020-01-07T01:17:26Z shifty joined #lisp 2020-01-07T01:17:33Z nckx quit (Remote host closed the connection) 2020-01-07T01:17:53Z nckx joined #lisp 2020-01-07T01:19:29Z __jrjsmrtn__ joined #lisp 2020-01-07T01:20:12Z _jrjsmrtn quit (Ping timeout: 265 seconds) 2020-01-07T01:24:17Z CrazyEddy joined #lisp 2020-01-07T01:26:13Z davepdotorg joined #lisp 2020-01-07T01:29:51Z Kaisyu7 quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-01-07T01:30:50Z davepdotorg quit (Ping timeout: 240 seconds) 2020-01-07T01:31:23Z zulu-inuoe joined #lisp 2020-01-07T01:33:44Z Josh_2 quit (Ping timeout: 265 seconds) 2020-01-07T01:36:16Z zulu-inuoe: Hello, world! Anyone here running SLIME on MacOS Catalina? I'm trying to help somebody right now who's getting errors loading cl+ssl, but only when running through SLIME. Even (ql:quickload :swank) at the terminal works fine and they can start a swank server manually 2020-01-07T01:36:58Z zulu-inuoe: (ql:quickload :cl+ssl) works fine too, for reference. They'd previously had issues which they solved via a brew install openssh 2020-01-07T01:39:07Z rwrsdjlhvwi quit (Ping timeout: 260 seconds) 2020-01-07T01:40:06Z Xach: zulu-inuoe: what errors? 2020-01-07T01:42:37Z Xach: zulu-inuoe: i had some recent errors too but they were fixed by cleared fasls. 2020-01-07T01:42:40Z Kaisyu7 joined #lisp 2020-01-07T01:43:13Z papachan quit (Quit: Leaving) 2020-01-07T01:43:48Z zulu-inuoe: Xach: Unfortunately not. It looks like it's hanging completely, no messages in *Messages*, and they didn't see any relevant output in the inferior-lisp buffer they're giving it another shot now 2020-01-07T01:44:02Z zulu-inuoe: Before, it was hitting the LDB (before installing openssh) 2020-01-07T01:44:09Z Xach: yikes 2020-01-07T01:44:22Z Xach: I guess I'm still on mojave 2020-01-07T01:44:27Z Xach: I thought I had already upgraded 2020-01-07T01:45:10Z zulu-inuoe: Look forward to pain then :D 2020-01-07T01:46:20Z zulu-inuoe: actually, it looks like this might be user error. I just looked at their log and they have ;; Swank started at port: 50078. and no relevant errors afterwards. Might be SLIME's not configured right to bring up the fancy repl 2020-01-07T01:49:53Z zulu-inuoe: .. Huh. Why it it starting on port 50078, actually, rather than the 4005 default? That might be part of this too. 2020-01-07T01:53:10Z _death: 4005 is only the default if you call swank:create-server 2020-01-07T01:54:08Z zulu-inuoe: Oh I see. So that should be fine then 2020-01-07T01:57:09Z count3rmeasure joined #lisp 2020-01-07T02:03:21Z patlv joined #lisp 2020-01-07T02:05:33Z bitmapper quit (Ping timeout: 260 seconds) 2020-01-07T02:09:12Z learning joined #lisp 2020-01-07T02:10:57Z ebzzry quit (Ping timeout: 265 seconds) 2020-01-07T02:12:22Z learning quit (Client Quit) 2020-01-07T02:13:28Z cosimone quit (Quit: Quit.) 2020-01-07T02:15:14Z zulu-inuoe: Okay. Update. I was misunderstanding exactly what was happening. SLIME is in fact connecting successfully, and they get the repl and can eval happily all day. But then if they (ql:quickload :cl+ssl), it hands in trying to load it 2020-01-07T02:15:14Z zulu-inuoe: . 2020-01-07T02:15:51Z dddddd quit (Remote host closed the connection) 2020-01-07T02:16:07Z zulu-inuoe: hangs*. However, this does not happen if they just (ql:quickload :cl+ssl) at a bare SBCL REPL 2020-01-07T02:17:13Z zulu-inuoe: (no output in the SBCL terminal, BTW, beyond the client having connected) 2020-01-07T02:20:07Z zulu-inuoe: What jolly fun. I do hope it turns out to be something stupid simple 2020-01-07T02:26:25Z antepod quit (Ping timeout: 268 seconds) 2020-01-07T02:31:58Z rdh joined #lisp 2020-01-07T02:40:30Z rdh quit (Quit: Leaving) 2020-01-07T02:49:33Z count3rmeasure quit (Quit: Leaving) 2020-01-07T02:49:37Z stepnem quit (Ping timeout: 265 seconds) 2020-01-07T02:50:12Z g0d_shatter joined #lisp 2020-01-07T02:52:56Z patlv quit (Ping timeout: 268 seconds) 2020-01-07T02:55:57Z Kundry_Wag quit (Read error: No route to host) 2020-01-07T02:56:22Z Kundry_Wag joined #lisp 2020-01-07T02:57:28Z slyrus joined #lisp 2020-01-07T02:58:18Z ahungry joined #lisp 2020-01-07T02:59:48Z slyrus__ quit (Ping timeout: 260 seconds) 2020-01-07T03:03:50Z _death: did you try with :verbose t? or loading the foreign library manually? 2020-01-07T03:04:07Z Lord_of_Life_ joined #lisp 2020-01-07T03:05:05Z _death: could also try to save an image with it loaded in the terminal.. 2020-01-07T03:05:53Z Lord_of_Life quit (Ping timeout: 268 seconds) 2020-01-07T03:05:53Z Lord_of_Life_ is now known as Lord_of_Life 2020-01-07T03:06:49Z smokeink joined #lisp 2020-01-07T03:09:05Z brown121407 quit (Ping timeout: 258 seconds) 2020-01-07T03:11:57Z X-Scale` joined #lisp 2020-01-07T03:12:02Z X-Scale quit (Ping timeout: 240 seconds) 2020-01-07T03:13:06Z X-Scale` is now known as X-Scale 2020-01-07T03:13:22Z brown121407 joined #lisp 2020-01-07T03:25:36Z karswell quit (Remote host closed the connection) 2020-01-07T03:25:57Z karswell joined #lisp 2020-01-07T03:26:55Z Kundry_Wag quit (Read error: Connection reset by peer) 2020-01-07T03:27:09Z davepdotorg joined #lisp 2020-01-07T03:27:12Z Kundry_Wag joined #lisp 2020-01-07T03:30:08Z X-Scale quit (Ping timeout: 260 seconds) 2020-01-07T03:30:17Z X-Scale` joined #lisp 2020-01-07T03:31:25Z X-Scale` is now known as X-Scale 2020-01-07T03:31:38Z davepdotorg quit (Ping timeout: 240 seconds) 2020-01-07T03:35:00Z g0d_shatter quit (Quit: Leaving) 2020-01-07T03:40:58Z anewuser joined #lisp 2020-01-07T03:57:38Z Kundry_Wag quit (Read error: No route to host) 2020-01-07T03:57:53Z stepnem joined #lisp 2020-01-07T03:58:03Z Kundry_Wag joined #lisp 2020-01-07T03:59:18Z vivit quit (Ping timeout: 260 seconds) 2020-01-07T04:06:11Z jgodbout joined #lisp 2020-01-07T04:07:27Z madage quit (Remote host closed the connection) 2020-01-07T04:07:48Z madage joined #lisp 2020-01-07T04:16:48Z kscarlet joined #lisp 2020-01-07T04:17:25Z brettgilio quit (Ping timeout: 268 seconds) 2020-01-07T04:18:32Z brettgilio joined #lisp 2020-01-07T04:18:57Z g0d_shatter joined #lisp 2020-01-07T04:22:18Z kscarlet quit (Ping timeout: 258 seconds) 2020-01-07T04:23:52Z anewuser quit (Ping timeout: 265 seconds) 2020-01-07T04:27:53Z shifty quit (Ping timeout: 260 seconds) 2020-01-07T04:33:25Z khisanth_ quit (Ping timeout: 258 seconds) 2020-01-07T04:50:12Z khisanth_ joined #lisp 2020-01-07T05:09:38Z stepnem quit (Ping timeout: 240 seconds) 2020-01-07T05:10:02Z Necktwi quit (Ping timeout: 240 seconds) 2020-01-07T05:11:01Z FreeBirdLjj joined #lisp 2020-01-07T05:12:04Z stepnem joined #lisp 2020-01-07T05:15:10Z Bike quit (Quit: Lost terminal) 2020-01-07T05:15:27Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2020-01-07T05:32:25Z narimiran joined #lisp 2020-01-07T05:39:43Z ggole joined #lisp 2020-01-07T05:43:47Z oxum quit (Remote host closed the connection) 2020-01-07T05:44:18Z harovali joined #lisp 2020-01-07T05:46:25Z harovali: hi! I started emacs as user not as root, as usual. Then ran slime. I can edit /usr/share/emacs/site-lisp/slime/ using tramp with sudo. Is it possible to run (compile ...) on that root-owned file and directory? If yes, how? thanks ! 2020-01-07T05:47:16Z harovali: I mean (compile "/usr/share/emacs/site-lisp/slime/swank.lisp") 2020-01-07T05:48:03Z reg32 joined #lisp 2020-01-07T05:49:01Z patlv_ quit (Quit: Leaving) 2020-01-07T05:52:13Z reg32 quit (Remote host closed the connection) 2020-01-07T05:56:37Z harovali: never mind, changed owner of /usr/share/emacs/site-lisp/slime/ and compiled fine 2020-01-07T06:01:26Z oxum joined #lisp 2020-01-07T06:02:29Z oxum quit (Remote host closed the connection) 2020-01-07T06:03:39Z oxum joined #lisp 2020-01-07T06:09:53Z gravicappa joined #lisp 2020-01-07T06:11:08Z brown121407 quit (Ping timeout: 260 seconds) 2020-01-07T06:13:49Z oxum quit (Remote host closed the connection) 2020-01-07T06:14:12Z oxum joined #lisp 2020-01-07T06:16:16Z oxum quit (Remote host closed the connection) 2020-01-07T06:18:04Z brown121407 joined #lisp 2020-01-07T06:18:11Z ahungry quit (Remote host closed the connection) 2020-01-07T06:24:03Z _whitelogger quit (Remote host closed the connection) 2020-01-07T06:24:19Z oxum joined #lisp 2020-01-07T06:24:33Z anewuser joined #lisp 2020-01-07T06:26:16Z _whitelogger joined #lisp 2020-01-07T06:30:36Z shifty joined #lisp 2020-01-07T06:33:50Z ArthurStrong joined #lisp 2020-01-07T06:36:08Z karlosz quit (Quit: karlosz) 2020-01-07T06:36:48Z oxum quit (Remote host closed the connection) 2020-01-07T06:37:22Z oxum joined #lisp 2020-01-07T06:37:28Z karlosz joined #lisp 2020-01-07T06:37:53Z harovali quit (Remote host closed the connection) 2020-01-07T06:42:59Z william1_ joined #lisp 2020-01-07T06:44:19Z makomo joined #lisp 2020-01-07T06:46:24Z beach: Good morning everyone! 2020-01-07T06:46:44Z ArthurStrong: beach: good morning indeed 2020-01-07T06:48:04Z william1_ quit (Ping timeout: 268 seconds) 2020-01-07T06:48:24Z dale quit (Quit: My computer has gone to sleep) 2020-01-07T06:54:00Z g0d_shatter quit (Remote host closed the connection) 2020-01-07T06:55:46Z ArthurStrong quit (Quit: leaving) 2020-01-07T06:56:07Z ArthurStrong joined #lisp 2020-01-07T07:01:11Z JohnMS_WORK joined #lisp 2020-01-07T07:02:55Z doublex_ joined #lisp 2020-01-07T07:04:03Z zooey quit (Ping timeout: 240 seconds) 2020-01-07T07:04:24Z vlatkoB joined #lisp 2020-01-07T07:05:37Z zooey joined #lisp 2020-01-07T07:06:33Z doublex__ quit (Ping timeout: 260 seconds) 2020-01-07T07:13:02Z nowhere_man joined #lisp 2020-01-07T07:13:58Z makomo quit (Ping timeout: 268 seconds) 2020-01-07T07:28:13Z scymtym quit (Ping timeout: 258 seconds) 2020-01-07T07:37:44Z varjag joined #lisp 2020-01-07T07:39:08Z flamebeard joined #lisp 2020-01-07T07:45:42Z karlosz quit (Quit: karlosz) 2020-01-07T07:46:14Z karlosz joined #lisp 2020-01-07T07:46:43Z karlosz quit (Client Quit) 2020-01-07T07:47:05Z frgo_ quit (Ping timeout: 268 seconds) 2020-01-07T07:47:17Z karlosz joined #lisp 2020-01-07T07:52:17Z jprajzne joined #lisp 2020-01-07T07:55:06Z nowhere_man quit (Ping timeout: 268 seconds) 2020-01-07T07:56:31Z scymtym joined #lisp 2020-01-07T07:56:55Z shangul joined #lisp 2020-01-07T08:00:02Z reg32 joined #lisp 2020-01-07T08:00:31Z davepdotorg joined #lisp 2020-01-07T08:02:30Z karlosz quit (Quit: karlosz) 2020-01-07T08:05:01Z davepdotorg quit (Ping timeout: 258 seconds) 2020-01-07T08:06:44Z reg32: Does anybody know why Roswell has a C part and hasn't been fully written in CL? 2020-01-07T08:07:04Z Kundry_Wag quit (Read error: No route to host) 2020-01-07T08:07:08Z Kundry_W_ joined #lisp 2020-01-07T08:07:38Z reg32 quit (Quit: Ping timeout (120 seconds)) 2020-01-07T08:08:22Z easye: reg32: Roswell depends on fairly portable C to do things one uses Bourne or Bash scripting for. 2020-01-07T08:08:34Z easye: Whoops. Talking to myself apparently. Again. 2020-01-07T08:11:26Z anewuser quit (Read error: Connection reset by peer) 2020-01-07T08:12:58Z z147d joined #lisp 2020-01-07T08:18:03Z brown121407 quit (Ping timeout: 258 seconds) 2020-01-07T08:19:41Z brown121408 joined #lisp 2020-01-07T08:24:16Z whartung quit (Read error: Connection reset by peer) 2020-01-07T08:25:01Z zmt01 joined #lisp 2020-01-07T08:25:19Z flip214: easye: no, we're all listening eagerly! 2020-01-07T08:26:06Z whartung joined #lisp 2020-01-07T08:26:12Z zmt00 quit (Ping timeout: 260 seconds) 2020-01-07T08:27:26Z enrio joined #lisp 2020-01-07T08:28:01Z Shinmera: It's in C so it can be bootstrapped easily. 2020-01-07T08:28:23Z Shinmera: Or in the very least that was the initial idea. 2020-01-07T08:28:53Z ArthurStrong quit (Quit: leaving) 2020-01-07T08:34:29Z pjb: easye: I use CL to write my scripts. Why should one choose to use C for that? Beyond comprehension… 2020-01-07T08:34:49Z Shinmera: Personally I would have written everything in CL and then dumped binaries for the various platforms. 2020-01-07T08:35:45Z pjb: Shinmera: we're really past the bootstrapping phase. Well, ok, I will agree that we could have a few more CL compilers, including cross compilers. I guess this will be easy to implement with sicl. 2020-01-07T08:35:55Z Tevin joined #lisp 2020-01-07T08:36:13Z Shinmera: pjb: The point of Roswell is to be able to get CL when you don't have CL already. 2020-01-07T08:36:37Z Shinmera: The solution they perceived was to write a C program that could fetch a CL for you. 2020-01-07T08:36:40Z beach was about to ask what problem Roswell solves. 2020-01-07T08:36:52Z Shinmera: You don't need to tell me what the right way to do it is, it wasn't my idea. 2020-01-07T08:38:20Z pjb: Shinmera: well, that purpose is also incomprehensible. I have lisp installed on my systems even before the kernel or the system is completely installed, since the first thing I put on a new system is emacs and ccl... 2020-01-07T08:38:34Z Shinmera: Good for you. 2020-01-07T08:40:06Z dddddd joined #lisp 2020-01-07T08:42:17Z Tevin is now known as rwcom 2020-01-07T08:43:33Z easye: pjb: if one really wanted to work across classical Windows/Unix, writing a small piece of portable C might be the way to go. 2020-01-07T08:44:03Z rwcom quit (Quit: The Lounge - https://thelounge.chat) 2020-01-07T08:44:06Z splittist: surely javascript on electron 2020-01-07T08:44:33Z Tevin joined #lisp 2020-01-07T08:44:39Z Tevin is now known as rwcom 2020-01-07T08:44:42Z rwcom quit (Client Quit) 2020-01-07T08:45:05Z easye: splittist: I am thinking just a slim executable in a single file. Electron needs an installer or some kind. 2020-01-07T08:45:27Z flamebeard quit (Remote host closed the connection) 2020-01-07T08:45:34Z JohnMS joined #lisp 2020-01-07T08:45:40Z rwcom joined #lisp 2020-01-07T08:46:02Z flamebeard joined #lisp 2020-01-07T08:48:38Z JohnMS_WORK quit (Ping timeout: 260 seconds) 2020-01-07T08:50:46Z rwcom quit (Quit: The Lounge - https://thelounge.chat) 2020-01-07T08:50:58Z flamebeard quit (Ping timeout: 260 seconds) 2020-01-07T08:52:03Z rwcom joined #lisp 2020-01-07T08:57:55Z vlatkoB quit (Ping timeout: 265 seconds) 2020-01-07T08:58:03Z vlatkoB_ joined #lisp 2020-01-07T08:58:03Z z147d quit (Ping timeout: 240 seconds) 2020-01-07T08:59:21Z flamebeard joined #lisp 2020-01-07T09:00:20Z flamebeard quit (Remote host closed the connection) 2020-01-07T09:07:30Z hhdave joined #lisp 2020-01-07T09:09:54Z z147d joined #lisp 2020-01-07T09:10:07Z davepdotorg joined #lisp 2020-01-07T09:11:18Z orivej joined #lisp 2020-01-07T09:14:02Z hhdave quit (Ping timeout: 268 seconds) 2020-01-07T09:15:27Z davepdotorg quit (Ping timeout: 268 seconds) 2020-01-07T09:16:04Z galdor: to be honest, to download build and install CL implementations, neither C nor CL are the simplest choice 2020-01-07T09:16:14Z galdor: shell scripts exist for this kind of task 2020-01-07T09:16:30Z galdor: of course one could use CL and UIOP:RUN-PROGRAM but it's just painful 2020-01-07T09:16:33Z davepdotorg joined #lisp 2020-01-07T09:18:54Z aeth: The easiest way to bootstrap CL is CL imo 2020-01-07T09:19:05Z aeth: Good for Linux, where you'll probably have a(n outdated) CL in your distro 2020-01-07T09:19:52Z aeth: On Windows, you'll just download a random .EXE unless the typical Windows workflow has changed significantly. In this case, SBCL has EXEs 2020-01-07T09:19:58Z _paul0 joined #lisp 2020-01-07T09:20:26Z aeth: So at least two OSes have easy access to a CL for bootstrapping 2020-01-07T09:23:02Z paul0 quit (Ping timeout: 252 seconds) 2020-01-07T09:24:50Z william1_ joined #lisp 2020-01-07T09:26:08Z pok quit (Ping timeout: 245 seconds) 2020-01-07T09:27:43Z kscarlet joined #lisp 2020-01-07T09:29:28Z brown121408 quit (Read error: Connection reset by peer) 2020-01-07T09:29:44Z william1_ quit (Ping timeout: 258 seconds) 2020-01-07T09:30:40Z brown121408 joined #lisp 2020-01-07T09:31:59Z william1_ joined #lisp 2020-01-07T09:38:10Z trafaret1 joined #lisp 2020-01-07T09:44:22Z kscarlet quit (Ping timeout: 260 seconds) 2020-01-07T09:46:05Z pok joined #lisp 2020-01-07T09:47:45Z aindilis quit (Ping timeout: 258 seconds) 2020-01-07T09:50:03Z enrio quit (Ping timeout: 258 seconds) 2020-01-07T09:50:30Z thealemazing joined #lisp 2020-01-07T10:02:36Z flamebeard joined #lisp 2020-01-07T10:04:14Z ebzzry joined #lisp 2020-01-07T10:07:15Z flamebeard quit (Ping timeout: 268 seconds) 2020-01-07T10:10:51Z random-nick joined #lisp 2020-01-07T10:11:50Z p_l: aeth: I mostly use roswell on macos 2020-01-07T10:12:00Z pok quit (Ping timeout: 268 seconds) 2020-01-07T10:12:48Z pok joined #lisp 2020-01-07T10:14:21Z heisig joined #lisp 2020-01-07T10:15:06Z Lord_of_Life quit (Read error: Connection reset by peer) 2020-01-07T10:17:22Z Lord_of_Life joined #lisp 2020-01-07T10:18:44Z jonatack quit (Ping timeout: 248 seconds) 2020-01-07T10:27:42Z oxum_ joined #lisp 2020-01-07T10:28:16Z oxum__ joined #lisp 2020-01-07T10:28:17Z oxum__ quit (Read error: Connection reset by peer) 2020-01-07T10:30:43Z oxum quit (Ping timeout: 260 seconds) 2020-01-07T10:31:17Z oxum joined #lisp 2020-01-07T10:31:41Z oxum_ quit (Remote host closed the connection) 2020-01-07T10:32:39Z narimiran quit (Read error: Connection reset by peer) 2020-01-07T10:33:01Z narimiran joined #lisp 2020-01-07T10:36:33Z CrazyEddy quit (Ping timeout: 260 seconds) 2020-01-07T10:36:36Z oxum quit (Remote host closed the connection) 2020-01-07T10:37:20Z cosimone joined #lisp 2020-01-07T10:42:34Z CrazyEddy joined #lisp 2020-01-07T10:45:03Z rippa joined #lisp 2020-01-07T10:45:26Z m00natic joined #lisp 2020-01-07T10:50:22Z cosimone quit (Remote host closed the connection) 2020-01-07T10:50:51Z cosimone joined #lisp 2020-01-07T10:56:25Z oxum joined #lisp 2020-01-07T10:56:50Z Lycurgus joined #lisp 2020-01-07T11:10:44Z oxum quit (Remote host closed the connection) 2020-01-07T11:13:01Z oxum_ joined #lisp 2020-01-07T11:13:04Z oxum_ quit (Remote host closed the connection) 2020-01-07T11:13:05Z admich joined #lisp 2020-01-07T11:13:27Z oxum_ joined #lisp 2020-01-07T11:16:53Z oxum_ is now known as oxum 2020-01-07T11:23:21Z flamebeard joined #lisp 2020-01-07T11:26:11Z brown121408 quit (Ping timeout: 268 seconds) 2020-01-07T11:26:14Z oxum quit (Remote host closed the connection) 2020-01-07T11:27:34Z brown121408 joined #lisp 2020-01-07T11:29:20Z fookara joined #lisp 2020-01-07T11:31:44Z Lycurgus quit (Remote host closed the connection) 2020-01-07T11:39:33Z thealemazing quit (Ping timeout: 260 seconds) 2020-01-07T11:40:03Z cosimone quit (Quit: Terminated!) 2020-01-07T11:42:29Z cosimone joined #lisp 2020-01-07T11:42:30Z johnjay: p_l: ah, maybe you can explain what that does exactly 2020-01-07T11:42:44Z johnjay: i was confused as hell by this thing I downloaded that said to use ros or something in the make file 2020-01-07T11:43:01Z johnjay: i think somehow I managed to trick quicklisp into getting everything built though 2020-01-07T11:43:23Z p_l: johnjay: it provides a somewhat easy way to bootstrap a bunch of implementations and also supports triggering building complete applications with apropriate wrappers in automated way 2020-01-07T11:43:47Z p_l: as in, QL by itself doesn't provide a way to one-command build a program that will be registered so you can just run it from OS 2020-01-07T11:44:00Z oxum joined #lisp 2020-01-07T11:44:27Z johnjay: ah ok 2020-01-07T11:44:44Z johnjay: see I specifically wanted to run it from inside sbcl so i could debug stuff 2020-01-07T11:44:50Z johnjay: so... yeah that was weird 2020-01-07T11:45:08Z johnjay: the small glimpse i had into building with lisp terrified and confused me 2020-01-07T11:48:31Z phoe: johnjay: (asdf:make :system-name) tends to be good enough, usually 2020-01-07T11:48:55Z phoe: I have it hooked up to https://github.com/Shinmera/deploy 2020-01-07T11:49:03Z phoe: for the systems that I need built, that is 2020-01-07T11:51:14Z oxum quit (Ping timeout: 240 seconds) 2020-01-07T11:51:45Z gabiruh joined #lisp 2020-01-07T11:52:02Z aazsdk joined #lisp 2020-01-07T11:53:47Z aazsdk left #lisp 2020-01-07T11:54:45Z johnjay: >Specifically it is geared towards applications with foreign library dependencies that run some kind of GUI. 2020-01-07T11:55:09Z phoe: if you have no foreign libraries and/or GUI then no one prevents you from using this library either 2020-01-07T11:55:30Z johnjay: ok. it sounded a bit like saying the new Toyota is geared toward bipedal organisms with binocular vision. 2020-01-07T11:55:44Z phoe: you can deploy pure-Lisp server applications with it as well, you just don't use the parts responsible for handling foreign libraries 2020-01-07T11:56:19Z Shinmera: johnjay: far from everything has foreign library dependencies, and far from everything presents a GUI 2020-01-07T11:56:49Z cosimone quit (Quit: Terminated!) 2020-01-07T11:58:21Z johnjay: Shinmera: that's... not very reassuring. but yes that is correct. 2020-01-07T11:58:37Z Shinmera: ? It's not meant to be reassuring, it's refuting your weird comparison. 2020-01-07T12:02:24Z admich quit (Read error: No route to host) 2020-01-07T12:02:36Z harovali joined #lisp 2020-01-07T12:03:18Z william1 joined #lisp 2020-01-07T12:03:49Z harovali: hi!, I'm debbugging with slime. Is it possible after a function call, see the return value of a function after 's' or 'x' keystroke in the code block buffer? 2020-01-07T12:06:12Z swflint quit (Ping timeout: 252 seconds) 2020-01-07T12:06:32Z phoe: if anything, lack of GUI and lack of foreign code are two very reassuring things about a program 2020-01-07T12:06:42Z phoe: *especially* from a Lisp programmer's perspective 2020-01-07T12:07:10Z swflint joined #lisp 2020-01-07T12:07:30Z phoe: since it means that we don't need to care about two things that tend to screw up often in various twisted and difficult ways 2020-01-07T12:09:14Z smokeink quit (Ping timeout: 240 seconds) 2020-01-07T12:11:11Z Xach: harovali: no 2020-01-07T12:12:07Z Xach: harovali: i use trace for that 2020-01-07T12:13:43Z Guest30616 is now known as neuro_sys 2020-01-07T12:14:43Z harovali: Xach thanks 2020-01-07T12:16:28Z harovali quit (Remote host closed the connection) 2020-01-07T12:19:45Z frgo joined #lisp 2020-01-07T12:22:53Z oni-on-ion quit (Remote host closed the connection) 2020-01-07T12:23:11Z oni-on-ion joined #lisp 2020-01-07T12:24:09Z shangul quit (Ping timeout: 268 seconds) 2020-01-07T12:30:16Z harovali joined #lisp 2020-01-07T12:33:51Z rwcom quit (Read error: Connection reset by peer) 2020-01-07T12:34:24Z rwcom joined #lisp 2020-01-07T12:39:16Z jonatack joined #lisp 2020-01-07T12:39:23Z cmatei quit (Read error: Connection reset by peer) 2020-01-07T12:39:32Z lucasb joined #lisp 2020-01-07T12:39:54Z cmatei joined #lisp 2020-01-07T12:42:56Z harovali: In the stepper in slime bound but not used variables are not shown in the frame's variables ? Why ? 2020-01-07T12:43:34Z oxum joined #lisp 2020-01-07T12:45:11Z jmercouris joined #lisp 2020-01-07T12:47:09Z Xach: I don't know, sorry, I haven't used the stepper 2020-01-07T12:47:31Z Xach: I more often use (break) and high debug (C-u C-c C-c) to look at local variables. 2020-01-07T12:49:32Z jackdaniel: harovali: you may try to set high debugging settings 2020-01-07T12:49:49Z jackdaniel: it might be that compiler optimized away things which are not used 2020-01-07T12:50:29Z oxum quit (Ping timeout: 268 seconds) 2020-01-07T12:55:18Z shangul joined #lisp 2020-01-07T13:00:45Z oxum joined #lisp 2020-01-07T13:03:02Z harovali: jackdaniel: 3 is highest? 2020-01-07T13:03:06Z jackdaniel: yes 2020-01-07T13:03:36Z harovali: jackdaniel: can I *check* by querying a variable (sbcl) which level it is ? 2020-01-07T13:04:20Z jackdaniel: I don't think you can using ansi cl functions 2020-01-07T13:04:41Z harovali: Xach, What is high debug different than pressing x for the next ? 2020-01-07T13:05:41Z harovali: jackdaniel: it's implementation defined for sure 2020-01-07T13:07:32Z harovali: oh ! hich debug is not a thing, it's 3 2020-01-07T13:07:39Z harovali: yes I'm in 3 2020-01-07T13:11:41Z jackdaniel: http://www.lispworks.com/documentation/HyperSpec/Issues/iss251_w.htm ← interesting from a historical perspective (regarding optimize debug) 2020-01-07T13:12:42Z bitmapper joined #lisp 2020-01-07T13:16:07Z harovali: jackdaniel: yes it is 2020-01-07T13:16:29Z TanKian joined #lisp 2020-01-07T13:18:14Z william1 quit (Ping timeout: 268 seconds) 2020-01-07T13:18:27Z oxum quit (Read error: Connection reset by peer) 2020-01-07T13:18:39Z oxum joined #lisp 2020-01-07T13:18:59Z oxum quit (Remote host closed the connection) 2020-01-07T13:22:25Z Lord_Nightmare quit (Ping timeout: 258 seconds) 2020-01-07T13:27:43Z gabiruh_ joined #lisp 2020-01-07T13:29:20Z harovali quit (Remote host closed the connection) 2020-01-07T13:30:42Z gabiruh quit (Ping timeout: 260 seconds) 2020-01-07T13:34:06Z Lord_Nightmare joined #lisp 2020-01-07T13:36:00Z wxie joined #lisp 2020-01-07T13:37:14Z jmercouris quit (Ping timeout: 240 seconds) 2020-01-07T13:37:30Z patlv joined #lisp 2020-01-07T13:38:11Z LiamH joined #lisp 2020-01-07T13:39:34Z shangul left #lisp 2020-01-07T13:39:56Z cosimone joined #lisp 2020-01-07T13:41:55Z EvW joined #lisp 2020-01-07T13:43:07Z oxum joined #lisp 2020-01-07T13:46:43Z jgodbout quit (Ping timeout: 260 seconds) 2020-01-07T13:56:51Z antepod joined #lisp 2020-01-07T13:58:42Z gioyik joined #lisp 2020-01-07T13:59:10Z william1 joined #lisp 2020-01-07T14:01:02Z fookara quit (Remote host closed the connection) 2020-01-07T14:02:50Z Bike joined #lisp 2020-01-07T14:03:52Z shifty quit (Ping timeout: 265 seconds) 2020-01-07T14:05:08Z shifty joined #lisp 2020-01-07T14:09:07Z wyan joined #lisp 2020-01-07T14:09:29Z _paul0 is now known as paul0 2020-01-07T14:11:48Z TanKian quit (Ping timeout: 260 seconds) 2020-01-07T14:14:28Z oxum quit (Remote host closed the connection) 2020-01-07T14:14:32Z trafaret1 quit (Quit: ERC (IRC client for Emacs 26.1)) 2020-01-07T14:15:32Z EvW quit (Ping timeout: 248 seconds) 2020-01-07T14:15:44Z FreeBirdLjj joined #lisp 2020-01-07T14:18:39Z oxum joined #lisp 2020-01-07T14:20:07Z wxie1 joined #lisp 2020-01-07T14:20:17Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2020-01-07T14:20:26Z wxie quit (Ping timeout: 240 seconds) 2020-01-07T14:20:30Z wxie1 is now known as wxie 2020-01-07T14:21:17Z pfdietz: Why does https://irclog.tymoon.eu/freenode/%23lisp not show everyone talking in this channel? Must be some irc oddity. 2020-01-07T14:21:55Z Shinmera: pfdietz: Huh? 2020-01-07T14:22:22Z Shinmera: I see no messages in my chat that aren't in the log 2020-01-07T14:23:02Z pfdietz: Ah, Xach was so light in color I missed him. nvm 2020-01-07T14:24:57Z wxie quit (Ping timeout: 260 seconds) 2020-01-07T14:28:31Z shifty quit (Ping timeout: 265 seconds) 2020-01-07T14:34:22Z FreeBirdLjj joined #lisp 2020-01-07T14:34:55Z Xach: pale as a ghost 2020-01-07T14:35:55Z atgreen joined #lisp 2020-01-07T14:37:21Z jonatack quit (Read error: Connection reset by peer) 2020-01-07T14:39:38Z patlv quit (Ping timeout: 268 seconds) 2020-01-07T14:41:31Z pfdietz: Xach: do you have download stats for ql projects? This was posted on the blog in Feb 2018, but not more recently. 2020-01-07T14:41:39Z jonatack joined #lisp 2020-01-07T14:42:17Z khisanth_ is now known as Khisanth 2020-01-07T14:42:46Z wyan quit 2020-01-07T14:43:45Z paul0 quit (Ping timeout: 246 seconds) 2020-01-07T14:43:59Z oxum quit (Remote host closed the connection) 2020-01-07T14:44:24Z oxum joined #lisp 2020-01-07T14:48:43Z nullniverse joined #lisp 2020-01-07T14:50:55Z phoe: I kinda wish it was generated and posted somewhere automatically with each QL release 2020-01-07T14:52:11Z edgar-rft: In Common Lisp chronology, Februar 2018 was yesterday morning 2020-01-07T14:52:27Z patlv joined #lisp 2020-01-07T14:52:31Z jayspeer joined #lisp 2020-01-07T14:52:42Z jayspeer quit (Client Quit) 2020-01-07T14:53:15Z jayspeer joined #lisp 2020-01-07T14:53:45Z igemnace joined #lisp 2020-01-07T14:55:07Z patlv_ joined #lisp 2020-01-07T14:59:38Z patlv_ quit (Ping timeout: 260 seconds) 2020-01-07T15:00:22Z JohnMS quit (Read error: Connection reset by peer) 2020-01-07T15:01:43Z Xach: pfdietz: i don't have them handy any more. 2020-01-07T15:02:45Z EvW joined #lisp 2020-01-07T15:03:18Z TanKian joined #lisp 2020-01-07T15:03:54Z reg32 joined #lisp 2020-01-07T15:04:09Z igemnace quit (Quit: WeeChat 2.7) 2020-01-07T15:05:18Z Lord_of_Life_ joined #lisp 2020-01-07T15:07:04Z Lord_of_Life quit (Ping timeout: 258 seconds) 2020-01-07T15:07:05Z Lord_of_Life_ is now known as Lord_of_Life 2020-01-07T15:11:03Z eeeeeta: SYMBOL-MACROLET is the best thing ever 2020-01-07T15:11:09Z eeeeeta <3 2020-01-07T15:12:22Z aindilis joined #lisp 2020-01-07T15:12:38Z pfdietz: macrolet and symbol-macrolet, while cool and useful, don't work well with code walkers. :/ 2020-01-07T15:14:10Z Odin-: Aren't there a ton of things in CL that can mess with those? 2020-01-07T15:15:56Z cosimone quit (Quit: Terminated!) 2020-01-07T15:16:12Z Bike: if you have parse-macro and enclose, macrolet's fine with code walking, isn't it? 2020-01-07T15:17:27Z anunnaki quit (Ping timeout: 260 seconds) 2020-01-07T15:17:49Z jonatack quit (Ping timeout: 265 seconds) 2020-01-07T15:18:36Z Bike: oh, and augment-environment i guess. 2020-01-07T15:18:40Z Bike: i suppose usually you don't have that stuff 2020-01-07T15:19:06Z grewal quit (Ping timeout: 268 seconds) 2020-01-07T15:19:12Z oxum quit (Ping timeout: 260 seconds) 2020-01-07T15:19:28Z phoe: not unless you use some sort of cltl2 package 2020-01-07T15:19:47Z grewal joined #lisp 2020-01-07T15:24:31Z pjb: pfdietz: bad code walkers. Any code walker worth its bits will deal with macrolets and symbol-macrolets perfectly well. 2020-01-07T15:25:26Z jprajzne quit (Quit: Leaving.) 2020-01-07T15:25:37Z pjb: pfdietz: the only thing that is bad for code walkers, is implementation-specific special forms. (Unless the implementation provides an equivalent macro). 2020-01-07T15:27:31Z pfdietz: Specifically, the code walker in ITERATE 2020-01-07T15:29:24Z pfdietz: ITERATE gives up walking if it finds macrolet or symbol-macrolet. Which means if you wrap a form in one of those, or have a macro expansion that introduces them, an iterate form can break. 2020-01-07T15:30:07Z heisig quit (Quit: Leaving) 2020-01-07T15:30:10Z Bike: wow, really? that's pretty unfortunate. 2020-01-07T15:32:19Z davr0s joined #lisp 2020-01-07T15:32:20Z davr0s_ joined #lisp 2020-01-07T15:38:51Z edgar-rft quit (Quit: Leaving) 2020-01-07T15:44:06Z eeeeeta: huh 2020-01-07T15:44:23Z eeeeeta: I mainly find SYMBOL-MACROLET useful for when you have a CLOS object inside another CLOS object 2020-01-07T15:44:32Z Shinmera: I'm reminded that I should switch out FOR's home-brewed, shitty iteration protocol for the extensible sequences one. 2020-01-07T15:44:38Z eeeeeta: and you don't want to write (accessor-2 (accessor-1 thing)) 2020-01-07T15:44:43Z eeeeeta: (that is, multiple times) 2020-01-07T15:45:35Z Josh_2 joined #lisp 2020-01-07T15:49:08Z Bike: i don't really see how you could handle, like, a macrolet macro body referring to an outer macro definition without implementation support, tho. 2020-01-07T15:49:25Z Bike: symbol macrolet by itself could probably be managed 2020-01-07T15:49:42Z Bike: well, no, but then a macro function could call macroexpand, huh 2020-01-07T15:51:00Z Kundry_W_ quit (Read error: Connection reset by peer) 2020-01-07T15:51:19Z Kundry_Wag joined #lisp 2020-01-07T15:52:29Z gareppa joined #lisp 2020-01-07T15:54:31Z gareppa quit (Remote host closed the connection) 2020-01-07T15:55:04Z dale_ joined #lisp 2020-01-07T15:55:10Z dale_ is now known as dale 2020-01-07T16:01:18Z Kundry_Wag quit (Remote host closed the connection) 2020-01-07T16:02:25Z Kundry_Wag joined #lisp 2020-01-07T16:02:57Z EvW quit (Ping timeout: 260 seconds) 2020-01-07T16:05:15Z FreeBirdLjj quit (Remote host closed the connection) 2020-01-07T16:05:48Z FreeBirdLjj joined #lisp 2020-01-07T16:06:50Z antepod quit (Ping timeout: 240 seconds) 2020-01-07T16:07:17Z ebrasca joined #lisp 2020-01-07T16:10:32Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2020-01-07T16:11:01Z trittweiler joined #lisp 2020-01-07T16:15:07Z vivit joined #lisp 2020-01-07T16:15:08Z vivit quit (Changing host) 2020-01-07T16:15:08Z vivit joined #lisp 2020-01-07T16:20:54Z reg32 quit (Remote host closed the connection) 2020-01-07T16:22:31Z Bike quit (Ping timeout: 260 seconds) 2020-01-07T16:24:28Z efm quit (Ping timeout: 268 seconds) 2020-01-07T16:27:46Z shifty joined #lisp 2020-01-07T16:28:14Z Bike joined #lisp 2020-01-07T16:30:44Z flamebeard quit 2020-01-07T16:30:48Z Necktwi joined #lisp 2020-01-07T16:31:20Z jayspeer quit (Quit: going to sleep... Zzzz...) 2020-01-07T16:31:26Z TanKian quit (Quit: TanKian) 2020-01-07T16:35:18Z shifty quit (Ping timeout: 260 seconds) 2020-01-07T16:37:02Z nullniverse quit (Quit: Leaving) 2020-01-07T16:39:09Z Kundry_Wag quit (Read error: No route to host) 2020-01-07T16:39:15Z Kundry_Wag joined #lisp 2020-01-07T16:39:34Z Xach: pfdietz: what stats interest you? 2020-01-07T16:39:41Z katco: hey all, i've just made public 2 projects which could use more eyes and constructive criticism: https://github.com/kat-co/gir2cl, https://github.com/kat-co/cl-apache-arrow 2020-01-07T16:45:22Z lowryder joined #lisp 2020-01-07T16:47:20Z karlosz joined #lisp 2020-01-07T16:47:28Z harovali joined #lisp 2020-01-07T16:47:58Z harovali: hi! Whats the meaning of #(0 0 595 841) ? Or its type maybe ? 2020-01-07T16:49:01Z Oladon joined #lisp 2020-01-07T16:49:18Z gareppa joined #lisp 2020-01-07T16:49:46Z Odin-: Vector. 2020-01-07T16:49:51Z eeeeeta: harovali: that's a vector 2020-01-07T16:51:36Z harovali: hmmm. Is there a trivial way of turning a vector into a list ? 2020-01-07T16:51:51Z Bike: (coerce vector 'list) 2020-01-07T16:51:56Z harovali: thanks!! 2020-01-07T16:56:07Z grabarz_ joined #lisp 2020-01-07T16:56:14Z pjb: harovali: with the default read table, #( is a dispatching reader macro that reads a vector. 2020-01-07T16:56:31Z pjb: harovali: note: nothing says that you are reading that with the default readtable… 2020-01-07T16:56:41Z pjb: harovali: you have to ensure that. 2020-01-07T16:57:09Z pjb: harovali: you can read a list with the ( reader macro. So, delete that # character and you get a list! (with the default readtable). 2020-01-07T16:57:42Z pjb: harovali: you can ask the type of objects to the REPL yourself: (type-of #(0 0 595 841)) #| --> (simple-vector 4) |# 2020-01-07T16:58:22Z ggole quit (Quit: Leaving) 2020-01-07T16:59:42Z zmv joined #lisp 2020-01-07T16:59:51Z varjag quit (Quit: ERC (IRC client for Emacs 25.2.2)) 2020-01-07T17:02:26Z vivit quit (Ping timeout: 240 seconds) 2020-01-07T17:03:23Z harovali: pjb thanks! 2020-01-07T17:03:53Z harovali: this is in a library which hopefully I'd like to preserve in its allmighty integrity :) 2020-01-07T17:05:43Z pjb: Note that you can use the # dispatching macro integer argument to specify the length of the vector: #10(t) #| --> #(t t t t t t t t t t) |# 2020-01-07T17:07:16Z pjb: #10(1 2 3 42) #| --> #(1 2 3 42 42 42 42 42 42 42) |# 2020-01-07T17:07:31Z klltkr joined #lisp 2020-01-07T17:07:32Z pjb: The last element specified is repeated to the end of the vector. 2020-01-07T17:09:05Z harovali: pjb: very insightful ! thanks ! 2020-01-07T17:09:20Z grabarz_ quit (Quit: Textual IRC Client: www.textualapp.com) 2020-01-07T17:09:44Z grabarz_ joined #lisp 2020-01-07T17:10:14Z Odin-: Given the details being talked about, I would be remiss not to point out that #| is also a default readtable thing which makes for a balanced comment. 2020-01-07T17:10:49Z Odin-: ... which, if we're assuming #() is not a given, might just as well have been changed around. :) 2020-01-07T17:11:17Z beach: katco: Why do you have mysterious blank lines within your functions? 2020-01-07T17:12:15Z harovali: Odin-: now to see if slime can close that balanced brackets 2020-01-07T17:12:16Z beach: katco: And I recommend using WITH-ACCESSORS rather than WITH-SLOTS. Slots are implementation details that should be used as little as possible. Accessors on the other hand are part of the protocol specification. Or they should be. 2020-01-07T17:12:20Z katco: beach: readability. i do compress usually, but i found newlines between `let` blocks and the like helped me scan. i didn't think complete compressions was idiomatic; is it? 2020-01-07T17:13:03Z beach: katco: If you have problems like that, it is better to divide the function into smaller independent functions without any blank lines in them. 2020-01-07T17:13:10Z pjb: katco: it's not exactly idiomatic, but the presence of empty lines in a function is a smell: perhaps your function is too big! 2020-01-07T17:13:14Z katco: beach: ah, i didn't realize that about slots/accessors. i thought slots were supposed to be used intra-class, and accessors inter-class 2020-01-07T17:13:34Z beach: katco: There is no particular reason to have a newline after (COND. 2020-01-07T17:13:44Z beach: You are wasting valuable vertical space. 2020-01-07T17:14:03Z beach: The person reading your code can see fewer lines at once. 2020-01-07T17:14:03Z katco: ok, duly noted re. newlines :) it sounds like the community dislikes them in all cases 2020-01-07T17:14:27Z gareppa quit (Quit: Leaving) 2020-01-07T17:14:34Z beach: katco: I recommend you look at some code written by experienced people, like Norvig for instance. 2020-01-07T17:14:51Z pjb: katco: you're correct about intra-class, but since methods are not attached to classes, but to generic functions, this is less meaningful than in other OO languages. Often, it will be easier to maintain the code if you always go thru accessors. Only in very special cases accessing the slots directly is indicated. 2020-01-07T17:15:00Z katco: beach: i have. this is the first set of libs i've experimented with introducing newlines 2020-01-07T17:15:25Z katco: pjb: that clarifies things a lot for me, thanks 2020-01-07T17:15:44Z beach: katco: So in one case, you have a comment followed by a blank line. That's very strange. 2020-01-07T17:16:03Z beach: katco: All that makes it look like your blank lines are completely arbitrary. 2020-01-07T17:16:19Z katco: beach: can you provide a link? 2020-01-07T17:16:45Z beach: To Norvig's code? I recommend you read PAIP. 2020-01-07T17:16:55Z beach: minion: Please tell katco about PAIP. 2020-01-07T17:16:56Z minion: katco: PAIP: Paradigms of Artificial Intelligence Programming. More about Common Lisp than Artificial Intelligence. Now freely available at https://github.com/norvig/paip-lisp 2020-01-07T17:16:59Z katco: beach: no to this comment 2020-01-07T17:17:17Z beach: It is in your code line 265. 2020-01-07T17:17:18Z katco: beach: i have read some of that book 2020-01-07T17:17:46Z katco: beach: can you specify project? file? 2020-01-07T17:18:04Z grabarz_ is now known as grabarz 2020-01-07T17:18:14Z beach: gir2cl main.lisp 2020-01-07T17:18:20Z katco: ty! 2020-01-07T17:18:42Z beach: katco: If you read Norvig's book, you will have noticed very few blank lines within functions. 2020-01-07T17:18:56Z katco: ah yes, that does look a little out of place 2020-01-07T17:19:29Z beach: You have a comment at the top level with only two semicolons. 2020-01-07T17:20:17Z katco: i do like the newlines between the `cond` blocks because it helps me visually parse when a new block begins, but as you and pjb have said, maybe that's a nudge for functions for each of the blocks 2020-01-07T17:20:40Z beach: clhs 2.4.4.2 2020-01-07T17:20:40Z specbot: Notes about Style for Semicolon: http://www.lispworks.com/reference/HyperSpec/Body/02_ddb.htm 2020-01-07T17:21:41Z karlosz quit (Quit: karlosz) 2020-01-07T17:22:10Z karlosz joined #lisp 2020-01-07T17:22:19Z pjb: katco: on the other hand, to each programmer his own style and readability tricks. The problem is with the Internet, when we exchange and communicate code. For this reason, I would advocate using emacs to present lisp sources to your own specifications. You could program emacs, so that it displays an interline (or perhaps even 1/2 interline) between each cond/case etc clauses, or between subsequent let forms, etc. 2020-01-07T17:22:19Z karlosz quit (Remote host closed the connection) 2020-01-07T17:22:42Z pjb: katco: so the source file wouldn't contain those interlines, but emacs would display them to you. 2020-01-07T17:23:14Z katco: pjb: i hadn't considered that. not a bad idea. i feel it's a rehash of the whole tabs vs. spaces argument :) 2020-01-07T17:23:19Z beach: katco: In cl-apache-arrow, arrow-low-level.lisp, you indentation of line 8 is wrong. 2020-01-07T17:23:41Z beach: katco: Also, don't use nil for an empty list of parameters or superclasses. Use (). 2020-01-07T17:24:34Z katco: i'm afraid that's from the autogeneration of code. i'd have to find a fix in `gir2cl` 2020-01-07T17:25:08Z beach: So you asked us to review generated code? 2020-01-07T17:25:09Z pjb: () = code empty list; '() = data empty list (in code); nil = false ; 'nil = symbol NIL (in code). 2020-01-07T17:25:21Z pjb: :-) 2020-01-07T17:25:26Z beach: pjb: Can you remember the Common Lisp HyperSpec entry that mentions that? 2020-01-07T17:25:55Z katco: beach: those 2 files are the only generated code, and they are generated from the other project you've just reviewed. 2020-01-07T17:26:28Z katco: beach: pjb: i've tried to capture your input so far here: https://github.com/kat-co/gir2cl/issues/1 2020-01-07T17:27:03Z beach: What is the second file of generated code? 2020-01-07T17:27:31Z pjb: beach: I don't think it comes from CLHS, it's just a convention. 2020-01-07T17:27:36Z katco: both of the `*-low-level` files in `cl-apache-arrow` 2020-01-07T17:27:44Z beach: pjb: No, it is definitely in there. 2020-01-07T17:28:56Z smokeink joined #lisp 2020-01-07T17:29:26Z pjb: Merely: 1.4.1.4.4 NIL 2020-01-07T17:29:35Z pjb: clhs nil 2020-01-07T17:29:35Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/a_nil.htm 2020-01-07T17:29:54Z beach: Yes, excellent! Thanks. 2020-01-07T17:30:16Z pjb: I used my M-x grep-hyperspec emacs command :-) 2020-01-07T17:30:38Z beach: What did you grep for? NIL? 2020-01-07T17:30:43Z pjb: '() 2020-01-07T17:30:48Z beach: Ah, good catch. 2020-01-07T17:31:01Z pjb: of the four, it was the most specific I thought. 2020-01-07T17:31:12Z beach: I agree. 2020-01-07T17:31:25Z beach: OK, I need to go fix dinner for my (admittedly small) family. 2020-01-07T17:31:34Z pjb: Bon appetit! 2020-01-07T17:31:46Z katco: beach: tyvm for the review 2020-01-07T17:31:51Z katco: i really appreciate it 2020-01-07T17:32:03Z katco: and to you, pjb, for your comments 2020-01-07T17:33:14Z brown121407 joined #lisp 2020-01-07T17:33:38Z brown121408 quit (Ping timeout: 265 seconds) 2020-01-07T17:36:43Z harovali` joined #lisp 2020-01-07T17:36:47Z davepdotorg quit (Remote host closed the connection) 2020-01-07T17:37:27Z smazga joined #lisp 2020-01-07T17:37:48Z LiamH quit (Quit: Leaving.) 2020-01-07T17:38:18Z slyrus_ joined #lisp 2020-01-07T17:39:14Z smokeink quit (Ping timeout: 240 seconds) 2020-01-07T17:40:02Z harovali quit (Ping timeout: 240 seconds) 2020-01-07T17:40:03Z gabiruh_ quit (Ping timeout: 260 seconds) 2020-01-07T17:40:53Z slyrus quit (Ping timeout: 265 seconds) 2020-01-07T17:41:43Z cosimone joined #lisp 2020-01-07T17:41:56Z scymtym quit (Ping timeout: 248 seconds) 2020-01-07T17:43:11Z karlosz joined #lisp 2020-01-07T17:43:18Z karlosz quit (Remote host closed the connection) 2020-01-07T17:44:15Z pfdietz: Xach: I'm interested in general popularity. I've been doing some testing improvement on various projects, and want to focus on the most used ones. 2020-01-07T17:45:45Z cosimone quit (Excess Flood) 2020-01-07T17:45:52Z varjag joined #lisp 2020-01-07T17:45:54Z slyrus__ joined #lisp 2020-01-07T17:47:16Z cosimone joined #lisp 2020-01-07T17:48:27Z slyrus_ quit (Ping timeout: 258 seconds) 2020-01-07T17:48:36Z vivit joined #lisp 2020-01-07T17:49:20Z slyrus_ joined #lisp 2020-01-07T17:50:06Z EvW joined #lisp 2020-01-07T17:50:39Z Oladon quit (Quit: Leaving.) 2020-01-07T17:51:17Z m00natic quit (Remote host closed the connection) 2020-01-07T17:51:54Z slyrus__ quit (Ping timeout: 258 seconds) 2020-01-07T17:52:53Z TMA quit (Ping timeout: 260 seconds) 2020-01-07T17:53:29Z TMA joined #lisp 2020-01-07T17:57:18Z Xach: pfdietz: ok. 2020-01-07T17:57:28Z Xach: pfdietz: i have restarted my log analyzer thingy so i'll get you that info sometime soon. 2020-01-07T17:58:25Z william1 quit (Ping timeout: 258 seconds) 2020-01-07T18:04:49Z slyrus__ joined #lisp 2020-01-07T18:06:30Z grabarz quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-07T18:07:12Z grabarz joined #lisp 2020-01-07T18:07:14Z slyrus_ quit (Ping timeout: 240 seconds) 2020-01-07T18:09:55Z vivit quit (Ping timeout: 258 seconds) 2020-01-07T18:10:06Z oni-on-ion quit (Quit: Quit) 2020-01-07T18:11:11Z fe[nl]ix: pfdietz: what do you want to do ? 2020-01-07T18:16:03Z z147d quit (Ping timeout: 240 seconds) 2020-01-07T18:16:13Z vivit joined #lisp 2020-01-07T18:17:16Z grabarz quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-07T18:17:58Z orivej quit (Ping timeout: 260 seconds) 2020-01-07T18:18:21Z orivej joined #lisp 2020-01-07T18:19:09Z Josh_2: pjb: in this code you wrote the other day as an example https://termbin.com/x9ft why do you use (apply (function format).. ) instead of just (format ..)? 2020-01-07T18:19:52Z slyrus_ joined #lisp 2020-01-07T18:22:43Z makomo joined #lisp 2020-01-07T18:22:56Z slyrus__ quit (Ping timeout: 265 seconds) 2020-01-07T18:24:47Z jeosol quit (Ping timeout: 260 seconds) 2020-01-07T18:26:29Z karlosz joined #lisp 2020-01-07T18:27:48Z brown121407 quit (Read error: Connection reset by peer) 2020-01-07T18:28:19Z brown121407 joined #lisp 2020-01-07T18:30:39Z cosimone_ joined #lisp 2020-01-07T18:32:36Z cosimone quit (Ping timeout: 248 seconds) 2020-01-07T18:33:37Z slyrus joined #lisp 2020-01-07T18:33:38Z TMA quit (Ping timeout: 240 seconds) 2020-01-07T18:34:18Z william1_ quit (Ping timeout: 260 seconds) 2020-01-07T18:34:48Z zclark joined #lisp 2020-01-07T18:35:59Z gabiruh joined #lisp 2020-01-07T18:36:03Z slyrus_ quit (Ping timeout: 260 seconds) 2020-01-07T18:40:55Z TMA joined #lisp 2020-01-07T18:41:07Z karlosz quit (Quit: karlosz) 2020-01-07T18:41:18Z gabiruh quit (Ping timeout: 260 seconds) 2020-01-07T18:44:23Z jonatack joined #lisp 2020-01-07T18:46:45Z william1_ joined #lisp 2020-01-07T18:48:27Z pjb: Josh_2: because we have a variable number of arguments, known only at run-time. 2020-01-07T18:48:43Z pjb: Josh_2: coming from &rest format-arguments in f-format. 2020-01-07T18:49:38Z pjb: Josh_2: the alternative would be to use ~?: (format *log-output* "~?" control-string format-arguments) 2020-01-07T18:50:08Z pjb: Josh_2: perhaps it would be better to use ~?, but it's specific to format. In general, you would use apply in this situation. 2020-01-07T18:53:09Z Kundry_Wag quit (Remote host closed the connection) 2020-01-07T18:53:16Z william1 joined #lisp 2020-01-07T18:55:12Z jurov: pjb: and why not just (apply 'format ...) ? 2020-01-07T18:56:12Z jurov: with format it is unlikely to happen, but I found out when function foo is recompiled, (function foo) sometimes uses old version 2020-01-07T18:56:26Z jurov: so now i pass only symbol to apply 2020-01-07T18:56:34Z pjb: In the case of functions from CL, it doesn't make a difference. Possibly, 'format would be slower at run-time, than #'format, but a good compiler could generate the same code for both, for functions from CL. 2020-01-07T18:56:47Z Kundry_Wag joined #lisp 2020-01-07T18:56:54Z pjb: For functions NOT in CL, it can give different results. 2020-01-07T18:56:59Z jackdaniel: jurov: #'foo refers to the symbol's function 2020-01-07T18:57:13Z jackdaniel: which may change 2020-01-07T18:57:23Z phoe: in case of CL functions it is always* safe to use #' since the functions in the CL package will never change 2020-01-07T18:57:24Z jackdaniel: while 'foo refers to a symbol, which is later resolved to a function 2020-01-07T18:57:38Z phoe: *unless you're tweaking the implementation itself, but you usually don't need to worry about that 2020-01-07T18:58:29Z jackdaniel: you usually don't know whether it is a cl function though 2020-01-07T18:58:44Z jackdaniel: people usually write (defpackage …) (in-package …), not (cl:defpackage …) (cl:in-package …) 2020-01-07T18:58:52Z pjb: (defun foo () 'outer) (flet ((foo () 'inner)) (mapcar 'funcall (list 'foo #'foo))) #| --> (outer inner) |# 2020-01-07T18:59:20Z jurov: i don't mean shadowing 2020-01-07T19:00:09Z jurov: i meant (defun foo () 1) then (apply 'foo ) and (apply #'foo) diverge after foo is redefined 2020-01-07T19:00:34Z jurov: say, (defun foo () 2) 2020-01-07T19:00:58Z pjb: Note that in some case, I explicitely use 'foo instead of #'foo: for reader macros! (set-macro-character char 'my-reader-macro …) because if there's a problem with the reader macro, it will be easier to correct it (just by redefining the function) with the symbol. 2020-01-07T19:01:34Z pjb: jurov: notably the divergence is hidden by the non-recompilation of the code where (function foo) appears. 2020-01-07T19:02:11Z nirved: #'foo tends to be more optimized by compilers 2020-01-07T19:02:24Z pjb: jurov: but if there's an update to foo, there may also be an update of the code depending on it, so this recompilation may be essential, and it may be more consistent to still call the old function while the old code is still being used! 2020-01-07T19:02:57Z pjb: jurov: so I think that in general, #'foo is better than 'foo. You'd use 'foo only on specific special cases. 2020-01-07T19:03:04Z pjb: (like my reader macro example). 2020-01-07T19:03:52Z jurov: pjb, okay, only IMHO when you always use symbol the behavior is more tractable 2020-01-07T19:04:32Z pjb: it's more "dynamic", since the symbol implies an indirection. 2020-01-07T19:06:14Z jurov: but isn't it premature optimization? xD 2020-01-07T19:07:20Z pfdietz: Xach: tyvm! 2020-01-07T19:10:18Z pfdietz: (funcall (intern "FOO" "FOO-PACKAGE")) for those who want real forward references. 2020-01-07T19:10:47Z jurov: O.o 2020-01-07T19:11:58Z pfdietz: fe[nl]ix: I have a long term goal of firming up various public lisp packages, increasing their level of correctness by improving their testing. 2020-01-07T19:12:53Z pfdietz: jurov: you see that idiom in (for example) asdf test ops, where you can't refer to a symbol in a test package before that package is loaded. 2020-01-07T19:24:40Z vivit quit (Ping timeout: 258 seconds) 2020-01-07T19:30:14Z grabarz_ joined #lisp 2020-01-07T19:32:37Z eschulte quit (Remote host closed the connection) 2020-01-07T19:37:38Z davepdotorg joined #lisp 2020-01-07T19:38:43Z Odin-: CL doesn't give you enough rope to hang yourself. 2020-01-07T19:38:48Z Odin-: It also builds the gallows. 2020-01-07T19:39:18Z Odin-: Whether or not that's a bad thing is very much dependent on your perspective... 2020-01-07T19:39:29Z jackdaniel: Odin-: I love that one /me steals the joke 2020-01-07T19:40:41Z grabarz_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-07T19:40:46Z Ven`` joined #lisp 2020-01-07T19:42:36Z davepdotorg quit (Ping timeout: 268 seconds) 2020-01-07T19:45:55Z cosimone_ quit (Remote host closed the connection) 2020-01-07T19:46:25Z cosimone_ joined #lisp 2020-01-07T19:47:35Z zmv quit (Remote host closed the connection) 2020-01-07T19:48:05Z scymtym joined #lisp 2020-01-07T19:51:04Z zaquest quit (Quit: Leaving) 2020-01-07T19:53:15Z Bike quit (Remote host closed the connection) 2020-01-07T19:53:20Z vlatkoB_ quit (Remote host closed the connection) 2020-01-07T19:53:56Z Bike joined #lisp 2020-01-07T19:55:20Z william1_ quit (Ping timeout: 258 seconds) 2020-01-07T19:59:59Z rumbler3130 quit (Ping timeout: 260 seconds) 2020-01-07T20:01:35Z pfdietz quit (Remote host closed the connection) 2020-01-07T20:01:52Z edgar-rft joined #lisp 2020-01-07T20:10:34Z gabiruh joined #lisp 2020-01-07T20:10:40Z gabiruh quit (Client Quit) 2020-01-07T20:11:00Z FreeBirdLjj joined #lisp 2020-01-07T20:15:32Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2020-01-07T20:16:47Z p_l: personally, I think it includes a set of contractors ready to build you large automated execution apparatus or "throw-into-sun" device 2020-01-07T20:17:52Z makomo quit (Quit: WeeChat 2.4) 2020-01-07T20:17:53Z gendl: Hi, with a Slime session attached to a remote Lisp through `M-x slime-connect`, is there a way to get hold of the stream which is reading from and printing to the *slime-repl ...* buffer (e.g. to `format` stuff to it)? 2020-01-07T20:25:06Z grabarz_ joined #lisp 2020-01-07T20:26:31Z william1_ joined #lisp 2020-01-07T20:31:33Z william1_ quit (Ping timeout: 260 seconds) 2020-01-07T20:38:06Z oni-on-ion joined #lisp 2020-01-07T20:39:48Z narimiran quit (Ping timeout: 258 seconds) 2020-01-07T20:44:26Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2020-01-07T20:46:50Z Xach: gendl: (defvar *my-stream* *standard-output*) and write to *my-stream*? 2020-01-07T20:53:20Z zulu-inuoe: .. So, update on the hang on Catalina under slime. They built SBCL 2.0.0 and everything works great. 2020-01-07T20:53:54Z zulu-inuoe: "Sometimes you gotta let a little magic into your life" 2020-01-07T20:55:00Z Xach: good that it works 2020-01-07T20:58:15Z william1_ joined #lisp 2020-01-07T21:00:33Z karlosz joined #lisp 2020-01-07T21:02:50Z william1_ quit (Ping timeout: 240 seconds) 2020-01-07T21:14:08Z zclark left #lisp 2020-01-07T21:17:22Z gendl: Xach: Duh. Why didn't I think of that... 2020-01-07T21:19:33Z grabarz_ is now known as grabarz 2020-01-07T21:22:29Z zclark joined #lisp 2020-01-07T21:25:48Z lavaflow quit (Ping timeout: 260 seconds) 2020-01-07T21:29:01Z gravicappa quit (Ping timeout: 265 seconds) 2020-01-07T21:31:11Z william1_ joined #lisp 2020-01-07T21:36:32Z william1_ quit (Ping timeout: 258 seconds) 2020-01-07T21:37:26Z neuro_sys is now known as Guest69106 2020-01-07T21:38:52Z davepdotorg joined #lisp 2020-01-07T21:40:30Z xuxuru joined #lisp 2020-01-07T21:43:53Z davepdotorg quit (Ping timeout: 260 seconds) 2020-01-07T21:46:58Z atgreen quit (Remote host closed the connection) 2020-01-07T21:51:08Z karlosz: anyone have slime-presentation-streams working? 2020-01-07T21:52:23Z xuxuru quit (Quit: xuxuru) 2020-01-07T21:53:31Z jmercouris joined #lisp 2020-01-07T21:55:36Z karlosz quit (Quit: karlosz) 2020-01-07T21:56:14Z karlosz joined #lisp 2020-01-07T22:05:54Z madmonkey quit (Remote host closed the connection) 2020-01-07T22:05:55Z william1_ joined #lisp 2020-01-07T22:08:59Z william1 quit (Quit: WeeChat 1.9.1) 2020-01-07T22:10:36Z klltkr quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-07T22:11:18Z william1_ quit (Ping timeout: 260 seconds) 2020-01-07T22:15:54Z sauvin quit (Ping timeout: 265 seconds) 2020-01-07T22:18:59Z sauvin joined #lisp 2020-01-07T22:20:28Z random-nick quit (Ping timeout: 268 seconds) 2020-01-07T22:33:28Z cosimone_ quit (Quit: Quit.) 2020-01-07T22:40:57Z holycow joined #lisp 2020-01-07T22:40:59Z holycow: . 2020-01-07T22:42:32Z jmercouris: cd ../ 2020-01-07T22:42:43Z holycow: jmercouris: there you are! 2020-01-07T22:43:01Z holycow: i just dropped by to congratulate you on the latest next release 2020-01-07T22:43:16Z holycow: just installed the db and using it. everything is really looking amazing. 2020-01-07T22:43:27Z holycow: great job. i really appreciate your and your teams work 2020-01-07T22:43:46Z jmercouris: holycow: thank you :-) that is very nice of you to say! 2020-01-07T22:46:00Z holycow: i will be signing up to your patreon soonish. this seriously makes my life better. 2020-01-07T22:46:45Z jmercouris: I'm glad to hear it, there is a lot more to come :-) 2020-01-07T22:47:07Z holycow: awesome. i have started re-learing lisp once again, i will try to help as well. 2020-01-07T22:47:25Z holycow: okay gotta go, just dropped by to say thanks. everyone here should check it out, its really improved. 2020-01-07T22:47:29Z holycow quit (Quit: leaving) 2020-01-07T22:48:15Z akoana joined #lisp 2020-01-07T22:48:56Z rwcom9 joined #lisp 2020-01-07T22:49:50Z lavaflow joined #lisp 2020-01-07T22:50:41Z rwcom quit (Ping timeout: 268 seconds) 2020-01-07T22:50:42Z rwcom9 is now known as rwcom 2020-01-07T22:51:21Z slyrus_ joined #lisp 2020-01-07T22:53:58Z slyrus quit (Ping timeout: 258 seconds) 2020-01-07T22:57:08Z vivit joined #lisp 2020-01-07T22:58:08Z varjag quit (Quit: ERC (IRC client for Emacs 26.1)) 2020-01-07T22:59:26Z vivit quit (Client Quit) 2020-01-07T23:00:04Z Bike quit (Quit: Bike) 2020-01-07T23:11:19Z jmercouris quit (Remote host closed the connection) 2020-01-07T23:11:58Z Kundry_Wag quit (Remote host closed the connection) 2020-01-07T23:12:25Z Kundry_Wag joined #lisp 2020-01-07T23:16:03Z hiroaki quit (Ping timeout: 260 seconds) 2020-01-07T23:16:42Z sjl joined #lisp 2020-01-07T23:16:47Z wxie joined #lisp 2020-01-07T23:16:58Z Kundry_Wag quit (Ping timeout: 258 seconds) 2020-01-07T23:22:04Z shifty joined #lisp 2020-01-07T23:27:30Z grabarz quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-07T23:32:23Z william1_ joined #lisp 2020-01-07T23:34:23Z Kundry_Wag joined #lisp 2020-01-07T23:37:22Z william1_ quit (Ping timeout: 268 seconds) 2020-01-07T23:38:02Z ebrasca quit (Remote host closed the connection) 2020-01-07T23:38:50Z Kundry_Wag quit (Ping timeout: 240 seconds) 2020-01-07T23:39:29Z davepdotorg joined #lisp 2020-01-07T23:41:22Z slyrus__ joined #lisp 2020-01-07T23:42:53Z jfb4 quit (Ping timeout: 260 seconds) 2020-01-07T23:43:34Z TMA quit (Ping timeout: 256 seconds) 2020-01-07T23:44:03Z slyrus_ quit (Ping timeout: 260 seconds) 2020-01-07T23:44:46Z davepdotorg quit (Ping timeout: 268 seconds) 2020-01-07T23:45:17Z jfb4 joined #lisp 2020-01-07T23:45:19Z TMA joined #lisp 2020-01-07T23:49:18Z wxie quit (Ping timeout: 260 seconds) 2020-01-07T23:50:12Z akoana left #lisp 2020-01-07T23:51:07Z orivej quit (Ping timeout: 265 seconds) 2020-01-08T00:05:23Z Kundry_Wag joined #lisp 2020-01-08T00:06:02Z harovali` quit (Ping timeout: 240 seconds) 2020-01-08T00:07:12Z Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-08T00:10:12Z orivej joined #lisp 2020-01-08T00:10:15Z Kundry_Wag quit (Ping timeout: 258 seconds) 2020-01-08T00:11:27Z turona quit (Ping timeout: 246 seconds) 2020-01-08T00:11:50Z turona joined #lisp 2020-01-08T00:15:30Z Bike joined #lisp 2020-01-08T00:18:25Z smokeink joined #lisp 2020-01-08T00:19:36Z sauvin quit (Quit: Leaving) 2020-01-08T00:19:59Z sauvin joined #lisp 2020-01-08T00:24:10Z oni_on_ion joined #lisp 2020-01-08T00:25:40Z oni-on-ion quit (Ping timeout: 248 seconds) 2020-01-08T00:31:18Z karswell quit (Ping timeout: 260 seconds) 2020-01-08T00:36:19Z smazga quit (Ping timeout: 258 seconds) 2020-01-08T00:37:27Z oni_on_ion quit (Ping timeout: 260 seconds) 2020-01-08T00:38:33Z oxum joined #lisp 2020-01-08T00:39:12Z lucasb quit (Quit: Connection closed for inactivity) 2020-01-08T00:42:21Z oni-on-ion joined #lisp 2020-01-08T01:03:55Z Josh_2 quit (Ping timeout: 258 seconds) 2020-01-08T01:05:04Z jeosol joined #lisp 2020-01-08T01:05:38Z orivej quit (Ping timeout: 240 seconds) 2020-01-08T01:12:02Z TMA quit (Ping timeout: 240 seconds) 2020-01-08T01:14:14Z TMA joined #lisp 2020-01-08T01:15:31Z Kundry_Wag joined #lisp 2020-01-08T01:18:27Z sjl quit (Quit: WeeChat 2.3-dev) 2020-01-08T01:30:55Z eschulte joined #lisp 2020-01-08T01:34:49Z zclark quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-01-08T01:44:26Z smokeink quit (Ping timeout: 240 seconds) 2020-01-08T01:49:42Z patlv_ joined #lisp 2020-01-08T01:54:28Z harovali` joined #lisp 2020-01-08T02:03:06Z karlosz quit (Quit: karlosz) 2020-01-08T02:03:18Z karlosz joined #lisp 2020-01-08T02:05:33Z bitmapper quit (Ping timeout: 268 seconds) 2020-01-08T02:22:11Z Kundry_W_ joined #lisp 2020-01-08T02:23:00Z EvW quit (Ping timeout: 248 seconds) 2020-01-08T02:26:26Z Kundry_W_ quit (Ping timeout: 240 seconds) 2020-01-08T02:40:54Z patlv__ joined #lisp 2020-01-08T02:43:40Z patlv_ quit (Ping timeout: 265 seconds) 2020-01-08T02:45:53Z patlv__ quit (Ping timeout: 258 seconds) 2020-01-08T02:48:07Z smazga joined #lisp 2020-01-08T02:52:26Z smazga quit (Ping timeout: 240 seconds) 2020-01-08T03:01:59Z efm joined #lisp 2020-01-08T03:02:49Z Kundry_Wag quit (Remote host closed the connection) 2020-01-08T03:03:21Z Kundry_Wag joined #lisp 2020-01-08T03:04:37Z Kundry_Wag quit (Remote host closed the connection) 2020-01-08T03:04:41Z kscarlet joined #lisp 2020-01-08T03:04:53Z Kundry_Wag joined #lisp 2020-01-08T03:05:22Z Lord_of_Life_ joined #lisp 2020-01-08T03:07:50Z Lord_of_Life quit (Ping timeout: 265 seconds) 2020-01-08T03:07:50Z Lord_of_Life_ is now known as Lord_of_Life 2020-01-08T03:12:40Z Kundry_Wag quit (Remote host closed the connection) 2020-01-08T03:13:08Z Kundry_Wag joined #lisp 2020-01-08T03:17:59Z Kundry_Wag quit (Ping timeout: 265 seconds) 2020-01-08T03:28:18Z ahungry joined #lisp 2020-01-08T03:30:33Z X-Scale quit (Ping timeout: 265 seconds) 2020-01-08T03:30:39Z X-Scale` joined #lisp 2020-01-08T03:32:11Z eschulte quit (Remote host closed the connection) 2020-01-08T03:32:37Z X-Scale` is now known as X-Scale 2020-01-08T03:33:02Z william1_ joined #lisp 2020-01-08T03:37:52Z william1_ quit (Ping timeout: 268 seconds) 2020-01-08T03:40:18Z MightyJoe joined #lisp 2020-01-08T03:40:59Z kscarlet` joined #lisp 2020-01-08T03:41:04Z davepdotorg joined #lisp 2020-01-08T03:42:11Z cyraxjoe quit (Ping timeout: 268 seconds) 2020-01-08T03:42:38Z kscarlet quit (Ping timeout: 265 seconds) 2020-01-08T03:43:38Z slyrus joined #lisp 2020-01-08T03:46:01Z davepdotorg quit (Ping timeout: 265 seconds) 2020-01-08T03:46:08Z slyrus__ quit (Ping timeout: 260 seconds) 2020-01-08T03:47:31Z Kundry_Wag joined #lisp 2020-01-08T03:52:40Z Kundry_Wag quit (Ping timeout: 268 seconds) 2020-01-08T03:57:05Z keep_learning joined #lisp 2020-01-08T04:03:39Z cyraxjoe joined #lisp 2020-01-08T04:05:48Z MightyJoe quit (Ping timeout: 268 seconds) 2020-01-08T04:11:13Z kscarlet` quit (Ping timeout: 260 seconds) 2020-01-08T04:11:47Z X-Scale quit (Ping timeout: 268 seconds) 2020-01-08T04:12:45Z beach: Good morning everyone! 2020-01-08T04:13:37Z X-Scale` joined #lisp 2020-01-08T04:14:36Z X-Scale` is now known as X-Scale 2020-01-08T04:21:08Z ahungry: mornin 2020-01-08T04:26:09Z Kundry_Wag joined #lisp 2020-01-08T04:27:26Z Kundry_Wag quit (Remote host closed the connection) 2020-01-08T04:27:43Z Kundry_Wag joined #lisp 2020-01-08T04:38:53Z Bike quit (Quit: Lost terminal) 2020-01-08T04:39:09Z Kundry_W_ joined #lisp 2020-01-08T04:41:24Z oni_on_ion joined #lisp 2020-01-08T04:42:44Z oni-on-ion quit (Ping timeout: 248 seconds) 2020-01-08T04:43:51Z Kundry_W_ quit (Ping timeout: 268 seconds) 2020-01-08T04:46:08Z oni_on_ion is now known as oni-on-ion 2020-01-08T04:48:25Z smazga joined #lisp 2020-01-08T04:50:36Z dale quit (Quit: My computer has gone to sleep) 2020-01-08T04:53:38Z smazga quit (Ping timeout: 240 seconds) 2020-01-08T04:53:43Z froggey quit (Ping timeout: 268 seconds) 2020-01-08T04:55:05Z froggey joined #lisp 2020-01-08T04:57:14Z Necktwi quit (Ping timeout: 240 seconds) 2020-01-08T05:05:12Z doublex_ quit (Ping timeout: 260 seconds) 2020-01-08T05:07:28Z gravicappa joined #lisp 2020-01-08T05:15:26Z narimiran joined #lisp 2020-01-08T05:25:04Z oxum quit (Remote host closed the connection) 2020-01-08T05:29:13Z dvdmuckle quit (Quit: Bouncer Surgery) 2020-01-08T05:31:18Z patlv quit (Quit: Leaving) 2020-01-08T05:31:20Z dddddd quit (Ping timeout: 268 seconds) 2020-01-08T05:31:23Z dvdmuckle joined #lisp 2020-01-08T05:33:26Z Codaraxis joined #lisp 2020-01-08T05:38:51Z davepdotorg joined #lisp 2020-01-08T05:39:07Z frgo quit (Ping timeout: 265 seconds) 2020-01-08T05:41:11Z oxum joined #lisp 2020-01-08T05:42:02Z harovali` quit (Ping timeout: 240 seconds) 2020-01-08T05:43:51Z davepdotorg quit (Ping timeout: 268 seconds) 2020-01-08T05:46:24Z Kundry_Wag quit (Remote host closed the connection) 2020-01-08T05:49:08Z orivej joined #lisp 2020-01-08T05:51:50Z stylewarning: global side effects at macroexpansion time is evidently evil 2020-01-08T05:54:31Z no-defun-allowed: Except INTERN. 2020-01-08T05:54:44Z stylewarning: Yeah that one seems like a winner 2020-01-08T05:54:57Z ozzloy joined #lisp 2020-01-08T05:54:57Z ozzloy quit (Changing host) 2020-01-08T05:54:57Z ozzloy joined #lisp 2020-01-08T05:55:16Z no-defun-allowed: INTERN can run at macroexpansion time. 2020-01-08T05:55:50Z stylewarning: Getting Coalton to work means completely reworking how I'm doing stupid global side effects. 2020-01-08T05:56:00Z anonymous-coward joined #lisp 2020-01-08T05:59:01Z stylewarning: I said it at SBCL20 and I'll say it again: I think opt-in strong, static types in a Common Lisp DSL would be a killer feature. 2020-01-08T06:00:03Z no-defun-allowed: Sounds good. 2020-01-08T06:00:36Z vlatkoB joined #lisp 2020-01-08T06:00:59Z no-defun-allowed: The Standard ML type variable syntax accidentally works too: (function ((list 'a) (list 'b)) (list (cons 'a 'b))) 2020-01-08T06:01:31Z stylewarning: cute (: 2020-01-08T06:01:53Z Kundry_Wag joined #lisp 2020-01-08T06:02:10Z stylewarning: no-defun-allowed: actually maybe that's a rly good idea, i've been having "issues" in coalton where mistyping (har har) a type can lead to unexpected results 2020-01-08T06:02:22Z stylewarning: no-defun-allowed: so maybe i should enforce that type variables be quoted 2020-01-08T06:02:31Z no-defun-allowed: :^) 2020-01-08T06:03:52Z no-defun-allowed: Sadly ''a works less well for eqtypes. 2020-01-08T06:04:48Z oxum quit (Remote host closed the connection) 2020-01-08T06:04:59Z stylewarning: no-defun-allowed: eqtypes are a hack and i'm not going to implement them 2020-01-08T06:05:10Z no-defun-allowed: Good. 2020-01-08T06:05:25Z oxum joined #lisp 2020-01-08T06:05:25Z stylewarning: implement type classes or something else; eqtypes are (imho opinion, hindsight 2020, bla bla) a hack 2020-01-08T06:05:38Z makomo joined #lisp 2020-01-08T06:05:50Z no-defun-allowed: It could notate a type which EQL or EQUAL or YOUR-VERY-OWN-EQUALITY-PREDICATE can check, but in Lisp it'd be silly. 2020-01-08T06:06:15Z no-defun-allowed: Wait, it's only silly in dynamically-typed Lisp. Never mind the last six words there. 2020-01-08T06:07:06Z Kundry_Wag quit (Ping timeout: 268 seconds) 2020-01-08T06:08:00Z no-defun-allowed: Typeclasses are cool; but please don't come here next week saying that monads are no big deal as they're just monoids in the category of endofunctors. 2020-01-08T06:10:27Z stylewarning: (: 2020-01-08T06:20:21Z karlosz quit (Quit: karlosz) 2020-01-08T06:28:07Z p_l: :D 2020-01-08T06:28:30Z p_l: it's funnier when you find out part of *why* Monads in Haskell != mathematical monads 2020-01-08T06:32:46Z karlosz joined #lisp 2020-01-08T06:36:19Z grabarz joined #lisp 2020-01-08T06:36:57Z anonymous-coward left #lisp 2020-01-08T06:39:21Z Kundry_Wag joined #lisp 2020-01-08T06:40:19Z grabarz quit (Client Quit) 2020-01-08T06:41:26Z Oladon joined #lisp 2020-01-08T06:45:16Z oxum quit (Read error: Connection reset by peer) 2020-01-08T06:45:23Z cantstanya quit (Ping timeout: 240 seconds) 2020-01-08T06:45:36Z oxum joined #lisp 2020-01-08T06:46:10Z cartwright joined #lisp 2020-01-08T06:46:25Z igemnace joined #lisp 2020-01-08T06:50:24Z oxum quit (Read error: Connection reset by peer) 2020-01-08T06:50:39Z oxum joined #lisp 2020-01-08T06:50:56Z LdBeth: "monads are no big deal as they're just monoids in the category of endofunctors." 2020-01-08T06:52:01Z ahungry quit (Remote host closed the connection) 2020-01-08T06:53:47Z karlosz quit (Quit: karlosz) 2020-01-08T06:54:19Z p_l: LdBeth: or, if you go with old enough material, "a nice hack/extension from Glasgow University to make IO less sucky, maybe it will become part of the language" 2020-01-08T07:02:39Z mingus joined #lisp 2020-01-08T07:06:59Z narimiran quit (Quit: leaving) 2020-01-08T07:08:09Z narimiran joined #lisp 2020-01-08T07:09:06Z rwcom4 joined #lisp 2020-01-08T07:10:57Z rwcom quit (Ping timeout: 265 seconds) 2020-01-08T07:10:57Z rwcom4 is now known as rwcom 2020-01-08T07:11:10Z vlatkoB quit (Remote host closed the connection) 2020-01-08T07:11:18Z paul0 joined #lisp 2020-01-08T07:11:35Z aeth: LdBeth: old joke, for a new joke you need to make it as mathematically dense as possible 2020-01-08T07:11:53Z aeth: unfortunately, that's like writing a short story even though it would still fit in a line 2020-01-08T07:12:27Z vlatkoB joined #lisp 2020-01-08T07:18:54Z Kaisyu7 quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-01-08T07:19:37Z drmeister: Hey lispers - if I want to write out a binary file from Common Lisp - how would I go about doing that? Here's a bit more detail. 2020-01-08T07:20:11Z drmeister: In Clasp I'm exploring the idea of writing a sequence of compiled object files out to a single file. 2020-01-08T07:21:10Z drmeister: The file is going to be broken up by chunks the size of unix memory pages. 2020-01-08T07:21:11Z beach: You open the file(s) with :element-type '(unsigned-byte 8) 2020-01-08T07:21:40Z drmeister: The first pages are going to be laid out like this... 2020-01-08T07:21:42Z drmeister: https://www.irccloud.com/pastebin/3swe2XLm/ 2020-01-08T07:22:11Z drmeister: And after that I want to write out object files that start at page boundaries (4K). 2020-01-08T07:22:30Z drmeister: So I have a combination of 8-byte words and bytes. 2020-01-08T07:23:13Z drmeister: So for the words I guess I have to do the shift and masking to break them up into (unsigned-byte 8). 2020-01-08T07:23:21Z beach: You may be helped by a library such as binary-types. 2020-01-08T07:23:37Z drmeister: binary-types - eh? I'll check it out. 2020-01-08T07:23:51Z beach: But breaking things up like that is not hard. A dozen lines of code at most. 2020-01-08T07:25:58Z drmeister: Ok. 2020-01-08T07:26:02Z drmeister: Got it - thanks. 2020-01-08T07:26:35Z JohnMS_WORK joined #lisp 2020-01-08T07:26:48Z flamebeard joined #lisp 2020-01-08T07:27:02Z drmeister: I'm planning to mmap these files into memory and load and link the object files directly into Clasp's runtime. 2020-01-08T07:36:20Z Harag joined #lisp 2020-01-08T07:38:45Z Harag: morning, anybody running sbcl on a mac book? I have a little string matching program that run under a minute on linux but on the mac book (64 16gb ram) it runs for 5 minutes to do the a tenth of the records to be processed 2020-01-08T07:38:53Z Harag: any advice? 2020-01-08T07:40:24Z Kundry_Wag quit (Remote host closed the connection) 2020-01-08T07:40:24Z scymtym quit (Ping timeout: 268 seconds) 2020-01-08T07:40:26Z drmeister: I haven't done any profiling with sbcl - but profile it is what I would say. 2020-01-08T07:40:35Z aeth: Harag: are the versions identical? 2020-01-08T07:40:47Z aeth: that's the first thing I would look for 2020-01-08T07:40:48Z aeth: It could be a bugfix or a new bug 2020-01-08T07:40:50Z Harag: of sbcl yes 2020-01-08T07:40:50Z orivej quit (Ping timeout: 240 seconds) 2020-01-08T07:41:06Z Harag: and the program 100 lines of code are to 2020-01-08T07:41:07Z Oladon quit (Quit: Leaving.) 2020-01-08T07:41:57Z aeth: The next thing I'd personally do is see if the output of DISASSEMBLE is roughly the same. If it's very off there could still be differences, like different global optimization levels 2020-01-08T07:42:04Z aeth: After that, I'd profile. 2020-01-08T07:42:50Z anewuser joined #lisp 2020-01-08T07:42:52Z aeth: sb-prof and sb-sprof are the ways you profile iirc 2020-01-08T07:43:05Z Harag: on the linux machine sbcl uses 1gb ram (I alocate 12 to it on startup) 2020-01-08T07:43:07Z aeth: http://www.sbcl.org/manual/#Profiling 2020-01-08T07:43:31Z aeth: Profiling should be particularly good at seeing something that radically overallocates 2020-01-08T07:43:35Z Harag: on mac it is not going past 126mb and I allocate 5gb on startup 2020-01-08T07:43:44Z aeth: hmm, or underallocating I guess 2020-01-08T07:45:09Z shifty quit (Ping timeout: 268 seconds) 2020-01-08T07:45:50Z aeth: One of the cached FASLs might have issues, too. On Linux it would be in ~/.cache/common-lisp/ but I'm not sure about macOS. 2020-01-08T07:46:07Z aeth: Caching is never perfect, although bad caching will normally be crashing not weird performance. 2020-01-08T07:48:48Z aeth: (That's basically all I can think of without profiling data.) 2020-01-08T07:49:03Z Harag: thanx 2020-01-08T07:49:13Z aeth: you're welcome 2020-01-08T07:50:08Z Harag: the only other thing I think it might be is reading and writing from disk.... 2020-01-08T07:50:19Z aeth: yes, if that relies on syscalls it might just be different 2020-01-08T07:50:20Z Harag: mmm that might be it ssd vs normal drive 2020-01-08T07:50:27Z adam4567 joined #lisp 2020-01-08T07:50:28Z aeth: that too 2020-01-08T07:53:04Z gioyik quit (Quit: WeeChat 2.6) 2020-01-08T07:55:21Z Kundry_Wag joined #lisp 2020-01-08T07:55:49Z pjb: Harag: check your LC_* environment variables. Perhaps, on Linux it's set so sbcl uses a 8-bit characters, while on macOS, it's set to use unicode, ie. 32-bit characters. 2020-01-08T07:56:13Z pjb: Harag: also, is your Linux a 32-bit host? macOS is pure 64-bit. 2020-01-08T07:57:15Z aeth: afaik 64-bit is normally faster in CL because it boxes fewer things 2020-01-08T07:58:12Z aeth: wouldn't the one that's slower and less RAM usage imply it could be 32-bit? Is SBCL on macOS only 64-bit? Only the latest macOS is pure 64-bit. 2020-01-08T07:59:35Z varjag joined #lisp 2020-01-08T07:59:50Z Kundry_Wag quit (Ping timeout: 258 seconds) 2020-01-08T08:00:35Z eeeeeta: Xach: I got your close-paren email; issue should be fixed :) 2020-01-08T08:00:56Z eeeeeta: (thanks very much for letting me know!) 2020-01-08T08:04:45Z jprajzne joined #lisp 2020-01-08T08:06:01Z p_l: Harag: is the linux machine the same computer? 2020-01-08T08:07:17Z p_l: because to be blunt... macbook under macos in general runs slower than anything else on the same hw 2020-01-08T08:07:58Z p_l: (by design) 2020-01-08T08:08:56Z p_l: might be better on the new Mac Pro 2020-01-08T08:09:11Z p_l: (or the old ones, before trashcan design) 2020-01-08T08:09:43Z scymtym joined #lisp 2020-01-08T08:10:07Z no-defun-allowed: I thought the trash can design was pretty okay with respects to throttling. 2020-01-08T08:10:20Z p_l: no-defun-allowed: heard both that and the opposite 2020-01-08T08:10:35Z no-defun-allowed: And it is probably "old" now. 2020-01-08T08:10:45Z aeth: p_l: by design? designed for battery longevity? 2020-01-08T08:10:55Z p_l: personally I can only offer anecdotal evidence of running Win10ProWks on 2018 mbp15" w/ i98 2020-01-08T08:10:56Z aeth: for latency instead of throughput? 2020-01-08T08:10:59Z p_l: *i9 2020-01-08T08:11:07Z p_l: aeth: for being quiet (and battery) 2020-01-08T08:11:18Z no-defun-allowed: i9? 2020-01-08T08:11:31Z aeth: no-defun-allowed: no, nearly 11 times better than that 2020-01-08T08:11:56Z p_l: no-defun-allowed: I've got i9-8850HK in my mbp 2020-01-08T08:12:05Z no-defun-allowed: p_l: how much did a MacBook with an i98 cost? 2020-01-08T08:12:37Z p_l: no-defun-allowed: 3099 dollars too many 2020-01-08T08:12:52Z no-defun-allowed: Mother of Barton - does that throttle hard too? 2020-01-08T08:13:12Z p_l: under macos? heavily 2020-01-08T08:13:20Z p_l: yesterday, I installed Win10ProWks 2020-01-08T08:13:26Z p_l: on one hand, it's loud 2020-01-08T08:13:29Z aeth: laptop "i9"s are a joke in general 2020-01-08T08:13:39Z p_l: on the other... hoooolyyyy fucking shit speed difference 2020-01-08T08:14:18Z no-defun-allowed: I guess they're mostly battery by mass, but surely that'd ruin the battery life too. 2020-01-08T08:14:54Z p_l: no-defun-allowed: for few generations macs scrape by to keep their official claims about battery life by software tricks 2020-01-08T08:15:09Z aeth: just watch, AMD will have a 12-core laptop by 2021 2020-01-08T08:15:18Z aeth: (I wonder what the battery life would be on that thing) 2020-01-08T08:15:20Z p_l: and anecdotal battery life is based around being nearly as sleep-happy as mobile phone 2020-01-08T08:15:30Z brettgilio quit (Ping timeout: 246 seconds) 2020-01-08T08:16:03Z p_l: aeth: considering that a 15" laptop (twice the weight of 2016 MBP) with Xeon E3 had >10 hour battery life 2020-01-08T08:16:37Z p_l: (and might have been less "battery by weight" than the MBP) 2020-01-08T08:16:42Z aeth: AMD already has Zen 2 12-core lower power than the 3900X so we might see one this year since Ryzen 4000 mobile is one gen behind, i.e. Zen 2. 2020-01-08T08:17:04Z p_l: aeth: hopefully in a proper premium design 2020-01-08T08:18:31Z aeth: AMD just needs to lower 65 W TDP (currently the lowest for its 12-core) to... 35 W? That's as high as it goes atm afaik. Maybe it'd make a new category? 2020-01-08T08:18:56Z aeth: If not 2020 and Zen 2, probably 2021 and Zen 3. 2020-01-08T08:19:07Z jackdaniel: "..ah, and the lisp thing. Lisp may run on these machines!" 2020-01-08T08:19:20Z jackdaniel: voila, on-topic again ;-) 2020-01-08T08:19:30Z oni-on-ion: zazen 2020-01-08T08:19:40Z aeth: jackdaniel: no, you'd want to use something that threads well ;-) 2020-01-08T08:22:16Z Duuqnd joined #lisp 2020-01-08T08:24:08Z aeth: I'm mostly kidding. The lack of a parallel ASDF is annoying. 2020-01-08T08:24:43Z aeth: I want things to compile twice as fast when I triple the cores 2020-01-08T08:24:49Z grabarz joined #lisp 2020-01-08T08:26:45Z oni-on-ion: yeah =( although i have never come across any lisp compiling that takes much time at all. just built sbcl 2.0.0 and its one of the fastest compiler-compilings compared with the countless others in this machine 2020-01-08T08:27:11Z pjb: aeth: poiu 2020-01-08T08:31:12Z orivej joined #lisp 2020-01-08T08:34:38Z adam4567 quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-01-08T08:48:00Z anewuser quit (Quit: anewuser) 2020-01-08T08:52:14Z Kundry_Wag joined #lisp 2020-01-08T08:56:50Z Kundry_Wag quit (Ping timeout: 240 seconds) 2020-01-08T08:57:48Z hhdave joined #lisp 2020-01-08T08:57:57Z orivej quit (Ping timeout: 260 seconds) 2020-01-08T09:00:23Z dilated_dinosaur quit (Ping timeout: 268 seconds) 2020-01-08T09:08:11Z amerlyq joined #lisp 2020-01-08T09:19:56Z dilated_dinosaur joined #lisp 2020-01-08T09:24:52Z davepdotorg joined #lisp 2020-01-08T09:28:50Z Kaisyu quit (Quit: Connection closed for inactivity) 2020-01-08T09:37:13Z Necktwi joined #lisp 2020-01-08T09:39:28Z mn3m joined #lisp 2020-01-08T09:42:31Z ebrasca joined #lisp 2020-01-08T09:42:57Z shifty joined #lisp 2020-01-08T09:45:37Z ebzzry quit (Ping timeout: 265 seconds) 2020-01-08T09:52:31Z orivej joined #lisp 2020-01-08T10:00:05Z Cymew joined #lisp 2020-01-08T10:00:23Z vidak` joined #lisp 2020-01-08T10:01:19Z william1_ joined #lisp 2020-01-08T10:12:02Z oxum_ joined #lisp 2020-01-08T10:14:09Z Guest69106 is now known as neuro_sys 2020-01-08T10:15:09Z oxum quit (Ping timeout: 258 seconds) 2020-01-08T10:24:20Z rixard quit (Read error: Connection reset by peer) 2020-01-08T10:27:10Z Harag quit (Remote host closed the connection) 2020-01-08T10:28:10Z oni-on-ion quit (Remote host closed the connection) 2020-01-08T10:33:00Z jayspeer joined #lisp 2020-01-08T10:33:08Z jayspeer quit (Remote host closed the connection) 2020-01-08T10:33:35Z jayspeer joined #lisp 2020-01-08T10:39:15Z heisig joined #lisp 2020-01-08T10:40:42Z Harag joined #lisp 2020-01-08T10:42:00Z rixard joined #lisp 2020-01-08T10:42:12Z Harag: aeth: fyi I took both linux and mac to sbcl 2 and the performance gap is mostly gone now 2020-01-08T10:43:45Z aeth: that's why they bumped the version number to 2.0, clearly 2020-01-08T10:44:21Z Shinmera: Speaking of that, new Portacle with SBCL2 https://github.com/portacle/portacle/releases/tag/1.4 2020-01-08T10:44:28Z Shinmera: testing would be very appreciated. 2020-01-08T10:55:47Z jonatack quit (Ping timeout: 260 seconds) 2020-01-08T11:00:55Z davepdotorg quit (Remote host closed the connection) 2020-01-08T11:01:12Z EvW1 joined #lisp 2020-01-08T11:01:41Z davepdotorg joined #lisp 2020-01-08T11:04:59Z igemnace quit (Quit: WeeChat 2.7) 2020-01-08T11:06:48Z davepdotorg quit (Ping timeout: 268 seconds) 2020-01-08T11:07:02Z m00natic joined #lisp 2020-01-08T11:07:49Z Kundry_Wag joined #lisp 2020-01-08T11:07:56Z gxt quit (Quit: WeeChat 2.7) 2020-01-08T11:12:32Z Kundry_Wag quit (Ping timeout: 268 seconds) 2020-01-08T11:13:07Z oxum joined #lisp 2020-01-08T11:15:33Z dddddd joined #lisp 2020-01-08T11:16:28Z oxum_ quit (Ping timeout: 260 seconds) 2020-01-08T11:16:40Z rwcom1 joined #lisp 2020-01-08T11:18:02Z rwcom quit (Ping timeout: 240 seconds) 2020-01-08T11:18:03Z rwcom1 is now known as rwcom 2020-01-08T11:24:25Z Xach: eeeeeta: do you use rss? 2020-01-08T11:24:58Z eeeeeta: Xach: yeah, I'm subscribed to planet lisp 2020-01-08T11:26:13Z eeeeeta: why? 2020-01-08T11:27:40Z ljavorsk joined #lisp 2020-01-08T11:30:03Z Xach: eeeeeta: you can subscribe to your project build failures too 2020-01-08T11:30:31Z eeeeeta: Xach: aha, where/how 2020-01-08T11:30:50Z Xach: http://report.quicklisp.org/feeds/project/cl-piglow.rss 2020-01-08T11:30:53Z mingus quit (Remote host closed the connection) 2020-01-08T11:30:57Z oxum quit (Remote host closed the connection) 2020-01-08T11:31:16Z Xach: more generally: http://blog.quicklisp.org/2018/01/build-failure-rss-feeds.html 2020-01-08T11:31:32Z oxum joined #lisp 2020-01-08T11:32:34Z eeeeeta: Xach: oh sweet! thanks, I'll subscribe to those then :) 2020-01-08T11:33:15Z Xach: hmm, i should do some badges or something. 2020-01-08T11:35:16Z vidak` quit (Read error: Connection reset by peer) 2020-01-08T11:36:22Z oxum_ joined #lisp 2020-01-08T11:36:33Z EvW1 quit (Ping timeout: 245 seconds) 2020-01-08T11:37:19Z oxum_ quit (Remote host closed the connection) 2020-01-08T11:37:28Z ljavorsk quit (Ping timeout: 260 seconds) 2020-01-08T11:37:56Z oxum_ joined #lisp 2020-01-08T11:39:20Z stepnem_ joined #lisp 2020-01-08T11:39:48Z oxum quit (Ping timeout: 260 seconds) 2020-01-08T11:41:10Z oxum joined #lisp 2020-01-08T11:41:22Z davepdotorg joined #lisp 2020-01-08T11:41:33Z stepnem quit (Ping timeout: 260 seconds) 2020-01-08T11:45:02Z oxum_ quit (Ping timeout: 268 seconds) 2020-01-08T11:47:52Z ym joined #lisp 2020-01-08T11:56:11Z ggole joined #lisp 2020-01-08T11:58:17Z EvW joined #lisp 2020-01-08T12:08:07Z jebes quit (Quit: ZNC 1.7.4+deb7 - https://znc.in) 2020-01-08T12:08:22Z jeosol quit (Remote host closed the connection) 2020-01-08T12:13:38Z makomo quit (Ping timeout: 240 seconds) 2020-01-08T12:15:05Z oxum_ joined #lisp 2020-01-08T12:16:16Z oxum__ joined #lisp 2020-01-08T12:17:06Z oxum___ joined #lisp 2020-01-08T12:17:08Z EvW quit (Ping timeout: 248 seconds) 2020-01-08T12:18:07Z oxum___ quit (Remote host closed the connection) 2020-01-08T12:18:10Z jonatack joined #lisp 2020-01-08T12:18:38Z frgo joined #lisp 2020-01-08T12:18:41Z oxum___ joined #lisp 2020-01-08T12:18:50Z oxum quit (Ping timeout: 265 seconds) 2020-01-08T12:20:11Z oxum_ quit (Ping timeout: 268 seconds) 2020-01-08T12:20:46Z oxum__ quit (Ping timeout: 265 seconds) 2020-01-08T12:21:51Z redeemed joined #lisp 2020-01-08T12:22:10Z redeemed quit (Remote host closed the connection) 2020-01-08T12:27:12Z rwcom3 joined #lisp 2020-01-08T12:27:34Z oxum joined #lisp 2020-01-08T12:28:44Z oxum_ joined #lisp 2020-01-08T12:28:48Z rwcom quit (Ping timeout: 260 seconds) 2020-01-08T12:28:49Z rwcom3 is now known as rwcom 2020-01-08T12:31:24Z oxum___ quit (Ping timeout: 265 seconds) 2020-01-08T12:32:53Z oxum quit (Ping timeout: 260 seconds) 2020-01-08T12:34:02Z smazga joined #lisp 2020-01-08T12:34:22Z orivej quit (Ping timeout: 268 seconds) 2020-01-08T12:38:43Z smazga quit (Ping timeout: 260 seconds) 2020-01-08T12:38:50Z papachan joined #lisp 2020-01-08T12:43:00Z EvW1 joined #lisp 2020-01-08T12:51:01Z william1_ quit (Ping timeout: 268 seconds) 2020-01-08T12:57:38Z jebes joined #lisp 2020-01-08T13:01:49Z lucasb joined #lisp 2020-01-08T13:02:32Z ebzzry joined #lisp 2020-01-08T13:03:17Z Kundry_Wag joined #lisp 2020-01-08T13:08:46Z oxum_ quit (Read error: Connection reset by peer) 2020-01-08T13:08:59Z oxum joined #lisp 2020-01-08T13:15:35Z theBlackDragon quit (Remote host closed the connection) 2020-01-08T13:20:43Z __jrjsmrtn__ quit (Ping timeout: 260 seconds) 2020-01-08T13:21:29Z makomo joined #lisp 2020-01-08T13:21:51Z __jrjsmrtn__ joined #lisp 2020-01-08T13:23:55Z patlv joined #lisp 2020-01-08T13:24:53Z william1_ joined #lisp 2020-01-08T13:25:52Z Duuqnd quit (Quit: Leaving) 2020-01-08T13:30:03Z william1_ quit (Ping timeout: 260 seconds) 2020-01-08T13:30:22Z grewal quit (Ping timeout: 265 seconds) 2020-01-08T13:31:12Z grewal joined #lisp 2020-01-08T13:36:15Z Bike joined #lisp 2020-01-08T13:38:51Z jmercouris joined #lisp 2020-01-08T13:39:09Z jmercouris: anyone know how to get the ... syntax in parenscript? 2020-01-08T13:39:16Z jmercouris: I'm trying to do: array1.push(...array2) 2020-01-08T13:39:27Z jmercouris: the dots are literals 2020-01-08T13:39:45Z Odin-: Has it been updated for that? 2020-01-08T13:40:05Z jmercouris: I don't know, I'm not sure what the dots are called, so I can't search for it 2020-01-08T13:40:19Z jmercouris: the '...' does not appear anywhere in the parenscript reference 2020-01-08T13:40:28Z Odin-: It was added at the same time as arrow functions. 2020-01-08T13:40:47Z jmercouris: surely there must be a way to get the parenscript compiler to emit '...' 2020-01-08T13:41:23Z jmercouris: I get a very helpful sldb "too many dots" :-D 2020-01-08T13:41:50Z jmercouris: what an absolute mess of a language javascript is 2020-01-08T13:41:59Z Kundry_Wag quit (Remote host closed the connection) 2020-01-08T13:42:07Z Kundry_Wag joined #lisp 2020-01-08T13:42:25Z jmercouris: is there perhaps another way to get the functionality of 'array1.push(...array2)' without using the dot operator? 2020-01-08T13:42:46Z Odin-: There's a "paren6" in quicklisp. 2020-01-08T13:42:58Z Odin-: This is ES6 syntax, so... 2020-01-08T13:43:40Z Bike: three dots in a row is called an ellipsis. googling "javascript ellipsis" suggests that this is called "spread syntax". 2020-01-08T13:43:41Z Colleen: Bike: drmeister said 8 hours, 46 minutes ago: Lang Hames showed up in the llvm Discord channels and said what I came up with looks fine. 2020-01-08T13:43:41Z Colleen: Bike: drmeister said 8 hours, 45 minutes ago: He said he's pushing some updates in the next week to support static constructors but only for MacOS at first. Linux will have to be taken care of by someone with experience with linux. 2020-01-08T13:43:46Z jmercouris: it does support :... https://github.com/BnMcGn/paren6/ 2020-01-08T13:44:44Z Bike: oh, this is apply. 2020-01-08T13:44:48Z Odin-: jmercouris: In that case, I think 'array1.push.apply(array2)' does the same. 2020-01-08T13:45:19Z Bike: python has the same kind of thing. i wonder why these languages do this instead of using a higher order apply function. 2020-01-08T13:45:30Z g0d_shatter joined #lisp 2020-01-08T13:46:58Z jmercouris: Odin-: I'll give that a try, thank you, worst case I'll do concat and assignment together 2020-01-08T13:47:26Z Odin-: Because this isn't quite the same. This is the "spreadable list" part of apply. 2020-01-08T13:48:57Z Odin-: JS has apply, but IIRC that only takes a single array. You can argue that's not a proper apply, but it is what it is... 2020-01-08T13:50:11Z papachan quit (Ping timeout: 265 seconds) 2020-01-08T13:50:56Z jmercouris: Odin-: array1.push.apply(array2) does not work, I just tested in the console 2020-01-08T13:51:13Z Bike: apply takes two arguments, the first is "this" 2020-01-08T13:51:15Z Bike: i think. 2020-01-08T13:51:30Z Bike: i learned this like thirty seconds ago, so maybe check documentation yourself too 2020-01-08T13:51:40Z jmercouris: OK :-D 2020-01-08T13:51:57Z Bike: so maybe array1.push.apply(array1, array2). 2020-01-08T13:52:11Z Odin-: Oooh, right. 2020-01-08T13:52:37Z Odin-: 'Function.prototype.apply(array1, array2)'. 2020-01-08T13:52:48Z Bike: wacky. 2020-01-08T13:52:49Z Odin-: I haven't actually been messing with this stuff recently. 2020-01-08T13:52:59Z jmercouris: Indeed, you are correct 2020-01-08T13:53:02Z Odin-: JS is nothing if not bizarre. 2020-01-08T13:53:29Z Odin-: Err. 2020-01-08T13:53:47Z Odin-: Array.prototype.push.apply. 2020-01-08T13:53:53Z jmercouris: I was just thinking this is a most obtuse syntax 2020-01-08T13:54:21Z Odin-: About half of JavaScript's oddities can be explained by the prototype paradigm. 2020-01-08T13:54:38Z jmercouris: What is the prototype paradigm? I've never understood that 2020-01-08T13:54:39Z Odin-: The other half is just down to it being designed in half an hour or so. 2020-01-08T13:54:41Z jmercouris: also, what are polyfills? 2020-01-08T13:55:07Z Odin-: Polyfills are code that checks if the implementation has some functionality, and if it doesn't, implement it. 2020-01-08T13:55:20Z jmercouris: they are a way to backport functionality, strange that they invented a term for it 2020-01-08T13:55:42Z Odin-: That whole ecosystem is completely bonkers. 2020-01-08T14:00:29Z jebes: prototypes are cool. JS does it badly 2020-01-08T14:00:38Z Bike quit (Remote host closed the connection) 2020-01-08T14:00:42Z EvW1 quit (Ping timeout: 260 seconds) 2020-01-08T14:01:01Z jebes: its pretty simple to understand, every object is its own class and then things get messy 2020-01-08T14:01:23Z Bike joined #lisp 2020-01-08T14:01:28Z jmercouris: EVERY INSTANCE is its own class? 2020-01-08T14:02:34Z william1_ joined #lisp 2020-01-08T14:06:33Z jebes: well 2020-01-08T14:06:45Z jebes: no, more like every group of instances 2020-01-08T14:07:01Z jebes: but if you do a thingamajig to an instance and make it divert it then becomes its own class 2020-01-08T14:07:17Z jebes: its really just better to forget classe 2020-01-08T14:07:23Z william1_ quit (Ping timeout: 260 seconds) 2020-01-08T14:07:44Z jebes: or alternatively don't listen to me ever about anything because i don't like teh script either 2020-01-08T14:08:04Z oxum_ joined #lisp 2020-01-08T14:08:13Z Odin-: 'Class' isn't a meaningful term. 2020-01-08T14:08:28Z Bike: i thought it was just every object is a copy of a prototype instance, and there are no classes. 2020-01-08T14:08:39Z jebes: Bike: exactly 2020-01-08T14:08:44Z Odin-: Every object instance has a prototype. If a method doesn't exist on an object, then its prototype gets searched. 2020-01-08T14:08:59Z jebes: except now we do have class based js 2020-01-08T14:09:10Z jebes: which is syntactic sugar on top of the prototype system 2020-01-08T14:09:14Z Odin-: That's just a set of conventions on top of the prototypes. 2020-01-08T14:10:04Z jebes: where's my cl -> web assembly system dang it 2020-01-08T14:10:13Z LiamH joined #lisp 2020-01-08T14:10:17Z Odin-: JS tends to cause a similar feeling of weirdness as CLOS does. 2020-01-08T14:10:45Z Odin-: Most JS code just papers over it even more. 2020-01-08T14:11:28Z oxum quit (Ping timeout: 260 seconds) 2020-01-08T14:11:38Z random-nick joined #lisp 2020-01-08T14:12:23Z Odin-: It's a fundamentally different way of thinking about OO than the class-based stuff, but because class-like stuff is easy to fake, the weirdness seems to surprise people more when it bites them. 2020-01-08T14:12:25Z gravicappa quit (Ping timeout: 265 seconds) 2020-01-08T14:14:50Z Lycurgus joined #lisp 2020-01-08T14:15:32Z FreeBirdLjj joined #lisp 2020-01-08T14:17:55Z gxt joined #lisp 2020-01-08T14:25:11Z Xach: "Pretend it's like something I already know" is the source of many problems everywhere 2020-01-08T14:25:51Z davepdot_ joined #lisp 2020-01-08T14:27:25Z theBlackDragon joined #lisp 2020-01-08T14:27:57Z Odin-: I'd argue that syntax similarity tends to be a bad thing, because of that. 2020-01-08T14:28:04Z atgreen joined #lisp 2020-01-08T14:28:47Z jebes: burn yourself like a brilliant bonfire everytime you do something new and all that 2020-01-08T14:29:52Z davepdotorg quit (Ping timeout: 268 seconds) 2020-01-08T14:32:34Z JohnMS_WORK quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2020-01-08T14:35:31Z fivo joined #lisp 2020-01-08T14:37:16Z adolby quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) 2020-01-08T14:38:28Z adolby joined #lisp 2020-01-08T14:38:49Z eeeeeta: situation: javascript doesn't have OO 2020-01-08T14:39:04Z eeeeeta: ES6 designers: oh well just have this class keyword anyway, sssh 2020-01-08T14:42:12Z jonatack quit (Ping timeout: 268 seconds) 2020-01-08T14:43:30Z jonatack joined #lisp 2020-01-08T14:45:46Z jebes: it has OO 2020-01-08T14:46:02Z jebes: if JS isn't OO then neither is Lisp. CLOS is not a traditional OO system 2020-01-08T14:46:55Z beach: It is pointless to discuss what is or what is not X when there is no widely agreed-upon definition of X. 2020-01-08T14:47:39Z dlowe: OO is more of an architectural style, and some languages support that style in different ways 2020-01-08T14:47:46Z dlowe: or not 2020-01-08T14:47:52Z jebes: I agree with dlowe here 2020-01-08T14:48:10Z jebes: honestly if it has parametric polymorphism i call it OO 2020-01-08T14:48:12Z dlowe: I feel the same about "scripting" 2020-01-08T14:48:15Z jebes: so fuck it, Haskell is OO now 2020-01-08T14:49:16Z jebes: s/parametric/ad-hoc 2020-01-08T14:50:31Z SaganMan joined #lisp 2020-01-08T14:50:46Z SaganMan is now known as nekosagan 2020-01-08T14:56:52Z oxum_ quit (Remote host closed the connection) 2020-01-08T14:57:07Z boeg quit 2020-01-08T14:57:08Z Odin- quit (Quit: That's the wrong…) 2020-01-08T14:57:15Z Kundry_Wag quit (Remote host closed the connection) 2020-01-08T14:59:26Z fivo quit (Quit: WeeChat 1.9.1) 2020-01-08T15:00:18Z patlv_ joined #lisp 2020-01-08T15:01:14Z patlv quit (Ping timeout: 265 seconds) 2020-01-08T15:05:00Z ebrasca quit (Remote host closed the connection) 2020-01-08T15:08:07Z gravicappa joined #lisp 2020-01-08T15:08:16Z Lord_of_Life_ joined #lisp 2020-01-08T15:08:38Z Lord_of_Life quit (Ping timeout: 260 seconds) 2020-01-08T15:09:38Z Lord_of_Life_ is now known as Lord_of_Life 2020-01-08T15:12:03Z oxum joined #lisp 2020-01-08T15:16:26Z milanj joined #lisp 2020-01-08T15:18:03Z jmercouris: I a really bothered by the fact that there are no constructors for objects to do data sanitation 2020-01-08T15:18:05Z vms14 joined #lisp 2020-01-08T15:18:16Z jmercouris: if I have class potato, I frequently make a function make-potato 2020-01-08T15:18:26Z jmercouris: I wish it were part of the spec, gratuitous as it may be 2020-01-08T15:18:29Z boeg_ joined #lisp 2020-01-08T15:18:42Z vms14: guys I've found a codewars-like website that allows common lisp :D 2020-01-08T15:18:45Z Xach: jmercouris: that is usually done in initialize-instance. 2020-01-08T15:18:49Z Xach: jmercouris: or shared-initialize. 2020-01-08T15:18:53Z vms14: hackerrank.com 2020-01-08T15:19:00Z jmercouris: Xach: I've used those too, it doesn't feel the same 2020-01-08T15:19:12Z jmercouris: it is quite close though, i will give you that 2020-01-08T15:19:17Z vms14: I guess not all exercises can be done with lisp, but at least the fp ones will let you use sbcl 2020-01-08T15:21:02Z Xach: jmercouris: what's the difference in your view? 2020-01-08T15:21:14Z Xach: the critical difference 2020-01-08T15:21:43Z jmercouris: there is no critical difference, I just wish it were a language constructor like in java 2020-01-08T15:21:51Z jmercouris: the specificity would make it nicer 2020-01-08T15:21:59Z jmercouris: kind of like choosing to use when vs if with only one clause 2020-01-08T15:22:08Z Xach: jmercouris: what do you mean by specificity? 2020-01-08T15:22:19Z jmercouris: I'm trying to describe it above by the WHEN vs IF comparison 2020-01-08T15:22:28Z jmercouris: I remember reading in a style book that beach reccommended 2020-01-08T15:22:55Z Xach: I know that Keene's book recommends it 2020-01-08T15:23:04Z jmercouris: that is it, yes 2020-01-08T15:23:12Z jmercouris: I would just like it to be very obvious that THIS is a constructor 2020-01-08T15:23:13Z patlv_ quit (Ping timeout: 260 seconds) 2020-01-08T15:23:21Z jmercouris: and there would be tooling in place to find constructors ina project etc 2020-01-08T15:23:28Z jmercouris: initialize-instance :after get's close, but not quite there 2020-01-08T15:23:28Z Xach: It's not a constructor, though. It's for initialization. 2020-01-08T15:23:39Z Xach: M-. initialize-instance finds them all. 2020-01-08T15:23:41Z jmercouris: in java they are called constructors 2020-01-08T15:24:01Z jmercouris: maybe I'm just trying to shoehorn my old views into the world of lisp 2020-01-08T15:24:08Z jmercouris: perhaps the feeling will wear down with more time 2020-01-08T15:24:28Z eeeeeta: I swear initialise-instance actually gets the initargs 2020-01-08T15:24:31Z eeeeeta: or one of them does 2020-01-08T15:24:35Z Xach: eeeeeta: it does. 2020-01-08T15:24:42Z eeeeeta: that feels pretty much like a constructor to me 2020-01-08T15:26:08Z Bike: initialize-instance feels pretty distinguished to me. if anything it's more obvious to me than just having a function that has the same name as the class 2020-01-08T15:27:18Z jonatack quit (Ping timeout: 260 seconds) 2020-01-08T15:28:52Z pfdietz joined #lisp 2020-01-08T15:29:17Z eeeeeta: yeah exactly 2020-01-08T15:30:40Z jprajzne quit (Quit: Leaving.) 2020-01-08T15:31:13Z FreeBirdLjj quit (Remote host closed the connection) 2020-01-08T15:31:28Z phoe: jmercouris: if you write DEFMETHOD INITIALIZE-INSTANCE {:AROUND,:BEFORE,:AFTER}, then it MEANS that this is a Lisp constructor. 2020-01-08T15:31:48Z FreeBirdLjj joined #lisp 2020-01-08T15:31:57Z phoe: THIS is literally the idiom, just like Class(...) { ... } in java 2020-01-08T15:32:35Z jmercouris: phoe: allet klaerchen 2020-01-08T15:32:51Z phoe: if MAKE-INSTANCE is the analogue of java's new ..., then INITIALIZE-INSTANCE is the way to declare constructors 2020-01-08T15:33:15Z jmercouris: they are a reasonable parallel, agreed 2020-01-08T15:34:08Z phoe: in :BEFORE I usually place keyword argument type validation, in :AFTER some logical validation that needs to have the slots already bound and then some additional stuff that needs to be computed 2020-01-08T15:34:48Z phoe: this way, when the slots become bound, they are always of proper type/contain proper values/etc.. and the stuff in :AFTER can assume that it operates on sane data 2020-01-08T15:35:19Z atgreen quit (Remote host closed the connection) 2020-01-08T15:35:28Z vms14: how to send EOF in slime? 2020-01-08T15:36:03Z phoe: vms14: ,sayoonara 2020-01-08T15:36:06Z vms14: no 2020-01-08T15:36:07Z vms14: xD 2020-01-08T15:36:17Z phoe: vms14: depends on where you want to send it then 2020-01-08T15:36:22Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2020-01-08T15:36:36Z vms14: hmm I've tried C-u RET 2020-01-08T15:36:37Z klltkr joined #lisp 2020-01-08T15:36:45Z phoe: EOF is not a character 2020-01-08T15:36:48Z vms14: but it signals end of file 2020-01-08T15:37:04Z vms14: I want to put eof while using read 2020-01-08T15:37:12Z phoe: what are you reading? 2020-01-08T15:37:15Z vms14: stdin 2020-01-08T15:37:27Z wnj quit (Remote host closed the connection) 2020-01-08T15:37:40Z phoe: the terminal process's stdin? 2020-01-08T15:37:50Z phoe: I mean, inferior lisp's? 2020-01-08T15:38:13Z vms14: no, I'm in slime-repl I'm using (read) with no parameters so it reads from stdin 2020-01-08T15:38:26Z vms14: I can put stuff and it reads it, but idk how to send it eof 2020-01-08T15:38:37Z patlv_ joined #lisp 2020-01-08T15:38:40Z phoe: OK, so you want to send EOF to slime-repl 2020-01-08T15:38:46Z vms14: yes 2020-01-08T15:38:56Z vms14: well, to whatever is reading (read) 2020-01-08T15:39:11Z phoe: in my case it is reading *standard-input*, so # 2020-01-08T15:39:23Z X-Scale quit (Quit: HydraIRC -> http://www.hydrairc.com <- Wibbly Wobbly IRC) 2020-01-08T15:40:06Z vms14: meh, I'll make that test in raw sbcl 2020-01-08T15:40:07Z vms14: xD 2020-01-08T15:40:41Z phoe: https://github.com/slime/slime/blob/e6d215d77148079799d2fc3253ef402b5d9ed4d7/swank/gray.lisp#L144 2020-01-08T15:40:47Z phoe: you need to send it an empty string, it seems 2020-01-08T15:41:04Z atgreen joined #lisp 2020-01-08T15:41:10Z phoe: it reads from a string 2020-01-08T15:41:18Z phoe: so you need to pass it an empty string to have it read an EOF 2020-01-08T15:42:04Z vms14: it was my fault 2020-01-08T15:42:11Z vms14: (read *standard-input* nil) 2020-01-08T15:42:20Z vms14: and it seems to accept C-u RET 2020-01-08T15:42:50Z vms14: yes, it works 2020-01-08T15:43:09Z vms14: (loop while (setf meh (read *standard-input* nil)) 2020-01-08T15:43:09Z vms14: do (print meh)) 2020-01-08T15:43:38Z patlv_ quit (Ping timeout: 260 seconds) 2020-01-08T15:48:30Z pfdietz quit (Remote host closed the connection) 2020-01-08T15:49:28Z Lycurgus quit (Remote host closed the connection) 2020-01-08T15:50:04Z vms14: I needed stuff like hackerrank, it makes you write a lot of code 2020-01-08T15:50:21Z vms14: but I wasn't able to find a website alike with common lisp 2020-01-08T15:50:51Z Xach: vms14: what does hackerrank do that helps you? 2020-01-08T15:51:22Z varjag quit (Quit: ERC (IRC client for Emacs 25.2.2)) 2020-01-08T15:53:09Z orivej joined #lisp 2020-01-08T15:53:22Z vms14: Xach is just a website with exercises, the fact that helps me is that supports common lisp as a language of choice 2020-01-08T15:53:45Z vms14: a lot of friends recommended me to use codewars and alike, but there was no common lisp so I didn't want to 2020-01-08T15:53:57Z Xach: vms14: the exercises help you get better at common lisp? 2020-01-08T15:54:07Z vms14: you learn programming by coding 2020-01-08T15:54:27Z vms14: my worst problem is that I tend to read a lot of theory but I practice very little 2020-01-08T15:54:28Z Xach: I agree - I don't have experience getting exercises from a website so I am trying to understand the appeal better 2020-01-08T15:55:22Z Xach: I am very eager to make certain things and that drives my practice. I got a 3d printer for christmas and now I want to make STL files from some of my SVG files. I will have to figure out some math and tesselation I think. 2020-01-08T15:55:23Z vms14: Xach it's just a website which gives you some kind of text editor and a problem, then you solve that problem using the language of choice 2020-01-08T15:55:26Z gareppa joined #lisp 2020-01-08T15:55:37Z vms14: they test the code and if it works you go to the next exercise 2020-01-08T15:55:59Z vms14: svg is very interesting stuff 2020-01-08T15:56:16Z vms14: and it's xml after all, but yes, it involves maths and claims to be automated 2020-01-08T15:56:41Z Xach: I might skip the SVG part - the drawings are done in Lisp and SVG is the output. But I could possibly output STL directly. 2020-01-08T15:56:48Z jmercouris: I don't think those websites improve coding, they are contrived problems 2020-01-08T15:57:01Z jmercouris: just how solving all the project euler problems wouldn't make you good on a team 2020-01-08T15:57:22Z vms14: jmercouris: they incite you to write code, and this one seems to have fp problems 2020-01-08T15:57:35Z jmercouris: you want to write code? have someone hire you to write code 2020-01-08T15:57:48Z vms14: yes, but no one is hiring me to write common lisp code 2020-01-08T15:57:52Z vms14: I'd really like that 2020-01-08T15:58:01Z vms14: but the world is not as I'd like 2020-01-08T15:58:13Z vms14: they'll hire me to write php or java 2020-01-08T15:58:15Z vms14 cries 2020-01-08T15:58:23Z galdor: vms14: do the Advent of Code 2020-01-08T15:58:38Z galdor: it will force you to solve fun problems with any language 2020-01-08T15:58:40Z vms14: galdor: a guy recommended me that too 2020-01-08T15:58:45Z vms14: a wise one 2020-01-08T15:58:46Z galdor: and it's much more interesting than hackerrank 2020-01-08T15:58:49Z smazga joined #lisp 2020-01-08T15:59:20Z vms14: I'm not a very good programmer, I have troubles designing programs 2020-01-08T15:59:26Z galdor: and problems are more algorithmics than mathematics, which is good to practice a language 2020-01-08T15:59:38Z jmercouris: trouble designing programs is not going to be solved by these trivial problems 2020-01-08T15:59:44Z galdor: designing programs correctly comes with experience 2020-01-08T15:59:44Z jmercouris: architecting programs is a different class of knowledge 2020-01-08T15:59:59Z jmercouris: you must inspect and work on large projects to develop this knowledge 2020-01-08T16:00:04Z galdor: therefore write a lots of stuff of various kinds, see what works and what does not, and learn 2020-01-08T16:01:26Z jayspeer quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-01-08T16:02:22Z Kundry_Wag joined #lisp 2020-01-08T16:02:46Z pjb: phoe: are you sure? (with-input-from-string (stream "") (read stream nil #\)) #| --> #\Sub |# 2020-01-08T16:03:42Z vivit joined #lisp 2020-01-08T16:04:39Z vivit: SBCL gives me style-warning "The return value of DELETE should not be discarded". Why is that? 2020-01-08T16:05:08Z _death: vms14: AoC is good, and there are other language-agnostic sites that go deeper within a field, such as cryptopals and rosalind.. 2020-01-08T16:05:10Z CrazyEddy quit (Remote host closed the connection) 2020-01-08T16:05:56Z White_Flame: vivit: because calling a destructive function on a list might need the variable holding the list to be updated 2020-01-08T16:05:59Z orivej quit (Quit: No Ping reply in 180 seconds.) 2020-01-08T16:06:05Z White_Flame: eg, what if you delete the first item? 2020-01-08T16:06:10Z Bike: vivit: you can't rely on the argument being mutated in the way you expect, or at all. 2020-01-08T16:07:19Z orivej joined #lisp 2020-01-08T16:07:30Z karlosz joined #lisp 2020-01-08T16:07:33Z Kundry_Wag quit (Ping timeout: 260 seconds) 2020-01-08T16:07:38Z cosimone joined #lisp 2020-01-08T16:07:45Z Bike: delete is "REMOVE but it's _allowed to_ mess with its argument", not "REMOVE but you call it for the side effect instead of using the value". 2020-01-08T16:12:47Z vms14: xD the exercise: Output the list with the integers at odd positions removed i.e. the first element, the third element and so on. 2020-01-08T16:13:01Z vms14: my solution: read twice and print once 2020-01-08T16:14:10Z vivit: Bike, White_Flame: Does that mean it depends on the implementation whether the destruction happens, or simply that it's unpredictable and highly context-dependent whether the destruction happens? 2020-01-08T16:14:37Z Bike: it's undefined, so both. 2020-01-08T16:15:45Z Bike: another example: even if you pass in a vector, if any elements are deleted, the length of the vector must be reduced. This isn't something that you the programmer can do to a simple vector, and the implementation might not either. 2020-01-08T16:15:45Z slyrus quit (Ping timeout: 268 seconds) 2020-01-08T16:15:58Z heisig quit (Quit: Leaving) 2020-01-08T16:15:58Z pjb: vivit: how do you destroy the last element of a list? (last) is represented with a cons: (last . nil) 2020-01-08T16:16:00Z Bike: so it might make a new vector instead, even with delete. 2020-01-08T16:16:19Z pjb: vivit: (delete 'last (list 'last)) -> () 2020-01-08T16:16:56Z pjb: vivit: the paradox is that there are no lists in lisp! Only chains of cons cells. And the empty list is NOT represented with a cons cell, but with the symbol NIL. 2020-01-08T16:16:59Z bitmapper joined #lisp 2020-01-08T16:17:00Z pjb: (eq '() 'nil) #| --> t |# 2020-01-08T16:17:00Z vivit: So the main reason to use DELETE instead of REMOVE is optimization? 2020-01-08T16:17:11Z Bike: yes. 2020-01-08T16:17:23Z pjb: vivit: more or less. 2020-01-08T16:17:40Z pjb: vivit: you definitely do not want to use delete on immutable lists, or on lists that must not be mutated! 2020-01-08T16:17:50Z clothespin: anyone here got experience implementing bi-directional streams? 2020-01-08T16:17:51Z pjb: In these cases, it's not a question of optimization. 2020-01-08T16:17:58Z pjb: In doubt, use remove. 2020-01-08T16:18:06Z pjb: clothespin: what do you mean? 2020-01-08T16:18:14Z pjb: clhs make-two-way-stream 2020-01-08T16:18:15Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_mk_two.htm 2020-01-08T16:18:17Z pjb: clothespin: ^ ? 2020-01-08T16:18:30Z Bike: gray streams, presumably? 2020-01-08T16:18:34Z clothespin: implementing the innards efficiently/logically 2020-01-08T16:18:37Z Kundry_Wag joined #lisp 2020-01-08T16:18:51Z pjb: clothespin: the innads of WHAT? 2020-01-08T16:19:21Z clothespin: the innards of a bidirection stream which I'm going to connect to a repl and a display 2020-01-08T16:19:49Z pjb: You still are not defining what you mean by "bidirectional stream". 2020-01-08T16:20:17Z clothespin: I wrote a simple streams version for ACL in 2009, I lost that code, now I'm reimplementing with sb-gray 2020-01-08T16:20:23Z pjb: In any case, if make-two-way-stream is not good enough for you, you can do exactly what you want with gray streams. 2020-01-08T16:20:27Z pfdietz joined #lisp 2020-01-08T16:21:47Z clothespin: I'm currently thinking one buffer with indices for star and stop input...one buffer to make rendering efficient 2020-01-08T16:22:20Z X-Scale joined #lisp 2020-01-08T16:22:49Z vivit: The context I'm working in is that I have two classes, PLACE and THING. PLACE has a slot called CONTENTS, and THING has a slot called LOCATION. I want all the objects of these classes to, at all times, satisfy the condition that thing TH has a location of place PL iff (MEMBER TH (CONTENTS PL)) is not nil. 2020-01-08T16:22:57Z CrazyEddy joined #lisp 2020-01-08T16:23:20Z Kundry_Wag quit (Ping timeout: 268 seconds) 2020-01-08T16:24:05Z vivit: The way I'm donig this is defining a function (PUT TH PL) that removes TH from its current location and puts it in PL, correcting all references. 2020-01-08T16:24:27Z m00natic quit (Remote host closed the connection) 2020-01-08T16:26:10Z jonatack joined #lisp 2020-01-08T16:27:46Z Bike: so you'll have to actually setf the CONTENTS slot(s) rather than just using delete. 2020-01-08T16:28:11Z jmercouris quit (Remote host closed the connection) 2020-01-08T16:28:57Z pjb: You may choose to use remove instead of delete, if you give clients the list itself. 2020-01-08T16:29:26Z pjb: ie. if you have something like: (defclass place () ((contents :initform '() :accessor place-contents)) 2020-01-08T16:30:22Z vivit: I currently have it so that place-contents is only a reader, not an accessor 2020-01-08T16:30:22Z pjb: On the other hand if you have (defclass place () ((contents :initform '()))) (defmethod place-contents ((self place)) (copy-list (slot-value self 'contents))) then you can use delete, because the list belongs to the place and no other object can have it. 2020-01-08T16:30:29Z pjb: vivit: then use remove. 2020-01-08T16:31:12Z pjb: The problem is not writing, but reading, and having several places referencing the same list. It may break things if you modify the list. 2020-01-08T16:31:33Z beach: vivit: Change it to be an accessor. 2020-01-08T16:31:34Z vivit: right 2020-01-08T16:32:38Z pjb: Of course not. 2020-01-08T16:33:10Z pjb: You want to control those lists, so you definitely do not want to let clients access it willy-nilly! 2020-01-08T16:33:17Z beach: vivit: If you really want the contents to be modifiable, you will have to turn it into an abstract data type, not a Common Lisp list, which is a concrete data type. 2020-01-08T16:34:19Z beach: Then you can use a slot reader only. No accessor needed. 2020-01-08T16:34:32Z Kundry_Wag joined #lisp 2020-01-08T16:34:41Z milanj_ joined #lisp 2020-01-08T16:34:43Z gareppa quit (Quit: Leaving) 2020-01-08T16:34:54Z pjb: This is not really the point. The point is that it is wanted that the class PLACE manages and controls this list, to ensure the invariant cited above. 2020-01-08T16:35:23Z pjb: Therefore no other object can have access to this list. It doesn't matter if it's directly the cons, the slot, or thru an abstract data type. 2020-01-08T16:35:26Z beach: OK, then that's easy. Just do what Bike suggested. 2020-01-08T16:35:48Z beach: And use REMOVE rather than DELETE. 2020-01-08T16:35:56Z milanj quit (Read error: Connection reset by peer) 2020-01-08T16:36:04Z clothespin: hi beach 2020-01-08T16:36:04Z pfdietz: And lament that SORT isn't called NSORT. 2020-01-08T16:36:11Z pjb: Once the class PLACE controls the list, it can use DELETE, because it is the only object that has access to the cons cells of this list. 2020-01-08T16:36:14Z pjb: SO use DELETE. 2020-01-08T16:36:21Z vms14: guys how can I remove an element of a character array? 2020-01-08T16:36:26Z beach: pjb: Fair enough. 2020-01-08T16:36:28Z phoe: vms14: you can;t 2020-01-08T16:36:36Z phoe: you need to reallocate. 2020-01-08T16:36:39Z phoe: that's the issue with arrays. 2020-01-08T16:36:41Z vms14: I'm trying with delete but it removes all those characters 2020-01-08T16:36:49Z phoe: oh! a single element you mean 2020-01-08T16:36:59Z vms14: phoe: precisely the last element 2020-01-08T16:37:11Z jackdaniel: vms14: if it has a fill pointer, then decrement the fill-pointer 2020-01-08T16:37:12Z phoe: (remove ... :count 1) but that will reallocate as well 2020-01-08T16:37:20Z vms14: jackdaniel: oh, nice :D 2020-01-08T16:37:21Z phoe: otherwise--- yes, what jackdaniel said 2020-01-08T16:37:29Z vms14: ty 2020-01-08T16:37:36Z pjb: vms14: (let* ((s "Hello World") (ms (make-array (length s) :initial-contents s :element-type 'character))) (replace ms ms :start1 6 :start2 7) ms) #| --> "Hello orldd" |# 2020-01-08T16:37:51Z phoe: yes, the end of the vector is a special case if your vector has a fill pointer 2020-01-08T16:38:03Z vms14: that's nice, because they'll have 2020-01-08T16:38:12Z pjb: vms14: if you don't want the final #\d: (let* ((s "Hello World") (ms (make-array (length s) :fill-pointer (length s) :initial-contents s :element-type 'character))) (replace ms ms :start1 6 :start2 7) (decf (fill-pointer ms)) ms) #| --> "Hello orld" |# 2020-01-08T16:38:26Z pfdietz: Also might consider dsplacement. 2020-01-08T16:38:40Z vms14: I love adjustable fill pointer arrays because I can use them with format 2020-01-08T16:39:09Z vms14: (defun make-text-buffer () (make-array 0 :adjustable t :fill-pointer t :element-type 'character)) 2020-01-08T16:39:44Z vms14: thanks for the different ways to remove an element of array 2020-01-08T16:39:59Z vms14: see you :D 2020-01-08T16:40:01Z vms14 quit (Remote host closed the connection) 2020-01-08T16:40:19Z pfdietz: In practice, I use REMOVE instead of DELETE unless profiling shows I should use the latter. I almost never do. 2020-01-08T16:40:51Z dale_ joined #lisp 2020-01-08T16:41:03Z dale_ is now known as dale 2020-01-08T16:42:03Z pjb: For the lurkers who stayed, there's also a faster way to "remove" an element from an array. Eg for a string: (let ((ms (copy-seq "Hello World"))) (setf (aref ms 6) #\Null) ms) #| --> "Hello 2020-01-08T16:42:41Z galdor: I like to use DELETE as final return value of a function 2020-01-08T16:42:49Z galdor: this way it's clear we are not reusing the parameter 2020-01-08T16:43:06Z galdor: (function or construction such as DO) 2020-01-08T16:43:30Z vivit: pjb: the thing that goes in the LOCATION slot of a thing is the place object, not the list itself 2020-01-08T16:43:46Z pjb: That's ok. 2020-01-08T16:44:00Z pjb: PUT is a multi-method… 2020-01-08T16:44:22Z milanj joined #lisp 2020-01-08T16:44:50Z milanj_ quit (Read error: Connection reset by peer) 2020-01-08T16:46:06Z karlosz quit (Quit: karlosz) 2020-01-08T16:46:11Z jebes quit (Quit: ZNC 1.7.4+deb7 - https://znc.in) 2020-01-08T16:47:18Z pfdietz: I've been thinking what CL would look like as a more functional language. One could make setf expanders more functional, by having them perform copies as needed (nested copies for nested places), bottoming out in assignment to a var. 2020-01-08T16:47:48Z pfdietz: The fset project has something like that for its functional accessors. 2020-01-08T16:49:52Z wnj joined #lisp 2020-01-08T16:53:22Z vivit quit (Ping timeout: 268 seconds) 2020-01-08T16:53:33Z neuro_sys quit (Ping timeout: 268 seconds) 2020-01-08T16:53:36Z stux|RC-only quit (Read error: Connection reset by peer) 2020-01-08T16:53:41Z clothespin: are these proposed features designed to make CL more thread safe? 2020-01-08T16:55:07Z stux|RC-only joined #lisp 2020-01-08T16:56:37Z Bike: pfdietz: copies? 2020-01-08T16:56:50Z Bike: oh, like, instead of actually mutating 2020-01-08T16:56:50Z pjb: Like in C++? 2020-01-08T16:58:15Z ggole quit (Quit: Leaving) 2020-01-08T17:00:00Z gko left #lisp 2020-01-08T17:00:11Z papachan joined #lisp 2020-01-08T17:01:57Z vivit joined #lisp 2020-01-08T17:02:44Z Josh_2 joined #lisp 2020-01-08T17:05:38Z Harag quit (Read error: Connection reset by peer) 2020-01-08T17:05:43Z Harag1 joined #lisp 2020-01-08T17:06:50Z brown121408 joined #lisp 2020-01-08T17:07:44Z brown121407 quit (Ping timeout: 268 seconds) 2020-01-08T17:07:56Z Xach: clothespin: no 2020-01-08T17:07:59Z Kundry_Wag quit (Read error: Connection reset by peer) 2020-01-08T17:08:04Z Harag1 is now known as Harag 2020-01-08T17:08:17Z Kundry_Wag joined #lisp 2020-01-08T17:11:55Z frgo quit (Remote host closed the connection) 2020-01-08T17:12:29Z frgo joined #lisp 2020-01-08T17:16:50Z frgo quit (Ping timeout: 240 seconds) 2020-01-08T17:17:25Z Codaraxis quit (Ping timeout: 268 seconds) 2020-01-08T17:17:57Z vivit: If 'A is shorthand for (QUOTE A), is `A shorthand for anything? 2020-01-08T17:18:09Z frgo joined #lisp 2020-01-08T17:18:53Z jeosol joined #lisp 2020-01-08T17:19:09Z Xach: vivit: not in a standard way like QUOTE. but the results are standardized. 2020-01-08T17:19:09Z brown121408 quit (Read error: Connection reset by peer) 2020-01-08T17:19:24Z CrazyEddy quit (Remote host closed the connection) 2020-01-08T17:19:32Z vivit: What about #. 2020-01-08T17:19:55Z Xach: vivit: that has standard meaning 2020-01-08T17:20:03Z Bike: sharp dot couldn't be implemented as a macro or special operator or anything. 2020-01-08T17:20:20Z brown121407 joined #lisp 2020-01-08T17:21:02Z vivit: Hrm 2020-01-08T17:21:40Z vivit: So if, for example, I want to benefit from format syntax in a docstring, I absolutely must sharpdot it? 2020-01-08T17:21:58Z Xach: vivit: there are other ways but that is the easiest built-in way. 2020-01-08T17:22:03Z beach: vivit: That's what I do. 2020-01-08T17:22:11Z Xach: you could write your own read-macro, for example, but that is more work. 2020-01-08T17:22:26Z frgo quit (Ping timeout: 240 seconds) 2020-01-08T17:23:13Z grabarz quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-08T17:24:49Z orivej quit (Ping timeout: 268 seconds) 2020-01-08T17:26:15Z beach: vivit: Also, ' is not "shorthand" for anything. It is a reader macro that reads the expression that follows and returns it wrapped in (QUOTE ...). 2020-01-08T17:28:09Z Xach: if it was not short and convenient, we would all write (QUOTE ...) instead. 2020-01-08T17:28:44Z vivit: what, does the word "shorthand" have a standard meaning in this context? :P 2020-01-08T17:29:10Z vivit: I wasn't sure of the specification details, so I picked an ambiguous word 2020-01-08T17:29:22Z beach: And I fill you in with the right terminology. 2020-01-08T17:30:22Z Xach: beach is incorrect in this case. ' is shorthand for (QUOTE ...) and reader macros are the mechanism that makes it work. 2020-01-08T17:30:43Z vivit: thank you Xach 2020-01-08T17:32:55Z beach: If it's "shorthand", I ought to be able to write "'hello" and get a string that contains "(QOUTE HELLO)". 2020-01-08T17:33:18Z beach: But I am done with this discussion. 2020-01-08T17:34:41Z davepdot_ quit (Remote host closed the connection) 2020-01-08T17:34:49Z hhdave quit (Quit: hhdave) 2020-01-08T17:34:50Z sjl joined #lisp 2020-01-08T17:35:01Z Xach: That is a very silly example and I'm glad you will not try to defend it. 2020-01-08T17:36:45Z vivit: #| 'hello |# -> #| (QOUTE HELLO) |# 2020-01-08T17:37:37Z zclark joined #lisp 2020-01-08T17:38:12Z orivej joined #lisp 2020-01-08T17:41:33Z Xach: #| is a reader macro also 2020-01-08T17:41:45Z Xach: and ( too 2020-01-08T17:43:04Z vivit: Interesting 2020-01-08T17:44:51Z vivit: The language's self-similarity runs even deeper than I thought 2020-01-08T17:45:34Z frgo joined #lisp 2020-01-08T17:46:22Z pfdietz: Bike: right, instead of mutating. So (setf (functional-car x) y) ==> (progn (setf x (cons y (cdr x))) y) ;; but with temp vars as needed 2020-01-08T17:46:23Z brown121408 joined #lisp 2020-01-08T17:46:32Z brown121407 quit (Ping timeout: 265 seconds) 2020-01-08T17:47:12Z Bike: i used to know people who worked on the haskell lens library, but i didn't particularly understand anything, as is common with me and haskell 2020-01-08T17:48:15Z papachan quit (Ping timeout: 268 seconds) 2020-01-08T17:48:58Z vivit: is ; a reader macro? 2020-01-08T17:49:05Z Xach: vivit: yes. 2020-01-08T17:49:29Z vivit: what about |# and )? 2020-01-08T17:49:35Z Xach: vivit: http://l1sp.org/cl/2 will give you lots of detail 2020-01-08T17:49:50Z Xach: vivit: no - they are recognized in the reader functions introduced by #| and ( 2020-01-08T17:50:30Z Bike: parts of tokens, like characters in symbols and numbers, aren't reader macros. neither is whitespace. other than that most syntax is reader macros or adjacent. 2020-01-08T17:51:06Z Bike: maybe all of it, i don't recall 2020-01-08T17:52:15Z sjl: speaking of reader macros, is there a better way to make a single CL file that's both (load)able and ./runnable without having something like (set-dispatch-macro-character #\# #\! (lambda (stream s n) (read-line stream) (values))) in your sbclrc? 2020-01-08T17:52:44Z pjb: vivit: everything is a reader macro, but integers, floating-point numbers, and symbols. 2020-01-08T17:52:47Z Xach: sjl: yes 2020-01-08T17:52:50Z Bike: i think with --script, shebangs are ignored, in sbcl? 2020-01-08T17:53:06Z sjl: Bike: Yes, but then you can't (load) it in a normal REPL 2020-01-08T17:53:17Z sjl: Xach: can you elaborate? 2020-01-08T17:53:19Z Bike: oh duh. 2020-01-08T17:53:37Z pjb: vivit: this means that you can easily change the syntax of the whole lisp, with reader macros, (and also the syntax of integers floating-point numbers and symbols, but this is a little more work. 2020-01-08T17:53:47Z Xach: sjl: https://twitter.com/xach/status/1210647756026630144 is something I use sometimes. 2020-01-08T17:54:14Z Xach: i think i learned it from rob warnock. 2020-01-08T17:54:34Z sjl: Xach: that relies on ./foo on a non-executable, non-shebang file just passing itself to the current shell, right? 2020-01-08T17:54:46Z sjl: Will that work if someone's using a non-POSIX shell (e.g. fish)? 2020-01-08T17:55:01Z sjl: Or is there something else going on here that I don't understand 2020-01-08T17:55:10Z Xach: sjl: I don't know, if you find out please tell me. 2020-01-08T17:55:53Z Xach: the "$0" is also obviously useful only in certain cases, but the full form is so gross I leave it out for clarity. 2020-01-08T17:56:16Z sjl: Yeah that breaks in fish 2020-01-08T17:56:19Z sjl: works in bash 2020-01-08T17:56:57Z Bike: oh i see, it uses the : operator, then ; chains... and in lisp it's just a string to discard and then a comment 2020-01-08T17:56:59Z Bike: spooky 2020-01-08T17:57:01Z sjl: Yeah 2020-01-08T17:57:09Z sjl: and explicitly quotes the : so it's a lisp string 2020-01-08T17:57:22Z sjl: which you mentioned, lol 2020-01-08T17:57:24Z sjl: it's clever 2020-01-08T17:57:40Z sjl: unfortunately doesn't work in non-posix shells 2020-01-08T17:58:27Z Bike: it seems like it would be hard to do anything like this and have it work in every shell 2020-01-08T17:58:32Z boeg_ is now known as boeg 2020-01-08T17:59:07Z cosimone quit (Quit: Terminated!) 2020-01-08T17:59:19Z sjl: Yeah. I think the shebang reader macro is probably the only way, though that's obviously annoying to require people to use 2020-01-08T17:59:22Z Xach: #! is a kernel thing 2020-01-08T17:59:27Z sjl: Yeah 2020-01-08T17:59:33Z vivit quit (Ping timeout: 260 seconds) 2020-01-08T17:59:46Z sjl: #! are literally just two magic numbers that happen to be the ascii chars # and ! 2020-01-08T18:00:05Z Xach: sjl: what does fish do with that file? could it be tricked in a way that makes it still work in bash? of course, that would be hard to do for every shell. 2020-01-08T18:00:34Z sjl: https://paste.stevelosh.com/a2b4bb27fdfd87732c42d3e3999384861dfa6ef8 but yeah, adding support for more and more shells is gonna be tricky 2020-01-08T18:00:35Z mn3m quit (Ping timeout: 268 seconds) 2020-01-08T18:00:44Z sjl has a meeting, back in a bit 2020-01-08T18:01:32Z vivit joined #lisp 2020-01-08T18:01:32Z vivit quit (Changing host) 2020-01-08T18:01:32Z vivit joined #lisp 2020-01-08T18:01:54Z Josh_2: whats the best guide for writing reader macros? 2020-01-08T18:02:18Z Josh_2: It's something I've never done but I have a good usecase (I think) so I reckon I should take a stab at it 2020-01-08T18:02:48Z Xach: Josh_2: i like the idea of reader macros but i think it's one of those things that works best as something specific to an application and not for general use in a library, most of the time. 2020-01-08T18:03:03Z orivej quit (Ping timeout: 268 seconds) 2020-01-08T18:03:05Z william1_ joined #lisp 2020-01-08T18:03:26Z Josh_2: Well in this case, I would just use the read macro as short hand for something like (build-data-packet ..) 2020-01-08T18:03:32Z Xach: Josh_2: i don't know of a guide offhand. i suspect it's in practical common lisp but haven't double-checked. 2020-01-08T18:03:38Z Xach: Josh_2: what's the .. in that case? 2020-01-08T18:03:56Z travv0: i don't think pcl covers reader macros but i could be wrong 2020-01-08T18:03:58Z Josh_2: the variables to the data packet, recipient and data 2020-01-08T18:03:59Z Bike: i don't know how much of a guide there could be. you take the stream, probably read some stuff, probably return an object. 2020-01-08T18:04:19Z Bike: If you just want a shorthand sort of reader macro like ' or #', looking at your implementation's definition of them could be helpful 2020-01-08T18:04:23Z Bike: they're likely only a few lines 2020-01-08T18:04:27Z varjag joined #lisp 2020-01-08T18:04:40Z Xach: Josh_2: what would the reader macro look like? 2020-01-08T18:04:41Z Bike: e.g. SB-IMPL::READ-QUOTE 2020-01-08T18:04:51Z makomo quit (Quit: WeeChat 2.4) 2020-01-08T18:05:35Z Xach: I liked the idea of a timestamp reader as [2020-01-08 ...] but I don't want that leaking into a general library (like when you load chronicity) 2020-01-08T18:06:03Z Josh_2: Is it a problem to provide these read macros for use at the repl? 2020-01-08T18:06:07Z Bike: doesn't named readtables help with that kind of thing? 2020-01-08T18:06:08Z Xach: I would like it in a specific application that deals a lot with timestamps, and I would want emacs or any editor to know how to deal with it. 2020-01-08T18:06:21Z Bike: (i kind of don't use reader macros much, so i suppose i don't know) 2020-01-08T18:06:28Z Xach: Bike: yes, but i don't think chronicity uses it properly, or maybe something upstream is to blame. 2020-01-08T18:06:35Z Bike: oh, i see. 2020-01-08T18:06:45Z Bike: Josh_2: just make sure it can be turned on and off. 2020-01-08T18:06:54Z Bike: like if nothing else you can have enable-my-syntax disable-my-syntax functions. 2020-01-08T18:06:54Z Xach: What I know is that after loading chronicity it prints and reads timestamps in brackets even though I don't want that by default. 2020-01-08T18:07:05Z Josh_2: Bike: alrighty 2020-01-08T18:07:48Z Xach: I really like having terse syntax in the repl for various things but would rarely put it in application or library code. 2020-01-08T18:07:53Z Bike: off the top of my head, cl-interpol does this. the whole library is about providing some syntax, but it's not enabled until you call enable-interpol-syntax. 2020-01-08T18:07:59Z william1_ quit (Ping timeout: 268 seconds) 2020-01-08T18:08:04Z Bike: so that avoid what xach is talking about, i think. 2020-01-08T18:08:47Z Xach: I use (defun :go (&optional (thing *)) (run-program "/usr/bin/open" thing)) to open pathnames in the repl with (:go) but would never have that in source code. 2020-01-08T18:12:18Z shifty quit (Ping timeout: 268 seconds) 2020-01-08T18:13:23Z gxt quit (Ping timeout: 240 seconds) 2020-01-08T18:16:12Z oni-on-ion joined #lisp 2020-01-08T18:18:43Z moon-child quit (Quit: ZNC 1.7.4 - https://znc.in) 2020-01-08T18:21:22Z amerlyq quit (Quit: amerlyq) 2020-01-08T18:25:10Z slyrus joined #lisp 2020-01-08T18:25:16Z v88m quit (Remote host closed the connection) 2020-01-08T18:27:03Z brown121408 quit (Read error: Connection reset by peer) 2020-01-08T18:27:18Z brown121408 joined #lisp 2020-01-08T18:28:10Z ebrasca joined #lisp 2020-01-08T18:30:05Z flamebeard quit 2020-01-08T18:33:35Z cosimone joined #lisp 2020-01-08T18:34:29Z moon-child joined #lisp 2020-01-08T18:37:05Z pjb: and add: (define-symbol-macro .go (:go)) 2020-01-08T18:38:40Z g0d_shatter quit (Quit: Leaving) 2020-01-08T18:39:30Z nowhere_man joined #lisp 2020-01-08T18:43:23Z cosimone quit (Quit: Terminated!) 2020-01-08T18:44:10Z frgo quit (Remote host closed the connection) 2020-01-08T18:48:20Z defaultxr quit (Quit: WeeChat 2.7) 2020-01-08T18:49:44Z milanj quit (Quit: This computer has gone to sleep) 2020-01-08T18:50:27Z hiroaki joined #lisp 2020-01-08T18:50:43Z phoe: functions named by keywords were AFAIK meant to be utilized by end-users 2020-01-08T18:50:52Z phoe: like, that's the area where you can define your handy shortcuts 2020-01-08T18:51:14Z phoe: so it is unwise for programmers to write their programs in a way that clobbers that space 2020-01-08T18:51:30Z cosimone joined #lisp 2020-01-08T18:51:49Z phoe: so the standard doesn't prohibit (defun :foo ...) but coding conventions generally do 2020-01-08T18:51:49Z oni-on-ion: whoa. (defun :some-stuff () ..) ? 2020-01-08T18:51:52Z phoe: yes 2020-01-08T18:51:58Z phoe: (:foo) is very handy because it's available *everywhere* 2020-01-08T18:52:00Z oni-on-ion: interesting =) 2020-01-08T18:52:15Z phoe: since the keyword package is available everywhere, thanks to the property of the Lisp reader 2020-01-08T18:53:00Z phoe: Xach: chronicity should be updated to use a named readtable 2020-01-08T18:53:26Z phoe: in my code that I am currently writing, I use [2p] to refer to a mahjong tile, 2 of pinzu (circles) 2020-01-08T18:53:48Z phoe: and a named readtable is very handy for the purpose of not leaking #\[ #\] macros outside 2020-01-08T18:54:32Z phoe: in my library [2p] actually constructs a standard instance that also prints as [2p], so print-read consistency is there as long as the readtable is the same 2020-01-08T18:55:33Z phoe: but that's a standard and maybe obvious way of working with objects that have their own reader macros - to have their printed representations use the same reader macros that are used to read them 2020-01-08T18:55:56Z phoe: not unlike local-time timestamps that use #\@ for @2020-... 2020-01-08T18:56:09Z LdBeth: phoe: doing you play Richii Mahjong 2020-01-08T18:56:37Z oni-on-ion: ohh nice, phoe =) 2020-01-08T18:56:47Z phoe: LdBeth: yes, a riichi mahjong player here 2020-01-08T18:56:55Z oni-on-ion: i am used to it from long ago. called "serialization" i think 2020-01-08T18:57:04Z phoe: that's "kinda-like" serialization 2020-01-08T18:57:13Z phoe: except the object is printed readably 2020-01-08T18:57:16Z oni-on-ion: when print form and read form are ... back and forthy. brain 2020-01-08T18:57:25Z phoe: being printed readably is the proper term I think 2020-01-08T18:57:37Z phoe: LdBeth: I'm working on a hand evaluator in Lisp, you can track the progress at https://github.com/phoe/riichi-evaluator/ if you wanna 2020-01-08T18:57:49Z oni-on-ion: it was called serialization in my head. there is much better term 2020-01-08T18:57:50Z phoe: the readme doesn't exist but the code should be good enough to read 2020-01-08T18:59:29Z phoe: but the tests exist - so if you are fluent with mahjong terms, you can read and see what's going on in there. 2020-01-08T19:00:45Z oni-on-ion: just curious, how come mahjong? 2020-01-08T19:01:46Z phoe: if this was #lispcafe I'd tell you it's a complex but amazing four-player game 2020-01-08T19:01:49Z phoe: but sadly, it's #lisp 2020-01-08T19:02:07Z jebes joined #lisp 2020-01-08T19:02:36Z oni-on-ion: its a satisfying answer. ty =) i had thought of doing some trading card games in lisp. 2020-01-08T19:05:02Z LdBeth: phoe: I see you write two Tenhou there https://github.com/phoe/riichi-evaluator/blob/576ec7d69c164a38f68082d67022f8590cd9390f/src/yaku.lisp#L169 I suppose one of them should meant to be Renhou 2020-01-08T19:05:15Z oni-on-ion: https://twitter.com/rainerjoswig/status/1213484071952752640 2020-01-08T19:05:57Z LdBeth: But I’m a little surprised that Open Richii is included ;) 2020-01-08T19:06:59Z Xach: phoe: lispworks prohibits functions named by keywords 2020-01-08T19:08:54Z sjl: Josh_2: Let Over Lambda has a section or two on reader macros, if I remember correctly. Just take that book with a hearty grain of salt. 2020-01-08T19:08:58Z orivej joined #lisp 2020-01-08T19:10:48Z grabarz joined #lisp 2020-01-08T19:12:45Z Josh_2: sjl: what do you mean? 2020-01-08T19:13:24Z sjl: that book has a lot of very strong opinions that not all lisp folks share. So if the author says something that seems crazy, don't just take it as gospel. 2020-01-08T19:15:23Z vivit quit (Ping timeout: 260 seconds) 2020-01-08T19:16:18Z jebes: LoL is great way showing why the use of lisp can be super risky too 2020-01-08T19:16:21Z Josh_2: oh right 2020-01-08T19:16:37Z jebes: Get a jr dev writing reader macros and you're going to have some fun 2020-01-08T19:16:46Z Josh_2: I have a physical copy of it, but I've never read it 2020-01-08T19:17:01Z jebes: i have a physical copy that i read 80% of 2020-01-08T19:17:10Z jebes: will revist... e v e n t u a l l y 2020-01-08T19:17:20Z vlatkoB quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) 2020-01-08T19:19:12Z Josh_2: That's most of it :D 2020-01-08T19:20:40Z phoe: LdBeth: thanks, I'll correct it 2020-01-08T19:21:08Z karlosz joined #lisp 2020-01-08T19:21:51Z phoe: Xach: woah. well, okay. 2020-01-08T19:22:05Z Xach: phoe: i think there's a restart that defines it anyway 2020-01-08T19:22:47Z jeosol quit (Ping timeout: 260 seconds) 2020-01-08T19:22:48Z phoe: ooh, well, a cerror is not *exactly* prohibiting it 2020-01-08T19:22:50Z Xach: phoe: those kinds of errors make me wonder what bug they hit that prompted them to make it an error, or if they just thought about it from first principles, or what 2020-01-08T19:23:13Z Xach: like some important customer, or themselves, had a stray :foo when they meant foo and it screwed up something for days. 2020-01-08T19:23:22Z phoe: more like a massive warning 2020-01-08T19:23:31Z phoe: yep, sounds like it 2020-01-08T19:23:34Z Xach: (define-condition massive-warning (warning) ...) 2020-01-08T19:23:43Z phoe: ... 2020-01-08T19:23:46Z phoe: well 2020-01-08T19:24:19Z phoe: (cerror "yolo" 'massive-warning ...) 2020-01-08T19:26:59Z klltkr quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-08T19:28:46Z brass quit (Ping timeout: 268 seconds) 2020-01-08T19:31:30Z william1_ joined #lisp 2020-01-08T19:31:53Z efm quit (Quit: Konversation terminated!) 2020-01-08T19:32:11Z ebrasca quit (Remote host closed the connection) 2020-01-08T19:32:32Z brass joined #lisp 2020-01-08T19:34:13Z brettgilio joined #lisp 2020-01-08T19:36:45Z rwcom9 joined #lisp 2020-01-08T19:36:47Z varjag quit (Remote host closed the connection) 2020-01-08T19:36:47Z william1_ quit (Ping timeout: 268 seconds) 2020-01-08T19:38:40Z rwcom quit (Ping timeout: 265 seconds) 2020-01-08T19:38:40Z rwcom9 is now known as rwcom 2020-01-08T19:38:45Z cosimone quit (Quit: Quit.) 2020-01-08T19:39:02Z jebes quit (Ping timeout: 260 seconds) 2020-01-08T19:48:47Z vivit joined #lisp 2020-01-08T19:49:00Z milanj joined #lisp 2020-01-08T19:56:13Z nowhere_man quit (Ping timeout: 260 seconds) 2020-01-08T19:56:17Z vivit quit (Ping timeout: 258 seconds) 2020-01-08T20:03:27Z cosimone joined #lisp 2020-01-08T20:12:49Z cosimone quit (Quit: Quit.) 2020-01-08T20:15:19Z Harag quit (Remote host closed the connection) 2020-01-08T20:16:50Z Harag joined #lisp 2020-01-08T20:19:57Z ft quit (Ping timeout: 268 seconds) 2020-01-08T20:20:59Z varjag joined #lisp 2020-01-08T20:22:06Z copec: beach or Bike Why is McCLIM based on 2 rather then 3? 2020-01-08T20:22:37Z Bike: i'm not the person to ask about mcclim, sorry. 2020-01-08T20:23:02Z brettgilio quit (Ping timeout: 268 seconds) 2020-01-08T20:23:20Z copec: sorry to bother you Bike 2020-01-08T20:24:28Z scymtym: copec: best ask in #clim 2020-01-08T20:25:59Z ft joined #lisp 2020-01-08T20:28:38Z hjudt quit (Ping timeout: 245 seconds) 2020-01-08T20:28:39Z pfdietz: I found use of reader macros interferes with SBCL's coverage reporter. 2020-01-08T20:28:50Z tazjin: question about save-lisp-and-die in SBCL, the docs say: "Foreign objects loaded with sb-alien:load-shared-object are automatically reloaded on startup" 2020-01-08T20:29:03Z tazjin: how is this implemented? Does it keep the exact path from which the object was loaded? 2020-01-08T20:29:27Z dlowe: yeah, that's kind of the problem with reader macros - they work great with CL but almost nothing that operates on code 2020-01-08T20:29:30Z tazjin: (I'm writing a CL build system in Nix and need the dumped image to contain references to the Nix store paths for linked objects) 2020-01-08T20:29:48Z hjudt joined #lisp 2020-01-08T20:31:00Z scymtym quit (Ping timeout: 248 seconds) 2020-01-08T20:33:25Z Xach: tazjin: yes. but you can clobber them before saving - i don't think is supported explicitly, but it works. 2020-01-08T20:33:46Z tazjin: Xach: having the exact paths is actually exactly what I want :) thanks! 2020-01-08T20:34:05Z Xach: tazjin: ok. see sb-sys:*shared-objects* to peek at what it's saving 2020-01-08T20:34:17Z tazjin: excellent, thank you! 2020-01-08T20:35:22Z femi quit (Ping timeout: 268 seconds) 2020-01-08T20:35:30Z Lycurgus joined #lisp 2020-01-08T20:36:33Z Bike: there's also a :dont-save parameter to load-shared-object, it looks like, so you could do that and then in your initialization function load them explicitly from wherever you please, I think? 2020-01-08T20:37:40Z tazjin: what's happening here is that Nix, after completing a build, scans the build output for references to the store paths (which are basically directories under /nix/store/-name) to track the runtime dependencies of the output 2020-01-08T20:38:56Z Bike: huh. 2020-01-08T20:39:15Z tazjin: for example, in my current system the path to the openssl I use is `/nix/store/pph1k412q5h8q20r10vmmnffwnh57bs1-openssl-1.1.1d/lib/libssl.so` 2020-01-08T20:39:34Z tazjin: if any of these paths are found by Nix in the build output, it knows that I have a runtime dependency on the "package" that produced that path 2020-01-08T20:39:43Z Bike: i dunno if they'll show up under ldd or anything... 2020-01-08T20:40:18Z tazjin: they don't need to, it basically string searches through all outputs (including binaries) 2020-01-08T20:41:04Z Bike: ah. 2020-01-08T20:41:44Z femi joined #lisp 2020-01-08T20:41:45Z Xach: sbcl strings aren't c strings 2020-01-08T20:42:53Z Bike: really? i thought they were 2020-01-08T20:43:09Z Bike: i mean, in that they have a null terminator, anyway 2020-01-08T20:43:27Z jackdaniel: unicode yada yada. maybe base-strings are more like c arrays of characters 2020-01-08T20:45:02Z frgo joined #lisp 2020-01-08T20:45:07Z Xach: Bike: I don't think that's the case. I'll confirm. 2020-01-08T20:45:14Z ft quit (Ping timeout: 268 seconds) 2020-01-08T20:45:36Z ft joined #lisp 2020-01-08T20:46:20Z tazjin: it works as expected here: https://gist.github.com/tazjin/798e0e3389b9e4cffcebeb7983d2ad3c 2020-01-08T20:47:14Z gravicappa quit (Ping timeout: 240 seconds) 2020-01-08T20:47:36Z Xach: thank goodness 2020-01-08T20:48:20Z White_Flame: as strings are arrays, why would they bother with zero-termination? 2020-01-08T20:48:46Z tazjin: wondering if I can drop the runtime dependency on SBCL that's in there 🤔 2020-01-08T20:49:21Z Bike: White_Flame: so that you can pass strings to alien routines without having to cons up a new one 2020-01-08T20:49:53Z frgo quit (Ping timeout: 260 seconds) 2020-01-08T20:50:28Z dmiles quit (Ping timeout: 260 seconds) 2020-01-08T20:50:32Z jackdaniel: when gc is a moving one such string should be pinned in a memory in that case, no? 2020-01-08T20:50:50Z White_Flame: but SBCL strings by default aren't base-strings 2020-01-08T20:51:15Z White_Flame: so there's still hoops to be jumped through 2020-01-08T20:52:20Z Bike: https://github.com/sbcl/sbcl/blob/master/src/compiler/generic/vm-array.lisp#L65-L78 2020-01-08T20:52:48Z dmiles joined #lisp 2020-01-08T20:53:21Z jackdaniel: I like the initial element of (array nil) :) 2020-01-08T20:54:02Z White_Flame: ok so yeah, not all strings are zero-terminated, it just allows that for simple-base-string which makes sense 2020-01-08T20:54:26Z narimiran quit (Ping timeout: 240 seconds) 2020-01-08T20:54:51Z Bike: well, character has an n-pad-elements 1 as well, with unicode 2020-01-08T20:55:05Z Bike: not sure what's going on with that honestly, obviously it's not going to work as a c string directly 2020-01-08T20:55:06Z ft quit (Ping timeout: 268 seconds) 2020-01-08T20:56:03Z cartwright quit (Ping timeout: 240 seconds) 2020-01-08T20:56:12Z ft joined #lisp 2020-01-08T20:57:09Z sjl: http://www.sbcl.org/manual/#Foreign-Type-Specifiers 2020-01-08T20:57:12Z sjl: > Lisp strings of type base-string are stored with a trailing NUL termination, so no copying (either by the user or the implementation) is necessary when passing them to foreign code, assuming that the external-format and element-type of the c-string type are compatible with the internal representation of the string. 2020-01-08T20:58:13Z White_Flame: sjl: yeah, just wondering why full character strings also get it 2020-01-08T20:59:03Z jackdaniel: if it is a memory which may be casted i.e to uint32_t array, then some unique element at the end could be useful in foreign word 2020-01-08T20:59:07Z Kundry_Wag quit (Remote host closed the connection) 2020-01-08T20:59:16Z sjl: Yeah not sure. Extra insurance in case it ever gets passed to some C thing accidentally? 2020-01-08T20:59:46Z jackdaniel: not that such canaries are more useful then passing deliberely array size 2020-01-08T21:00:12Z Bike: i feel like practically any utf-32 strings is gonna be full of null bytes, though 2020-01-08T21:00:24Z Kundry_Wag joined #lisp 2020-01-08T21:00:42Z Bike: the high byte of each character is null, right? 2020-01-08T21:03:58Z grabarz quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-08T21:05:35Z Xach: so full 2020-01-08T21:05:35Z Lycurgus quit (Remote host closed the connection) 2020-01-08T21:05:39Z Xach: that was my thinking 2020-01-08T21:07:03Z cartwright joined #lisp 2020-01-08T21:20:15Z pfdietz: SBCL (simple-array character (*)) strings store the characters without the extra stuff needed for immediate character values, so when accessing a character there's are two additional instructions (shift, or). Storing the characters in a simple-vector doesn't need that. 2020-01-08T21:26:47Z nirved: it would have been interesting to have package-local-readtable 2020-01-08T21:27:54Z cosimone joined #lisp 2020-01-08T21:28:21Z Xach: nirved: *readtable* is bound around LOAD 2020-01-08T21:28:33Z Xach: nirved: so the pieces are more there than for other things you might wish to be local 2020-01-08T21:29:55Z Bike: pfdietz: same as for any specialized array, no? but for fixnums you can skip the OR, and if you know what you're doing you can avoid needing the box 2020-01-08T21:30:55Z scymtym joined #lisp 2020-01-08T21:44:46Z rwcom quit (Ping timeout: 258 seconds) 2020-01-08T21:46:04Z rwcom joined #lisp 2020-01-08T21:50:08Z drmeister: Xach: When I use (load "~/quicklisp/setup.lisp") does quicklisp build itself using ASDF right away? Or does it have its own compilation code before it starts ASDF? 2020-01-08T21:50:33Z drmeister: I'm asking because I created a new fasl format in clasp that consists of concatenated .o files in one binary file. 2020-01-08T21:51:23Z drmeister: I feed the object file data within this new fasl file into our JIT one after the other and they get linked/relocated and made executable. 2020-01-08T21:51:41Z drmeister: I'm trying to get this new fasl file working with ASDF and quicklisp. 2020-01-08T21:52:24Z jackdaniel: drmeister: quicklisp is loaded from quicklisp/quicklisp/quicklisp.asd via asdf:load-op 2020-01-08T21:52:43Z Xach: drmeister: setup.lisp does a little bit of work, like trying to load asdf, but then loads itself via asdf 2020-01-08T21:54:26Z drmeister: Ah - so it does load itself via asdf - thank you. 2020-01-08T21:55:40Z drmeister: So I need to make asdf work with this new fasl format. The rabbit hole goes deeper. 2020-01-08T21:57:22Z drmeister: Now - how do I modify ASDF to generate fasl files. 2020-01-08T21:57:44Z drmeister: Are there Common Lisp implementations that only generate fasl files? 2020-01-08T21:58:02Z bitmapper quit (Remote host closed the connection) 2020-01-08T21:59:18Z slyrus_ joined #lisp 2020-01-08T22:00:17Z nekosagan quit (Ping timeout: 265 seconds) 2020-01-08T22:01:29Z mister_m quit (Remote host closed the connection) 2020-01-08T22:01:53Z slyrus quit (Ping timeout: 268 seconds) 2020-01-08T22:02:19Z Xach: drmeister: what else would they generate? 2020-01-08T22:02:55Z White_Flame: images, but aren't those basically fasls as well? 2020-01-08T22:03:02Z Xach: White_Flame: no 2020-01-08T22:03:07Z bitmapper joined #lisp 2020-01-08T22:03:26Z Xach: White_Flame: at least on sbcl, fasls include a small bytecode system that controls how its data is loaded. 2020-01-08T22:03:27Z drmeister: jackdaniel Was just explaining to me how ECL works with ASDF to generate .o files that are bundled into .fas/.fasb files I inherited that behavior in Clasp but never really paid attention to it. 2020-01-08T22:03:59Z drmeister: In implementations that don't generate .o files - jackdaniel says the only way to create a bundle is to concatenate source code. 2020-01-08T22:03:59Z Xach: White_Flame: images are mapped wholesale into the address space 2020-01-08T22:04:21Z rpg_ joined #lisp 2020-01-08T22:04:26Z White_Flame: ok 2020-01-08T22:04:32Z phoe: I know that CCL has a way of concatenating its FASL files 2020-01-08T22:04:41Z phoe: like, without concatenating mincomped source code 2020-01-08T22:05:09Z drmeister: I can combine our new faso (FASt Object list files) into larger ones. Maybe I'll just use that. 2020-01-08T22:05:33Z drmeister: I'll have compile-file generate .faso files and have the bundle function concatentate .faso files together into larger ones. 2020-01-08T22:06:14Z phoe: a CCL FASL file is just a series of "commands" and serialized data that are executed in some order - they may be DEFUNs, they may be lists/conses/strings/vectors et cetera 2020-01-08T22:06:19Z doublex_ joined #lisp 2020-01-08T22:06:58Z phoe: so it isn't hard to recompose these - one just opens two files, concatenates their command streams, recomputes offsets and size and other metadata based on that and dumps to file again 2020-01-08T22:07:20Z phoe: > Are there Common Lisp implementations that only generate fasl files? 2020-01-08T22:07:32Z phoe: drmeister: I don't understand, CCL seems to do exactly this 2020-01-08T22:07:43Z White_Flame: maybe ones that compile but don't execute them? ;) 2020-01-08T22:07:45Z phoe: other than dumping cores and such, but that's probably not what you are describing 2020-01-08T22:08:04Z phoe: White_Flame: CCL is able to compile-file and dump a FASL just fine though 2020-01-08T22:08:22Z drmeister: phoe: That is helpful. What is it exactly that CCL does? 2020-01-08T22:08:35Z drmeister: Oh wait - sorry - I read from the bottom up. 2020-01-08T22:08:38Z phoe: drmeister: uhh. What kind of detail---- 2020-01-08T22:08:44Z phoe: Oh, well, one second 2020-01-08T22:09:20Z drmeister: I can replicate what CCL does with these new faso files. 2020-01-08T22:09:22Z phoe: a CCL FASL file is composed of the following operations/datums. 2020-01-08T22:09:23Z phoe: https://github.com/phoe-trash/ccl/blob/master/xdump/faslenv.lisp#L56 2020-01-08T22:09:43Z phoe: That's some code I refactored and cleaned up - the upstream CCL has this much more messy and with redundant and no longer used faslcodes. 2020-01-08T22:10:10Z xuxuru joined #lisp 2020-01-08T22:10:24Z Kundry_Wag quit (Remote host closed the connection) 2020-01-08T22:10:50Z Kundry_Wag joined #lisp 2020-01-08T22:10:54Z phoe: GVECTOR and IVECTOR are internal vector types that are backing storage for things like structs and standard instances. 2020-01-08T22:11:34Z phoe: VETAB-ALLOC and VEREF is, to the best of my knowledge, the equivalent of #1= and #1# references that work across a FASL file. 2020-01-08T22:13:54Z phoe: ;; hey, look, my digging into depths of CCL seems to have paid off somehow 2020-01-08T22:14:04Z Kundry_Wag quit (Read error: Connection reset by peer) 2020-01-08T22:14:08Z phoe: ;; I'm sorta surprised it did 2020-01-08T22:14:09Z Kundry_W_ joined #lisp 2020-01-08T22:14:39Z phoe: doesn't SBCL do a similar thing though? it seems to only dump FASL files and no other objects 2020-01-08T22:14:52Z Bike: i think so. 2020-01-08T22:15:05Z Bike: there are also CFASLs but those aren't really the same kind of thing anyway, as far as I understand 2020-01-08T22:15:58Z anewuser joined #lisp 2020-01-08T22:16:24Z White_Flame: I haven't seen "cfasl" outside of cyc. 2020-01-08T22:17:15Z White_Flame: what's the distinction? 2020-01-08T22:18:41Z phoe: it seems that fasl contains load-time side effects where cfasl contains compile-time side effects 2020-01-08T22:18:58Z phoe: and I'm likely incorrect, but that's what I found by skimming google results 2020-01-08T22:19:13Z White_Flame: yeah, from this scheme page? https://axisofeval.blogspot.com/2010/07/whats-phase-separation-and-when-do-you.html 2020-01-08T22:19:16Z Bike: well, that's what i remember. i haven't used them or anything though. 2020-01-08T22:19:22Z phoe: like, if there is a compile-time side effect, then this should be emitted out into a fasl 2020-01-08T22:19:36Z phoe: since :compile-toplevel stuff doesn't make it into a fasl since it isn't meant to make it there 2020-01-08T22:19:52Z phoe: I mean, (eval-when (:compile-toplevel) ...) 2020-01-08T22:19:54Z Bike: also in the docstring. 2020-01-08T22:20:03Z White_Flame: and it doesn't seem like compile-time side effects, but compile time things to run, even in sexpr format 2020-01-08T22:20:57Z White_Flame: "The FASL contains the runtime expressions of the Lisp file, and the CFASL contains the compile-time expressions of the Lisp file", where the former is binary stuff 2020-01-08T22:21:13Z Bike: what is the distinction between "compile-time side effects" and "compile time things to run"? those sound the same to me. 2020-01-08T22:21:29Z White_Flame hasn't gotten into actual cyc cfasl encoding/decoding yet 2020-01-08T22:21:46Z White_Flame: the expressions themselves, vs the output of running those expressions 2020-01-08T22:21:52Z xuxuru quit (Quit: xuxuru) 2020-01-08T22:22:11Z Bike: most of them don't even have outputs. i think you might be overthinking this. 2020-01-08T22:22:29Z White_Flame: eg, the page claims that a (defmacro ...) form will exist unevaluated in the cfasl, such that when loaded, the macro will then expand 2020-01-08T22:22:43Z phoe: yes, because defmacro has compile-time side effects 2020-01-08T22:22:57Z Bike: the compile-file docstring in sbcl also briefly describes it 2020-01-08T22:23:14Z rumpelszn quit (Quit: ZNC 1.6.6+deb1ubuntu0.2 - http://znc.in) 2020-01-08T22:23:14Z Bike: "outputs the toplevel compile-time effects of this file" 2020-01-08T22:23:15Z phoe: when you define a macro in a file, it affects the compiler environment because it is made available to be recognized in the next forms in the file 2020-01-08T22:23:22Z Bike: but anyway, that's nothing much to do with the original question 2020-01-08T22:23:49Z phoe: for (defmacro foo () ...) (foo) to work properly, DEFMACRO FOO *must* have compile-time effects 2020-01-08T22:23:53Z White_Flame: yeah, but "what's a cfasl?" is certainly another question of merit ;) 2020-01-08T22:24:09Z White_Flame: phoe: right, but the effects aren't recorded in the cfasl 2020-01-08T22:24:22Z phoe: White_Flame: the side effects aren't - the forms that cause these side effects are. 2020-01-08T22:24:26Z nowhere_man joined #lisp 2020-01-08T22:24:32Z phoe: so you were correct that DEFMACRO gets its unevaluated form in there. 2020-01-08T22:24:40Z phoe: or, rather 2020-01-08T22:24:49Z Bike: i mean, you could still compile it. 2020-01-08T22:24:57Z phoe: when you load a CFASL, effects are as if you compiled a file into a FASL 2020-01-08T22:25:28Z phoe: because all compile-time effects become, uh, effective 2020-01-08T22:25:30Z phoe: that's how I understand it 2020-01-08T22:25:44Z White_Flame: I don't think I posted it here yet, but I will run into cfasl support with this: https://github.com/white-flame/clyc 2020-01-08T22:25:53Z vivit joined #lisp 2020-01-08T22:25:55Z White_Flame: porting Cyc to common lisp 2020-01-08T22:26:12Z rumpelszn joined #lisp 2020-01-08T22:28:24Z Khisanth quit (Ping timeout: 268 seconds) 2020-01-08T22:29:58Z johnjay quit (Remote host closed the connection) 2020-01-08T22:35:00Z turona_ joined #lisp 2020-01-08T22:35:18Z turona quit (Ping timeout: 252 seconds) 2020-01-08T22:36:29Z atgreen quit (Remote host closed the connection) 2020-01-08T22:38:21Z Lord_Nightmare quit (Quit: ZNC - http://znc.in) 2020-01-08T22:38:42Z johnjay joined #lisp 2020-01-08T22:40:51Z Khisanth joined #lisp 2020-01-08T22:42:26Z turona_ quit (Ping timeout: 240 seconds) 2020-01-08T22:42:37Z Lord_Nightmare joined #lisp 2020-01-08T22:43:53Z cosimone quit (Quit: Quit.) 2020-01-08T22:46:13Z Bike quit (Quit: Bike) 2020-01-08T22:48:19Z cosimone joined #lisp 2020-01-08T22:49:11Z cyraxjoe quit (Ping timeout: 268 seconds) 2020-01-08T22:49:14Z MightyJoe joined #lisp 2020-01-08T22:54:32Z random-nick quit (Ping timeout: 258 seconds) 2020-01-08T22:56:55Z varjag quit (Quit: ERC (IRC client for Emacs 26.1)) 2020-01-08T22:58:24Z drewc quit (Ping timeout: 252 seconds) 2020-01-08T22:59:57Z papachan joined #lisp 2020-01-08T23:02:24Z nowhere_man quit (Ping timeout: 246 seconds) 2020-01-08T23:02:25Z nowhereman joined #lisp 2020-01-08T23:03:01Z wxie joined #lisp 2020-01-08T23:05:33Z drewc joined #lisp 2020-01-08T23:05:35Z LiamH quit (Quit: Leaving.) 2020-01-08T23:14:28Z vivit quit (Ping timeout: 268 seconds) 2020-01-08T23:18:22Z Kundry_W_ quit (Remote host closed the connection) 2020-01-08T23:25:35Z Bike joined #lisp 2020-01-08T23:30:29Z Kundry_Wag joined #lisp 2020-01-08T23:33:10Z vivit joined #lisp 2020-01-08T23:35:10Z Kundry_Wag quit (Ping timeout: 258 seconds) 2020-01-08T23:51:40Z pfdietz quit (Remote host closed the connection) 2020-01-08T23:52:27Z noobineer1 quit (Read error: Connection reset by peer) 2020-01-08T23:53:38Z wxie quit (Ping timeout: 240 seconds) 2020-01-09T00:00:10Z gxt joined #lisp 2020-01-09T00:02:52Z karlosz quit (Quit: karlosz) 2020-01-09T00:04:19Z jeosol joined #lisp 2020-01-09T00:04:28Z cosimone quit (Ping timeout: 245 seconds) 2020-01-09T00:21:27Z lucasb quit (Quit: Connection closed for inactivity) 2020-01-09T00:28:27Z Khisanth quit (Ping timeout: 258 seconds) 2020-01-09T00:30:24Z smazga quit (Quit: leaving) 2020-01-09T00:30:28Z oni-on-ion quit (Ping timeout: 248 seconds) 2020-01-09T00:34:59Z jeosol quit (Ping timeout: 260 seconds) 2020-01-09T00:35:01Z karlosz joined #lisp 2020-01-09T00:38:25Z ebzzry quit (Ping timeout: 258 seconds) 2020-01-09T00:45:11Z oni-on-ion joined #lisp 2020-01-09T00:45:13Z akoana joined #lisp 2020-01-09T00:45:19Z ArthurStrong joined #lisp 2020-01-09T00:46:15Z akoana left #lisp 2020-01-09T00:46:54Z akoana joined #lisp 2020-01-09T00:48:10Z vivit quit (Quit: WeeChat 1.9.1) 2020-01-09T00:49:00Z brettgilio joined #lisp 2020-01-09T00:52:59Z clothespin quit 2020-01-09T00:55:52Z Khisanth joined #lisp 2020-01-09T01:05:39Z anewuser quit (Ping timeout: 268 seconds) 2020-01-09T01:26:02Z ArthurStrong quit (Ping timeout: 240 seconds) 2020-01-09T01:28:07Z ArthurStrong joined #lisp 2020-01-09T01:33:06Z shifty joined #lisp 2020-01-09T01:42:02Z _whitelogger quit (Remote host closed the connection) 2020-01-09T01:44:16Z _whitelogger joined #lisp 2020-01-09T01:50:41Z mister_m joined #lisp 2020-01-09T01:52:09Z mister_m: Hello! does with-open-file raise an error when the :direction is set to :output and the file I am writing to already exists? Is that the default behavior? 2020-01-09T01:54:08Z Bike: "The default is :new-version if the version component of filespec is :newest, or :error otherwise." from CLHS open, for the if-exists parameter which determines the behavior 2020-01-09T01:56:40Z mister_m: Bike: wonderful, thank you! 2020-01-09T02:00:29Z MonoBobo joined #lisp 2020-01-09T02:01:08Z tazjin: Xach: hm, update on earlier - it seems that if foreign libraries are loaded via the cffi utilities the paths are not absolute anymore in a dumped image 2020-01-09T02:01:33Z tazjin investigates who is throwing his beautiful paths away 2020-01-09T02:04:51Z bitmapper quit (Ping timeout: 268 seconds) 2020-01-09T02:05:16Z milanj quit (Quit: This computer has gone to sleep) 2020-01-09T02:05:22Z sjl quit (Quit: WeeChat 2.3-dev) 2020-01-09T02:10:13Z Kundry_Wag joined #lisp 2020-01-09T02:10:47Z xkapastel joined #lisp 2020-01-09T02:12:24Z Kundry_Wag_ joined #lisp 2020-01-09T02:14:09Z rpg_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-09T02:14:48Z Kundry_Wag quit (Ping timeout: 260 seconds) 2020-01-09T02:18:58Z jonatack quit (Ping timeout: 252 seconds) 2020-01-09T02:21:40Z atgreen joined #lisp 2020-01-09T02:22:25Z ArthurStrong quit (Read error: Connection reset by peer) 2020-01-09T02:23:48Z papachan quit (Quit: Leaving) 2020-01-09T02:27:09Z ArthurStrong joined #lisp 2020-01-09T02:39:25Z holycow joined #lisp 2020-01-09T02:41:46Z akoana left #lisp 2020-01-09T02:42:58Z gxt quit (Quit: WeeChat 2.7) 2020-01-09T02:52:44Z Kundry_Wag_ quit (Remote host closed the connection) 2020-01-09T02:53:13Z Kundry_Wag joined #lisp 2020-01-09T02:57:57Z Kundry_Wag quit (Ping timeout: 258 seconds) 2020-01-09T03:07:04Z Lord_of_Life_ joined #lisp 2020-01-09T03:07:14Z Lord_of_Life quit (Ping timeout: 240 seconds) 2020-01-09T03:08:24Z Lord_of_Life_ is now known as Lord_of_Life 2020-01-09T03:19:15Z ramenbytes joined #lisp 2020-01-09T03:19:58Z cartwright quit (Remote host closed the connection) 2020-01-09T03:21:50Z cartwright joined #lisp 2020-01-09T03:22:47Z ArthurStrong quit (Read error: Connection reset by peer) 2020-01-09T03:27:03Z ramenbytes left #lisp 2020-01-09T03:27:11Z ArthurStrong joined #lisp 2020-01-09T03:36:32Z Codaraxis joined #lisp 2020-01-09T03:55:46Z quazimodo joined #lisp 2020-01-09T03:56:36Z Lycurgus joined #lisp 2020-01-09T04:01:33Z rwcom quit (Ping timeout: 260 seconds) 2020-01-09T04:02:51Z ramenbytes joined #lisp 2020-01-09T04:04:32Z rpg joined #lisp 2020-01-09T04:06:17Z gioyik joined #lisp 2020-01-09T04:06:18Z rwcom joined #lisp 2020-01-09T04:12:26Z amenbytesr joined #lisp 2020-01-09T04:12:55Z amenbytesr quit (Remote host closed the connection) 2020-01-09T04:13:59Z amenbytesr joined #lisp 2020-01-09T04:14:16Z ramenbytes left #lisp 2020-01-09T04:14:56Z amenbytesr quit (Remote host closed the connection) 2020-01-09T04:15:18Z ramenbytes joined #lisp 2020-01-09T04:20:27Z xkapastel quit (Quit: Connection closed for inactivity) 2020-01-09T04:22:49Z ramenbytes quit (Remote host closed the connection) 2020-01-09T04:23:21Z ramenbytes joined #lisp 2020-01-09T04:23:25Z Kundry_Wag joined #lisp 2020-01-09T04:25:21Z ArthurStrong quit (Ping timeout: 258 seconds) 2020-01-09T04:25:34Z ebzzry joined #lisp 2020-01-09T04:27:16Z ArthurStrong joined #lisp 2020-01-09T04:28:21Z Kundry_Wag quit (Ping timeout: 268 seconds) 2020-01-09T04:28:48Z atgreen quit (Remote host closed the connection) 2020-01-09T04:31:31Z ramenbytes quit (Remote host closed the connection) 2020-01-09T04:33:12Z Bike quit (Quit: Lost terminal) 2020-01-09T04:38:04Z Lycurgus quit (Remote host closed the connection) 2020-01-09T04:39:39Z gravicappa joined #lisp 2020-01-09T04:41:55Z nowhere_man joined #lisp 2020-01-09T04:45:18Z nowhereman quit (Ping timeout: 260 seconds) 2020-01-09T04:49:11Z dddddd quit (Remote host closed the connection) 2020-01-09T04:51:02Z Josh_2 quit (Ping timeout: 258 seconds) 2020-01-09T04:51:25Z Kaisyu7 joined #lisp 2020-01-09T04:54:48Z Kaisyu joined #lisp 2020-01-09T04:57:20Z quazimodo quit (Ping timeout: 268 seconds) 2020-01-09T05:05:29Z milanj joined #lisp 2020-01-09T05:11:31Z terpri_ quit (Quit: Leaving) 2020-01-09T05:17:52Z stepnem_ quit (Ping timeout: 268 seconds) 2020-01-09T05:25:42Z ArthurStrong quit (Ping timeout: 268 seconds) 2020-01-09T05:25:57Z oxum quit (Remote host closed the connection) 2020-01-09T05:26:50Z beach: Good morning everyone! 2020-01-09T05:27:21Z ArthurStrong joined #lisp 2020-01-09T05:27:41Z ArthurStrong quit (Client Quit) 2020-01-09T05:35:38Z Intensity quit (Remote host closed the connection) 2020-01-09T05:43:29Z narimiran joined #lisp 2020-01-09T05:46:19Z anewuser joined #lisp 2020-01-09T05:46:21Z dmiles quit 2020-01-09T05:47:14Z oxum joined #lisp 2020-01-09T05:48:48Z Intensity joined #lisp 2020-01-09T05:51:30Z holycow quit (Quit: leaving) 2020-01-09T05:55:53Z X-Scale` joined #lisp 2020-01-09T05:58:34Z X-Scale quit (Ping timeout: 268 seconds) 2020-01-09T05:58:35Z X-Scale` is now known as X-Scale 2020-01-09T05:59:59Z dmiles joined #lisp 2020-01-09T06:01:50Z rwcom4 joined #lisp 2020-01-09T06:03:37Z rwcom quit (Ping timeout: 265 seconds) 2020-01-09T06:03:38Z rwcom4 is now known as rwcom 2020-01-09T06:11:25Z gioyik quit (Quit: WeeChat 2.7) 2020-01-09T06:12:14Z oxum quit (Read error: Connection reset by peer) 2020-01-09T06:12:18Z oxum_ joined #lisp 2020-01-09T06:16:55Z oxum joined #lisp 2020-01-09T06:17:05Z oxum_ quit (Read error: Connection reset by peer) 2020-01-09T06:21:10Z Kundry_Wag joined #lisp 2020-01-09T06:24:11Z dmiles quit (Read error: Connection reset by peer) 2020-01-09T06:25:45Z dmiles joined #lisp 2020-01-09T06:30:32Z jeosol joined #lisp 2020-01-09T06:34:38Z quazimodo joined #lisp 2020-01-09T06:50:19Z loke quit (Remote host closed the connection) 2020-01-09T06:50:48Z loke joined #lisp 2020-01-09T06:52:25Z karlosz quit (Remote host closed the connection) 2020-01-09T06:55:20Z karlosz joined #lisp 2020-01-09T06:55:52Z dale quit (Quit: My computer has gone to sleep) 2020-01-09T06:56:11Z jprajzne joined #lisp 2020-01-09T07:00:03Z quazimodo quit (Ping timeout: 260 seconds) 2020-01-09T07:00:20Z quazimodo joined #lisp 2020-01-09T07:03:08Z JohnMS_WORK joined #lisp 2020-01-09T07:04:15Z vlatkoB joined #lisp 2020-01-09T07:06:55Z karlosz quit (Quit: karlosz) 2020-01-09T07:09:14Z karlosz joined #lisp 2020-01-09T07:09:14Z karlosz quit (Remote host closed the connection) 2020-01-09T07:13:59Z CrazyEddy joined #lisp 2020-01-09T07:22:28Z Kundry_Wag quit (Remote host closed the connection) 2020-01-09T07:27:39Z flamebeard joined #lisp 2020-01-09T07:27:50Z oxum_ joined #lisp 2020-01-09T07:28:09Z oxum quit (Read error: Connection reset by peer) 2020-01-09T07:30:31Z pjb quit (Remote host closed the connection) 2020-01-09T07:34:30Z Kundry_Wag joined #lisp 2020-01-09T07:37:16Z pjb joined #lisp 2020-01-09T07:38:56Z Kundry_Wag quit (Ping timeout: 258 seconds) 2020-01-09T07:39:06Z ebzzry quit (Read error: Connection reset by peer) 2020-01-09T07:41:53Z ebzzry joined #lisp 2020-01-09T07:47:01Z jonatack joined #lisp 2020-01-09T07:48:20Z scymtym quit (Ping timeout: 268 seconds) 2020-01-09T07:53:26Z stepnem joined #lisp 2020-01-09T07:59:21Z frgo joined #lisp 2020-01-09T08:01:32Z frgo_ joined #lisp 2020-01-09T08:01:58Z frgo quit (Read error: Connection reset by peer) 2020-01-09T08:03:24Z fe joined #lisp 2020-01-09T08:05:57Z rwcom3 joined #lisp 2020-01-09T08:06:32Z fe is now known as _fe_ 2020-01-09T08:07:41Z rwcom quit (Ping timeout: 258 seconds) 2020-01-09T08:07:42Z rwcom3 is now known as rwcom 2020-01-09T08:08:02Z _fe_ quit (Quit: _fe_) 2020-01-09T08:08:16Z _fe_ joined #lisp 2020-01-09T08:09:42Z pjb quit (Remote host closed the connection) 2020-01-09T08:11:16Z pjb joined #lisp 2020-01-09T08:12:19Z zclark quit (Remote host closed the connection) 2020-01-09T08:18:52Z nowhere_man quit (Read error: Connection reset by peer) 2020-01-09T08:24:24Z Duuqnd joined #lisp 2020-01-09T08:26:56Z grabarz joined #lisp 2020-01-09T08:28:18Z scymtym joined #lisp 2020-01-09T08:37:00Z Kundry_Wag joined #lisp 2020-01-09T08:39:21Z davepdotorg joined #lisp 2020-01-09T08:41:33Z Kundry_Wag quit (Ping timeout: 260 seconds) 2020-01-09T08:43:46Z anewuser quit (Quit: anewuser) 2020-01-09T08:44:50Z brown121408 quit (Ping timeout: 240 seconds) 2020-01-09T08:45:42Z brown121408 joined #lisp 2020-01-09T08:53:07Z varjag joined #lisp 2020-01-09T08:55:10Z william1 joined #lisp 2020-01-09T08:56:17Z stepnem quit (Quit: ZNC 1.7.2+deb3 - https://znc.in) 2020-01-09T08:58:15Z stepnem joined #lisp 2020-01-09T09:01:21Z william1 quit (Quit: WeeChat 1.9.1) 2020-01-09T09:04:04Z oni-on-ion quit (Ping timeout: 248 seconds) 2020-01-09T09:06:46Z hhdave joined #lisp 2020-01-09T09:08:47Z flamebeard quit (Remote host closed the connection) 2020-01-09T09:09:20Z flamebeard joined #lisp 2020-01-09T09:09:59Z frgo_ quit (Remote host closed the connection) 2020-01-09T09:12:22Z neuro_sys joined #lisp 2020-01-09T09:12:45Z neuro_sys is now known as Guest59640 2020-01-09T09:13:18Z frgo joined #lisp 2020-01-09T09:14:00Z flamebeard quit (Ping timeout: 258 seconds) 2020-01-09T09:15:21Z frgo quit (Remote host closed the connection) 2020-01-09T09:15:39Z frgo joined #lisp 2020-01-09T09:17:09Z amerlyq joined #lisp 2020-01-09T09:20:33Z _paul0 joined #lisp 2020-01-09T09:22:23Z flamebeard joined #lisp 2020-01-09T09:22:57Z paul0 quit (Ping timeout: 246 seconds) 2020-01-09T09:39:14Z lavaflow quit (Ping timeout: 240 seconds) 2020-01-09T09:40:19Z lavaflow joined #lisp 2020-01-09T09:47:29Z Duuqnd_ joined #lisp 2020-01-09T09:48:20Z jonatack quit (Ping timeout: 248 seconds) 2020-01-09T09:50:20Z Duuqnd quit (Ping timeout: 252 seconds) 2020-01-09T09:53:07Z oxum joined #lisp 2020-01-09T09:53:17Z oxum_ quit (Read error: Connection reset by peer) 2020-01-09T09:53:53Z shifty quit (Ping timeout: 260 seconds) 2020-01-09T09:59:17Z imherentlybad joined #lisp 2020-01-09T10:03:03Z Duuqnd_ is now known as Duuqnd 2020-01-09T10:03:38Z william1_ joined #lisp 2020-01-09T10:05:40Z raghavgururajan joined #lisp 2020-01-09T10:06:39Z rwcom5 joined #lisp 2020-01-09T10:07:02Z imherentlybad quit (Quit: WeeChat 2.6) 2020-01-09T10:07:38Z rwcom quit (Ping timeout: 240 seconds) 2020-01-09T10:07:40Z rwcom5 is now known as rwcom 2020-01-09T10:14:11Z thealemazing joined #lisp 2020-01-09T10:16:10Z JohnMS joined #lisp 2020-01-09T10:16:53Z harovali joined #lisp 2020-01-09T10:18:32Z harovali: hi! a while ago I remember to have seen an example or using the break statement with a condition so to break. I can't find the example. Would you help me to learn to use breake with a predicate that has to be met in order to break? 2020-01-09T10:19:18Z JohnMS_WORK quit (Ping timeout: 265 seconds) 2020-01-09T10:19:45Z beach: (when (break)) 2020-01-09T10:20:33Z __vlgvrs joined #lisp 2020-01-09T10:21:50Z xkapastel joined #lisp 2020-01-09T10:22:03Z beach: harovali: With the exception of the forms in a TAGBODY, we don't use the term "statement" in Common Lisp. In the case of BREAK, it is just a function. If you are referring to the call to it, we use the word "form". 2020-01-09T10:22:58Z _paul0 quit (Ping timeout: 252 seconds) 2020-01-09T10:23:08Z jackdaniel: implementation may define some other kind of "break" in the stepper 2020-01-09T10:26:45Z beach: I suppose so. 2020-01-09T10:27:43Z atgreen joined #lisp 2020-01-09T10:31:11Z harovali: yes yes , but there was a way to put the conditional inside the arguments to break f 2020-01-09T10:31:31Z harovali: which would shoose to break on a function call f.i. 2020-01-09T10:31:36Z harovali: choose 2020-01-09T10:31:56Z no-defun-allowed: No, I don't think so. 2020-01-09T10:31:58Z beach: Maybe you are referring to SBCL's TRACE operator. 2020-01-09T10:32:11Z harovali: beach: that's it yes ! 2020-01-09T10:32:25Z beach: harovali: Then look in the SBCL manual. 2020-01-09T10:32:39Z harovali: beach: thanks ! 2020-01-09T10:32:49Z davepdotorg quit (Read error: Connection reset by peer) 2020-01-09T10:32:50Z beach: As I recall, it's just (trace :break t), but that's from (a very bad) memory. 2020-01-09T10:34:05Z harovali: beach: i'm looking it 2020-01-09T10:34:21Z beach: Actually, I think (describe 'break) gives the information. 2020-01-09T10:34:27Z harovali: is there a way to set a breakpoint while stepping? 2020-01-09T10:36:14Z beach: These are all implementation-specific features if they exist. Sadly, the free Common Lisp implementations are lacking in terms of debugging support. 2020-01-09T10:36:57Z beach: Sorry, (describe 'trace) I mean. 2020-01-09T10:38:22Z harovali: beach: thanks for your explanations and comments 2020-01-09T10:38:38Z beach: Sure. Good luck. 2020-01-09T10:40:56Z rtra joined #lisp 2020-01-09T10:42:22Z Kundry_Wag joined #lisp 2020-01-09T10:46:59Z Kundry_Wag quit (Ping timeout: 268 seconds) 2020-01-09T10:47:35Z Duuqnd_ joined #lisp 2020-01-09T10:48:43Z Guest59640 quit (Ping timeout: 260 seconds) 2020-01-09T10:49:28Z Duuqnd quit (Disconnected by services) 2020-01-09T10:49:32Z Duuqnd_ is now known as Duuqnd 2020-01-09T10:53:15Z ebzzry quit (Read error: Connection reset by peer) 2020-01-09T10:57:13Z ebzzry joined #lisp 2020-01-09T10:57:20Z harovali: is there a way to peek a global variable / binding in the stepper? 2020-01-09T10:58:01Z neuro_sys joined #lisp 2020-01-09T10:58:24Z neuro_sys is now known as Guest1416 2020-01-09T10:58:47Z oxum quit (Read error: Connection reset by peer) 2020-01-09T10:58:50Z oxum_ joined #lisp 2020-01-09T10:59:03Z no-defun-allowed: That appears to enter the SBCL debugger, in which you can just evaluate any form. 2020-01-09T11:00:03Z harovali: thanks no-defun-allowed 2020-01-09T11:01:22Z dddddd joined #lisp 2020-01-09T11:01:54Z smokeink joined #lisp 2020-01-09T11:03:36Z frgo quit (Remote host closed the connection) 2020-01-09T11:04:03Z smokeink: https://paste.ofcode.org/MWFyQMMbZYs8DAgWYnUu3a how to enable single stepping in a thread in sbcl? 'step' says I should first 'start' . 'start' will make it continue automatically, without stepping 2020-01-09T11:07:12Z smokeink: https://github.com/slime/slime/blob/master/swank/sbcl.lisp#L1210 slime somehow enables stepping in its threads, but I don't really understand how it does it 2020-01-09T11:12:51Z brown121408 quit (Read error: Connection reset by peer) 2020-01-09T11:13:22Z brown121408 joined #lisp 2020-01-09T11:14:10Z notzmv quit (Remote host closed the connection) 2020-01-09T11:18:12Z thealemazing quit (Ping timeout: 258 seconds) 2020-01-09T11:25:00Z davepdotorg joined #lisp 2020-01-09T11:28:06Z papachan joined #lisp 2020-01-09T11:30:47Z Kundry_Wag joined #lisp 2020-01-09T11:32:31Z jonatack joined #lisp 2020-01-09T11:38:32Z notzmv joined #lisp 2020-01-09T11:41:26Z jonatack quit (Ping timeout: 268 seconds) 2020-01-09T11:42:03Z jonatack joined #lisp 2020-01-09T11:48:09Z harovali: in the CLHS in the description of do & do* it says "declaration---a declare expression; not evaluated". Is that what later it refers as the body of the do ? 2020-01-09T11:52:07Z MonoBobo_ joined #lisp 2020-01-09T11:53:11Z beach: The body would more likely be the {tag | statement}* 2020-01-09T11:53:30Z lieven: harovali: no. they don't give an example but you can add declarations before the body. (do ((i 1 (1+ i)) (> i 10) (declare (type fixnum i)) ...) 2020-01-09T11:55:18Z lieven: generally a form that lets you introduce bindings allows you to attach declarations to them 2020-01-09T11:55:23Z MonoBobo quit (Ping timeout: 258 seconds) 2020-01-09T11:55:52Z shka_ joined #lisp 2020-01-09T11:56:39Z nullniverse joined #lisp 2020-01-09T11:56:48Z nullniverse quit (Changing host) 2020-01-09T11:56:48Z nullniverse joined #lisp 2020-01-09T11:57:29Z milanj quit (Quit: This computer has gone to sleep) 2020-01-09T12:08:21Z rwcom7 joined #lisp 2020-01-09T12:09:20Z marusich joined #lisp 2020-01-09T12:09:55Z marusich quit (Remote host closed the connection) 2020-01-09T12:09:59Z ebzzry quit (Ping timeout: 265 seconds) 2020-01-09T12:12:08Z rwcom quit (Ping timeout: 260 seconds) 2020-01-09T12:12:30Z rwcom joined #lisp 2020-01-09T12:13:56Z frgo joined #lisp 2020-01-09T12:14:47Z rwcom7 quit (Ping timeout: 260 seconds) 2020-01-09T12:18:33Z jprajzne quit (Ping timeout: 260 seconds) 2020-01-09T12:23:28Z jprajzne joined #lisp 2020-01-09T12:24:09Z jprajzne quit (Client Quit) 2020-01-09T12:24:09Z shka_ quit (Quit: Konversation terminated!) 2020-01-09T12:24:34Z jprajzne joined #lisp 2020-01-09T12:24:58Z Guest1416 is now known as neuro_sys 2020-01-09T12:25:07Z neuro_sys quit (Changing host) 2020-01-09T12:25:07Z neuro_sys joined #lisp 2020-01-09T12:26:02Z quazimodo quit (Ping timeout: 240 seconds) 2020-01-09T12:26:21Z quazimodo joined #lisp 2020-01-09T12:28:37Z harovali: so the body is a tagbody? 2020-01-09T12:28:40Z shka_ joined #lisp 2020-01-09T12:29:24Z beach: clhs do 2020-01-09T12:29:24Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/m_do_do.htm 2020-01-09T12:30:04Z raghavgururajan quit (Remote host closed the connection) 2020-01-09T12:30:30Z beach: "The remainder of the do (or do*) form constitutes an implicity tagbody." 2020-01-09T12:31:06Z beach: s/implicity/implicit/ 2020-01-09T12:31:08Z harovali: sure, but they are not explicit about the remainder being the body to iterate over , are they ? 2020-01-09T12:31:24Z m00natic joined #lisp 2020-01-09T12:32:38Z harovali: it would make sens other wise anyway 2020-01-09T12:33:22Z beach: harovali: Well, the {tag | statement}* is the same language used for the Common Lisp HyperSpec entry on TAGBODY, so those must be included in the implicit TAGBODY. Otherwise, you may have a tag outside the TAGBODY. 2020-01-09T12:34:10Z harovali: I got it 2020-01-09T12:34:28Z Kundry_Wag quit (Ping timeout: 268 seconds) 2020-01-09T12:35:12Z newber2020 joined #lisp 2020-01-09T12:35:21Z harovali quit (Remote host closed the connection) 2020-01-09T12:37:00Z milanj joined #lisp 2020-01-09T12:43:27Z shifty joined #lisp 2020-01-09T12:47:34Z rwcom2 joined #lisp 2020-01-09T12:47:52Z amerigo joined #lisp 2020-01-09T12:47:53Z oxum_ quit (Remote host closed the connection) 2020-01-09T12:49:12Z rwcom quit (Ping timeout: 260 seconds) 2020-01-09T12:49:12Z rwcom2 is now known as rwcom 2020-01-09T12:54:50Z cosimone joined #lisp 2020-01-09T12:55:18Z jonatack quit (Ping timeout: 260 seconds) 2020-01-09T13:03:14Z rtra quit (Ping timeout: 258 seconds) 2020-01-09T13:05:22Z jeosol quit (Remote host closed the connection) 2020-01-09T13:06:21Z newber2020 quit (Remote host closed the connection) 2020-01-09T13:10:50Z shifty quit (Ping timeout: 240 seconds) 2020-01-09T13:11:17Z bitmapper joined #lisp 2020-01-09T13:13:38Z Xach: tazjin: what happens? 2020-01-09T13:16:58Z atgreen quit (Ping timeout: 265 seconds) 2020-01-09T13:20:56Z ggole joined #lisp 2020-01-09T13:21:15Z frgo quit (Remote host closed the connection) 2020-01-09T13:28:10Z Kundry_Wag joined #lisp 2020-01-09T13:36:06Z bitmapper quit (Remote host closed the connection) 2020-01-09T13:36:42Z bitmapper joined #lisp 2020-01-09T13:38:38Z Harag quit (Quit: Harag) 2020-01-09T13:39:51Z MonoBobo_ quit (Read error: Connection reset by peer) 2020-01-09T13:40:18Z MonoBobo joined #lisp 2020-01-09T13:40:50Z bitmapper quit (Ping timeout: 240 seconds) 2020-01-09T13:40:55Z MonoBobo_ joined #lisp 2020-01-09T13:42:45Z davepdot_ joined #lisp 2020-01-09T13:43:59Z tazjin: Xach: the pathname stored for the shared object is relative (to the load path), i.e. it does not contain information about which *particular* library matching the name was loaded 2020-01-09T13:44:08Z frgo joined #lisp 2020-01-09T13:44:18Z tazjin: Xach: that means that when dumping the image it'll contain a string like `libssl.so` but not the absolute path to the one that was loaded 2020-01-09T13:44:53Z tazjin: I tried to work around it by setting `cffi:*foreign-library-directories*` but couldn't get that to work as expected (I know that this is something I've run into, and fixed, a few years ago - just don't remember how) 2020-01-09T13:45:01Z MonoBobo quit (Ping timeout: 258 seconds) 2020-01-09T13:45:24Z davepdotorg quit (Ping timeout: 258 seconds) 2020-01-09T13:45:35Z Shinmera: tazjin: The Deploy system tries to manually determine absolute paths to shared libraries in order to copy them into a deployment directory. 2020-01-09T13:45:50Z tazjin: so I'm, for now, using the standard Nix method of creating a wrapper around the dumped executable instead that sets the library load path: https://git.tazj.in/tree/nix/buildLisp/default.nix#n146 2020-01-09T13:45:51Z Shinmera: You could take its mechanisms for that, I suppose. 2020-01-09T13:46:06Z tazjin: Shinmera: this is probably a slightly different problem 2020-01-09T13:46:17Z tazjin: I'm writing a CL build system in Nix 2020-01-09T13:46:50Z tazjin: and that means I need to get artefacts to contain references to the absolute paths of everything they need at runtime (since that path encodes information for Nix on what it was built from) 2020-01-09T13:47:27Z tazjin: eh actually the correct line is #155, not #146 2020-01-09T13:47:39Z Shinmera: If I remember correctly the issue is that dlopen just does its thing and doesn't tell you where the library comes from, so Lisp doesn't know. 2020-01-09T13:47:50Z tazjin: yep 2020-01-09T13:48:00Z tazjin: I guess I could override something in there to do the library resolution in Lisp 2020-01-09T13:48:03Z tazjin: and then ask it to open an absolute path 2020-01-09T13:48:10Z Shinmera: In Deploy I manually search common paths to try and find those, but I guess that wouldn't help on Nix. 2020-01-09T13:48:27Z tazjin: it might, do you have a link to where you do that? 2020-01-09T13:48:28Z frgo quit (Ping timeout: 258 seconds) 2020-01-09T13:48:53Z Shinmera: https://github.com/Shinmera/deploy/blob/master/library.lisp 2020-01-09T13:49:05Z tazjin: thank you, I'll take a look 2020-01-09T13:49:38Z Shinmera: I do have a note to try and parse ld.so.cache manually, which would be better than hard-coded paths, but I haven't gotten around to that. 2020-01-09T13:49:52Z Bike joined #lisp 2020-01-09T13:49:55Z Xach: Yes, I think this is a fruitful source of ideas if not exact code 2020-01-09T13:50:51Z pjb: Shinmera: what's wrong with truename? 2020-01-09T13:51:06Z pjb: (truename "s.lisp") #| --> #P"/Users/pjb/s.lisp" |# 2020-01-09T13:51:28Z Shinmera: ??? 2020-01-09T13:51:45Z pjb: Why do you want to do that manually? 2020-01-09T13:51:52Z Shinmera: What? 2020-01-09T13:51:59Z pjb: " tazjin: The Deploy system tries to manually determine absolute paths to shared libraries in order to copy them into a deployment directory." 2020-01-09T13:52:24Z Shinmera: because those libraries are somewhere on the disk, and not at default-pathname-defaults 2020-01-09T13:52:26Z tazjin: pjb: that resolves relative to the working directory, no? 2020-01-09T13:52:42Z __vlgvrs quit (Quit: Leaving) 2020-01-09T13:52:48Z pjb: relative to whatever it's relative to. 2020-01-09T13:52:50Z tazjin: I need resolution to the first hit in LD_LIBRARY_PATH (which might be a list of paths) 2020-01-09T13:53:01Z pjb: Oh, ok. 2020-01-09T13:53:46Z tazjin: Shinmera: in Nix I can have the luxury of knowing that the library *will* be on in one of the LD_LIBRARY_PATH entries 2020-01-09T13:53:51Z tazjin: so some complexity can probably be trimmed 2020-01-09T13:53:53Z Shinmera: Right. 2020-01-09T13:55:09Z cosimone quit (Quit: Terminated!) 2020-01-09T14:00:58Z Duuqnd quit (Quit: Leaving) 2020-01-09T14:02:35Z FreeBirdLjj joined #lisp 2020-01-09T14:07:41Z lxpnh98 joined #lisp 2020-01-09T14:08:04Z jonatack joined #lisp 2020-01-09T14:08:40Z EvW joined #lisp 2020-01-09T14:11:48Z madage quit (Remote host closed the connection) 2020-01-09T14:14:28Z madage joined #lisp 2020-01-09T14:16:50Z cosimone joined #lisp 2020-01-09T14:17:15Z LiamH joined #lisp 2020-01-09T14:20:44Z xkapastel quit (Quit: Connection closed for inactivity) 2020-01-09T14:21:09Z papachan quit (Ping timeout: 268 seconds) 2020-01-09T14:21:39Z gxt joined #lisp 2020-01-09T14:22:58Z lxpnh98 quit (Quit: Leaving) 2020-01-09T14:23:58Z niklascarlsson joined #lisp 2020-01-09T14:29:23Z Xach: I've been hacking on some graphics baubles and the workflow is "change drawing function, compile, produce output, think of update, change drawing function..." I'd really like to set up a system so I can save the output AND the source code side-by-side so I can keep track of my evolution. 2020-01-09T14:30:53Z Xach: Maybe I should do it at the file level - have a loop watching the file timestamp, and when it changes (and compiles successfully) run the generator and save the output and the file together based on the timestamp or something. 2020-01-09T14:31:30Z Shinmera: Xach: Sketch might be worth a look. 2020-01-09T14:32:04Z rwcom2 joined #lisp 2020-01-09T14:32:32Z Shinmera: I'm also hoping Alloy's drawing primitives will allow for that kind of thing in the future. 2020-01-09T14:33:38Z rwcom quit (Ping timeout: 240 seconds) 2020-01-09T14:33:39Z rwcom2 is now known as rwcom 2020-01-09T14:33:48Z scymtym_ joined #lisp 2020-01-09T14:35:48Z scymtym quit (Ping timeout: 248 seconds) 2020-01-09T14:42:47Z niklascarlsson quit (Remote host closed the connection) 2020-01-09T14:44:11Z grabarz quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-09T14:45:36Z grabarz joined #lisp 2020-01-09T14:48:01Z rixard quit (Read error: Connection reset by peer) 2020-01-09T14:49:59Z JohnMS quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2020-01-09T14:54:01Z Necktwi quit (Ping timeout: 258 seconds) 2020-01-09T14:55:09Z Necktwi joined #lisp 2020-01-09T14:57:50Z rixard joined #lisp 2020-01-09T15:02:20Z bitmapper joined #lisp 2020-01-09T15:07:13Z bitmapper quit (Ping timeout: 268 seconds) 2020-01-09T15:07:15Z cosimone quit (Quit: Terminated!) 2020-01-09T15:07:46Z Lord_of_Life_ joined #lisp 2020-01-09T15:08:02Z Lord_of_Life quit (Ping timeout: 240 seconds) 2020-01-09T15:09:07Z Lord_of_Life_ is now known as Lord_of_Life 2020-01-09T15:09:32Z cosimone joined #lisp 2020-01-09T15:09:52Z shifty joined #lisp 2020-01-09T15:25:45Z pfdietz joined #lisp 2020-01-09T15:26:59Z rpg quit (Ping timeout: 258 seconds) 2020-01-09T15:27:30Z p_l: Xach: could be done with org-mode using sessions 2020-01-09T15:27:54Z p_l: aaand I think someone once did a SLIME extension for putting images from REPL 2020-01-09T15:28:20Z flamebeard quit 2020-01-09T15:30:14Z _death: maybe use something like layers, mapping each to its own function 2020-01-09T15:32:22Z Xach: p_l: i have never used sessions. do those allow you to save multiple versions of a function without thinking about it? 2020-01-09T15:32:41Z Xach: _death: is "layers" a generic term or something org-mode related? or something else? 2020-01-09T15:38:13Z scymtym_ quit (Read error: Connection reset by peer) 2020-01-09T15:38:49Z dale_ joined #lisp 2020-01-09T15:39:13Z dale_ is now known as dale 2020-01-09T15:39:51Z _death: Xach: nothing to do with org.. just an idea, maybe layers or overlays could be used in such a system, so that you don't really redefine functions but simply add more.. the definitions may be persisted.. it may be thought as a graph, actually, and there could be a path from the initial blank canvas to the end result that needs not involve intermediate stages that in effect are a no-op 2020-01-09T15:41:44Z _death: log-structured painting 2020-01-09T15:42:10Z Xach: ah, i see, interesting 2020-01-09T15:42:30Z Xach: my changes are often things like "i wonder what would happen if i shifted the hue 30 degrees" 2020-01-09T15:42:39Z dmiles quit (Read error: No route to host) 2020-01-09T15:42:56Z Xach: then "that's cool, how about 180 degrees" and then "what if i faded it out from the center" then "what if i draw circles facing the other way inside the bigger circles" 2020-01-09T15:43:06Z Xach: it's all direct changes to a pretty monolithic function 2020-01-09T15:43:18Z _death: add a function that transforms it.. that's how all these painting programs have undo/redo functionality 2020-01-09T15:43:39Z Xach: hmm 2020-01-09T15:44:57Z dmiles joined #lisp 2020-01-09T15:45:12Z Xach: untangling the monolith has appeal 2020-01-09T15:45:18Z _death: the usually way to do undo/redo is to perform the actions or the reverse.. there's another way that saves the actual state.. usually it's not a good idea, but it may be good for this case 2020-01-09T15:45:45Z _death: *usual 2020-01-09T15:47:43Z Xach: https://imgur.com/a/RuvWciz is an example - (defun testme (file) ...) started out as just a way to verify i could draw circles with gaps in them 2020-01-09T15:47:52Z Xach: but then i started thinking about other fun patterns. 2020-01-09T15:48:52Z jackdaniel: Xach: hwo about defining save-png* which saves both the file and png (with a filename prefixed with a timestamp)? 2020-01-09T15:49:15Z jackdaniel: not very sophisticated admittedly 2020-01-09T15:50:02Z Xach: jackdaniel: that's a good intermediate step - i think i want to cut out the "run the function in the repl" step too, though. 2020-01-09T15:50:16Z Xach: finish a change, press a key, see the result 2020-01-09T15:50:48Z Shinmera: Xach: you can define an emacs keybinding to invoke slime-eval as appropriate. 2020-01-09T15:51:14Z Xach: vecto is really slow, too, so that's a bummer. i like the idea of sketch but don't like the foreign library installation. i wish i could have a cheap and easy native macos canvas window to draw on. i don't want to install portability layers and foreign libraries. 2020-01-09T15:53:00Z karlosz joined #lisp 2020-01-09T15:53:11Z Xach wishes and wishes 2020-01-09T15:53:31Z Shinmera: helping |3b| with the rewrite of GLOP to have a lisp-native solution to OpenGL is on my todo 2020-01-09T15:53:52Z Shinmera: I really want Trial (and by extension Alloy) to be usable without any foreign dependencies. 2020-01-09T15:53:53Z jackdaniel: wishes, todos and two bottles of rum 2020-01-09T15:53:56Z jackdaniel picks his guitar 2020-01-09T15:54:35Z Cymew quit (Ping timeout: 258 seconds) 2020-01-09T15:58:56Z Josh_2 joined #lisp 2020-01-09T16:01:38Z madage quit (Remote host closed the connection) 2020-01-09T16:01:57Z madage joined #lisp 2020-01-09T16:03:54Z atgreen joined #lisp 2020-01-09T16:04:17Z bitmapper joined #lisp 2020-01-09T16:09:16Z redeemed joined #lisp 2020-01-09T16:11:30Z smazga joined #lisp 2020-01-09T16:17:10Z redeemed quit (Quit: q) 2020-01-09T16:19:54Z X-Scale` joined #lisp 2020-01-09T16:22:57Z X-Scale quit (Ping timeout: 258 seconds) 2020-01-09T16:22:57Z X-Scale` is now known as X-Scale 2020-01-09T16:24:04Z longshi joined #lisp 2020-01-09T16:44:13Z karlosz quit (Quit: karlosz) 2020-01-09T16:45:16Z atgreen quit (Ping timeout: 268 seconds) 2020-01-09T16:45:54Z grabarz quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-09T16:47:37Z joast quit (Quit: Leaving.) 2020-01-09T16:49:10Z lucasb joined #lisp 2020-01-09T16:51:40Z laurus joined #lisp 2020-01-09T16:51:52Z X-Scale` joined #lisp 2020-01-09T16:52:43Z X-Scale quit (Ping timeout: 260 seconds) 2020-01-09T16:52:45Z X-Scale` is now known as X-Scale 2020-01-09T16:55:23Z slyrus__ joined #lisp 2020-01-09T16:58:13Z slyrus_ quit (Ping timeout: 268 seconds) 2020-01-09T17:00:53Z joast joined #lisp 2020-01-09T17:01:33Z laurus left #lisp 2020-01-09T17:02:20Z izh_ joined #lisp 2020-01-09T17:02:33Z amerlyq quit (Quit: amerlyq) 2020-01-09T17:04:48Z terpri joined #lisp 2020-01-09T17:05:08Z EvW quit (Ping timeout: 248 seconds) 2020-01-09T17:06:00Z simplegauss quit (Ping timeout: 246 seconds) 2020-01-09T17:07:41Z slyrus joined #lisp 2020-01-09T17:08:07Z simplegauss joined #lisp 2020-01-09T17:10:26Z slyrus__ quit (Ping timeout: 240 seconds) 2020-01-09T17:11:14Z patlv joined #lisp 2020-01-09T17:12:22Z FreeBirdLjj quit (Remote host closed the connection) 2020-01-09T17:12:56Z FreeBirdLjj joined #lisp 2020-01-09T17:13:12Z stux|RC-only quit (Ping timeout: 268 seconds) 2020-01-09T17:13:56Z luis: flip214: not sure if you're the one to poke, but the git repo URL in Alexandria's homepage is incorrect 2020-01-09T17:17:12Z FreeBirdLjj quit (Ping timeout: 246 seconds) 2020-01-09T17:17:48Z slyrus quit (Ping timeout: 260 seconds) 2020-01-09T17:23:41Z amerigo quit (Quit: Connection closed for inactivity) 2020-01-09T17:24:03Z karlosz joined #lisp 2020-01-09T17:25:32Z stux|RC-only joined #lisp 2020-01-09T17:33:39Z hhdave quit (Quit: hhdave) 2020-01-09T17:37:45Z davepdot_ quit (Remote host closed the connection) 2020-01-09T17:38:07Z zclark joined #lisp 2020-01-09T17:41:23Z neuro_sys quit (Ping timeout: 268 seconds) 2020-01-09T17:58:15Z m00natic quit (Remote host closed the connection) 2020-01-09T18:00:22Z antepod joined #lisp 2020-01-09T18:02:22Z Xach: luis: you helped me with a problem some time ago. that problem is back today! 2020-01-09T18:02:27Z oni-on-ion joined #lisp 2020-01-09T18:02:56Z Xach: luis: if the repl is tied up (like with a sub-repl or other loop), i lose autodoc in buffers 2020-01-09T18:03:05Z Xach: luis: this is sbcl with sb-thread available and the latest slime 2020-01-09T18:03:14Z Kundry_Wag quit (Remote host closed the connection) 2020-01-09T18:03:21Z Xach: Do you know why that happens and how to get autodoc back? 2020-01-09T18:09:49Z gareppa joined #lisp 2020-01-09T18:12:05Z phoe: hey, you're right, and I have the same problem 2020-01-09T18:14:18Z kmeow joined #lisp 2020-01-09T18:14:22Z kmeow_ joined #lisp 2020-01-09T18:15:35Z izh_ quit (Remote host closed the connection) 2020-01-09T18:16:02Z izh_ joined #lisp 2020-01-09T18:16:24Z Xach: I guess I can check logs but IIRC it was a few years ago that you helped me 2020-01-09T18:17:01Z Xach: I don't have the logs :( 2020-01-09T18:17:05Z |3b|: maybe set slime-inhibit-pipelining to nil? 2020-01-09T18:18:01Z kmeow: How do you escape character codes inside a CL string literal? (as in C string literal: "\x1b") 2020-01-09T18:18:16Z Xach: kmeow: there is no built-in way 2020-01-09T18:18:22Z Xach: |3b|: sounds plausible, i will try it, thanks 2020-01-09T18:18:23Z kmeow: ah okay 2020-01-09T18:18:23Z |3b|: (at least that's what i have in .emacs under a comment about making autodoc work when busy) 2020-01-09T18:18:47Z gareppa quit (Quit: Leaving) 2020-01-09T18:19:09Z Xach: |3b|: thank you, that does what i need 2020-01-09T18:19:43Z phoe: kmeow: you could try formatting if you'd like, (format nil "abcd~Cefgh" (code-char #x1b)) 2020-01-09T18:19:47Z phoe: or 2020-01-09T18:20:00Z phoe: try cl-interpol as a library 2020-01-09T18:20:05Z kmeow: hm 2020-01-09T18:20:13Z Shinmera: Xach: You might find it with https://irclog.tymoon.eu/search?channel=freenode%2F%23lisp 2020-01-09T18:20:21Z phoe: (let ((a 42)) #?"foo: \xC4\N{Latin capital letter U with diaeresis}\nbar: ${a}") 2020-01-09T18:20:31Z phoe: that's from the readme at http://edicl.github.io/cl-interpol/ 2020-01-09T18:20:36Z rtra joined #lisp 2020-01-09T18:22:38Z dale quit (Quit: My computer has gone to sleep) 2020-01-09T18:24:34Z kmeow: something like (concatenate 'string (string #\Esc) "[31m") works okay 2020-01-09T18:24:58Z dale joined #lisp 2020-01-09T18:25:21Z grabarz joined #lisp 2020-01-09T18:25:37Z Kundry_Wag joined #lisp 2020-01-09T18:26:19Z jackdaniel: kmeow: fwiw I've created a function which does that in shorter way, that is (defun esc (&rest args) (apply #'concatenate 'string (string #\esc) ,@args)) 2020-01-09T18:26:26Z jackdaniel: s/,@// 2020-01-09T18:26:34Z jackdaniel: when I had such need 2020-01-09T18:26:54Z jackdaniel: or was it macro? I don't remember, but it doesn't matter 2020-01-09T18:27:09Z Xach: Heh, I have something where I do something like (foo "Hello!" :cr :lf "World" :esc :cr :lf) etc. 2020-01-09T18:27:14Z vivit joined #lisp 2020-01-09T18:27:17Z Xach: so many options 2020-01-09T18:27:29Z Xach: oh yeah, my target output was a vector of octets 2020-01-09T18:28:16Z jackdaniel: (esc (csi "33;2;2")) ;; using vt100 and folks ;) 2020-01-09T18:28:24Z vivit: If a :before method throws an error, that will prevent the execution of later methods, right? 2020-01-09T18:28:33Z jackdaniel: yes 2020-01-09T18:28:36Z kmeow: nice 2020-01-09T18:28:37Z jackdaniel: signals an error 2020-01-09T18:29:10Z jackdaniel: you may throw something, but it has nothing to do with conditions (catch/throw more resemble block/return{-from}) 2020-01-09T18:29:30Z pjb: Also, you don't need to start from strings: (concatenate 'string #(#\Esc) "[31m") -> "[31m" 2020-01-09T18:29:34Z jackdaniel: well, "nothing to do" is a figure of speech, from the implementation perspective.. ,) 2020-01-09T18:29:38Z rtra quit (Ping timeout: 240 seconds) 2020-01-09T18:30:35Z jackdaniel: .. catch/throw may be used as means for implementing some operators 2020-01-09T18:31:17Z varjag quit (Quit: ERC (IRC client for Emacs 25.2.2)) 2020-01-09T18:31:36Z rtra joined #lisp 2020-01-09T18:33:29Z phoe: well yes, if we want to nitpick, it can also throw an integer, and that'll nonetheless prevent the latter methods from being executed 2020-01-09T18:33:43Z phoe: that's due to THROW/CATCH having a different meaning in CL than they do in C++/Java 2020-01-09T18:38:34Z luis: Xach: I don't remember the solution. I haven't had that problem in a while 2020-01-09T18:38:37Z kmeow left #lisp 2020-01-09T18:38:55Z papachan joined #lisp 2020-01-09T18:39:43Z luis: Xach: oh, I'm starting to remember what you're talking about 2020-01-09T18:39:43Z gxt quit (Ping timeout: 240 seconds) 2020-01-09T18:41:53Z Xach: luis: solved by |3b|' suggestion to set slime-inhibit-pipelining to nil 2020-01-09T18:42:14Z akoana joined #lisp 2020-01-09T18:43:01Z Xach: although... 2020-01-09T18:43:20Z Xach: heh. i have an alternate sub-repl thing. it would be nice to have autodoc there too. but slime thinks it's in the middle of a request in the repl. hmm. 2020-01-09T18:43:26Z Xach: autodoc in lisp buffers works fine. 2020-01-09T18:43:42Z eeeeeta always panics when adoc and completion fail for some mysterious reason 2020-01-09T18:43:53Z luis: Xach: right, IIRC, the problem is that autodoc requests are handled differently within the slime-repl 2020-01-09T18:43:55Z eeeeeta: "is the code I've written wrong?? help what are the arguments again???" 2020-01-09T18:45:42Z Xach: luis: if you remember a suggestion please let me know. otherwise no rush. lisp file buffers are more important. 2020-01-09T18:46:38Z luis: Xach: but you don't need to mess with slime-inhibit-pipelining to have autodoc in lisp buffers, right? 2020-01-09T18:47:14Z ggole quit (Quit: Leaving) 2020-01-09T18:47:52Z rpg joined #lisp 2020-01-09T18:48:03Z Ven`` joined #lisp 2020-01-09T18:48:08Z vlatkoB quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) 2020-01-09T18:51:43Z Xach: luis: i do, if i have e.g. (loop (sleep 1)) in the slime-repl 2020-01-09T18:52:43Z nowhere_man joined #lisp 2020-01-09T18:53:08Z luis: Xach: that (hanging the repl that way then using autodoc in a Lisp buffer) works for me with slime-inhibit-pipelining set to true. 2020-01-09T18:55:04Z luis: Xach: found it. https://gist.github.com/luismbo/b8be134c3b2095a641aa176a957e652f 2020-01-09T18:56:08Z Xach: hmm 2020-01-09T18:56:33Z Xach: luis: thank you! 2020-01-09T18:59:53Z vivit quit (Ping timeout: 260 seconds) 2020-01-09T19:04:24Z rpg_ joined #lisp 2020-01-09T19:05:10Z flip214: luis: I might be the right one... 2020-01-09T19:05:18Z flip214: which home page? 2020-01-09T19:07:35Z rpg quit (Ping timeout: 265 seconds) 2020-01-09T19:14:00Z gxt joined #lisp 2020-01-09T19:15:14Z Josh_2: Is there block comments in CL? 2020-01-09T19:15:29Z Josh_2: Yes there is #| 2020-01-09T19:15:36Z jackdaniel: #| foobar |# 2020-01-09T19:15:43Z jackdaniel: #+(or)"foobar" 2020-01-09T19:16:08Z luis: flip214: https://common-lisp.net/project/alexandria/ 2020-01-09T19:16:44Z luis: Does anyone have an up-to-date mirror of clsql's git repository? I get a timeout cloning from git://git.kpe.io/clsql.git 2020-01-09T19:17:26Z Xach: luis: i can pull fine from the http version 2020-01-09T19:18:05Z earl-ducaine joined #lisp 2020-01-09T19:19:49Z luis: Xach: that works, thanks! 2020-01-09T19:20:19Z klltkr joined #lisp 2020-01-09T19:22:03Z antepod quit (Ping timeout: 260 seconds) 2020-01-09T19:22:11Z flip214: luis: clicking on that link redirects me to gitlab, correctly?! 2020-01-09T19:22:37Z luis: flip214: indeed. But executing git clone git://common-lisp.net/projects/alexandria/alexandria.git fails 2020-01-09T19:22:55Z antepod joined #lisp 2020-01-09T19:23:07Z luis: flip214: it should be git clone https://gitlab.common-lisp.net/alexandria/alexandria.git I suppose 2020-01-09T19:25:39Z milanj quit (Quit: This computer has gone to sleep) 2020-01-09T19:28:06Z slyrus joined #lisp 2020-01-09T19:28:51Z sauvin quit (Ping timeout: 265 seconds) 2020-01-09T19:29:35Z Colleen quit (Remote host closed the connection) 2020-01-09T19:29:35Z Shinmera quit (Remote host closed the connection) 2020-01-09T19:29:35Z isoraqathedh quit (Remote host closed the connection) 2020-01-09T19:31:46Z antepod quit (Ping timeout: 268 seconds) 2020-01-09T19:33:15Z arduo joined #lisp 2020-01-09T19:35:03Z Colleen joined #lisp 2020-01-09T19:35:43Z frgo joined #lisp 2020-01-09T19:38:11Z sjl joined #lisp 2020-01-09T19:38:38Z izh_ quit (Quit: Leaving) 2020-01-09T19:40:24Z frgo quit (Ping timeout: 268 seconds) 2020-01-09T19:40:29Z varjag joined #lisp 2020-01-09T19:43:34Z vaporatorius quit (Read error: Connection reset by peer) 2020-01-09T19:45:32Z zclark quit (Remote host closed the connection) 2020-01-09T19:48:14Z jprajzne quit (Quit: jprajzne) 2020-01-09T19:56:32Z vaporatorius joined #lisp 2020-01-09T20:00:04Z smokeink quit (Remote host closed the connection) 2020-01-09T20:00:35Z smokeink joined #lisp 2020-01-09T20:01:43Z brown121408 quit (Ping timeout: 260 seconds) 2020-01-09T20:02:21Z brown121408 joined #lisp 2020-01-09T20:02:52Z gxt quit (Remote host closed the connection) 2020-01-09T20:03:33Z gxt joined #lisp 2020-01-09T20:05:00Z rpg_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-09T20:07:18Z vivit joined #lisp 2020-01-09T20:11:38Z vivit quit (Ping timeout: 240 seconds) 2020-01-09T20:13:23Z rpg joined #lisp 2020-01-09T20:16:11Z _fe_ quit (Quit: _fe_) 2020-01-09T20:19:14Z shifty quit (Ping timeout: 240 seconds) 2020-01-09T20:22:45Z vivit joined #lisp 2020-01-09T20:22:49Z nullniverse quit (Read error: Connection reset by peer) 2020-01-09T20:23:18Z william1_ quit (Ping timeout: 260 seconds) 2020-01-09T20:24:43Z vivit quit (Client Quit) 2020-01-09T20:29:52Z frgo joined #lisp 2020-01-09T20:29:57Z lucasb quit (Quit: Connection closed for inactivity) 2020-01-09T20:33:18Z brown121408 quit (Read error: Connection reset by peer) 2020-01-09T20:33:33Z brown121408 joined #lisp 2020-01-09T20:38:28Z frgo quit (Ping timeout: 260 seconds) 2020-01-09T20:40:25Z srandon111 joined #lisp 2020-01-09T20:40:50Z srandon111: guys what are good libraries to create games in lisp? 2020-01-09T20:41:49Z jackdaniel: srandon111: you may want to stick around on #lispgames channel 2020-01-09T20:41:58Z jackdaniel: I'm sure people there will have more answers 2020-01-09T20:42:31Z jackdaniel: that said there are a few libraries, i.e cl-bodge and xelf. I'm not making games so I can't tell what is good, there are more engines 2020-01-09T20:42:54Z frgo joined #lisp 2020-01-09T20:44:06Z narimiran quit (Ping timeout: 268 seconds) 2020-01-09T20:44:57Z Josh_2: How can I get a list of all the accessors available for a class? I want to map over them and call the same function on all of them 2020-01-09T20:50:30Z Odin- joined #lisp 2020-01-09T20:54:05Z Josh_2: ayy I did it with closer-mop 2020-01-09T20:57:34Z william1_ joined #lisp 2020-01-09T21:02:27Z pjb: Josh_2: it depends on how you define accessors. 2020-01-09T21:02:37Z william1_ quit (Ping timeout: 265 seconds) 2020-01-09T21:03:20Z pjb: Josh_2: if it's a function f that takes one argument and returns one value, and a function (setf f) that takes two arguments, returns the first, and mutate the second, so that f returns the first in the following calls, there's no way to enumerate such functions. 2020-01-09T21:04:35Z pjb: Josh_2: if you restrict your definition to classes that are subclasses of standard-object, and to functions that are listed as :accessor in the slot definition of those subclasses, then yes, closer-mop can help. 2020-01-09T21:04:47Z pjb: But it's a very restricted definition… 2020-01-09T21:05:15Z Josh_2: The latter is what I want 2020-01-09T21:05:47Z klltkr quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-09T21:06:01Z Josh_2: I have a class that is a subclass of standard-object, and I want to map the accessors 2020-01-09T21:08:54Z william1_ joined #lisp 2020-01-09T21:09:57Z scymtym joined #lisp 2020-01-09T21:10:07Z Xach: Josh_2: do you care about properties of an instance not stored in the class? 2020-01-09T21:11:38Z holycow joined #lisp 2020-01-09T21:12:03Z eddof13 joined #lisp 2020-01-09T21:13:27Z Josh_2: No 2020-01-09T21:14:08Z william1_ quit (Ping timeout: 268 seconds) 2020-01-09T21:16:27Z Josh_2: basically I want to make a function that when given an instance of a class it will convert all the values stored in slots to strings 2020-01-09T21:16:34Z Josh_2: by default they are byte arrays or just integers 2020-01-09T21:17:13Z Josh_2: if I do the conversion none of the previous values will have been stored, it will only be after the conversion that I would use the values 2020-01-09T21:18:22Z harovali joined #lisp 2020-01-09T21:19:15Z MonoBobo_ quit (Read error: Connection reset by peer) 2020-01-09T21:19:28Z MonoBobo joined #lisp 2020-01-09T21:19:53Z pjb: Josh_2: How having the list of accessors does help with processing slots? 2020-01-09T21:20:05Z pjb: I fail to see the link… 2020-01-09T21:20:11Z harovali: hi! if I bind some variables in a let , and then I use them f.i. as the names to bind in a multiple-value-bin inside the let , the compiler believes that those variables are defined but never used. Is that because the multiple-value-bind rebinds to other values and that operation is not considered usage of them ? 2020-01-09T21:20:26Z pjb: yes. 2020-01-09T21:20:29Z harovali: s/bin/bind/ 2020-01-09T21:20:34Z pjb: harovali: you may consider multiple-value-setq 2020-01-09T21:20:42Z pjb: or just remove the let. 2020-01-09T21:20:44Z harovali: pjb: thankyou ! 2020-01-09T21:21:43Z Josh_2: pjb: well I just want to have a list of accessors that I can funcall basically 2020-01-09T21:22:07Z pjb: Josh_2: I thought you wanted to convert the values stored in slot into strings? 2020-01-09T21:22:10Z Josh_2: Yes 2020-01-09T21:22:19Z pjb: No, you cannot have both. 2020-01-09T21:22:19Z Josh_2: But for lots of different classes 2020-01-09T21:22:38Z Josh_2: I can just write generic functions for each individual one, but I was trying to avoid that xD 2020-01-09T21:22:39Z rpg quit (Quit: Textual IRC Client: www.textualapp.com) 2020-01-09T21:22:53Z pjb: Josh_2: you're completely illogical. Slots can have 0, 1, or more accessors. 2020-01-09T21:23:00Z pjb: (by your strict definition). 2020-01-09T21:23:17Z pjb: a class can also have accessors unrelated to any specific slot (by my larger definition). 2020-01-09T21:24:21Z Josh_2: okay, well when I defined a class I set the :accessor keywords in each direct-slot, I'd like to get the functions created by the :accessor keyword 2020-01-09T21:24:31Z Josh_2: by class 2020-01-09T21:24:35Z Josh_2: If I can do that 2020-01-09T21:24:46Z Josh_2: if I can't i'll just write a generic function 2020-01-09T21:25:01Z pjb: You did it with closer-mop. 2020-01-09T21:25:16Z Josh_2: eeeeeeh 2020-01-09T21:25:22Z Josh_2: I thought I did it 2020-01-09T21:25:46Z Josh_2: I got a list of the direct-slots 2020-01-09T21:26:16Z pjb: Why stop at direct slots? 2020-01-09T21:26:42Z pjb: Slots from superclasses belong to an object as well as direct losts! 2020-01-09T21:28:27Z Josh_2: Well (class-direct-slots ..) just returns the slots I specified for my class 2020-01-09T21:32:49Z Bike: yeah, class-slots will get you the effective slots. 2020-01-09T21:35:37Z Bike: that said, if your classes are this uniform in terms of what they hold but you still have different ones, you might consider using just sequences of some kind instead 2020-01-09T21:36:11Z Josh_2: I have different classes for different packets 2020-01-09T21:38:22Z pjb: If you define the classes yourself, you may consider writing a macro to generate them, along with the rest of the functions you need to process the slots. 2020-01-09T21:39:08Z gravicappa quit (Ping timeout: 260 seconds) 2020-01-09T21:41:19Z william1_ joined #lisp 2020-01-09T21:42:15Z pfdietz quit (Remote host closed the connection) 2020-01-09T21:44:02Z nowhere_man quit (Ping timeout: 240 seconds) 2020-01-09T21:46:23Z william1_ quit (Ping timeout: 268 seconds) 2020-01-09T21:46:55Z krid joined #lisp 2020-01-09T21:48:27Z harovali: there was once a lisp contest , and one of the challenges dealt with polyminos. Does the link still exist? 2020-01-09T21:48:57Z pjb: google could help. 2020-01-09T21:49:16Z harovali: pjb: I'm asking after thoughtful googling 2020-01-09T21:50:31Z Codaraxis quit (Ping timeout: 268 seconds) 2020-01-09T21:51:48Z pjb: right, perhaps not. There are just a handful hits… 2020-01-09T21:53:07Z srandon111 quit (Quit: leaving) 2020-01-09T21:54:22Z harovali: at the time the contest was very outstanding in the CL community , maybe even some in this channel submitted 2020-01-09T21:55:20Z gravicappa joined #lisp 2020-01-09T21:56:30Z Ven`` quit (Read error: Connection reset by peer) 2020-01-09T21:57:56Z pjb: harovali: there are logs, but google knows them IIRC. 2020-01-09T22:01:13Z harovali: found it https://web.archive.org/web/20100512192203/http://www.ravenbrook.com/doc/2003/05/28/contest/ 2020-01-09T22:02:12Z gravicappa quit (Ping timeout: 258 seconds) 2020-01-09T22:06:33Z Necktwi quit (Ping timeout: 260 seconds) 2020-01-09T22:06:52Z slyrus_ joined #lisp 2020-01-09T22:09:33Z Bike quit (Remote host closed the connection) 2020-01-09T22:09:48Z slyrus quit (Ping timeout: 265 seconds) 2020-01-09T22:10:57Z Xach: harovali: neat 2020-01-09T22:11:16Z Bike joined #lisp 2020-01-09T22:18:37Z harovali: Xach yes! I'liked it a lot then 2020-01-09T22:18:57Z Xach: ita used to have a lot of puzzles 2020-01-09T22:19:20Z Xach: i heard many people complain afterwards that skill at puzzles had little or no correlation with skill at typical ita work 2020-01-09T22:21:14Z harovali: I mainly liked to read the code submitted , just to learn usage patterns 2020-01-09T22:22:53Z nowhere_man joined #lisp 2020-01-09T22:24:42Z atgreen joined #lisp 2020-01-09T22:26:54Z slyrus__ joined #lisp 2020-01-09T22:29:51Z smazga quit (Quit: leaving) 2020-01-09T22:29:53Z slyrus_ quit (Ping timeout: 260 seconds) 2020-01-09T22:33:31Z jeosol joined #lisp 2020-01-09T22:37:56Z Bike quit (Quit: Bike) 2020-01-09T22:40:05Z smazga joined #lisp 2020-01-09T22:43:48Z slyrus_ joined #lisp 2020-01-09T22:44:23Z EvW1 joined #lisp 2020-01-09T22:46:17Z slyrus__ quit (Ping timeout: 258 seconds) 2020-01-09T22:48:37Z isoraqathedh joined #lisp 2020-01-09T22:52:03Z MonoBobo quit (Ping timeout: 260 seconds) 2020-01-09T22:53:09Z Codaraxis joined #lisp 2020-01-09T22:53:32Z turona joined #lisp 2020-01-09T22:59:29Z brown121408 quit (Remote host closed the connection) 2020-01-09T23:04:02Z varjag quit (Ping timeout: 240 seconds) 2020-01-09T23:06:39Z LiamH quit (Quit: Leaving.) 2020-01-09T23:07:23Z drmeister: How does one get asdf to build the build/asdf.lisp file - the one that contains all the source concatenated together. It's the Makefile - right? 2020-01-09T23:07:52Z drmeister: Yeah - never mind. 2020-01-09T23:10:15Z ym quit (Ping timeout: 268 seconds) 2020-01-09T23:13:44Z drmeister: When I git clone ASDF - when does that happen? The built file doesnt come down with the source does it? 2020-01-09T23:14:02Z drmeister: La de da - I'll look it up on this internet thing. 2020-01-09T23:14:05Z atgreen quit (Ping timeout: 265 seconds) 2020-01-09T23:15:22Z Kundry_Wag quit (Remote host closed the connection) 2020-01-09T23:15:34Z drmeister: It doesn't come down with the source code. We must be doing it in our build system somewhere. 2020-01-09T23:15:45Z wxie joined #lisp 2020-01-09T23:15:58Z MonoBobo joined #lisp 2020-01-09T23:16:23Z holycow quit (Quit: Lost terminal) 2020-01-09T23:17:42Z papachan quit (Quit: Leaving) 2020-01-09T23:17:52Z papachan joined #lisp 2020-01-09T23:17:53Z papachan quit (Remote host closed the connection) 2020-01-09T23:18:35Z Colleen quit (Quit: Colleen) 2020-01-09T23:22:21Z rtt joined #lisp 2020-01-09T23:22:31Z rtt: hi 2020-01-09T23:23:42Z ym joined #lisp 2020-01-09T23:26:28Z longshi quit (Ping timeout: 248 seconds) 2020-01-09T23:27:26Z gxt quit (Remote host closed the connection) 2020-01-09T23:27:27Z Kundry_Wag joined #lisp 2020-01-09T23:27:36Z pjb: hi 2020-01-09T23:27:55Z Bike joined #lisp 2020-01-09T23:28:06Z gxt joined #lisp 2020-01-09T23:32:18Z Kundry_Wag quit (Ping timeout: 260 seconds) 2020-01-09T23:34:45Z phoe: hi 2020-01-09T23:35:05Z no-defun-allowed: hi 2020-01-09T23:35:27Z phoe: drmeister: ASDF likely uses its concatenate-source-op on itself 2020-01-09T23:35:55Z Kundry_Wag joined #lisp 2020-01-09T23:42:11Z william1_ joined #lisp 2020-01-09T23:43:38Z kmeow_ quit (Remote host closed the connection) 2020-01-09T23:47:14Z william1_ quit (Ping timeout: 258 seconds) 2020-01-09T23:47:41Z isoraqathedh quit (Remote host closed the connection) 2020-01-09T23:49:24Z cosimone quit (Ping timeout: 248 seconds) 2020-01-09T23:49:28Z cosimone_ joined #lisp 2020-01-09T23:50:14Z eddof13 quit (Quit: eddof13) 2020-01-09T23:51:23Z slyrus__ joined #lisp 2020-01-09T23:52:27Z wxie quit (Ping timeout: 260 seconds) 2020-01-09T23:52:37Z shka_ quit (Ping timeout: 268 seconds) 2020-01-09T23:53:21Z cosimone_ is now known as cosimone 2020-01-09T23:53:23Z harovali: I'd like to bind names to the elements of a list in order to modify them. (destructuring-bind (a b c) mylist (setf a 4)) being mylist a defparameter with '(1 2 3) dos not yield '(4 2 3) so no. Is there a way ? 2020-01-09T23:53:55Z eddof13 joined #lisp 2020-01-09T23:54:15Z rtt: harovali: maybe you could use an alist or plist and setf 2020-01-09T23:54:24Z cosimone quit (Quit: Quit.) 2020-01-09T23:54:28Z slyrus_ quit (Ping timeout: 268 seconds) 2020-01-09T23:55:19Z eddof13 quit (Client Quit) 2020-01-09T23:55:21Z harovali: rtt yeah maybe that 2020-01-09T23:59:32Z harovali: ((((1) . 2) . 3) . 4) 2020-01-10T00:00:18Z aeth: heh, I never realized that downside of destructuring-bind because I almost never mutate lists 2020-01-10T00:00:34Z aeth: (arrays are almost always better for that, at least with what I do) 2020-01-10T00:01:31Z aeth: I'd personally do `(4 ,b ,c) in your case, but that obviously isn't what you want 2020-01-10T00:01:53Z harovali: aeth: thanks! 2020-01-10T00:01:55Z rtt: you can even setf the cadr, etc. 2020-01-10T00:02:18Z aeth: (in other words, if you can get away with not mutating, then it's so short and elegant even with d-b) 2020-01-10T00:02:31Z rtt: I'm a newbie too, so take my ideas with a grain of salt 2020-01-10T00:03:05Z aeth: rtt: You're almost on the right path. Basically, instead of naming the variables, you'd create accessors and name them. Then you can have a reader and a writer (getters and setters in most languages) 2020-01-10T00:03:32Z harovali: yes but how do you bind a name to the cadr? 2020-01-10T00:03:38Z aeth: e.g. (defun a (l) (car l)) 2020-01-10T00:04:01Z aeth: A simple pattern so you can use a macro to generate a (defun a ...) and a (defun (setf a) ...) for each thing you name 2020-01-10T00:04:11Z aeth: then you'd (setf (a l) 4) instead of (setf a 4) 2020-01-10T00:04:26Z grabarz quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-10T00:04:27Z aeth: If you make it a macro instead of a function, you get the setter for free and don't have to define a pair, but that's kind of less elegant 2020-01-10T00:04:42Z White_Flame: clhs symbol-macrolet 2020-01-10T00:04:42Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/s_symbol.htm 2020-01-10T00:04:48Z White_Flame: harovali ^ 2020-01-10T00:05:06Z aeth: The problem here is that it's O(n) to set an element so you don't want to do it to long lists, and you especially don't want to set many elements in a list. 2020-01-10T00:05:32Z White_Flame: with a symbol macro, you can define A to expand to (first list) 2020-01-10T00:05:33Z aeth: And, right, symbol-macrolet can make a function into a "variable" 2020-01-10T00:05:41Z White_Flame: which will work in both readeing and setf 2020-01-10T00:05:59Z aeth: you can also use with-accessors 2020-01-10T00:06:26Z rtt quit (Remote host closed the connection) 2020-01-10T00:06:38Z aeth: (car l) and (first l) are both an accessor to the cons that accesses the first element 2020-01-10T00:06:48Z rtt joined #lisp 2020-01-10T00:06:49Z aeth: Basically just a shortcut over symbol-macrolet 2020-01-10T00:07:49Z rtt: pretty good, I thought I could write something like this if I wanted 2020-01-10T00:07:58Z aeth: (let ((l (list 1 2 3))) (with-accessors ((first first)) l (setf first 42)) l) 2020-01-10T00:08:53Z rtt: seems there's no need 2020-01-10T00:09:09Z aeth: Maybe an implementation doesn't implement WITH-ACCESSORS via SYMBOL-MACROLET and doesn't have this trick work, but IMO that's a non-conforming implementation. CAR is an accessor, no matter how it's implemented. Accessors don't just have to be those things generated by DEFCLASS. 2020-01-10T00:10:20Z aeth: The spec calls it an accessor, and if it's (accessor object) WITH-ACCESSORS is perfectly natural. http://www.lispworks.com/documentation/HyperSpec/Body/f_car_c.htm 2020-01-10T00:10:36Z aeth: You only need SYMBOL-MACROLET (or a macro that uses it) for cases that aren't as simple as (accessor object) 2020-01-10T00:11:10Z rtt: It would have been an exercise anyway, not that I'd have used this solution. 2020-01-10T00:11:27Z rtt: Most of the time, I can get away without optimizing for space with destructive functions or methods 2020-01-10T00:12:41Z rtt: I'll keep that in mind, shorthand creating like this pretty neat tool to make more readable code 2020-01-10T00:18:20Z slyrus_ joined #lisp 2020-01-10T00:19:22Z hdasch quit (Quit: ZNC 1.6.6+deb1ubuntu0.2 - http://znc.in) 2020-01-10T00:20:08Z harovali: this works (setf *a* '((nil . 2) (nil . 3)) ) (destructuring-bind (a b) *a* (setf (cdr a) 4) (setf (cdr b) 40))) , yields *a* = ((NIL . 4) (NIL . 40)) 2020-01-10T00:21:14Z White_Flame: right, because you're not altering the list *A* itself, but rather components nested within it 2020-01-10T00:21:16Z slyrus__ quit (Ping timeout: 265 seconds) 2020-01-10T00:21:39Z White_Flame: by "the list" itself, I mean the cons cells cdr-chained starting from *A* 2020-01-10T00:22:49Z harovali: White_Flame: yes 2020-01-10T00:22:54Z harovali: this works too: 2020-01-10T00:22:56Z harovali: (setf *a* '((2 . nil) (3 . nil)) ) 2020-01-10T00:23:14Z harovali: (destructuring-bind (a b) *a* (setf (car a) 4) (setf (car b) 40)) 2020-01-10T00:24:00Z harovali: couldn't find a simpler way for the list 2020-01-10T00:24:33Z White_Flame: well, you are still using (car a) and (car b) in this example instead of a variable for the locations of the 2 and 3 2020-01-10T00:24:41Z White_Flame: so it's equivalent 2020-01-10T00:25:20Z White_Flame: if you wanted (setf a-loc 4) and (setf b-loc 40) to work, it'd still have to be a symbol-macro or such 2020-01-10T00:25:54Z harovali: White_Flame: yes 2020-01-10T00:33:31Z Kundry_Wag quit (Remote host closed the connection) 2020-01-10T00:35:50Z turona quit (Ping timeout: 252 seconds) 2020-01-10T00:35:52Z smazga quit (Quit: leaving) 2020-01-10T00:36:09Z turona joined #lisp 2020-01-10T00:37:04Z stepnem quit (Ping timeout: 258 seconds) 2020-01-10T00:40:41Z stepnem joined #lisp 2020-01-10T00:42:04Z rtra quit (Quit: Lost terminal) 2020-01-10T00:43:49Z nckx quit (Quit: Updating my GNU Guix System — https://guix.gnu.org) 2020-01-10T00:43:53Z oxum joined #lisp 2020-01-10T00:45:46Z slyrus joined #lisp 2020-01-10T00:47:38Z slyrus_ quit (Ping timeout: 240 seconds) 2020-01-10T00:48:04Z oni-on-ion quit (Ping timeout: 248 seconds) 2020-01-10T00:49:23Z hdasch joined #lisp 2020-01-10T00:49:49Z nckx joined #lisp 2020-01-10T00:56:54Z Kundry_Wag joined #lisp 2020-01-10T00:57:59Z sjl quit (Quit: WeeChat 2.3-dev) 2020-01-10T01:02:18Z Kundry_Wag quit (Ping timeout: 268 seconds) 2020-01-10T01:05:45Z Kundry_Wag joined #lisp 2020-01-10T01:06:50Z arduo quit (Ping timeout: 240 seconds) 2020-01-10T01:11:11Z Kundry_Wag quit (Ping timeout: 258 seconds) 2020-01-10T01:14:43Z antepod joined #lisp 2020-01-10T01:16:13Z milanj joined #lisp 2020-01-10T01:21:21Z _jrjsmrtn joined #lisp 2020-01-10T01:21:38Z smokeink quit (Quit: Leaving) 2020-01-10T01:22:50Z __jrjsmrtn__ quit (Ping timeout: 268 seconds) 2020-01-10T01:24:25Z Codaraxis_ joined #lisp 2020-01-10T01:25:43Z antepod quit (Quit: WeeChat 2.3) 2020-01-10T01:27:32Z Codaraxis quit (Ping timeout: 260 seconds) 2020-01-10T01:28:12Z Kaisyu7 quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-01-10T01:31:05Z rtt quit (Remote host closed the connection) 2020-01-10T01:38:22Z stepnem quit (Read error: Connection reset by peer) 2020-01-10T01:38:47Z stepnem joined #lisp 2020-01-10T01:40:03Z lavaflow quit (Ping timeout: 260 seconds) 2020-01-10T01:40:48Z MonoBobo quit (Quit: -a- Connection Timed Out) 2020-01-10T01:43:10Z william1_ joined #lisp 2020-01-10T01:44:04Z patlv quit (Quit: Leaving) 2020-01-10T01:44:47Z lavaflow joined #lisp 2020-01-10T01:45:12Z MonoBobo joined #lisp 2020-01-10T01:48:13Z william1_ quit (Ping timeout: 260 seconds) 2020-01-10T01:52:45Z g0d_shatter joined #lisp 2020-01-10T01:54:33Z krid` joined #lisp 2020-01-10T01:58:25Z krid quit (Ping timeout: 268 seconds) 2020-01-10T01:59:26Z pjb: harovali: stop using destructuring-bind! aeth gave you the solution: use with-accessors ! 2020-01-10T01:59:46Z pjb: harovali: note however that it may be more efficient to build a new list! 2020-01-10T01:59:56Z pjb: (or to use a vector). 2020-01-10T02:03:58Z bitmapper quit (Ping timeout: 260 seconds) 2020-01-10T02:21:50Z Necktwi joined #lisp 2020-01-10T02:24:13Z aeth: What you'd want for 'maximal' (still not great if you set a lot) efficiency is probably something that combines with-accessors with destructuring-bind. i.e. read into bindings so reading is O(1) after the initial binding, but set into accessors (and update the binding after the set) which still makes them O(n) 2020-01-10T02:24:26Z aeth: But that's a lot of work, so you're probably just going to have to pick something with various tradeoffs 2020-01-10T02:24:40Z Kundry_Wag joined #lisp 2020-01-10T02:25:14Z aeth: At some point of setting that's not too high (but maybe too high for a typical program) it probably becomes more efficient to build a new list and just use REPLACE on the original at the end. 2020-01-10T02:28:42Z Kaisyu7 joined #lisp 2020-01-10T02:29:15Z aeth: i.e. (flet ((f (x) (+ 31 (* x 11)))) (let ((l (list 1 2 3))) (destructuring-bind (a b c) l (setf a (f a) b (f b) c (f c)) (replace l `(,a ,b ,c))))) 2020-01-10T02:29:16Z smokeink joined #lisp 2020-01-10T02:29:43Z aeth: (the destructuring-bind is where it starts so it's a lot simpler than it looks, it's just that I needed to give it a list and a function to work with) 2020-01-10T02:29:52Z Kundry_Wag quit (Ping timeout: 268 seconds) 2020-01-10T02:30:38Z shifty joined #lisp 2020-01-10T02:30:59Z aeth: But in general if you're setting arbitrary things you usually want a vector instead imo. Unless you're building a data structure that e.g. needs O(1) insert, or if you're starting from an arbitrary point, etc. 2020-01-10T02:32:23Z Kundry_Wag joined #lisp 2020-01-10T02:32:26Z aeth: And technically speaking, a compiler should be able to optimize (replace known-to-be-a-list `(#| this is known to be a temporary, pure list |#)) but none probably do 2020-01-10T02:34:59Z pjb: On thing for with-accessors, is that it costs nothing to name a lot of accessors, contrarily to destructuring-bind which must perform the destructuring to validate the list. 2020-01-10T02:36:16Z aeth: pjb: yes, but unless there's caching (there probably isn't) each accessor is going to cost time on access, which is more of a thing if it's like a length 500 list and you're doing (last foo) 2020-01-10T02:37:10Z aeth: So no matter what there are lots of little costs involved 2020-01-10T02:37:53Z aeth: really, simple-vectors are so much easier to reason about if performance matters one slight bit 2020-01-10T02:38:52Z harovali quit (Remote host closed the connection) 2020-01-10T02:57:25Z Josh_2: hmm can someone help me write a macro that would expand to something like: https://plaster.tymoon.eu/view/1639#1639 where the funcs (remove-trai .. (conver .. op)) would be a λ 2020-01-10T02:57:35Z Josh_2: I have made some attempts but not getting very far :( 2020-01-10T02:58:15Z vidak` joined #lisp 2020-01-10T02:58:57Z dddddd quit (Remote host closed the connection) 2020-01-10T03:04:53Z Domaldel joined #lisp 2020-01-10T03:05:24Z Domaldel quit (Client Quit) 2020-01-10T03:06:17Z aeth: Josh_2: So you want the setter of the accessor with a different getter or with local bindings instead of a getter? Yeah, afaik, the inner LET will replace the outer WITH-ACCESSOR bindings and even the SETF won't work. And that appears to be the case. (let ((l (list 1 2 3))) (with-accessors ((c car)) l (let ((c 42)) (setf c 43) (values c l)))) => (values 43 (1 2 3)) 2020-01-10T03:08:25Z aeth: but apparently you can FLET a (setf f) not just a regular function 2020-01-10T03:08:43Z Lord_of_Life quit (Ping timeout: 268 seconds) 2020-01-10T03:08:46Z Kundry_Wag quit (Remote host closed the connection) 2020-01-10T03:08:53Z Lord_of_Life_ joined #lisp 2020-01-10T03:09:35Z aeth: Josh_2: so you can do something like this: (let ((l (list 1 2 3))) (flet ((f (x) (* (car x) 0)) ((setf f) (new-value x) (setf (car x) new-value))) (with-accessors ((c f)) l (setf c 43) (values c l)))) 2020-01-10T03:10:12Z aeth: => (values 0 (42 2 3)) 2020-01-10T03:10:13Z Lord_of_Life_ is now known as Lord_of_Life 2020-01-10T03:10:20Z Kundry_Wag joined #lisp 2020-01-10T03:10:25Z aeth: i.e. you separated the accessors 2020-01-10T03:10:26Z Josh_2: hmm, well I don't need the setter or the getter, I just want variables of the same name with the func called on all the variables in accessor 2020-01-10T03:10:38Z pi123 joined #lisp 2020-01-10T03:10:45Z thijso quit (Ping timeout: 268 seconds) 2020-01-10T03:10:46Z johnjay quit (Read error: Connection reset by peer) 2020-01-10T03:10:58Z aeth: right, which I just did (the function here being the rather useless (* ... 0) that will either return 0 or error) 2020-01-10T03:14:23Z Kundry_W_ joined #lisp 2020-01-10T03:14:50Z Kundry_Wag quit (Ping timeout: 240 seconds) 2020-01-10T03:15:06Z Josh_2: well I understand what you put 2020-01-10T03:16:20Z jonatack quit (Ping timeout: 248 seconds) 2020-01-10T03:18:22Z ahungry joined #lisp 2020-01-10T03:19:23Z Kundry_W_ quit (Ping timeout: 268 seconds) 2020-01-10T03:19:39Z kark joined #lisp 2020-01-10T03:19:59Z jonatack joined #lisp 2020-01-10T03:22:34Z thijso joined #lisp 2020-01-10T03:27:23Z vidak` quit (Quit: ERC (IRC client for Emacs 26.2)) 2020-01-10T03:29:47Z Josh_2: Well I still don't know how to write the macro 2020-01-10T03:29:55Z Kundry_Wag joined #lisp 2020-01-10T03:30:36Z Josh_2: spend 4 hours failing at writing a macro instead of just writing a normie function when required xD 2020-01-10T03:31:47Z pjb: Josh_2: the problem might be that you don't know what you want. At least, I didn't understand what you wanted at all. 2020-01-10T03:32:10Z pjb: Josh_2: Casting Spels in Lisp Conrad Barski, M.D. http://www.lisperati.com/casting.html 2020-01-10T03:32:37Z papachan joined #lisp 2020-01-10T03:32:42Z papachan quit (Remote host closed the connection) 2020-01-10T03:33:34Z pjb: Also, macros are functions like any other function. If you can define the inputs and the result, you can write a function that does it. Hooking it in a macro is trivial. 2020-01-10T03:33:38Z Josh_2: Well I know what I want, I obviously didn't express the idea properly 2020-01-10T03:33:49Z pjb: (defmacro moo (args…) (moo* args…)) 2020-01-10T03:33:56Z aeth: Josh_2: for one (with more, consider using alexandria) you'd want something like this: (let ((g (gensym))) `(flet ((,g ...) ((setf ,g) ...)) (with-accessors ((,name ,g)) ,thing-being-accessed ,@body))) 2020-01-10T03:34:21Z ahungry quit (Remote host closed the connection) 2020-01-10T03:34:29Z aeth: and now you can control what's being set/read by the accessor in with-accessors by controlling the ... 2020-01-10T03:34:46Z aeth: notice how with-accessors needs to be in the inner scope 2020-01-10T03:36:26Z aeth: and actually, if you use with-accessors instead of symbol-macrolet you know more (the getter can only have one argument and the setter two) and can say something like (flet ((,g (object) ...) ((setf ,g) (new-value object) ...)) ...) 2020-01-10T03:37:06Z aeth: (whether or not those need gensyms and ,s depends on your specific design of their function bodies) 2020-01-10T03:38:50Z ahungry joined #lisp 2020-01-10T03:38:56Z aeth: As a rule of thumb, if the user has access to a function body, you need gensyms, and otherwise you don't... so you need to gensym the function g because it's in the scope of ,@body -- which is user provided -- but you might not necessarily need gensyms within the flet bodies 2020-01-10T03:39:03Z aeth: s/a function body/a body/ 2020-01-10T03:39:09Z ahungry quit (Remote host closed the connection) 2020-01-10T03:40:08Z xkapastel joined #lisp 2020-01-10T03:41:26Z ahungry joined #lisp 2020-01-10T03:43:14Z ebzzry joined #lisp 2020-01-10T03:43:36Z dmiles quit (Read error: No route to host) 2020-01-10T03:43:49Z vidak` joined #lisp 2020-01-10T03:43:56Z william1_ joined #lisp 2020-01-10T03:45:27Z logicmoo joined #lisp 2020-01-10T03:46:57Z EvW1 quit (Ping timeout: 260 seconds) 2020-01-10T03:49:07Z william1_ quit (Ping timeout: 258 seconds) 2020-01-10T03:49:47Z Kundry_Wag quit (Remote host closed the connection) 2020-01-10T03:50:15Z Kundry_Wag joined #lisp 2020-01-10T03:51:57Z karlosz quit (Remote host closed the connection) 2020-01-10T03:54:54Z Kundry_Wag quit (Ping timeout: 265 seconds) 2020-01-10T03:55:32Z Josh_2: yep, I don't know ¯\_(ツ)_/¯ 2020-01-10T04:05:09Z holycow joined #lisp 2020-01-10T04:06:14Z mason joined #lisp 2020-01-10T04:17:36Z beach: Good morning everyone! 2020-01-10T04:17:43Z holycow: hello 2020-01-10T04:22:48Z Josh_2: Morning beach 2020-01-10T04:24:13Z milanj quit (Quit: This computer has gone to sleep) 2020-01-10T04:25:01Z karlosz joined #lisp 2020-01-10T04:26:02Z ebzzry quit (Ping timeout: 240 seconds) 2020-01-10T04:29:40Z Kundry_Wag joined #lisp 2020-01-10T04:30:03Z karlosz quit (Quit: karlosz) 2020-01-10T04:30:39Z akoana left #lisp 2020-01-10T04:31:09Z ahungry: mornin 2020-01-10T04:35:40Z Codaraxis_ quit (Read error: Connection reset by peer) 2020-01-10T04:44:01Z Bike quit (Quit: Lost terminal) 2020-01-10T04:45:40Z karlosz joined #lisp 2020-01-10T04:49:30Z oni-on-ion joined #lisp 2020-01-10T04:51:23Z Kundry_Wag quit (Ping timeout: 260 seconds) 2020-01-10T04:51:38Z oxum quit (Remote host closed the connection) 2020-01-10T04:51:54Z oxum joined #lisp 2020-01-10T04:52:13Z oxum quit (Read error: Connection reset by peer) 2020-01-10T04:53:38Z krid` quit (Ping timeout: 240 seconds) 2020-01-10T05:02:01Z gravicappa joined #lisp 2020-01-10T05:03:12Z jfb4_ joined #lisp 2020-01-10T05:05:13Z harovali joined #lisp 2020-01-10T05:05:58Z jfb4 quit (Ping timeout: 260 seconds) 2020-01-10T05:07:59Z jfb4 joined #lisp 2020-01-10T05:08:51Z jfb4_ quit (Ping timeout: 265 seconds) 2020-01-10T05:10:00Z oxum joined #lisp 2020-01-10T05:12:40Z ahungry quit (Remote host closed the connection) 2020-01-10T05:15:16Z jfb4_ joined #lisp 2020-01-10T05:15:53Z jfb4 quit (Ping timeout: 260 seconds) 2020-01-10T05:22:54Z oxum_ joined #lisp 2020-01-10T05:23:47Z oxum_ quit (Remote host closed the connection) 2020-01-10T05:23:55Z oxum quit (Read error: Connection reset by peer) 2020-01-10T05:24:25Z oxum joined #lisp 2020-01-10T05:24:56Z Kundry_Wag joined #lisp 2020-01-10T05:26:28Z Kundry_Wag_ joined #lisp 2020-01-10T05:29:36Z smokeink quit (Quit: Leaving) 2020-01-10T05:29:51Z harovali: within the body of multiple-value-bind and the body of other system macros such as with-output-to-string , are the lexical variables of the enclosing scopes accesible ? Especially, if there is a do inside these macros, are the lexical variables of the enclosing scopes of the macros accesible inside the do? 2020-01-10T05:29:56Z Kundry_Wag quit (Ping timeout: 268 seconds) 2020-01-10T05:30:26Z Kundry_Wag_ quit (Ping timeout: 240 seconds) 2020-01-10T05:30:50Z beach: Of course. Nesting applies as usual, so everything is accessible unless shadowed. 2020-01-10T05:34:01Z torbo joined #lisp 2020-01-10T05:37:34Z Codaraxis_ joined #lisp 2020-01-10T05:38:59Z rwcom0 joined #lisp 2020-01-10T05:41:13Z rwcom quit (Ping timeout: 268 seconds) 2020-01-10T05:41:14Z rwcom0 is now known as rwcom 2020-01-10T05:44:48Z william1_ joined #lisp 2020-01-10T05:46:58Z dale quit (Quit: My computer has gone to sleep) 2020-01-10T05:47:31Z harovali` joined #lisp 2020-01-10T05:48:19Z igemnace joined #lisp 2020-01-10T05:48:36Z harovali quit (Read error: Connection reset by peer) 2020-01-10T05:49:52Z william1_ quit (Ping timeout: 258 seconds) 2020-01-10T05:51:52Z slyrus_ joined #lisp 2020-01-10T05:54:28Z slyrus quit (Ping timeout: 258 seconds) 2020-01-10T06:06:19Z Buggys quit (Excess Flood) 2020-01-10T06:07:05Z torbo quit (Remote host closed the connection) 2020-01-10T06:07:41Z narimiran joined #lisp 2020-01-10T06:07:53Z Buggys joined #lisp 2020-01-10T06:08:28Z oxum_ joined #lisp 2020-01-10T06:09:38Z Josh_2 quit (Ping timeout: 240 seconds) 2020-01-10T06:12:29Z oxum quit (Ping timeout: 268 seconds) 2020-01-10T06:15:19Z oxum_ quit (Remote host closed the connection) 2020-01-10T06:15:54Z oxum joined #lisp 2020-01-10T06:17:29Z pi123 quit (Ping timeout: 265 seconds) 2020-01-10T06:18:22Z pi123 joined #lisp 2020-01-10T06:20:33Z vlatkoB joined #lisp 2020-01-10T06:21:41Z sauvin joined #lisp 2020-01-10T06:22:04Z quazimodo quit (Ping timeout: 258 seconds) 2020-01-10T06:22:17Z sauvin quit (Max SendQ exceeded) 2020-01-10T06:24:25Z quazimodo joined #lisp 2020-01-10T06:24:59Z pi123 left #lisp 2020-01-10T06:26:06Z pjb quit (Ping timeout: 246 seconds) 2020-01-10T06:27:01Z terpri quit (Remote host closed the connection) 2020-01-10T06:27:26Z terpri joined #lisp 2020-01-10T06:28:09Z oxum_ joined #lisp 2020-01-10T06:31:47Z oxum quit (Ping timeout: 268 seconds) 2020-01-10T06:32:29Z longshi joined #lisp 2020-01-10T06:38:54Z karlosz quit (Quit: karlosz) 2020-01-10T06:39:48Z sauvin joined #lisp 2020-01-10T06:40:51Z varjag joined #lisp 2020-01-10T06:41:18Z varjag quit (Client Quit) 2020-01-10T06:47:23Z adam4567 joined #lisp 2020-01-10T06:55:44Z arduo joined #lisp 2020-01-10T06:58:59Z 7JTABJZ3T joined #lisp 2020-01-10T07:00:03Z harovali` quit (Remote host closed the connection) 2020-01-10T07:03:53Z Shinmera joined #lisp 2020-01-10T07:05:33Z JohnMS_WORK joined #lisp 2020-01-10T07:08:20Z Colleen joined #lisp 2020-01-10T07:10:36Z Kundry_Wag joined #lisp 2020-01-10T07:15:21Z Kundry_Wag quit (Ping timeout: 258 seconds) 2020-01-10T07:16:13Z vlatkoB quit (Remote host closed the connection) 2020-01-10T07:17:29Z vlatkoB joined #lisp 2020-01-10T07:19:47Z xkapastel quit (Quit: Connection closed for inactivity) 2020-01-10T07:30:48Z slyrus__ joined #lisp 2020-01-10T07:32:03Z harovali joined #lisp 2020-01-10T07:32:09Z harovali: I've just upgraded to sbcl-2.0.0 from sbcl-1.5.9. I removed all old 2020-01-10T07:32:09Z harovali: .fasl files from /usr and from my home directory. However when I 2020-01-10T07:32:09Z harovali: try to run the stepper , when it hits a break statement, instead of 2020-01-10T07:32:09Z harovali: showing the code which contains it , it shows an inner file of a 2020-01-10T07:32:12Z harovali: library I'm using, irrelevant to the break. 2020-01-10T07:32:31Z harovali: sorry for the flood 2020-01-10T07:32:42Z harovali: I wonder what else I'm missing 2020-01-10T07:33:14Z quazimodo quit (Ping timeout: 240 seconds) 2020-01-10T07:33:33Z slyrus_ quit (Ping timeout: 260 seconds) 2020-01-10T07:35:20Z quazimodo joined #lisp 2020-01-10T07:35:48Z harovali: be right back 2020-01-10T07:35:56Z harovali quit (Remote host closed the connection) 2020-01-10T07:36:30Z harovali joined #lisp 2020-01-10T07:36:46Z harovali: I'm back , any help is welcome 2020-01-10T07:36:52Z Kundry_Wag joined #lisp 2020-01-10T07:37:13Z jackdaniel: harovali: that seems to be implementation-specific behavior, so you may try asking at #sbcl 2020-01-10T07:37:22Z harovali: jackdaniel: thanks ! 2020-01-10T07:40:19Z oxum_ quit (Remote host closed the connection) 2020-01-10T07:40:54Z oxum joined #lisp 2020-01-10T07:43:19Z scymtym quit (Ping timeout: 268 seconds) 2020-01-10T07:44:14Z rwcom4 joined #lisp 2020-01-10T07:45:39Z william1_ joined #lisp 2020-01-10T07:46:01Z beach` joined #lisp 2020-01-10T07:46:01Z rwcom quit (Ping timeout: 258 seconds) 2020-01-10T07:46:01Z rwcom4 is now known as rwcom 2020-01-10T07:46:43Z Kundry_Wag_ joined #lisp 2020-01-10T07:47:02Z jackdaniel: sure 2020-01-10T07:50:06Z beach quit (Ping timeout: 246 seconds) 2020-01-10T07:50:26Z william1_ quit (Ping timeout: 240 seconds) 2020-01-10T07:51:38Z Kundry_Wag_ quit (Ping timeout: 260 seconds) 2020-01-10T07:52:13Z holycow quit (Quit: leaving) 2020-01-10T08:08:14Z milanj joined #lisp 2020-01-10T08:08:42Z harovali quit (Remote host closed the connection) 2020-01-10T08:10:46Z Duuqnd joined #lisp 2020-01-10T08:11:51Z pjb joined #lisp 2020-01-10T08:12:16Z beach` is now known as beach 2020-01-10T08:14:42Z adam4567 quit (Ping timeout: 260 seconds) 2020-01-10T08:15:29Z Cymew joined #lisp 2020-01-10T08:15:58Z varjag joined #lisp 2020-01-10T08:20:45Z nowhere_man quit (Ping timeout: 268 seconds) 2020-01-10T08:21:57Z grabarz joined #lisp 2020-01-10T08:31:46Z shka_ joined #lisp 2020-01-10T08:36:22Z scymtym joined #lisp 2020-01-10T08:38:58Z Kundry_Wag quit (Remote host closed the connection) 2020-01-10T08:48:47Z slyrus_ joined #lisp 2020-01-10T08:48:53Z slyrus__ quit (Ping timeout: 258 seconds) 2020-01-10T08:51:00Z Kundry_Wag joined #lisp 2020-01-10T08:51:04Z z147 joined #lisp 2020-01-10T08:56:05Z Kundry_Wag quit (Ping timeout: 268 seconds) 2020-01-10T08:57:24Z mingus joined #lisp 2020-01-10T08:57:28Z g0d_shatter quit (Quit: Leaving) 2020-01-10T08:57:45Z brown121408 joined #lisp 2020-01-10T08:58:26Z 7JTABJZ3T quit (Ping timeout: 240 seconds) 2020-01-10T09:00:20Z william1_ joined #lisp 2020-01-10T09:01:08Z longshi quit (Ping timeout: 245 seconds) 2020-01-10T09:01:29Z isoraqathedh joined #lisp 2020-01-10T09:03:11Z longshi joined #lisp 2020-01-10T09:06:31Z hhdave joined #lisp 2020-01-10T09:15:06Z amerlyq joined #lisp 2020-01-10T09:16:09Z _fe_ joined #lisp 2020-01-10T09:19:08Z dilated_dinosaur quit (Ping timeout: 260 seconds) 2020-01-10T09:21:59Z datajerk quit (Ping timeout: 268 seconds) 2020-01-10T09:32:20Z MonoBobo_ joined #lisp 2020-01-10T09:32:30Z datajerk joined #lisp 2020-01-10T09:35:22Z MonoBobo quit (Ping timeout: 268 seconds) 2020-01-10T09:37:42Z davepdotorg joined #lisp 2020-01-10T09:43:07Z dilated_dinosaur joined #lisp 2020-01-10T09:43:37Z dddddd joined #lisp 2020-01-10T09:46:45Z z147 quit (Remote host closed the connection) 2020-01-10T09:47:23Z Kundry_Wag joined #lisp 2020-01-10T09:48:38Z ggole joined #lisp 2020-01-10T09:52:49Z Kundry_Wag quit (Ping timeout: 268 seconds) 2020-01-10T09:54:41Z Kundry_Wag joined #lisp 2020-01-10T09:59:25Z Kundry_Wag quit (Ping timeout: 268 seconds) 2020-01-10T10:03:46Z davd joined #lisp 2020-01-10T10:04:40Z davd: hello there! Does someone have some basic knowledge or experience with Mito (sql library)? And some time to help me? 2020-01-10T10:09:17Z z147 joined #lisp 2020-01-10T10:09:53Z JohnMS_WORK quit (Read error: Connection reset by peer) 2020-01-10T10:10:13Z JohnMS_WORK joined #lisp 2020-01-10T10:14:36Z atgreen joined #lisp 2020-01-10T10:15:00Z Lord_of_Life quit (Read error: Connection reset by peer) 2020-01-10T10:17:27Z frgo quit (Remote host closed the connection) 2020-01-10T10:17:39Z _fe_ quit (Quit: Leaving) 2020-01-10T10:20:01Z Lord_of_Life joined #lisp 2020-01-10T10:21:18Z longshi quit (Ping timeout: 246 seconds) 2020-01-10T10:22:50Z longshi joined #lisp 2020-01-10T10:23:49Z neuro_sys joined #lisp 2020-01-10T10:24:11Z longshi quit (Client Quit) 2020-01-10T10:24:12Z neuro_sys is now known as Guest12070 2020-01-10T10:32:57Z ljavorsk joined #lisp 2020-01-10T10:36:30Z xkapastel joined #lisp 2020-01-10T10:39:19Z scymtym_ joined #lisp 2020-01-10T10:41:08Z scymtym quit (Ping timeout: 248 seconds) 2020-01-10T10:45:10Z Posterdati quit (Read error: Connection reset by peer) 2020-01-10T10:45:54Z Posterdati joined #lisp 2020-01-10T10:50:50Z m00natic joined #lisp 2020-01-10T10:56:51Z gigetoo quit (Ping timeout: 265 seconds) 2020-01-10T11:00:10Z jfb4 joined #lisp 2020-01-10T11:00:34Z davepdotorg quit (Read error: Connection reset by peer) 2020-01-10T11:00:38Z papachan joined #lisp 2020-01-10T11:00:43Z davepdotorg joined #lisp 2020-01-10T11:00:50Z jfb4_ quit (Ping timeout: 240 seconds) 2020-01-10T11:01:28Z ghard joined #lisp 2020-01-10T11:03:45Z cosimone joined #lisp 2020-01-10T11:10:13Z gigetoo joined #lisp 2020-01-10T11:12:12Z _fe_ joined #lisp 2020-01-10T11:13:18Z Xach: davd: no and yes respectively! 2020-01-10T11:16:24Z mingus` joined #lisp 2020-01-10T11:19:35Z mingus quit (Ping timeout: 268 seconds) 2020-01-10T11:32:46Z shka_ quit (Read error: Connection reset by peer) 2020-01-10T11:32:47Z Kundry_Wag joined #lisp 2020-01-10T11:33:20Z shka_ joined #lisp 2020-01-10T11:35:31Z oxum_ joined #lisp 2020-01-10T11:37:42Z oxum_ quit (Remote host closed the connection) 2020-01-10T11:38:16Z oxum_ joined #lisp 2020-01-10T11:38:24Z oxum quit (Read error: Connection reset by peer) 2020-01-10T11:38:33Z jonatack quit (Ping timeout: 260 seconds) 2020-01-10T11:39:46Z oxum joined #lisp 2020-01-10T11:40:46Z milanj quit (Quit: This computer has gone to sleep) 2020-01-10T11:41:10Z william1_ quit (Ping timeout: 268 seconds) 2020-01-10T11:43:13Z oxum_ quit (Ping timeout: 260 seconds) 2020-01-10T11:48:34Z Kundry_Wag_ joined #lisp 2020-01-10T11:48:53Z Kundry_Wag_ quit (Remote host closed the connection) 2020-01-10T11:49:01Z Kundry_Wag_ joined #lisp 2020-01-10T11:49:52Z Xach: i wrote the file compile/run looper thing I talked about yesterday. it saved all my image output and all the code that produced that output. https://imgur.com/a/29QsMTI has a gallery of noodling around with an evolving vectometry program 2020-01-10T12:02:23Z Kundry_Wag_ quit (Remote host closed the connection) 2020-01-10T12:03:40Z Xach: it watches for a new file-write-date, copies the file to a timestamped path, compiles and loads, and if that succeeds, runs a function 2020-01-10T12:03:51Z Xach: one problem is that compiling the new path leads to lots of redefinition warnings 2020-01-10T12:05:57Z remexre: anyone have any advice for producing a statically linked executable w/ sbcl 2.0.0? I got :static-program-op working, but it still dynamically links to libc 2020-01-10T12:06:18Z Duuqnd quit (Ping timeout: 246 seconds) 2020-01-10T12:06:27Z notzmv quit (Ping timeout: 268 seconds) 2020-01-10T12:09:56Z Xach: remexre: that's an interesting idea, i wish i could help. what will you use it for? 2020-01-10T12:09:57Z brown121408 quit (Read error: Connection reset by peer) 2020-01-10T12:10:36Z remexre: My development environment uses glibc, I'm deploying to an environment that uses musl libc 2020-01-10T12:10:55Z brown121407 joined #lisp 2020-01-10T12:12:58Z quazimodo quit (Ping timeout: 260 seconds) 2020-01-10T12:16:04Z _fe_ quit (Ping timeout: 248 seconds) 2020-01-10T12:20:08Z quazimodo joined #lisp 2020-01-10T12:21:37Z Kundry_Wag_ joined #lisp 2020-01-10T12:21:54Z milanj joined #lisp 2020-01-10T12:23:22Z Kundry_Wag_ quit (Remote host closed the connection) 2020-01-10T12:24:37Z cosimone quit (Quit: Terminated!) 2020-01-10T12:29:58Z icer joined #lisp 2020-01-10T12:33:24Z oxum quit (Remote host closed the connection) 2020-01-10T12:34:11Z oxum joined #lisp 2020-01-10T12:34:20Z jmercouris joined #lisp 2020-01-10T12:34:29Z Kundry_Wag quit (Ping timeout: 265 seconds) 2020-01-10T12:35:27Z mingus` quit (Ping timeout: 265 seconds) 2020-01-10T12:35:37Z Guest12070 quit (Ping timeout: 268 seconds) 2020-01-10T12:36:26Z davd quit (Ping timeout: 240 seconds) 2020-01-10T12:37:09Z oxum_ joined #lisp 2020-01-10T12:37:38Z mingus` joined #lisp 2020-01-10T12:39:21Z Kundry_Wag joined #lisp 2020-01-10T12:41:10Z oxum quit (Ping timeout: 268 seconds) 2020-01-10T12:41:39Z oxum_ quit (Remote host closed the connection) 2020-01-10T12:42:13Z oxum joined #lisp 2020-01-10T12:44:12Z Kundry_Wag quit (Ping timeout: 260 seconds) 2020-01-10T12:46:14Z icer left #lisp 2020-01-10T12:47:21Z MonoBobo_ quit (Quit: -a- Connection Timed Out) 2020-01-10T12:48:28Z amerlyq quit (Ping timeout: 258 seconds) 2020-01-10T12:51:22Z MonoBobo joined #lisp 2020-01-10T12:51:36Z zmv joined #lisp 2020-01-10T12:51:40Z bitmapper joined #lisp 2020-01-10T12:52:03Z mingus` quit (Ping timeout: 260 seconds) 2020-01-10T12:52:18Z oni-on-ion quit (Remote host closed the connection) 2020-01-10T12:52:37Z oni-on-ion joined #lisp 2020-01-10T13:00:21Z Kundry_Wag joined #lisp 2020-01-10T13:01:07Z atgreen quit (Ping timeout: 258 seconds) 2020-01-10T13:04:50Z Kundry_Wag quit (Ping timeout: 240 seconds) 2020-01-10T13:05:53Z oxum_ joined #lisp 2020-01-10T13:06:00Z oxum_ quit (Remote host closed the connection) 2020-01-10T13:09:34Z oxum quit (Ping timeout: 265 seconds) 2020-01-10T13:09:59Z cosimone joined #lisp 2020-01-10T13:10:49Z random-nick joined #lisp 2020-01-10T13:11:12Z jmercouris quit (Ping timeout: 268 seconds) 2020-01-10T13:11:16Z lieven: you could try http://statifier.sourceforge.net/ 2020-01-10T13:14:50Z zmv quit (Ping timeout: 240 seconds) 2020-01-10T13:21:29Z patlv joined #lisp 2020-01-10T13:21:49Z jonatack joined #lisp 2020-01-10T13:24:52Z zmv joined #lisp 2020-01-10T13:28:30Z neuro_sys joined #lisp 2020-01-10T13:28:53Z neuro_sys is now known as Guest55748 2020-01-10T13:33:44Z xuxuru joined #lisp 2020-01-10T13:35:50Z Kundry_Wag joined #lisp 2020-01-10T13:36:26Z flip214: luis: thanks, looking 2020-01-10T13:36:30Z flip214: -- 2020-01-10T13:37:18Z flip214: If I've got (DESTRUCTURING-BIND (a (b c)) (some-fn)), but the (c d) is optional, how would I specify that? 2020-01-10T13:37:54Z flip214: (a &optional (b c)) would use c as default value for B... I guess I can't destructure optional data, right? 2020-01-10T13:38:25Z flip214: Is there something more compact than (D-B (a b?) (some-fn) (if b? (d-b (b c) b? ...)))? 2020-01-10T13:40:06Z Shinmera: &optional ((b c) '(NIL NIL)) 2020-01-10T13:40:59Z Kundry_Wag quit (Ping timeout: 268 seconds) 2020-01-10T13:42:54Z scymtym__ joined #lisp 2020-01-10T13:44:28Z flip214: thanks! and for (a (b (c d))) with the b and c parts being optional I would need (a &optional ((b &optional ((c d) '(NIL NIL))) '(NIL (NIL NIL)))) then? Ugh. 2020-01-10T13:45:06Z davepdotorg quit (Read error: Connection reset by peer) 2020-01-10T13:45:15Z davepdotorg joined #lisp 2020-01-10T13:46:44Z scymtym_ quit (Ping timeout: 248 seconds) 2020-01-10T13:48:22Z remexre: lieven: hm, I'll try it; not supporting aarch64 is a bummer though 2020-01-10T13:51:52Z xuxuru quit (Quit: xuxuru) 2020-01-10T13:53:01Z Shinmera: flip214: my advice is to 1) not structure your data that deep 2) not destructure it in one place 2020-01-10T13:53:32Z flip214: Shinmera: the data comes from esrap ;) 2020-01-10T13:53:43Z flip214: but perhaps there's my original problem. 2020-01-10T13:53:55Z rwcom2 joined #lisp 2020-01-10T13:54:16Z flip214: I need to parse "", "a", "a,", "a,a", "a,a," etc. 2020-01-10T13:54:28Z flip214: so the separator "," might not be followed by another element 2020-01-10T13:54:44Z milanj quit (Quit: This computer has gone to sleep) 2020-01-10T13:55:05Z flip214: and I currently use (defrule args-or-empty (? (and element (? (and separator args-or-empty))))) 2020-01-10T13:55:14Z rwcom quit (Ping timeout: 240 seconds) 2020-01-10T13:55:16Z rwcom2 is now known as rwcom 2020-01-10T13:56:11Z lucasb joined #lisp 2020-01-10T13:56:15Z Kundry_Wag joined #lisp 2020-01-10T13:56:36Z lieven: remexre: you can just list all dynamic libraries it uses with ldd, copy them over and set LD_LIBRARY_PATH 2020-01-10T13:56:52Z remexre: yeah, but doing that with libc feels wrong :/ 2020-01-10T13:57:20Z bitmapper quit 2020-01-10T13:57:27Z jonatack quit (Ping timeout: 268 seconds) 2020-01-10T13:57:32Z remexre: it sounds like aslr might mess with statifier too, and I don't really wanna disable that 2020-01-10T13:58:28Z Shinmera: lieven: if only it were that easy 2020-01-10T13:59:08Z jonatack joined #lisp 2020-01-10T13:59:16Z flip214: lieven: you'll need to use strace to see _dynamically_ linked libraries (like all the _nss), and then it depends on the configuration - another system might use ldap and require nss_ldap as well, etc. 2020-01-10T14:00:01Z MonoBobo quit (Quit: -a- Connection Timed Out) 2020-01-10T14:00:25Z remexre: tbh, might just use appimage and sacrifice ideological purity 2020-01-10T14:01:02Z remexre: augh, nope, appimage needs glibc 2020-01-10T14:01:04Z remexre: wtf 2020-01-10T14:01:13Z Arcaelyx joined #lisp 2020-01-10T14:01:53Z zulu-inuoe_ joined #lisp 2020-01-10T14:02:01Z Shinmera: flip214: glibc version dependency is the biggest problem. 2020-01-10T14:02:10Z Shinmera: and once you try to ship that you create your own hellscape 2020-01-10T14:02:14Z Shinmera: see: Portacle 2020-01-10T14:02:42Z remexre: ^^ I get bitten by this on a weekly basis 2020-01-10T14:03:52Z flip214: Shinmera: yeah, getting a version that doesn't have security holes but still works with old kernels is a major headache 2020-01-10T14:03:56Z remexre: I build software on my local glibc2.29 machine, copy to ubuntu's glibc2.26, end up needing to recompile 2020-01-10T14:03:57Z lieven: flip214: I know but to a first approximation it works 2020-01-10T14:05:21Z zulu-inuoe quit (Ping timeout: 265 seconds) 2020-01-10T14:05:36Z _fe_ joined #lisp 2020-01-10T14:05:39Z MonoBobo joined #lisp 2020-01-10T14:08:35Z krid joined #lisp 2020-01-10T14:09:44Z _fe_ quit (Client Quit) 2020-01-10T14:13:29Z Guest55748 quit (Ping timeout: 268 seconds) 2020-01-10T14:13:43Z Bike joined #lisp 2020-01-10T14:13:53Z ghard quit (Read error: No route to host) 2020-01-10T14:15:30Z FreeBirdLjj joined #lisp 2020-01-10T14:18:13Z bitmapper joined #lisp 2020-01-10T14:19:52Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2020-01-10T14:22:15Z LiamH joined #lisp 2020-01-10T14:22:36Z neuro_sys joined #lisp 2020-01-10T14:22:46Z amerlyq joined #lisp 2020-01-10T14:22:59Z neuro_sys is now known as Guest11084 2020-01-10T14:23:03Z papachan quit (Ping timeout: 260 seconds) 2020-01-10T14:25:41Z FreeBirdLjj joined #lisp 2020-01-10T14:25:50Z patlv quit (Ping timeout: 258 seconds) 2020-01-10T14:26:19Z EvW joined #lisp 2020-01-10T14:27:37Z cosimone quit (Remote host closed the connection) 2020-01-10T14:28:06Z cosimone joined #lisp 2020-01-10T14:36:48Z Kundry_W_ joined #lisp 2020-01-10T14:36:48Z Kundry_Wag quit (Read error: Connection reset by peer) 2020-01-10T14:42:18Z Odin- quit (Ping timeout: 260 seconds) 2020-01-10T14:45:01Z holycow joined #lisp 2020-01-10T14:46:29Z JohnMS_WORK quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2020-01-10T14:49:26Z Cymew quit (Ping timeout: 268 seconds) 2020-01-10T14:49:31Z william1_ joined #lisp 2020-01-10T14:58:24Z XenophonF joined #lisp 2020-01-10T15:00:01Z MonoBobo quit (Quit: -a- Connection Timed Out) 2020-01-10T15:00:56Z pfdietz joined #lisp 2020-01-10T15:02:08Z flazh quit (Ping timeout: 260 seconds) 2020-01-10T15:03:21Z cosimone quit (Quit: Terminated!) 2020-01-10T15:09:05Z Lord_of_Life_ joined #lisp 2020-01-10T15:09:39Z MonoBobo joined #lisp 2020-01-10T15:10:47Z enrio joined #lisp 2020-01-10T15:11:34Z Lord_of_Life quit (Ping timeout: 265 seconds) 2020-01-10T15:11:56Z Lord_of_Life_ is now known as Lord_of_Life 2020-01-10T15:16:24Z papachan joined #lisp 2020-01-10T15:24:53Z monokrom joined #lisp 2020-01-10T15:34:41Z holycow quit (Quit: Lost terminal) 2020-01-10T15:35:24Z milanj joined #lisp 2020-01-10T15:36:46Z Kundry_Wag joined #lisp 2020-01-10T15:41:14Z Kundry_Wag quit (Ping timeout: 240 seconds) 2020-01-10T15:42:17Z Kundry_W_ quit (Remote host closed the connection) 2020-01-10T15:42:59Z jonatack quit (Ping timeout: 265 seconds) 2020-01-10T15:49:27Z flazh joined #lisp 2020-01-10T15:51:43Z brown121407 quit (Ping timeout: 260 seconds) 2020-01-10T15:53:16Z pfdietz quit (Remote host closed the connection) 2020-01-10T15:53:23Z Kundry_Wag joined #lisp 2020-01-10T16:00:01Z MonoBobo quit (Quit: -a- Connection Timed Out) 2020-01-10T16:05:00Z karayan joined #lisp 2020-01-10T16:05:39Z MonoBobo joined #lisp 2020-01-10T16:07:25Z Guest11084 quit (Ping timeout: 258 seconds) 2020-01-10T16:09:55Z karlosz joined #lisp 2020-01-10T16:10:51Z smazga joined #lisp 2020-01-10T16:13:43Z MonoBobo_ joined #lisp 2020-01-10T16:16:49Z MonoBobo quit (Ping timeout: 268 seconds) 2020-01-10T16:23:38Z ljavorsk quit (Ping timeout: 240 seconds) 2020-01-10T16:24:58Z Kundry_Wag_ joined #lisp 2020-01-10T16:25:59Z xkapastel quit (Quit: Connection closed for inactivity) 2020-01-10T16:27:11Z XenophonF quit (Quit: leaving) 2020-01-10T16:28:46Z amerlyq quit (Quit: amerlyq) 2020-01-10T16:29:52Z Kundry_Wag_ quit (Ping timeout: 265 seconds) 2020-01-10T16:33:13Z papachan quit (Quit: Leaving) 2020-01-10T16:37:56Z EvW quit (Ping timeout: 248 seconds) 2020-01-10T16:38:50Z jfb4 quit (Ping timeout: 240 seconds) 2020-01-10T16:39:07Z jackdaniel: huh, The function QL-SETUP::QCMMERGE is undefined. 2020-01-10T16:39:19Z jackdaniel: Xach: should I be concerned? :) 2020-01-10T16:39:25Z jackdaniel: (i.e that my lisp doesn't start! ,) 2020-01-10T16:39:55Z FreeBirdLjj quit (Remote host closed the connection) 2020-01-10T16:40:00Z jfb4 joined #lisp 2020-01-10T16:41:05Z Xach: heck yeah 2020-01-10T16:41:09Z Xach: what produced that? 2020-01-10T16:41:28Z jackdaniel: there is (push (qcmmerge "quicklisp/") asdf:*central-registry*) in setup.lisp near the end of the file 2020-01-10T16:42:25Z anewuser joined #lisp 2020-01-10T16:42:45Z Xach: jackdaniel: that must be a local edit 2020-01-10T16:43:01Z jackdaniel: quite unlikely 2020-01-10T16:43:17Z karayan quit (Read error: Connection reset by peer) 2020-01-10T16:43:23Z jackdaniel: it could be some ancient setup.lisp, but rather not a local edit 2020-01-10T16:43:48Z Xach: Ok. 2020-01-10T16:44:16Z Xach: It is not the setup.lisp that is distributed as part of quicklisp 2020-01-10T16:44:19Z karayan joined #lisp 2020-01-10T16:44:35Z jfb4_ joined #lisp 2020-01-10T16:44:48Z jfb4 quit (Ping timeout: 260 seconds) 2020-01-10T16:45:03Z Xach: setup.lisp from quicklisp has sha256 sum 2a7fbb8dbda22bb932ad12898f2ad3ebf1e770a4d0992cf4a2debe5739e35801 2020-01-10T16:45:43Z jackdaniel: hm 2020-01-10T16:47:10Z jackdaniel: either way changing it to qmerge made it work. was there ever function qcmmerge in quicklisp? if not, then maybe it was some kind of accidental edit from a a few days back 2020-01-10T16:48:17Z Xach: never was there such a function 2020-01-10T16:48:33Z jackdaniel: uhm, then sorry for a false alarm 2020-01-10T16:48:48Z Xach: it is no bother 2020-01-10T16:48:57Z Xach: a little excitement is good for the soul 2020-01-10T16:49:08Z Xach: but only a little 2020-01-10T16:49:41Z jfb4_ quit (Ping timeout: 265 seconds) 2020-01-10T16:50:13Z jfb4 joined #lisp 2020-01-10T16:50:13Z _fe_ joined #lisp 2020-01-10T16:50:30Z whiteline quit (Read error: Connection reset by peer) 2020-01-10T16:51:47Z whiteline joined #lisp 2020-01-10T16:51:56Z X-Scale` joined #lisp 2020-01-10T16:53:12Z X-Scale quit (Ping timeout: 268 seconds) 2020-01-10T16:53:13Z X-Scale` is now known as X-Scale 2020-01-10T16:53:28Z EvW1 joined #lisp 2020-01-10T16:55:35Z dale_ joined #lisp 2020-01-10T16:55:45Z dale_ is now known as dale 2020-01-10T16:56:58Z Kundry_Wag quit (Remote host closed the connection) 2020-01-10T17:00:17Z varjag quit (Quit: ERC (IRC client for Emacs 25.2.2)) 2020-01-10T17:00:52Z frgo joined #lisp 2020-01-10T17:02:27Z krid quit (Ping timeout: 268 seconds) 2020-01-10T17:05:21Z klltkr joined #lisp 2020-01-10T17:05:43Z davepdotorg quit (Remote host closed the connection) 2020-01-10T17:05:51Z _fe_ quit (Quit: Leaving) 2020-01-10T17:06:30Z pfdietz joined #lisp 2020-01-10T17:06:33Z _fe_ joined #lisp 2020-01-10T17:08:03Z jmercouris joined #lisp 2020-01-10T17:08:33Z jmercouris: how can I take a list (list 0 1 2 3 4) and loop having access to both 0 and 1 in the loop body, and then 2 and 3 2020-01-10T17:08:39Z fe_ joined #lisp 2020-01-10T17:08:50Z jmercouris: basically, I want to do a (loop for element in (list 0 1 2 3 4) ...) and have a access to the subsequent element 2020-01-10T17:09:10Z fe_ quit (Client Quit) 2020-01-10T17:09:12Z jmercouris: I thought of nth, that seems inefficient though 2020-01-10T17:09:39Z jmercouris: not sure if for on will work in parenscript 2020-01-10T17:09:42Z beach: (loop for (a b) on list ...) 2020-01-10T17:09:42Z jmercouris: I should have mentioned that 2020-01-10T17:09:48Z jmercouris: I will try it though 2020-01-10T17:11:30Z _fe_ quit (Quit: Leaving) 2020-01-10T17:11:41Z _fe_ joined #lisp 2020-01-10T17:11:51Z jmercouris: beach: OK that works, how can I get it to skip every other element? 2020-01-10T17:12:01Z jmercouris: (loop for (a b) on (list 0 1 2 3) do (print "lol")) -> "lol" x 4 2020-01-10T17:12:06Z jmercouris: where I would really like a "lol" x 2 2020-01-10T17:12:16Z jmercouris: not sure if I am making sense, I've been programming all day 2020-01-10T17:12:28Z beach: (loop for (a b) on list by #'cddr ...) 2020-01-10T17:12:37Z Kundry_Wag joined #lisp 2020-01-10T17:12:56Z Josh_2 joined #lisp 2020-01-10T17:13:04Z jmercouris: I don't think that will work in parenscript, but there must be an equivalent in js 2020-01-10T17:13:44Z beach: Can't help you with that, sorry. 2020-01-10T17:14:16Z sjl joined #lisp 2020-01-10T17:14:18Z alandipert: jmercouris is it true to say you want to split the input list into a list of succeeding pairs? 2020-01-10T17:14:39Z jmercouris: alandipert: yes, I believe that is correct 2020-01-10T17:14:42Z beach: LOOP is just a macro, so expand the macro and use the expansion. I would think that would be automatic. 2020-01-10T17:15:25Z alandipert: jmercouris in JS and FP worlds that operation is called 'chunk' or 'partition', various util libs have it or you could find a snippet that does it 2020-01-10T17:15:42Z jmercouris: alandipert: OK, thank you 2020-01-10T17:15:57Z jmercouris: beach: OK, I will think a little bit more about this, thank you 2020-01-10T17:17:26Z Kundry_Wag quit (Ping timeout: 268 seconds) 2020-01-10T17:18:01Z jmercouris: well, I ended up doing the naieve approach with step and elt... for now 2020-01-10T17:18:14Z jmercouris: I'll think about it, I don't like it, but these are the limitations of parenscript... 2020-01-10T17:20:09Z alandipert: jmercouris happy to help. out of curiousity, do you know why parenscript doesn't work for this? 2020-01-10T17:23:12Z jmercouris: alandipert: I couldn't think of a javascript function that has the equivalent functionality of cddr 2020-01-10T17:23:30Z jmercouris: maybe I could have chained some other functions in a lambda or something though 2020-01-10T17:23:31Z Bike: er, but you're still working with lists? 2020-01-10T17:23:43Z gxt quit (Ping timeout: 240 seconds) 2020-01-10T17:23:47Z jmercouris: I'm working with javascript lists 2020-01-10T17:23:56Z jmercouris: so I would need a javascript function to return subsequent elements 2020-01-10T17:24:06Z jmercouris: I just don't know enough javascript :( 2020-01-10T17:24:11Z Bike: doesn't seem like loop could possibly work at all, then 2020-01-10T17:24:27Z jmercouris: well, what I did was this: (loop for i from 0 to (- (length substrings) 1) by 2 2020-01-10T17:24:35Z Bike: or nth, or anything, since you're actually doing javascript...? 2020-01-10T17:24:50Z jmercouris: and then I do (elt substrings i), (elt substrings (+ 1 i) 2020-01-10T17:25:07Z jmercouris: well, parenscript compiles to javascript 2020-01-10T17:27:48Z Bike: parenscript works with a language that looks like common lisp but isn't. you should mention that sorta thing before someone tries telling you about loop, you know? 2020-01-10T17:28:07Z whiteline quit (Remote host closed the connection) 2020-01-10T17:28:14Z Bike: the manual doesn't seem to describe the parenscript loop in detail... 2020-01-10T17:28:32Z whiteline joined #lisp 2020-01-10T17:33:29Z Bike: does seem to support for-on in some capacity 2020-01-10T17:34:10Z Bike: except you'd use "by 2" instead of "by #'cddr", if i'm reading the source correctly 2020-01-10T17:34:44Z jonatack joined #lisp 2020-01-10T17:34:48Z Bike: https://gitlab.common-lisp.net/parenscript/parenscript/blob/master/src/lib/ps-loop.lisp#L212 2020-01-10T17:35:18Z Bike: so array.slice(2) as cddr. 2020-01-10T17:37:30Z hhdave quit (Quit: hhdave) 2020-01-10T17:38:53Z krid joined #lisp 2020-01-10T17:41:01Z neuro_sys joined #lisp 2020-01-10T17:41:26Z neuro_sys is now known as Guest87024 2020-01-10T17:43:33Z brown121408 joined #lisp 2020-01-10T17:45:33Z jmercouris quit (Ping timeout: 258 seconds) 2020-01-10T17:46:43Z eddof13 joined #lisp 2020-01-10T17:47:03Z Kundry_Wag joined #lisp 2020-01-10T17:50:28Z _fe_ quit (Ping timeout: 248 seconds) 2020-01-10T17:51:53Z Kundry_Wag quit (Ping timeout: 260 seconds) 2020-01-10T17:58:24Z rwcom8 joined #lisp 2020-01-10T17:59:21Z slac-in-the-box joined #lisp 2020-01-10T18:00:03Z rwcom quit (Ping timeout: 260 seconds) 2020-01-10T18:00:03Z rwcom8 is now known as rwcom 2020-01-10T18:06:18Z slyrus__ joined #lisp 2020-01-10T18:08:56Z slyrus_ quit (Ping timeout: 258 seconds) 2020-01-10T18:10:47Z slyrus_ joined #lisp 2020-01-10T18:13:22Z slyrus__ quit (Ping timeout: 268 seconds) 2020-01-10T18:14:24Z grabarz quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-10T18:15:19Z Kundry_Wag joined #lisp 2020-01-10T18:20:33Z Kundry_Wag quit (Ping timeout: 265 seconds) 2020-01-10T18:22:00Z karayan quit (Ping timeout: 265 seconds) 2020-01-10T18:22:46Z karayan joined #lisp 2020-01-10T18:25:51Z Kundry_Wag joined #lisp 2020-01-10T18:27:34Z lavaflow quit (Quit: WeeChat 2.6) 2020-01-10T18:30:58Z Kundry_Wag quit (Ping timeout: 260 seconds) 2020-01-10T18:32:47Z m00natic quit (Remote host closed the connection) 2020-01-10T18:32:51Z ggole quit (Quit: Leaving) 2020-01-10T18:37:04Z enrio quit (Quit: Leaving) 2020-01-10T18:44:05Z gareppa joined #lisp 2020-01-10T18:48:02Z gareppa quit (Remote host closed the connection) 2020-01-10T18:48:05Z Kundry_Wag joined #lisp 2020-01-10T18:50:53Z slyrus__ joined #lisp 2020-01-10T18:53:27Z slyrus_ quit (Ping timeout: 268 seconds) 2020-01-10T18:55:49Z lavaflow joined #lisp 2020-01-10T18:57:34Z karayan quit (Remote host closed the connection) 2020-01-10T18:58:14Z karayan joined #lisp 2020-01-10T19:00:53Z slyrus_ joined #lisp 2020-01-10T19:03:38Z slyrus__ quit (Ping timeout: 260 seconds) 2020-01-10T19:06:18Z slyrus__ joined #lisp 2020-01-10T19:08:44Z slyrus_ quit (Ping timeout: 258 seconds) 2020-01-10T19:08:53Z william1_ quit (Ping timeout: 260 seconds) 2020-01-10T19:19:18Z slyrus_ joined #lisp 2020-01-10T19:22:26Z slyrus__ quit (Ping timeout: 268 seconds) 2020-01-10T19:24:39Z milanj quit (Quit: This computer has gone to sleep) 2020-01-10T19:26:08Z EvW1 quit (Ping timeout: 245 seconds) 2020-01-10T19:26:33Z sauvin quit (Read error: Connection reset by peer) 2020-01-10T19:27:49Z zmv quit (Remote host closed the connection) 2020-01-10T19:28:01Z decent-username joined #lisp 2020-01-10T19:28:32Z decent-username: good evening. Does someone know a tool, which visualizes the structure of an asdf project? 2020-01-10T19:30:01Z decent-username: That would be super useful. I was thinking about something that creates a png/svg which shows each lisp-file and all the functions, classes, method, macros and variables defined in that file. 2020-01-10T19:31:24Z Xach: decent-username: i haven't heard of anything like that. it would be cool. 2020-01-10T19:32:26Z decent-username: It shouldn't be too hard to implement. I just not experienced with graphics libraries. 2020-01-10T19:32:37Z eddof13 quit (Quit: eddof13) 2020-01-10T19:35:19Z sjl: You could output a dot file and render it with graphviz and not worry about rendering graphics at all 2020-01-10T19:37:25Z decent-username: sjl: I'm not sure what you mean when you say "dot file". 2020-01-10T19:37:53Z jmercouris joined #lisp 2020-01-10T19:37:53Z sjl: decent-username: https://en.wikipedia.org/wiki/DOT_%28graph_description_language%29 2020-01-10T19:37:58Z jmercouris: Bike: could work 2020-01-10T19:38:17Z dlowe: <3 graphviz 2020-01-10T19:39:06Z eddof13 joined #lisp 2020-01-10T19:39:14Z decent-username: dot files are awesome!!! 2020-01-10T19:39:34Z decent-username: I love how intuitive the notation is. 2020-01-10T19:39:40Z _death: yep.. and cl-dot is a nice library as well 2020-01-10T19:39:47Z sjl: There's also http://foldr.org/~michaelw/projects/cl-dot/ if you don't want ot print it from scratch 2020-01-10T19:39:49Z sjl: yeah 2020-01-10T19:40:43Z jmercouris: parenscript manual says: (new (-Person age shoe-size)) -> new Person(age, shoeSize); 2020-01-10T19:40:56Z jmercouris: However, in my REPL: (ps:ps (new (-Person age shoe-size))) -> "new(Person(age, shoeSize));" 2020-01-10T19:41:02Z jmercouris: can anyone confir? 2020-01-10T19:41:06Z jmercouris: s/confir/confir 2020-01-10T19:41:11Z jmercouris: s/confir/confirm 2020-01-10T19:41:14Z jackdaniel: confir confir :) 2020-01-10T19:41:37Z jmercouris: jackdaniel: are you confirming? 2020-01-10T19:41:58Z jackdaniel: in fact I do, but above message was meant as a joke 2020-01-10T19:42:05Z jmercouris: damn, that is unfortunate :( 2020-01-10T19:42:13Z jmercouris: well, how will I make a hash table then? 2020-01-10T19:42:14Z jackdaniel: "new(Person(age, shoeSize));" ; ← 2020-01-10T19:42:20Z jackdaniel: this is waht I get 2020-01-10T19:42:29Z jmercouris: I need to do new Hash() 2020-01-10T19:42:47Z jackdaniel: if you want to program in javascript why don't you do just that? 2020-01-10T19:43:10Z jmercouris: Negative 2020-01-10T19:43:13Z jmercouris: I don't want to program in javascript 2020-01-10T19:43:23Z jmercouris: I am using parenscript for that purpose 2020-01-10T19:43:31Z jackdaniel: s/want/need/ 2020-01-10T19:43:33Z jmercouris: aha, you have to do ps:new 2020-01-10T19:44:14Z jmercouris: well, parenscript is a fine enough language :-) 2020-01-10T19:44:36Z _death: javascript objects are a javascript man's hash tables? 2020-01-10T19:44:48Z jmercouris: javascript hash tables are an object 2020-01-10T19:45:15Z jmercouris: (ps:ps (defvar *nodes* (ps:new (-Hash)))) -> "if ('undefined' === typeof NODES) { var NODES = new Hash(); };" 2020-01-10T19:45:31Z _death: what I mean is.. var NODES = {}; 2020-01-10T19:45:38Z jmercouris: I can't just type that in parenscript 2020-01-10T19:45:45Z jmercouris: but yes, var NODES = {} is equivalent 2020-01-10T19:45:56Z jmercouris: I belive {} is just syntactical sugar 2020-01-10T19:46:20Z _death: I don't know that there is "Hash"? 2020-01-10T19:46:22Z jmercouris quit (Read error: Connection timed out) 2020-01-10T19:46:25Z Bike: glancing at the manual, maybe (create) for {} 2020-01-10T19:46:29Z _death: maybe you mean new Object() 2020-01-10T19:46:36Z jmercouris joined #lisp 2020-01-10T19:47:03Z jmercouris: death: you are right. damn 2020-01-10T19:47:26Z jmercouris: seems I will have to just make an object... 2020-01-10T19:47:36Z jmercouris: I got confused looking at some javascript 2020-01-10T19:49:26Z Bike: well, (ps:ps (ps:create)) => "{ . };", close enough 2020-01-10T19:49:38Z Bike: no period. don't know where that came from. 2020-01-10T19:49:46Z jmercouris: (ps:new (-Object)) 2020-01-10T19:50:05Z _death: you can also pass the initial contents to ps:create 2020-01-10T19:50:14Z jmercouris: Indeed, to make the literal 2020-01-10T19:54:01Z vlatkoB quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) 2020-01-10T19:56:44Z rixard quit 2020-01-10T19:57:50Z harovali joined #lisp 2020-01-10T19:59:46Z jmercouris: (ps:ps (ps:@ foo fish)) -> "foo.fish;" 2020-01-10T19:59:55Z jmercouris: (ps:ps (ps:@ foo 0)) -> "foo[0];" 2020-01-10T20:00:05Z jmercouris: However, I would like foo[fish] 2020-01-10T20:00:08Z jmercouris: any ideas? 2020-01-10T20:00:27Z pjb: (aref foo fish) 2020-01-10T20:00:32Z _death: parenscript manual has examples for it 2020-01-10T20:00:58Z jmercouris: 1 2020-01-10T20:01:02Z jmercouris: Yes 2020-01-10T20:01:05Z dlowe: js foo[fish] is exactly foo.fish 2020-01-10T20:01:16Z jmercouris: what if fish = 5 2020-01-10T20:01:17Z sjl quit (Ping timeout: 268 seconds) 2020-01-10T20:01:21Z jmercouris: is it still the same? 2020-01-10T20:01:23Z _death: dlowe: you mean foo["fish"] 2020-01-10T20:01:26Z jmercouris: foo[5] = foo.fish? 2020-01-10T20:01:31Z jmercouris: I don't believe so 2020-01-10T20:01:48Z dlowe: _death: yes, that's what I mean 2020-01-10T20:02:05Z gareppa joined #lisp 2020-01-10T20:03:57Z varjag joined #lisp 2020-01-10T20:04:57Z shifty quit (Ping timeout: 265 seconds) 2020-01-10T20:06:40Z sjl joined #lisp 2020-01-10T20:07:31Z milanj joined #lisp 2020-01-10T20:08:14Z xuxuru joined #lisp 2020-01-10T20:12:47Z hostile quit (Ping timeout: 260 seconds) 2020-01-10T20:15:38Z Kundry_W_ joined #lisp 2020-01-10T20:15:38Z Kundry_Wag quit (Read error: Connection reset by peer) 2020-01-10T20:16:14Z cosimone joined #lisp 2020-01-10T20:21:01Z jmercouris quit (Ping timeout: 268 seconds) 2020-01-10T20:22:43Z Guest87024 quit (Ping timeout: 258 seconds) 2020-01-10T20:22:47Z MonoBobo_ quit (Quit: -a- Connection Timed Out) 2020-01-10T20:23:00Z eddof13 quit (Quit: eddof13) 2020-01-10T20:23:49Z xuxuru quit (Quit: xuxuru) 2020-01-10T20:25:38Z slyrus joined #lisp 2020-01-10T20:25:50Z hostile joined #lisp 2020-01-10T20:26:48Z MonoBobo joined #lisp 2020-01-10T20:27:38Z slyrus_ quit (Ping timeout: 240 seconds) 2020-01-10T20:34:44Z scymtym__ quit (Ping timeout: 248 seconds) 2020-01-10T20:35:22Z rixard joined #lisp 2020-01-10T20:38:14Z atgreen joined #lisp 2020-01-10T20:38:47Z rixard quit (Remote host closed the connection) 2020-01-10T20:39:11Z rixard joined #lisp 2020-01-10T20:39:18Z anewuser quit (Ping timeout: 260 seconds) 2020-01-10T20:39:28Z Codaraxis_ quit (Quit: Leaving) 2020-01-10T20:41:18Z jmercouris joined #lisp 2020-01-10T20:51:56Z ramenbytes joined #lisp 2020-01-10T20:52:36Z ramenbytes quit (Remote host closed the connection) 2020-01-10T20:58:01Z scymtym joined #lisp 2020-01-10T20:58:42Z eddof13 joined #lisp 2020-01-10T20:59:39Z mercourisj joined #lisp 2020-01-10T21:01:14Z jmercouris quit (Ping timeout: 240 seconds) 2020-01-10T21:11:39Z gravicappa quit (Ping timeout: 265 seconds) 2020-01-10T21:14:04Z mercourisj quit (Ping timeout: 265 seconds) 2020-01-10T21:16:49Z slyrus_ joined #lisp 2020-01-10T21:19:27Z slyrus quit (Ping timeout: 258 seconds) 2020-01-10T21:20:58Z karlosz quit (Quit: karlosz) 2020-01-10T21:22:46Z karlosz joined #lisp 2020-01-10T21:26:58Z Kundry_W_ quit (Remote host closed the connection) 2020-01-10T21:30:38Z narimiran quit (Ping timeout: 260 seconds) 2020-01-10T21:31:51Z Bike quit (Quit: Bike) 2020-01-10T21:32:57Z XenophonF joined #lisp 2020-01-10T21:37:33Z shka_ quit (Ping timeout: 265 seconds) 2020-01-10T21:37:47Z whiteline quit (Remote host closed the connection) 2020-01-10T21:38:17Z whiteline joined #lisp 2020-01-10T21:38:49Z XenophonF: anyone here using one of the ZeroMQ libraries that can share some working examples? 2020-01-10T21:39:34Z XenophonF: I'm struggling with getting cl-zmq or lisp-zmq to work (both installed via Quicklisp on SBCL). 2020-01-10T21:39:53Z galdor: cl-zmq was already 7 years ago when I wrote lisp-zmq 2020-01-10T21:40:08Z galdor: I haven't used lisp-zmq or zmq in general for years 2020-01-10T21:40:15Z galdor: zmq in general never really took off 2020-01-10T21:40:28Z XenophonF: :/ 2020-01-10T21:40:29Z galdor: what's the problem (who knows) 2020-01-10T21:40:30Z XenophonF: ok 2020-01-10T21:40:40Z galdor: *was already dead 2020-01-10T21:41:03Z XenophonF: for now I'm just trying to learn ZeroMQ by following the examples on the project's wiki 2020-01-10T21:41:11Z XenophonF: but I can't get any of them to work 2020-01-10T21:41:37Z XenophonF: sometimes the code references symbols that don't seem to exist, e.g., one of them has a call to (make-instance 'zmq:msg) 2020-01-10T21:41:51Z XenophonF: or there's references to packages that don't exist, e.g., something called packer 2020-01-10T21:42:14Z XenophonF: I guess I could do it in Python but thought CL might be fun instead. 2020-01-10T21:42:24Z galdor: there's nothing about 'packer' in lisp-zmq, I'm not sure what's happening 2020-01-10T21:42:32Z galdor: having the actual code and error messages would help ;) 2020-01-10T21:42:35Z XenophonF: sure! 2020-01-10T21:42:54Z XenophonF: just a sec let me switch over to lisp-zmq and show you what I've got :) 2020-01-10T21:44:29Z _death: personally I've been using pzmq 2020-01-10T21:45:39Z XenophonF: I'm running Ubuntu 18.04, SBCL 1.4.5, and lisp-zmq-20160208, for reference 2020-01-10T21:45:48Z XenophonF: I'll check pzmq out, thanks :) 2020-01-10T21:46:15Z _death: here's some old code using pzmq (see zmqimg-test.lisp): https://github.com/death/FFmpeg/commit/91149048ecc8168475889a1a72f97febc13bc88a 2020-01-10T21:46:36Z XenophonF: I'm trying to connect to the Elite: Dangerous Data Network, https://github.com/EDSM-NET/EDDN/wiki#trading-tool-developers-data-consumers 2020-01-10T21:46:47Z whiteline quit (Read error: Connection reset by peer) 2020-01-10T21:47:11Z whiteline joined #lisp 2020-01-10T21:47:27Z gareppa quit (Quit: Leaving) 2020-01-10T21:48:48Z galdor: oh I did not know about this stream 2020-01-10T21:49:07Z galdor: >1 year ago I tried to do something similar, but processing archives 2020-01-10T21:49:40Z MonoBobo_ joined #lisp 2020-01-10T21:49:43Z XenophonF: I can connect to it successfully. 2020-01-10T21:51:10Z Kundry_Wag joined #lisp 2020-01-10T21:51:43Z XenophonF: oh man - maybe I'm using the message object wrong 2020-01-10T21:52:17Z MonoBobo quit (Ping timeout: 268 seconds) 2020-01-10T21:54:15Z XenophonF: this is what I have so far 2020-01-10T21:54:16Z XenophonF: https://gist.github.com/xenophonf/54eeb097d603860aa519bcd38abb0cad 2020-01-10T21:54:32Z XenophonF: according to the EDDN docs, I need to decompress that 2020-01-10T21:54:36Z XenophonF: not sure how 2020-01-10T21:54:41Z XenophonF: and then parse the JSON 2020-01-10T21:55:07Z XenophonF: I'm looking at your code now, _death 2020-01-10T21:55:28Z oni-on-ion: zip .. 2020-01-10T21:56:07Z Kundry_Wag quit (Ping timeout: 265 seconds) 2020-01-10T21:57:48Z _death: XenophonF: for simpler tasks pzmq:send/pzmq:recv-string may be sufficient (no need to deal with pzmq:with-message and friends) 2020-01-10T21:58:56Z sjl quit (Ping timeout: 258 seconds) 2020-01-10T22:02:31Z sjl joined #lisp 2020-01-10T22:03:30Z galdor: you are printing a foreign pointer 2020-01-10T22:03:44Z galdor: there is MSG-DATA, MSG-DATA-STRING, MSG-DATA-ARRAY 2020-01-10T22:05:22Z william1_ joined #lisp 2020-01-10T22:09:16Z XenophonF: oh 2020-01-10T22:09:20Z XenophonF: it's a pointer 2020-01-10T22:09:21Z XenophonF: omg 2020-01-10T22:09:23Z XenophonF: i'm so dumb 2020-01-10T22:10:10Z william1_ quit (Ping timeout: 268 seconds) 2020-01-10T22:11:08Z galdor: don't worry it's a common issue when playing with FFI 2020-01-10T22:11:34Z galdor: if I were to use zeromq nowadays I'd implement the wire protocol directly to avoid the FFI nastiness 2020-01-10T22:11:39Z karlosz quit (Quit: karlosz) 2020-01-10T22:12:55Z karlosz joined #lisp 2020-01-10T22:14:35Z efm joined #lisp 2020-01-10T22:18:28Z arduo quit (Ping timeout: 260 seconds) 2020-01-10T22:18:58Z MonoBobo joined #lisp 2020-01-10T22:20:56Z XenophonF: I'd love to hack something like that together, but I'm afraid that's a bit beyond me atm 2020-01-10T22:21:23Z MonoBobo_ quit (Ping timeout: 260 seconds) 2020-01-10T22:21:33Z Kundry_Wag joined #lisp 2020-01-10T22:22:19Z atgreen quit (Ping timeout: 258 seconds) 2020-01-10T22:23:08Z _death: interesting that people expose zmq streams like that.. 2020-01-10T22:23:14Z akoana joined #lisp 2020-01-10T22:23:50Z v0|d joined #lisp 2020-01-10T22:24:05Z galdor: why not ? 2020-01-10T22:24:24Z galdor: nobody complains about open HTTP servers 2020-01-10T22:26:30Z papachan joined #lisp 2020-01-10T22:26:38Z Kundry_Wag quit (Ping timeout: 260 seconds) 2020-01-10T22:27:17Z XenophonF: oh recv-string supports multiple-value-bind 2020-01-10T22:27:18Z XenophonF: sweet 2020-01-10T22:27:20Z Kundry_Wag joined #lisp 2020-01-10T22:30:05Z Bike joined #lisp 2020-01-10T22:30:41Z galdor: I have to go, feel free to ping/mail me if you have an issue 2020-01-10T22:31:30Z klltkr quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-10T22:32:22Z Kundry_Wag quit (Ping timeout: 268 seconds) 2020-01-10T22:33:04Z _death: galdor: those are usually designed for such use, or have a cdn front providing QoS mechanisms.. I think there were some projects adding some such features over zmq, but never seen such use in the wild 2020-01-10T22:34:05Z XenophonF: thanks galdor 2020-01-10T22:34:08Z XenophonF: and thank you too, _death 2020-01-10T22:38:51Z XenophonF: ok, this is what I have so far 2020-01-10T22:38:53Z XenophonF: https://gist.github.com/xenophonf/a6567dc285f0a1c203980ebc2f72a03b 2020-01-10T22:39:20Z XenophonF: and now I'm getting this exception: 2020-01-10T22:39:22Z XenophonF: ; Evaluation aborted on #. 2020-01-10T22:39:26Z XenophonF: so, progress? 2020-01-10T22:39:43Z stepnem_ joined #lisp 2020-01-10T22:41:08Z XenophonF: hm, probably means I can't use recv-string 2020-01-10T22:41:13Z stepnem quit (Ping timeout: 260 seconds) 2020-01-10T22:53:22Z _death: https://plaster.tymoon.eu/view/1640#1640 2020-01-10T22:58:07Z XenophonF: oh wow thank you! 2020-01-10T22:58:31Z XenophonF: really really appreciate that 2020-01-10T23:01:37Z XenophonF: this is the route I was going down: https://gist.github.com/xenophonf/a6567dc285f0a1c203980ebc2f72a03b 2020-01-10T23:01:52Z XenophonF: but zlib:uncompress blew up when I passed it that output 2020-01-10T23:02:36Z patlv joined #lisp 2020-01-10T23:03:47Z holycow joined #lisp 2020-01-10T23:04:18Z _death: not sure why heap exhausted, but in that gist you pass UNCOMPRESS a list instead of the vector 2020-01-10T23:05:22Z _death: ah, zlib has an evil declaim 2020-01-10T23:05:51Z xkapastel joined #lisp 2020-01-10T23:05:55Z _death: never used zlib.. maybe check out chipz 2020-01-10T23:06:36Z _death: (well, never = never before this snippet I pasted :) 2020-01-10T23:08:12Z LiamH quit (Quit: Leaving.) 2020-01-10T23:11:13Z XenophonF: haha 2020-01-10T23:15:43Z jasom: I really need to push my "recv-bytes" function upstream to pzmq. I think I've re-implemented it separately about 3 times now. 2020-01-10T23:17:01Z smazga quit (Quit: leaving) 2020-01-10T23:17:09Z _death: yes please :) 2020-01-10T23:19:34Z jasom: here's one version: https://github.com/jasom/mymongrel2/blob/master/mymongrel2.lisp#L47 (note that it doesn't use with-foreign-pointer because that is permitted to stack-allocate (and it *does* stack-allocate on sbcl) 2020-01-10T23:21:22Z jasom: If I use that one, I'd also have to have it return 2 values to make work like recv-string 2020-01-10T23:21:39Z jasom: that particular program never uses multipart messages 2020-01-10T23:22:59Z _death: not sure why stack allocation is a problem there, since you copy it to a lisp array 2020-01-10T23:23:18Z cosimone quit (Remote host closed the connection) 2020-01-10T23:23:33Z patlv quit (Ping timeout: 268 seconds) 2020-01-10T23:23:47Z cosimone joined #lisp 2020-01-10T23:24:11Z XenophonF: basically, your code but a different JSON implementation 2020-01-10T23:24:13Z XenophonF: https://gist.github.com/xenophonf/a6567dc285f0a1c203980ebc2f72a03b 2020-01-10T23:24:38Z _death: also check out my use of cffi:foreign-array-to-lisp in the plaster paste, although it seems to be undocumented??? 2020-01-10T23:24:59Z jasom: _death: I got a 1MB message and segfaulted. 2020-01-10T23:25:28Z _death: ouch :) 2020-01-10T23:26:00Z jasom: sbcl happily returned a pointer on the stack when I requested 1MB. Not sure if that's a bug... 2020-01-10T23:26:07Z XenophonF: thanks again for your help! 2020-01-10T23:26:32Z XenophonF: now to figure out how to write this data to a PostgreSQL database 2020-01-10T23:27:02Z _death: jasom: I guess there could be opportunity for a "smart" macro here 2020-01-10T23:27:14Z XenophonF: and then how to import the multiple gigabytes of star data :) 2020-01-10T23:27:21Z _death: XenophonF: postmodern is a cool library 2020-01-10T23:27:28Z XenophonF: I will definitely check that out 2020-01-10T23:27:39Z jasom: XenophonF: +1 for postmodern 2020-01-10T23:29:39Z XenophonF: it's just a quickload away :) 2020-01-10T23:30:20Z lucasb quit (Quit: Connection closed for inactivity) 2020-01-10T23:30:42Z jasom: yup, I remember the bad-old-days where I would write my own library rather than trying to figure out how to install someone else's (or 3 someone's elses when I don't konw which one to use). 2020-01-10T23:31:27Z XenophonF: oh man tell me about it 2020-01-10T23:31:36Z XenophonF: the last time I touched lisp stuff was 20 years ago 2020-01-10T23:31:48Z XenophonF: it's about a billion times better now 2020-01-10T23:31:54Z asdf_asdf_asdf joined #lisp 2020-01-10T23:31:57Z jasom: The worst was when the homepage said "use asdf-install to install" which meant it didn't have manual install instructions and therefore was not worth even bothering with 2020-01-10T23:31:58Z XenophonF: slime is magical 2020-01-10T23:32:11Z XenophonF: and quicklisp is the bomb 2020-01-10T23:35:06Z _death: I would just git clone.. and that is what I do nowadays as well, with libraries that use git.. 2020-01-10T23:44:24Z aeth: I git clone some things, but then I symbolic link to them in ~/quicklisp/local-projects/ which apparently works fine except when CCL is the first to see the symbolic link... it doesn't matter, though, I develop in SBCL 2020-01-10T23:46:37Z _death: jasom: the segfault issue is worrying, though.. and since there's no stack space the errors seem to nest.. 2020-01-10T23:48:41Z _death: aeth: I have a ~/quicklisp/third-party directory for stuff that's not mine 2020-01-10T23:49:13Z _death: which is in *local-project-directories* 2020-01-10T23:49:27Z decent-username quit (Ping timeout: 246 seconds) 2020-01-10T23:50:43Z _death: and wrote https://gist.github.com/death/2fb6218858c6212ebea052f2e3d4f0b3 to create a report 2020-01-10T23:57:53Z slyrus__ joined #lisp 2020-01-10T23:58:06Z varjag quit (Quit: ERC (IRC client for Emacs 26.1)) 2020-01-11T00:00:27Z slyrus_ quit (Ping timeout: 258 seconds) 2020-01-11T00:04:20Z cosimone quit (Ping timeout: 248 seconds) 2020-01-11T00:07:35Z brown121408 quit (Read error: Connection reset by peer) 2020-01-11T00:07:46Z brown121408 joined #lisp 2020-01-11T00:10:52Z wxie joined #lisp 2020-01-11T00:14:18Z asdf_asdf_asdf quit (Quit: asdf_asdf_asdf) 2020-01-11T00:22:02Z karlosz quit (Quit: karlosz) 2020-01-11T00:22:30Z atgreen joined #lisp 2020-01-11T00:22:43Z karlosz joined #lisp 2020-01-11T00:24:30Z davisr joined #lisp 2020-01-11T00:25:51Z slyrus_ joined #lisp 2020-01-11T00:28:21Z Kundry_Wag joined #lisp 2020-01-11T00:28:22Z slyrus__ quit (Ping timeout: 265 seconds) 2020-01-11T00:32:25Z eddof13 quit (Quit: eddof13) 2020-01-11T00:33:12Z Kundry_Wag quit (Ping timeout: 265 seconds) 2020-01-11T00:34:57Z turona quit (Ping timeout: 246 seconds) 2020-01-11T00:35:20Z turona joined #lisp 2020-01-11T00:36:08Z random-nick quit (Ping timeout: 260 seconds) 2020-01-11T00:37:06Z arichiardi joined #lisp 2020-01-11T00:38:12Z wxie quit (Ping timeout: 260 seconds) 2020-01-11T00:44:08Z phlim joined #lisp 2020-01-11T00:49:03Z z147 quit (Ping timeout: 240 seconds) 2020-01-11T00:50:02Z harovali quit (Ping timeout: 240 seconds) 2020-01-11T00:51:26Z milanj quit (Quit: This computer has gone to sleep) 2020-01-11T00:52:02Z oni-on-ion quit (Ping timeout: 240 seconds) 2020-01-11T01:07:09Z ck_ quit (Ping timeout: 250 seconds) 2020-01-11T01:07:23Z ck_ joined #lisp 2020-01-11T01:07:35Z dxtr quit (Ping timeout: 250 seconds) 2020-01-11T01:08:18Z dxtr joined #lisp 2020-01-11T01:10:20Z slyrus__ joined #lisp 2020-01-11T01:10:54Z sjl quit (Ping timeout: 265 seconds) 2020-01-11T01:12:54Z slyrus_ quit (Ping timeout: 258 seconds) 2020-01-11T01:14:02Z arichiardi quit (Remote host closed the connection) 2020-01-11T01:15:33Z Kundry_Wag joined #lisp 2020-01-11T01:29:50Z Oladon joined #lisp 2020-01-11T01:31:37Z Kundry_W_ joined #lisp 2020-01-11T01:32:10Z XenophonF quit (Ping timeout: 265 seconds) 2020-01-11T01:32:40Z phoe: wait a second, cffi:f-a-t-l should work 2020-01-11T01:32:43Z phoe: jasom: _death: 2020-01-11T01:33:22Z Kundry_W_ quit (Remote host closed the connection) 2020-01-11T01:42:49Z Jeanne-Kamikaze joined #lisp 2020-01-11T01:43:20Z karayan quit (Read error: Connection reset by peer) 2020-01-11T01:43:23Z patlv joined #lisp 2020-01-11T01:44:12Z smokeink joined #lisp 2020-01-11T01:44:36Z karayan joined #lisp 2020-01-11T01:46:57Z phlim quit (Quit: WeeChat 2.4) 2020-01-11T01:50:38Z sjl joined #lisp 2020-01-11T01:53:14Z davisr quit (Quit: Leaving) 2020-01-11T01:58:00Z phlim joined #lisp 2020-01-11T01:58:07Z papachan quit (Quit: Leaving) 2020-01-11T01:58:51Z xkapastel quit (Quit: Connection closed for inactivity) 2020-01-11T01:59:46Z Kundry_W_ joined #lisp 2020-01-11T02:02:46Z Kundry_W_ quit (Read error: No route to host) 2020-01-11T02:03:37Z Kundry_W_ joined #lisp 2020-01-11T02:09:40Z zclark joined #lisp 2020-01-11T02:10:40Z Kundry_W_ quit (Remote host closed the connection) 2020-01-11T02:11:23Z shifty joined #lisp 2020-01-11T02:11:33Z bitmapper quit (Ping timeout: 258 seconds) 2020-01-11T02:11:37Z karlosz quit (Remote host closed the connection) 2020-01-11T02:14:50Z patlv quit (Ping timeout: 240 seconds) 2020-01-11T02:16:21Z idxu joined #lisp 2020-01-11T02:18:02Z akoana quit (Quit: leaving) 2020-01-11T02:19:23Z Kundry_Wag quit (Ping timeout: 260 seconds) 2020-01-11T02:19:56Z zclark` joined #lisp 2020-01-11T02:20:50Z dddddd quit (Ping timeout: 240 seconds) 2020-01-11T02:21:57Z zclark quit (Ping timeout: 265 seconds) 2020-01-11T02:31:02Z Kundry_Wag joined #lisp 2020-01-11T02:31:14Z rwcom quit (Ping timeout: 240 seconds) 2020-01-11T02:33:09Z rumbler31 quit (Remote host closed the connection) 2020-01-11T02:51:42Z Kundry_Wag quit (Remote host closed the connection) 2020-01-11T02:53:36Z davisr joined #lisp 2020-01-11T02:55:32Z Oladon quit (Quit: Leaving.) 2020-01-11T02:56:32Z karlosz joined #lisp 2020-01-11T02:58:27Z davisr quit (Client Quit) 2020-01-11T02:59:23Z Khisanth quit (Ping timeout: 268 seconds) 2020-01-11T02:59:47Z slyrus_ joined #lisp 2020-01-11T03:02:39Z slyrus__ quit (Ping timeout: 268 seconds) 2020-01-11T03:02:42Z rwcom joined #lisp 2020-01-11T03:03:16Z zclark` quit (Ping timeout: 268 seconds) 2020-01-11T03:06:18Z slyrus__ joined #lisp 2020-01-11T03:09:15Z slyrus_ quit (Ping timeout: 268 seconds) 2020-01-11T03:09:24Z karlosz quit (Remote host closed the connection) 2020-01-11T03:10:08Z Lord_of_Life quit (Ping timeout: 260 seconds) 2020-01-11T03:10:57Z Lord_of_Life joined #lisp 2020-01-11T03:12:05Z Khisanth joined #lisp 2020-01-11T03:12:09Z slac-in-the-box quit (Remote host closed the connection) 2020-01-11T03:14:04Z mono joined #lisp 2020-01-11T03:14:10Z Jeanne-Kamikaze quit (Remote host closed the connection) 2020-01-11T03:17:52Z monokrom quit (Ping timeout: 258 seconds) 2020-01-11T03:18:53Z adam4567 joined #lisp 2020-01-11T03:20:56Z akoana joined #lisp 2020-01-11T03:25:17Z karlosz joined #lisp 2020-01-11T03:32:38Z Necktwi_ joined #lisp 2020-01-11T03:32:49Z Necktwi quit (Read error: Connection reset by peer) 2020-01-11T03:34:22Z rumbler31 joined #lisp 2020-01-11T03:38:51Z rumbler31 quit (Ping timeout: 268 seconds) 2020-01-11T03:39:41Z karlosz quit (Remote host closed the connection) 2020-01-11T03:55:13Z Kundry_Wag joined #lisp 2020-01-11T03:57:42Z adam4567 quit (Ping timeout: 260 seconds) 2020-01-11T04:04:42Z akoana quit (Quit: leaving) 2020-01-11T04:12:22Z rwcom1 joined #lisp 2020-01-11T04:13:38Z rwcom quit (Ping timeout: 240 seconds) 2020-01-11T04:13:39Z rwcom1 is now known as rwcom 2020-01-11T04:15:13Z Kundry_Wag quit (Remote host closed the connection) 2020-01-11T04:21:24Z Lord_of_Life quit (Ping timeout: 268 seconds) 2020-01-11T04:22:12Z karayan quit (Ping timeout: 260 seconds) 2020-01-11T04:22:49Z karayan joined #lisp 2020-01-11T04:24:47Z Lord_of_Life joined #lisp 2020-01-11T04:27:50Z phlim quit (Quit: WeeChat 2.4) 2020-01-11T04:52:58Z Kundry_Wag joined #lisp 2020-01-11T04:55:55Z karlosz joined #lisp 2020-01-11T04:58:04Z Kundry_Wag quit (Ping timeout: 265 seconds) 2020-01-11T05:01:08Z anewuser joined #lisp 2020-01-11T05:05:42Z beach: Good morning everyone! 2020-01-11T05:14:20Z Kundry_Wag joined #lisp 2020-01-11T05:14:44Z Kundry_Wag quit (Remote host closed the connection) 2020-01-11T05:14:51Z Kundry_Wag joined #lisp 2020-01-11T05:14:52Z Kundry_Wag quit (Remote host closed the connection) 2020-01-11T05:18:28Z lbtjp joined #lisp 2020-01-11T05:19:07Z adam4567 joined #lisp 2020-01-11T05:24:18Z krid quit (Ping timeout: 260 seconds) 2020-01-11T05:26:35Z HiRE joined #lisp 2020-01-11T05:28:18Z HiRE: hi everyone. I'm getting started in lisp coming from a systems programming background. I am curious how pointers are managed in lisp. I would imagine it would be possible to write a garbage collector in pure lisp but I am not sure how you could manage memory. 2020-01-11T05:28:34Z HiRE: I thought the mezzano project was very interesting. I'm curious about how lower-level lisp works. 2020-01-11T05:29:00Z beach: Pointers are not available to the application programmer. 2020-01-11T05:29:17Z HiRE: yeah seems that way. Closest you get is conses. 2020-01-11T05:29:31Z beach: And you can't write a garbage collector in portable Lisp. But you only need tow additional primitives, namely read and write memory at a particular address. 2020-01-11T05:30:36Z HiRE: ah, so the systems programming stuff would be highly system dependent. If I'm using SBCL on linux would there be read and write available to lisp or would I have to hook into some C or assembly for that? 2020-01-11T05:30:37Z beach: The fact that pointers are "hidden" is one of the main strengths of Common Lisp. 2020-01-11T05:31:15Z HiRE: I agree. It's mostly a theoretical question. 2020-01-11T05:31:16Z beach: I would think SBCL has something like that, but you would have to know the low-level details of SBCL in order to use it properly. 2020-01-11T05:31:41Z HiRE: I'll take a look. I had no idea it would be compiler and system dependent. Very interesting. Thank you 2020-01-11T05:31:48Z beach: Sure. 2020-01-11T05:32:13Z beach: Also, SBCL has a copying garbage collector, so you don't know that a pointer remains valid for very long. 2020-01-11T05:33:00Z HiRE: Oh ok. Sure. I guess my thought was to use lisp for _everything_ because I really enjoy writing it. 2020-01-11T05:33:12Z beach: Great! 2020-01-11T05:33:21Z brown121408 quit (Ping timeout: 265 seconds) 2020-01-11T05:33:50Z beach: Common Lisp uses what I call "uniform reference semantics", meaning that it works as if you always manipulate a reference (pointer) to an object, and never the object itself. 2020-01-11T05:34:34Z HiRE: I just learned that reading ANSI common lisp (great book). I used it to write a neat little sieve of erastosthenes that did the stuff in place to save on memory. 2020-01-11T05:35:02Z rumbler31 joined #lisp 2020-01-11T05:35:10Z HiRE: I'd like to peek inside the setf macro to see how its machinery works 2020-01-11T05:35:12Z beach: I learned Common Lisp from that book as well, but it is a bit old. 2020-01-11T05:35:31Z HiRE: Is there a more up to date book you could recommend? 2020-01-11T05:35:37Z brown121407 joined #lisp 2020-01-11T05:35:39Z beach: Nowadays, classes and generic functions are used quite a lot, and Graham doesn't use those. 2020-01-11T05:35:57Z beach: minion: Please tell HiRE about PCL. 2020-01-11T05:35:57Z minion: HiRE: please look at PCL: pcl-book: "Practical Common Lisp", an introduction to Common Lisp by Peter Seibel, available at http://www.gigamonkeys.com/book/ and in dead-tree form from Apress (as of 11 April 2005). 2020-01-11T05:36:37Z HiRE: awesome! I had this book in my cart but I snagged a used copy of ansi common lisp for like $7 because it was cheap and it had paul grahams name on it 2020-01-11T05:37:22Z beach: Graham's programming style is not quite according to established conventions. 2020-01-11T05:37:46Z gravicappa joined #lisp 2020-01-11T05:38:10Z HiRE: suppose that's expected given it's age 2020-01-11T05:38:16Z beach: ? 2020-01-11T05:38:23Z HiRE: the book, sorry 2020-01-11T05:38:25Z HiRE: ansi common lisp 2020-01-11T05:38:45Z beach: I think the reason is different, but what do I know. 2020-01-11T05:38:59Z decent-username joined #lisp 2020-01-11T05:39:01Z beach: Peter Seibel, on the other hand, spent a lot of time here, making sure he knew all the conventions. 2020-01-11T05:39:14Z HiRE: oh why do you think his style is unconventional? 2020-01-11T05:40:01Z beach: I don't remember the details of it. I read the book a long time ago. But for one thing, he does not use standard classes and generic functions. 2020-01-11T05:40:07Z rumbler31 quit (Ping timeout: 265 seconds) 2020-01-11T05:41:35Z HiRE: ah ok. I haven't learned those yet. By the sounds of it if I keep reading ansi common lisp I'll never learn :P 2020-01-11T05:41:48Z no-defun-allowed: Yeah, he often uses ckisyres in place of objects and calls them with "messages" comprised of a symbol (in place of, say a generic function) and arguments , which is similar to the object representation in SICP. 2020-01-11T05:42:26Z no-defun-allowed: *closures; what the hell is a ckisyre? 2020-01-11T05:42:36Z HiRE: was about to ask the same thing 2020-01-11T05:42:38Z beach: I was just wondering. :) 2020-01-11T05:42:53Z beach: Oh, yes, that's not a great programming style for Common Lisp. 2020-01-11T05:43:16Z HiRE: and PCL covers the more modern stuff with good style? 2020-01-11T05:43:20Z HiRE: I just ordered it...lol 2020-01-11T05:43:26Z beach: Definitely! 2020-01-11T05:43:53Z HiRE: its kind of funny now that I've drank the koolaid im on the other side of the conversation at work about languages 2020-01-11T05:43:57Z HiRE: everyone complains about parentheses 2020-01-11T05:44:08Z HiRE: I hardly see them and I've only been at it a few weeks 2020-01-11T05:44:15Z no-defun-allowed: Yes. In the meantime, you can read the book online, but I've heard some people concentrate much better with dead-tree format. 2020-01-11T05:45:11Z beach: HiRE: There are some very strong psychological forces that make people resist learning new stuff, even when they are told how much better the new stuff is. 2020-01-11T05:45:54Z no-defun-allowed: It's probably cliché now, but you can ask them if they complain about spaces between words in a newspaper, or if you can get away with some snide, give them a quiz on operator precedence in their language. 2020-01-11T05:46:12Z HiRE: I think thats what I love most about lisp so far 2020-01-11T05:46:15Z HiRE: its unambiguous 2020-01-11T05:46:37Z HiRE: most of them are python programmers (I am at work) so...you know that type 2020-01-11T05:47:08Z HiRE: you'd think people who enjoy having tabnanny cram style down their throats wouldn't be bothered by some parens :P 2020-01-11T05:47:47Z stylewarning: HiRE: make sure the thing you ultimately fall in love with isn’t some austere beauty of the language, but rather it’s ability to make you productive at writing code. In other words, write lots of code! 2020-01-11T05:47:56Z beach: If they are Python programmers, then at least they won't use performance as an argument against Common Lisp. 2020-01-11T05:48:24Z zulu-inuoe_ quit (Read error: Connection reset by peer) 2020-01-11T05:48:57Z HiRE: stylewarning: I agree. Im not productive in common lisp yet but it is certainly fun to write. The idea that code can mutate itself and you can basically bolt on your own DSL for _anything_ for free is great. 2020-01-11T05:49:35Z no-defun-allowed: It's rare to see self-modifying code in (any) Lisp, but code can definitely process other code very easily. 2020-01-11T05:50:18Z HiRE: the last time I've seen lisp in the wild was back in my undergrad AI class 2020-01-11T05:50:34Z HiRE: where my professor was a lisp fanboy and went on monologues about how its the best language ever made 2020-01-11T05:50:39Z HiRE: guess the shoe is finally on the other foot 2020-01-11T05:51:06Z no-defun-allowed: That is probably how I'm going to get "introduced" to it in formal education, in a year and a bit. 2020-01-11T05:51:36Z notzmv joined #lisp 2020-01-11T05:51:51Z beach: Yeah, good luck. 2020-01-11T05:51:54Z HiRE: maybe not. My class was a very traditional "CS AI" class - prolog and what not were taught as well. Most new universities seem to be trending towards python...gag 2020-01-11T05:51:54Z notzmv is now known as Guest35026 2020-01-11T05:52:34Z HiRE: **new university classes 2020-01-11T05:53:02Z Guest35026 left #lisp 2020-01-11T05:53:09Z no-defun-allowed: We do get Prolog too, and there is quite a lot of symbolic AI as well as the other sorts of AI like state search. 2020-01-11T05:53:15Z beach: There are some good reasons in favor of Python as a first language, but those reasons are off topic here, so I won't go into detail. 2020-01-11T05:53:35Z no-defun-allowed: There is also some machine learning—wait, symbolic (as well as "connectionist") machine learning? 2020-01-11T05:53:40Z oni-on-ion joined #lisp 2020-01-11T05:53:45Z stylewarning: The reason universities use Python is because every time they sunset the language, the plethora of textbook authors have something to rewrite. And that’s how you make the big bucks in academia. 2020-01-11T05:53:58Z notzmv joined #lisp 2020-01-11T05:54:00Z HiRE: that was the pretext of the class I took. It culminated with a simple expert system. 2020-01-11T05:54:06Z HiRE: which fit the lisp/prolog mold nicely. 2020-01-11T05:54:23Z HiRE: pretense* 2020-01-11T05:54:26Z HiRE: pretext ... 2020-01-11T05:54:30Z milanj joined #lisp 2020-01-11T05:54:34Z beach: stylewarning: That is not the reason I decided on Python as a first language here. 2020-01-11T05:55:00Z no-defun-allowed: And again, there is Norvig's Artificial Intelligence: A Modern Approach, so I think the course can't be too terrible. 2020-01-11T05:55:43Z stylewarning: beach: ;-) 2020-01-11T05:59:44Z HiRE: well I wont tie up the channel any longer in case anyone has anything else. I appreciate the help guys, I'll have to idle here more. 2020-01-11T06:02:09Z beach: HiRE: There are specific channels for Mezzano and other projects, in case you are interested. 2020-01-11T06:02:31Z beach: HiRE: And if you need stuff to work on, just let us know. :) 2020-01-11T06:03:56Z beach: HiRE: metamodular.com/Common-Lisp/suggested-projects.html 2020-01-11T06:04:14Z HiRE: oh great. This is awesome. I'll give it a look. Thank you 2020-01-11T06:04:32Z beach: Anytime. 2020-01-11T06:04:46Z narimiran joined #lisp 2020-01-11T06:06:02Z Bike quit (Quit: Lost terminal) 2020-01-11T06:06:50Z Xach quit (Ping timeout: 252 seconds) 2020-01-11T06:07:43Z Xach joined #lisp 2020-01-11T06:11:13Z phlim joined #lisp 2020-01-11T06:15:07Z rwcom5 joined #lisp 2020-01-11T06:17:20Z rwcom quit (Ping timeout: 268 seconds) 2020-01-11T06:17:21Z rwcom5 is now known as rwcom 2020-01-11T06:20:45Z krid joined #lisp 2020-01-11T06:23:54Z jfb4_ joined #lisp 2020-01-11T06:24:00Z sauvin joined #lisp 2020-01-11T06:24:06Z jfb4 quit (Ping timeout: 265 seconds) 2020-01-11T06:27:18Z krid quit (Ping timeout: 260 seconds) 2020-01-11T06:27:49Z karlosz quit (Quit: karlosz) 2020-01-11T06:29:02Z karlosz joined #lisp 2020-01-11T06:33:00Z Oladon joined #lisp 2020-01-11T06:39:23Z vlatkoB joined #lisp 2020-01-11T06:39:31Z fouric quit (Ping timeout: 250 seconds) 2020-01-11T06:43:03Z LdBeth: Is there any source on how to use Lisp as a macro assembler/how to design a macro assembler? 2020-01-11T06:43:20Z drewc quit (Ping timeout: 258 seconds) 2020-01-11T06:44:04Z drewc joined #lisp 2020-01-11T06:45:47Z fouric joined #lisp 2020-01-11T06:48:53Z gravicappa quit (Ping timeout: 260 seconds) 2020-01-11T06:51:32Z karayan quit (Ping timeout: 260 seconds) 2020-01-11T06:52:17Z karayan joined #lisp 2020-01-11T06:55:03Z beach: LdBeth: I have no information for you, but I am interested in knowing more about your project. I wrote an assembler in Common Lisp, but it is not a macro assembler, and it is quite different from others in that it does not have any surface syntax defined. 2020-01-11T06:56:12Z adam4567 quit (Remote host closed the connection) 2020-01-11T06:57:01Z beach: For x86-64 (the current target), an interesting problem is that of selecting the appropriate machine instruction for a given desired effect. There are often several instructions that will have the same effect, so there is not a 1-1 mapping between source and machine code. 2020-01-11T07:03:38Z sjl quit (Quit: WeeChat 2.3-dev) 2020-01-11T07:04:04Z LdBeth: beach: DEK's MMIX has demonstrated some different instruction that shares the same op code. I have limited knowledge and little interests on AMD64, for that it is a very sophisticated arch. 2020-01-11T07:05:15Z LdBeth: My primary interest are in some old risc flavor arch, such as PowerPC, Alpha, 68000 2020-01-11T07:05:46Z karlosz quit (Quit: karlosz) 2020-01-11T07:06:05Z william1_ joined #lisp 2020-01-11T07:06:09Z beach: I see. 2020-01-11T07:06:29Z beach: So is there no existing assembler for those processors? 2020-01-11T07:07:35Z LdBeth: they usually rely on a specific OS tied to the arch 2020-01-11T07:08:12Z beach: Ah, OK. 2020-01-11T07:08:22Z LdBeth: for example, to run a PPC assembler, I might need to setup a complete MacOS in a emulator first 2020-01-11T07:09:37Z dale quit (Quit: My computer has gone to sleep) 2020-01-11T07:10:11Z beach: I understand. 2020-01-11T07:10:47Z guna_ quit (Ping timeout: 265 seconds) 2020-01-11T07:10:59Z william1_ quit (Ping timeout: 265 seconds) 2020-01-11T07:11:04Z LdBeth: I wish to write and assemble some "bare metal" program using the native OS I'm currently using, then run them using qemu or something 2020-01-11T07:12:34Z beach: Got it. 2020-01-11T07:18:41Z beach: Hold on, can't you use GAS? 2020-01-11T07:31:22Z wxie joined #lisp 2020-01-11T07:32:43Z Oladon quit (Quit: Leaving.) 2020-01-11T07:34:46Z LdBeth: beach: for powerpc, yes I may setup a cross compiler toolchain 2020-01-11T07:36:17Z rumbler31 joined #lisp 2020-01-11T07:37:04Z LdBeth: but gas is not as powerful as nasm 2020-01-11T07:37:36Z jello_pudding joined #lisp 2020-01-11T07:37:54Z beach: True, it is meant as a backend for compilers, not for humans. 2020-01-11T07:41:12Z rumbler31 quit (Ping timeout: 268 seconds) 2020-01-11T07:41:28Z wxie1 joined #lisp 2020-01-11T07:42:06Z wxie quit (Remote host closed the connection) 2020-01-11T07:42:06Z wxie1 is now known as wxie 2020-01-11T07:48:51Z marusich joined #lisp 2020-01-11T07:52:03Z jellopudding joined #lisp 2020-01-11T07:52:43Z jello_pudding quit (Read error: Connection reset by peer) 2020-01-11T07:53:32Z jellopudding quit (Client Quit) 2020-01-11T07:56:07Z jello_pudding joined #lisp 2020-01-11T07:58:05Z kmeow joined #lisp 2020-01-11T08:22:32Z wxie quit (Ping timeout: 260 seconds) 2020-01-11T08:30:35Z wxie joined #lisp 2020-01-11T08:34:09Z wxie quit (Remote host closed the connection) 2020-01-11T08:39:02Z igemnace quit (Quit: WeeChat 2.7) 2020-01-11T08:42:27Z marusich quit (Quit: Leaving) 2020-01-11T08:54:52Z z147 joined #lisp 2020-01-11T08:56:21Z MonoBobo quit (Ping timeout: 265 seconds) 2020-01-11T08:59:20Z shka_ joined #lisp 2020-01-11T09:07:52Z gravicappa joined #lisp 2020-01-11T09:09:34Z Necktwi_ quit (Ping timeout: 268 seconds) 2020-01-11T09:15:26Z frgo quit (Remote host closed the connection) 2020-01-11T09:16:36Z anewuser quit (Quit: anewuser) 2020-01-11T09:18:07Z frgo joined #lisp 2020-01-11T09:19:42Z karayan quit (Ping timeout: 260 seconds) 2020-01-11T09:20:07Z karayan joined #lisp 2020-01-11T09:23:55Z nowhere_man joined #lisp 2020-01-11T09:29:55Z logicmoo is now known as dmiles 2020-01-11T09:37:07Z rumbler31 joined #lisp 2020-01-11T09:38:15Z harovali joined #lisp 2020-01-11T09:39:08Z harovali: hi! How do I specify the #\Page char in a cl-ppcre regex to split on it? 2020-01-11T09:41:47Z rumbler31 quit (Ping timeout: 265 seconds) 2020-01-11T09:42:13Z ggole joined #lisp 2020-01-11T09:45:25Z MonoBobo joined #lisp 2020-01-11T09:48:26Z beach: harovali: Did you see my answer to your question about scope the other day? 2020-01-11T09:50:43Z z147 quit (Ping timeout: 240 seconds) 2020-01-11T09:54:32Z random-nick joined #lisp 2020-01-11T09:58:04Z shifty quit (Ping timeout: 258 seconds) 2020-01-11T09:58:53Z smokeink quit (Remote host closed the connection) 2020-01-11T09:59:38Z narimiran quit (Ping timeout: 260 seconds) 2020-01-11T10:00:32Z smokeink joined #lisp 2020-01-11T10:00:36Z smokeink quit (Remote host closed the connection) 2020-01-11T10:01:31Z quazimodo quit (Ping timeout: 258 seconds) 2020-01-11T10:02:35Z william1_ joined #lisp 2020-01-11T10:08:11Z xuxuru joined #lisp 2020-01-11T10:08:41Z quazimodo joined #lisp 2020-01-11T10:14:28Z CrazyEddy quit (Remote host closed the connection) 2020-01-11T10:15:32Z harovali: beach: yes !! thanks indeed ! 2020-01-11T10:16:12Z harovali: I reformulated my code from that point on 2020-01-11T10:16:40Z beach: It would be great if you would acknowledge when you have seen an answer, and even better if you would tell the person giving it whether it was of any help to you. 2020-01-11T10:17:32Z harovali: beach: I agree. Sorry indeed. Thanks for asking back and yielding the oportunity of apologizing to me. 2020-01-11T10:17:43Z beach: Sure. 2020-01-11T10:18:05Z harovali: supose (defun fun (anotherfun) (funcall 'anotherfun)) 2020-01-11T10:18:25Z harovali: that will trigger the variable unused warning right ? 2020-01-11T10:18:35Z beach: Sounds right. 2020-01-11T10:18:44Z harovali: because I'm using it as a symbol right ? 2020-01-11T10:18:58Z harovali: so I'l have to declare it as ignored right ? 2020-01-11T10:19:01Z beach: You are not using the parameter. 2020-01-11T10:19:11Z harovali: thanks 2020-01-11T10:19:15Z beach: Why would you want to do something like that? 2020-01-11T10:19:22Z harovali: like what? 2020-01-11T10:19:39Z harovali: because I'm passing a closure as an argument 2020-01-11T10:20:03Z beach: Having a parameter named X and then funcalling a global function that also happens to be named X. 2020-01-11T10:20:31Z beach: There is no relation between the two occurrences of ANOTHERFUN. 2020-01-11T10:20:55Z beach: So your FUNCALL is not going to call the closure you are passing in general. 2020-01-11T10:21:07Z harovali: how do you call the closure there ? 2020-01-11T10:21:16Z CrazyEddy joined #lisp 2020-01-11T10:21:28Z beach: No quote (FUNCALL ANOTHERFUN) 2020-01-11T10:21:47Z harovali: thanks! excellent 2020-01-11T10:21:50Z beach: When ANOTHERFUN is unused, it means you are not calling it. 2020-01-11T10:21:58Z harovali: great 2020-01-11T10:22:22Z harovali: thank you 2020-01-11T10:22:40Z beach: Sure. 2020-01-11T10:22:58Z quazimodo quit (Ping timeout: 260 seconds) 2020-01-11T10:23:34Z harovali: I had a reboot session back then , including upgrading to sbcl 2.0.0 , just after you answered, my chat session got closed and later I forgot to come back 2020-01-11T10:23:58Z beach: I see. Don't worry about it. 2020-01-11T10:24:33Z nowhereman joined #lisp 2020-01-11T10:25:25Z nowhere_man quit (Ping timeout: 268 seconds) 2020-01-11T10:26:07Z pjb: beach: I beg to differ: you can write a garbage collector in conforming Common Lisp. Perhaps not one that garbage its own memory, but one good metalinguistic garbage collector, definitely! 2020-01-11T10:26:51Z beach: Sure. 2020-01-11T10:28:25Z beach: HiRE: Speaking of which, you can't write a low-level garbage collector in conforming C either. 2020-01-11T10:28:37Z z147 joined #lisp 2020-01-11T10:28:39Z pjb: :-) 2020-01-11T10:29:30Z pjb: HiRE: for an example of a GC written in CL, have a look at https://github.com/informatimago/lisp/blob/master/common-lisp/heap/heap.lisp#L1824 2020-01-11T10:30:11Z quazimodo joined #lisp 2020-01-11T10:30:23Z FreeBirdLjj joined #lisp 2020-01-11T10:30:26Z aeth: I think the SBCL team stance is that SBCL's GC is C so they can debug it iirc (I can't speak for them directly, I'm just remembering) 2020-01-11T10:31:05Z beach: I guess if you make all of memory look like a huge array of unsigned bytes, you can write a GC in Common Lisp. 2020-01-11T10:31:30Z pjb: LdBeth: there are examples… See: https://www.informatimago.com/articles/usenet.html#Compilation 2020-01-11T10:32:02Z aeth: You can write large parts of a program in non-consing CL, at least in SBCL. The profiling's good enough. So you should be able to write a GC in it. It'd be tricky, I guess. Especially debugging, since the non-consing style usually assumes that it's, well, working. 2020-01-11T10:32:02Z pjb: HiRE: or a simpler example of GC: https://groups.google.com/forum/#!msg/comp.lang.lisp/Ac-Vj8UJpZ8/s6-kmPmKQIIJ 2020-01-11T10:32:57Z pjb: LdBeth: since assembler is often used as a HIR for a compiler: https://groups.google.com/forum/#!msg/comp.lang.lisp/QMakibYYZRg/fgQulr5b4BwJ 2020-01-11T10:33:03Z aeth: What I mean is, yes, your GC program is non-consing (just preallocating what it needs, declaring dynamic-extent most of the rest, and using a special heap data structure that's a huge array), but is e.g. your condition system? Probably not. So once you get an error... 2020-01-11T10:33:08Z pjb: LdBeth: or IR at least… 2020-01-11T10:33:54Z pjb: aeth: If you wanted to do that in a real implementation or system, you would have to define a non-consing subset… 2020-01-11T10:34:22Z aeth: pjb: You don't have to define a non-consing subset because you can profile SBCL enough just to make sure you accidentally don't introduce consing. 2020-01-11T10:34:35Z aeth: I mean, I guess you could have your compiler enforce it instead of just relying on the profilers. 2020-01-11T10:34:57Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2020-01-11T10:35:34Z pjb: aeth: Yes, like the button astronauts shouldn't press if they wanted to get back to Earth from the Moon… Right. 2020-01-11T10:35:37Z aeth: But, anyway, that subset does exist and I think it's probably large enough to write a GC in it, if you allow preallocating. 2020-01-11T10:36:04Z aeth: At least in SBCL. Other implementations might cons more, and seem to be harder to check. 2020-01-11T10:38:04Z aeth: Non-consing is not as hard as it seems because it's not really non-consing, it's cons-up-front, and then use dynamic-extent for the rare rest. 2020-01-11T10:38:20Z pjb: aeth: https://www.smithsonianmag.com/smithsonian-institution/margaret-hamilton-led-nasa-software-team-landed-astronauts-moon-180971575/ 2020-01-11T10:41:10Z no-defun-allowed: "The astronauts had access to only 72 kilobytes of computer memory (a 64-gigabyte cell phone today carries almost a million times more storage space)." Conflating primary and secondary memory (where such a barrier does exist due to software limitations) is always a sign the author is proficient in writing about computers. 2020-01-11T10:49:23Z frgo quit (Remote host closed the connection) 2020-01-11T10:51:27Z wxie joined #lisp 2020-01-11T10:52:45Z harovali: https://pastebin.com/iKxDh2Sc if you wanna see my code. For some reaseon beyond my understanding and my research abilities, the funcalls (especially the first one , in line 72 ) fail miserably with the error ' evaluation stopped on nil' 2020-01-11T10:53:25Z no-defun-allowed: Do you have a backtrace? 2020-01-11T10:54:13Z Inline joined #lisp 2020-01-11T10:54:18Z no-defun-allowed: You would probably also be better served by a class instead of a set of six closures that represent a state. 2020-01-11T10:54:41Z harovali: no-defun-allowed: no log , just that error 2020-01-11T10:54:47Z harovali: no-defun-allowed: yes 2020-01-11T10:55:09Z no-defun-allowed: Then I'm not sure how much I can suggest without a backtrace to see how you got there. 2020-01-11T10:56:24Z harovali: no-defun-allowed: I'll try to manage to provide one 2020-01-11T10:56:36Z harovali: no-defun-allowed: thanks ! 2020-01-11T10:58:26Z Inline quit (Client Quit) 2020-01-11T11:01:05Z Inline joined #lisp 2020-01-11T11:05:17Z karayan quit (Ping timeout: 260 seconds) 2020-01-11T11:05:44Z karayan joined #lisp 2020-01-11T11:08:03Z z147 quit (Ping timeout: 240 seconds) 2020-01-11T11:09:09Z z147 joined #lisp 2020-01-11T11:09:11Z frgo joined #lisp 2020-01-11T11:09:48Z cosimone joined #lisp 2020-01-11T11:12:52Z jonatack quit (Ping timeout: 260 seconds) 2020-01-11T11:12:54Z CrazyEddy quit (Remote host closed the connection) 2020-01-11T11:24:52Z harovali: be back later, gotta sleep 2020-01-11T11:24:56Z dddddd joined #lisp 2020-01-11T11:25:06Z harovali left #lisp 2020-01-11T11:25:35Z no-defun-allowed: Same here. Funny that. 2020-01-11T11:28:00Z xuxuru quit (Quit: xuxuru) 2020-01-11T11:37:57Z rumbler31 joined #lisp 2020-01-11T11:42:26Z kmeow quit (Remote host closed the connection) 2020-01-11T11:42:50Z rumbler31 quit (Ping timeout: 240 seconds) 2020-01-11T11:52:55Z ebrasca joined #lisp 2020-01-11T11:57:38Z random-nick quit (Ping timeout: 240 seconds) 2020-01-11T12:09:10Z srandon111 joined #lisp 2020-01-11T12:10:37Z wxie quit (Ping timeout: 260 seconds) 2020-01-11T12:14:28Z EvW joined #lisp 2020-01-11T12:20:13Z srandon111 quit (Ping timeout: 260 seconds) 2020-01-11T12:24:57Z wxie joined #lisp 2020-01-11T12:25:28Z quazimodo quit (Ping timeout: 260 seconds) 2020-01-11T12:25:52Z quazimodo joined #lisp 2020-01-11T12:32:38Z asdf_asdf_asdf joined #lisp 2020-01-11T12:33:46Z srandon111 joined #lisp 2020-01-11T12:39:03Z _whitelogger quit (Remote host closed the connection) 2020-01-11T12:40:51Z cosimone quit (Remote host closed the connection) 2020-01-11T12:41:15Z _whitelogger joined #lisp 2020-01-11T12:45:53Z atgreen quit (Ping timeout: 260 seconds) 2020-01-11T12:50:52Z karayan quit (Ping timeout: 260 seconds) 2020-01-11T12:59:00Z Bike joined #lisp 2020-01-11T13:02:12Z varjag joined #lisp 2020-01-11T13:14:20Z frgo quit (Remote host closed the connection) 2020-01-11T13:14:45Z narimiran joined #lisp 2020-01-11T13:14:57Z frgo joined #lisp 2020-01-11T13:15:13Z shifty joined #lisp 2020-01-11T13:17:53Z atgreen joined #lisp 2020-01-11T13:21:14Z cosimone joined #lisp 2020-01-11T13:21:18Z __jrjsmrtn__ joined #lisp 2020-01-11T13:23:01Z _jrjsmrtn quit (Ping timeout: 268 seconds) 2020-01-11T13:25:49Z |3b|: are there any "best practices" for compiling a set of code a few times, with different package each time? if i just put the file in the .asd 3 times, it will get the same .fasl each time, which won't work 2020-01-11T13:26:31Z random-nick joined #lisp 2020-01-11T13:27:06Z |3b| 's ideas so far are: convince asdf to change the .fasl name for each instance. "include" the code file into 3 separate wrapper file that set the package etc. write some ugly defining macros to duplicate the definitions with package prefixes 2020-01-11T13:27:56Z |3b|: macro gets even uglier if i want the option to not load all 3 packages at once 2020-01-11T13:29:03Z scymtym quit (Ping timeout: 260 seconds) 2020-01-11T13:30:22Z |3b|: end-goal is to implement some code once and have versions specialized on single-float, double-float, or real. user code would then specify which it wants with package local nicknames 2020-01-11T13:30:48Z wxie quit (Ping timeout: 260 seconds) 2020-01-11T13:32:20Z EvW quit (Ping timeout: 248 seconds) 2020-01-11T13:35:27Z Xach: excellent, first sick abuse of package-local nicknames 2020-01-11T13:35:45Z |3b|: that's an intended usage :) 2020-01-11T13:38:40Z kajo joined #lisp 2020-01-11T13:39:12Z rumbler31 joined #lisp 2020-01-11T13:44:25Z rumbler31 quit (Ping timeout: 268 seconds) 2020-01-11T13:52:04Z kajo quit (Ping timeout: 248 seconds) 2020-01-11T13:53:40Z nckx quit (Ping timeout: 268 seconds) 2020-01-11T13:55:30Z varjag: hm, copying an array into foreign memory with cffi/ccl is somehow super slow.. 2020-01-11T13:55:40Z varjag: must be doing something wrong 2020-01-11T13:56:01Z |3b|: declaring types might help 2020-01-11T13:56:54Z |3b|: or if it is unsigned-byte 8 array, maybe use nibbles to copy 4 or 8 bytes at a time, depending on length and alignment 2020-01-11T13:57:42Z varjag: hmm.. 2020-01-11T13:58:04Z |3b|: also make sure cffi knows types at compile time (possibly duplicate code if needed) 2020-01-11T13:58:28Z varjag: thanks, will check on these 2020-01-11T13:58:32Z cosimone quit (Quit: Quit.) 2020-01-11T13:58:55Z cosimone joined #lisp 2020-01-11T13:59:41Z varjag: the code fills the array via individual mem-arefs in a loop 2020-01-11T13:59:50Z shifty quit (Ping timeout: 268 seconds) 2020-01-11T14:00:40Z shifty joined #lisp 2020-01-11T14:02:11Z varjag: is it the only/most efficient way doing that for arrays? 2020-01-11T14:03:16Z atgreen quit (Ping timeout: 265 seconds) 2020-01-11T14:03:36Z |3b|: if you can use static-vectors to avoid copying at all, that might be better, though it requires manual memory management which makes it annoying for some things 2020-01-11T14:04:10Z |3b| usually does element-by-element copies for lisp->foreign though, if static-vectors isn't applicable 2020-01-11T14:05:33Z asdf_asdf_asdf: Hi. I do C-M-s and typed regex. It marked words. How changing marked to "selection", that able copy more than one marked words? 2020-01-11T14:06:05Z |3b|: #emacs knows more about how emacs works 2020-01-11T14:06:18Z varjag: this is is in my alsa code… worked fine on faster systems, but on an arm target beginning to get underruns with sample rates at 32k+ 2020-01-11T14:06:21Z |3b|: (assuming that's what you are asking about) 2020-01-11T14:06:59Z varjag: yes, just shoving samples to a sound buffer 2020-01-11T14:08:16Z |3b|: might see if ccl has some way to get a pointer to the vector data, and call memcpy or similar on it 2020-01-11T14:08:53Z |3b|: (wrapping it in some portability thing that copies if it has to, if you care about other implementations) 2020-01-11T14:09:45Z |3b|: looks like ccl:with-pointer-to-ivector might do that 2020-01-11T14:10:25Z |3b|: or just use cffi:with-pointer-to-vector-data, but then you might pay double copy cost on implementations that don't have a way to get a pointer 2020-01-11T14:10:26Z quazimodo quit (Ping timeout: 240 seconds) 2020-01-11T14:10:54Z varjag: oh… didn't see that one 2020-01-11T14:10:56Z varjag: thanks! 2020-01-11T14:11:04Z shifty quit (Ping timeout: 258 seconds) 2020-01-11T14:11:10Z theBlackDragon quit (Remote host closed the connection) 2020-01-11T14:11:27Z |3b|: it's "very experimental interface" according to comments in source 2020-01-11T14:12:33Z scymtym joined #lisp 2020-01-11T14:13:12Z |3b|: looks like there is also a make-shareable-byte-vector you should use with it for complete portability, but the extra copy on some implementations usually means i don't want full portability when i use it anyway 2020-01-11T14:13:47Z |3b|: the clisp implementation does 2 copies for example 2020-01-11T14:13:49Z varjag: we're moving to lispworks for prod but would really like to sort it out with ccl first 2020-01-11T14:14:03Z varjag: appears lispworks has a similar call 2020-01-11T14:14:08Z papachan joined #lisp 2020-01-11T14:14:26Z |3b|: looks like lispworks might want make-shareable-byte-vector for use with with-pointer-to-vector-data 2020-01-11T14:16:16Z theBlackDragon joined #lisp 2020-01-11T14:16:45Z quazimodo joined #lisp 2020-01-11T14:16:48Z _death: for sbcl I implemented (a POC) mmaped memory as lisp arrays, so you can use shared memory naturally 2020-01-11T14:17:02Z CrazyEddy joined #lisp 2020-01-11T14:17:13Z _death: https://github.com/death/marray 2020-01-11T14:17:16Z varjag: nice 2020-01-11T14:17:46Z varjag: sadly there's no native threads on sbcl/arm32 2020-01-11T14:17:58Z |3b|: looks like cffi uses http://www.lispworks.com/documentation/lw71/FLI/html/fli-122.htm on lw, which wants special allocation 2020-01-11T14:20:05Z varjag: cffi:make-shareable-byte-vector appears to do that too yes 2020-01-11T14:20:54Z |3b|: yeah, that does the 'special allocation' part if applicable 2020-01-11T14:21:23Z |3b|: sbcl and ccl can apparently get pointers to any vector, so it just makes a normal array 2020-01-11T14:26:36Z beach: I am looking at the LispWorks manual, specifically the section about the debugger. It looks to me like the LispWorks debugger is no more sophisticated than the one in SBCL/SLIME. Am I right? In particular, I don't see a way to set a breakpoint before a program is started. Can anyone who has used LispWorks confirm this interpretation of mine? 2020-01-11T14:26:52Z beach: I apologize for this brief question about a non-free Common Lisp system. 2020-01-11T14:27:27Z Xach: beach: I don't know, but I do know that the lisp-hug mailing list is always very helpful. 2020-01-11T14:27:42Z Xach: I don't know of a real-time irc-like chat forum specifically for lispworks. 2020-01-11T14:28:03Z lucasb joined #lisp 2020-01-11T14:28:03Z beach: OK, thanks for the information. 2020-01-11T14:28:12Z beach: I could also call Martin. 2020-01-11T14:29:13Z |3b|: lispworks personal edition ide has a "set breakpoint" button that seems to work 2020-01-11T14:29:49Z beach: Thanks. 2020-01-11T14:30:50Z quazimodo quit (Ping timeout: 240 seconds) 2020-01-11T14:31:00Z asdf_asdf_asdf quit (Quit: asdf_asdf_asdf) 2020-01-11T14:32:46Z quazimodo joined #lisp 2020-01-11T14:35:24Z Kundry_Wag joined #lisp 2020-01-11T14:39:25Z Lycurgus joined #lisp 2020-01-11T14:45:43Z p_l: beach: also macro tracing (this switches code to evaluator instead of compiled, afaik) and working Who Calls database 2020-01-11T14:46:14Z Kundry_Wag quit (Remote host closed the connection) 2020-01-11T14:47:24Z beach: I am mostly interested in breakpoints and how they work. Specifically if you can set a breakpoint in system code, like CONS or POSITION. 2020-01-11T14:52:21Z grabarz joined #lisp 2020-01-11T14:54:19Z p_l: according to docs, everything that isn't special form can be breakpointed 2020-01-11T14:54:33Z beach: Interesting. 2020-01-11T14:54:44Z beach: I guess I need to figure out how that works. 2020-01-11T14:54:48Z p_l: (can't test right now, as personal edition no longer works on mac, and I'm too lazy to take a trip for the other laptop) 2020-01-11T14:55:06Z p_l: beach: it's hooked into "dspec system" according to http://www.lispworks.com/documentation/lw70/IDE-W/html/ide-w-207.htm 2020-01-11T14:55:48Z beach: Ah, that's the section I was looking for. Thanks! 2020-01-11T14:55:56Z p_l: http://www.lispworks.com/documentation/lw70/LW/html/lw-39.htm#41682 <-- this is dspec docs 2020-01-11T14:56:15Z p_l: sounds to me like it's similar to SBCL's global database 2020-01-11T14:59:06Z beach: Maybe so. I'll read up some more. Thanks again. 2020-01-11T15:00:01Z p_l: glad to help 2020-01-11T15:04:08Z william1_ quit (Ping timeout: 260 seconds) 2020-01-11T15:04:53Z patlv joined #lisp 2020-01-11T15:06:53Z patlv quit (Client Quit) 2020-01-11T15:09:22Z pjb: |3b|: I would have different files that would each define the current package, and include the common file (eg. with com.informatimago.common-lisp.cesarum.utility:include-file). 2020-01-11T15:09:23Z Lord_of_Life_ joined #lisp 2020-01-11T15:12:23Z Lord_of_Life quit (Ping timeout: 265 seconds) 2020-01-11T15:12:32Z Lord_of_Life_ is now known as Lord_of_Life 2020-01-11T15:12:36Z srandon111 quit (Read error: Connection reset by peer) 2020-01-11T15:17:11Z pjb: beach: the way break points work depends on the level of the code you're trying to suspend. You can have breakpoints at the source level (eg. inserting (break) forms. You can have breakpoints at the microcode level, either by live-patching the instructions, replacing them by a jump or a software interrupt, a trap, or even an invalid instruction if you can handle it and resume, or by stepping all the execution setting a flag to do 2020-01-11T15:17:11Z pjb: (mostly done when debugging from another process). 2020-01-11T15:18:07Z pjb: You could also set break points by configuring the MMU to prevent access to the specfied instructions. 2020-01-11T15:19:38Z p_l: most modern CPUs have "debug registers" that enable breakpoints without modifying code 2020-01-11T15:19:40Z pjb: Working at the source level can be easier: you directly know where the break point occurs, while if you break (or step) low level instructions you have to map their addresses to source expressions (which may be difficult or impossible, depending on the compiler optimizations) 2020-01-11T15:20:28Z Lycurgus quit (Remote host closed the connection) 2020-01-11T15:20:36Z pjb: Indeed, since modifying the code has its difficulties. It may be complicated to do or even prevented by the system… 2020-01-11T15:21:25Z p_l: or simply you might not want to deal with the trouble of arranging possibly complex jump chain to get the original instruction continued 2020-01-11T15:22:02Z p_l: debug registers let you create a hw breakpoint that has separate configuration from what application might have used for itself 2020-01-11T15:23:00Z p_l: https://en.wikipedia.org/wiki/X86_debug_register 2020-01-11T15:23:07Z pjb: One easy way to do it, is to "instrument" the code. It's easy to do at the compilation level (eg. with high debug level). You just insert the instructions needed to step/break. 2020-01-11T15:23:59Z rwcom quit (Ping timeout: 265 seconds) 2020-01-11T15:24:21Z pjb: You don't need support from the system or the processor, it can work portably and conformingly, and it can give very good results source-wise. The only problem is that the instrumentation changes the generated code, so bugs may appear or disappear when you do that… (should not be a problem if the compiler is bug free!). 2020-01-11T15:24:40Z rwcom joined #lisp 2020-01-11T15:28:25Z Kundry_Wag joined #lisp 2020-01-11T15:30:02Z beach: pjb: I am specifically interested in the mechanism used by LispWorks. But I see now that breakpoints are part of the stepper, so that should give me some hints. 2020-01-11T15:31:41Z srandon111 joined #lisp 2020-01-11T15:32:50Z Kundry_Wag quit (Ping timeout: 240 seconds) 2020-01-11T15:35:29Z splittist: one day I will remember the correct order of arguments to get-hash. Today is not that day. 2020-01-11T15:37:02Z jackdaniel: splittist: you may arrange it as English sequence: "get eggs from the store" is more natural than "get from the store eggs" 2020-01-11T15:37:11Z jackdaniel: sentence ^_^ 2020-01-11T15:37:43Z splittist: jackdaniel: brilliant! 2020-01-11T15:37:58Z |3b|: "get eggs from the store, or milk if they don't have any"? 2020-01-11T15:38:23Z jackdaniel: good one :) 2020-01-11T15:38:24Z Kundry_Wag joined #lisp 2020-01-11T15:38:39Z nirved: splittist: doesn't it show in the echo area of emacs? 2020-01-11T15:38:57Z varjag: now do that for aref :p 2020-01-11T15:39:29Z |3b|: "access array at indices x,y..."? 2020-01-11T15:39:45Z Kundry_Wag quit (Remote host closed the connection) 2020-01-11T15:39:51Z jackdaniel: varjag: get book in a library found at shelf 3 column 4 and row 2 2020-01-11T15:39:57Z rumbler31 joined #lisp 2020-01-11T15:41:28Z splittist: nirved: yes 2020-01-11T15:41:33Z frgo quit (Remote host closed the connection) 2020-01-11T15:41:56Z gareppa joined #lisp 2020-01-11T15:44:26Z rumbler31 quit (Ping timeout: 240 seconds) 2020-01-11T15:45:34Z p_l: beach: given the list of places that a breakpoint can be declared, I'd say there's good chance that they replace call sequence 2020-01-11T15:55:40Z pjb: getting eggs from the milk? 2020-01-11T15:56:36Z MonoBobo_ joined #lisp 2020-01-11T15:57:48Z MonoBobo quit (Ping timeout: 260 seconds) 2020-01-11T15:58:32Z beach: p_l: Yes, I agree. 2020-01-11T15:59:26Z beach: And I think that doing that is possible only in the stepper. 2020-01-11T15:59:53Z beach: Now I need to know what kind of performance penalty the stepper creates. 2020-01-11T16:05:15Z grabarz quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-11T16:07:33Z p_l: why would it be possible only in the stepper, if they can hijack the call by simply changing the address? 2020-01-11T16:07:51Z frgo joined #lisp 2020-01-11T16:08:53Z jfb4_ quit (Ping timeout: 260 seconds) 2020-01-11T16:09:09Z rumbler31 joined #lisp 2020-01-11T16:09:10Z jfb4 joined #lisp 2020-01-11T16:10:52Z stepnem_ quit (Read error: Connection reset by peer) 2020-01-11T16:11:30Z stepnem joined #lisp 2020-01-11T16:12:15Z shifty joined #lisp 2020-01-11T16:13:46Z beach: Good question. 2020-01-11T16:14:13Z beach: I think I need to write to them. 2020-01-11T16:16:07Z jfb4 quit (Ping timeout: 268 seconds) 2020-01-11T16:16:16Z jprajzne joined #lisp 2020-01-11T16:16:17Z jfb4_ joined #lisp 2020-01-11T16:17:02Z Kundry_Wag joined #lisp 2020-01-11T16:17:58Z shifty quit (Ping timeout: 268 seconds) 2020-01-11T16:21:43Z Kundry_Wag quit (Ping timeout: 260 seconds) 2020-01-11T16:23:28Z p_l: beach: Rainer Joswig had also made an interesting set of twitter posts of various debug features in LW 2020-01-11T16:25:22Z varjag: |3b|: it's prefect now with shareable vectors 2020-01-11T16:25:25Z varjag: in ccl at least 2020-01-11T16:25:42Z varjag: now need to come up with some user friendly idiom for also-alsa 2020-01-11T16:26:10Z rwcom quit (Ping timeout: 268 seconds) 2020-01-11T16:26:15Z rwcom8 joined #lisp 2020-01-11T16:28:48Z test1600 joined #lisp 2020-01-11T16:29:17Z test1600 quit (Remote host closed the connection) 2020-01-11T16:30:50Z test1600 joined #lisp 2020-01-11T16:31:23Z beach: p_l: I'll look for them. 2020-01-11T16:38:09Z pnp joined #lisp 2020-01-11T16:38:23Z pnp left #lisp 2020-01-11T16:40:39Z gareppa quit (Quit: Leaving) 2020-01-11T16:49:00Z kajo joined #lisp 2020-01-11T16:49:28Z jfb4 joined #lisp 2020-01-11T16:50:18Z jfb4_ quit (Ping timeout: 260 seconds) 2020-01-11T16:51:27Z X-Scale` joined #lisp 2020-01-11T16:53:13Z X-Scale quit (Ping timeout: 260 seconds) 2020-01-11T16:53:13Z X-Scale` is now known as X-Scale 2020-01-11T16:54:07Z kajo quit (Ping timeout: 260 seconds) 2020-01-11T16:54:37Z heisig joined #lisp 2020-01-11T16:55:28Z oni-on-ion quit (Remote host closed the connection) 2020-01-11T16:55:51Z oni-on-ion joined #lisp 2020-01-11T16:56:32Z cosimone quit (Quit: Quit.) 2020-01-11T16:59:35Z cosimone joined #lisp 2020-01-11T17:00:07Z cosimone quit (Client Quit) 2020-01-11T17:01:32Z cosimone joined #lisp 2020-01-11T17:02:59Z Colleen quit (Ping timeout: 268 seconds) 2020-01-11T17:03:25Z Colleen joined #lisp 2020-01-11T17:07:07Z cosimone quit (Quit: Quit.) 2020-01-11T17:07:46Z cosimone joined #lisp 2020-01-11T17:07:48Z cosimone quit (Client Quit) 2020-01-11T17:08:10Z hiroaki quit (Ping timeout: 258 seconds) 2020-01-11T17:09:06Z Kundry_Wag joined #lisp 2020-01-11T17:09:21Z _heisig joined #lisp 2020-01-11T17:10:09Z cosimone joined #lisp 2020-01-11T17:11:00Z heisig quit (Ping timeout: 248 seconds) 2020-01-11T17:11:10Z karlosz joined #lisp 2020-01-11T17:11:20Z Kundry_Wag quit (Remote host closed the connection) 2020-01-11T17:11:54Z heisig__ joined #lisp 2020-01-11T17:13:15Z heisig__ is now known as heisig 2020-01-11T17:14:12Z _heisig quit (Ping timeout: 246 seconds) 2020-01-11T17:15:46Z heisig quit (Remote host closed the connection) 2020-01-11T17:16:02Z heisig joined #lisp 2020-01-11T17:20:02Z ebrasca quit (Remote host closed the connection) 2020-01-11T17:21:05Z hiroaki joined #lisp 2020-01-11T17:22:21Z rwcom joined #lisp 2020-01-11T17:24:08Z rwcom8 quit (Ping timeout: 260 seconds) 2020-01-11T17:26:43Z gravicappa quit (Read error: Connection reset by peer) 2020-01-11T17:27:13Z test1600 quit (Quit: Leaving) 2020-01-11T17:31:04Z gravicappa joined #lisp 2020-01-11T17:32:35Z MonoBobo_ quit (Ping timeout: 268 seconds) 2020-01-11T17:36:24Z MonoBobo joined #lisp 2020-01-11T17:43:52Z decent-username quit (Ping timeout: 252 seconds) 2020-01-11T17:44:44Z decent-username joined #lisp 2020-01-11T17:50:04Z cosimone quit (Quit: Quit.) 2020-01-11T17:50:14Z kajo joined #lisp 2020-01-11T17:57:05Z davisr joined #lisp 2020-01-11T18:03:36Z MonoBobo quit (Ping timeout: 268 seconds) 2020-01-11T18:04:02Z tumdum quit (Ping timeout: 268 seconds) 2020-01-11T18:04:18Z tumdum joined #lisp 2020-01-11T18:04:18Z tumdum quit (Changing host) 2020-01-11T18:04:18Z tumdum joined #lisp 2020-01-11T18:05:28Z jprajzne quit (Quit: jprajzne) 2020-01-11T18:08:08Z MonoBobo joined #lisp 2020-01-11T18:11:14Z gareppa joined #lisp 2020-01-11T18:16:15Z dale joined #lisp 2020-01-11T18:17:32Z Shinmera- joined #lisp 2020-01-11T18:20:03Z MonoBobo_ joined #lisp 2020-01-11T18:20:16Z MonoBobo quit (Read error: Connection reset by peer) 2020-01-11T18:21:05Z puchacz joined #lisp 2020-01-11T18:21:46Z puchacz: hi, it seems that variables used in loop are bound as if they were (let ...), so safe to use the same name in inner loop, like here: (loop :for i :from 0 :to 3 :collect (cons i (loop :for i :from 1 :to 2 :collect i))) 2020-01-11T18:21:55Z Shinmera quit (Ping timeout: 268 seconds) 2020-01-11T18:21:58Z Shinmera- is now known as Shinmera 2020-01-11T18:21:58Z puchacz: the result is ((0 1 2) (1 1 2) (2 1 2) (3 1 2)) 2020-01-11T18:22:20Z puchacz: it is not by accident, is it? 2020-01-11T18:22:56Z Bike: there's a binding, sure 2020-01-11T18:23:12Z puchacz: so Bike, nothing wrong with what I did, is it? 2020-01-11T18:23:33Z puchacz: by "reusing" the name 2020-01-11T18:24:16Z |3b|: shadowing the outer binding(s) is fine 2020-01-11T18:24:30Z puchacz: exactly like with (let ...) ? 2020-01-11T18:24:42Z |3b|: (fine for the compiler, might be less fine for humans) 2020-01-11T18:24:53Z varjag quit (Quit: ERC (IRC client for Emacs 25.2.2)) 2020-01-11T18:24:55Z puchacz: |3b| perfectly fine for me :) 2020-01-11T18:25:13Z pjb: puchacz: note that the standard doesn't specify weither there's one binding per iteration or one bindinig for the whole loop. 2020-01-11T18:25:14Z |3b|: doesn't matter what creates the bindings, they work the same way 2020-01-11T18:25:49Z pjb: (mapcar 'funcall (loop for i below 3 collect (lambda () i))) #| --> (3 3 3) or (0 1 2) |# 2020-01-11T18:25:51Z |3b|: (defun foo (i) (let ((i i)) (loop for i from i collect (loop for i below i collect i)))) 2020-01-11T18:26:17Z pjb: (mapcar 'funcall (loop for i below 3 collect (let ((i i)) (lambda () i)))) #| --> (0 1 2) |# if you want one binding per iteration. 2020-01-11T18:26:42Z |3b| 's loop doesn't terminate though, so possibly bad example) 2020-01-11T18:27:06Z puchacz: pjb: I did not know that, thanks. sbcl has one binding for the whole loop if I remember, checking 2020-01-11T18:27:27Z puchacz: yes, (3 3 3) 2020-01-11T18:28:09Z puchacz: I discovered it some time ago, and use (let...) if I need, I did not know that some lisps may not need (let ...) - of course even those lisps will work fine with extra let 2020-01-11T18:28:36Z puchacz: so my example with one binding per whole iteration, is it guaranteed to work across all common lisps? 2020-01-11T18:28:50Z Bike: i mean, loop makes aat least one binding, yes. 2020-01-11T18:28:59Z pjb: Yes. 2020-01-11T18:29:00Z puchacz: okay, so I am good 2020-01-11T18:29:02Z puchacz: :) 2020-01-11T18:29:05Z puchacz: thanks guys! 2020-01-11T18:29:30Z papachan quit (Ping timeout: 268 seconds) 2020-01-11T18:31:14Z tumdum quit (Ping timeout: 240 seconds) 2020-01-11T18:31:22Z gareppa quit (Quit: Leaving) 2020-01-11T18:31:30Z tumdum joined #lisp 2020-01-11T18:33:38Z jfb4 quit (Ping timeout: 240 seconds) 2020-01-11T18:33:46Z jfb4_ joined #lisp 2020-01-11T18:35:21Z slyrus_ joined #lisp 2020-01-11T18:37:31Z scymtym_ joined #lisp 2020-01-11T18:38:13Z slyrus__ quit (Ping timeout: 260 seconds) 2020-01-11T18:38:56Z oxum joined #lisp 2020-01-11T18:39:32Z scymtym quit (Ping timeout: 248 seconds) 2020-01-11T18:43:48Z scymtym_ quit (Ping timeout: 248 seconds) 2020-01-11T18:45:26Z klltkr joined #lisp 2020-01-11T18:45:26Z heisig quit (Read error: Connection reset by peer) 2020-01-11T18:45:35Z heisig joined #lisp 2020-01-11T18:45:49Z Kundry_Wag joined #lisp 2020-01-11T18:48:26Z cpape quit (Ping timeout: 240 seconds) 2020-01-11T18:48:39Z cpape joined #lisp 2020-01-11T18:50:10Z asarch joined #lisp 2020-01-11T18:50:28Z Kundry_Wag quit (Ping timeout: 260 seconds) 2020-01-11T18:50:32Z asarch: One stupid question: just like the mini golf, what would be the shortest way to count from 0 to 5? 2020-01-11T18:50:59Z puchacz: (loop :for i :from 0 : to 5 :do (print i)) 2020-01-11T18:51:07Z pjb quit (Read error: Connection reset by peer) 2020-01-11T18:52:19Z pjb joined #lisp 2020-01-11T18:52:26Z dale quit (Read error: Connection reset by peer) 2020-01-11T18:52:56Z cpape` joined #lisp 2020-01-11T18:53:03Z dale joined #lisp 2020-01-11T18:53:12Z Buggys quit (Ping timeout: 258 seconds) 2020-01-11T18:53:35Z simplegauss quit (Ping timeout: 258 seconds) 2020-01-11T18:53:35Z LdBeth: pjb: thank you for the links, I'll read them later 2020-01-11T18:53:40Z easye` joined #lisp 2020-01-11T18:53:53Z Shinmera- joined #lisp 2020-01-11T18:55:00Z nowhere_man joined #lisp 2020-01-11T18:55:13Z nowhereman quit (Ping timeout: 268 seconds) 2020-01-11T18:55:13Z aindilis quit (Ping timeout: 268 seconds) 2020-01-11T18:55:27Z simplegauss_ joined #lisp 2020-01-11T18:56:26Z LdBeth: asarch: install april and write “[]IO<-0 <> i5” 2020-01-11T18:56:55Z slyrus joined #lisp 2020-01-11T18:56:58Z nckx joined #lisp 2020-01-11T18:57:08Z easye quit (Remote host closed the connection) 2020-01-11T18:57:08Z cpape quit (Remote host closed the connection) 2020-01-11T18:57:09Z Shinmera quit (Remote host closed the connection) 2020-01-11T18:57:16Z easye` quit (Read error: Connection reset by peer) 2020-01-11T18:57:30Z Buggys joined #lisp 2020-01-11T18:58:02Z slyrus_ quit (Ping timeout: 240 seconds) 2020-01-11T18:58:24Z easye` joined #lisp 2020-01-11T18:58:36Z |3b|: loop starts from 0 if you don't specify, so (loop for i to 5 do(print i)) is a bit shorter, but (dotimes(i 5)(print i)) is shorter than loop 2020-01-11T19:00:18Z ShinmerARGH joined #lisp 2020-01-11T19:00:38Z ShinmerARGH is now known as Shinmera 2020-01-11T19:00:50Z Shinmera- quit (Ping timeout: 240 seconds) 2020-01-11T19:01:11Z heisig quit (Quit: Leaving) 2020-01-11T19:01:40Z easye` quit (Excess Flood) 2020-01-11T19:02:43Z easye` joined #lisp 2020-01-11T19:03:13Z aindilis joined #lisp 2020-01-11T19:04:17Z ggole quit (Quit: Leaving) 2020-01-11T19:05:51Z gabc joined #lisp 2020-01-11T19:06:16Z Kundry_Wag joined #lisp 2020-01-11T19:06:25Z Kundry_Wag quit (Remote host closed the connection) 2020-01-11T19:06:52Z pjb: (loop for i to 5 collect i) #| --> (0 1 2 3 4 5) |# is shorter than (let ((is '())) (dotimes (i (1+ 5) (nreverse is)) (push i is))) #| --> (0 1 2 3 4 5) |# 2020-01-11T19:07:09Z pjb: |3b|: and your do is shorter, but doesn't do the same as your loop. 2020-01-11T19:07:18Z pjb: s/do/dotimes/ 2020-01-11T19:09:43Z |3b|: right, building a list is easier in loop, and i should probably test more carefully :/ 2020-01-11T19:10:49Z asarch: Yeah! Thank you! 2020-01-11T19:10:50Z |3b|: though for golfing, you should skip the spaces before ( and drop the ' :) 2020-01-11T19:11:17Z asarch: “[]IO<-0 <> i5” <- Is this Lisp? 2020-01-11T19:11:31Z Inline: uhuh 2020-01-11T19:11:34Z oni-on-ion: could be... 2020-01-11T19:11:35Z |3b|: it is (presumably) lisp with a custom reader 2020-01-11T19:11:36Z Inline: that looks more like apl 2020-01-11T19:11:44Z Inline: hmmm 2020-01-11T19:12:11Z Bike: ah, yep, it's an APL to Lisp compiler... hows about that. 2020-01-11T19:12:30Z Inline: hahaha 2020-01-11T19:12:32Z |3b|: (let(l)(dotimes(i 6(reverse l))(push i l))) is ugly, but still a good bit longer than the LOOP equivalent 2020-01-11T19:13:20Z asarch: (dotimes(i 5)(print i)) 2020-01-11T19:13:50Z |3b|: asarch: 6 if you want 0 to 5 inclusive 2020-01-11T19:13:57Z Bike: '(0 1 2 3 4 5) bam 2020-01-11T19:14:33Z |3b|: if you allow libs and just want a list, (iota 6) ;; from alexandria 2020-01-11T19:15:16Z asarch: (each (i '(0 .. 5)) (print i)) 2020-01-11T19:15:17Z |3b|: or (map()'print(iota 5)) 2020-01-11T19:15:31Z FreeBirdLjj joined #lisp 2020-01-11T19:16:09Z |3b|: but then presumably you'd just use a hypothetical golf lib that had any function you want assigned to some unicode character 2020-01-11T19:16:32Z |3b|: (and wrapped in a symbol macro to avoid the extra () 2020-01-11T19:17:32Z asarch: I mean, the less commands you need to accomplish a task 2020-01-11T19:17:54Z |3b|: 'commands' /= 'characters' :) 2020-01-11T19:18:46Z davisr_ joined #lisp 2020-01-11T19:18:48Z slyrus_ joined #lisp 2020-01-11T19:19:17Z minion quit (Remote host closed the connection) 2020-01-11T19:19:22Z akrl` joined #lisp 2020-01-11T19:19:35Z specbot quit (Disconnected by services) 2020-01-11T19:19:35Z minion joined #lisp 2020-01-11T19:19:38Z specbot joined #lisp 2020-01-11T19:19:57Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2020-01-11T19:20:05Z |3b| wonders how long it would take to run out of good characters if you added a function to the lib every time someone suggested a new golf task 2020-01-11T19:20:05Z cpape`` joined #lisp 2020-01-11T19:21:28Z frgo_ joined #lisp 2020-01-11T19:21:30Z _jrjsmrtn joined #lisp 2020-01-11T19:21:44Z davisr quit (Remote host closed the connection) 2020-01-11T19:21:44Z slyrus quit (Remote host closed the connection) 2020-01-11T19:21:45Z frgo quit (Read error: Connection reset by peer) 2020-01-11T19:21:45Z Krystof quit (Ping timeout: 265 seconds) 2020-01-11T19:22:08Z __jrjsmrtn__ quit (Quit: Bye !) 2020-01-11T19:22:08Z femi quit (Ping timeout: 265 seconds) 2020-01-11T19:22:08Z akrl quit (Remote host closed the connection) 2020-01-11T19:22:08Z cpape` quit (Remote host closed the connection) 2020-01-11T19:22:08Z jcob quit (Ping timeout: 265 seconds) 2020-01-11T19:22:08Z rwcom9 joined #lisp 2020-01-11T19:22:08Z bmansurov quit (Ping timeout: 252 seconds) 2020-01-11T19:23:38Z rwcom quit (Ping timeout: 240 seconds) 2020-01-11T19:23:39Z rwcom9 is now known as rwcom 2020-01-11T19:23:50Z jcob joined #lisp 2020-01-11T19:24:06Z femi joined #lisp 2020-01-11T19:27:19Z bmansurov joined #lisp 2020-01-11T19:29:34Z heisig joined #lisp 2020-01-11T19:30:23Z MonoBobo_ quit (Ping timeout: 258 seconds) 2020-01-11T19:30:26Z asarch: See you later! 2020-01-11T19:30:29Z asarch quit (Quit: Leaving) 2020-01-11T19:30:48Z heisig quit (Client Quit) 2020-01-11T19:31:49Z X-Scale` joined #lisp 2020-01-11T19:32:50Z X-Scale quit (Ping timeout: 268 seconds) 2020-01-11T19:32:50Z X-Scale` is now known as X-Scale 2020-01-11T19:33:34Z Kundry_Wag joined #lisp 2020-01-11T19:34:39Z Kundry_Wag quit (Remote host closed the connection) 2020-01-11T19:35:36Z MonoBobo joined #lisp 2020-01-11T19:37:03Z z147 quit (Ping timeout: 240 seconds) 2020-01-11T19:37:38Z vlatkoB quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) 2020-01-11T19:42:48Z MonoBobo quit (Read error: Connection reset by peer) 2020-01-11T19:43:52Z pjb: |3b|: unicode has a lot of good characters. But I agree that golf tasks naturally reduce good character in the most mild mannered and educated people… 2020-01-11T19:44:54Z rumbler31 quit (Remote host closed the connection) 2020-01-11T19:47:03Z varjag joined #lisp 2020-01-11T19:52:37Z z147 joined #lisp 2020-01-11T19:55:06Z asdf_asdf_asdf joined #lisp 2020-01-11T19:55:37Z sauvin quit (Ping timeout: 265 seconds) 2020-01-11T19:59:22Z sauvin joined #lisp 2020-01-11T20:12:24Z Kundry_Wag joined #lisp 2020-01-11T20:21:08Z Kundry_Wag quit (Remote host closed the connection) 2020-01-11T20:24:42Z Odin- joined #lisp 2020-01-11T20:28:22Z slyrus__ joined #lisp 2020-01-11T20:30:48Z slyrus_ quit (Ping timeout: 260 seconds) 2020-01-11T20:33:40Z kajo quit (Ping timeout: 248 seconds) 2020-01-11T20:42:45Z cosimone joined #lisp 2020-01-11T20:42:52Z ravndal quit (Quit: WeeChat 2.7) 2020-01-11T20:44:28Z ravndal joined #lisp 2020-01-11T20:50:25Z kajo joined #lisp 2020-01-11T21:01:54Z Kundry_Wag joined #lisp 2020-01-11T21:02:00Z shka_ quit (Ping timeout: 258 seconds) 2020-01-11T21:03:00Z FreeBirdLjj joined #lisp 2020-01-11T21:04:39Z bitmapper joined #lisp 2020-01-11T21:05:13Z bmansurov quit (Ping timeout: 260 seconds) 2020-01-11T21:06:23Z Kundry_Wag quit (Ping timeout: 260 seconds) 2020-01-11T21:07:52Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2020-01-11T21:10:03Z narimiran quit (Ping timeout: 258 seconds) 2020-01-11T21:12:09Z bmansurov joined #lisp 2020-01-11T21:22:44Z cosimone quit (Quit: Quit.) 2020-01-11T21:32:02Z Josh_2 quit (Ping timeout: 240 seconds) 2020-01-11T21:44:37Z gravicappa quit (Ping timeout: 260 seconds) 2020-01-11T21:46:18Z Odin- quit (Read error: Connection reset by peer) 2020-01-11T21:48:46Z slyrus joined #lisp 2020-01-11T21:50:26Z slyrus__ quit (Ping timeout: 240 seconds) 2020-01-11T21:58:51Z karayan joined #lisp 2020-01-11T22:05:23Z akoana joined #lisp 2020-01-11T22:05:37Z stepnem quit (Read error: Connection reset by peer) 2020-01-11T22:08:19Z stepnem joined #lisp 2020-01-11T22:10:55Z Oladon joined #lisp 2020-01-11T22:15:02Z _whitelogger quit (Remote host closed the connection) 2020-01-11T22:17:15Z _whitelogger joined #lisp 2020-01-11T22:18:31Z asdf_asdf_asdf quit (Remote host closed the connection) 2020-01-11T22:19:24Z asdf_asdf_asdf joined #lisp 2020-01-11T22:24:31Z jonatack joined #lisp 2020-01-11T22:27:52Z brown121407 quit (Read error: Connection reset by peer) 2020-01-11T22:28:17Z brown121407 joined #lisp 2020-01-11T22:30:57Z varjag quit (Remote host closed the connection) 2020-01-11T22:31:10Z varjag joined #lisp 2020-01-11T22:31:10Z jfb4 joined #lisp 2020-01-11T22:31:36Z ebrasca joined #lisp 2020-01-11T22:32:54Z jfb4_ quit (Ping timeout: 268 seconds) 2020-01-11T22:43:47Z Shinmera- joined #lisp 2020-01-11T22:45:25Z Shinmera quit (Ping timeout: 268 seconds) 2020-01-11T22:45:27Z Shinmera- is now known as Shinmera 2020-01-11T22:48:48Z ebrasca quit (Remote host closed the connection) 2020-01-11T22:49:07Z tumdum quit (Ping timeout: 268 seconds) 2020-01-11T22:50:01Z tumdum joined #lisp 2020-01-11T22:50:01Z tumdum quit (Changing host) 2020-01-11T22:50:01Z tumdum joined #lisp 2020-01-11T23:06:17Z karayan quit (Ping timeout: 260 seconds) 2020-01-11T23:07:27Z decent-username quit (Ping timeout: 260 seconds) 2020-01-11T23:10:51Z Odin- joined #lisp 2020-01-11T23:12:42Z brettgilio quit (Ping timeout: 260 seconds) 2020-01-11T23:16:13Z papachan joined #lisp 2020-01-11T23:18:05Z Mark35 joined #lisp 2020-01-11T23:18:05Z torbo joined #lisp 2020-01-11T23:18:50Z Mark35: How would one pretty print json in lisp? It appears possible with https://common-lisp.net/project/cl-json/cl-json.html but I'm not sure how to go about it. 2020-01-11T23:20:16Z asdf_asdf_asdf: http://www.lispworks.com/documentation/HyperSpec/Body/v_pr_pre.htm 2020-01-11T23:22:19Z Mark35: Specifically I would like to pretty print the JSON output, not a lisp structure. 2020-01-11T23:27:38Z lucasb quit (Quit: Connection closed for inactivity) 2020-01-11T23:38:38Z DGASAU quit (Ping timeout: 260 seconds) 2020-01-11T23:38:43Z z147 quit (Ping timeout: 240 seconds) 2020-01-11T23:39:38Z Odin-: XP is pretty configurable. Shouldn't be much of a problem convincing it to print Lisp structures as JSON. 2020-01-11T23:44:22Z slyrus_ joined #lisp 2020-01-11T23:44:43Z Mark35 quit (Remote host closed the connection) 2020-01-11T23:46:56Z slyrus quit (Ping timeout: 265 seconds) 2020-01-11T23:50:43Z puchacz quit (Quit: Connection closed for inactivity) 2020-01-12T00:01:13Z william1_ joined #lisp 2020-01-12T00:01:35Z Shinmera quit (Remote host closed the connection) 2020-01-12T00:02:06Z Shinmera joined #lisp 2020-01-12T00:05:09Z wxie joined #lisp 2020-01-12T00:06:01Z william1_ quit (Ping timeout: 268 seconds) 2020-01-12T00:10:34Z HiRE: so I ran into a problem with common lisp maybe someone can help? 2020-01-12T00:10:48Z no-defun-allowed: What problem? 2020-01-12T00:11:02Z HiRE: so I'm on chapter 3 on the database part where he introduces save-db 2020-01-12T00:11:05Z icer joined #lisp 2020-01-12T00:11:11Z HiRE: and it has this command `if-exists: :supercede` 2020-01-12T00:11:23Z HiRE: **:if-exists 2020-01-12T00:11:31Z HiRE: in SBCL it doesnt seem to compile 1s let me get the error 2020-01-12T00:11:49Z HiRE: ; :SUPERCEDE conflicts with its asserted type 2020-01-12T00:11:49Z HiRE: ; (MEMBER :ERROR :NEW-VERSION :RENAME :RENAME-AND-DELETE :OVERWRITE :APPEND 2020-01-12T00:11:50Z HiRE: ; :SUPERSEDE NIL). 2020-01-12T00:12:10Z HiRE: I read the handling of types section in the SBCL manual but it just left me more confused :( 2020-01-12T00:12:13Z no-defun-allowed: You made a typo. It should be :SUPERSEDE. 2020-01-12T00:12:21Z HiRE: oh..jesus 2020-01-12T00:12:23Z oni-on-ion: D= 2020-01-12T00:12:30Z HiRE: thank you 2020-01-12T00:12:32Z no-defun-allowed: The book uses :SUPERSEDE too. 2020-01-12T00:12:39Z icer left #lisp 2020-01-12T00:12:46Z HiRE: yeah you're right. Apparently I can't read. 2020-01-12T00:12:56Z Odin-: Which book is that? 2020-01-12T00:13:07Z no-defun-allowed: You can think of the type (MEMBER items ...) as meaning the provided value has to be one of the provided items. 2020-01-12T00:13:14Z no-defun-allowed: Practical Common Lisp. 2020-01-12T00:13:36Z no-defun-allowed: http://www.lispworks.com/documentation/HyperSpec/Body/t_member.htm 2020-01-12T00:13:47Z Odin-: Ah. 2020-01-12T00:13:49Z Odin-: open. 2020-01-12T00:14:09Z HiRE: oh, yeah I was confused because of the ending NIL 2020-01-12T00:14:16Z no-defun-allowed: HiRE: That isn't a command either, it is an argument to WITH-OPEN-FILE. 2020-01-12T00:14:21Z torvis joined #lisp 2020-01-12T00:14:43Z HiRE: got it - much appreciated 2020-01-12T00:14:48Z HiRE: sorry for asking such a stupid question 2020-01-12T00:14:51Z HiRE: sigh 2020-01-12T00:15:35Z no-defun-allowed: Providing :IF-EXISTS NIL to OPEN will just have it return NIL if the file exists already, which I don't think is used too much as signalling a condition is more appropriate. 2020-01-12T00:15:42Z Odin-: I don't think there's anyone who's never missed an obvious typo in code. 2020-01-12T00:15:53Z Odin-: At least not if they've done any significant coding. 2020-01-12T00:16:10Z Odin-: ... is that too many negations? 2020-01-12T00:16:41Z HiRE: made sense to me haha 2020-01-12T00:17:49Z HiRE: Is it more idiomatic to put each closing paren on a new line, or all packed in at the end? 2020-01-12T00:19:16Z holycow quit (Quit: Lost terminal) 2020-01-12T00:20:56Z torvis: I'm using portacle/sbcl and quicklisp and a dependency on iolib/grovel fails with: 2020-01-12T00:21:06Z torvis: Error while trying to load definition for system iolib from 2020-01-12T00:21:06Z torvis: pathname 2020-01-12T00:21:06Z torvis: c:/Users/eric/portacle/all/quicklisp/dists/quicklisp/software/iolib-v0.8.3/iolib.asd: 2020-01-12T00:21:06Z torvis: 2020-01-12T00:21:09Z torvis: error while parsing arguments to NIL DESTRUCTURING-BIND: 2020-01-12T00:21:12Z torvis: odd number of elements in keyword/value list: (:PATHNAME) 2020-01-12T00:22:31Z torvis: I'm fairly new to CL, any idea/ponters on what could have gone wrong? 2020-01-12T00:24:29Z fe[nl]ix: torvis: iolib doesn't work on Windows 2020-01-12T00:25:01Z _death: maybe it should have #-unix "unsupported-platform" 2020-01-12T00:25:53Z _death: which could be a file containing (error "Unsupported platform, patches welcome") or something 2020-01-12T00:26:33Z torvis: Aha. Thanks! I'll switch to a linux box. 2020-01-12T00:26:38Z wxie1 joined #lisp 2020-01-12T00:26:59Z wxie quit (Ping timeout: 268 seconds) 2020-01-12T00:26:59Z wxie1 is now known as wxie 2020-01-12T00:30:20Z asdf_asdf_asdf quit (Quit: asdf_asdf_asdf) 2020-01-12T00:33:10Z EvW1 joined #lisp 2020-01-12T00:33:48Z turona quit (Ping timeout: 252 seconds) 2020-01-12T00:34:08Z turona joined #lisp 2020-01-12T00:36:19Z torvis: @_death so, I added: 2020-01-12T00:36:32Z fe[nl]ix: torvis: also, on Linux you need to install a C library named libfixposix 2020-01-12T00:36:43Z lottaquestions quit (Ping timeout: 265 seconds) 2020-01-12T00:38:27Z wxie quit (Ping timeout: 260 seconds) 2020-01-12T00:40:39Z torvis: fe[nl]ix: ok, thanks. I see the git repo. 2020-01-12T00:41:13Z fe[nl]ix: what distribution do you use ? 2020-01-12T00:42:13Z adolby quit (Ping timeout: 260 seconds) 2020-01-12T00:42:55Z lottaquestions joined #lisp 2020-01-12T00:43:06Z torvis: ubuntu these days 2020-01-12T00:43:06Z adolby joined #lisp 2020-01-12T00:44:11Z fe[nl]ix: torvis: https://github.com/sionescu/iolib/blob/master/install-repo.bash 2020-01-12T00:45:02Z fe[nl]ix: I provide a repository with libfixposix 2020-01-12T00:45:43Z fe[nl]ix: the Debian_Old repository works with Ubuntu 16.04 LTS 2020-01-12T00:46:07Z fe[nl]ix: if you want a more recent one you can replace Debian_Old with just Debian 2020-01-12T00:47:28Z varjag quit (Ping timeout: 260 seconds) 2020-01-12T00:50:43Z torvis: the script looks like it worked 2020-01-12T00:50:55Z torvis: i am on 16.04 LTS 2020-01-12T00:55:32Z cods quit (Ping timeout: 268 seconds) 2020-01-12T00:57:54Z physpi: Good things to read to become a better cl developer? 2020-01-12T00:57:58Z physpi: Also, any allegro devs here? 2020-01-12T00:58:35Z Xach: physpi: cl-ppcre source is good reading 2020-01-12T00:58:40Z Xach: physpi: no allegro devs here 2020-01-12T00:59:08Z Xach: physpi: practical common lisp and paradigms of ai programming are good books (and free to read) 2020-01-12T00:59:11Z physpi: starred @ Xach 2020-01-12T00:59:20Z physpi: I've read most of pcl I think 2020-01-12T00:59:33Z physpi: And I definitely should read paradigms of ai programming. 2020-01-12T00:59:59Z _death: the clhs 2020-01-12T01:00:17Z Xach: cltl2 is a funner read if you keep in mind that it is not the final standard 2020-01-12T01:00:32Z _death: yes, it's a great book by itself 2020-01-12T01:00:34Z Xach: spec/clhs is drier but also worth studying 2020-01-12T01:02:47Z physpi: Do any of you use static type checking @ compile time 2020-01-12T01:02:52Z physpi: I heard sbcl will do it. 2020-01-12T01:02:58Z torvis: fe[nl]ix: thanks. the install succeeded. 2020-01-12T01:04:36Z random-nick quit (Ping timeout: 268 seconds) 2020-01-12T01:04:40Z Xach: physpi: yes, you don't have to do anything special to get sbcl's help on that topic. it can issue more warnings if you make more promises via type declarations. 2020-01-12T01:04:57Z physpi: Cool! 2020-01-12T01:05:04Z physpi: Allegro does not do that AFAIK. 2020-01-12T01:08:17Z HiRE: so with keyword arguments - once you specify &key everything after that is treated as a keyword? 2020-01-12T01:08:20Z Xach: i only use allegro for quicklisp testing so i'm not sure what it might offer in that regard 2020-01-12T01:08:36Z Xach: HiRE: yes 2020-01-12T01:08:45Z HiRE: ah cool 2020-01-12T01:09:07Z Xach: HiRE: but it can get more complex 2020-01-12T01:09:45Z HiRE: yeah im just finishing up chapter 3 of PCL 2020-01-12T01:09:57Z HiRE: he mentions he glossed over a lot of detail 2020-01-12T01:10:17Z physpi: HiRE: you can do &rest after &key 2020-01-12T01:10:24Z Xach: for example (defun foo (&key ((:hey you) *guys*)) ...) looks for the keyword :HEY in calls, binds it to the value YOU in the body of the function, and if it's not passed, uses the value from *GUYS* 2020-01-12T01:10:25Z physpi: and &allow-other-keys 2020-01-12T01:10:27Z physpi: or something like that 2020-01-12T01:10:28Z Xach: physpi: incorrect 2020-01-12T01:10:33Z physpi: Whoops. 2020-01-12T01:10:36Z Xach: physpi: &rest must precede &key 2020-01-12T01:10:36Z physpi: :( 2020-01-12T01:10:44Z physpi: Sorry. losing mind 2020-01-12T01:11:49Z HiRE: wow that does get more complicated 2020-01-12T01:12:18Z Xach: HiRE: not a common pattern but nice to have when you really need it 2020-01-12T01:14:15Z _death: you could also have you-suppliedp there, which introduces another variable whose value is true if the argument was supplied and false otherwise 2020-01-12T01:14:59Z HiRE: His use of chained ands for where is nice 2020-01-12T01:15:01Z HiRE: https://hastebin.com/ohelelosom.rb 2020-01-12T01:15:41Z HiRE: however I am confused - if the keyword variable isnt supplied that branch of the and statement is NIL right? So wouldn't that invalidate all other branches? 2020-01-12T01:16:00Z HiRE: I mean obviously (select (where :artist "Joe's band")) works fine - just trying to reason out the way the and is breaking down 2020-01-12T01:17:39Z HiRE: ah wait, I think I see it now 2020-01-12T01:17:44Z _death: if, say, TITLE is not supplied, its default value is NIL, so the alternative branch of the IF is evaluated, in this case the form T, which evaluates to T, which is not NIL therefore true 2020-01-12T01:17:56Z HiRE: the `t` is in the false half of the if statement, so if it isn't supplied it just defaults true 2020-01-12T01:17:59Z HiRE: yep 2020-01-12T01:18:02Z HiRE: haha 2020-01-12T01:18:07Z HiRE: just realized it. Still getting used to reading lisp ifs 2020-01-12T01:18:24Z HiRE: you guys were right this book is great 2020-01-12T01:21:10Z gabc: It's Practical Common Lisp you're talking about? 2020-01-12T01:21:14Z torvis quit (Ping timeout: 240 seconds) 2020-01-12T01:22:05Z srandon111 quit (Quit: leaving) 2020-01-12T01:22:38Z HiRE: gabc: yeah 2020-01-12T01:23:13Z HiRE: usually I'll learn a language by doing practice problems but since lisp is so different I figured learning from first principles was the best idea 2020-01-12T01:23:20Z HiRE: its been a long time since I've read a decent programming book 2020-01-12T01:23:36Z gabc: Yeah it's good :) 2020-01-12T01:24:02Z gabc: I use it now as a reference when I want something clear for details (like &key and &optional or `loop') 2020-01-12T01:25:20Z slyrus__ joined #lisp 2020-01-12T01:26:45Z aeth: HiRE: Imo tThe main distinction besides the syntax that makes it different is that nearly everything is an expression that returns a useful value 2020-01-12T01:26:50Z aeth: s/tThe/the/ 2020-01-12T01:27:25Z HiRE: aeth: yeah its a really nice idea. The result is very clean. At least as far as I've seen from chapter 3 the code is remarkably clean. 2020-01-12T01:27:33Z HiRE: and intuitive (once you learn the syntax) 2020-01-12T01:28:02Z slyrus_ quit (Ping timeout: 258 seconds) 2020-01-12T01:28:54Z wxie joined #lisp 2020-01-12T01:30:45Z gabc: Just keep in mind that the cleanliness is not actually true and that you need to know when it isn't as to avoid pitfalls 2020-01-12T01:31:06Z gabc: (It's not that bad, just like.. a thing to keep in mind) 2020-01-12T01:39:41Z Odin-: The Lisp 1.5 manual makes for some ... interesting reading when your chief exposure to Lisp is modern CL code. 2020-01-12T01:42:02Z sauvin quit (Ping timeout: 240 seconds) 2020-01-12T01:52:13Z sauvin joined #lisp 2020-01-12T01:52:50Z HiRE: http://web.cse.ohio-state.edu/~rountev.1/6341/pdf/Manual.pdf 2020-01-12T01:52:51Z HiRE: hah 2020-01-12T01:52:52Z HiRE: haha 2020-01-12T01:53:13Z HiRE: man these are ancient manuscripts 2020-01-12T01:56:38Z Oladon quit (Quit: Leaving.) 2020-01-12T01:57:47Z anewuser joined #lisp 2020-01-12T02:00:43Z clothespin joined #lisp 2020-01-12T02:01:14Z clothespin: how do you turn off gc in sbcl? 2020-01-12T02:02:32Z Xach: clothespin: I think you can do that by doing (setf (sb-ext:bytes-consed-between-gcs) ) 2020-01-12T02:02:45Z Xach: #sbcl could say for sure - it is not something i have personally tried. 2020-01-12T02:03:00Z clothespin: thanks! I'll try it. 2020-01-12T02:10:41Z HiRE: clothespin: you could also look at the programming language benchmark game. They use SBCL and iirc they run it without a gc 2020-01-12T02:12:26Z holycow joined #lisp 2020-01-12T02:18:28Z wxie quit (Ping timeout: 260 seconds) 2020-01-12T02:23:38Z karlosz quit (Quit: karlosz) 2020-01-12T02:26:02Z Arcaelyx quit (Quit: Arcaelyx) 2020-01-12T02:26:44Z klltkr quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-12T02:31:44Z wxie joined #lisp 2020-01-12T02:50:15Z bmansurov left #lisp 2020-01-12T02:56:01Z smokeink joined #lisp 2020-01-12T03:01:14Z william1_ joined #lisp 2020-01-12T03:06:16Z william1_ quit (Ping timeout: 268 seconds) 2020-01-12T03:09:38Z nowhere_man quit (Ping timeout: 252 seconds) 2020-01-12T03:10:42Z Lord_of_Life_ joined #lisp 2020-01-12T03:11:38Z Lord_of_Life quit (Ping timeout: 268 seconds) 2020-01-12T03:12:03Z Lord_of_Life_ is now known as Lord_of_Life 2020-01-12T03:12:05Z nowhere_man joined #lisp 2020-01-12T03:12:43Z monok joined #lisp 2020-01-12T03:16:34Z mono quit (Ping timeout: 268 seconds) 2020-01-12T03:21:12Z papachan quit (Quit: Leaving) 2020-01-12T03:23:32Z bitmapper quit (Ping timeout: 268 seconds) 2020-01-12T03:35:04Z Odin- quit (Ping timeout: 268 seconds) 2020-01-12T03:44:32Z EvW1 quit (Ping timeout: 260 seconds) 2020-01-12T03:53:36Z rumbler31 joined #lisp 2020-01-12T03:57:08Z rumbler31 quit (Remote host closed the connection) 2020-01-12T03:57:23Z rumbler31 joined #lisp 2020-01-12T03:57:38Z wxie quit (Ping timeout: 260 seconds) 2020-01-12T04:00:58Z Necktwi joined #lisp 2020-01-12T04:08:43Z dddddd quit (Ping timeout: 260 seconds) 2020-01-12T04:11:51Z phlim quit (Quit: WeeChat 2.4) 2020-01-12T04:13:22Z phlim joined #lisp 2020-01-12T04:18:02Z _whitelogger quit (Remote host closed the connection) 2020-01-12T04:20:14Z _whitelogger joined #lisp 2020-01-12T04:26:24Z gravicappa joined #lisp 2020-01-12T04:33:13Z sveit quit (Ping timeout: 245 seconds) 2020-01-12T04:33:38Z banjiewen quit (Ping timeout: 245 seconds) 2020-01-12T04:33:38Z sgithens quit (Ping timeout: 245 seconds) 2020-01-12T04:34:03Z gjnoonan quit (Ping timeout: 245 seconds) 2020-01-12T04:34:03Z entel quit (Ping timeout: 245 seconds) 2020-01-12T04:34:11Z White_Flame quit (Quit: No Ping reply in 180 seconds.) 2020-01-12T04:34:17Z entel joined #lisp 2020-01-12T04:34:53Z physpi quit (Ping timeout: 245 seconds) 2020-01-12T04:34:53Z pent quit (Ping timeout: 245 seconds) 2020-01-12T04:34:56Z CommanderViral1 quit (Quit: ZNC 1.7.1+deb1+bionic1 - https://znc.in) 2020-01-12T04:35:14Z CommanderViral joined #lisp 2020-01-12T04:35:25Z White_Flame joined #lisp 2020-01-12T04:35:43Z tfb quit (Ping timeout: 245 seconds) 2020-01-12T04:35:47Z gjnoonan joined #lisp 2020-01-12T04:36:06Z sgithens joined #lisp 2020-01-12T04:36:28Z chewbranca quit (Read error: Connection reset by peer) 2020-01-12T04:36:33Z splittist quit (Ping timeout: 245 seconds) 2020-01-12T04:36:44Z banjiewen joined #lisp 2020-01-12T04:36:47Z chewbranca joined #lisp 2020-01-12T04:36:54Z splittist joined #lisp 2020-01-12T04:36:56Z tfb joined #lisp 2020-01-12T04:36:58Z mason quit (Ping timeout: 245 seconds) 2020-01-12T04:37:23Z dkrm quit (Ping timeout: 245 seconds) 2020-01-12T04:37:42Z pent joined #lisp 2020-01-12T04:37:52Z mason joined #lisp 2020-01-12T04:38:16Z hydan quit (Read error: Connection reset by peer) 2020-01-12T04:38:28Z hydan joined #lisp 2020-01-12T04:38:58Z oni-on-ion quit (Remote host closed the connection) 2020-01-12T04:39:03Z housel quit (Ping timeout: 245 seconds) 2020-01-12T04:39:10Z dkrm joined #lisp 2020-01-12T04:39:10Z physpi joined #lisp 2020-01-12T04:39:18Z oni-on-ion joined #lisp 2020-01-12T04:41:08Z XachX quit (Ping timeout: 245 seconds) 2020-01-12T04:41:54Z sveit joined #lisp 2020-01-12T04:42:04Z samebchase quit (Ping timeout: 264 seconds) 2020-01-12T04:43:58Z beach: Good morning everyone! 2020-01-12T04:44:57Z karlosz joined #lisp 2020-01-12T04:46:15Z adolby_ joined #lisp 2020-01-12T04:46:47Z adolby quit (Ping timeout: 268 seconds) 2020-01-12T04:46:58Z samebchase joined #lisp 2020-01-12T04:47:29Z housel joined #lisp 2020-01-12T04:50:57Z rumbler31 quit (Remote host closed the connection) 2020-01-12T04:54:33Z DataLinkDroid quit (*.net *.split) 2020-01-12T04:54:34Z XachX joined #lisp 2020-01-12T04:55:08Z decent-username joined #lisp 2020-01-12T05:06:48Z FreeBirdLjj joined #lisp 2020-01-12T05:12:50Z nowhere_man quit (Read error: Connection reset by peer) 2020-01-12T05:13:47Z anewuser quit (Quit: anewuser) 2020-01-12T05:16:28Z narimiran joined #lisp 2020-01-12T05:36:02Z _whitelogger quit (Remote host closed the connection) 2020-01-12T05:38:14Z _whitelogger joined #lisp 2020-01-12T05:43:08Z torvis joined #lisp 2020-01-12T05:44:23Z xkapastel joined #lisp 2020-01-12T05:44:53Z ggole joined #lisp 2020-01-12T05:49:03Z torvis quit (Ping timeout: 260 seconds) 2020-01-12T05:56:52Z oni-on-ion quit (Ping timeout: 248 seconds) 2020-01-12T05:59:13Z oni-on-ion joined #lisp 2020-01-12T06:11:28Z akoana left #lisp 2020-01-12T06:13:03Z p_l: beach: Good Morning 2020-01-12T06:15:49Z slyrus_ joined #lisp 2020-01-12T06:19:06Z slyrus__ quit (Ping timeout: 268 seconds) 2020-01-12T06:25:12Z jfb4_ joined #lisp 2020-01-12T06:25:27Z FreeBirdLjj quit (Remote host closed the connection) 2020-01-12T06:28:21Z jfb4 quit (Ping timeout: 268 seconds) 2020-01-12T06:30:07Z Bike quit (Quit: Lost terminal) 2020-01-12T06:31:04Z wxie joined #lisp 2020-01-12T06:33:12Z jfb4 joined #lisp 2020-01-12T06:34:05Z jfb4_ quit (Ping timeout: 268 seconds) 2020-01-12T06:34:06Z raghavgururajan joined #lisp 2020-01-12T06:45:28Z karlosz quit (Quit: karlosz) 2020-01-12T06:57:18Z adolby_ quit (Ping timeout: 265 seconds) 2020-01-12T07:07:13Z mathrick quit (Ping timeout: 260 seconds) 2020-01-12T07:07:27Z wxie quit (Quit: wxie) 2020-01-12T07:07:45Z wxie joined #lisp 2020-01-12T07:12:16Z wxie quit (Ping timeout: 258 seconds) 2020-01-12T07:24:28Z quazimodo quit (Ping timeout: 268 seconds) 2020-01-12T07:25:06Z quazimodo joined #lisp 2020-01-12T07:41:47Z quazimodo quit (Ping timeout: 258 seconds) 2020-01-12T07:42:08Z vlatkoB joined #lisp 2020-01-12T07:43:12Z quazimodo joined #lisp 2020-01-12T07:45:58Z holycow quit (Quit: Lost terminal) 2020-01-12T07:50:59Z toorevitimirp joined #lisp 2020-01-12T07:54:05Z torvis joined #lisp 2020-01-12T07:55:59Z wxie joined #lisp 2020-01-12T07:58:35Z smokeink: https://paste.ofcode.org/kYr5SRgtsJsAP56jnSYTC7 adventures in debugging in slime and without slime. Any idea how to solve this mystery ? 2020-01-12T08:00:02Z pjb: HiRE: it wasn't such a stupid question. Some older lisp systems would have given a better error message, suggesting you use :supersede instead… 2020-01-12T08:11:33Z quazimodo quit (Ping timeout: 245 seconds) 2020-01-12T08:12:28Z quazimodo joined #lisp 2020-01-12T08:12:50Z shka_ joined #lisp 2020-01-12T08:13:50Z smokeink: ; the issue: stepping when break is reached in (bt:make-thread #'f) doesn't work in SLIME and doesn't work in the console either. How to make it work?. theoretically it should work because (f) in SLIME (a non-main thread), as well as in the console (main thread), works (can be stepped). there is no -apparent- reason (bt:make-thread #'f) shouldn't be steppable 2020-01-12T08:14:31Z vlatkoB_ joined #lisp 2020-01-12T08:14:51Z torbo quit (Remote host closed the connection) 2020-01-12T08:18:07Z vlatkoB quit (Ping timeout: 268 seconds) 2020-01-12T08:26:29Z wxie quit (Quit: wxie) 2020-01-12T08:26:54Z wxie joined #lisp 2020-01-12T08:31:13Z wxie quit (Ping timeout: 260 seconds) 2020-01-12T08:36:02Z _whitelogger quit (Remote host closed the connection) 2020-01-12T08:38:15Z _whitelogger joined #lisp 2020-01-12T08:39:54Z wxie joined #lisp 2020-01-12T08:40:43Z jackdaniel: bt:make-thread returns 2020-01-12T08:41:22Z jackdaniel: new thread which starts is a side effect, not a control flow branch 2020-01-12T08:41:47Z ym: Is there Emacs mode for showing car (function/macro name or just first element) of a list, when point (cursor) is after closing parenthesis? 2020-01-12T08:43:47Z wxie quit (Client Quit) 2020-01-12T08:44:13Z wxie joined #lisp 2020-01-12T08:48:20Z ggole: There's a thing for showing that when you *type* the closing ), but not a mode 2020-01-12T08:49:16Z smokeink: jackdaniel: so what 2020-01-12T08:50:20Z wxie1 joined #lisp 2020-01-12T08:51:09Z ym: ggole, didn't mentioned this. Nice tick. Thanks. 2020-01-12T08:51:38Z wxie quit (Ping timeout: 260 seconds) 2020-01-12T08:51:39Z wxie1 is now known as wxie 2020-01-12T08:51:39Z ym: s/mentioned/notices/ 2020-01-12T08:51:52Z ym: Damn. 2020-01-12T08:52:13Z ym: English is harder then lisp. 2020-01-12T08:53:05Z Shinmera: *than 2020-01-12T08:53:06Z pjb: ym: M-x customize-variable RET blink-matching-paren RET 2020-01-12T09:02:06Z jackdaniel: smokeink: so there is not swank context for the thread to work with sldb 2020-01-12T09:03:42Z smokeink: then how come swank catches the break ? 2020-01-12T09:05:01Z jackdaniel: via set-break-hook 2020-01-12T09:05:46Z jackdaniel: or maybe with one of signal handlers? 2020-01-12T09:05:59Z jackdaniel: not sure, but there are ways to achieve taht 2020-01-12T09:06:03Z jackdaniel: s/taht/that/ 2020-01-12T09:07:20Z smokeink: ok, you might be right 2020-01-12T09:08:04Z jackdaniel: I'm guessing, if you are sceptical then try to debug sldb 2020-01-12T09:08:27Z smokeink: I certainly will, to see what the hell is going on 2020-01-12T09:08:28Z jackdaniel: maybe when break is caught outside the swank debugging environment it should create one? 2020-01-12T09:17:28Z wxie quit (Ping timeout: 265 seconds) 2020-01-12T09:18:48Z wxie joined #lisp 2020-01-12T09:23:29Z wxie quit (Ping timeout: 268 seconds) 2020-01-12T09:24:50Z wxie joined #lisp 2020-01-12T09:26:20Z wxie quit (Client Quit) 2020-01-12T09:26:39Z wxie joined #lisp 2020-01-12T09:31:08Z wxie quit (Ping timeout: 245 seconds) 2020-01-12T09:32:43Z varjag joined #lisp 2020-01-12T09:34:40Z toorevitimirp quit (Read error: Connection reset by peer) 2020-01-12T09:34:53Z toorevitimirp joined #lisp 2020-01-12T09:40:18Z toorevitimirp quit (Remote host closed the connection) 2020-01-12T09:40:40Z toorevitimirp joined #lisp 2020-01-12T09:41:31Z torvis` joined #lisp 2020-01-12T09:42:44Z akrl` quit (Remote host closed the connection) 2020-01-12T09:42:54Z akrl` joined #lisp 2020-01-12T09:45:04Z torvis quit (Ping timeout: 268 seconds) 2020-01-12T09:48:44Z fitzsim quit (Remote host closed the connection) 2020-01-12T09:51:12Z adam4567 joined #lisp 2020-01-12T09:52:58Z whiteline quit (Read error: Connection reset by peer) 2020-01-12T09:53:22Z whiteline joined #lisp 2020-01-12T09:54:42Z grabarz joined #lisp 2020-01-12T09:56:10Z grabarz quit (Client Quit) 2020-01-12T09:56:15Z decent-username quit (Ping timeout: 246 seconds) 2020-01-12T10:05:25Z narimiran quit (Ping timeout: 268 seconds) 2020-01-12T10:09:49Z torvis` quit (Read error: Connection reset by peer) 2020-01-12T10:30:05Z Retropikzel joined #lisp 2020-01-12T10:30:53Z Retropikzel quit (Client Quit) 2020-01-12T10:31:18Z Retropikzel joined #lisp 2020-01-12T10:37:02Z imherentlybad joined #lisp 2020-01-12T10:38:35Z william1_ joined #lisp 2020-01-12T10:41:53Z dale quit (Quit: My computer has gone to sleep) 2020-01-12T10:44:13Z imherentlybad quit (Quit: WeeChat 2.6) 2020-01-12T10:45:02Z cosimone joined #lisp 2020-01-12T10:48:48Z imherentlybad joined #lisp 2020-01-12T10:53:32Z random-nick joined #lisp 2020-01-12T10:55:23Z smokeink: I want to write a function that transforms some code (checks the cdr of each subtree and when it encounters certain symbols, replaces them with some data). Should I write it all by hand or should I use a code walker? what are code walkers used for? 2020-01-12T10:56:51Z no-defun-allowed: A code walker is used when one has to respect lexical scoping while replacing code. 2020-01-12T10:56:51Z adam4567 quit (Remote host closed the connection) 2020-01-12T10:56:54Z pjb: (defun foo (some-code) (subst '(some data) 'certain-symbol some-code)) #| --> foo |# (foo '(if certain-symbol (print 'certain-symbol))) #| --> (if (some data) (print '(some data))) |# 2020-01-12T10:57:38Z no-defun-allowed: For example, it might be okay to substitute X in (+ x 2) but the client would expect a their own value for X in (let ((x 4)) (+ x 2)) 2020-01-12T10:57:44Z pjb: smokeink: yes, you need to code walk. (foo '(list certain-symbol (let ((certain-symbol 2)) (+ certain-symbol certain-symbol)))) #| --> (list (some data) (let (((some data) 2)) (+ (some data) (some data)))) |# 2020-01-12T10:58:21Z no-defun-allowed: And, yeah, as pjb says, for respecting the meanings of symbols in special forms too. 2020-01-12T11:04:28Z imherentlybad quit (Quit: WeeChat 2.6) 2020-01-12T11:07:22Z decent-username joined #lisp 2020-01-12T11:10:01Z Odin- joined #lisp 2020-01-12T11:11:11Z xkapastel quit (Quit: Connection closed for inactivity) 2020-01-12T11:12:48Z smokeink: I need to replace only symbols at certain positions, for example in (* * *) I'd like to replace only the 2nd and 3rd '* . I was thinking to improve #'trec from http://lib.store.yahoo.net/lib/paulgraham/onlisp.lisp , to make it record the current position for each leaf 2020-01-12T11:14:49Z smokeink: Then i want to make something more complicated : for symbols starting with i! to add (declare (ignorable ...)) at the right position , so I need this ability to modify things at certain positions in the tree 2020-01-12T11:15:31Z cods joined #lisp 2020-01-12T11:16:52Z smokeink: I'll do it just for some simple cases 2020-01-12T11:18:48Z smokeink: I was curious if there are utilities to assist such tasks. why do people write so many macroexpand-dammit, macroexpand-all code walkers? 2020-01-12T11:19:34Z smokeink: *portable code walkers 2020-01-12T11:20:12Z smokeink: https://mkgnu.net/code-walkers 2020-01-12T11:20:18Z dddddd joined #lisp 2020-01-12T11:26:55Z atgreen joined #lisp 2020-01-12T11:28:10Z cosimone quit (Quit: Terminated!) 2020-01-12T11:32:53Z nowhere_man joined #lisp 2020-01-12T11:34:48Z Inline: morning 2020-01-12T11:35:02Z smokeink: morning 2020-01-12T11:38:11Z whiteline quit (Remote host closed the connection) 2020-01-12T11:38:37Z whiteline joined #lisp 2020-01-12T11:44:08Z smokeink quit (Remote host closed the connection) 2020-01-12T11:45:24Z smokeink joined #lisp 2020-01-12T11:51:37Z toorevitimirp quit (Ping timeout: 260 seconds) 2020-01-12T11:54:25Z raghavgururajan quit (Read error: Connection reset by peer) 2020-01-12T11:55:52Z scymtym joined #lisp 2020-01-12T12:08:32Z kajo quit (Ping timeout: 260 seconds) 2020-01-12T12:18:34Z shifty joined #lisp 2020-01-12T12:28:43Z rwcom5 joined #lisp 2020-01-12T12:30:20Z rwcom quit (Ping timeout: 268 seconds) 2020-01-12T12:30:20Z rwcom5 is now known as rwcom 2020-01-12T12:37:05Z quazimodo quit (Ping timeout: 265 seconds) 2020-01-12T12:38:34Z quazimodo joined #lisp 2020-01-12T12:41:03Z Krystof joined #lisp 2020-01-12T12:41:57Z ebrasca joined #lisp 2020-01-12T12:51:12Z asdf_asdf_asdf joined #lisp 2020-01-12T12:59:19Z Retropikzel quit (Quit: Vision[0.10.3]: i've been blurred!) 2020-01-12T13:05:49Z ljavorsk joined #lisp 2020-01-12T13:05:54Z Bike joined #lisp 2020-01-12T13:10:49Z Kundry_Wag joined #lisp 2020-01-12T13:10:56Z Kundry_Wag quit (Remote host closed the connection) 2020-01-12T13:12:23Z ljavorsk quit (Ping timeout: 260 seconds) 2020-01-12T13:19:28Z xkapastel joined #lisp 2020-01-12T13:25:02Z Kundry_Wag joined #lisp 2020-01-12T13:26:03Z Kundry_Wag quit (Remote host closed the connection) 2020-01-12T13:29:23Z trittweiler quit (Read error: Connection timed out) 2020-01-12T13:30:44Z trittweiler joined #lisp 2020-01-12T13:35:13Z fitzsim joined #lisp 2020-01-12T13:37:22Z asdf_asdf_asdf quit (Quit: asdf_asdf_asdf) 2020-01-12T13:39:24Z scymtym quit (Ping timeout: 268 seconds) 2020-01-12T13:54:45Z scymtym joined #lisp 2020-01-12T13:55:23Z slyrus__ joined #lisp 2020-01-12T13:58:31Z slyrus_ quit (Ping timeout: 268 seconds) 2020-01-12T14:02:13Z asdf_asdf_asdf joined #lisp 2020-01-12T14:03:27Z trittweiler quit (Ping timeout: 268 seconds) 2020-01-12T14:10:26Z rwcom quit (Quit: Ping timeout (120 seconds)) 2020-01-12T14:10:58Z rwcom joined #lisp 2020-01-12T14:21:34Z Nilby joined #lisp 2020-01-12T14:29:58Z shifty quit (Ping timeout: 268 seconds) 2020-01-12T14:36:45Z Necktwi quit (Ping timeout: 268 seconds) 2020-01-12T14:42:48Z smokeink quit (Ping timeout: 260 seconds) 2020-01-12T14:43:47Z Necktwi joined #lisp 2020-01-12T14:44:08Z lemoinem is now known as Guest82989 2020-01-12T14:44:08Z Guest82989 quit (Killed (weber.freenode.net (Nickname regained by services))) 2020-01-12T14:44:10Z lemoinem joined #lisp 2020-01-12T14:49:13Z quazimodo quit (Ping timeout: 260 seconds) 2020-01-12T14:54:50Z quazimodo joined #lisp 2020-01-12T14:56:29Z shka_ quit (Ping timeout: 258 seconds) 2020-01-12T14:59:15Z Kundry_Wag joined #lisp 2020-01-12T14:59:16Z Kundry_Wag quit (Read error: Connection reset by peer) 2020-01-12T15:00:45Z shka_ joined #lisp 2020-01-12T15:09:43Z shka_ quit (Remote host closed the connection) 2020-01-12T15:11:55Z Lord_of_Life_ joined #lisp 2020-01-12T15:12:26Z atgreen quit (Ping timeout: 240 seconds) 2020-01-12T15:12:31Z quazimodo quit (Ping timeout: 265 seconds) 2020-01-12T15:12:57Z quazimodo joined #lisp 2020-01-12T15:13:21Z Lord_of_Life quit (Ping timeout: 258 seconds) 2020-01-12T15:14:02Z Kundry_Wag joined #lisp 2020-01-12T15:14:48Z Lord_of_Life_ is now known as Lord_of_Life 2020-01-12T15:15:30Z Kundry_Wag quit (Remote host closed the connection) 2020-01-12T15:17:23Z shka_ joined #lisp 2020-01-12T15:21:02Z _whitelogger quit (Remote host closed the connection) 2020-01-12T15:23:14Z _whitelogger joined #lisp 2020-01-12T15:24:23Z grabarz joined #lisp 2020-01-12T15:25:18Z grabarz quit (Client Quit) 2020-01-12T15:29:04Z Odin- quit (Ping timeout: 258 seconds) 2020-01-12T15:31:11Z xkapastel quit (Quit: Connection closed for inactivity) 2020-01-12T15:35:01Z lemoinem quit (Read error: Connection reset by peer) 2020-01-12T15:36:37Z ebrasca quit (Remote host closed the connection) 2020-01-12T15:37:10Z lemoinem joined #lisp 2020-01-12T15:37:49Z slyrus_ joined #lisp 2020-01-12T15:40:33Z slyrus__ quit (Ping timeout: 265 seconds) 2020-01-12T15:41:43Z brown121407 quit (Ping timeout: 258 seconds) 2020-01-12T15:41:55Z brown121407 joined #lisp 2020-01-12T15:45:32Z Retropikzel joined #lisp 2020-01-12T15:51:50Z Odin- joined #lisp 2020-01-12T15:58:22Z krid joined #lisp 2020-01-12T16:02:23Z Retropikzel quit (Ping timeout: 245 seconds) 2020-01-12T16:04:40Z raghavgururajan joined #lisp 2020-01-12T16:06:12Z rumbler31 joined #lisp 2020-01-12T16:19:01Z rumbler31 quit (Remote host closed the connection) 2020-01-12T16:24:11Z narimiran joined #lisp 2020-01-12T16:25:13Z william1_ quit (Ping timeout: 265 seconds) 2020-01-12T16:25:48Z raghavgururajan quit (Read error: Connection reset by peer) 2020-01-12T16:30:23Z grabarz joined #lisp 2020-01-12T16:30:51Z mathrick joined #lisp 2020-01-12T16:33:01Z kajo joined #lisp 2020-01-12T16:37:14Z rumbler31 joined #lisp 2020-01-12T16:43:05Z asdf_asdf_asdf quit (Quit: asdf_asdf_asdf) 2020-01-12T16:47:13Z heisig joined #lisp 2020-01-12T16:48:25Z nowhere_man quit (Ping timeout: 265 seconds) 2020-01-12T16:50:53Z smokeink joined #lisp 2020-01-12T16:54:14Z brown121407 quit (Read error: Connection reset by peer) 2020-01-12T16:55:00Z brown121407 joined #lisp 2020-01-12T17:01:46Z pfdietz63 joined #lisp 2020-01-12T17:02:39Z pfdietz63: smokeink: the problem is that it's not possible to portably write a code walker that works in all cases. 2020-01-12T17:03:05Z pjb: For some value of all cases. 2020-01-12T17:03:34Z pjb: The proof it's possible to write a portable (conforming) code walker, is the existance of actual compilers written in conforming Common Lisp, such as eg. sicl. 2020-01-12T17:03:35Z pfdietz63: See quickdocs.org/agnostic-lizard/ for a recent in depth attempt. 2020-01-12T17:03:57Z pfdietz63: pjb: you need to be able to update environments, which is not standardized. 2020-01-12T17:04:08Z pjb: There are no environments!!! 2020-01-12T17:04:24Z wheelsucker joined #lisp 2020-01-12T17:04:24Z pjb: How something that doesn't exist could prevent you to do something? 2020-01-12T17:04:28Z pfdietz63: So, how do you code walk macrolets and macros that take &enivornment arguments. 2020-01-12T17:04:33Z pjb: If you need it, just implement it. 2020-01-12T17:05:07Z pjb: pfdietz63: by noting that you cannot do anything with environments, but pass them to macroexpand. 2020-01-12T17:05:36Z pjb: pfdietz63: therefore you can give your macros and macrolets whatever you want, (and catch it back when it calls your macroexpand). 2020-01-12T17:07:16Z pjb: Ok, I may accept the argument that as for a lot of other things, once you start, you have to implement your own CL to do it… But it is not an argument proving impossibility. 2020-01-12T17:07:18Z wheelsucker quit (Client Quit) 2020-01-12T17:10:42Z whiteline quit (Read error: Connection reset by peer) 2020-01-12T17:10:56Z whiteline joined #lisp 2020-01-12T17:11:51Z pfdietz63: Raskin says it's not fully possible: https://users.mccme.ru/raskin/code-walking-slides.pdf 2020-01-12T17:12:23Z pfdietz63: I do not consider layering another CL on top of your CL to be a workable solution. 2020-01-12T17:12:27Z pjb: pfdietz63: the existance of sbcl is proof it's possible. 2020-01-12T17:12:40Z pjb: (sbcl can be compiled by any conforming CL implementation). 2020-01-12T17:12:59Z pjb: pfdietz63: note the difference between workable and possible… 2020-01-12T17:15:25Z pjb: pfdietz63: also, note the very important specification item of a code walker: you want to interpret conforming code in a conforming way. You don't necessarily want to interpret it the way the implementation interprets it. The code walker can provide its own standard macros (and macros for special operators). 2020-01-12T17:16:30Z pfdietz63: You have wasted my time with a silly pedantic argument. 2020-01-12T17:19:32Z pjb: pfdietz63: if you use impossible specifications, of course it will be impossible! If you use reasonable specifications, it'll be very possible. 2020-01-12T17:19:41Z pjb: If you find this pedantic, it's your problem. 2020-01-12T17:20:45Z rumbler31 quit (Remote host closed the connection) 2020-01-12T17:21:40Z beach: I should examine the argument by MichaelRaskin and see whether it is correct. I suspect he is making assumptions that might sound reasonable but that are not necessarily correct. 2020-01-12T17:22:25Z pjb: For example, he wants to call macroexpand-all outside of the lexical context, or without rebuilding it. This is a silly specification. 2020-01-12T17:23:22Z pjb: or specifying it should be a function… 2020-01-12T17:23:27Z edgar-rft: apropos pedantic: pfdietz63 said it's not possible to portably write a code walker that works in all cases. Please note that "all casess" includes all impossible cases. 2020-01-12T17:24:08Z pjb: If you want a function, then you can code-walk only toplevel forms. 2020-01-12T17:27:47Z heisig quit (Quit: Leaving) 2020-01-12T17:29:01Z rumbler31 joined #lisp 2020-01-12T17:31:48Z pfdietz63: I have written code where macroexpand-1 is called manually, in macros. It's not an unreasonable thing to do. A particular macro style uses macrolets to pass information down to nested macro forms, in the envirornment. 2020-01-12T17:32:39Z pfdietz63: If you want your code walker to leave the macrolets in the code, you can't do it in general. 2020-01-12T17:34:20Z pfdietz63: You can write a code walker that fully expands everything and removes all macrolets and symbol-macrolets, I think. But if you (say) want a code walker that allows manipulation of the code closer to the source level, and gives something that's not fully expanded, it can't work portably in general. 2020-01-12T17:35:00Z pfdietz63: Actually... I'm not even sure one can do that. What does the code walker do when it gets to a macrolet? 2020-01-12T17:36:10Z pfdietz63: I am talking about doing this in the lisp one is given, not doing a "Lisp is Turing complete so I can layer an entire new implementation on it that does what I want". 2020-01-12T17:38:26Z rumbler31 quit (Remote host closed the connection) 2020-01-12T17:41:26Z karlosz joined #lisp 2020-01-12T17:42:11Z pfdietz63: One way to add that constraint is that it must handle macros that are "opaque", in the sense that for those macros all you can do with them is macroexpand them. You cannot go and recompile them yourself. 2020-01-12T17:43:13Z pfdietz63: That means you cannot reimplement your own version of environments; those opaque macros need the system environment. 2020-01-12T17:43:38Z sugarwren joined #lisp 2020-01-12T17:45:31Z oni-on-ion quit (Remote host closed the connection) 2020-01-12T17:45:53Z oni-on-ion joined #lisp 2020-01-12T17:47:30Z ggole quit (Quit: Leaving) 2020-01-12T17:51:13Z karlosz quit (Ping timeout: 260 seconds) 2020-01-12T18:03:08Z raghavgururajan joined #lisp 2020-01-12T18:05:59Z asarch joined #lisp 2020-01-12T18:09:10Z asdf_asdf_asdf joined #lisp 2020-01-12T18:16:08Z scymtym quit (Ping timeout: 245 seconds) 2020-01-12T18:18:38Z efm quit (Ping timeout: 260 seconds) 2020-01-12T18:27:46Z scymtym joined #lisp 2020-01-12T18:34:35Z lucasb joined #lisp 2020-01-12T18:35:26Z easye`` joined #lisp 2020-01-12T18:35:39Z efm joined #lisp 2020-01-12T18:37:35Z easye` quit (Remote host closed the connection) 2020-01-12T18:39:30Z sugarwren quit (Ping timeout: 246 seconds) 2020-01-12T18:42:48Z asdf_asdf_asdf quit (Ping timeout: 245 seconds) 2020-01-12T18:48:24Z Odin- quit (Ping timeout: 258 seconds) 2020-01-12T18:48:57Z earl-ducaine quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) 2020-01-12T18:49:04Z karlosz joined #lisp 2020-01-12T18:53:14Z jfb4 quit (Ping timeout: 240 seconds) 2020-01-12T18:53:37Z jfb4 joined #lisp 2020-01-12T19:00:24Z cosimone joined #lisp 2020-01-12T19:09:23Z asdf_asdf_asdf joined #lisp 2020-01-12T19:16:35Z DataLinkDroid joined #lisp 2020-01-12T19:16:46Z HiRE: Is there any material difference between `return` and `return-from` in a function? 2020-01-12T19:17:09Z HiRE: hm maybe `return` is only used in loops or something? 2020-01-12T19:17:45Z asdf_asdf_asdf: http://www.gigamonkeys.com/book/functions.html 2020-01-12T19:20:09Z jackdaniel: HiRE: both are used to return from a block. return-from is used to return from a named block, while return is equivalent to (return-from nil :result) (that is to return from block named NIL) 2020-01-12T19:20:19Z brettgilio joined #lisp 2020-01-12T19:20:26Z jackdaniel: functions have implicit block with their name 2020-01-12T19:21:57Z HiRE: ah okay interesting, thank you 2020-01-12T19:22:39Z HiRE: asdf_asdf_asdf: I am reading that chapter. In ANSI Common Lisp Graham used `return`, PCL seems to like `return-from` 2020-01-12T19:22:41Z jackdaniel: HiRE: if you want to look up some operator, it is worth to check out l1sp.org (note that second character is a digit) 2020-01-12T19:22:42Z HiRE: thats why I asked 2020-01-12T19:22:42Z asdf_asdf_asdf: I didn't know that either. Also thanks. 2020-01-12T19:23:09Z jackdaniel: it gives you link to the standard specification, pcl and some other resources 2020-01-12T19:23:54Z HiRE: oh awesome I just bookmarked it 2020-01-12T19:24:06Z jackdaniel: don't forget to thank Xach for creating it ,) 2020-01-12T19:25:13Z pfdietz63: (setf foo) functions have an implicit block named foo. 2020-01-12T19:25:49Z asdf_asdf_asdf: What creating, link send. 2020-01-12T19:26:04Z jackdaniel: pfdietz63: interesting, I didn't know that! 2020-01-12T19:26:54Z grabarz quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-12T19:30:06Z sugarwren joined #lisp 2020-01-12T19:30:11Z X-Scale` joined #lisp 2020-01-12T19:31:52Z X-Scale quit (Ping timeout: 260 seconds) 2020-01-12T19:31:54Z X-Scale` is now known as X-Scale 2020-01-12T19:33:47Z asdf_asdf_asdf quit (Quit: asdf_asdf_asdf) 2020-01-12T19:35:58Z pjb quit (Ping timeout: 252 seconds) 2020-01-12T19:36:07Z madage quit (Remote host closed the connection) 2020-01-12T19:38:05Z grabarz joined #lisp 2020-01-12T19:41:30Z My_Hearing joined #lisp 2020-01-12T19:41:31Z My_Hearing quit (Client Quit) 2020-01-12T19:52:12Z pjb joined #lisp 2020-01-12T19:52:15Z krisfris1 joined #lisp 2020-01-12T19:54:14Z rumbler31 joined #lisp 2020-01-12T20:00:04Z smokeink quit (Remote host closed the connection) 2020-01-12T20:00:44Z smokeink joined #lisp 2020-01-12T20:00:47Z smokeink quit (Remote host closed the connection) 2020-01-12T20:02:16Z Kundry_Wag joined #lisp 2020-01-12T20:05:26Z torbo joined #lisp 2020-01-12T20:08:05Z shka_ quit (Ping timeout: 268 seconds) 2020-01-12T20:11:24Z Kundry_Wag quit (Remote host closed the connection) 2020-01-12T20:11:54Z turona quit (Ping timeout: 252 seconds) 2020-01-12T20:12:19Z turona joined #lisp 2020-01-12T20:26:24Z jfb4 quit (Ping timeout: 265 seconds) 2020-01-12T20:26:29Z jfb4_ joined #lisp 2020-01-12T20:26:55Z asdf_asdf_asdf joined #lisp 2020-01-12T20:31:14Z brettgilio quit (Ping timeout: 240 seconds) 2020-01-12T20:32:37Z bitmapper joined #lisp 2020-01-12T20:43:28Z Kundry_Wag joined #lisp 2020-01-12T20:44:11Z Kundry_Wag quit (Remote host closed the connection) 2020-01-12T20:44:20Z Kundry_Wag joined #lisp 2020-01-12T20:44:21Z Kundry_Wag quit (Remote host closed the connection) 2020-01-12T20:49:14Z madage joined #lisp 2020-01-12T20:49:30Z stux|RC-only quit (Quit: Aloha!) 2020-01-12T20:52:27Z gareppa joined #lisp 2020-01-12T20:52:59Z juliusdeane joined #lisp 2020-01-12T20:53:39Z juliusdeane: Are there any nixos users here who know how to get SBCL to find C libraries (eg libffi and libSDL)? 2020-01-12T20:57:25Z krid quit (Ping timeout: 268 seconds) 2020-01-12T20:58:04Z narimiran quit (Quit: leaving) 2020-01-12T20:59:22Z smokeink joined #lisp 2020-01-12T20:59:24Z asdf_asdf_asdf: juliusdeane, look round #sbcl channel. 2020-01-12T20:59:39Z juliusdeane: asdf_asdf_asdf alright 2020-01-12T21:00:38Z Kundry_Wag joined #lisp 2020-01-12T21:01:42Z xuxuru joined #lisp 2020-01-12T21:02:28Z Oladon joined #lisp 2020-01-12T21:04:01Z gareppa quit (Quit: Leaving) 2020-01-12T21:05:15Z Kundry_Wag quit (Ping timeout: 258 seconds) 2020-01-12T21:07:59Z stux|RC-only joined #lisp 2020-01-12T21:08:21Z xuxuru quit (Quit: xuxuru) 2020-01-12T21:21:19Z Kundry_Wag joined #lisp 2020-01-12T21:21:42Z whiteline quit (Remote host closed the connection) 2020-01-12T21:22:04Z whiteline joined #lisp 2020-01-12T21:22:16Z Lycurgus joined #lisp 2020-01-12T21:22:36Z kajo quit (Ping timeout: 246 seconds) 2020-01-12T21:22:46Z grabarz quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-12T21:23:17Z smokeink: Finally figured out how to enable stepping in threads. 2020-01-12T21:23:17Z smokeink: Under slime: 2020-01-12T21:23:17Z smokeink: (sb-thread:make-thread (lambda () (swank/backend:call-with-debugger-hook *debugger-hook* #'anyfunction))) ; thank you luis. 2020-01-12T21:23:17Z smokeink: note that this gives a half as short backtrace than when we directly call #'anyfunction. 2020-01-12T21:23:18Z smokeink: In a console without slime: 2020-01-12T21:23:20Z smokeink: (bt:make-thread (lambda () (handler-bind ((sb-ext:step-condition #'sb-impl::invoke-stepper)) (anyfunction)))) 2020-01-12T21:23:21Z smokeink: also thank you jackdaniel for sharing your insight. Funny that for this simple question one of the answers I got in #sbcl was "just pretend that the debugger in sbcl doesn't exist." 2020-01-12T21:23:24Z smokeink: One small issue with this console only version though: after each step sbcl calls (sb-thread:release-foreground) https://github.com/sbcl/sbcl/blob/master/src/code/debug.lisp#L983 (as the manual says: "If a background thread enters the debugger, selecting any restart will put it back into the background before it resumes.") why is that??!?? now because of this, when debugging, after every step we have to call (bt:thread-yield)) 2020-01-12T21:24:49Z raghavgururajan quit (Remote host closed the connection) 2020-01-12T21:25:51Z Kundry_Wag quit (Ping timeout: 265 seconds) 2020-01-12T21:26:07Z Lycurgus quit (Remote host closed the connection) 2020-01-12T21:26:19Z davisr_ quit (Quit: Leaving) 2020-01-12T21:26:23Z smokeink: *half as short, nicer backtrace. it's a "feature" 2020-01-12T21:32:14Z smokeink: 5 years ago: https://bugs.launchpad.net/sbcl/+bug/1514211 "Essential part of problem is that stepper indeed does not work in threads without handler-bind installed. I'm sure this should be described in the manual, but there is no single word about it. I suggested a fix for the problem, but it took half a day for me to figure out what was the problem.Please do not ignore this report." 2020-01-12T21:35:14Z grabarz joined #lisp 2020-01-12T21:35:29Z Lycurgus joined #lisp 2020-01-12T21:35:51Z slyrus__ joined #lisp 2020-01-12T21:36:03Z Lycurgus quit (Remote host closed the connection) 2020-01-12T21:38:54Z slyrus_ quit (Ping timeout: 265 seconds) 2020-01-12T21:39:06Z sabrac quit (Quit: Konversation terminated!) 2020-01-12T21:42:16Z vlatkoB_ quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) 2020-01-12T21:44:42Z gravicappa quit (Ping timeout: 265 seconds) 2020-01-12T21:45:20Z juliusdeane quit (Ping timeout: 268 seconds) 2020-01-12T21:47:00Z sugarwren quit (Quit: Leaving) 2020-01-12T21:54:41Z Kundry_Wag joined #lisp 2020-01-12T21:56:28Z Kundry_Wag quit (Remote host closed the connection) 2020-01-12T21:56:37Z Kundry_Wag joined #lisp 2020-01-12T22:01:00Z dale joined #lisp 2020-01-12T22:01:35Z asdf_asdf_asdf quit (Remote host closed the connection) 2020-01-12T22:04:49Z gioyik joined #lisp 2020-01-12T22:05:38Z krisfris1 quit (Ping timeout: 240 seconds) 2020-01-12T22:06:43Z krisfris1 joined #lisp 2020-01-12T22:10:37Z Lord_of_Life quit (Ping timeout: 268 seconds) 2020-01-12T22:11:09Z Lord_of_Life joined #lisp 2020-01-12T22:15:38Z mathrick quit (Ping timeout: 240 seconds) 2020-01-12T22:15:39Z jibanes quit (Ping timeout: 240 seconds) 2020-01-12T22:17:37Z mathrick joined #lisp 2020-01-12T22:20:40Z jibanes_ joined #lisp 2020-01-12T22:20:40Z earl-ducaine joined #lisp 2020-01-12T22:22:58Z Kundry_Wag quit (Remote host closed the connection) 2020-01-12T22:23:24Z Kundry_Wag joined #lisp 2020-01-12T22:24:21Z Inline quit (Quit: Leaving) 2020-01-12T22:24:50Z rumbler31 quit (Remote host closed the connection) 2020-01-12T22:25:36Z earl-ducaine: I'm trying to get get the :qt system to load under latest quicklisp. (asdf:system-source-directory 'qt) 2020-01-12T22:25:37Z earl-ducaine: I'm running into some issues which after some investigation seem to be caused by GCC not being able to include 2020-01-12T22:26:36Z earl-ducaine: has anybody used the qt system recently? Dev seems to still be active. 2020-01-12T22:27:16Z mathrick quit (Ping timeout: 268 seconds) 2020-01-12T22:27:27Z gioyik quit (Ping timeout: 268 seconds) 2020-01-12T22:27:41Z earl-ducaine: I seem to recall being stumped by this exact error several years ago. 2020-01-12T22:28:18Z Kundry_Wag quit (Ping timeout: 260 seconds) 2020-01-12T22:28:53Z random-nick quit (Ping timeout: 260 seconds) 2020-01-12T22:29:44Z phoe: earl-ducaine: I suggest (ql:quickload :qt-libs) 2020-01-12T22:29:50Z phoe: that'll download a precompiled version of qt4 2020-01-12T22:35:54Z earl-ducaine: phoe: ql'ing :qt-libs worked! but :qt still fails. Was :qt-libs supposed to make :qt work. or were you suggesting I use that system instead of :qt.? 2020-01-12T22:45:37Z phoe: earl-ducaine: I suggest that you drop using :qt and use :qt-libs instead 2020-01-12T22:45:58Z phoe: AFAIK the former requires all the qt4 libs and headers available on your computer so it can compile some C++ stuff locally 2020-01-12T22:46:01Z phoe: and the latter doesn't 2020-01-12T22:51:03Z krisfris1 quit (Ping timeout: 260 seconds) 2020-01-12T22:51:24Z Khisanth quit (Ping timeout: 265 seconds) 2020-01-12T22:58:08Z earl-ducaine: phoe: ah. Thanks for the additional info. Unfortunately, :qt is a dependancy in another system that I'm trying to use. 2020-01-12T23:00:34Z gioyik joined #lisp 2020-01-12T23:02:49Z slyrus_ joined #lisp 2020-01-12T23:03:37Z holycow joined #lisp 2020-01-12T23:04:31Z phoe: earl-ducaine: welp. What is it? 2020-01-12T23:04:33Z Khisanth joined #lisp 2020-01-12T23:05:37Z slyrus__ quit (Ping timeout: 258 seconds) 2020-01-12T23:08:01Z bitmapper quit 2020-01-12T23:09:41Z monok quit (Remote host closed the connection) 2020-01-12T23:11:32Z mathrick joined #lisp 2020-01-12T23:12:30Z asarch quit (Remote host closed the connection) 2020-01-12T23:13:42Z asarch joined #lisp 2020-01-12T23:14:53Z asarch quit (Remote host closed the connection) 2020-01-12T23:16:52Z asarch joined #lisp 2020-01-12T23:21:54Z Kundry_Wag joined #lisp 2020-01-12T23:22:56Z varjag quit (Quit: ERC (IRC client for Emacs 26.1)) 2020-01-12T23:25:15Z Oladon quit (Quit: Leaving.) 2020-01-12T23:26:28Z orivej quit (Ping timeout: 268 seconds) 2020-01-12T23:26:41Z Kundry_Wag quit (Ping timeout: 265 seconds) 2020-01-12T23:27:44Z rumbler31 joined #lisp 2020-01-12T23:30:16Z william1_ joined #lisp 2020-01-12T23:31:19Z tiwEllien joined #lisp 2020-01-12T23:33:09Z wxie joined #lisp 2020-01-12T23:35:06Z william1_ quit (Ping timeout: 268 seconds) 2020-01-12T23:35:09Z orivej joined #lisp 2020-01-12T23:38:02Z karlosz quit (Ping timeout: 260 seconds) 2020-01-12T23:43:32Z KahMue joined #lisp 2020-01-12T23:44:19Z shifty joined #lisp 2020-01-12T23:46:08Z rumbler31 quit (Remote host closed the connection) 2020-01-12T23:46:39Z KahMue left #lisp 2020-01-12T23:50:31Z wxie quit (Ping timeout: 268 seconds) 2020-01-12T23:53:06Z decent-username quit (Ping timeout: 246 seconds) 2020-01-12T23:53:06Z Nilby quit (Read error: Connection reset by peer) 2020-01-12T23:53:13Z xkapastel joined #lisp 2020-01-13T00:00:04Z cosimone quit (Ping timeout: 248 seconds) 2020-01-13T00:04:01Z lucasb quit (Quit: Connection closed for inactivity) 2020-01-13T00:05:14Z rumbler31 joined #lisp 2020-01-13T00:13:05Z tiwEllien quit (Ping timeout: 258 seconds) 2020-01-13T00:13:21Z karlosz joined #lisp 2020-01-13T00:25:18Z krisfris1 joined #lisp 2020-01-13T00:27:22Z igemnace joined #lisp 2020-01-13T00:31:01Z terpri quit (Remote host closed the connection) 2020-01-13T00:31:30Z terpri joined #lisp 2020-01-13T00:50:39Z igemnace quit (Ping timeout: 258 seconds) 2020-01-13T00:54:24Z adolby joined #lisp 2020-01-13T00:55:13Z asarch: If I have: (defparameter *values* '('(lisp rocks) '(clos rocks even better) '(mcclim is also awesome))) and then I do: (loop for lists in *values* do (loop for element in lists do (format t "Parsing element: ~a~%" element))), how could I get each element? 2020-01-13T00:55:58Z Bike: just do that but lose the inner quotes 2020-01-13T00:56:03Z Bike: you don't need them 2020-01-13T00:56:46Z asarch: Thank you! 2020-01-13T00:58:08Z aeth: You can think of ' as like multiplication. 2*(4+3)=2*4+2*3. '((foo) (bar)) = (list '(foo) '(bar)) 2020-01-13T00:58:26Z aeth: Not perfectly equivalent, though close enough in most cases 2020-01-13T00:58:42Z aeth: A quoted list is literal so there are edge cases that make it not perfectly equivalent 2020-01-13T00:58:52Z pjb: Whatever. 2020-01-13T00:59:34Z pjb: asarch: use: (com.informatimago.common-lisp.picture.cons-to-ascii:draw-list *values*) 2020-01-13T00:59:54Z pjb: and modify the binding of *values* until it draws what you want. 2020-01-13T01:00:39Z grabarz quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-13T01:00:39Z pjb: asarch: https://termbin.com/pvbl 2020-01-13T01:02:03Z turona quit (Ping timeout: 246 seconds) 2020-01-13T01:02:30Z turona joined #lisp 2020-01-13T01:02:52Z White_Flame: asarch: if you (setf *print-pretty* nil), then you'll see the full lists with QUOTE symbols in them when you show *VALUES* at the repl, and you can see how they're in the way 2020-01-13T01:02:59Z pjb: asarch: think of 'x as (CL:QUOTE x). 2020-01-13T01:04:06Z pjb: '('(lisp rocks)) = '((cl:quote (lisp rocks))) and ask yourself why 1- you put (lisp rocks) in a sublist, 2- you put the symbol CL:QUOTE as first element of that sublist. 2020-01-13T01:05:02Z smokeink: (ql:quickload :com.informatimago) ; System "com.informatimago" not found. Not on quicklisp any more? 2020-01-13T01:05:14Z aeth: To use the distributive property analogy: '('(foo)) is (list ''(foo)) which of course is just (list (quote (quote (list foo)))) 2020-01-13T01:05:47Z aeth: If you have to work with quote in quote, be aware of that extra quote, but it's rarely what you want 2020-01-13T01:06:27Z igemnace joined #lisp 2020-01-13T01:06:42Z pjb: smokeink: indeed. cd ~/quicklisp/local-projects ; git clone https://github.com/informatimago/lisp informatimago 2020-01-13T01:06:58Z mathrick quit (Ping timeout: 260 seconds) 2020-01-13T01:07:29Z Xach: smokeink: not in quicklisp any more 2020-01-13T01:07:35Z smokeink: ok 2020-01-13T01:08:13Z Xach: and will not be added back ever 2020-01-13T01:08:31Z smokeink: was it causing problems? 2020-01-13T01:08:45Z asarch: Wow! https://pasteboard.co/IPHzpgm.png 2020-01-13T01:09:15Z Xach: smokeink: the author posted many vile racist and neo-nazi things on twitter and i do not wish to work with them in quicklisp or anything else. 2020-01-13T01:09:38Z pjb: smokeink: not at all. 2020-01-13T01:09:41Z smokeink: oh 2020-01-13T01:09:47Z pjb: It was Xach's interpretation. 2020-01-13T01:10:54Z pjb: Note how he benefits from free-speech protection by his constitution, but he acts in a completely totalitarian way against others… 2020-01-13T01:11:48Z smokeink: yeah but if it was nazi stuff and he doesn't want to associate in any way, it's his freedom too 2020-01-13T01:18:27Z no-defun-allowed: There is also a...was it draw-cons-tree system on Quicklisp which achieves roughly the same thing. 2020-01-13T01:19:47Z no-defun-allowed: e.g. (draw-cons-tree:draw-tree '(defun f (g) (funcall g 42))) 2020-01-13T01:20:34Z smokeink: pjb: I have neo-nazi friends, I respect their vision , which in part is insightful, but as far as I'm concerned, it's only in part 2020-01-13T01:21:37Z Bike: the author in question is pjb, if that wasn't clear 2020-01-13T01:22:14Z asarch: Thank you guys, thank you very much! :-) 2020-01-13T01:22:40Z holycow: waith, so why is that package banned for ql? 2020-01-13T01:23:01Z _jrjsmrtn quit (Ping timeout: 268 seconds) 2020-01-13T01:23:15Z ebrasca joined #lisp 2020-01-13T01:23:24Z Bike: i thought xach's explanation was pretty clear, holycow 2020-01-13T01:23:46Z holycow: oh, i missed that, sorry was swapping windows 2020-01-13T01:23:59Z __jrjsmrtn__ joined #lisp 2020-01-13T01:23:59Z holycow: yeah that is pure garbage 2020-01-13T01:24:01Z holycow: sorry dude 2020-01-13T01:24:23Z holycow: Xach: if you are monitoring peoples personal postings online you are no longer worty of support 2020-01-13T01:24:55Z Xach: holycow: Ok. 2020-01-13T01:25:08Z Bike: you're walking into this like a year or two late, i think 2020-01-13T01:25:49Z bilegeek joined #lisp 2020-01-13T01:26:19Z Xach: holycow: I don't generally seek out things like that, but if I am aware of them and do nothing, I find it intolerable. 2020-01-13T01:27:15Z holycow: well, if we are going to go down that rabbit hole, balkanization it is. 2020-01-13T01:28:33Z holycow: i will make a donation for the work you have done thus far, i find it helpful, but i will no longer be using ql on principle 2020-01-13T01:28:39Z holycow: or any piece of software that you touch 2020-01-13T01:28:48Z holycow: that is a despicable position to take 2020-01-13T01:28:56Z holycow: though i will fully admit the following: 2020-01-13T01:28:59Z Xach: Ok. You don't have to make a donation if you don't feel like it, either. 2020-01-13T01:29:11Z holycow: * i have not donated to you and should out of principle for the work you have done thus far 2020-01-13T01:29:40Z no-defun-allowed: holycow: The paradox of tolerance is an odd one; but not really a topic for #lisp. #lispcafe is usually at its greatest throughput when arguing such philosophical things. 2020-01-13T01:29:50Z holycow: * i admit that my position is hypocritical because my line in the sand is somewhere along the lines of sexual abuse and i would make a similar call then 2020-01-13T01:30:03Z Bike: is this necessary 2020-01-13T01:30:36Z no-defun-allowed: Yeah, I think we should just leave it here. 2020-01-13T01:31:25Z holycow: my apologies, i will drop it. 2020-01-13T01:32:18Z holycow left #lisp 2020-01-13T01:35:21Z LdBeth: Does the terminal emulator in CLiki’s suggested projects require to be a VT100 compatible one? 2020-01-13T01:36:16Z pjb: LdBeth: not necessarily. 2020-01-13T01:36:18Z karlosz: i think with suggested projects you should take them in whatever direction you see fit 2020-01-13T01:36:29Z Kundry_Wag joined #lisp 2020-01-13T01:36:40Z pjb: LdBeth: you can define your own control codes, but write down a termcap/terminfo entry for your terminal! 2020-01-13T01:37:25Z pjb: You could implement ECMA-048… 2020-01-13T01:40:51Z LdBeth: I mean a 3207 with vector graphic extension ;) 2020-01-13T01:42:53Z pjb: Of course. 2020-01-13T01:46:24Z jebes joined #lisp 2020-01-13T01:46:31Z jebes quit (Client Quit) 2020-01-13T01:47:28Z jebes joined #lisp 2020-01-13T01:50:29Z jebes quit (Client Quit) 2020-01-13T01:50:51Z jebes joined #lisp 2020-01-13T01:53:12Z Oladon joined #lisp 2020-01-13T01:53:56Z ebrasca quit (Remote host closed the connection) 2020-01-13T01:58:14Z akoana joined #lisp 2020-01-13T02:00:04Z xkapastel quit (Quit: Connection closed for inactivity) 2020-01-13T02:10:33Z terpri_ joined #lisp 2020-01-13T02:11:51Z jebes quit (Quit: ZNC 1.7.5 - https://znc.in) 2020-01-13T02:12:37Z terpri quit (Ping timeout: 260 seconds) 2020-01-13T02:18:29Z kajo joined #lisp 2020-01-13T02:25:24Z karstensrage joined #lisp 2020-01-13T02:39:53Z jibanes_ is now known as jibanes 2020-01-13T02:41:08Z davisr joined #lisp 2020-01-13T03:01:55Z notzmv quit (Remote host closed the connection) 2020-01-13T03:02:44Z krisfris1 quit (Ping timeout: 265 seconds) 2020-01-13T03:05:40Z notzmv joined #lisp 2020-01-13T03:12:10Z Lord_of_Life quit (Ping timeout: 268 seconds) 2020-01-13T03:12:43Z dddddd quit (Remote host closed the connection) 2020-01-13T03:12:58Z shifty quit (Ping timeout: 260 seconds) 2020-01-13T03:13:24Z Lord_of_Life joined #lisp 2020-01-13T03:19:42Z Kundry_Wag quit 2020-01-13T03:21:40Z rwcom6 joined #lisp 2020-01-13T03:23:13Z rwcom quit (Ping timeout: 245 seconds) 2020-01-13T03:23:13Z rwcom6 is now known as rwcom 2020-01-13T03:29:34Z ahungry joined #lisp 2020-01-13T03:30:50Z william1_ joined #lisp 2020-01-13T03:35:36Z william1_ quit (Ping timeout: 268 seconds) 2020-01-13T03:47:05Z ahungry quit (Remote host closed the connection) 2020-01-13T03:53:18Z brettgilio joined #lisp 2020-01-13T03:54:31Z dmc00 joined #lisp 2020-01-13T03:55:18Z ahungry joined #lisp 2020-01-13T04:00:31Z brettgilio quit (Read error: Connection reset by peer) 2020-01-13T04:00:49Z brettgilio joined #lisp 2020-01-13T04:05:00Z smokeink quit (Ping timeout: 258 seconds) 2020-01-13T04:07:06Z beach: Good morning everyone! 2020-01-13T04:07:17Z LdBeth: Hello beach 2020-01-13T04:14:17Z ahungry: hi 2020-01-13T04:17:54Z Bike quit (Quit: Lost terminal) 2020-01-13T04:27:54Z gnufr33d0m joined #lisp 2020-01-13T04:34:56Z asarch quit (Quit: Leaving) 2020-01-13T04:45:32Z adam4567 joined #lisp 2020-01-13T04:46:51Z Oladon quit (Quit: Leaving.) 2020-01-13T04:59:03Z smokeink joined #lisp 2020-01-13T05:03:13Z HiRE: man I wish there were more lisp job listings :( 2020-01-13T05:03:20Z HiRE: I'd like to see what big scale lisp looks like in the wild 2020-01-13T05:03:21Z gnufr33d0m quit (Quit: gnufr33d0m) 2020-01-13T05:04:06Z HiRE: just got through the macro section of PCL. Macros writing macros...lol 2020-01-13T05:05:07Z slac-in-the-box joined #lisp 2020-01-13T05:05:28Z beach: HiRE: If you take a job in the right place, or work for the right customer, your employer or customer might not care whether you use Common Lisp or something else. 2020-01-13T05:06:13Z HiRE: beach: thats true. Similar to the one artcle...cant remember its name where a guy sells common lisp to JPL 2020-01-13T05:06:16Z HiRE: the trick is sales :p 2020-01-13T05:07:34Z slac-in-the-box quit (Client Quit) 2020-01-13T05:08:47Z beach: Also, consider getting a job at a place that does NOT use Common Lisp, but that has no good reason not to use it. Then you can show them that you can do better with Common Lisp than with what they are currently using. 2020-01-13T05:09:22Z beach: That's even better than to work for a company that is already convinced about the virtues of Common Lisp. 2020-01-13T05:09:26Z HiRE: thats a good idea 2020-01-13T05:09:35Z HiRE: maybe I could try to find a way to introduce CL at work once im better at it 2020-01-13T05:09:56Z beach: Yes, that's a good idea, but you need to be careful with that. 2020-01-13T05:10:11Z beach: Trying to talk people into it is not going to work (usually). 2020-01-13T05:10:34Z copec: I do systems admin and devops and my job is 100% remote, I've managed to slip in quite a bit of CL scripting 2020-01-13T05:10:42Z beach: The only thing I have found to work is to show that you can create a lot of high-quality stuff in a short period of time. 2020-01-13T05:10:56Z beach: copec: Excellent! 2020-01-13T05:11:08Z gravicappa joined #lisp 2020-01-13T05:11:28Z no-defun-allowed would be lucky to find any programming job 2020-01-13T05:12:52Z copec: Have you had one previously no-defun-allowed? 2020-01-13T05:13:02Z no-defun-allowed: Nope. 2020-01-13T05:14:33Z copec: You seem totally qualified for a lot of arbitrary listings I have seen, here in the states 2020-01-13T05:14:58Z beach: copec: I think we should let no-defun-allowed finish university first. 2020-01-13T05:15:45Z copec: Ah, certainly 2020-01-13T05:16:03Z beach: At least that's what I strongly recommend. 2020-01-13T05:16:31Z beach: A degree, while not strictly necessary to get the job done, is a kind of international unemployment insurance. 2020-01-13T05:17:08Z no-defun-allowed: On the contrary, I am trying to find a part-time job so I can pay for university, but I could still wait since it'll just come out of my taxes after university. 2020-01-13T05:19:12Z HiRE: I'm currently in a PhD program. I just couldn't get enough of paying absurd university prices ;D 2020-01-13T05:19:36Z HiRE: its actually not too bad ~$1,100 a class atm 2020-01-13T05:19:39Z HiRE: it'll probably get worse. 2020-01-13T05:20:25Z HiRE: doing it part time and working full time definitely makes it tolerable despite it taking ages to finish 2020-01-13T05:21:29Z oxum quit (Remote host closed the connection) 2020-01-13T05:21:52Z smokeink quit (Quit: Leaving) 2020-01-13T05:28:00Z torbo quit (Remote host closed the connection) 2020-01-13T05:28:28Z narimiran joined #lisp 2020-01-13T05:31:22Z no-defun-allowed: Anyways, this is probably the reverse of what is usually asked here, but has anyone attempted to implement something like the JVM in Common Lisp? 2020-01-13T05:33:41Z milanj quit (Quit: This computer has gone to sleep) 2020-01-13T05:33:58Z shka_ joined #lisp 2020-01-13T05:35:34Z sindan quit (Remote host closed the connection) 2020-01-13T05:36:01Z sindan joined #lisp 2020-01-13T05:36:12Z oxum joined #lisp 2020-01-13T05:36:46Z oxum quit (Remote host closed the connection) 2020-01-13T05:37:02Z oxum joined #lisp 2020-01-13T05:38:05Z oxum_ joined #lisp 2020-01-13T05:38:09Z beach: I strongly recommend you move to a country where the university enrollment fees are low. 2020-01-13T05:38:11Z Xach: no-defun-allowed: yes 2020-01-13T05:38:26Z karlosz quit (Quit: karlosz) 2020-01-13T05:38:37Z Xach: no-defun-allowed: a JVM was implemented in Common Lisp 2020-01-13T05:38:42Z karlosz joined #lisp 2020-01-13T05:38:53Z Xach: no-defun-allowed: not just "something like" but the real thing, able to load and run java code. 2020-01-13T05:39:02Z gioyik quit (Quit: WeeChat 2.7) 2020-01-13T05:39:03Z no-defun-allowed: I see. 2020-01-13T05:39:07Z oxum_ quit (Remote host closed the connection) 2020-01-13T05:39:40Z oxum_ joined #lisp 2020-01-13T05:39:40Z oxum quit (Read error: Connection reset by peer) 2020-01-13T05:41:42Z oxum joined #lisp 2020-01-13T05:43:20Z no-defun-allowed: Is that available to read anywhere? 2020-01-13T05:44:02Z Xach: You can clone it from http://www.lichteblau.com/git/cloakbuild.git/ 2020-01-13T05:44:11Z Xach: it is pretty old now but it is an interesting hack still 2020-01-13T05:44:18Z no-defun-allowed: Cooleo. 2020-01-13T05:44:30Z no-defun-allowed: Thanks. 2020-01-13T05:45:13Z oxum_ quit (Ping timeout: 260 seconds) 2020-01-13T05:45:31Z oni-on-ion quit (Remote host closed the connection) 2020-01-13T05:45:53Z oni-on-ion joined #lisp 2020-01-13T05:56:41Z dale quit (Quit: My computer has gone to sleep) 2020-01-13T05:58:18Z no-defun-allowed: It's bitrotted to the point I can't compile it sadly, but most of the code is there. 2020-01-13T06:01:14Z shka_ quit (Ping timeout: 240 seconds) 2020-01-13T06:02:59Z oni-on-ion quit (Ping timeout: 268 seconds) 2020-01-13T06:07:34Z bilegeek quit (Quit: Leaving) 2020-01-13T06:09:43Z oxum quit (Remote host closed the connection) 2020-01-13T06:10:20Z oxum joined #lisp 2020-01-13T06:14:32Z shka_ joined #lisp 2020-01-13T06:16:18Z trittweiler joined #lisp 2020-01-13T06:18:44Z karlosz quit (Quit: karlosz) 2020-01-13T06:19:18Z karlosz joined #lisp 2020-01-13T06:25:52Z vlatkoB joined #lisp 2020-01-13T06:27:19Z decent-username joined #lisp 2020-01-13T06:35:43Z shka_ quit (Ping timeout: 245 seconds) 2020-01-13T06:35:58Z grabarz joined #lisp 2020-01-13T06:36:10Z jfb4_ quit (Ping timeout: 265 seconds) 2020-01-13T06:38:28Z grabarz quit (Client Quit) 2020-01-13T06:40:28Z ggole joined #lisp 2020-01-13T06:44:33Z akoana left #lisp 2020-01-13T06:47:45Z jfb4 joined #lisp 2020-01-13T06:48:38Z DGASAU joined #lisp 2020-01-13T06:49:25Z toorevitimirp joined #lisp 2020-01-13T06:51:08Z brown121407 quit (Ping timeout: 260 seconds) 2020-01-13T06:52:12Z ahungry quit (Remote host closed the connection) 2020-01-13T06:52:49Z jfb4_ joined #lisp 2020-01-13T06:52:58Z brown121407 joined #lisp 2020-01-13T06:54:03Z jfb4 quit (Ping timeout: 260 seconds) 2020-01-13T07:01:15Z oxum_ joined #lisp 2020-01-13T07:01:41Z oxum_ quit (Remote host closed the connection) 2020-01-13T07:02:14Z oxum quit (Read error: Connection reset by peer) 2020-01-13T07:02:15Z oxum_ joined #lisp 2020-01-13T07:11:31Z ym quit (Quit: Leaving) 2020-01-13T07:12:50Z oxum_ quit (Ping timeout: 258 seconds) 2020-01-13T07:26:28Z Qudit314159 joined #lisp 2020-01-13T07:31:42Z frgo_ quit (Remote host closed the connection) 2020-01-13T07:39:19Z varjag joined #lisp 2020-01-13T07:44:32Z jprajzne joined #lisp 2020-01-13T07:45:32Z scymtym quit (Ping timeout: 268 seconds) 2020-01-13T07:49:27Z Qudit314159 quit (Remote host closed the connection) 2020-01-13T07:55:02Z flamebeard joined #lisp 2020-01-13T07:57:34Z toorevitimirp quit (Quit: Konversation terminated!) 2020-01-13T07:58:48Z toorevitimirp joined #lisp 2020-01-13T07:59:46Z frgo joined #lisp 2020-01-13T08:03:15Z easye`` quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-01-13T08:03:30Z frgo_ joined #lisp 2020-01-13T08:04:09Z frgo_ quit (Read error: Connection reset by peer) 2020-01-13T08:04:28Z frgo quit (Ping timeout: 268 seconds) 2020-01-13T08:04:28Z easye joined #lisp 2020-01-13T08:04:32Z frgo_ joined #lisp 2020-01-13T08:07:31Z hvxgr quit (Ping timeout: 265 seconds) 2020-01-13T08:08:57Z Cymew joined #lisp 2020-01-13T08:11:28Z scymtym joined #lisp 2020-01-13T08:12:01Z adam4567 quit (Remote host closed the connection) 2020-01-13T08:12:18Z adam4567 joined #lisp 2020-01-13T08:12:49Z HiRE quit (Quit: Later) 2020-01-13T08:13:05Z HiRE joined #lisp 2020-01-13T08:14:20Z frgo_ quit (Ping timeout: 268 seconds) 2020-01-13T08:16:14Z hvxgr joined #lisp 2020-01-13T08:16:33Z smokeink joined #lisp 2020-01-13T08:18:48Z grabarz joined #lisp 2020-01-13T08:19:11Z milanj joined #lisp 2020-01-13T08:19:15Z karlosz quit (Quit: karlosz) 2020-01-13T08:19:58Z karlosz joined #lisp 2020-01-13T08:32:08Z neuro_sys joined #lisp 2020-01-13T08:32:31Z neuro_sys is now known as Guest20550 2020-01-13T08:38:57Z mingus joined #lisp 2020-01-13T08:41:10Z heisig joined #lisp 2020-01-13T08:50:49Z frgo joined #lisp 2020-01-13T08:52:43Z decent-username left #lisp 2020-01-13T08:57:39Z jeosol quit (Ping timeout: 260 seconds) 2020-01-13T09:00:32Z loke quit (Remote host closed the connection) 2020-01-13T09:00:52Z regi32 joined #lisp 2020-01-13T09:01:07Z loke joined #lisp 2020-01-13T09:01:47Z regi32: Does anybody know the real reason why roswell has been written in C? 2020-01-13T09:03:34Z beach: Come to ELS and ask the author. He is a frequent participant. 2020-01-13T09:03:35Z no-defun-allowed: I think it's supposed to be usable when the user doesn't have a Common Lisp implementation already. 2020-01-13T09:04:09Z jackdaniel: then build ecl from c (if you assume that there is a C compiler ,) 2020-01-13T09:04:17Z hhdave joined #lisp 2020-01-13T09:04:56Z regi32 quit (Client Quit) 2020-01-13T09:07:32Z smokeink quit (Remote host closed the connection) 2020-01-13T09:08:50Z oxum joined #lisp 2020-01-13T09:08:50Z oxum quit (Remote host closed the connection) 2020-01-13T09:09:15Z smokeink joined #lisp 2020-01-13T09:09:31Z oxum joined #lisp 2020-01-13T09:10:38Z beach still hasn't understood what problem Roswell solves. 2020-01-13T09:12:14Z shka_ joined #lisp 2020-01-13T09:13:27Z jackdaniel: beach: it is a package manager which automates downloading the CL implementation of your choice and apparently to set up quiklisp etc 2020-01-13T09:13:35Z jackdaniel: that said I've found it very impractical to use 2020-01-13T09:13:38Z william1_ joined #lisp 2020-01-13T09:13:56Z jackdaniel: i.e I couldn't set up my self-build CL implementation for it, managing "active" implementation was quirky etc 2020-01-13T09:14:20Z jackdaniel: but I've tried it more than a year ago, maybe it got better 2020-01-13T09:17:12Z hlavaty joined #lisp 2020-01-13T09:19:16Z beach: I see. Thanks for the explanation. 2020-01-13T09:19:21Z pjb: beach: so instead of having the problem of installing a CL implementation, now the newbies have the problem of installing roswell. 2020-01-13T09:19:52Z beach: Sure. And I would have a problem too, because I don't have a C compiler installed by default. 2020-01-13T09:22:00Z pjb: Exactly. 2020-01-13T09:24:24Z decent-username joined #lisp 2020-01-13T09:26:29Z davepdotorg joined #lisp 2020-01-13T09:27:38Z smokeink quit (Remote host closed the connection) 2020-01-13T09:28:45Z davepdotorg quit (Read error: Connection reset by peer) 2020-01-13T09:28:45Z davepdot_ joined #lisp 2020-01-13T09:29:18Z smokeink joined #lisp 2020-01-13T09:29:30Z smokeink quit (Remote host closed the connection) 2020-01-13T09:33:11Z tiwEllien joined #lisp 2020-01-13T09:35:49Z rwcom9 joined #lisp 2020-01-13T09:37:14Z rwcom quit (Ping timeout: 240 seconds) 2020-01-13T09:37:15Z rwcom9 is now known as rwcom 2020-01-13T09:39:21Z jfb4_ quit (Ping timeout: 265 seconds) 2020-01-13T09:39:36Z jfb4 joined #lisp 2020-01-13T09:41:41Z oxum quit (Remote host closed the connection) 2020-01-13T09:43:23Z ebzzry joined #lisp 2020-01-13T09:45:19Z jfb4_ joined #lisp 2020-01-13T09:45:21Z jfb4 quit (Ping timeout: 265 seconds) 2020-01-13T09:48:28Z p_l: personally, I find it easiest way to get lisp implementations loaded on a mac 2020-01-13T09:48:43Z adam4567 left #lisp 2020-01-13T09:48:53Z mingus quit (Remote host closed the connection) 2020-01-13T09:49:38Z easye: roswell ain't too bad from a casual user perspective, but I was not very happy when I needed to modify it to install LispWorks last year for Emotiq. 2020-01-13T09:49:44Z karlosz quit (Quit: karlosz) 2020-01-13T09:50:12Z beach uses neither Macs nor C. 2020-01-13T09:50:13Z Guest20550 quit (Ping timeout: 260 seconds) 2020-01-13T09:50:37Z karlosz joined #lisp 2020-01-13T09:50:37Z easye: beach: if you use Linux, yer OS is mostly written in C... 2020-01-13T09:51:05Z beach: I know. I am trying to fix that problem. But it's going to take time. 2020-01-13T09:51:10Z oxum joined #lisp 2020-01-13T09:51:20Z easye: Heh. We're rootin' for ya on that one... 2020-01-13T09:52:04Z jonatack quit (Ping timeout: 248 seconds) 2020-01-13T09:52:10Z beach: I recently learned that I can't map page 0 because there might be bugs in the OS that dereference NULL and the C compiler does not protect against that by (say) inserting a test. 2020-01-13T09:52:29Z beach: Wonderful technology. 2020-01-13T09:57:00Z oxum quit (Remote host closed the connection) 2020-01-13T09:59:02Z oxum joined #lisp 2020-01-13T09:59:03Z p_l: beach: ahh, that's configurable 2020-01-13T09:59:28Z p_l: and it's less OS bugs and more tricks with application bugs to get them to jump to known address 2020-01-13T09:59:43Z beach: Yes, so if I distribute SICL, I have to ask every Linux user to reconfigure their systems, thereby making them vulnerable to OS bugs. 2020-01-13T10:00:25Z neuro_sys joined #lisp 2020-01-13T10:00:47Z beach: So we keep adding kludges on top of hacks to avoid solving the fundamental problems, thereby making life harder for both developers and users. 2020-01-13T10:00:48Z neuro_sys is now known as Guest86690 2020-01-13T10:00:51Z beach: Go figure! 2020-01-13T10:01:25Z galdor: why reconfiguring their systems ? 2020-01-13T10:01:55Z jackdaniel: to be able to map page 0 you need to pass a certain kernel flag 2020-01-13T10:02:11Z beach: If I represent NIL as a the machine number 5 and store NIL at address 0, they can't use my system unless they reconfigure. 2020-01-13T10:02:19Z no-defun-allowed finds https://yarchive.net/comp/linux/address_zero.html 2020-01-13T10:02:29Z cods quit (Changing host) 2020-01-13T10:02:29Z cods joined #lisp 2020-01-13T10:02:47Z galdor: ah yes 2020-01-13T10:03:22Z oxum quit (Remote host closed the connection) 2020-01-13T10:04:12Z galdor: I'm not sure remapping zero is going to end well on openbsd 2020-01-13T10:04:44Z beach: There you go. 2020-01-13T10:05:03Z gxt joined #lisp 2020-01-13T10:05:30Z beach: So now I am in a situation where I must use a 32-bit immediate for NIL, because it can't be stored in the first few pages, and if i want to be able to run the implementation on a system with ASLR, then I also can't have pre-defined data structures in the executable. 2020-01-13T10:05:56Z no-defun-allowed: https://utcc.utoronto.ca/~cks/space/blog/linux/KernelPageZeroProblem describes it slightly better; the kernel is mapped into the process's address space, and so kernel code could dereference NULL and act weirdly. 2020-01-13T10:06:12Z no-defun-allowed: Nasty. 2020-01-13T10:06:18Z beach: So I am basically forced to either have the system behave like a C++ application with ctors, or I am forced to do a full GC at the beginning of the execution, or possibly use relative pointers everywhere. Everything has a cost. 2020-01-13T10:06:39Z beach: no-defun-allowed: Exactly. 2020-01-13T10:07:19Z karlosz quit (Quit: karlosz) 2020-01-13T10:07:23Z beach: No wonder applications like LibreOffice take forever to start. 2020-01-13T10:07:38Z beach: All this because we refuse to fix the real problem. 2020-01-13T10:07:51Z karlosz joined #lisp 2020-01-13T10:08:09Z karlosz quit (Remote host closed the connection) 2020-01-13T10:08:35Z oxum_ joined #lisp 2020-01-13T10:08:40Z karlosz joined #lisp 2020-01-13T10:08:55Z karlosz quit (Remote host closed the connection) 2020-01-13T10:09:22Z karlosz joined #lisp 2020-01-13T10:09:22Z karlosz quit (Remote host closed the connection) 2020-01-13T10:10:15Z karlosz joined #lisp 2020-01-13T10:10:46Z karlosz quit (Remote host closed the connection) 2020-01-13T10:15:23Z hhdave quit (Ping timeout: 268 seconds) 2020-01-13T10:15:52Z hhdave joined #lisp 2020-01-13T10:18:53Z wnj quit (Remote host closed the connection) 2020-01-13T10:21:41Z DGASAU quit (Read error: Connection reset by peer) 2020-01-13T10:24:59Z DGASAU joined #lisp 2020-01-13T10:25:06Z amerlyq joined #lisp 2020-01-13T10:27:30Z lieven: but the solutions^Wkludges like prelinking are so amusing 2020-01-13T10:28:29Z jackdaniel: many broken things are amusing and fun to work with ,) 2020-01-13T10:29:39Z lieven: there's KDE with kdeinit 2020-01-13T10:29:52Z m00natic joined #lisp 2020-01-13T10:30:07Z LdBeth: beach: have you looked Emacs’ pdumper 2020-01-13T10:31:09Z no-defun-allowed: lieven: 😬 2020-01-13T10:31:51Z beach: LdBeth: I suspect not. I looked at how Emacs dumped memory to an executable a long time ago, but I think they changed it since. Why do you ask? 2020-01-13T10:32:32Z no-defun-allowed: "[kdeinit] executes KDE programs and kdeinit loadable modules (KLMs) starting them more efficiently." That's more terrible than I felt while waiting for at least two minutes for KDE4 to load on my old computer. 2020-01-13T10:32:53Z oxum_ quit (Read error: Connection reset by peer) 2020-01-13T10:37:03Z frgo quit (Remote host closed the connection) 2020-01-13T10:37:34Z frgo joined #lisp 2020-01-13T10:37:49Z p_l: pdumper acts a bit more like typical CL save image 2020-01-13T10:37:55Z p_l: old dumper was insane 2020-01-13T10:38:30Z LdBeth: beach: https://dancol.org/pdumperpres.pdf Indeed, their new solution works on ASLR system 2020-01-13T10:38:42Z beach: I see. Thanks. 2020-01-13T10:39:23Z no-defun-allowed: Can you dump an image from a cross-compilation where one implementation compiles another using that method? 2020-01-13T10:39:29Z oxum joined #lisp 2020-01-13T10:39:37Z cpape`` quit (Quit: ERC (IRC client for Emacs 26.1)) 2020-01-13T10:40:10Z cpape joined #lisp 2020-01-13T10:41:06Z LdBeth: Emacs now does not directly mapping data into memory, at the cost of a little overhead 2020-01-13T10:42:11Z frgo quit (Ping timeout: 265 seconds) 2020-01-13T10:42:55Z LdBeth: it’s very like serialization. 2020-01-13T10:42:55Z beach: Hmm. 2020-01-13T10:43:05Z beach: "a little"? 2020-01-13T10:43:09Z jackdaniel: LdBeth: thank you for the link, quite interesting 2020-01-13T10:43:17Z pjb: Let's note that C NULL pointers don't have to be represented by a #b0 bit pattern. At the level of the C source, casting it into a intptr_t should give you 0, and (void*)0 should give you a NULL pointer, but the binary representation of (void*)0 and (intptr_t)0 can be different. 2020-01-13T10:43:23Z no-defun-allowed: It's certainly useful, but in the "general" case dumping an image doesn't sound easy. 2020-01-13T10:43:34Z pjb: Unfortunately, no known compiler take advantage of that. 2020-01-13T10:44:26Z no-defun-allowed: Hm, I think Zeta C/Symbolics C had an odd representation for NULL (which was NIL?) as pointers were arrays of some kind. 2020-01-13T10:44:55Z no-defun-allowed: pjb: https://stackoverflow.com/questions/2597142/when-was-the-null-macro-not-0 2020-01-13T10:45:21Z beach: LdBeth: Thanks for the information. That is a terrible kludge that should not have been necessary in the first place. 2020-01-13T10:45:50Z pjb: beach: there are other reasons why you might not be able to use page 0 (or others pages with small addresses). Sometimes interruption vectors are stored there. Sometimes these addresses are used for fast addressing so the pages are used as temporary registers. And of course, the kernel can memory map them out of the user process reach anyways. 2020-01-13T10:46:18Z beach: I see. 2020-01-13T10:46:54Z p_l: no-defun-allowed: all "plain" memoy in Symbolics C was a big array that was multiply mapped as different types 2020-01-13T10:48:31Z beach: So I guess if you take ASLR into account, there is no chance that NIL could be a fixed constant, let alone an 8-bit machine value. 2020-01-13T10:48:38Z hhdave quit (Ping timeout: 245 seconds) 2020-01-13T10:49:06Z beach thinks to himself... "what a wonderful world". 2020-01-13T10:49:29Z jonatack joined #lisp 2020-01-13T10:50:01Z p_l: I like tagging NIL as separate tag 2020-01-13T10:50:19Z hhdave joined #lisp 2020-01-13T10:50:43Z p_l: on a "plain" architecture it's not exactly doable to do away with ASLR, IMO 2020-01-13T10:50:48Z p_l: no matter the language 2020-01-13T10:51:15Z p_l: (and even on CADR, some people managed to exploit a memoy access) 2020-01-13T10:53:40Z beach: p_l: Why do you like a separate tag for NIL? 2020-01-13T10:54:51Z jonatack quit (Ping timeout: 268 seconds) 2020-01-13T10:54:54Z beach: p_l: The problem is not the architecture. The problem is that we insist on programming as if we have access to the raw computer, just as we did in 60 years ago. 2020-01-13T10:55:06Z beach: s/in// 2020-01-13T10:55:24Z jonatack joined #lisp 2020-01-13T10:57:22Z frgo joined #lisp 2020-01-13T10:57:45Z frgo quit (Remote host closed the connection) 2020-01-13T10:57:53Z frgo joined #lisp 2020-01-13T10:58:43Z frgo_ joined #lisp 2020-01-13T10:59:14Z LdBeth: There’re lot of tools I can name written using specifically designed languages so they can translated to different architecture and assembled with macro 2020-01-13T10:59:21Z LdBeth: assemblers 2020-01-13T11:00:31Z LdBeth: And they write documents about internals 2020-01-13T11:01:53Z LdBeth: so other people can port the software to archs that the author had never heard 2020-01-13T11:02:15Z swills quit (Ping timeout: 268 seconds) 2020-01-13T11:02:26Z frgo quit (Ping timeout: 240 seconds) 2020-01-13T11:13:19Z Nilby joined #lisp 2020-01-13T11:14:20Z p_l: beach: making it explicit that you don't have access to raw machine requires either a special machine, or disregard for security. And we no longer can do the latter, niot really 2020-01-13T11:14:50Z trittweiler quit (Ping timeout: 240 seconds) 2020-01-13T11:15:11Z p_l: even AS/400, despite using "special intermediary language" route, implements portion of the necessary stuff in actual physical machine 2020-01-13T11:16:49Z trittweiler joined #lisp 2020-01-13T11:20:49Z White_Flame: p_l: there's a difference between application code and system code 2020-01-13T11:21:19Z White_Flame: one of the big historical mistakes of computing was using C as an application langauge 2020-01-13T11:21:31Z p_l: White_Flame: for Lisp-style OS we might want to have less difference between the two 2020-01-13T11:21:58Z p_l: and C is very much application language, you can't write an OS in it without compiler extensions 2020-01-13T11:22:35Z White_Flame: you can't write an OS without assembly language full stop 2020-01-13T11:22:47Z White_Flame: at some point, the interface to the actual CPU and hardware must exist 2020-01-13T11:23:12Z White_Flame: but that should be contained in the systems dev stuff, not exposed to the application dev 2020-01-13T11:24:29Z White_Flame: and of course, considering a lisp os, things are different 2020-01-13T11:24:39Z p_l: White_Flame: `int *ptr = 0x12345; *ptr=10;` <--- what's the result in C of that? 2020-01-13T11:25:00Z jackdaniel: of course it is 42. 2020-01-13T11:25:04Z p_l: and I'm of the argument that "constraining" application development is bad 2020-01-13T11:25:21Z p_l: jackdaniel: I like the option of "programmer strangled by compiler" 2020-01-13T11:26:15Z jackdaniel: I'm sure many people could raise a concern, that while C is indeed part of the topic, it lacks the L suffix :-) 2020-01-13T11:27:35Z p_l: I didn't know lisp implementation talk was outside the topic 2020-01-13T11:28:19Z jackdaniel: I don't share a view that banter about C is discussing "lisp implementation" 2020-01-13T11:28:54Z dddddd joined #lisp 2020-01-13T11:29:26Z no-defun-allowed: p_l: Clearly you don't use my compiler, where undefined behaviour causes unicorns to shoot out of the screen. 2020-01-13T11:29:55Z LdBeth: Missile launched 2020-01-13T11:30:33Z DGASAU quit (Read error: Connection reset by peer) 2020-01-13T11:34:53Z DGASAU joined #lisp 2020-01-13T11:35:09Z DGASAU quit (Read error: Connection reset by peer) 2020-01-13T11:36:07Z DGASAU joined #lisp 2020-01-13T11:53:22Z beach: p_l: I don't see how a special architecture is needed. Can you elaborate? 2020-01-13T11:54:14Z beach: p_l: And you didn't answer my question as to why you prefer a special tag for NIL. 2020-01-13T11:55:16Z p_l: beach: AS/400 solved security issues involved in having single address space by making a much fine grained control (on hw level) on access to memory locations, with more flexibility than simplistic supervisor/usermode 2020-01-13T11:55:57Z p_l: as for specific symbol for NIL, it means that a check for NIL doesn't have to dereference memory, nor do you need any special memory location, which is problematic with ASLR and others 2020-01-13T11:56:34Z beach: p_l: That would be the same problem for any symbol then; not just NIL. 2020-01-13T11:57:01Z p_l: beach: by providing more advanced security measures in hw, the intermediate level "bytecode" could exploit such features for efficient *and* secure implementation 2020-01-13T11:57:25Z p_l: as for symbols - I honestly believe we have way more cases of NIL-checking than any other, and EQ can just compare the address usually 2020-01-13T11:58:10Z beach: p_l: I am suggesting making direct access to memory locations impossible. I don't see how that requires special hardware, and I don't see how it would be a security risk. 2020-01-13T11:58:11Z papachan joined #lisp 2020-01-13T11:59:21Z beach: p_l: Yes, ASLR is a problem for comparing to a constant. So, if ASLR was your argument, I agree. 2020-01-13T12:00:14Z beach: p_l: But the disadvantages of a separate tag would result in a maintenance nightmare, and also you would need two tests for each iteration in a loop over a list. 2020-01-13T12:00:55Z beach: p_l: Whereas, even with ASLR, you just have to implement EQ by comparing two lexical locations. 2020-01-13T12:00:58Z p_l: also, I kinda don't trust "direct access to memory locations is impossible", given several times people escaped from exactly that kind of sandboxing - maybe you'll find a better method to implement it though (I hope) 2020-01-13T12:01:22Z beach: p_l: We'll find out. 2020-01-13T12:07:00Z beach: Also, I would give some more thought to my idea if you could provide some more substance as to what technique would be used to access memory if no operation is provided to do so. More than your distrust, I mean. 2020-01-13T12:07:22Z beach: I guess the two tests in the loop could be avoided if you don't do it the way SBCL does. 2020-01-13T12:07:44Z beach: Anyway, time for a break. 2020-01-13T12:12:02Z p_l: beach: I'll dig out some details later, but generally there's been a plenty done in JS space - you might be able to avoid them by using a better language for implementation though, so I'm eagerly awaiting more on SICL :) 2020-01-13T12:13:06Z Shinmera: People have managed to program and launch entirely new games just by pressing the right inputs in Super Mario World 2020-01-13T12:14:27Z Shinmera: Which to me just shows that implementing anything to be secure is very hard. 2020-01-13T12:15:11Z jackdaniel: security concerns take away a lot of fun from playing with computers 2020-01-13T12:15:33Z pjb: White_Flame: note that using C for applications is not really the fault of the creators of unix: they provided a fortran compiler!!! 2020-01-13T12:15:37Z pjb: :-) 2020-01-13T12:15:59Z grewal quit (Quit: leaving) 2020-01-13T12:17:35Z pjb: p_l: you've got an implicit conversion from into to int*; you get a message from the compiler (and if you insist, a segfault when running it). 2020-01-13T12:17:43Z pjb: (undefined behavior). 2020-01-13T12:19:45Z rnmhdn joined #lisp 2020-01-13T12:19:51Z pjb: As for NIL, I don't think there would be any win today to handle it any differently than any other CL symbol. 2020-01-13T12:20:44Z pfdietz63: Archaic unix ran in a very constrained environment. It's amazing it (or its C compiler) worked at all in a 16 bit address space. 2020-01-13T12:20:59Z pjb: Shinmera: security is when you can implement a new game in Super Mario World without crashing or destroying Super Mario World. No security is when pressing buttons let you break Super Mario World, and worse, when it let you program the host computer to a different program. 2020-01-13T12:21:02Z Guest86690 quit (Ping timeout: 258 seconds) 2020-01-13T12:22:26Z rnmhdn quit (Client Quit) 2020-01-13T12:26:08Z nirved quit (Ping timeout: 252 seconds) 2020-01-13T12:27:17Z nirved joined #lisp 2020-01-13T12:32:58Z milanj quit (Quit: This computer has gone to sleep) 2020-01-13T12:44:55Z oxum quit (Remote host closed the connection) 2020-01-13T12:47:40Z rnmhdn joined #lisp 2020-01-13T12:59:58Z samlamamma joined #lisp 2020-01-13T12:59:58Z ebrasca joined #lisp 2020-01-13T13:00:29Z samlamamma: There used to be a video on YouTube where some LispM guys (Symbolics?) present an emacsen C++ IDE. Any idea what that video is called? 2020-01-13T13:00:51Z EvW joined #lisp 2020-01-13T13:00:54Z gravicappa quit (Ping timeout: 265 seconds) 2020-01-13T13:01:16Z krisfris1 joined #lisp 2020-01-13T13:01:26Z gravicappa joined #lisp 2020-01-13T13:06:45Z oxum joined #lisp 2020-01-13T13:07:04Z pfdietz63 quit (Remote host closed the connection) 2020-01-13T13:08:35Z Nilby: samlamamma: Maybe you mean Lucid Engergize https://www.youtube.com/watch?v=pQQTScuApWk 2020-01-13T13:10:29Z milanj joined #lisp 2020-01-13T13:11:28Z oxum_ joined #lisp 2020-01-13T13:11:54Z oxum quit (Read error: Connection reset by peer) 2020-01-13T13:13:12Z swills joined #lisp 2020-01-13T13:17:18Z notzmv quit (Ping timeout: 268 seconds) 2020-01-13T13:17:21Z lucasb joined #lisp 2020-01-13T13:19:03Z EvW quit (Ping timeout: 245 seconds) 2020-01-13T13:24:08Z earl-ducaine: phoe: The library with the :qt system dependancy is hemlock.qt 2020-01-13T13:24:47Z samlamamma quit (Ping timeout: 265 seconds) 2020-01-13T13:27:58Z ebzzry quit (Ping timeout: 265 seconds) 2020-01-13T13:29:53Z hlavaty quit (Remote host closed the connection) 2020-01-13T13:33:59Z phoe: earl-ducaine: have you contacted its maintainers? 2020-01-13T13:39:58Z flamebeard quit (Remote host closed the connection) 2020-01-13T13:40:24Z flamebeard joined #lisp 2020-01-13T13:43:04Z random-nick joined #lisp 2020-01-13T13:43:50Z krisfris1 quit (Ping timeout: 258 seconds) 2020-01-13T13:46:58Z krisfris1 joined #lisp 2020-01-13T13:48:47Z bitmapper joined #lisp 2020-01-13T13:55:46Z mingus joined #lisp 2020-01-13T13:59:56Z TMA quit (Ping timeout: 258 seconds) 2020-01-13T14:01:12Z Bike joined #lisp 2020-01-13T14:01:38Z TMA joined #lisp 2020-01-13T14:03:29Z shangul joined #lisp 2020-01-13T14:04:09Z bitmapper quit (Remote host closed the connection) 2020-01-13T14:06:31Z papachan quit (Quit: Leaving) 2020-01-13T14:06:50Z hjudt quit (Ping timeout: 240 seconds) 2020-01-13T14:08:40Z hjudt joined #lisp 2020-01-13T14:08:58Z oxum joined #lisp 2020-01-13T14:09:48Z oxum_ quit (Read error: Connection reset by peer) 2020-01-13T14:15:16Z hjudt quit (Ping timeout: 268 seconds) 2020-01-13T14:16:38Z hjudt joined #lisp 2020-01-13T14:18:52Z LiamH joined #lisp 2020-01-13T14:19:20Z wxie joined #lisp 2020-01-13T14:24:49Z fookara joined #lisp 2020-01-13T14:26:25Z flamebeard quit 2020-01-13T14:26:46Z toorevitimirp quit (Read error: Connection reset by peer) 2020-01-13T14:29:49Z igemnace quit (Remote host closed the connection) 2020-01-13T14:32:50Z frgo_ quit (Ping timeout: 240 seconds) 2020-01-13T14:34:01Z dyelar quit (Quit: Leaving.) 2020-01-13T14:34:22Z dyelar joined #lisp 2020-01-13T14:34:48Z FreeBirdLjj joined #lisp 2020-01-13T14:36:48Z wxie quit (Ping timeout: 265 seconds) 2020-01-13T14:36:55Z dyelar quit (Client Quit) 2020-01-13T14:37:30Z mingus quit (Remote host closed the connection) 2020-01-13T14:37:54Z igemnace joined #lisp 2020-01-13T14:51:01Z boeg: Is there a smarter way to do something like this `(cons "a" (cons "b" (cons "c")))` ? 2020-01-13T14:51:03Z EvW joined #lisp 2020-01-13T14:51:20Z _death: what does (cons "c") mean 2020-01-13T14:51:58Z boeg: _death: oh, my mistake, should be (cons "c" "d") 2020-01-13T14:52:09Z _death: clhs list* 2020-01-13T14:52:10Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_list_.htm 2020-01-13T14:52:17Z beach: (list* "a" "b" "c") 2020-01-13T14:52:23Z decent-username: "the most inefficient way of creating strings" 2020-01-13T14:52:38Z shangul: :) 2020-01-13T14:52:39Z Shinmera: list* is also very good for prepending things in general! 2020-01-13T14:52:40Z beach: (list* "a" "b" "c" "d") 2020-01-13T14:53:22Z boeg: ah that works, I had been trying with normal "list" but it just wanted the "cons list" and i'm not sure I understand why, but "list*" works 2020-01-13T14:53:28Z boeg: thanks all 2020-01-13T14:53:40Z beach: boeg: It is called a "dotted list". 2020-01-13T14:53:45Z boeg: ah yes, sorry 2020-01-13T14:53:48Z beach: As opposed to a "proper list". 2020-01-13T14:53:54Z bitmapper joined #lisp 2020-01-13T14:54:04Z boeg: yes, dotted list, ill remember 2020-01-13T14:54:29Z beach: boeg: You will understand why when you read the Common Lisp HyperSpec page for LIST*. 2020-01-13T14:54:53Z boeg: ill go do that now 2020-01-13T14:55:36Z decent-username: The list section from the book "ANSI Common Lisp" by Paul Graham helped me a lot. 2020-01-13T14:55:55Z decent-username: In understand all that dotted list stuff. 2020-01-13T14:58:17Z madmonkey joined #lisp 2020-01-13T14:58:17Z boeg: yeah, I think I know the difference - the dotted list it just "the items" where as a proper list is composed of a dotted list with an element and a pointer to another dotted list, and so on, and the last dotted list will have a nil as its last element? And in this case, the function i'm calling wants a dotted list with elements all the way through, and not a nil at the end 2020-01-13T14:58:30Z boeg: anyways, i'll get to reading the documentation for list* now and see if i am right 2020-01-13T14:59:06Z asdf_asdf_asdf joined #lisp 2020-01-13T15:00:28Z _death: the glossary has definitions for dotted list, proper list, etc. 2020-01-13T15:01:25Z phoe: boeg: (... . nil) equals (...) 2020-01-13T15:01:30Z EvW1 joined #lisp 2020-01-13T15:01:34Z boeg: right - but am I wrong or? a List say (list 1 2 3) is actually (cons 1 (cons 2 (cons 3 nil))) right whereas (list* 1 2 3) is (1 . 2 . 3) or? 2020-01-13T15:01:45Z phoe: it's (1 2 . 3) 2020-01-13T15:01:51Z boeg: ah 2020-01-13T15:01:53Z phoe: (1 . 2 . 3) is invalid notation 2020-01-13T15:01:54Z _death: boeg: (1 . (2 . 3)) 2020-01-13T15:01:59Z boeg: ah of course 2020-01-13T15:02:16Z phoe: only one dot is allowed in a list, and only one element is allowed after the dot 2020-01-13T15:02:17Z boeg: thanks 2020-01-13T15:02:34Z dlowe: boeg: are you familiar with linked lists? 2020-01-13T15:03:01Z phoe: LIST* is equivalent to LIST except for the last argument passed to it 2020-01-13T15:03:26Z boeg: dlowe: yes 2020-01-13T15:03:44Z boeg: phoe: yes I see that now 2020-01-13T15:03:48Z phoe: (list* 1 2 3 4 5 ...) == (list 1 2 3 4 5 ...) as long as you only care about the first five elements 2020-01-13T15:04:03Z oxum_ joined #lisp 2020-01-13T15:04:04Z EvW quit (Ping timeout: 248 seconds) 2020-01-13T15:04:04Z EvW1 is now known as EvW 2020-01-13T15:04:05Z phoe: it's the ... up there where things get different 2020-01-13T15:04:05Z dlowe: boeg: lists in CL are standard singly linked lists of two-field structures called conses. all this other stuff is notation 2020-01-13T15:04:34Z boeg: dlowe: yes, I had just gotten confused - i knew lists were linked lists, but I thought for some reasons conses wasn't 2020-01-13T15:04:37Z boeg: but of course they are 2020-01-13T15:04:51Z boeg: but lists are made of conses, so they have to be 2020-01-13T15:05:58Z boeg: I am trying to up my common lisp game, but now that i am trying out (next browser) I guess i'll get a lot more practical experience with common lisp since it's configured in common lisp 2020-01-13T15:06:28Z dlowe: I mean, a linked list is an arrangement - conses are just a convenient standard to build lists out of 2020-01-13T15:07:02Z dlowe: you could also do (defstruct my-cons data next) and build it up from scratch 2020-01-13T15:07:27Z gnufr33d0m joined #lisp 2020-01-13T15:07:30Z oxum quit (Ping timeout: 268 seconds) 2020-01-13T15:08:07Z boeg: right 2020-01-13T15:08:42Z dlowe: boeg: going through the Practical Common Lisp book? 2020-01-13T15:09:34Z jmercouris joined #lisp 2020-01-13T15:10:27Z boeg: boeg: no done with that for a first pass, right now I'm reading that paradigms of artificial intelligence programming 2020-01-13T15:10:48Z jmercouris: how can I inspect an object in Slime without right clicking "Inspect"? 2020-01-13T15:10:58Z jmercouris: (inspect x) doesn't do the same thing, it doesn't open the *slime-inspector* 2020-01-13T15:11:15Z Lord_of_Life_ joined #lisp 2020-01-13T15:11:24Z dlowe: boeg: that's a very fun one 2020-01-13T15:11:30Z dlowe: jmercouris: M-x slime-inspect 2020-01-13T15:11:52Z boeg: dlowe: its very interesting yes 2020-01-13T15:11:54Z jdz: jmercouris: C-c C-v i 2020-01-13T15:11:57Z william11 joined #lisp 2020-01-13T15:11:58Z jmercouris: dlowe: how can I refer to previously evaluated things from the slime repl? 2020-01-13T15:12:11Z jdz: jmercouris: press RET 2020-01-13T15:12:20Z jmercouris: jdz: perfect! thank ou 2020-01-13T15:12:36Z oxum_ quit (Remote host closed the connection) 2020-01-13T15:12:37Z jmercouris: for future readers: C-c C-v i also works when the cursor is over the object 2020-01-13T15:13:25Z jdz: jmercouris: there are quite a few more keybindings with C-c C-v prefix, Press C-c C-v ?. 2020-01-13T15:14:26Z Lord_of_Life quit (Ping timeout: 240 seconds) 2020-01-13T15:14:27Z Lord_of_Life_ is now known as Lord_of_Life 2020-01-13T15:14:43Z DGASAU quit (Read error: Connection reset by peer) 2020-01-13T15:15:21Z jmercouris: Ah, OK! thanks 2020-01-13T15:19:52Z dlowe: the maximum number of sequential keybindings I can remember is 2 :p 2020-01-13T15:21:00Z decent-username: How would you merge multiple large lists into a single even bigger list? 2020-01-13T15:21:09Z Necktwi quit (Read error: Connection reset by peer) 2020-01-13T15:21:20Z jdz: clhs append 2020-01-13T15:21:21Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_append.htm 2020-01-13T15:21:33Z decent-username: but appends needs to traverse the list right? 2020-01-13T15:21:38Z asdf_asdf_asdf quit (Remote host closed the connection) 2020-01-13T15:21:39Z jdz: Right. 2020-01-13T15:21:43Z decent-username: isn't there a faster way? 2020-01-13T15:21:48Z jdz: No. 2020-01-13T15:21:56Z decent-username: makes sense. LOL 2020-01-13T15:22:15Z jdz: Unless you make your own datastructure that keeps track of list tails. 2020-01-13T15:22:51Z decent-username: nah, I'm to lazy for that. I'll use append. 2020-01-13T15:23:01Z decent-username: thanks for the answer 2020-01-13T15:23:14Z jfb4_ quit (Ping timeout: 240 seconds) 2020-01-13T15:25:04Z kajo quit (Ping timeout: 252 seconds) 2020-01-13T15:25:34Z pjb: boeg: note the names: proper-list, dotted-list, circular-list. proper-list implies that the other types of lists are IMproper. This is quite negative. Why would you want to create and use IMproper lists? This will lead to all sorts of difficulties, given that most CL functions are not prepared to deal properly with IMproper lists. They will in general fail on dotted-list, and enter infinite loops on circular-lists. 2020-01-13T15:25:53Z pjb: boeg: so you have to have a strong justification to use improper lists such as dotted-lists… 2020-01-13T15:26:07Z jfb4 joined #lisp 2020-01-13T15:26:25Z Necktwi joined #lisp 2020-01-13T15:26:57Z oxum joined #lisp 2020-01-13T15:28:35Z brown121407 quit (Read error: Connection reset by peer) 2020-01-13T15:28:49Z shangul quit (Remote host closed the connection) 2020-01-13T15:29:12Z luis: I think I'm holding ironclad wrong. https://pastebin.com/nXu6ch1e Can anyone tell me what I'm doing wrong? The encrypted message is unchanged. %-) 2020-01-13T15:30:15Z brown121408 joined #lisp 2020-01-13T15:31:42Z FreeBirdLjj quit (Remote host closed the connection) 2020-01-13T15:32:03Z jprajzne quit (Quit: Leaving.) 2020-01-13T15:32:23Z oxum quit (Ping timeout: 265 seconds) 2020-01-13T15:33:53Z gabc: luis: does #'ironclad:encrypt returns a value or change it in place? 2020-01-13T15:34:15Z gabc: If it returns a value you're throwing it out and not saving it, which would explain what you're describing 2020-01-13T15:34:52Z luis: gabc: it's returning (values 0 0) 2020-01-13T15:35:10Z dlowe: hm. what do those 0s mean 2020-01-13T15:35:12Z _death: since you're using ECB mode you need to pass in blocks.. 2020-01-13T15:35:25Z dlowe: yeah, are those padded to the correct length? 2020-01-13T15:36:12Z DGASAU joined #lisp 2020-01-13T15:36:13Z dyelar joined #lisp 2020-01-13T15:36:54Z _death: (ironclad:block-length :blowfish) => 8 2020-01-13T15:37:23Z jmercouris: if they aren't you can always npm install leftpad++ 2020-01-13T15:37:48Z luis: Ah, I need to pad the message! 2020-01-13T15:37:51Z pfdietz quit (Remote host closed the connection) 2020-01-13T15:37:58Z luis: (And probably the key too.) 2020-01-13T15:38:09Z luis: Though "password" matches the block size. 2020-01-13T15:38:26Z _death: luis: you can use ironclad:key-lengths to see which key lengths the cipher supports 2020-01-13T15:40:07Z _death: for padding, you can use ironclad::add-padding-bytes (for some reason it's not exported?) 2020-01-13T15:40:51Z luis: _death: seems like I can pass :padding :pkcs7 (or whatever) to the cipher and :handle-final-block t to encrypt. 2020-01-13T15:41:03Z _death: and for key, you will likely want to use key derivation.. and if you're actually plan on using it rather than learning, you shouldn't use blowfish, and shouldn't use ECB :) 2020-01-13T15:42:25Z scymtym_ joined #lisp 2020-01-13T15:42:27Z luis: _death: I'm just porting some code, so I think I have to stick to blowfish and ECB since I have encrypted messages floating around that way 2020-01-13T15:43:19Z _death: ouch.. visions of penguins 2020-01-13T15:43:21Z luis: _death: but the wikipedia article about ECB illustrates why ECB is a bad idea very eloquently :) 2020-01-13T15:43:27Z luis: with a penguin, exactly 2020-01-13T15:46:08Z scymtym quit (Ping timeout: 245 seconds) 2020-01-13T15:46:58Z scymtym_ quit (Ping timeout: 245 seconds) 2020-01-13T15:47:36Z luis: dlowe: how do you usually pad the message? 2020-01-13T15:47:49Z _death: pkcs7 is the usual way 2020-01-13T15:48:55Z luis: Right. But with ironclad::add-padding-bytes? 2020-01-13T15:49:37Z william11 quit (Ping timeout: 268 seconds) 2020-01-13T15:50:15Z _death: I guess.. personally I like CTR mode (+ authentication) so I don't need to pad or steal from ciphertext :) 2020-01-13T15:50:51Z froggey quit (Ping timeout: 268 seconds) 2020-01-13T15:50:52Z _death: there are other useful ironclad operators whose symbols should be exported.. e.g., ironclad::modular-inverse 2020-01-13T15:52:00Z Nilby quit (Ping timeout: 265 seconds) 2020-01-13T15:52:31Z froggey joined #lisp 2020-01-13T15:53:44Z smazga joined #lisp 2020-01-13T15:53:46Z ebzzry joined #lisp 2020-01-13T15:54:58Z _death: luis: but you're right, there's the :padding argument and :handle-final-block 2020-01-13T15:55:31Z _death: you just need to make sure the output buffer size is a multiple of block size 2020-01-13T15:55:54Z luis: Right. OK. Many thanks. You've been most helpful! 2020-01-13T15:56:02Z _death: (+ 1, if the message is zero bytes..) 2020-01-13T15:56:02Z heisig quit (Quit: Leaving) 2020-01-13T15:56:20Z _death: *er, if the message is an exact multiple 2020-01-13T15:56:43Z gxt quit (Ping timeout: 240 seconds) 2020-01-13T15:57:20Z kajo joined #lisp 2020-01-13T15:57:22Z _death: pkcs7 padding will always add at least one byte.. if the message size is an exact multiple of block size, it will add another block 2020-01-13T15:57:38Z jonatack quit (Ping timeout: 240 seconds) 2020-01-13T15:58:23Z zmv joined #lisp 2020-01-13T15:58:47Z oxum joined #lisp 2020-01-13T16:03:46Z pfdietz joined #lisp 2020-01-13T16:07:28Z rnmhdn quit (Ping timeout: 265 seconds) 2020-01-13T16:10:33Z jayspeer joined #lisp 2020-01-13T16:13:36Z jfb4_ joined #lisp 2020-01-13T16:14:43Z jfb4 quit (Ping timeout: 268 seconds) 2020-01-13T16:18:23Z jfb4 joined #lisp 2020-01-13T16:18:43Z jfb4_ quit (Ping timeout: 260 seconds) 2020-01-13T16:22:20Z cosimone joined #lisp 2020-01-13T16:23:00Z cosimone quit (Client Quit) 2020-01-13T16:23:19Z cosimone joined #lisp 2020-01-13T16:23:58Z ebzzry quit (Ping timeout: 268 seconds) 2020-01-13T16:25:44Z dale_ joined #lisp 2020-01-13T16:26:00Z dale_ is now known as dale 2020-01-13T16:26:50Z jfb4_ joined #lisp 2020-01-13T16:27:39Z oxum quit (Remote host closed the connection) 2020-01-13T16:28:17Z jfb4 quit (Ping timeout: 268 seconds) 2020-01-13T16:28:24Z jebes joined #lisp 2020-01-13T16:29:01Z oxum joined #lisp 2020-01-13T16:29:38Z william11 joined #lisp 2020-01-13T16:29:38Z ebzzry joined #lisp 2020-01-13T16:34:21Z grabarz quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-13T16:35:43Z jfb4 joined #lisp 2020-01-13T16:36:09Z sjl joined #lisp 2020-01-13T16:36:40Z Odin- joined #lisp 2020-01-13T16:36:53Z oni-on-ion joined #lisp 2020-01-13T16:37:06Z jfb4_ quit (Ping timeout: 258 seconds) 2020-01-13T16:39:05Z william11 quit (Ping timeout: 265 seconds) 2020-01-13T16:43:39Z _death: boeg: huh, we were talking about lists and cons cells, and Joe Marshall just put out a post about it (check planet lisp) 2020-01-13T16:47:49Z DGASAU quit (Read error: Connection reset by peer) 2020-01-13T16:48:34Z DGASAU joined #lisp 2020-01-13T16:48:38Z jfb4 quit (Ping timeout: 268 seconds) 2020-01-13T16:49:19Z ebrasca quit (Remote host closed the connection) 2020-01-13T16:50:23Z jfb4 joined #lisp 2020-01-13T16:53:16Z jayspeer quit (Quit: going home, see you around) 2020-01-13T16:54:19Z nullniverse joined #lisp 2020-01-13T16:55:00Z nullniverse quit (Max SendQ exceeded) 2020-01-13T16:55:33Z nullniverse joined #lisp 2020-01-13T16:57:04Z nullniverse quit (Max SendQ exceeded) 2020-01-13T16:57:28Z nullniverse joined #lisp 2020-01-13T16:57:53Z jmercouris quit (Ping timeout: 268 seconds) 2020-01-13T16:59:34Z ebrasca joined #lisp 2020-01-13T17:02:16Z jfb4_ joined #lisp 2020-01-13T17:02:52Z varjag quit (Quit: ERC (IRC client for Emacs 25.2.2)) 2020-01-13T17:04:03Z jfb4 quit (Ping timeout: 268 seconds) 2020-01-13T17:04:28Z DGASAU quit (Read error: Connection reset by peer) 2020-01-13T17:07:27Z reg32 joined #lisp 2020-01-13T17:07:36Z terpri_ quit (Remote host closed the connection) 2020-01-13T17:08:29Z DGASAU joined #lisp 2020-01-13T17:08:29Z terpri joined #lisp 2020-01-13T17:15:38Z EvW quit (Ping timeout: 240 seconds) 2020-01-13T17:15:57Z quazimodo quit (Ping timeout: 268 seconds) 2020-01-13T17:16:09Z shangul joined #lisp 2020-01-13T17:16:21Z quazimodo joined #lisp 2020-01-13T17:17:53Z slyrus__ joined #lisp 2020-01-13T17:20:11Z vivit joined #lisp 2020-01-13T17:20:39Z slyrus_ quit (Ping timeout: 265 seconds) 2020-01-13T17:23:06Z terpri quit (Remote host closed the connection) 2020-01-13T17:24:48Z terpri joined #lisp 2020-01-13T17:25:51Z vivit: Is it possible to define a single method specializer across, for example, all types (SIMPLE-VECTOR N) where N is a positive integer? 2020-01-13T17:26:23Z Shinmera: you can't specialise on types at all 2020-01-13T17:27:30Z vivit: What are you doing when you (defmethod f ((foo integer) (bar integer)) (...)) then? 2020-01-13T17:27:38Z Shinmera: integer is a class 2020-01-13T17:27:42Z Shinmera: clhs integer 2020-01-13T17:27:43Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/t_intege.htm 2020-01-13T17:28:15Z mfiano: All classes have an associated type, but the inverse is not true. 2020-01-13T17:28:17Z davepdot_ quit (Ping timeout: 268 seconds) 2020-01-13T17:28:57Z Bike: i'm not sure what you're going for with the original question. the union of all (simple-vector n) types is just simple-vector. or do you want to use N in the body? 2020-01-13T17:31:04Z mfiano: There are libraries to emulate what you want, however. specialization-store comes to mind. 2020-01-13T17:31:33Z rumbler3_ joined #lisp 2020-01-13T17:32:56Z mfiano: Or if you want to use actual generic functions, flitered-functions is pretty nice. 2020-01-13T17:34:38Z hhdave quit (Quit: hhdave) 2020-01-13T17:35:14Z rumbler31 quit (Ping timeout: 240 seconds) 2020-01-13T17:36:11Z g0d_shatter joined #lisp 2020-01-13T17:42:14Z vivit: Bike: I was confusing classes and types; I thought that methods were specialized on types and since (simple-vector 1) is a different type from (simple-vector 2) there would be some special syntax for writing a definition across all simple-vector types. I blame Haskell. 2020-01-13T17:43:24Z vivit: What about specializing methods with &rest arguments? 2020-01-13T17:43:44Z mfiano: Can't specialize on &key &optional or &rest without specialization-store 2020-01-13T17:46:25Z Bike: rest arguments are always nil or cons, anyway. 2020-01-13T17:46:34Z _death: usually functions have a single "target audience", the callers.. with generic functions, there are now two distinct possible audiences, callers and extenders.. if you feel the need to specialize on &rest or &key, that means it may be beneficial not to conflate the two audiences, by defining a separate function for each 2020-01-13T17:47:34Z DGASAU quit (Read error: Connection reset by peer) 2020-01-13T17:47:38Z Bike: indeed 2020-01-13T17:47:56Z DGASAU joined #lisp 2020-01-13T17:48:12Z _death: (of course you still call the "extenders" function, but you can think of these particular callers as yet another audience) 2020-01-13T17:50:48Z varjag joined #lisp 2020-01-13T17:54:46Z rnmhdn joined #lisp 2020-01-13T17:56:43Z jonatack joined #lisp 2020-01-13T17:58:43Z m00natic quit (Remote host closed the connection) 2020-01-13T18:03:01Z vivit: trying to define a package-local function called +, but I'm getting the error "The variable + is unbound" when I try to compile the defun. What's up with that? 2020-01-13T18:04:21Z jfb4 joined #lisp 2020-01-13T18:05:11Z Bike: What does your defpackage look like? Maybe it doesn't :use :CL, so the compiler is reading your-package::defun and treating it as a function name. 2020-01-13T18:05:45Z mathrick joined #lisp 2020-01-13T18:05:54Z jfb4_ quit (Ping timeout: 268 seconds) 2020-01-13T18:06:46Z amerlyq quit (Quit: amerlyq) 2020-01-13T18:07:09Z terpri quit (Remote host closed the connection) 2020-01-13T18:07:14Z terpri_ joined #lisp 2020-01-13T18:07:20Z vivit quit (Quit: WeeChat 1.9.1) 2020-01-13T18:07:36Z vivit joined #lisp 2020-01-13T18:07:36Z vivit quit (Changing host) 2020-01-13T18:07:36Z vivit joined #lisp 2020-01-13T18:07:38Z brown121408 quit (Ping timeout: 240 seconds) 2020-01-13T18:07:45Z fookara quit (Remote host closed the connection) 2020-01-13T18:08:37Z grabarz joined #lisp 2020-01-13T18:08:44Z terpri_ quit (Excess Flood) 2020-01-13T18:08:54Z brown121407 joined #lisp 2020-01-13T18:08:59Z grabarz quit (Client Quit) 2020-01-13T18:10:06Z brown121407 quit (Read error: Connection reset by peer) 2020-01-13T18:10:44Z brown121407 joined #lisp 2020-01-13T18:11:01Z gareppa joined #lisp 2020-01-13T18:12:20Z vivit: Now I'm getting "Lock on package COMMON-LISP violated when defining + as a function while in package LRL". How do I indicate that I want to define LRL::+, not cl:+? 2020-01-13T18:12:32Z jfb4_ joined #lisp 2020-01-13T18:13:00Z vivit: I get the same error if I try to (defun lrl::+ ...) 2020-01-13T18:13:06Z Bike: so to be clear, you did your defpackage lrl, and then (in-package #:lrl) or such, and so it's reading things in the LRL package? 2020-01-13T18:13:32Z Bike: probably you want to shadow + (and whatever other symbols) in defpackage. 2020-01-13T18:13:37Z jfb4 quit (Ping timeout: 265 seconds) 2020-01-13T18:13:47Z Bike: otherwise lrl::+ will be the same as cl::+. 2020-01-13T18:15:00Z _death: you should also know that cl:+ has more roles than a function name, which your:+ may not be able to fulfil 2020-01-13T18:15:20Z vivit: What are those? 2020-01-13T18:15:24Z _death: clhs + 2020-01-13T18:15:24Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/a_pl.htm 2020-01-13T18:16:00Z _death: this matters especially with regards to cl:* 2020-01-13T18:16:12Z nullniverse quit (Quit: Leaving) 2020-01-13T18:16:32Z decent-u` joined #lisp 2020-01-13T18:20:51Z decent-username quit (Ping timeout: 246 seconds) 2020-01-13T18:22:52Z slyrus_ joined #lisp 2020-01-13T18:24:22Z jmercouris joined #lisp 2020-01-13T18:24:39Z gareppa quit (Quit: Leaving) 2020-01-13T18:24:44Z decent-u` quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-01-13T18:25:01Z decent-username joined #lisp 2020-01-13T18:25:35Z slyrus__ quit (Ping timeout: 258 seconds) 2020-01-13T18:27:10Z earl-ducaine: phoe: I haven't contacted the Hemlock developers re: the :qt dependancy. But as far as I can tell there's been no active development for over a decade, so I wouldn't expect anyone to take action on it. 2020-01-13T18:28:10Z moon-child quit (Quit: ZNC 1.7.4 - https://znc.in) 2020-01-13T18:28:13Z jmercouris: Hemlock is dependent on Qt? 2020-01-13T18:28:22Z jmercouris: doesn't a version of Hemlock come with CCL on macOS? 2020-01-13T18:29:28Z Nilby joined #lisp 2020-01-13T18:30:17Z reg32 quit (Quit: The Lounge - https://thelounge.chat) 2020-01-13T18:31:13Z william1_ quit (Ping timeout: 265 seconds) 2020-01-13T18:31:43Z flazh quit (Ping timeout: 258 seconds) 2020-01-13T18:32:27Z Xach: jmercouris: yes 2020-01-13T18:32:49Z slyrus__ joined #lisp 2020-01-13T18:32:51Z ggole quit (Quit: Leaving) 2020-01-13T18:34:19Z jmercouris: I see 2020-01-13T18:35:48Z slyrus_ quit (Ping timeout: 260 seconds) 2020-01-13T18:35:55Z moon-child joined #lisp 2020-01-13T18:42:11Z jmercouris quit (Remote host closed the connection) 2020-01-13T18:46:09Z zmv quit (Remote host closed the connection) 2020-01-13T18:47:01Z karlosz joined #lisp 2020-01-13T18:55:29Z swflint quit (Ping timeout: 258 seconds) 2020-01-13T18:58:56Z shangul quit (Ping timeout: 268 seconds) 2020-01-13T18:59:20Z davisr quit (Quit: Leaving) 2020-01-13T18:59:47Z madmonkey quit (Remote host closed the connection) 2020-01-13T19:00:02Z rnmhdn quit (Ping timeout: 240 seconds) 2020-01-13T19:02:07Z rnmhdn joined #lisp 2020-01-13T19:05:45Z william1_ joined #lisp 2020-01-13T19:06:26Z tiwEllien quit (Quit: WeeChat 2.7) 2020-01-13T19:08:07Z cosimone quit (Quit: Quit.) 2020-01-13T19:10:10Z grabarz joined #lisp 2020-01-13T19:11:05Z william1_ quit (Ping timeout: 268 seconds) 2020-01-13T19:11:17Z EvW joined #lisp 2020-01-13T19:11:54Z brown121407 quit (Read error: Connection reset by peer) 2020-01-13T19:12:10Z brown121407 joined #lisp 2020-01-13T19:14:37Z pjb: vivit: don't worry, you can always type: (vector integer cl:*). 2020-01-13T19:16:17Z swflint joined #lisp 2020-01-13T19:19:32Z terpri_ joined #lisp 2020-01-13T19:23:00Z scymtym joined #lisp 2020-01-13T19:23:31Z sauvin quit (Read error: Connection reset by peer) 2020-01-13T19:25:50Z jasom: I'm writing some software for an rpi; any tips or gotchas for using lisp to develop for it? Will swank and tramp-mode just work similar to how I would do between two x86oids? 2020-01-13T19:27:44Z scymtym quit (Read error: Connection reset by peer) 2020-01-13T19:30:51Z DGASAU quit (Read error: Connection reset by peer) 2020-01-13T19:31:03Z Xach: I would like to do some lisp stuff to display on my tv with my raspberry pi 2020-01-13T19:31:28Z X-Scale` joined #lisp 2020-01-13T19:32:15Z luis: _death: ironclad:encrypt-message takes care of padding! 2020-01-13T19:32:17Z milanj quit (Quit: This computer has gone to sleep) 2020-01-13T19:33:05Z X-Scale quit (Ping timeout: 265 seconds) 2020-01-13T19:33:05Z X-Scale` is now known as X-Scale 2020-01-13T19:34:11Z _death: luis: ah, good to know 2020-01-13T19:35:54Z _death: would be nice if ironclad:encrypt docstring had a See Also note 2020-01-13T19:36:06Z DGASAU joined #lisp 2020-01-13T19:36:10Z boeg: Is it possible to have an optional argument (with or without default value) as *not* the last parameter. So say a function takes argument (a b &optional (c "") d), and the function can then be called with 3 argument (where c will get default value) or 4 arguments? 2020-01-13T19:36:14Z eddof13 joined #lisp 2020-01-13T19:36:17Z Xach: boeg: no 2020-01-13T19:36:21Z boeg: alright 2020-01-13T19:37:33Z _death: you could implement your own arglist parsing, though that's a good sign you should rethink the interface 2020-01-13T19:39:41Z boeg: yeah 2020-01-13T19:39:48Z pjb: boeg: you can either 1- use &key arguments they are optional! or 2- use &rest and parse the list of arguments yourself! 2020-01-13T19:40:24Z boeg: pjb: good suggestions, thanks 2020-01-13T19:41:38Z pjb: (defun foo (a b &rest args) (let (c d cp dp) (ecase (length args) ((0)) ((1) (setf d (car args) dp t)) ((2) (setf c (car args) cp t d (cadr args) dp t))) (list a b cp c dp d))) (foo 1 2 3) #| --> (1 2 nil nil t 3) |# (foo 1 2 0 3) #| --> (1 2 t 0 t 3) |# 2020-01-13T19:43:44Z boeg: thanks 2020-01-13T19:52:44Z g0d_shatter quit (Quit: Leaving) 2020-01-13T19:53:57Z eddof13 quit (Quit: eddof13) 2020-01-13T19:56:02Z vivit quit (Ping timeout: 240 seconds) 2020-01-13T19:59:18Z phlim quit (Quit: WeeChat 2.4) 2020-01-13T19:59:32Z grabarz quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-13T20:05:08Z rnmhdn left #lisp 2020-01-13T20:06:39Z grabarz joined #lisp 2020-01-13T20:10:54Z eddof13 joined #lisp 2020-01-13T20:10:54Z scymtym joined #lisp 2020-01-13T20:11:59Z ebrasca quit (Remote host closed the connection) 2020-01-13T20:12:41Z milanj joined #lisp 2020-01-13T20:14:19Z atgreen joined #lisp 2020-01-13T20:14:38Z ebrasca joined #lisp 2020-01-13T20:15:20Z bitmapper quit 2020-01-13T20:32:10Z asdf_asdf_asdf joined #lisp 2020-01-13T20:35:58Z X-Scale quit (Ping timeout: 260 seconds) 2020-01-13T20:36:26Z efm quit (Ping timeout: 240 seconds) 2020-01-13T20:36:36Z X-Scale` joined #lisp 2020-01-13T20:37:28Z X-Scale` is now known as X-Scale 2020-01-13T20:37:39Z gareppa joined #lisp 2020-01-13T20:38:12Z gxt joined #lisp 2020-01-13T20:39:08Z eeeeeta: jasom: you'd want to use CCL on a pi if you want threading; I was able to get swank working that way 2020-01-13T20:43:21Z vivit joined #lisp 2020-01-13T20:44:50Z efm joined #lisp 2020-01-13T20:49:21Z ebrasca quit (Remote host closed the connection) 2020-01-13T20:50:01Z terpri_ is now known as terpri 2020-01-13T20:52:48Z flazh joined #lisp 2020-01-13T20:54:08Z vlatkoB quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) 2020-01-13T20:55:15Z hiroaki quit (Ping timeout: 265 seconds) 2020-01-13T20:56:02Z gravicappa quit (Ping timeout: 240 seconds) 2020-01-13T21:06:45Z william1_ joined #lisp 2020-01-13T21:08:03Z atgreen quit (Ping timeout: 260 seconds) 2020-01-13T21:09:00Z hiroaki joined #lisp 2020-01-13T21:10:03Z gxt quit (Ping timeout: 240 seconds) 2020-01-13T21:11:33Z william1_ quit (Ping timeout: 260 seconds) 2020-01-13T21:12:30Z gxt joined #lisp 2020-01-13T21:12:57Z stepnem_ joined #lisp 2020-01-13T21:14:57Z niceplace joined #lisp 2020-01-13T21:15:01Z niceplaces quit (Ping timeout: 258 seconds) 2020-01-13T21:15:39Z stepnem quit (Ping timeout: 268 seconds) 2020-01-13T21:17:42Z kajo quit (Ping timeout: 260 seconds) 2020-01-13T21:21:36Z gareppa quit (Quit: Leaving) 2020-01-13T21:30:44Z nullman quit (Ping timeout: 258 seconds) 2020-01-13T21:32:24Z nullman joined #lisp 2020-01-13T21:34:37Z pfdietz quit (Remote host closed the connection) 2020-01-13T21:38:54Z eddof13 quit (Quit: eddof13) 2020-01-13T21:40:02Z Josh_2 joined #lisp 2020-01-13T21:41:33Z narimiran quit (Ping timeout: 268 seconds) 2020-01-13T21:46:19Z slyrus_ joined #lisp 2020-01-13T21:48:26Z slyrus__ quit (Ping timeout: 240 seconds) 2020-01-13T21:50:49Z eddof13 joined #lisp 2020-01-13T21:51:58Z kajo joined #lisp 2020-01-13T21:55:09Z terpri quit (Quit: Leaving) 2020-01-13T21:59:04Z atgreen joined #lisp 2020-01-13T22:09:25Z milanj quit (Read error: Connection reset by peer) 2020-01-13T22:10:03Z milanj joined #lisp 2020-01-13T22:10:57Z william11 joined #lisp 2020-01-13T22:13:27Z Bike quit (Remote host closed the connection) 2020-01-13T22:14:02Z notzmv joined #lisp 2020-01-13T22:14:54Z Bike joined #lisp 2020-01-13T22:15:24Z Codaraxis joined #lisp 2020-01-13T22:18:07Z vivit quit (Ping timeout: 268 seconds) 2020-01-13T22:21:17Z random-nick quit (Ping timeout: 265 seconds) 2020-01-13T22:23:09Z igemnace quit (Quit: WeeChat 2.7) 2020-01-13T22:29:19Z Bike quit (Quit: Bike) 2020-01-13T22:32:25Z bitmapper joined #lisp 2020-01-13T22:37:45Z eddof13 quit (Quit: eddof13) 2020-01-13T22:37:59Z bitmapper quit (Remote host closed the connection) 2020-01-13T22:38:42Z eddof13 joined #lisp 2020-01-13T22:39:33Z bitmapper joined #lisp 2020-01-13T22:41:21Z william1_ joined #lisp 2020-01-13T22:46:15Z william1_ quit (Ping timeout: 258 seconds) 2020-01-13T22:46:18Z quazimodo quit (Ping timeout: 268 seconds) 2020-01-13T22:54:44Z smokeink joined #lisp 2020-01-13T22:58:50Z bitmapper quit (Ping timeout: 240 seconds) 2020-01-13T22:59:11Z vivit joined #lisp 2020-01-13T23:03:14Z LiamH quit (Quit: Leaving.) 2020-01-13T23:05:34Z papachan joined #lisp 2020-01-13T23:08:00Z stepnem joined #lisp 2020-01-13T23:08:06Z stepnem_ quit (Ping timeout: 258 seconds) 2020-01-13T23:10:04Z terpri joined #lisp 2020-01-13T23:10:24Z gnufr33d0m quit (Quit: gnufr33d0m) 2020-01-13T23:11:31Z varjag quit (Remote host closed the connection) 2020-01-13T23:11:52Z varjag joined #lisp 2020-01-13T23:12:03Z varjag quit (Remote host closed the connection) 2020-01-13T23:14:22Z decent-username quit (Ping timeout: 260 seconds) 2020-01-13T23:20:15Z asdf_asdf_asdf quit (Remote host closed the connection) 2020-01-13T23:21:29Z lucasb quit (Quit: Connection closed for inactivity) 2020-01-13T23:23:23Z earl-ducaine quit (Ping timeout: 260 seconds) 2020-01-13T23:24:42Z earl-ducaine joined #lisp 2020-01-13T23:25:19Z gnufr33d0m joined #lisp 2020-01-13T23:26:00Z mmm_v_mmm joined #lisp 2020-01-13T23:32:02Z william11 quit (Ping timeout: 240 seconds) 2020-01-13T23:32:27Z Bike joined #lisp 2020-01-13T23:38:39Z wxie joined #lisp 2020-01-13T23:39:39Z anewuser joined #lisp 2020-01-13T23:42:27Z mmm_v_mmm quit (Ping timeout: 260 seconds) 2020-01-13T23:43:56Z wxie quit (Ping timeout: 265 seconds) 2020-01-13T23:44:07Z wxie joined #lisp 2020-01-13T23:45:33Z quazimodo joined #lisp 2020-01-13T23:51:07Z wxie quit (Ping timeout: 260 seconds) 2020-01-13T23:51:31Z asdf_asdf_asdf joined #lisp 2020-01-13T23:53:12Z cg505 quit (Quit: ZNC 1.6.5+deb1+deb9u2 - http://znc.in) 2020-01-13T23:54:27Z clothespin quit (Remote host closed the connection) 2020-01-13T23:55:01Z cg505 joined #lisp 2020-01-14T00:00:36Z acolarh quit (Ping timeout: 252 seconds) 2020-01-14T00:11:04Z william1_ joined #lisp 2020-01-14T00:13:33Z acolarh joined #lisp 2020-01-14T00:16:12Z william1_ quit (Ping timeout: 260 seconds) 2020-01-14T00:25:33Z torbo joined #lisp 2020-01-14T00:25:55Z eddof13 quit (Ping timeout: 258 seconds) 2020-01-14T00:31:08Z EvW quit (Ping timeout: 245 seconds) 2020-01-14T00:31:29Z bitmapper joined #lisp 2020-01-14T00:32:53Z karlosz quit (Remote host closed the connection) 2020-01-14T00:34:50Z smazga quit (Ping timeout: 268 seconds) 2020-01-14T00:39:26Z Lycurgus joined #lisp 2020-01-14T00:41:58Z karlosz joined #lisp 2020-01-14T00:42:09Z karlosz quit (Remote host closed the connection) 2020-01-14T00:42:22Z karlosz joined #lisp 2020-01-14T00:46:48Z Nilby quit (Read error: Connection reset by peer) 2020-01-14T00:47:15Z asdf_asdf_asdf quit (Quit: asdf_asdf_asdf) 2020-01-14T00:57:25Z karlosz quit (Quit: karlosz) 2020-01-14T00:57:55Z Lycurgus quit (Remote host closed the connection) 2020-01-14T00:58:47Z karlosz joined #lisp 2020-01-14T00:58:52Z cg505 quit (Quit: ZNC 1.6.5+deb1+deb9u2 - http://znc.in) 2020-01-14T01:00:44Z cg505 joined #lisp 2020-01-14T01:01:15Z turona quit (Ping timeout: 246 seconds) 2020-01-14T01:01:47Z turona joined #lisp 2020-01-14T01:05:21Z stepnem quit (Quit: ZNC 1.7.2+deb3 - https://znc.in) 2020-01-14T01:06:48Z stepnem joined #lisp 2020-01-14T01:11:27Z krisfris1 quit (Quit: WeeChat 1.9.1) 2020-01-14T01:11:56Z krisfriss joined #lisp 2020-01-14T01:16:33Z froggey quit (Ping timeout: 260 seconds) 2020-01-14T01:17:08Z dilated_dinosaur quit (Ping timeout: 260 seconds) 2020-01-14T01:21:57Z dilated_dinosaur joined #lisp 2020-01-14T01:23:13Z Kundry_Wag joined #lisp 2020-01-14T01:23:58Z froggey joined #lisp 2020-01-14T01:24:20Z krisfris_ quit (Quit: leaving) 2020-01-14T01:28:40Z karlosz quit (Remote host closed the connection) 2020-01-14T01:31:48Z krisfris joined #lisp 2020-01-14T01:32:05Z anewuser quit (Quit: anewuser) 2020-01-14T01:36:56Z gnufr33d0m quit (Quit: gnufr33d0m) 2020-01-14T01:38:54Z karlosz joined #lisp 2020-01-14T01:43:11Z krisfriss quit (Quit: WeeChat 1.9.1) 2020-01-14T01:50:11Z Codaraxis quit (Quit: Leaving) 2020-01-14T01:54:23Z saravia joined #lisp 2020-01-14T01:56:02Z ebzzry quit (Ping timeout: 240 seconds) 2020-01-14T01:57:52Z raghavgururajan joined #lisp 2020-01-14T02:01:18Z Kundry_Wag quit (Remote host closed the connection) 2020-01-14T02:01:45Z asarch joined #lisp 2020-01-14T02:01:50Z Kundry_Wag joined #lisp 2020-01-14T02:01:58Z papachan quit (Quit: Leaving) 2020-01-14T02:02:16Z asarch: Is there any way to get the PNG file of the (com.informatimago.common-lisp.picture.cons-to-ascii:draw-list *values*)? 2020-01-14T02:04:13Z pjb: asarch: there is no PNG file, it's TEXT output!!! 2020-01-14T02:04:25Z pjb: People who paste text as png should be hung very short! 2020-01-14T02:04:35Z asarch: Yes I know, I just was wondering... 2020-01-14T02:04:53Z pjb: asarch: otherwise, there are ascii-art web services that will convert that into a svg and png… 2020-01-14T02:04:55Z asarch: Django (Python's web framework) has a tool to get the relationships in the model 2020-01-14T02:04:58Z bitmapper quit (Ping timeout: 260 seconds) 2020-01-14T02:06:43Z Kundry_Wag quit (Ping timeout: 268 seconds) 2020-01-14T02:06:59Z no-defun-allowed: pjb: Well yes, screenshotting text is annoying, but no need to hang people who do that. 2020-01-14T02:07:29Z asarch: Bingo!: "Graphviz generates graphs from your data.", from Land of Lisp 2020-01-14T02:08:01Z no-defun-allowed: It might not be what you want for a cons diagram. 2020-01-14T02:09:05Z asarch: D'oh! :-( 2020-01-14T02:09:29Z pjb: You can use ditaa too. 2020-01-14T02:10:31Z pjb: ditaa produces: https://imagebin.ca/v/58kJh135wLCC 2020-01-14T02:11:56Z william1_ joined #lisp 2020-01-14T02:13:32Z pjb: You can use: (progn (with-open-file (*standard-output* "/tmp/aa.txt" :direction :output :if-does-not-exist :create :if-exists :supersede) (com.informatimago.common-lisp.picture.cons-to-ascii:draw-list *values*)) (uiop:run-program "ditaa /tmp/aa.txt") (uiop:run-program "open /tmp/aa.png")) 2020-01-14T02:15:43Z saravia quit (Remote host closed the connection) 2020-01-14T02:17:09Z william1_ quit (Ping timeout: 265 seconds) 2020-01-14T02:20:26Z acolarh quit (Ping timeout: 240 seconds) 2020-01-14T02:22:28Z jebes quit (Quit: ZNC 1.7.5 - https://znc.in) 2020-01-14T02:25:11Z krisfris quit (Quit: WeeChat 1.4) 2020-01-14T02:25:31Z krisfris joined #lisp 2020-01-14T02:26:19Z krisfris quit (Client Quit) 2020-01-14T02:26:41Z krisfris joined #lisp 2020-01-14T02:27:16Z saravia joined #lisp 2020-01-14T02:31:48Z smazga joined #lisp 2020-01-14T02:33:05Z asarch: WOW!!! Ditaa is awesome! 2020-01-14T02:34:27Z acolarh joined #lisp 2020-01-14T02:34:41Z aeth: none of them look as good as the cons diagrams I've drawn myself 2020-01-14T02:34:54Z aeth: I guess it's time to NIH a cons diagram program :-p 2020-01-14T02:36:15Z smazga quit (Ping timeout: 258 seconds) 2020-01-14T02:40:23Z gnufr33d0m joined #lisp 2020-01-14T02:44:11Z kajo quit (Remote host closed the connection) 2020-01-14T02:44:31Z LdBeth: It seems to be the only comprehensive book on macro assemblers http://www.davidsalomon.name/assem.advertis/AssemAd.html 2020-01-14T02:48:14Z krisfriss joined #lisp 2020-01-14T02:48:17Z krisfriss quit (Client Quit) 2020-01-14T02:49:47Z krisfris quit (Remote host closed the connection) 2020-01-14T02:50:07Z krisfris joined #lisp 2020-01-14T02:51:20Z krisfris quit (Client Quit) 2020-01-14T02:51:58Z krisfris joined #lisp 2020-01-14T02:59:21Z anewuser joined #lisp 2020-01-14T02:59:25Z milanj quit (Quit: This computer has gone to sleep) 2020-01-14T03:03:38Z Khisanth quit (Ping timeout: 240 seconds) 2020-01-14T03:09:37Z EvW joined #lisp 2020-01-14T03:12:39Z Lord_of_Life_ joined #lisp 2020-01-14T03:13:13Z Lord_of_Life quit (Ping timeout: 260 seconds) 2020-01-14T03:14:00Z Lord_of_Life_ is now known as Lord_of_Life 2020-01-14T03:17:04Z Khisanth joined #lisp 2020-01-14T03:18:03Z ahungry joined #lisp 2020-01-14T03:22:24Z anewuser quit (Ping timeout: 265 seconds) 2020-01-14T03:32:01Z Bike quit (Quit: Lost terminal) 2020-01-14T03:38:06Z imherentlybad joined #lisp 2020-01-14T03:38:08Z slyrus joined #lisp 2020-01-14T03:40:41Z oni-on-ion quit (Remote host closed the connection) 2020-01-14T03:40:46Z slyrus_ quit (Ping timeout: 265 seconds) 2020-01-14T03:41:03Z oni-on-ion joined #lisp 2020-01-14T03:41:24Z EvW quit (Ping timeout: 248 seconds) 2020-01-14T03:43:32Z imherentlybad quit (Ping timeout: 268 seconds) 2020-01-14T04:01:52Z grabarz_ joined #lisp 2020-01-14T04:04:27Z grabarz quit (Ping timeout: 265 seconds) 2020-01-14T04:06:18Z atgreen quit (Remote host closed the connection) 2020-01-14T04:12:49Z william1_ joined #lisp 2020-01-14T04:18:02Z william1_ quit (Ping timeout: 240 seconds) 2020-01-14T04:19:01Z dddddd quit (Remote host closed the connection) 2020-01-14T04:22:10Z adam4567 joined #lisp 2020-01-14T04:30:01Z Qudit314159 joined #lisp 2020-01-14T04:31:40Z Qudit271828 joined #lisp 2020-01-14T04:31:53Z Qudit271828 quit (Read error: Connection reset by peer) 2020-01-14T04:32:08Z smazga joined #lisp 2020-01-14T04:32:13Z Qudit271828 joined #lisp 2020-01-14T04:33:17Z Qudit271828 quit (Client Quit) 2020-01-14T04:35:51Z Qudit314159 quit (Ping timeout: 258 seconds) 2020-01-14T04:36:38Z smazga quit (Ping timeout: 260 seconds) 2020-01-14T04:52:33Z jbayardo joined #lisp 2020-01-14T04:54:44Z gravicappa joined #lisp 2020-01-14T04:56:28Z quazimodo quit (Ping timeout: 260 seconds) 2020-01-14T04:56:46Z quazimodo joined #lisp 2020-01-14T05:01:24Z Josh_2 quit (Read error: Connection reset by peer) 2020-01-14T05:10:28Z narimiran joined #lisp 2020-01-14T05:13:28Z torbo quit (Remote host closed the connection) 2020-01-14T05:20:49Z ggole joined #lisp 2020-01-14T05:31:28Z karlosz quit (Quit: karlosz) 2020-01-14T05:31:41Z karlosz joined #lisp 2020-01-14T05:33:20Z cyraxjoe joined #lisp 2020-01-14T05:36:23Z MightyJoe quit (Ping timeout: 268 seconds) 2020-01-14T05:39:47Z jbayardo quit (Quit: Bye!) 2020-01-14T05:46:43Z rixard quit (Read error: Connection reset by peer) 2020-01-14T05:48:40Z asarch: Those old Lisp machines... what was the name of their file system? 2020-01-14T05:48:54Z asarch: Is it still available their file system? 2020-01-14T05:49:34Z asarch: (In fact, are those old Lisp operating systems still available?) 2020-01-14T05:50:43Z no-defun-allowed: I think there was a front-end processor file system which was probably for booting and a LMFS which was for user data. 2020-01-14T05:52:20Z no-defun-allowed: The MIT CADR stuff got released to http://www.unlambda.com/cadr/, and I guess the (relatively) newer Symbolics machine OS is still available if you can find a lispm or can spend $5,000 on the emulator. 2020-01-14T05:55:15Z White_Flame: symbolics emulator builds are well out in the open, on github, docker, etc 2020-01-14T05:55:47Z rixard joined #lisp 2020-01-14T05:56:14Z beach: Good morning everyone! 2020-01-14T05:56:46Z brown121408 joined #lisp 2020-01-14T05:58:02Z brown121407 quit (Ping timeout: 240 seconds) 2020-01-14T05:59:28Z HiRE: is there a reason someone would need a symbolics emulator? 2020-01-14T05:59:34Z remexre: hm, I think I might have a memory leak in my interfacing w/ an FFI lib on SBCL; is there an easy way of determining where it's coming from? 2020-01-14T05:59:44Z HiRE: call it naive but I figured they would've at least upgraded to something else. 2020-01-14T05:59:53Z remexre: (to clarify, I definitely have a memory leak; I'm only assuming it's from FFI) 2020-01-14T06:00:27Z beach: HiRE: Who would have upgraded what? 2020-01-14T06:00:28Z White_Flame: HiRE: the emulator was around way back, ever since x86 started getting faster than the lisp hardware 2020-01-14T06:00:30Z remexre: since (ROOM) shows dynamic space using of abt 1/10 of what htop shows as RSS 2020-01-14T06:00:44Z HiRE: beach, someone mentioned a $5000 symbolics emulator 2020-01-14T06:00:47Z White_Flame: (well, the emu is written on Alpha specifically) 2020-01-14T06:00:51Z HiRE: no-defun-allowed did 2020-01-14T06:01:09Z HiRE: White_Flame, I see so it was there to maintain compatibility with old hardware during the transition 2020-01-14T06:01:26Z White_Flame: well, they knew they had to change from a hardware company to something else 2020-01-14T06:01:39Z White_Flame: since their processors couldn't keep up with general processors 2020-01-14T06:01:42Z HiRE: my AI professor routinely talked about symbolics machines but I was surprised when it was mentioned someone might still be using one :P 2020-01-14T06:02:00Z White_Flame: oh, I'm sure they're used for novelty and to explore lost computing benefits 2020-01-14T06:02:06Z beach: HiRE: The environment is still unprecedented. 2020-01-14T06:02:10Z White_Flame: not necessarily for "real work" 2020-01-14T06:02:17Z HiRE: beach, how so? 2020-01-14T06:02:43Z saravia quit (Remote host closed the connection) 2020-01-14T06:03:08Z beach: HiRE: The way the tools are integrated can not be replicated on Unix-like systems because of the process model of those systems. 2020-01-14T06:03:33Z HiRE: oh that's interesting. I'm guessing you mean the native lisp interpreter behavior? 2020-01-14T06:03:36Z gnufr33d0m quit (Quit: gnufr33d0m) 2020-01-14T06:03:48Z beach: There is no interpreter. 2020-01-14T06:03:52Z HiRE: :o 2020-01-14T06:04:06Z beach: Or maybe there is, but generally speaking, things are compiled, just like with SBCL. 2020-01-14T06:04:49Z HiRE: oh wow peeking at the wiki 2020-01-14T06:04:53Z beach: HiRE: I mean, the process model of "modern" operating systems requires tools to turn everything into a sequence of bytes in order to communicate with others. 2020-01-14T06:04:55Z HiRE: symbolics did a load of good with their systems 2020-01-14T06:05:31Z HiRE: beach, that sort of confuses me. How did the symbolics machine differ? I figured it'd still need to translate lisp code down to CPU language 2020-01-14T06:05:38Z HiRE: or did it have a lisp CPU? 2020-01-14T06:05:51Z beach: It has specific instructions, but that is unimportant. 2020-01-14T06:06:11Z HiRE: > Symbolics' initial product, the LM-2, introduced in 1981, was a repackaged version of the MIT CADR Lisp machine design. The operating system and software development environment, over 500,000 lines, was written in Lisp from the microcode up, based on MIT's Lisp Machine Lisp. 2020-01-14T06:06:15Z no-defun-allowed: It's not really much of a CPU problem as much as it is an OS problem, but they did have CPUs that had instructions that mapped closer to Lisp functions. 2020-01-14T06:06:28Z beach: The important thing is that an application can just hand a pointer to another application. 2020-01-14T06:06:45Z asarch: Can you "emulate" a Lisp machine with nowadays Arduino/Raspberry/etc device? 2020-01-14T06:06:50Z HiRE: that seems incredibly efficient beach 2020-01-14T06:07:27Z beach: HiRE: You will find some arguments here: metamodular.com/closos.pdf 2020-01-14T06:07:30Z no-defun-allowed: The OS didn't have seperate memory spaces and had a global garbage collector (I don't think they were first to it, but the lispms had generational collection very early on), so it was possible to pass objects around very easily between threads and functions. 2020-01-14T06:07:30Z oxum quit (Remote host closed the connection) 2020-01-14T06:07:48Z oni-on-ion quit (Ping timeout: 245 seconds) 2020-01-14T06:08:34Z HiRE: oo im gonna have to dig into that 2020-01-14T06:08:37Z HiRE: a lisp operating system 2020-01-14T06:08:49Z no-defun-allowed: You could skim http://bitsavers.org/pdf/symbolics/software/genera_8/Genera_Concepts.pdf too. 2020-01-14T06:09:26Z beach: HiRE: There are already two such systems, Movitz and Mezzano, but what I am planning is a bit more sophisticated. 2020-01-14T06:09:41Z beach: Three if you count Genera of course. 2020-01-14T06:09:53Z HiRE: I'm only aware of mezzano which is honestly impressive. 2020-01-14T06:10:02Z HiRE: Very small ASM bootstrap (needed) and the rest is lisp 2020-01-14T06:10:15Z HiRE: asm* 2020-01-14T06:10:18Z gravicappa quit (Ping timeout: 268 seconds) 2020-01-14T06:10:29Z beach: There is no particular reason to write a Common Lisp system any other way. 2020-01-14T06:11:09Z HiRE: what impresses me most about mezzano is how fast it appears on the youtube videos 2020-01-14T06:11:22Z HiRE: propaganda against lisp would say otherwise. 2020-01-14T06:11:41Z HiRE: hopefully the project takes off. Novel operating systems are awesome. 2020-01-14T06:11:49Z beach: Common Lisp can be almost as fast as C. 2020-01-14T06:12:21Z HiRE: yep! I was impressed with SBCL's performance against gcc 2020-01-14T06:12:30Z HiRE: once the garbage collector is tuned right its quick. 2020-01-14T06:12:32Z beach: HiRE: Here is one problem: People see the interactive REPL. Then they think "interpreter", and then, of course "interpreter" implies "slow". 2020-01-14T06:12:49Z no-defun-allowed: A Lisp operating system could be faster than a Un*x system in several ways, too. 2020-01-14T06:12:52Z beach: HiRE: The problem is that "interactive" does not imply "interpreter". 2020-01-14T06:13:23Z HiRE: beach, yeah. A similar argument was made a few years back for haskell. Unfortunately the "REPL = Slow" argument is pervasive. 2020-01-14T06:13:31Z ahungry quit (Remote host closed the connection) 2020-01-14T06:13:33Z beach: HiRE: This implication is incorrectly assumed by ignorant people who do not know much about language implementation. 2020-01-14T06:13:37Z asarch: What is the native file system of Mezzano? 2020-01-14T06:14:12Z william1_ joined #lisp 2020-01-14T06:14:20Z HiRE: beach, right. Whats even more amazing is even talking to graduates in CS the belief is still pervasive. 2020-01-14T06:14:45Z beach: Indeed. Even CS professors. 2020-01-14T06:15:37Z HiRE: no-defun-allowed, how do you think a lisp operating system could be faster than *nix? I have no dog in the fight I'm just curious. 2020-01-14T06:16:33Z loke: HiRE: less memory access fault 2020-01-14T06:16:35Z loke: s 2020-01-14T06:16:57Z no-defun-allowed: Again, data sharing is faster as it's literally moving a pointer, with no serialisation or memory spaces to deal with. 2020-01-14T06:17:08Z beach: HiRE: No context switches. 2020-01-14T06:17:15Z sauvin joined #lisp 2020-01-14T06:18:06Z HiRE: wow what a mind bend. I'm going to have to dig more into this. 2020-01-14T06:18:14Z HiRE: I can't imagine an operating system without context switching 2020-01-14T06:18:18Z beach: That would be great! 2020-01-14T06:18:56Z orivej quit (Ping timeout: 268 seconds) 2020-01-14T06:19:13Z loke: HiRE: You could use an Atari ST right now. No context switcihing (yes, I know, it's a joke) 2020-01-14T06:19:17Z no-defun-allowed: A tracing garbage collector is typically much faster than "typical" manual memory management, so some programs which cons a lot can expect to run faster (but avoiding consing is sometimes a good optimisation strategy). 2020-01-14T06:19:27Z beach: HiRE: I keep saying this here, but that's because everyone is so convinced that we have to program as if we have access to the entire memory (including the stack) of a physical machine, just like we did 60 years ago. 2020-01-14T06:19:33Z william1_ quit (Ping timeout: 268 seconds) 2020-01-14T06:20:20Z HiRE: Does the concurrency model change for a lisp OS? 2020-01-14T06:20:34Z no-defun-allowed: Then when threads are involved, they can probably be made much more light-weight than in Un*x, so context switches would be much faster when they are necessary. 2020-01-14T06:20:41Z beach: HiRE: No processes. Just threads. 2020-01-14T06:20:48Z HiRE: oh interesting 2020-01-14T06:20:52Z White_Flame: genera still has multithreaded support, so it does context switching in that aspect, but doesn't change any global config like processes 2020-01-14T06:21:03Z White_Flame: *like unix processes 2020-01-14T06:21:51Z HiRE: page 2 of that pdf beach linked is going into this stuff 2020-01-14T06:21:52Z White_Flame: it's also effectively a single-user OS 2020-01-14T06:21:53Z HiRE: wow neat 2020-01-14T06:21:59Z White_Flame: and of course a single-address space OS 2020-01-14T06:22:21Z White_Flame: although other people can network in and get their own REPLs and desktop and such, it's all in the same flat image 2020-01-14T06:22:21Z grabarz_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-14T06:22:25Z HiRE: damn its too late to change my concentration to operating systems 2020-01-14T06:22:26Z HiRE: lol 2020-01-14T06:23:10Z HiRE: I guess because I never experienced a lisp machine I never thought of processes as anything different than a nix system 2020-01-14T06:23:18Z no-defun-allowed: And to clarify, not requiring context switches between different, well I'll call them "contexts" while I search the book to see if there is a better word, such as between file system and user code or a hardware interrupt handler and a server that uses that hardware, decreases latency too. 2020-01-14T06:24:06Z HiRE: it makes sense. I can see why you said a garbage collector can perform better than other memory management forms 2020-01-14T06:24:19Z HiRE: the model nix uses seems antiquated in hindsight. 2020-01-14T06:24:30Z beach: It was even when it was invented. 2020-01-14T06:24:35Z no-defun-allowed: That alone could make datacenter peoples' eyes roll into dollar signs as they do in cartoons. 2020-01-14T06:25:09Z beach: It was invented so that the Bell Labs people could use as large a subset as possible of Multics, but on a tiny machine. 2020-01-14T06:25:11Z White_Flame: the entire OS is basically made up of the same plain function calls as everything else 2020-01-14T06:25:43Z White_Flame: unix is great if your entire model of computing is expressable in individual, independent lines of plain 7-bit text 2020-01-14T06:25:57Z beach: Exactly! 2020-01-14T06:26:02Z HiRE: beach, right without an MMU they'd need to swap stuff in and out (which is what we learned in CS undergrad) 2020-01-14T06:26:03Z White_Flame: and your workload is in the same vein 2020-01-14T06:26:07Z no-defun-allowed: https://cacm.acm.org/magazines/2017/4/215032-attack-of-the-killer-microseconds is relevant to that; the authors have figured that fast storage devices won't play nicely with current designs. 2020-01-14T06:26:21Z HiRE: this is great. Keep sending me reading material 2020-01-14T06:26:34Z HiRE: I ordered a few lisp books off ebay yesterday 2020-01-14T06:26:35Z loke: Imagine getting something like core memory, but enough for all storage 2020-01-14T06:26:39Z HiRE: drinking the koolaid by the bowlful 2020-01-14T06:26:42Z loke: no difference between RAM and disk. 2020-01-14T06:27:12Z loke: All of a sudden, transactional memory bocemes a thing. 2020-01-14T06:27:15Z no-defun-allowed: To be honest, I would rather have lighter threads than "asynchronous" code, since the latter usually involves special language constructs, CPS-converting in the programmer's head or both. 2020-01-14T06:27:54Z loke: All kinds of threads need that, unless you're tlaking about "green" threads (i.e. cooperative) 2020-01-14T06:28:12Z loke: How else would you handle cache coherency? 2020-01-14T06:28:28Z loke: (sorry, not coopertive. I meant single-core) 2020-01-14T06:29:18Z no-defun-allowed probably shouldn't have mentioned it; any threading more complex than lparallel:pmap hurt her head. 2020-01-14T06:30:29Z HiRE: multiprocessing is a very interesting topic 2020-01-14T06:30:53Z HiRE: good first round interview gutcheck is to explain the difference between concurrency and parallelism 2020-01-14T06:31:37Z no-defun-allowed: Typically articles like that try to create solutions that would work in a Un*x environment, maybe because it is less drastic to do so. 2020-01-14T06:32:08Z oxum joined #lisp 2020-01-14T06:32:20Z smazga joined #lisp 2020-01-14T06:33:11Z no-defun-allowed: Oh dear....is concurrency when some tasks can run "simultaneously", splitting up resources over time, and parallelism when they can truly run at the same time? 2020-01-14T06:33:23Z White_Flame: concurrent = "at the same time" 2020-01-14T06:33:27Z HiRE: yeah 2020-01-14T06:33:37Z no-defun-allowed: Phew. 2020-01-14T06:33:54Z HiRE: parallelism is truly running at the same time 2020-01-14T06:34:37Z HiRE: fwiw I've never had such an interesting question in an interview :P 2020-01-14T06:35:55Z White_Flame: huh, yeah I guess the GC terms are a bit different when it comes to "concurrent" 2020-01-14T06:36:16Z White_Flame: as a GC thread can run while the rest of the program is 2020-01-14T06:36:59Z smazga quit (Ping timeout: 265 seconds) 2020-01-14T06:37:14Z dale quit (Quit: My computer has gone to sleep) 2020-01-14T06:37:39Z no-defun-allowed: Yeah, a GC is "concurrent" if it can run at the same time as the mutator, but "incremental" if it splits up time between itself and the mutator. 2020-01-14T06:38:29Z HiRE: Opinion here but GC is a dirty word just like interpreted. I wish more people would learn that good GCs exist and it's just most of them are bad 2020-01-14T06:38:30Z HiRE: lol 2020-01-14T06:40:49Z vivit quit (Ping timeout: 258 seconds) 2020-01-14T06:43:05Z vlatkoB joined #lisp 2020-01-14T06:48:09Z ck_: I mean how can they be safe if they don't even beep while reversing 2020-01-14T06:48:37Z White_Flame: now I'm trying and failing what GC would look like in reversible computing 2020-01-14T06:48:42Z White_Flame: *to see what 2020-01-14T06:49:09Z asarch: How would you implement low-level code in the REPL for the processor? Would it be available in an own package? (cpu:int :address 80 :data my-code)? 2020-01-14T06:49:50Z White_Flame: you would generally generate an array of bytes that represent the machine code, and fiddle internal flag bits to get it in the exeuction stream 2020-01-14T06:50:36Z White_Flame: lisp implementations have various degrees of intermediate representation, and cpu-specific back ends, like any other compiler 2020-01-14T06:50:45Z White_Flame: they just happen in process with all the runtime stuff, too 2020-01-14T06:52:04Z asarch: Is it available the code of any Lisp implementation written in Lisp? 2020-01-14T06:52:34Z White_Flame: which code? many of them are open source, and the DISASSEMBLE function will show you the compilation output 2020-01-14T06:52:52Z White_Flame: (be it bytecode, intermediate form, or raw assembly, varying by implementation) 2020-01-14T06:53:36Z White_Flame: in SLIME, with your implementation fully installed with source references, you can use M-. to jump into the implementation Lisp code just as easily as your own code 2020-01-14T06:54:25Z no-defun-allowed: https://www.memorymanagement.org/ is a good reference for GC jargon and design. 2020-01-14T06:55:16Z imherentlybad joined #lisp 2020-01-14T06:55:45Z no-defun-allowed: asarch: Yes, most Common Lisp implementations are written almost entirely in Lisp. 2020-01-14T06:56:24Z no-defun-allowed: https://github.com/sbcl/sbcl is (a mirror to) the SBCL source repository, and https://github.com/robert-strandh/SICL is the repository for SICL which might be easier to understand. 2020-01-14T07:00:05Z asarch: I was watching a video of the classic Street Fighter II video game and wondering if it was possible that they used Lisp (in some secret way) to develop the game 2020-01-14T07:00:19Z White_Flame: why? 2020-01-14T07:00:20Z william1_ joined #lisp 2020-01-14T07:00:51Z asarch: That game in its time was advanced (music, sprites, the speed when you pressed a button, etc) 2020-01-14T07:01:47Z White_Flame: most games back then were very low latency from input to display 2020-01-14T07:01:48Z no-defun-allowed: I wouldn't consider that an indicator of development tools. 2020-01-14T07:01:49Z Qudit314159 joined #lisp 2020-01-14T07:01:56Z asarch: The sequential order you have to send signals to the game through out the keyboard 2020-01-14T07:01:58Z White_Flame: (partially due to CRTs) 2020-01-14T07:02:55Z asarch: I mean, the development phase of the game, you know 2020-01-14T07:03:45Z asarch: When the programmers were entering all the required code so the game could run successfully 2020-01-14T07:03:46Z White_Flame: game development (and HPC) is typically very married to the specifics of the hardware, especially in that era 2020-01-14T07:03:59Z White_Flame: I guess a lot less so today 2020-01-14T07:04:05Z White_Flame: with all the multiplatformism 2020-01-14T07:04:08Z no-defun-allowed: There are lot of little tricks intricate knowledge of the hardware involved could give you. One simple example is that a programmer could provide more colours across the screen by counting the vertical lines drawn (which are generated sequentially) and changing palettes at specific counts. 2020-01-14T07:04:22Z White_Flame: so I wouldn't expect a very high level language, but rather a system of byte tokens driving states & animations 2020-01-14T07:04:42Z JohnMS_WORK joined #lisp 2020-01-14T07:06:09Z no-defun-allowed: Assembler macros are fairly popular, so I would expect some use of those to make assembler less annoying while knowing exactly what code is generated. 2020-01-14T07:06:41Z no-defun-allowed: Those aren't related to Lisp macros, which is a good reminder that we are here to talk about Lisp. 2020-01-14T07:07:03Z manualcrank quit (Quit: WeeChat 1.9.1) 2020-01-14T07:08:29Z asarch: And my next question about the game was, "can we nowadays with an Arduino/Raspberry/etc device emulate the conditions those programmers had and make a mini version of the game using Common Lisp instead of Assembly?" 2020-01-14T07:08:43Z asarch: That's why I asked about the file system 2020-01-14T07:09:34Z no-defun-allowed: A Raspberry Pi can already run many Common Lisp implementations (though, sadly, only Clozure and ECL seem to work on 32-bit with threads). 2020-01-14T07:10:01Z HiRE: I don't see a reason you couldn't. I mean wasn't autocad originally written in lisp? 2020-01-14T07:10:19Z asarch: Wow! Really? 2020-01-14T07:10:33Z HiRE: yeah, it still supports a small subset of lisp for programming the interface/building macros 2020-01-14T07:10:34Z no-defun-allowed: An Arduino is right out though, unless you can deal with an interpreter and a very small heap. 2020-01-14T07:10:44Z no-defun-allowed: AutoLISP is quite scary. 2020-01-14T07:10:45Z asarch: I read in the "The Unix Haters Handbook" book it was made with C 2020-01-14T07:10:45Z HiRE: (called AutoLISP iirc) 2020-01-14T07:11:20Z White_Flame: Common Lisp is a language with a large set of high level core features, and I would not expect it to run on stuff smaller than a rpi 2020-01-14T07:11:36Z asarch: Lisp was not available for MS-DOS, right? 2020-01-14T07:11:50Z HiRE: mulisp-90 2020-01-14T07:11:59Z White_Flame: I fiddled with a dos-based lisp at some point way back, but I don't know if it was a common lisp 2020-01-14T07:12:18Z no-defun-allowed: There was a CLtL1 implementation in DOS if memory serves me right. 2020-01-14T07:13:46Z asarch: Back old days when Borland C++ for MS-DOS was the major compiler, I used to start the graphic mode using its BGI device, draw a filled box, enabled the mouse pointer thought a DOS INT and tried to move this box around the screen, however, I never could repaint the area where the box was 2020-01-14T07:14:28Z asarch: I could never understand how a mask work (and I hope someday I could through McCLIM) 2020-01-14T07:15:15Z no-defun-allowed: Remember a real-mode machine only has access to 640KB memory, and a Raspberry Pi has more than 1GiB memory (unless you have a RPi 1). There are a few magnitudes of difference between them. 2020-01-14T07:15:41Z HiRE: wasnt real mode 64k 2020-01-14T07:16:04Z HiRE: 640k seems quite large 2020-01-14T07:16:35Z HiRE: its been so long since I've had to remember that I forgot 2020-01-14T07:16:37Z no-defun-allowed: It has 16 64kB segments, and from memory, 10 of those can be RAM. 2020-01-14T07:17:07Z HiRE: lol 2020-01-14T07:17:28Z White_Flame: uh, not really :) 2020-01-14T07:17:32Z HiRE: oh neat 2020-01-14T07:17:41Z HiRE: good to know 2020-01-14T07:18:09Z White_Flame: a segment was basically the high 16-bits of a 20-bit pointer (so shift the segment address left 4 bits to get the start of the segment), then the offsets are plain 16-bit byte pointers 2020-01-14T07:18:30Z no-defun-allowed: That's probably more correct. 2020-01-14T07:18:44Z milanj joined #lisp 2020-01-14T07:18:50Z White_Flame: so you could slide around 64KB windows in the 20-bit address space, at a granularity of 16 bytes 2020-01-14T07:19:28Z White_Flame: 20 bits = 1MB, but above 640KB was special reserved stuff 2020-01-14T07:21:38Z White_Flame: the 640KB thing seemed to be part of the IBM PC hardware design, not a limitation of the x86 chip itself 2020-01-14T07:21:43Z imherentlybad quit (Ping timeout: 260 seconds) 2020-01-14T07:25:09Z asarch: Is it the same for Arduino/etc? 2020-01-14T07:26:35Z no-defun-allowed: The Arduino has a split code/data model which would make native code generation impossible, ignoring the obvious memory constraints. 2020-01-14T07:29:04Z asarch: So, after all, it would be a great project, right? 2020-01-14T07:30:27Z no-defun-allowed: I would use the adjective "futile" for trying to run Common Lisp on such a small device. 2020-01-14T07:30:49Z p_l: no-defun-allowed: any lisp implementation that works on recent OpenBSD without modifying system would be good candidate for arduino :) 2020-01-14T07:31:17Z p_l: (recent OpenBSD attempts to force data/code split in software) 2020-01-14T07:31:17Z no-defun-allowed: μLisp could work though, and it is almost a subset of Common Lisp if you ignore the single function and value namespace: http://www.ulisp.com/ 2020-01-14T07:32:19Z dmiles quit (Ping timeout: 268 seconds) 2020-01-14T07:34:00Z asarch: SBCL works on OpenBSD 2020-01-14T07:38:43Z gxt quit (Ping timeout: 240 seconds) 2020-01-14T07:39:08Z ebzzry joined #lisp 2020-01-14T07:39:18Z p_l: asarch: without disabling enforced non-writeable executable pages? 2020-01-14T07:39:35Z asarch: D'oh! :'-( 2020-01-14T07:40:50Z another-user joined #lisp 2020-01-14T07:41:08Z asarch: Anyway. Thank you, thank you very much for all the info guys, thank you. Have a nice day! :-) 2020-01-14T07:41:14Z asarch quit (Quit: Leaving) 2020-01-14T07:41:31Z another-user: hi 2020-01-14T07:41:46Z scymtym quit (Ping timeout: 258 seconds) 2020-01-14T07:41:51Z flamebeard joined #lisp 2020-01-14T07:44:18Z reepca: Is there a way to conditionally indent within a line with the pretty-printer? I'm pretty-printing some unstructured code that alternates between instructions and labels. I need the labels to be on their own line at a certain lesser indentation, and the code to be on its own line (but with multiple instructions on the same line as much as possible). However, labels can come one after the other, so setting the indentation prior to 2020-01-14T07:44:18Z reepca: finishing one label doesn't work, since it's necessary to know whether the next line will have another label or instructions. 2020-01-14T07:45:16Z another-user: i tried to write bf2 CL benchmark for https://github.com/kostya/benchmarks but it's slower than Racket, how can i speed this up? https://dpaste.org/rsEY 2020-01-14T07:47:09Z another-user: they used unsafe-vector-* but otherwise the program looks sameish: https://github.com/kostya/benchmarks/blob/master/brainfuck2/bf.rkt 2020-01-14T07:48:01Z jprajzne joined #lisp 2020-01-14T07:48:12Z orivej joined #lisp 2020-01-14T07:48:19Z reepca: the way I have it currently it all looks okay until labels are adjacent to each other, at which point there are blank lines between them because I use ~& and an indented line isn't "fresh". But if I finish a label without the indentation, how do I indent that line? Indentation only occurs by the pretty-printer after newlines apparently. 2020-01-14T07:48:33Z White_Flame: start by declaring most of those functions as inline 2020-01-14T07:48:45Z no-defun-allowed: Have you tried to spot the slow parts using a profiler? 2020-01-14T07:48:49Z White_Flame: espeically the little 1-liners 2020-01-14T07:49:24Z White_Flame: your time is including the read, parse, & run 2020-01-14T07:49:35Z White_Flame: it might be that the parse is dominating or something 2020-01-14T07:49:47Z p_l: hmm, there were CL implementations that worked within 640kB MS-DOS 2020-01-14T07:49:57Z White_Flame: oh, and you're using adjustable & fill-pointer, that makes all of your arefs expensive 2020-01-14T07:50:25Z no-defun-allowed: You could change the representation to use structures, which might be faster than accessing a list. 2020-01-14T07:51:27Z White_Flame: p_l: yeah, wouldn't surprise me. But I also wouldn't expect a modern compiler 2020-01-14T07:51:44Z p_l: depends how we define "modern compiler" 2020-01-14T07:52:03Z p_l: some methods used now wouldn't work well, because they are big memory users 2020-01-14T07:52:10Z White_Flame: right 2020-01-14T07:52:18Z White_Flame: as well as raw compilation speed 2020-01-14T07:52:26Z p_l: but that doesn't make a compiler designed for low memory system "old" 2020-01-14T07:52:26Z reepca: perhaps the ~T directive would work? 2020-01-14T07:52:40Z shifty joined #lisp 2020-01-14T07:53:07Z rumbler31 joined #lisp 2020-01-14T07:53:36Z reepca: is there a way to get the "current indent level", if that makes sense? 2020-01-14T07:54:31Z rumbler3_ quit (Ping timeout: 268 seconds) 2020-01-14T07:55:25Z no-defun-allowed: another-user: Are you required to simulate an infinite tape? 2020-01-14T07:56:03Z smokeink: reepca: you can check out the "out" macro in ytools, it has some functionality related to indenting if I remember well 2020-01-14T07:56:55Z heisig joined #lisp 2020-01-14T07:57:08Z jackdaniel: cl:format - introductory course to APL :-) 2020-01-14T07:57:12Z no-defun-allowed: Using a fixed tape of 4,096 fixnums drops the execution time to about 6.5 seconds from 15. 2020-01-14T07:57:15Z p_l: BTW, regarding CL on microcontrollers, remember that writing compilers is a classic Lisp technique ;) 2020-01-14T07:58:00Z no-defun-allowed: You could probably drop the "interpreting" overhead entirely by converting the Brainfuck program to a Lisp program and passing it to COMPILE. 2020-01-14T07:58:54Z White_Flame: that's basically what I do in my ivory emulator 2020-01-14T07:59:04Z decent-username joined #lisp 2020-01-14T07:59:19Z aeth: no-defun-allowed: yes, that's what I do with my Brainfuck... I just compile it down to a lisp program that's like (incf (aref a *position*) 1) etc. 2020-01-14T07:59:36Z no-defun-allowed: In a chip8 interpreter I wrote long ago, naive compilation gave me at least a 10x speedup over interpretation. 2020-01-14T07:59:43Z aeth: no-defun-allowed: idk how far I go, there are basically a ton of optimizations you can do to produce better output. e.g. instead of incf'ing one at a time, you can see how many +++s there are and incf by that amount 2020-01-14T08:00:29Z no-defun-allowed: Inlining as White_Flame suggested first drops it again to 4.3 seconds. 2020-01-14T08:02:33Z another-user: White_Flame, no-defun-allowed: thank you for tips! algo must be similar between implementations - other impls use infinite tape 2020-01-14T08:03:08Z no-defun-allowed will test compiling next. She really likes making compilers for some reason. 2020-01-14T08:03:30Z aeth: another-user: I think generally, the tape that's used in Brainfuck is wrapping tape rather than truly infinite. So some large circular buffer as an array. 2020-01-14T08:03:46Z william1_ quit (Ping timeout: 268 seconds) 2020-01-14T08:03:56Z frgo joined #lisp 2020-01-14T08:04:47Z White_Flame: if you manually manage the tape growth, instead of using vector-push-extend, then your arefs will be simple inline accessors 2020-01-14T08:04:55Z White_Flame: base + offset 2020-01-14T08:06:09Z aeth: Yes, but if you have a fixed length tape and you compile the Brainfuck as a function, then there are no length checks at all because the tape doesn't grow. Even if it can change from program to program, the AREF specific to that program will know the length (assuming it's all in one function or there are declarations) 2020-01-14T08:06:56Z grabarz joined #lisp 2020-01-14T08:09:17Z adam4567 quit (Ping timeout: 260 seconds) 2020-01-14T08:10:54Z lemoinem quit (Ping timeout: 258 seconds) 2020-01-14T08:11:02Z lemoinem joined #lisp 2020-01-14T08:12:20Z no-defun-allowed: another-user: A compiler takes it to 1.8 seconds. Howzat? 2020-01-14T08:13:28Z another-user: no-defun-allowed: wow, that's really cool! 2020-01-14T08:14:09Z no-defun-allowed: I would also read the code directly from the stream, a la the Lisp reader. 2020-01-14T08:14:32Z another-user: no-defun-allowed: i tried https://dpaste.org/tTEB but it didn't win much time(~1s) 2020-01-14T08:15:27Z no-defun-allowed: I'll show you my code after I write that kind of reader. The other two big wins are inlining everything and using a simple-array to get AREF really fast. 2020-01-14T08:15:44Z another-user: no-defun-allowed: awesome, thank you! 2020-01-14T08:16:49Z scymtym joined #lisp 2020-01-14T08:18:34Z orivej quit (Ping timeout: 258 seconds) 2020-01-14T08:18:49Z no-defun-allowed: https://plaster.tymoon.eu/view/1642#1642 2020-01-14T08:20:14Z no-defun-allowed: You can add the unsafe declaration to the generated code in compile-bf-program, which takes it to 1.35 seconds, but admittedly I don't think it's usually worth doing so in real programs. 2020-01-14T08:22:10Z gravicappa joined #lisp 2020-01-14T08:22:52Z another-user: no-defun-allowed: thank you! 2020-01-14T08:23:09Z another-user: it looks great 2020-01-14T08:23:45Z no-defun-allowed: Surprisingly, it's shorter than the interpreter. 2020-01-14T08:24:07Z another-user: yeah :) 2020-01-14T08:26:07Z no-defun-allowed: Is there such a thing as a regular expression that operates on lists, and is there an implementation of that? 2020-01-14T08:27:31Z aeth: no-defun-allowed: what do you want to do? 2020-01-14T08:27:56Z jackdaniel: no-defun-allowed: somethink like optima? 2020-01-14T08:27:59Z jackdaniel: something* 2020-01-14T08:28:04Z jackdaniel hurries to get his coffee 2020-01-14T08:28:38Z no-defun-allowed: aeth: I would want to merge all the tape-inc instructions together, preferably by writing a rule like (:many (tape-inc ?x)) => `(tape-inc ,(reduce #'+ ?x)) 2020-01-14T08:29:03Z no-defun-allowed: That might be too much wishful thinking, and I could probably write it somehow without it. 2020-01-14T08:29:50Z william1_ joined #lisp 2020-01-14T08:30:03Z aeth: no-defun-allowed: well, you could also do actual regular expressions and instead of parsing #\+ as (tape-inc whatever) you'd parse "++++" as (tape-inc whatever 4) 2020-01-14T08:30:23Z no-defun-allowed: True. 2020-01-14T08:31:03Z aeth: obviously, there can be infinite +'s so regexes won't be sufficient 2020-01-14T08:31:06Z rwcom8 joined #lisp 2020-01-14T08:31:22Z aeth: you'd still reduce the problem to a rare case of e.g. sets of 10's 2020-01-14T08:31:47Z beach: no-defun-allowed: Check out the works by Jim Newton. That's exactly what they are doing. 2020-01-14T08:32:34Z no-defun-allowed: I suppose I will. 2020-01-14T08:32:36Z smazga joined #lisp 2020-01-14T08:32:45Z rwcom quit (Ping timeout: 268 seconds) 2020-01-14T08:32:45Z rwcom8 is now known as rwcom 2020-01-14T08:33:59Z no-defun-allowed: aeth: I modified the reader to merge multiple + characters together into one operation, and that takes the execution time to 0.8 seconds. 2020-01-14T08:35:07Z smokeink: in sbcl loading a .lisp file that has (declaim (optimize (safety 3) (debug 3) (speed 0) (space 0))) , should actually change the policy? when I do (describe-compiler-policy), it's not changed 2020-01-14T08:35:35Z beach: smokeink: No, DECLAIM is per file. 2020-01-14T08:35:45Z smokeink: if I run sbcl with (declaim (optimize (safety 3) (debug 3) (speed 0) (space 0))) in sbclrc , it works, the policy is changed 2020-01-14T08:36:04Z beach: Yes, when you do it at the REPL, it changes globally. 2020-01-14T08:36:25Z beach: If you want it to change when you load the file, use PROCLAIM instead. 2020-01-14T08:36:49Z no-defun-allowed: So, another-user, using a compiler such as that one creates code that runs 30x faster than the C++ interpreter in that repository. 2020-01-14T08:37:13Z jackdaniel: beach: to be precise, declaim is guaranteed to take effect for a file at compile time in which it is a top-level form, it is not specified whether effect lingers after the file is compiled 2020-01-14T08:37:15Z smazga quit (Ping timeout: 268 seconds) 2020-01-14T08:37:41Z White_Flame: no-defun-allowed: and the execution time includes the compilation time? 2020-01-14T08:37:44Z beach: jackdaniel: I see. Let me go read the Common Lisp HyperSpec. 2020-01-14T08:38:17Z aeth: no-defun-allowed: There are some other idioms you can detect other than just a bunch of +s and -s in a row. The more you can detect, the better it will run. I mean, for someone who tries to "structure" Brainfuck rather than code golf. 2020-01-14T08:38:17Z White_Flame: ah, I see it does include it 2020-01-14T08:38:17Z varjag joined #lisp 2020-01-14T08:38:24Z jackdaniel: (that said, our statement is true at least for ECL!) 2020-01-14T08:38:27Z jackdaniel: your* 2020-01-14T08:38:36Z no-defun-allowed: White_Flame: Yes. 2020-01-14T08:38:39Z smokeink: I thought declaim is a macro equivalent to proclaim 2020-01-14T08:38:53Z smokeink: is that wrong? http://www.lispworks.com/documentation/lw50/LWUG/html/lwuser-90.htm 2020-01-14T08:39:15Z another-user: no-defun-allowed: that's really impressive! 2020-01-14T08:39:29Z jackdaniel: smokeink: you've linked LispWorks documentation 2020-01-14T08:39:31Z White_Flame: declaiming non-optimization stuff liek types does stick past the file context, iirc 2020-01-14T08:39:33Z jackdaniel: that is how *they* implement it 2020-01-14T08:39:41Z jackdaniel: and it is not non-conforming 2020-01-14T08:40:13Z smokeink: well, that certainly confuses people who search on google 2020-01-14T08:40:30Z jackdaniel: White_Flame: it *may* stick, it doesn't necessarily stick (you can't portably rely on that) - use proclaim in eval-when to assure that they stick 2020-01-14T08:41:36Z beach: White_Flame: The standard allows for the startup environment and the compilation environment to be separate. 2020-01-14T08:42:00Z beach: White_Flame: They typically aren't though, for historical reasons. 2020-01-14T08:42:30Z beach: White_Flame: The are (or will be) in SICL though. 2020-01-14T08:43:24Z beach: clhs 3.2.1 2020-01-14T08:43:24Z specbot: Compiler Terminology: http://www.lispworks.com/reference/HyperSpec/Body/03_ba.htm 2020-01-14T08:43:46Z smokeink: (eval-when (:compile-toplevel :execute :load-toplevel) 2020-01-14T08:43:46Z smokeink: (proclaim '(optimize (safety 3) (debug 3) (speed 0) (space 0)))) 2020-01-14T08:43:53Z smokeink: I'm loading this, in sbcl, it has no effect 2020-01-14T08:44:03Z smokeink: loading the file containing that eval-when 2020-01-14T08:44:05Z no-defun-allowed: Folding the other characters like that yields only a .02 second improvement, but hopefully that is more than what was expected for the benchmark. 2020-01-14T08:44:56Z smokeink: (describe-compiler-policy) still shows other numbers 2020-01-14T08:44:59Z beach: smokeink: So? 2020-01-14T08:45:08Z no-defun-allowed: The readme does say "It interepter all bf instructions, one by one, without any squash or other hacks", but it's not *my* fault those other languages can't let you use the compiler at runtime. 2020-01-14T08:46:35Z beach: smokeink: It seems that in SBCL, this particular aspect is separate in the run-time environment and the compilation environment. 2020-01-14T08:46:50Z smokeink: beach: if I do sbcl --no-userinit --no-sysinit --load ~/.sbclrc (.sbclrc contains that eval-when) it has no effect. but if i just do sbcl , it has effect 2020-01-14T08:47:08Z jonatack quit (Ping timeout: 252 seconds) 2020-01-14T08:48:06Z beach: smokeink: I see. 2020-01-14T08:48:07Z smokeink: I need it to have effect when I use --load , because I do some stuff before loading it 2020-01-14T08:48:50Z smokeink: I do this --eval '(require :sb-aclrepl)' , before --load 2020-01-14T08:49:08Z smokeink: and in .sbclrc I have some configuration for :sb-aclrepl (which is really useful) 2020-01-14T08:53:18Z quazimodo quit (Ping timeout: 260 seconds) 2020-01-14T08:55:23Z Qudit314159 quit (Quit: Quit) 2020-01-14T09:05:03Z quazimodo joined #lisp 2020-01-14T09:06:24Z hhdave joined #lisp 2020-01-14T09:08:59Z smokeink: SBCL 2.0.0.73-7d05b4c https://paste.ofcode.org/uc2PrgJASAaWgkS5FsUBGA during macroexpansion of (SB-PCL::%DEFMETHOD-EXPANDER INSPECT-OBJECT-USING-STATE ...)) failed AVER: (= SB-C::COMPONENT-TLF-NUM SB-C::TLF-NUM) This is probably a bug in SBCL itself. 2020-01-14T09:09:33Z smokeink: beach: which sbcl version are you using? 2020-01-14T09:10:18Z phoe: smokeink: throw the failed AVER at #sbcl 2020-01-14T09:10:22Z quazimodo quit (Ping timeout: 268 seconds) 2020-01-14T09:10:25Z smokeink: throwed it 2020-01-14T09:10:30Z smokeink: threw it * 2020-01-14T09:11:29Z beach: smokeink: I may have the same "problem" as you do. 2020-01-14T09:12:02Z smokeink: ok; 2020-01-14T09:12:13Z smokeink: fine then; let's fix sbcl 2020-01-14T09:13:33Z beach: I think it is conforming behavior. So "fix" may not be the right way to express it. 2020-01-14T09:14:16Z smokeink: ok, how about the second issue 2020-01-14T09:14:30Z smokeink: can you run that code ? 2020-01-14T09:14:34Z jackdaniel: smokeink: did you try to load the dependencies and compile the file after that without the quickload forms? 2020-01-14T09:14:58Z smokeink: no, let me try 2020-01-14T09:15:18Z jackdaniel: I can imagine that first macros are expanded with old definitions, then quickload is executed and some internal references become bonkers 2020-01-14T09:15:33Z jackdaniel: so further execution fails miserably 2020-01-14T09:15:57Z jackdaniel: I suppose bonkers is not very strict technical term :) 2020-01-14T09:17:15Z smokeink: just quickloadining clouseau triggers that bug 2020-01-14T09:17:47Z smokeink: I'll delete the cache, and try again 2020-01-14T09:17:55Z davepdotorg joined #lisp 2020-01-14T09:21:31Z edgar-rft: bonkers should be added to the CLHS glossary 2020-01-14T09:25:02Z smokeink: jackdaniel: quickloading first, works, but the generic methods don't get called, the mean and standard deviation doesn't show up in clouseau 2020-01-14T09:25:11Z smokeink: *don't show up 2020-01-14T09:25:35Z ralt joined #lisp 2020-01-14T09:25:43Z jonatack joined #lisp 2020-01-14T09:25:52Z smokeink: I just wanna play a little with clouseau, what's a sbcl version that works well with it ? 2020-01-14T09:26:37Z smokeink: a version that can run the above snippet and shows the standard deviation and mean, would be enough for me today 2020-01-14T09:33:01Z jackdaniel: scymtym may have some ideas as he is the author of clouseau 2020-01-14T09:36:40Z scymtym: i believe this is an SBCL bug but i haven't been able to reproduce it so far 2020-01-14T09:37:56Z oxum quit (Read error: Connection reset by peer) 2020-01-14T09:38:10Z oxum joined #lisp 2020-01-14T09:40:33Z oxum quit (Remote host closed the connection) 2020-01-14T09:42:51Z smokeink: yes , I believe so too 2020-01-14T09:43:12Z smokeink: scymtym have you tried the latest mcclim from github? 2020-01-14T09:43:26Z smokeink: the quicklisp one is older. try with the newest mcclim and the newest sbcl 2020-01-14T09:45:01Z ralt: how can I look at the description of a quicklisp package without downloading it? 2020-01-14T09:45:12Z smokeink: \ 2020-01-14T09:45:12Z smokeink: \ 2020-01-14T09:45:14Z scymtym: smokeink: i didn't change those methods recently and i also load Clouseau from McCLIM master daily. i think this is about SBCL, not Clouseau 2020-01-14T09:45:19Z imherentlybad joined #lisp 2020-01-14T09:45:34Z smokeink: scymtym: it certainly is about sbcl 2020-01-14T09:45:40Z ralt: (ql:system-apropos "...") will list the relevant packages, but no way that I can see to check the descriptions. 2020-01-14T09:46:10Z jackdaniel: ralt: I don't think that quicklisp stores that information 2020-01-14T09:46:21Z imherentlybad: is there a away to add a directory where quicklisp scans for projects, much like quicklisp/local-projects/ ? 2020-01-14T09:46:23Z ralt: ok :( 2020-01-14T09:46:29Z smokeink: https://stackoverflow.com/questions/38684906/how-to-get-package-documentation-in-quicklisp 2020-01-14T09:46:32Z jackdaniel: you need to download the asd file in order to see the description option 2020-01-14T09:46:37Z ralt: google it is then... 2020-01-14T09:47:14Z ralt: anyway, looks like there's no good git library 2020-01-14T09:47:29Z jackdaniel: smokeink: proposed solution in this so thread involves downloading the system 2020-01-14T09:47:48Z ralt: thanks 2020-01-14T09:48:09Z imherentlybad quit (Changing host) 2020-01-14T09:48:09Z imherentlybad joined #lisp 2020-01-14T09:50:37Z Shinmera: imherentlybad: ql:*local-project-directories* 2020-01-14T09:51:00Z imherentlybad: I assume I have to add that to my .sbclrc? 2020-01-14T09:51:22Z Shinmera: that's one way. 2020-01-14T09:52:40Z tiwEllien joined #lisp 2020-01-14T10:02:35Z imherentlybad: would I add to that list with cons or...? 2020-01-14T10:03:11Z Shinmera: clhs push 2020-01-14T10:03:11Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/m_push.htm 2020-01-14T10:03:11Z smokeink: push 2020-01-14T10:05:04Z imherentlybad: thanks! 2020-01-14T10:05:05Z imherentlybad quit (Quit: WeeChat 2.6) 2020-01-14T10:06:46Z ralt: https://www.irccloud.com/pastebin/Vh7oVYVN/ 2020-01-14T10:23:52Z smokeink quit (Remote host closed the connection) 2020-01-14T10:25:30Z oxum joined #lisp 2020-01-14T10:25:33Z smokeink joined #lisp 2020-01-14T10:25:35Z smokeink quit (Remote host closed the connection) 2020-01-14T10:29:29Z Nilby joined #lisp 2020-01-14T10:32:55Z smazga joined #lisp 2020-01-14T10:33:22Z tumdum quit (Ping timeout: 260 seconds) 2020-01-14T10:35:04Z amerlyq joined #lisp 2020-01-14T10:35:47Z flip214: what's the short form for (APPLY #'fn1 (M-V-L (fn2)))? Isn't there some MULTIPLE-VALUE- 2020-01-14T10:36:03Z flip214: thing that passes multiple return values as multiple arguments? 2020-01-14T10:36:45Z reepca: flip214: multiple-value-call? 2020-01-14T10:37:53Z smazga quit (Ping timeout: 265 seconds) 2020-01-14T10:39:46Z reepca: (multiple-value-call #'fn1 (fn2)) 2020-01-14T10:45:00Z m00natic joined #lisp 2020-01-14T10:46:18Z tumdum joined #lisp 2020-01-14T10:46:18Z tumdum quit (Changing host) 2020-01-14T10:46:18Z tumdum joined #lisp 2020-01-14T10:48:50Z dmiles joined #lisp 2020-01-14T10:49:46Z flip214: reepca: ah, thanks, misread the description. 2020-01-14T10:55:40Z oxum quit (Remote host closed the connection) 2020-01-14T10:56:39Z rtra joined #lisp 2020-01-14T11:03:25Z seok joined #lisp 2020-01-14T11:04:50Z jonatack quit (Ping timeout: 240 seconds) 2020-01-14T11:06:52Z jonatack joined #lisp 2020-01-14T11:12:00Z another-user quit (Quit: WeeChat 2.7) 2020-01-14T11:12:02Z brown121408 quit (Read error: Connection reset by peer) 2020-01-14T11:12:04Z brown121407 joined #lisp 2020-01-14T11:14:29Z oxum joined #lisp 2020-01-14T11:15:25Z dddddd joined #lisp 2020-01-14T11:25:21Z rtra quit (Quit: WeeChat 2.3) 2020-01-14T11:26:02Z rtra joined #lisp 2020-01-14T11:32:16Z ebrasca joined #lisp 2020-01-14T11:33:27Z shangul joined #lisp 2020-01-14T11:35:49Z HiRE quit (Quit: Later) 2020-01-14T11:35:54Z rtra quit (Ping timeout: 268 seconds) 2020-01-14T11:36:08Z HiRE joined #lisp 2020-01-14T11:37:34Z oxum quit (Read error: Connection reset by peer) 2020-01-14T11:37:50Z oxum joined #lisp 2020-01-14T11:39:02Z raghavgururajan quit (Remote host closed the connection) 2020-01-14T11:41:19Z oxum_ joined #lisp 2020-01-14T11:42:14Z orivej joined #lisp 2020-01-14T11:43:38Z oxum quit (Ping timeout: 260 seconds) 2020-01-14T11:44:43Z oxum joined #lisp 2020-01-14T11:46:21Z jayspeer joined #lisp 2020-01-14T11:47:12Z rtra joined #lisp 2020-01-14T11:47:46Z oxum_ quit (Ping timeout: 265 seconds) 2020-01-14T11:51:27Z mingus joined #lisp 2020-01-14T11:56:23Z cartwright quit (Ping timeout: 240 seconds) 2020-01-14T11:59:20Z shangul quit (Ping timeout: 268 seconds) 2020-01-14T11:59:24Z cartwright joined #lisp 2020-01-14T12:04:48Z william11 joined #lisp 2020-01-14T12:12:17Z milanj quit (Quit: This computer has gone to sleep) 2020-01-14T12:14:08Z rtra quit (Ping timeout: 268 seconds) 2020-01-14T12:21:59Z Necktwi quit (Ping timeout: 258 seconds) 2020-01-14T12:27:06Z montaropdf joined #lisp 2020-01-14T12:28:05Z brown121407 quit (Ping timeout: 265 seconds) 2020-01-14T12:29:23Z pjb: minion: memo for asarch: genera and instructions can be found at: https://cliki.net/VLM_on_Linux 2020-01-14T12:29:24Z minion: Remembered. I'll tell asarch when he/she/it next speaks. 2020-01-14T12:32:02Z notzmv quit (Ping timeout: 240 seconds) 2020-01-14T12:32:29Z smazga joined #lisp 2020-01-14T12:33:47Z seok quit (Remote host closed the connection) 2020-01-14T12:36:11Z oxum quit (Remote host closed the connection) 2020-01-14T12:36:55Z brown121407 joined #lisp 2020-01-14T12:37:08Z smazga quit (Ping timeout: 268 seconds) 2020-01-14T12:40:20Z oxum joined #lisp 2020-01-14T12:40:20Z oxum quit (Remote host closed the connection) 2020-01-14T12:40:35Z oxum joined #lisp 2020-01-14T12:40:46Z ebrasca quit (Ping timeout: 258 seconds) 2020-01-14T12:43:04Z william11 quit (Ping timeout: 265 seconds) 2020-01-14T12:43:33Z milanj joined #lisp 2020-01-14T12:46:09Z Cymew quit (Remote host closed the connection) 2020-01-14T12:47:33Z ebrasca joined #lisp 2020-01-14T12:48:57Z Cymew joined #lisp 2020-01-14T12:52:13Z Kundry_Wag joined #lisp 2020-01-14T12:55:45Z Kundry_Wag quit (Remote host closed the connection) 2020-01-14T12:56:12Z oxum quit (Remote host closed the connection) 2020-01-14T12:56:52Z oxum joined #lisp 2020-01-14T12:59:45Z oxum quit (Remote host closed the connection) 2020-01-14T13:01:58Z decent-username quit (Ping timeout: 252 seconds) 2020-01-14T13:05:45Z oxum joined #lisp 2020-01-14T13:09:53Z rwcom8 joined #lisp 2020-01-14T13:11:35Z DGASAU quit (Remote host closed the connection) 2020-01-14T13:12:06Z rwcom quit (Ping timeout: 268 seconds) 2020-01-14T13:12:06Z rwcom8 is now known as rwcom 2020-01-14T13:12:44Z papachan joined #lisp 2020-01-14T13:17:48Z nickerpro joined #lisp 2020-01-14T13:18:16Z lieven: minion: memo for asarch: for recent X versions, you need to patch genera. See https://archives.loomcom.com/genera/genera-install.html#org783aa06 2020-01-14T13:18:16Z minion: Remembered. I'll tell asarch when he/she/it next speaks. 2020-01-14T13:19:01Z chimneys joined #lisp 2020-01-14T13:20:48Z chimneys: hey 2020-01-14T13:20:49Z chimneys: I have to know how lisp is more powerful, say if I write a program to open 1000 emails in python it works, so programs can do things that cannot be done manually , similarly give an example in which lisp can generate programs 1000's of them which simply can't be done using python manual programming. 2020-01-14T13:21:15Z lucasb joined #lisp 2020-01-14T13:22:03Z Shinmera: no 2020-01-14T13:22:35Z _jrjsmrtn joined #lisp 2020-01-14T13:22:44Z lieven: python is turing complete and so can trivially do anything Common Lisp can, if necessary by implementing Common Lisp in python. See Greenspun's rule and the blub paradox. 2020-01-14T13:24:26Z chimneys: no lisp can do something more much easily hence metaprogramming 2020-01-14T13:25:07Z __jrjsmrtn__ quit (Ping timeout: 265 seconds) 2020-01-14T13:26:28Z DGASAU joined #lisp 2020-01-14T13:27:27Z ralt: python can't trigger an infinite loop in compilation phase 2020-01-14T13:28:16Z beach: chimneys: As lieven says, Common Lisp is no more powerful than any other Turing-complete language, so there is nothing that can be done in Common Lisp that can't also be done in any other Turing complete language. It might be more convenient to do certain things in Common Lisp than in (say) Python, but those things can still be done in other languages. 2020-01-14T13:28:55Z beach: ralt: Shocking! 2020-01-14T13:29:34Z ralt: Ten Things You'll Never Do In Python! 2020-01-14T13:29:46Z ralt: #1: smooth backwards compatible upgrade 2020-01-14T13:30:06Z chimneys: then why learn lisp 2020-01-14T13:30:27Z beach: chimneys: You must have missed the "convenient" part of my answer. 2020-01-14T13:31:15Z beach: chimneys: If you think that the language doesn't influence your productivity, you should probably not waste your time learning Common Lisp. 2020-01-14T13:31:17Z chimneys: for example you could say I can make million email-ids using mouse and keyboard, yes but it will take forever. so is there any metaprogram that generates programs that can't be generated but manually one by one 2020-01-14T13:31:24Z oxum quit (Ping timeout: 268 seconds) 2020-01-14T13:31:31Z chimneys: so it takes forever, it's turing complete but impossibel to implement 2020-01-14T13:31:49Z Shinmera: I feel like this discussion is also a waste of time 2020-01-14T13:31:59Z beach agrees with Shinmera. 2020-01-14T13:32:09Z beach: chimneys: It sounds like you need to read up a bit. 2020-01-14T13:32:11Z lieven: ralt: python function annotations can run arbitrary code at function definition time so close enough I guess 2020-01-14T13:32:16Z chimneys: Shinmera: you never participated 2020-01-14T13:32:33Z Shinmera: It's still a waste of time 2020-01-14T13:32:41Z Shinmera: for everyone reading it included 2020-01-14T13:32:59Z chimneys: come on dude 2020-01-14T13:33:04Z beach: chimneys: Shinmera is (rightly so) concerned about other #lisp participants wasting valuable time from their respective projects. 2020-01-14T13:37:07Z terpri quit (Ping timeout: 260 seconds) 2020-01-14T13:38:15Z jayspeer: heh, and you guys wonder why so few people use lisp :D get that stick out of your a** 2020-01-14T13:39:40Z kslt1 joined #lisp 2020-01-14T13:40:54Z nickerpro: i came to lisp because i thought i could do cool thing in it, they say ti's turing complete like python so nothing special 2020-01-14T13:41:00Z beach: I think I have a fairly good idea as to why relatively few people use Common Lisp. And it is nothing that could be fixed by participating in this kind of discussion. 2020-01-14T13:41:13Z flip214: chimneys: IMO one of the major advantages is that CL allows for a much bigger bandwidth of abstractions. You can easily build very high-level abstractions (classes, and macros for eg. control flow), but also influence the generated machine code. 2020-01-14T13:41:17Z nickerpro: but i wanted to do cool shit 2020-01-14T13:41:20Z beach: nickerpro: Did you also miss the "convenient" part of my utterance? 2020-01-14T13:41:25Z nickerpro: no 2020-01-14T13:41:40Z beach: That's the "special" part. 2020-01-14T13:41:55Z nickerpro: you mean that's the "cool" part 2020-01-14T13:42:11Z nickerpro: which part exactly are you talking 2020-01-14T13:42:32Z lieven: sed is turing complete. I do not advocate encoding many computations in sed. 2020-01-14T13:42:40Z Shinmera: jayspeer: We get this same shit every week. It doesn't help, and it's mind numbingly boring noise. 2020-01-14T13:42:41Z beach: No, "special". You said "so nothing special". And I am saying there is something special, but it is not Turning completeness. 2020-01-14T13:42:54Z jayspeer: chimneys: https://practicaltypography.com/why-racket-why-lisp.html read this 2020-01-14T13:43:29Z flip214: chimneys: as an example, macros in lisp allow you to build an abstraction for defining classes and methods on them 2020-01-14T13:43:45Z jayspeer: Shinmera: maybe bot can automatically message user with relevant links? It would both take it off us and provide useful information 2020-01-14T13:44:15Z pjb: There's such a thing as the Turing tar pit… 2020-01-14T13:45:13Z pjb: chimneys: have also a look at http://cliki.net/Performance 2020-01-14T13:45:27Z DGASAU quit (Read error: Connection reset by peer) 2020-01-14T13:45:42Z beach: jayspeer: I think an answer from a real person is more valuable, and why try very hard to give good answers to good questions. Besides, the kind of people who have bizarre questions probably wouldn't read the document that the link refers to. 2020-01-14T13:46:44Z DGASAU joined #lisp 2020-01-14T13:46:51Z beach: s/why/we/ 2020-01-14T13:46:53Z beach: *sigh* 2020-01-14T13:48:07Z pjb: Responses from a real person are good only if the telepathic link can be established, so that the response given may lead the asker to the real answer to the actual question he had. 2020-01-14T13:49:16Z Bike joined #lisp 2020-01-14T13:53:03Z beach: Shinmera: Interesting observation that there is more stuff like this during the weekend. 2020-01-14T13:54:11Z Shinmera: A mini september, perhaps 2020-01-14T13:56:21Z phoe: Lisp doesn't generate programs on its own 2020-01-14T13:56:34Z phoe: if anything, Lisp helps the programmer write Lisp quicker and more efficiently 2020-01-14T13:56:38Z chimneys: so lisp has a better programmer performance than python? 2020-01-14T13:56:58Z jackdaniel: bad programmers may write more confusing code in CL than in python ,) 2020-01-14T13:57:07Z phoe: when it comes to the languages themselves, I'd say so, yes - the interactivity is really fun when you get to play with the language 2020-01-14T13:57:25Z jackdaniel: good programmers will write good code in both, although cl could be much of an aid to do so 2020-01-14T13:57:54Z beach: chimneys: There are almost no scientific studies that compare the productivity of programming languages, and the ones I know of do not feature Python. So it boils down to personal preference. 2020-01-14T13:57:55Z phoe: I love myself an interactive debugger&inspector combo that's always present and allows you to inspect the stack, check on the values bound to the variables there 2020-01-14T13:59:05Z phoe: plus the REPL that's a part of developing in the language - you never really go "$ python my-script.py" like I did when writing Python, you run Lisp once and have it running in the background all the time while you compile a function after a function into the Lisp image, likely playing with it in the REPL after each compilation to check if it does what you hope it does 2020-01-14T13:59:09Z pjb: and the few studies used really small population samples. 2020-01-14T13:59:26Z beach: That too. 2020-01-14T14:00:07Z beach: It's too bad though. Some national or union-wide agency should invest in such a study. 2020-01-14T14:00:26Z beach: It could save a lot of money. 2020-01-14T14:00:32Z phoe: it's less of tweaking a Massive File Full Of Code™ and more of playing with individual forms that you then send into Lisp - more like a conversation with the language that runs in the background than starting from a clean slate every single time when you run a program written in Python or C++ or another non-interactive language from scratch 2020-01-14T14:00:36Z keja quit (Ping timeout: 248 seconds) 2020-01-14T14:01:06Z phoe: emacs's slime package is pretty fun that way. 2020-01-14T14:05:43Z X-Scale` joined #lisp 2020-01-14T14:06:08Z phoe: chimneys: anyway, that's my opinion on the matter 2020-01-14T14:06:18Z phoe: a lot of that also boils to personal proficiency and preference, so is highly variable 2020-01-14T14:06:37Z xkapastel joined #lisp 2020-01-14T14:06:44Z phoe: but after trying both python and lisp I like the lisp environment more due to the interactivity and the amount of introspection that's available in there 2020-01-14T14:06:50Z X-Scale quit (Ping timeout: 240 seconds) 2020-01-14T14:06:51Z X-Scale` is now known as X-Scale 2020-01-14T14:06:52Z jayspeer: phoe: that was very well said 2020-01-14T14:08:42Z phoe: jayspeer: at the same time I understand some people who are tired of this sort of discussion, mostly due to the "fame" that Lisp has on the Internet 2020-01-14T14:09:15Z phoe: "OMG it's t3h language that makes the impossible possible and the possible trivial, it's the MAGIC SECRET SAUCE™©® known only to some W I Z A R D S" 2020-01-14T14:09:23Z beach: phoe: What "fame" is that. I believe #lisp is known to be a very friendly channel. 2020-01-14T14:09:26Z pjb: Once upon a time, I made a #clnoobs channel so that newbies could ask their newbie questions there without bothering the serious and advanced #lisp programmers… 2020-01-14T14:09:45Z phoe: beach: I don't mean friendliness/unfriendliness 2020-01-14T14:09:52Z beach: Ah, so what then? 2020-01-14T14:09:53Z phoe: I mean marketing Lisp as something that it is not 2020-01-14T14:10:01Z rwcom5 joined #lisp 2020-01-14T14:10:10Z beach: Oh? Someone does that? 2020-01-14T14:11:08Z phoe: I got that sort of impression from e.g. reading multiple Graham writings, and I directly blame him for that sort of popularity. He didn't write it like that literally, of course, but he certainly attributes too much to to Lisp itself. 2020-01-14T14:11:48Z rwcom quit (Ping timeout: 260 seconds) 2020-01-14T14:11:49Z rwcom5 is now known as rwcom 2020-01-14T14:12:15Z EvW1 joined #lisp 2020-01-14T14:12:31Z phoe: Using a particular language won't instantly cause you to become a better programmer. Sure, working with Lisp for some time will have an effect on your overall code quality, but there's no "enlightenment" that is mentioned somewhere, there's no magic in here that will suddenly pour down into your fingers and all over your keyboard. 2020-01-14T14:13:27Z shifty quit (Ping timeout: 265 seconds) 2020-01-14T14:13:44Z pjb: There's enlightenment! It can be achieved reading sicp (or wathching the sicp lectures). 2020-01-14T14:13:45Z jackdaniel: it is not said that said effect will be positive 2020-01-14T14:13:48Z LiamH joined #lisp 2020-01-14T14:13:58Z pjb: That doesn't exclude other ways. 2020-01-14T14:15:33Z FreeBirdLjj joined #lisp 2020-01-14T14:16:19Z phoe: jackdaniel: I'd imply it's positive, since e.g. in Lisp it's easy to try and express the same idea in multiple ways due to the fact Lisp is multi-paradigm. At least in my case, I got a few "ah-ha!" moments when I realized that the same problem can be approached from a different way and the language doesn't stand in my way when I want to go functional, or object-oriented, or declarative, or even linear or via a 2020-01-14T14:16:25Z phoe: state machine. 2020-01-14T14:16:37Z jackdaniel: so it is easier to build pile of trash 2020-01-14T14:17:41Z phoe: that too - that's why I really enjoy the #lisp part of Lisp 2020-01-14T14:17:59Z phoe: where I can consult other people and actually figure out if the idea I'm trying at the moment is worthwhile or trashy. 2020-01-14T14:18:14Z jackdaniel: my remark was about overall effect, not enjoyment 2020-01-14T14:18:38Z phoe: anyway, about the magic - Lisp has multiple advantages over the years, so many that other languages have copied many features from it that are now considered "industry standard". I think that's one thing to keep in mind when glancing at the language 2020-01-14T14:18:44Z phoe: jackdaniel: you're correct 2020-01-14T14:19:20Z phoe: s/enjoy the #lisp part of Lisp/notice that consulting with the folk of #lisp has a direct positive effect on the quality of my code/ 2020-01-14T14:20:33Z FreeBirdLjj quit (Ping timeout: 268 seconds) 2020-01-14T14:21:46Z phoe: but then, code review is important in *any* programming language you're writing - so nothing that is really particular about Lisp in this case 2020-01-14T14:22:00Z phoe: chimneys: hope this answers the original question somewhat well 2020-01-14T14:22:13Z hlavaty joined #lisp 2020-01-14T14:22:44Z phoe: as well as provides some context about the "aw shit, here we go again" reactions that happen on this channel - and why I blame Graham for that sort of stuff (; 2020-01-14T14:25:18Z dlowe: pjb: you made the #clnoobs channel, eh? That's not what ChanServ says. 2020-01-14T14:25:37Z dlowe: or the topic creator 2020-01-14T14:26:04Z Nilby: I think it's reasonable to say those that ask questions without basic understanding: "Don't use Lisp. Thank you. Please go away." For me, and likely those of you who are rebellious enough to write a lot of Lisp code, such an answer would only serve to increase my determination to learn it. But people who ask about how to cons, cdr, etc. should be treated with great kindness. 2020-01-14T14:26:08Z phoe: nowadays it's #clschool 2020-01-14T14:26:16Z dlowe: yes, I made that one too. 2020-01-14T14:27:00Z beach: Nilby: I am convinced that you are not alone in reacting that way. 2020-01-14T14:27:47Z dlowe: I am being surprised that pjb is taking credit for my creation 2020-01-14T14:27:50Z pjb: dlowe: I might misremember. 2020-01-14T14:28:10Z pjb: dlowe: perhaps it was discussed here, and I said somebody should make a #clnoobs channel, and somebody did? 2020-01-14T14:29:57Z phoe: it must have been years ago 2020-01-14T14:30:06Z phoe: I remember #clnoobs being a thing years ago, at least 2020-01-14T14:30:12Z phoe: since I remember learning stuff there 2020-01-14T14:30:18Z milanj quit (Quit: This computer has gone to sleep) 2020-01-14T14:30:53Z stepnem_ joined #lisp 2020-01-14T14:31:02Z stepnem quit (Ping timeout: 268 seconds) 2020-01-14T14:33:15Z pjb: phoe: yes, sorry, I definitely misremembered it. 2020-01-14T14:33:28Z pjb: You clearly created it from your own initiative. 2020-01-14T14:33:34Z phoe: no no, wasn't me 2020-01-14T14:33:45Z pjb: Yes, sorry, it was dlowe. 2020-01-14T14:34:12Z pfdietz joined #lisp 2020-01-14T14:38:13Z luis: Anyone have recommendations on which base64 enconding library to use? 2020-01-14T14:39:43Z bitmapper joined #lisp 2020-01-14T14:39:53Z dlowe: Sheesh. Started May 2012. Doesn't seem like that long. 2020-01-14T14:40:16Z phoe: luis: popularity-wise, 49 systems depend on cl-base64, 6 systems depend on s-base64 2020-01-14T14:40:25Z dlowe: luis: doesn't ironclad have one built-in? 2020-01-14T14:40:45Z phoe: dlowe: doesn't seem so 2020-01-14T14:41:02Z dlowe: ah, no, it has a hex string converter 2020-01-14T14:42:31Z rwcom5 joined #lisp 2020-01-14T14:44:11Z rwcom quit (Ping timeout: 265 seconds) 2020-01-14T14:44:12Z rwcom5 is now known as rwcom 2020-01-14T14:46:08Z EvW1 quit (Ping timeout: 245 seconds) 2020-01-14T14:47:32Z luis: phoe: thanks 2020-01-14T14:48:33Z SlashLife quit (Ping timeout: 260 seconds) 2020-01-14T14:48:35Z phoe: luis: (ql:system-apropos "base64") followed by a series of (length (ql:who-depends-on ...)) 2020-01-14T14:49:02Z phoe: this doesn't include transitive dependencies but in this case I guess the inaccuracy is bearable 2020-01-14T14:49:52Z jdz: luis: I also have some updates to cl-base64 here: https://github.com/jdz/cl-base64 2020-01-14T14:50:06Z JohnMS_WORK quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2020-01-14T14:50:41Z FreeBirdLjj joined #lisp 2020-01-14T14:51:28Z jonatack quit (Ping timeout: 260 seconds) 2020-01-14T14:53:14Z luis: jdz: thanks. Have you tried submitting them to Kevin? 2020-01-14T14:53:35Z luis: seems like s-base64 can't encode character streams. It might be a reason to use cl-base64 instead. 2020-01-14T14:54:28Z jdz: luis: I've sent an email to Kevin, but it might have gone into a spam bin or somesuch. 2020-01-14T14:55:14Z mingus` joined #lisp 2020-01-14T14:58:53Z mingus quit (Ping timeout: 265 seconds) 2020-01-14T15:00:11Z luis: jdz: cl-base64 has a stream-to-base64-{stream,string} symbols but no defined functions. Am I missing something? 2020-01-14T15:00:16Z smazga joined #lisp 2020-01-14T15:00:35Z ralt: is it possible to (save-lisp-and-not-die)? 2020-01-14T15:00:47Z ralt: (i.e. dump an image but keep running) 2020-01-14T15:00:53Z luis: ralt: in SBCL? 2020-01-14T15:00:58Z ralt: yes 2020-01-14T15:01:02Z Bike: i think sbcl recommends you fork a process so that can die. 2020-01-14T15:01:09Z luis: ralt: you can fork() first if you're on Unix 2020-01-14T15:01:13Z ralt: I guess that works 2020-01-14T15:01:19Z ralt: thanks 2020-01-14T15:01:35Z luis: ralt: slime/swank/sbcl.lisp has some code that does that. 2020-01-14T15:01:37Z ralt: was trying to think of a way to debug a production image without bothering production environment 2020-01-14T15:01:59Z ralt: dumping an image and restoring that image elsewhere would provide that 2020-01-14T15:02:04Z ralt: luis: let me check 2020-01-14T15:02:05Z Shinmera: you can't slad while threads are active though 2020-01-14T15:02:12Z jdz: luis: I think they're in the exports list, but I've never seen them defined anywhere. 2020-01-14T15:02:15Z milanj joined #lisp 2020-01-14T15:02:34Z luis: jdz: I think I'll use s-base64 then. :) 2020-01-14T15:02:46Z ralt: Shinmera: ah, right, there's this annoying limitation 2020-01-14T15:03:43Z jdz: luis: It might not be hard to add that... 2020-01-14T15:04:26Z jdz: Oh, right, I remember: I only need to decode stuff, and I've added stream versions for that. 2020-01-14T15:04:54Z smazga quit (Ping timeout: 258 seconds) 2020-01-14T15:06:02Z luis: jdz: you might want to publish your fork on Quicklisp, maybe? You can call it jdz-base64 or amR6LWJhc2U2NA== or something :) 2020-01-14T15:06:14Z phoe: or convince Xach to switch over to your fork 2020-01-14T15:06:21Z phoe: (if possible and viable) 2020-01-14T15:06:28Z luis: Yeah, that might be nicer. 2020-01-14T15:06:29Z pjb: ralt: alternatively, you can use clisp who knows how to save images without killing itself. 2020-01-14T15:07:20Z ralt: does it know how to dump an image with threads? 2020-01-14T15:08:41Z pjb: I don't remember. It can re-open the open files, if they still exist when you reboot the image. 2020-01-14T15:08:50Z pjb: (but not sockets of course). 2020-01-14T15:09:06Z ralt: nice 2020-01-14T15:10:55Z random-nick joined #lisp 2020-01-14T15:12:33Z oni-on-ion joined #lisp 2020-01-14T15:12:59Z FreeBirdLjj quit (Remote host closed the connection) 2020-01-14T15:13:11Z Lord_of_Life_ joined #lisp 2020-01-14T15:13:31Z rvirding quit (Remote host closed the connection) 2020-01-14T15:13:31Z chewbranca quit (Remote host closed the connection) 2020-01-14T15:13:31Z ralt quit (Remote host closed the connection) 2020-01-14T15:13:31Z tazjin quit (Remote host closed the connection) 2020-01-14T15:13:43Z FreeBirdLjj joined #lisp 2020-01-14T15:16:14Z Lord_of_Life quit (Ping timeout: 268 seconds) 2020-01-14T15:16:20Z Lord_of_Life_ is now known as Lord_of_Life 2020-01-14T15:16:58Z oni-on-ion quit (Ping timeout: 245 seconds) 2020-01-14T15:17:03Z madage quit (Ping timeout: 240 seconds) 2020-01-14T15:17:10Z stepnem_ quit (Ping timeout: 258 seconds) 2020-01-14T15:17:37Z rvirding joined #lisp 2020-01-14T15:17:51Z stepnem joined #lisp 2020-01-14T15:18:04Z chewbranca joined #lisp 2020-01-14T15:18:07Z tazjin joined #lisp 2020-01-14T15:18:32Z ralt joined #lisp 2020-01-14T15:18:37Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2020-01-14T15:22:31Z FreeBirdLjj joined #lisp 2020-01-14T15:22:31Z FreeBirdLjj quit (Remote host closed the connection) 2020-01-14T15:27:29Z gareppa joined #lisp 2020-01-14T15:27:53Z adolby quit (Ping timeout: 265 seconds) 2020-01-14T15:28:48Z nickerpro quit (Ping timeout: 260 seconds) 2020-01-14T15:29:11Z adolby joined #lisp 2020-01-14T15:29:46Z heisig quit (Quit: Leaving) 2020-01-14T15:30:35Z chimneys quit (Ping timeout: 265 seconds) 2020-01-14T15:30:55Z gnufr33d0m joined #lisp 2020-01-14T15:33:06Z edgar-rft quit (Quit: Leaving) 2020-01-14T15:34:33Z gareppa quit (Remote host closed the connection) 2020-01-14T15:38:40Z gxt joined #lisp 2020-01-14T15:47:07Z shangul joined #lisp 2020-01-14T15:48:27Z rvirding quit (Remote host closed the connection) 2020-01-14T15:48:27Z chewbranca quit (Remote host closed the connection) 2020-01-14T15:48:27Z ralt quit (Remote host closed the connection) 2020-01-14T15:48:27Z tazjin quit (Remote host closed the connection) 2020-01-14T15:50:00Z shangul quit (Read error: Connection reset by peer) 2020-01-14T15:50:06Z mangul joined #lisp 2020-01-14T15:50:56Z manualcrank joined #lisp 2020-01-14T15:51:54Z rvirding joined #lisp 2020-01-14T15:52:21Z tazjin joined #lisp 2020-01-14T15:52:28Z chewbranca joined #lisp 2020-01-14T15:52:46Z ralt joined #lisp 2020-01-14T15:56:02Z jprajzne quit (Quit: Leaving.) 2020-01-14T15:56:48Z ebzzry quit (Ping timeout: 260 seconds) 2020-01-14T15:59:56Z dale_ joined #lisp 2020-01-14T16:00:12Z dale_ is now known as dale 2020-01-14T16:03:02Z secsaba joined #lisp 2020-01-14T16:03:51Z montaropdf left #lisp 2020-01-14T16:08:22Z smazga joined #lisp 2020-01-14T16:13:43Z gigetoo quit (Ping timeout: 260 seconds) 2020-01-14T16:14:53Z jmercouris joined #lisp 2020-01-14T16:15:19Z jmercouris: optima vs trivia? thoughts on pattern matching libraries in general? 2020-01-14T16:16:18Z luis: jmercouris: I've only played with optima and it's pretty nice. 2020-01-14T16:16:50Z jmercouris: luis: I see, thank you for the input 2020-01-14T16:17:13Z jmercouris: we are using trivia in our project, and I really don't like the 'trivial-x' libraries or the "_" as OTHERWISE 2020-01-14T16:18:08Z mingus`` joined #lisp 2020-01-14T16:19:36Z vaporatorius quit (Ping timeout: 265 seconds) 2020-01-14T16:20:49Z rtra joined #lisp 2020-01-14T16:21:40Z karlosz quit (Quit: karlosz) 2020-01-14T16:22:28Z mingus` quit (Ping timeout: 260 seconds) 2020-01-14T16:24:03Z gxt quit (Remote host closed the connection) 2020-01-14T16:27:04Z jayspeer left #lisp 2020-01-14T16:28:07Z galdor: does it use "_" as a general way to ignore an element in a pattern ? 2020-01-14T16:28:24Z galdor: using it just as alias of OTHERWISE is strange indeed 2020-01-14T16:28:53Z galdor: (more precisely _ should match any element and be ignored) 2020-01-14T16:30:49Z jmercouris: galdor: A variable-pattern matches any value and binds the value to the variable. "_" and "otherwise" are special variable-patterns (a.k.a wildcard-pattern) which match any value but don't bind. 2020-01-14T16:31:05Z jmercouris: it seems they are therefore the same, it's I guess like T at the end of a COND 2020-01-14T16:35:17Z secsaba quit (Quit: Leaving) 2020-01-14T16:35:28Z jonatack joined #lisp 2020-01-14T16:35:38Z xkapastel quit (Quit: Connection closed for inactivity) 2020-01-14T16:37:03Z galdor: when you say you do not like it, what's the problem ? 2020-01-14T16:37:51Z galdor: I personnally do not like OTHERWISE in general, looks too much like "we did not have a better solution so let's introduce a special symbol" 2020-01-14T16:38:46Z anewuser joined #lisp 2020-01-14T16:38:51Z flamebeard quit 2020-01-14T16:39:18Z asdf_asdf_asdf joined #lisp 2020-01-14T16:39:29Z rtra quit (Ping timeout: 268 seconds) 2020-01-14T16:39:50Z jmercouris: It does look a lot like that 2020-01-14T16:40:00Z jmercouris: however "_" looks even worse than otherwise 2020-01-14T16:40:18Z Josh_2 joined #lisp 2020-01-14T16:40:30Z varjag quit (Quit: ERC (IRC client for Emacs 25.2.2)) 2020-01-14T16:42:30Z gigetoo joined #lisp 2020-01-14T16:44:06Z galdor: another possibility would be ? or ? alone 2020-01-14T16:45:40Z remexre: is there a standard macro for "set this value in this place if the place's current value is nil"? 2020-01-14T16:45:49Z vaporatorius joined #lisp 2020-01-14T16:45:49Z vaporatorius quit (Changing host) 2020-01-14T16:45:49Z vaporatorius joined #lisp 2020-01-14T16:46:02Z karlosz joined #lisp 2020-01-14T16:47:48Z karlosz quit (Client Quit) 2020-01-14T16:48:10Z Bike: i don't think so, remexre. 2020-01-14T16:49:22Z remexre: ok 2020-01-14T16:50:02Z anewuser quit (Read error: Connection reset by peer) 2020-01-14T16:51:07Z jmercouris: remexre: I don't believe so either, I would use a WHEN or UNLESS 2020-01-14T16:51:36Z remexre: yeah, I've just got a bunch of these in a row 2020-01-14T16:52:30Z remexre: I guess I could actually probably turn this into a loop w/ mop, hm 2020-01-14T16:53:51Z Bike: i mean you could write the macro yourself. 2020-01-14T16:54:02Z remexre: yeah, that too 2020-01-14T16:55:20Z Bike: (defmacro supercalifragilisticexpialidocious (place value) `(unless ,place (setf ,place ,value))) 2020-01-14T16:55:46Z Bike: or setf expansion crap if you wanna be conscientious about it 2020-01-14T16:56:48Z pjb: Bike: wrong: it evaluates place twice. use get-setf-expansion. 2020-01-14T16:57:07Z vaporatorius quit (Read error: Connection reset by peer) 2020-01-14T16:57:19Z pjb: Or I guess what you said could be interpreted as such. 2020-01-14T16:57:33Z Bike: it sure could! 2020-01-14T17:00:41Z remexre: alright, thanks! 2020-01-14T17:01:32Z madmonkey joined #lisp 2020-01-14T17:09:00Z stepnem_ joined #lisp 2020-01-14T17:09:08Z madage joined #lisp 2020-01-14T17:10:18Z stepnem quit (Ping timeout: 260 seconds) 2020-01-14T17:14:57Z oxum joined #lisp 2020-01-14T17:16:50Z davepdotorg quit (Remote host closed the connection) 2020-01-14T17:19:27Z oxum quit (Ping timeout: 258 seconds) 2020-01-14T17:21:38Z jackdaniel: uh oh, finally a macro with long name I couldn't possibly remember name of 2020-01-14T17:21:48Z hlavaty quit (Remote host closed the connection) 2020-01-14T17:22:07Z Xach: (deffish humuhumunukunukuapuaa () ...) 2020-01-14T17:23:53Z Bike: at first i spelled it incorrectly, but spell check saved me 2020-01-14T17:25:24Z phoe: (define-german-numeral siebentausendzweihundertvierundfünfzig 7254) 2020-01-14T17:25:27Z EvW joined #lisp 2020-01-14T17:25:28Z eeeeeta: oh god 2020-01-14T17:25:40Z eeeeeta: phoe: you could probably write a macro to programmatically generate the numeral 2020-01-14T17:26:00Z phoe: eeeeeta: I could probably write a macro to programmatically generate 80% of German speech 2020-01-14T17:26:01Z zmv joined #lisp 2020-01-14T17:26:24Z eeeeeta: true 2020-01-14T17:26:35Z phoe: with the remaining 20% being the necessary special forms 2020-01-14T17:28:00Z jmercouris quit (Remote host closed the connection) 2020-01-14T17:32:27Z hhdave quit (Quit: hhdave) 2020-01-14T17:32:47Z asdf_asdf_asdf: Hi. How pass argument to (loop for i in '(1 2 3) #'func :arg arg...? 2020-01-14T17:33:15Z kajo joined #lisp 2020-01-14T17:33:28Z Xach: asdf_asdf_asdf: i would like to help but can't understand the question. 2020-01-14T17:33:45Z frgo quit (Ping timeout: 268 seconds) 2020-01-14T17:34:37Z asdf_asdf_asdf: Xach, I want skip for example second argument while iterating over list. 2020-01-14T17:35:13Z Xach: asdf_asdf_asdf: every second element or only the first second element? 2020-01-14T17:36:20Z asdf_asdf_asdf: '(1 2 3) collecting i => (1 2 3) '(1 2 3) by #'skip-arg-1 collecting i => (1 3). 2020-01-14T17:37:04Z Xach: asdf_asdf_asdf: what is the result of '(1 2 3 4 5)? 2020-01-14T17:37:16Z asdf_asdf_asdf: (1 3 4 5) 2020-01-14T17:37:18Z beach: asdf_asdf_asdf: (loop for element in '(1 2 3) for i from 0 unless (= i 1) collect element) 2020-01-14T17:38:11Z HiRE: I suppose this is an on topic question - what does `collecting xyz` do? 2020-01-14T17:38:22Z HiRE: It seems to repeat whatever is after the collecting part in the list you're looping over 2020-01-14T17:38:49Z beach: It takes the argument and sticks it in a list, which is then returned at the end of the loop. 2020-01-14T17:39:07Z HiRE: ah ok 2020-01-14T17:39:14Z Xach: asdf_asdf_asdf: (loop for i in '(1 2 3 4 5) by (first-then #'cddr #'cdr) collect i) is one option 2020-01-14T17:39:52Z beach: Xach: Really? 2020-01-14T17:40:06Z beach: I think the BY argument is only evaluated once. 2020-01-14T17:40:13Z Domaldel joined #lisp 2020-01-14T17:40:24Z Domaldel left #lisp 2020-01-14T17:40:36Z Xach: beach: implementation of the function generator first-then is a good exercise. 2020-01-14T17:42:53Z Xach: one possibility: (defun first-then (&rest funs) (let ((fun (pop funs))) (lambda (obj) (prog1 (funcall fun obj) (setf fun (or (pop funs) fun)))))) 2020-01-14T17:44:09Z ggole quit (Quit: Leaving) 2020-01-14T17:44:43Z beach: How does that help if the argument to BY is evaluated only at the beginning of the loop? 2020-01-14T17:44:56Z Xach: beach: help with what? 2020-01-14T17:45:50Z beach: (first-then #'cddr #'cdr) is evaluated only once, at the beginning of the loop, so how can this implementation of it solve the problem that asdf_asdf_asdf has? 2020-01-14T17:45:55Z Bike: the returned closure has the effect of cddr the first time and cdr subsequent times. there is only one closure but it maintains its own state, so the loop doesn't need to evaluate the function more than once. makes sense to me. 2020-01-14T17:46:01Z Xach: beach: by implementing the desired semantics 2020-01-14T17:46:17Z beach: Ah, I see. 2020-01-14T17:46:29Z Xach: i think it is some kind of monad or combinator or maybe both??? 2020-01-14T17:46:33Z beach: Clever! 2020-01-14T17:46:50Z Xach: i am not clever enough to know the name 2020-01-14T17:49:28Z eeeeeta: Xach: and, thankfully, Lisp is a language where you can get away with not knowing that sort of thing? :p 2020-01-14T17:49:43Z Xach: eeeeeta: it will be on the final exam though :( 2020-01-14T17:50:25Z eeeeeta: Xach: aha, for what 2020-01-14T17:50:52Z eeeeeta suggests Xach turn in the source code of quicklisp instead and leave it at that :D 2020-01-14T17:51:24Z Xach: oh god, that would earn me a very poor grade - the fact that people find it useful counts for nothing 2020-01-14T17:51:42Z varjag joined #lisp 2020-01-14T17:51:43Z eeeeeta: fair enough 2020-01-14T17:51:51Z Xach: there are zero monads (but maybe there are, i don't know what qualifies) 2020-01-14T17:52:11Z jackdaniel: just throw at them first-then function and pray for the best ,-) 2020-01-14T17:52:15Z ebrasca quit (Remote host closed the connection) 2020-01-14T17:52:24Z eeeeeta: well, this is the difference between CS and software engineering I suppose 2020-01-14T17:52:25Z jackdaniel: I've head it is some kind of monad or combinator, or maybe both. 2020-01-14T17:52:40Z zmv: the famed monadinator 2020-01-14T18:01:16Z HiRE: ah yes, monads are quite simple. They are just monoids in the category of endofunctors 2020-01-14T18:01:24Z HiRE: very simple >_< 2020-01-14T18:02:59Z m00natic quit (Remote host closed the connection) 2020-01-14T18:04:49Z asdf_asdf_asdf: Thank You Beach, Xach. I want Xach's example. How pop n item from list using keyword "by"? 2020-01-14T18:05:38Z asdf_asdf_asdf: (pop (nth 3 lst)) 2020-01-14T18:09:09Z ck_ puts "by implementing the desired semantics" into the book of phrases for a rainy day 2020-01-14T18:09:41Z asdf_asdf_asdf: (loop for i in '(1 2 3 4 5) by (nth 3 :default-list) collect i) => '(1 2 3 5) 2020-01-14T18:10:41Z terpri joined #lisp 2020-01-14T18:16:21Z phoe: https://stackoverflow.com/questions/4093845/is-there-a-common-lisp-macro-for-popping-the-nth-element-from-a-list 2020-01-14T18:17:21Z Achylles joined #lisp 2020-01-14T18:19:01Z amerlyq quit (Quit: amerlyq) 2020-01-14T18:21:57Z asdf_asdf_asdf: phoe, thanks. I want example above, but with (nth x y), not always second item. 2020-01-14T18:24:12Z phoe: asdf_asdf_asdf: that implementation of CDNTH and (SETF CDNTH) in the above answer seems correct though 2020-01-14T18:24:33Z ebrasca joined #lisp 2020-01-14T18:25:50Z montaropdf joined #lisp 2020-01-14T18:26:58Z ebrasca quit (Remote host closed the connection) 2020-01-14T18:27:01Z phoe: don't use POPNTH from up there since it suffers from double evaluation. 2020-01-14T18:28:51Z ebrasca joined #lisp 2020-01-14T18:29:45Z gareppa joined #lisp 2020-01-14T18:32:34Z vivit joined #lisp 2020-01-14T18:35:01Z gareppa quit (Remote host closed the connection) 2020-01-14T18:36:03Z brown121407 quit (Ping timeout: 260 seconds) 2020-01-14T18:37:03Z brown121407 joined #lisp 2020-01-14T18:40:40Z asarch joined #lisp 2020-01-14T18:42:14Z montaropdf quit (Quit: WeeChat 2.4) 2020-01-14T18:43:11Z jmercouris joined #lisp 2020-01-14T18:46:20Z william11 joined #lisp 2020-01-14T18:46:22Z jmercouris quit (Remote host closed the connection) 2020-01-14T18:46:50Z brown121408 joined #lisp 2020-01-14T18:46:50Z brown121407 quit (Read error: Connection reset by peer) 2020-01-14T18:47:21Z ebrasca quit (Remote host closed the connection) 2020-01-14T18:47:27Z william11 quit (Client Quit) 2020-01-14T18:48:01Z william1 joined #lisp 2020-01-14T18:48:18Z ebrasca joined #lisp 2020-01-14T18:55:31Z mangul quit (Ping timeout: 265 seconds) 2020-01-14T18:57:13Z pjb: asdf_asdf_asdf: (cons (first list) (rest (rest list))) 2020-01-14T18:57:20Z pjb: asdf_asdf_asdf: no need for a loop! 2020-01-14T18:57:53Z pjb: asdf_asdf_asdf: (nconc (subseq list 0 n) (subseq list (1+ n))) 2020-01-14T19:02:35Z asdf_asdf_asdf: pjb, working. Thank You. 2020-01-14T19:02:38Z pjb: beach: I can't even find where in clhs the semantics of for in by and for on by is defined. It's present in 3 loop clauses; by is described for 6.1.2.1.1 The for-as-arithmetic subclause, but doesn't say if the form is evaluated once or each time (but the example are as if evaluated once). 2020-01-14T19:09:22Z pfdietz: "Each expression is evaluated only once and must evaluate to a number. " 2020-01-14T19:09:31Z pfdietz: (for-as-arithmetic) 2020-01-14T19:10:56Z SlashLife joined #lisp 2020-01-14T19:12:30Z Xach: asdf_asdf_asdf: you could use (first-then #'cdr #'cdr #'cdr #'cddr #'cddr)! but that is ugly. 2020-01-14T19:14:35Z _death: hmm, sbcl won't do on (loop for i from #C(1 0) by #C(1 1) repeat 10 collect i) 2020-01-14T19:15:08Z _death: gotta (loop for i = #C(1 0) then (+ i #C(1 1)) repeat 10 collect i) 2020-01-14T19:15:42Z Xach: oops, final #'cddr should be #'cdr 2020-01-14T19:16:19Z asarch quit (Quit: Leaving) 2020-01-14T19:19:34Z asdf_asdf_asdf: Thanks. 2020-01-14T19:20:20Z Xach: asdf_asdf_asdf: what kind of problem prompts your questions? 2020-01-14T19:21:04Z asdf_asdf_asdf: I do solve task from hackerrank.com. 2020-01-14T19:22:54Z Xach: oh 2020-01-14T19:23:25Z brown121407 joined #lisp 2020-01-14T19:23:37Z jello_pudding quit (Ping timeout: 260 seconds) 2020-01-14T19:26:08Z sauvin quit (Read error: Connection reset by peer) 2020-01-14T19:26:44Z pjb: pfdietz: ah, good. Thanks. 2020-01-14T19:27:08Z brown121408 quit (Ping timeout: 265 seconds) 2020-01-14T19:29:12Z no-defun-allowed: Am I too late to suggest a base64 library? 2020-01-14T19:29:13Z trittweiler_ joined #lisp 2020-01-14T19:30:12Z Xach: we have moved on to radix64 2020-01-14T19:31:02Z no-defun-allowed: cl-base64 has a helper function to convert a base64 string into a string, but I believe it's broken for non-ASCII characters. 2020-01-14T19:32:45Z no-defun-allowed: So, to use either library with text, you will also need to use the Babel library to convert an array of octets to a string and back. 2020-01-14T19:35:33Z milanj quit (Quit: This computer has gone to sleep) 2020-01-14T19:40:31Z vivit quit (Ping timeout: 272 seconds) 2020-01-14T19:41:07Z karlosz joined #lisp 2020-01-14T19:41:21Z g0d_shatter joined #lisp 2020-01-14T19:43:56Z oni-on-ion joined #lisp 2020-01-14T19:44:00Z test1600 joined #lisp 2020-01-14T19:44:05Z galdor: iirc base64 operates on octets, not on characters, so having a base64 encoding functions taking a string as parameter is surprising 2020-01-14T19:44:12Z X-Scale` joined #lisp 2020-01-14T19:44:39Z Xach: galdor: i can understand it as a convenience to skip a step (as long as it works properly) 2020-01-14T19:44:41Z galdor: of course the library could automatically decode the string, but it requires an encoding parameter (and probably a system such as babel) 2020-01-14T19:45:23Z galdor: yep, but people are rarely aware of the encoding aspect, they are used to the "everything is utf-8" approach of many "modern" languages 2020-01-14T19:45:36Z efm quit (Remote host closed the connection) 2020-01-14T19:45:59Z efm joined #lisp 2020-01-14T19:46:25Z galdor: I was thinking today it's too bad there is no standard mechanism to configure external formats 2020-01-14T19:47:09Z g0d_shatter quit (Quit: Leaving) 2020-01-14T19:47:13Z galdor: you always end up relying on babel because it's impossible to use :external-format on e.g. OPEN in a portable way 2020-01-14T19:47:23Z X-Scale quit (Ping timeout: 268 seconds) 2020-01-14T19:47:24Z X-Scale` is now known as X-Scale 2020-01-14T19:48:37Z rtra joined #lisp 2020-01-14T19:48:39Z asdf_asdf_asdf left #lisp 2020-01-14T19:50:50Z _death: latin-1 ftw 2020-01-14T19:52:17Z vlatkoB quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) 2020-01-14T19:52:36Z ralt quit (Quit: Connection closed for inactivity) 2020-01-14T19:57:05Z efm quit (Read error: Connection reset by peer) 2020-01-14T19:58:33Z rtra quit (Ping timeout: 265 seconds) 2020-01-14T20:00:16Z zmv quit (Remote host closed the connection) 2020-01-14T20:02:50Z davisr joined #lisp 2020-01-14T20:04:08Z brown121407 quit (Read error: Connection reset by peer) 2020-01-14T20:05:59Z brown121407 joined #lisp 2020-01-14T20:06:13Z ebrasca quit (Read error: Connection reset by peer) 2020-01-14T20:06:37Z ebrasca joined #lisp 2020-01-14T20:10:46Z karlosz: anyone know a good reference for load-time-value and eval-when outside of the spec? there are some trickier examples that i've wondered if someone already compiled a list of ambiguous situations 2020-01-14T20:12:18Z kmeow joined #lisp 2020-01-14T20:12:36Z efm joined #lisp 2020-01-14T20:12:49Z Bike: if there is one i haven't seen it. the most substantial writing i remember on eval-when is fare's blog post saying it sucks. what tricks are you looking at? 2020-01-14T20:14:42Z kmeow quit (Remote host closed the connection) 2020-01-14T20:17:18Z kmeow joined #lisp 2020-01-14T20:20:22Z milanj joined #lisp 2020-01-14T20:21:01Z ebrasca quit (Remote host closed the connection) 2020-01-14T20:21:36Z rtra joined #lisp 2020-01-14T20:22:35Z karlosz: specifically i'm looking at what order toplevel clauses have to be evaluated with respect to load-time-value. i guess to give context i just added block compilation to sbcl and wondering whether im running afoul of certain ansi specified load-time vs compile time distinctions 2020-01-14T20:23:12Z pfdietz: I don't think it's specified. 2020-01-14T20:23:34Z pjb: Indeed load-time-value expressions can be evaluated at any moment during load time. 2020-01-14T20:23:36Z Bike: in clhs load-time-value: "It is guaranteed that the evaluation of form will take place only once when the file is loaded, but the order of evaluation with respect to the evaluation of top level forms in the file is implementation-dependent." 2020-01-14T20:24:17Z karlosz: for example, on CMUCL block-compiling a struct (say, foo) and defun f () (load-time-value (make-foo)) gives a load time error in cmucl 2020-01-14T20:24:28Z karlosz: saying that make-foo is not defined 2020-01-14T20:24:29Z pfdietz: " the order of evaluation with respect to the evaluation of top level forms in the file is implementation-dependent." 2020-01-14T20:24:35Z pjb: Now of course, if you write: (defparameter *foo* (load-time-value (+ 1 1)) You can assume that (+ 1 1) is evaluated before the load-time effects of defparameter *foo* can occur! 2020-01-14T20:24:36Z pfdietz: clhs load-time-value 2020-01-14T20:24:36Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/s_ld_tim.htm 2020-01-14T20:25:08Z karlosz: and i'm pretty sure it's illegal but not sure what language in the spec specifically forbids that 2020-01-14T20:25:29Z karlosz: because the spec says undefined 2020-01-14T20:25:30Z test1600 quit (Quit: Leaving) 2020-01-14T20:25:30Z Bike: i think cmucl's behavior is allowed. 2020-01-14T20:25:36Z pfdietz: Yes 2020-01-14T20:25:50Z Bike: i think it would also be allowed for it to work. 2020-01-14T20:25:55Z karlosz: of course, that's only when block-compiling 2020-01-14T20:25:57Z Jesin joined #lisp 2020-01-14T20:25:59Z no-defun-allowed: "Undefined" means an implementation can do whatever. 2020-01-14T20:30:33Z ljavorsk joined #lisp 2020-01-14T20:31:00Z scymtym quit (Ping timeout: 248 seconds) 2020-01-14T20:31:41Z pjb: Perhaps adding an (eval-when (:load-toplevel) around your defun foo) would help? 2020-01-14T20:32:04Z Bike: i don't see how that would change anything. 2020-01-14T20:32:35Z karlosz: i mean i'm asking from the perspective of an implementor what will run me afoul of the spec i guess 2020-01-14T20:33:23Z Bike: the spec doesn't define an order, so you can't run afoul of it in this aspect. go where your heart calls 2020-01-14T20:33:30Z karlosz: especially because CMUCL was the only other implementation that abused compile time name resolution as aggressively as it did 2020-01-14T20:42:38Z asdf_asdf_asdf joined #lisp 2020-01-14T20:43:18Z clothespin joined #lisp 2020-01-14T20:46:09Z ljavorsk quit (Ping timeout: 268 seconds) 2020-01-14T20:48:12Z gravicappa quit (Ping timeout: 260 seconds) 2020-01-14T20:49:57Z narimiran quit (Ping timeout: 260 seconds) 2020-01-14T21:06:12Z whiteline quit (Remote host closed the connection) 2020-01-14T21:06:40Z whiteline joined #lisp 2020-01-14T21:09:19Z whiteline quit (Remote host closed the connection) 2020-01-14T21:09:32Z whiteline joined #lisp 2020-01-14T21:11:48Z kslt1 quit (Ping timeout: 260 seconds) 2020-01-14T21:15:25Z vaporatorius joined #lisp 2020-01-14T21:15:26Z vaporatorius quit (Changing host) 2020-01-14T21:15:26Z vaporatorius joined #lisp 2020-01-14T21:15:41Z whiteline quit (Remote host closed the connection) 2020-01-14T21:18:16Z rtra quit (Ping timeout: 258 seconds) 2020-01-14T21:18:50Z whiteline joined #lisp 2020-01-14T21:19:53Z kajo quit (Ping timeout: 245 seconds) 2020-01-14T21:21:12Z whiteline quit (Remote host closed the connection) 2020-01-14T21:22:37Z rtra joined #lisp 2020-01-14T21:23:43Z whiteline joined #lisp 2020-01-14T21:25:19Z jebes joined #lisp 2020-01-14T21:27:11Z whiteline quit (Read error: Connection reset by peer) 2020-01-14T21:30:11Z frgo joined #lisp 2020-01-14T21:30:47Z rtra quit (Ping timeout: 260 seconds) 2020-01-14T21:30:56Z frgo quit (Read error: Connection reset by peer) 2020-01-14T21:31:17Z frgo joined #lisp 2020-01-14T21:32:20Z frgo quit (Remote host closed the connection) 2020-01-14T21:32:58Z frgo joined #lisp 2020-01-14T21:35:04Z kajo joined #lisp 2020-01-14T21:35:36Z kmeow quit (Remote host closed the connection) 2020-01-14T21:38:07Z kmeow joined #lisp 2020-01-14T21:40:23Z efm quit (Ping timeout: 260 seconds) 2020-01-14T21:44:15Z whiteline joined #lisp 2020-01-14T21:45:31Z vms14 joined #lisp 2020-01-14T21:45:46Z vms14: I'm writing an abomination :D 2020-01-14T21:45:55Z vms14: https://paste.ubuntu.com/p/WnMSfgYGst/ 2020-01-14T21:48:46Z william1_ quit (Ping timeout: 265 seconds) 2020-01-14T21:48:49Z bitmapper quit (Remote host closed the connection) 2020-01-14T21:50:09Z HiRE: hmm, upon defining a class (defclass blankaccount () (customer-name balance)) and loading it into SLIME 2020-01-14T21:50:15Z pjb: vms14: right. I would have used OO. All those functions are just methods of the same generic function generate taking arguments php-node 2020-01-14T21:50:16Z pjb: . 2020-01-14T21:50:19Z HiRE: trying to use (make-instance 'bank-account) gives class not found 2020-01-14T21:50:28Z pjb: of course. 2020-01-14T21:50:37Z pjb: (eq 'bank-account 'blankaccount) #| --> nil |# 2020-01-14T21:50:48Z Xach: HiRE: you have to use the same name 2020-01-14T21:50:48Z HiRE: oh I mistyped 2020-01-14T21:50:52Z HiRE: its bankaccount in my code 2020-01-14T21:50:55Z HiRE: I just didnt copypaste 2020-01-14T21:50:57Z Xach: HiRE: show the code. 2020-01-14T21:51:00Z pjb: Use emacs. It can auto-complete. 2020-01-14T21:51:03Z HiRE: (defclass bankaccount () 2020-01-14T21:51:03Z HiRE: (customer-name 2020-01-14T21:51:03Z HiRE: balance)) 2020-01-14T21:51:09Z HiRE: duh 2020-01-14T21:51:10Z HiRE: wrong name 2020-01-14T21:51:11Z HiRE: again 2020-01-14T21:51:20Z Odin- quit (Ping timeout: 268 seconds) 2020-01-14T21:51:22Z HiRE: rubberduck debuggin is very powerful 2020-01-14T21:51:33Z Xach: i am a rubber chicken 2020-01-14T21:51:45Z pjb: You can use termbin. 2020-01-14T21:51:51Z HiRE: I use emacs + SLIME. Its very nice 2020-01-14T21:51:53Z pjb: #!/bin/bash \n nc termbin.com 9999 | tr -d '\000' 2020-01-14T21:51:53Z pjb: 2020-01-14T21:51:59Z pjb: to paste… 2020-01-14T21:52:30Z Xach: i like it very much 2020-01-14T21:52:33Z HiRE: oh never knew about termbin 2020-01-14T21:52:35Z HiRE: that is a good idea 2020-01-14T21:53:00Z pjb: HiRE: Yes, but did you activate auto-complete-mode? 2020-01-14T21:53:03Z vms14: pjb: OOP for doing what kind of thing? 2020-01-14T21:53:15Z vms14: also did you tried sly? 2020-01-14T21:53:23Z vms14: try* 2020-01-14T21:53:25Z HiRE: pjb, if I press tab it gives suggestions so I guess so? 2020-01-14T21:53:37Z pjb: When I type (make-instsance 'ba it completes alone, I just type TAB to finish it without typo. 2020-01-14T21:53:43Z pjb: HiRE: ok. 2020-01-14T21:53:50Z HiRE: oh it pops open a new buffer 2020-01-14T21:53:55Z pjb: vms14: your paste. 2020-01-14T21:53:56Z HiRE: it would be nice for it to autocomplete by itself 2020-01-14T21:54:00Z pjb: vms14: see for example: linc. 2020-01-14T21:54:23Z vms14: pjb: yes, my paste, but I have no idea how to translate that to CLOS 2020-01-14T21:54:42Z vms14: they're just functions writing dirty php code 2020-01-14T21:54:47Z pjb: https://github.com/informatimago/lisp/blob/master/languages/linc/generate.lisp 2020-01-14T21:55:18Z pjb: Sorry, wrong file; go to: https://github.com/informatimago/lisp/blob/master/languages/linc/c-syntax.lisp#L202 2020-01-14T21:56:27Z pjb: So of course, you need to define classes for the syntactic elements: https://github.com/informatimago/lisp/blob/master/languages/linc/c-syntax.lisp#L173 2020-01-14T21:57:06Z pjb: And write a parser or macros to convert a sexp into a tree of instances of those classes. 2020-01-14T21:57:07Z vms14: hmm, I see 2020-01-14T21:57:22Z pjb: Then you just (generate php-program) <- the root of the syntactic tree. 2020-01-14T21:57:58Z vms14: so the entire AST is a bunch of CLOS instances? 2020-01-14T21:58:23Z pjb: (generate (parse '(defun foo (x y) (+ y x)))) -> number foo(x:number,y:number){return y+x;} or whatever the php syntax is. 2020-01-14T21:58:28Z pjb: Yes. 2020-01-14T21:58:56Z vms14: I'll think about this, thanks for the hint 2020-01-14T21:59:19Z vms14: will be an abomination anyway :D 2020-01-14T22:00:19Z madmonkey quit (Remote host closed the connection) 2020-01-14T22:00:57Z cosimone joined #lisp 2020-01-14T22:01:02Z pjb: It will be cool. Add it to https://cliki.net/s-exp%20syntax when done. 2020-01-14T22:01:19Z pjb: (other examples there). 2020-01-14T22:04:25Z vms14: It seems much better way than how I'm doing, but I have to think now, I have no idea about where to start 2020-01-14T22:05:37Z pjb: You could start from the php grammar, if you want to implement a complete syntax. (This can be useful if you want to be able to parse php back to sexps). 2020-01-14T22:06:22Z efm joined #lisp 2020-01-14T22:06:25Z pjb: Or you can just choose a sane subset. For example, for C or C++, it would be crazy to use the actual language grammar. Instead, you can define the grammar for a subset language as is used by human programers. 2020-01-14T22:06:27Z pjb: +m 2020-01-14T22:07:35Z pjb: Similarly, the sexps syntax you will define can be able to express only a subset of the whole syntax (the subset you would use as a human programmer, or you need to generate), it doesn't necessarily have to cover the whole syntax. 2020-01-14T22:08:24Z pjb: So you go sexp -> ast-objects -> generate-php-source. 2020-01-14T22:09:09Z pjb: You can also implement a php-parser and generate the sexp from it: php-source -> ast-objects -> sexp. 2020-01-14T22:09:19Z vms14: no xD 2020-01-14T22:09:27Z vms14: just lisp-to-php 2020-01-14T22:09:28Z pjb: So you can parse php, get a sane sexp, edit or transform it automatically, and generate back the php. 2020-01-14T22:09:32Z pjb: Ok. 2020-01-14T22:09:57Z vms14: would be nice, but also more complicated to write both, and I don't know if I'll need that 2020-01-14T22:10:17Z vms14: I'm going to write some kind of blog framework, or blog generator 2020-01-14T22:10:43Z pjb: ok. So sexp->ast-oo->php is enough. 2020-01-14T22:10:50Z efm quit (Ping timeout: 240 seconds) 2020-01-14T22:10:52Z efm_ joined #lisp 2020-01-14T22:11:01Z vms14: I'd use hunchentoot, but I'm aiming to free hostings and alike, so php or perl cgi 2020-01-14T22:11:21Z vms14: and I was tempted to choose perl over php, maybe I'll rethink that 2020-01-14T22:11:36Z pjb: See the sexpc files for examples of sexpified-C sources. 2020-01-14T22:13:16Z vms14: I'm looking ad c-amplify 2020-01-14T22:13:20Z vms14: at* 2020-01-14T22:13:22Z vms14: https://github.com/deplinenoise/c-amplify/blob/master/test-input/test1.ca 2020-01-14T22:14:00Z Codaraxis joined #lisp 2020-01-14T22:14:15Z vms14: btw the AWK Lisp homepage is dead 2020-01-14T22:16:13Z gxt joined #lisp 2020-01-14T22:22:20Z efm_ quit (Quit: Konversation terminated!) 2020-01-14T22:23:26Z bitmapper joined #lisp 2020-01-14T22:28:48Z slyrus_ joined #lisp 2020-01-14T22:31:46Z slyrus quit (Ping timeout: 265 seconds) 2020-01-14T22:34:59Z vms14: meh, I need theory for writing ASTs 2020-01-14T22:35:38Z random-nick quit (Ping timeout: 240 seconds) 2020-01-14T22:36:09Z bitmapper quit (Remote host closed the connection) 2020-01-14T22:38:21Z pjb: vms14: it's easy. In the case of lisp sexps, eg. if: (if []) -> (defclass lisp-if (lisp-expression) (( :initarg :test :reader if-test) ( :initarg :then :reader if-then) ( :initarg :else :initform nil :reader if-else))) 2020-01-14T22:39:05Z White_Flame: I probably wouldn't even bother with classes for that 2020-01-14T22:39:06Z pjb: vms14: then: (defmacro my-sexpified-language:if ( &optional ) (make-instance 'lisp-if :test :then :else )) 2020-01-14T22:39:56Z Bike quit (Quit: Bike) 2020-01-14T22:40:24Z pjb: Having classes has the big advantage that you can write generic functions dispatching on them, to do all kind of stuff on the programs thus represented. You can generate them in different languages, compile them to lisp or native code, pretty print them, transform them, etc. 2020-01-14T22:41:03Z White_Flame: I find it often yields smaller, more manageable code to do the same thing with plain data structures and manual functions 2020-01-14T22:41:21Z White_Flame: and you can handle weird edge cases easier, too 2020-01-14T22:41:36Z White_Flame: since it doesn't have to follow a homogenous OO model 2020-01-14T22:42:12Z pjb: I master the OOP well enough… 2020-01-14T22:42:30Z White_Flame: I've done OO for long enough that I consider myself post-OO 2020-01-14T22:43:01Z White_Flame: but yeah, it's still a tool in the toolbox. Just don't go all Java "OO = Object Obsessed" ;) 2020-01-14T22:44:46Z vms14: I don't see many advantadges using CLOS instead of just functions transpiling directly to what I want 2020-01-14T22:45:01Z vms14: but I have no idea about compilers, so I cannot appreciate it 2020-01-14T22:45:53Z pjb: vms14: the advantage is instead of having a procedural style, you can have a data driven style, where you have an internal representation of the program you want to generate. So you can manipulate it. 2020-01-14T22:45:53Z vms14: and something is telling me it's a more correct way than the shit I was doing 2020-01-14T22:45:56Z shifty joined #lisp 2020-01-14T22:46:12Z pjb: You don't have to hard-code the php output you want. 2020-01-14T22:46:51Z vms14: xD my idea was to hard-code the stuff I needed, but I know it will be a mess 2020-01-14T22:49:10Z pjb: Instead of hardcoding stuff such as: (php-if (php-equal (php-var "a") (php-integer 0)) (php-function-call (php-function "foo") (php-var "b") (php-integer 42))), you can have some data |# (let ((php-code '(if (= a 0) (foo b 42)))) #| and process it: |# (generate (parse-php-sexp php-code))) 2020-01-14T22:49:48Z bitmapper joined #lisp 2020-01-14T22:50:32Z varjag quit (Ping timeout: 268 seconds) 2020-01-14T22:50:47Z vms14: I had this (defun php-if (test &rest statements) (format nil "if(~a){~{~a~}}" test statements)) 2020-01-14T22:50:48Z vms14: xD 2020-01-14T22:52:07Z pjb: So, this being lisp, you could consider the sexp as the ast. 2020-01-14T22:52:27Z pjb: You could generate the php directly from: (if (= a 0) (foo b 42)) 2020-01-14T22:52:37Z vms14: I'll think about writing an AST, because I'd like to learn more about compilers and metaprogramming 2020-01-14T22:52:54Z vms14: but I'm not able to do that stuff now, and I'd like to have some working stuff 2020-01-14T22:53:03Z vms14: even if it makes people cry 2020-01-14T22:53:09Z pjb: (case (first sexp) ((if) (format …)) ((= /= + - * / …) (format …)) (else #|mustbe funcall|# (format …))) 2020-01-14T22:53:28Z scymtym joined #lisp 2020-01-14T22:54:47Z pjb: Or, you could (defgeneric (op &rest args) (:method ((op (eql if)) &optional then else) …) …) 2020-01-14T22:54:54Z pjb: + generate 2020-01-14T22:55:10Z pjb: and call (apply (function generate) sexp). 2020-01-14T22:56:42Z vms14: https://paste.ubuntu.com/p/g8Zbjk6BtH/ 2020-01-14T22:57:14Z vms14: generates https://paste.ubuntu.com/p/Y9XzQdFvtx/ 2020-01-14T22:58:11Z vms14: the heredocs are because I wanted "" for the html and variable interpolation, but they make the code even uglier 2020-01-14T22:59:48Z vms14: still maybe I should use perl 2020-01-14T23:01:43Z LiamH quit (Quit: Leaving.) 2020-01-14T23:03:38Z william1 quit (Ping timeout: 240 seconds) 2020-01-14T23:04:26Z vaporatorius quit (Ping timeout: 240 seconds) 2020-01-14T23:22:44Z madagest joined #lisp 2020-01-14T23:22:55Z HiRE: could someone provide me a few links of github repos or whatever with really well written modern CL code? 2020-01-14T23:22:59Z HiRE: in particular SBCL code, but im not picky. 2020-01-14T23:23:06Z HiRE: I'd like to get a feel of what good CL looks like. 2020-01-14T23:23:57Z mason: HiRE: There are books worth reading. Here, for example: http://www.gigamonkeys.com/book/ 2020-01-14T23:24:06Z HiRE: currently on chapter 17 2020-01-14T23:24:15Z Xach: HiRE: cl-ppcre is a nice read 2020-01-14T23:24:40Z HiRE: thanks Xach. Reason I ask is I'd like to take on a project to write a simple DNS server in CL for my own use. 2020-01-14T23:24:46Z mason: HiRE: https://github.com/norvig/paip-lisp 2020-01-14T23:24:48Z HiRE: I wanted to write it well though instead of just hamfisting it 2020-01-14T23:25:03Z madage quit (Ping timeout: 240 seconds) 2020-01-14T23:25:05Z HiRE: thank you mason 2020-01-14T23:27:24Z Xach: HiRE: there is no shame in hamfisting if it works! 2020-01-14T23:27:35Z Xach: i have a DNS client i can share but it is slightly hammy 2020-01-14T23:27:43Z Kundry_Wag joined #lisp 2020-01-14T23:27:44Z Xach: it can parse and assemble packets so maybe that would be helpful 2020-01-14T23:28:01Z HiRE: Xach, I'd love to take a look. One thing I was beginning to look at was even how to get started reading/writing packets in CL 2020-01-14T23:28:18Z mason: FFI! =cough= 2020-01-14T23:28:36Z Xach: I don't like FFI, I would rather do it in CL. 2020-01-14T23:28:37Z pjb: https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=2ahUKEwjU-KCOn4TnAhWRERQKHcS8Ad0QFjAAegQIAxAB&url=https%3A%2F%2Fgithub.com%2Ffjames86%2Fdragons&usg=AOvVaw15yBgmePwcAl1LunaxgUGy 2020-01-14T23:28:38Z pjb: https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&cad=rja&uact=8&ved=2ahUKEwjU-KCOn4TnAhWRERQKHcS8Ad0QFjABegQIBxAB&url=https%3A%2F%2Fgithub.com%2Fhanshuebner%2Fans&usg=AOvVaw3Foqv4BPm4Ihcr1iFJB68t 2020-01-14T23:28:40Z Xach: so i did! 2020-01-14T23:28:50Z HiRE: mason, that was my initial idea but I'd like to keep it pure CL if possible. I really like CL and FFI seems like a last ditch effort for me. 2020-01-14T23:29:04Z mason: HiRE: I was being sarcastic. You've got the right idea. 2020-01-14T23:29:19Z HiRE: thank you pjb 2020-01-14T23:29:33Z Xach: hire: https://www.xach.com/lisp/dns.lisp 2020-01-14T23:29:52Z HiRE: awesome, I'll take a look. What are these *.asd files I see all over 2020-01-14T23:29:53Z HiRE: ? 2020-01-14T23:30:05Z Bike joined #lisp 2020-01-14T23:30:12Z Xach: *.asd files are input to a program that can compile and load multiple files in the right order 2020-01-14T23:30:15Z Xach: and more 2020-01-14T23:30:16Z papachan quit (Quit: Leaving) 2020-01-14T23:30:49Z HiRE: oh I see so they are files to help the compiler out? 2020-01-14T23:30:51Z rtra joined #lisp 2020-01-14T23:31:11Z Xach: ssssort of 2020-01-14T23:31:41Z Xach: for typical lisp development you start with a running intractive system and then teach it new things to do 2020-01-14T23:31:55Z Xach: *.asd files are part of how you load those things to teach it 2020-01-14T23:32:12Z wxie joined #lisp 2020-01-14T23:32:23Z HiRE: oh I see. So instead of having to load a buffer complete in say SLIME you use *.asd to help suggest it stuff? 2020-01-14T23:32:30Z HiRE: For example if you are working in one file but need another file? 2020-01-14T23:32:32Z pjb: HiRE: they are like makefiles. 2020-01-14T23:32:51Z HiRE: ah pjb I see 2020-01-14T23:33:15Z Xach: HiRE: no. more like someone says "i have a library that does X" and you get that library, the system can use the *.asd file to load that library 2020-01-14T23:33:27Z HiRE: oh got it 2020-01-14T23:33:33Z HiRE: makes distribution easier I see 2020-01-14T23:33:44Z Xach: and if that library needs a library that does Y, the *.asd files arranges to load that first too 2020-01-14T23:33:52Z Xach: and so on, until it's done 2020-01-14T23:34:07Z Xach: if something is missing, it will signal an error 2020-01-14T23:34:32Z Xach: quicklisp is a program that handles that error and downloads libraries to make them available to load 2020-01-14T23:34:56Z HiRE: Ah I see. Is quicklisp a special implementation or more like a package manager? 2020-01-14T23:34:58Z pjb: Well, getting dependencies is something my makefiles do too… 2020-01-14T23:35:01Z kmeow quit (Quit: Leaving) 2020-01-14T23:35:08Z Xach: quicklisp is a program that can be loaded into any implementation 2020-01-14T23:35:29Z Xach: it downloads libraries automatically for you. 2020-01-14T23:35:36Z HiRE: oh sweet, yeah found the website. Seems like a package manager similar to NPM or something 2020-01-14T23:35:36Z HiRE: cool 2020-01-14T23:35:46Z HiRE: I was wondering how you managed dependencies in lisp cleanly 2020-01-14T23:36:24Z notzmv joined #lisp 2020-01-14T23:37:04Z Xach: i don't know about clean, but it works ok for certain styles of work 2020-01-14T23:37:57Z rtra quit (Ping timeout: 260 seconds) 2020-01-14T23:42:06Z Xach: i wrote that dns client because i had a web service that fetched images from the web, and i wanted things arranged so that things wouldn't get hung up by DNS or TCP timeouts 2020-01-14T23:42:24Z Xach: so i also had a bit that managed the IO timeouts with linux epoll 2020-01-14T23:42:26Z vms14: so HiRE you're a new lisper? 2020-01-14T23:42:54Z HiRE: vms14, yep 2020-01-14T23:43:00Z Codaraxis quit (Read error: Connection reset by peer) 2020-01-14T23:43:01Z vms14: nice :D, welcome to lisp 2020-01-14T23:43:04Z HiRE: thank you :D 2020-01-14T23:43:30Z vms14: I'm a newbie too, but I love it 2020-01-14T23:43:34Z HiRE: Xach, I want to write one to help get around the DNS hijacking going on by my ISP lol. 2020-01-14T23:43:53Z HiRE: Im tired of their really poor resolution times and "enhanced content injection" 2020-01-14T23:44:09Z HiRE: through the miracle of monopoly I dont have any other options :/ 2020-01-14T23:44:29Z Xach: HiRE: interesting. where would you run your server? how would you use it? 2020-01-14T23:44:43Z Xach: maybe these things drift offtopic...we can discuss it via private messages if you're inclined. 2020-01-14T23:44:54Z HiRE: sure if you want to take it PMs I'd be happy to 2020-01-14T23:45:19Z Xach: i used to work at an ISP, and i know a little about networking, so it is interesting to me. 2020-01-14T23:45:51Z wxie quit (Ping timeout: 258 seconds) 2020-01-14T23:46:48Z aeth quit (Read error: Connection reset by peer) 2020-01-14T23:47:05Z aeth joined #lisp 2020-01-14T23:47:34Z rtra joined #lisp 2020-01-14T23:52:13Z jtecca joined #lisp 2020-01-15T00:00:00Z raghavgururajan joined #lisp 2020-01-15T00:00:47Z lucasb quit (Quit: Connection closed for inactivity) 2020-01-15T00:02:21Z Codaraxis joined #lisp 2020-01-15T00:04:28Z cosimone quit (Ping timeout: 245 seconds) 2020-01-15T00:04:32Z orivej quit (Ping timeout: 268 seconds) 2020-01-15T00:05:57Z clothespin quit (Ping timeout: 260 seconds) 2020-01-15T00:05:57Z asdf_asdf_asdf quit (Remote host closed the connection) 2020-01-15T00:06:23Z slyrus_ quit (Ping timeout: 268 seconds) 2020-01-15T00:07:00Z asdf_asdf_asdf joined #lisp 2020-01-15T00:07:38Z rtra quit (Remote host closed the connection) 2020-01-15T00:08:27Z rtra joined #lisp 2020-01-15T00:14:07Z rtra quit (Ping timeout: 260 seconds) 2020-01-15T00:15:01Z pfdietz quit (Remote host closed the connection) 2020-01-15T00:15:55Z quazimodo joined #lisp 2020-01-15T00:17:04Z edgar-rft joined #lisp 2020-01-15T00:17:42Z rtra joined #lisp 2020-01-15T00:18:14Z vms14 quit (Remote host closed the connection) 2020-01-15T00:20:17Z grabarz quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-15T00:26:57Z asdf_asdf_asdf quit (Quit: asdf_asdf_asdf) 2020-01-15T00:26:57Z ebrasca joined #lisp 2020-01-15T00:30:18Z rtra quit (Ping timeout: 245 seconds) 2020-01-15T00:31:51Z smazga quit (Quit: leaving) 2020-01-15T00:32:01Z rtra joined #lisp 2020-01-15T00:37:07Z jtecca quit (Remote host closed the connection) 2020-01-15T00:39:07Z xlei joined #lisp 2020-01-15T00:41:30Z kmeow joined #lisp 2020-01-15T00:43:34Z Kundry_Wag quit (Remote host closed the connection) 2020-01-15T00:44:01Z Kundry_Wag joined #lisp 2020-01-15T00:45:18Z rtra quit (Ping timeout: 245 seconds) 2020-01-15T00:48:57Z Kundry_Wag quit (Ping timeout: 272 seconds) 2020-01-15T00:49:42Z EvW quit (Ping timeout: 260 seconds) 2020-01-15T00:54:01Z Achylles quit (Ping timeout: 272 seconds) 2020-01-15T00:54:51Z Oddity quit (Ping timeout: 258 seconds) 2020-01-15T00:57:38Z keja joined #lisp 2020-01-15T00:59:54Z turona quit (Ping timeout: 252 seconds) 2020-01-15T01:00:09Z tiwEllien quit (Ping timeout: 265 seconds) 2020-01-15T01:00:27Z turona joined #lisp 2020-01-15T01:04:26Z ebrasca quit (Read error: Connection reset by peer) 2020-01-15T01:05:07Z ebrasca joined #lisp 2020-01-15T01:15:41Z bitmapper quit 2020-01-15T01:29:04Z oxum joined #lisp 2020-01-15T01:33:59Z oxum quit (Ping timeout: 265 seconds) 2020-01-15T01:38:42Z femi quit (Ping timeout: 260 seconds) 2020-01-15T01:40:19Z karswell joined #lisp 2020-01-15T01:40:29Z femi joined #lisp 2020-01-15T01:42:33Z picantest joined #lisp 2020-01-15T01:45:35Z jack_rabbit joined #lisp 2020-01-15T01:47:31Z Kundry_Wag joined #lisp 2020-01-15T01:50:18Z anewuser joined #lisp 2020-01-15T01:51:02Z Kundry_Wag quit (Client Quit) 2020-01-15T01:55:15Z ebrasca quit (Read error: Connection reset by peer) 2020-01-15T01:56:23Z ebzzry joined #lisp 2020-01-15T01:58:40Z piupiu joined #lisp 2020-01-15T02:00:44Z eschulte joined #lisp 2020-01-15T02:01:05Z eschulte quit (Remote host closed the connection) 2020-01-15T02:01:30Z Oddity joined #lisp 2020-01-15T02:02:10Z eschulte joined #lisp 2020-01-15T02:02:48Z vivit joined #lisp 2020-01-15T02:06:50Z piupiu: who c 2020-01-15T02:07:17Z piupiu left #lisp 2020-01-15T02:12:16Z orivej joined #lisp 2020-01-15T02:19:00Z slyrus joined #lisp 2020-01-15T02:34:00Z ahungry joined #lisp 2020-01-15T02:36:10Z HiRE: so in PCL I am seeing this `:documentation` everywhere 2020-01-15T02:36:13Z HiRE: it reminds me of docstrings 2020-01-15T02:36:19Z HiRE: is there some kind of doxygen for lisp? 2020-01-15T02:36:46Z no-defun-allowed: A lot of things in Common Lisp can have documentation strings, so you probably should be reminded by them in other languages. 2020-01-15T02:37:19Z no-defun-allowed: To generate a document with all the documentation strings, Staple could be used. 2020-01-15T02:39:08Z HiRE: oh ok cool 2020-01-15T02:39:09Z HiRE: thank you 2020-01-15T02:39:28Z HiRE: I would've also accepted "write your own documentation parser it's lisp" 2020-01-15T02:41:33Z White_Flame: what's the proper term for a symbol's value binding outside of any dynamic binding scopes? global value, toplevel value, etc? 2020-01-15T02:50:22Z Bike: "global value" seems fine 2020-01-15T02:52:43Z dddddd quit (Remote host closed the connection) 2020-01-15T02:56:22Z Josh_2 quit (Ping timeout: 258 seconds) 2020-01-15T02:57:14Z torbo joined #lisp 2020-01-15T03:00:12Z phlim joined #lisp 2020-01-15T03:01:18Z jebes quit (Quit: ZNC 1.7.5 - https://znc.in) 2020-01-15T03:02:20Z ahungry quit (Remote host closed the connection) 2020-01-15T03:05:57Z ahungry joined #lisp 2020-01-15T03:06:19Z Nilby quit (Read error: Connection reset by peer) 2020-01-15T03:11:49Z ahungry quit (Remote host closed the connection) 2020-01-15T03:13:52Z Lord_of_Life_ joined #lisp 2020-01-15T03:16:30Z Lord_of_Life quit (Ping timeout: 268 seconds) 2020-01-15T03:16:30Z Lord_of_Life_ is now known as Lord_of_Life 2020-01-15T03:18:48Z pjb: HiRE: that's about what happens, everyone writes his own documentation parser. 2020-01-15T03:19:22Z pjb: White_Flame: dynamic binding is not in any scope. It's in some TIME! 2020-01-15T03:19:49Z pjb: "global" is a lexical notion. So wrong. 2020-01-15T03:20:34Z White_Flame sighs 2020-01-15T03:20:37Z pjb: "eternal" would be a dynamic (time) notion, but it implies some level of immutability, so it would do only for defconstant… 2020-01-15T03:20:51Z White_Flame: The length of time is a scope with a definite beginning and usually definite ending 2020-01-15T03:21:04Z pjb: Some "initial" binding of special variable can be specified with defparameter/defvar. 2020-01-15T03:21:17Z White_Flame: "global" means many things, and the binding in question is the shared one that everybody sees without a local private override 2020-01-15T03:21:34Z no-defun-allowed: SBCL has a macro named DEFGLOBAL, so there is some precedent to calling it a global value. 2020-01-15T03:21:45Z pjb: White_Flame: In the expression "global variable", "global" designates a lexical scope. 2020-01-15T03:21:50Z White_Flame: no-defun-allowed: yes, as do older lisps when dynamic binding was new 2020-01-15T03:22:14Z no-defun-allowed: Dynamic binding was new once? 2020-01-15T03:22:15Z White_Flame: but this isn't "global variable", it's a "global value" or "global binding" 2020-01-15T03:22:31Z pjb: White_Flame: defining a variable with defparameter or defvar doesn't propagate its definition in the past. Therefore it cannot be a "global temporal" scope. 2020-01-15T03:22:41Z White_Flame: no-defun-allowed: ah, no, more an optimization thing 2020-01-15T03:22:50Z shifty quit (Ping timeout: 240 seconds) 2020-01-15T03:23:03Z igemnace joined #lisp 2020-01-15T03:23:07Z White_Flame: pjb: the "shared" notion is the one most related to "global" 2020-01-15T03:23:37Z White_Flame: the scope is the distinction between this one and private bindings that other threads of execution create 2020-01-15T03:25:37Z Bike: defglobal doesn't define a special variable, so that's more of a point against, really 2020-01-15T03:26:55Z saravia joined #lisp 2020-01-15T03:27:15Z White_Flame: other terms might be "default" or "shared" or "public" or something 2020-01-15T03:27:20Z Necktwi joined #lisp 2020-01-15T03:27:25Z HiRE: tbh dynamic and lexical scope still kind of confuse me with lisp 2020-01-15T03:27:29Z White_Flame: but I did default to "global" as well, just couldn't find any specific basis for it 2020-01-15T03:27:29Z pjb: dynamic binding is a fucking TIME notion! 2020-01-15T03:27:42Z White_Flame: pjb: and time has scopes, too 2020-01-15T03:27:44Z pjb: default, shared or public is not on the time axis! 2020-01-15T03:27:49Z White_Flame: and scopes control visibility 2020-01-15T03:27:54Z White_Flame: it is the proper term 2020-01-15T03:27:55Z pjb: There are time intervals, yes. 2020-01-15T03:28:01Z HiRE: I think its just the names of the scope. The process is intuitive but "dynamic" goofs me up for some reason. 2020-01-15T03:28:32Z Bike: the clhs entry for defvar/defparameter calls it the "value cell" but that's kinda bad for other reasons 2020-01-15T03:28:37Z pjb: If you use the same word for the two orthogonal notion, you are bound to be confused, and to confuse everybody. 2020-01-15T03:28:39Z White_Flame: right 2020-01-15T03:28:44Z White_Flame: (Bike 2020-01-15T03:29:00Z no-defun-allowed: ) 2020-01-15T03:29:03Z White_Flame: and does the "value cell" point to a private location when another dynamic binding is in effect? 2020-01-15T03:29:13Z HiRE: thank you for fixing my ocd no-defun-allowed 2020-01-15T03:29:29Z saravia quit (Client Quit) 2020-01-15T03:29:32Z White_Flame: as opposed to always meaning the (usually) symbol struct slot? 2020-01-15T03:32:21Z slyrus_ joined #lisp 2020-01-15T03:35:18Z slyrus quit (Ping timeout: 265 seconds) 2020-01-15T03:36:59Z White_Flame: " A dynamic variable can be referenced outside the dynamic extent of a form that binds it. Such a variable is sometimes called a ``global variable'' but is still in all respects just a dynamic variable whose binding happens to exist in the global environment rather than in some dynamic environment. " 2020-01-15T03:37:17Z White_Flame: so I think "global binding" still is the best one 2020-01-15T03:37:38Z Codaraxis quit (Read error: Connection reset by peer) 2020-01-15T03:38:17Z White_Flame: harkening to the term "global environment" 2020-01-15T03:38:45Z White_Flame: (which again has zero to do with lexical notions) 2020-01-15T03:44:22Z White_Flame: well, specific to the comment I'm writing, "global value" would imply the value held in symbol's said "global binding", even if there are other dynamic bindings flying around 2020-01-15T03:44:29Z smokeink joined #lisp 2020-01-15T03:44:51Z slyrus__ joined #lisp 2020-01-15T03:47:33Z slyrus_ quit (Ping timeout: 272 seconds) 2020-01-15T03:48:22Z White_Flame: oh, and "global variable" is in the glossary as well: "global variable n. a dynamic variable or a constant variable." 2020-01-15T03:48:37Z White_Flame: (lol "constant variable") 2020-01-15T03:49:49Z no-defun-allowed: Perhaps it's varying at a constant rate. 2020-01-15T03:50:07Z White_Flame: as they say, "constants aren't, and variables don't." 2020-01-15T03:50:23Z White_Flame: (at least when it comes to math & physics) 2020-01-15T03:53:19Z davr0s__ joined #lisp 2020-01-15T03:55:04Z karswell quit (Remote host closed the connection) 2020-01-15T03:55:15Z karswell_ joined #lisp 2020-01-15T03:55:28Z davr0s_ quit (Ping timeout: 260 seconds) 2020-01-15T03:55:28Z davr0s quit (Ping timeout: 260 seconds) 2020-01-15T03:55:36Z davr0s joined #lisp 2020-01-15T03:59:20Z karlosz left #lisp 2020-01-15T04:06:02Z _whitelogger quit (Remote host closed the connection) 2020-01-15T04:06:53Z notzmv quit (Ping timeout: 268 seconds) 2020-01-15T04:07:36Z eschulte quit (Remote host closed the connection) 2020-01-15T04:08:16Z _whitelogger joined #lisp 2020-01-15T04:12:15Z Lord_of_Life quit (Ping timeout: 272 seconds) 2020-01-15T04:12:47Z karswell_ is now known as karswell 2020-01-15T04:12:57Z Lord_of_Life joined #lisp 2020-01-15T04:25:45Z gnufr33d0m quit (Quit: gnufr33d0m) 2020-01-15T04:28:26Z gnufr33d0m joined #lisp 2020-01-15T04:31:57Z remexre quit (Quit: WeeChat 2.6) 2020-01-15T04:36:01Z Bike quit (Quit: Lost terminal) 2020-01-15T04:37:27Z gravicappa joined #lisp 2020-01-15T04:41:24Z stepnem_ quit (Ping timeout: 258 seconds) 2020-01-15T04:42:06Z stepnem joined #lisp 2020-01-15T04:48:08Z milanj quit (Quit: This computer has gone to sleep) 2020-01-15T04:48:23Z davisr_ joined #lisp 2020-01-15T04:50:59Z davisr quit (Ping timeout: 265 seconds) 2020-01-15T04:53:38Z oxum joined #lisp 2020-01-15T04:54:32Z beach: Good morning everyone! 2020-01-15T04:54:52Z LdBeth: Hello beach 2020-01-15T04:59:11Z patrixl joined #lisp 2020-01-15T05:10:14Z oni-on-ion quit (Remote host closed the connection) 2020-01-15T05:10:34Z oni-on-ion joined #lisp 2020-01-15T05:15:18Z ahungry joined #lisp 2020-01-15T05:29:57Z ahungry quit (Remote host closed the connection) 2020-01-15T05:33:21Z slyrus_ joined #lisp 2020-01-15T05:35:03Z vlatkoB joined #lisp 2020-01-15T05:36:18Z slyrus__ quit (Ping timeout: 268 seconds) 2020-01-15T05:36:49Z slyrus__ joined #lisp 2020-01-15T05:40:00Z slyrus_ quit (Ping timeout: 268 seconds) 2020-01-15T05:48:16Z torbo quit (Remote host closed the connection) 2020-01-15T05:53:49Z brown121407 quit (Ping timeout: 265 seconds) 2020-01-15T05:54:05Z brown121407 joined #lisp 2020-01-15T05:55:12Z karswell quit (Remote host closed the connection) 2020-01-15T05:56:30Z karswell joined #lisp 2020-01-15T05:57:52Z gnufr33d0m quit (Quit: gnufr33d0m) 2020-01-15T06:00:05Z anewuser quit (Quit: anewuser) 2020-01-15T06:07:03Z koenig quit (Ping timeout: 246 seconds) 2020-01-15T06:08:55Z koenig joined #lisp 2020-01-15T06:14:29Z smokeink: how to muffle such notes? note: doing unsigned word to integer coercion (cost 20) to "" 2020-01-15T06:24:10Z varjag joined #lisp 2020-01-15T06:25:19Z narimiran joined #lisp 2020-01-15T06:29:39Z space_otter joined #lisp 2020-01-15T06:33:44Z sauvin joined #lisp 2020-01-15T06:33:50Z rtra joined #lisp 2020-01-15T06:36:21Z space_otter quit (Remote host closed the connection) 2020-01-15T06:37:26Z space_otter joined #lisp 2020-01-15T06:39:02Z jello_pudding joined #lisp 2020-01-15T06:41:27Z rtra quit (Ping timeout: 260 seconds) 2020-01-15T06:42:15Z Codaraxis joined #lisp 2020-01-15T06:43:09Z rtra joined #lisp 2020-01-15T06:44:30Z seok joined #lisp 2020-01-15T06:45:13Z varjag quit (Ping timeout: 258 seconds) 2020-01-15T06:49:27Z karswell quit (Read error: Connection reset by peer) 2020-01-15T06:49:53Z rtra quit (Ping timeout: 245 seconds) 2020-01-15T06:53:39Z ebzzry quit (Ping timeout: 258 seconds) 2020-01-15T06:54:56Z jprajzne joined #lisp 2020-01-15T06:55:09Z ebzzry joined #lisp 2020-01-15T06:55:58Z dale quit (Quit: My computer has gone to sleep) 2020-01-15T07:06:25Z vivit quit (Ping timeout: 272 seconds) 2020-01-15T07:10:13Z scymtym quit (Ping timeout: 272 seconds) 2020-01-15T07:14:09Z White_Flame: smokeink: (declare (sb-ext:muffle-conditions optimization-note)) in the scope 2020-01-15T07:14:50Z White_Flame: I have a macro that generates `(locally (declare ....) ,@body) so I can easily wrap it around small operations 2020-01-15T07:15:43Z White_Flame: (declare (sb-ext:unmuffle-conditions optimization-note)) around the parameters of the subform also allows its whinings to not be muffled, just the singular form in question 2020-01-15T07:17:38Z ebzzry quit (Ping timeout: 265 seconds) 2020-01-15T07:18:27Z koenig quit (Ping timeout: 272 seconds) 2020-01-15T07:18:53Z koenig joined #lisp 2020-01-15T07:19:54Z seok: Is there a library to resize jpg images? 2020-01-15T07:22:36Z space_otter quit (Remote host closed the connection) 2020-01-15T07:23:39Z space_otter joined #lisp 2020-01-15T07:24:47Z jonatack quit (Ping timeout: 272 seconds) 2020-01-15T07:26:04Z adolby quit (Remote host closed the connection) 2020-01-15T07:26:11Z slyrus__: seok: you can do that with opticl pretty easily 2020-01-15T07:26:59Z seok: slyrus__: cool, thanks 2020-01-15T07:27:05Z smokeink: White_Flame: thanks 2020-01-15T07:28:16Z adolby joined #lisp 2020-01-15T07:29:17Z jonatack joined #lisp 2020-01-15T07:32:20Z Buggys quit (Ping timeout: 248 seconds) 2020-01-15T07:32:39Z frgo quit (Remote host closed the connection) 2020-01-15T07:33:19Z slyrus_ joined #lisp 2020-01-15T07:34:53Z scymtym joined #lisp 2020-01-15T07:35:18Z Buggys joined #lisp 2020-01-15T07:35:49Z slyrus__ quit (Ping timeout: 258 seconds) 2020-01-15T07:37:48Z Shinmera: HiRE: If you have questions about Staple, let me know. 2020-01-15T07:39:17Z grabarz joined #lisp 2020-01-15T07:40:46Z flamebeard joined #lisp 2020-01-15T07:43:03Z gxt quit (Ping timeout: 240 seconds) 2020-01-15T07:43:52Z jonatack quit (Ping timeout: 260 seconds) 2020-01-15T07:49:34Z JohnMS_WORK joined #lisp 2020-01-15T07:50:33Z shifty joined #lisp 2020-01-15T07:51:00Z grabarz quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-15T08:00:14Z william1_ joined #lisp 2020-01-15T08:01:13Z frgo joined #lisp 2020-01-15T08:01:35Z frgo quit (Remote host closed the connection) 2020-01-15T08:01:58Z frgo joined #lisp 2020-01-15T08:02:12Z varjag joined #lisp 2020-01-15T08:04:26Z william1_ quit (Ping timeout: 240 seconds) 2020-01-15T08:09:17Z JohnMS joined #lisp 2020-01-15T08:09:21Z slyrus__ joined #lisp 2020-01-15T08:10:19Z grabarz joined #lisp 2020-01-15T08:12:14Z slyrus_ quit (Ping timeout: 258 seconds) 2020-01-15T08:12:15Z JohnMS_WORK quit (Ping timeout: 265 seconds) 2020-01-15T08:13:55Z rtra joined #lisp 2020-01-15T08:17:23Z picantest quit (Ping timeout: 260 seconds) 2020-01-15T08:21:11Z Codaraxis_ joined #lisp 2020-01-15T08:21:47Z Codaraxis quit (Ping timeout: 272 seconds) 2020-01-15T08:24:25Z mangul joined #lisp 2020-01-15T08:26:47Z jfb4 joined #lisp 2020-01-15T08:28:32Z jfb4_ quit (Ping timeout: 268 seconds) 2020-01-15T08:37:32Z rtra quit (Ping timeout: 258 seconds) 2020-01-15T08:41:08Z rtra joined #lisp 2020-01-15T08:41:49Z trittweiler: White_Flame, "global binding" versus "thread-local binding" (non-standard, of course) versus "local binding" is decent terminology I would reckon 2020-01-15T08:44:48Z jackdaniel: isn't the terminology: deep binding and shallow binding (and a symbol value which is not a binding)? 2020-01-15T08:45:04Z milanj joined #lisp 2020-01-15T08:46:14Z jackdaniel: and a consequence of deep binding implementation technique are thread-local bindings, and shallow gives you bindigns which are shared across threads (n.b probably harder to synchronize ) 2020-01-15T08:47:01Z _fe_ joined #lisp 2020-01-15T08:48:23Z smokeink: White_Flame: unknown type specifier: OPTIMIZATION-NOTE 2020-01-15T08:49:45Z ralt joined #lisp 2020-01-15T08:50:58Z beach: jackdaniel: That doesn't sound right. 2020-01-15T08:51:17Z beach: jackdaniel: The distinction between deep and shallow binding is just an implementation issue. 2020-01-15T08:52:34Z beach: jackdaniel: Correct implementation of shallow binding in a multi-thread context is that there must be a per-thread "value cell". 2020-01-15T08:52:36Z jackdaniel: beach: isn't this issue directly influencing how binding behaves in threads? 2020-01-15T08:52:46Z beach: I should hope not. 2020-01-15T08:54:06Z beach: From memory, SBCL assigns a number to a symbol as soon as it is used as a variable. This number is used as an index into a table in the reified thread. 2020-01-15T08:54:12Z jackdaniel: hm, thanks for correcting me. I'll re-read the relevant parts of LiSP then to improve my understanding 2020-01-15T08:54:26Z beach: That table contains the per-thread "value cells". 2020-01-15T08:54:55Z mingus`` quit (Remote host closed the connection) 2020-01-15T08:55:34Z jackdaniel: I see 2020-01-15T08:59:48Z rtra quit (Ping timeout: 268 seconds) 2020-01-15T09:03:05Z beach: Does ECL use deep binding then? 2020-01-15T09:03:36Z hhdave joined #lisp 2020-01-15T09:05:46Z jackdaniel: yes, it has a per-thread bindings array 2020-01-15T09:06:04Z jackdaniel: (and stack) 2020-01-15T09:06:12Z beach: Then that is shallow binding. 2020-01-15T09:06:18Z beach: No? 2020-01-15T09:06:29Z beach: How does it access the current value of a variable? 2020-01-15T09:06:44Z beach: Does it traverse the stack or does it consult the array? 2020-01-15T09:07:35Z jackdaniel: sorry, I can't tell from top of my head (and I'm focused on McCLIM issue atm so I'm not eager to look up ECL's internals code) 2020-01-15T09:07:49Z beach: No worries. Just interested. 2020-01-15T09:08:19Z hhdave quit (Ping timeout: 265 seconds) 2020-01-15T09:09:07Z jackdaniel: I think that the location is on the stack and the array element is updated to point at that location 2020-01-15T09:10:03Z Achylles joined #lisp 2020-01-15T09:10:05Z beach: OK. 2020-01-15T09:10:49Z beach: But I wasn't asking what happens when a binding is done or undone. Just what SYMBOL-VALUE does. Again, if you are busy, you don't have to answer. 2020-01-15T09:12:43Z jackdaniel: it looks up value in said array 2020-01-15T09:13:22Z beach: Then you have shallow binding. 2020-01-15T09:13:52Z jackdaniel: OK, thanks for explaining; I think I won't cnofuse these things anymore 2020-01-15T09:14:00Z jonatack joined #lisp 2020-01-15T09:14:07Z beach: Glad to be of help. 2020-01-15T09:14:36Z quazimodo quit (Ping timeout: 268 seconds) 2020-01-15T09:15:05Z hhdave joined #lisp 2020-01-15T09:15:57Z beach: For what it's worth, my current hypothesis is to use deep binding for SICL. I.e., the dynamic environment stack contains binding entries, and there is no per-thread table. SYMBOL-VALUE then has to search the stack to find the most recent binding. 2020-01-15T09:16:20Z redeemed joined #lisp 2020-01-15T09:16:50Z beach: So searching for the current value or setting that value is more expensive than with shallow binding, at least if the stack is somewhat deep. Though finding the table in the thread is not free either. 2020-01-15T09:17:30Z beach: On the other hand, binding/unbinding is cheaper in deep binding than in shallow binding. 2020-01-15T09:19:00Z beach: If it turns out that 1. Access to special variables is frequent, and 2. Those accesses are often to deeply nested bindings, then I may have to reconsider. 2020-01-15T09:19:45Z phlim quit (Quit: WeeChat 2.4) 2020-01-15T09:20:33Z william1 joined #lisp 2020-01-15T09:27:12Z davepdotorg joined #lisp 2020-01-15T09:27:46Z chimneys joined #lisp 2020-01-15T09:27:59Z chimneys: is closure the same ething as currying in lambda calculus 2020-01-15T09:28:08Z LdBeth: no 2020-01-15T09:28:19Z White_Flame: beach: in SBCL, the TLS is always in a register, so "finding the table in the thread" actually is free 2020-01-15T09:28:34Z White_Flame: *tls pointer 2020-01-15T09:29:37Z beach: White_Flame: Yes, I understand. 2020-01-15T09:30:20Z beach: chimneys: A closure can be the result of currying. But closures exist independently. 2020-01-15T09:30:46Z LdBeth: currying is just a function (defun currying (fn) (lambda (x) (lambda (y) (funcall fn x y)))) 2020-01-15T09:30:47Z beach: chimneys: (let ((x 10)) (lambda (y) (+ x y))) creates a closure with one parameter 2020-01-15T09:31:15Z beach: chimneys: When called, the closure returns the parameter + 10. 2020-01-15T09:31:36Z LdBeth: (funcall (funcall (currying #'+) 1) 2) ; 3 2020-01-15T09:34:10Z heisig joined #lisp 2020-01-15T09:34:50Z chimneys quit (Ping timeout: 240 seconds) 2020-01-15T09:36:19Z beach: It is *so* inspiring to answer questions from someone who 1. does not acknowledge this fact, and 2. leaves instead. 2020-01-15T09:37:55Z LdBeth: GG 2020-01-15T09:40:19Z Achylles quit (Ping timeout: 272 seconds) 2020-01-15T09:42:01Z phoe: beach: the channel is logged, so if they ever come again and/or ask again, you can point them towards the logs in the channel topic. 2020-01-15T09:42:14Z ghard joined #lisp 2020-01-15T09:43:19Z jackdaniel: "- hey, I remember your nick from 5months ago, you did not thank me - do you remember that? - no (leaves the channel)", pretty burdensome strategy 2020-01-15T09:44:04Z jackdaniel: and I doubt that would change the culture of a person who is reminded that they did not follow proper netiquette 2020-01-15T09:45:20Z phoe: jackdaniel: right 2020-01-15T09:45:44Z phoe: I thought of something like more like "oh I happen to recognize that nickname, they asked a question that was answered but they left, the answer is in the channel logs" 2020-01-15T09:45:58Z phoe: but that approach has its obvious downsides 2020-01-15T09:46:06Z phoe: oh well, let me try to wake up instead 2020-01-15T09:46:16Z shka_: good day everyone! 2020-01-15T09:46:27Z tiwEllien joined #lisp 2020-01-15T09:46:31Z LdBeth: hi shka_ 2020-01-15T09:52:30Z Achylles joined #lisp 2020-01-15T09:53:58Z jprajzne quit (Quit: jprajzne) 2020-01-15T10:00:57Z william1_ joined #lisp 2020-01-15T10:02:40Z phoe: heyy 2020-01-15T10:03:27Z beach: I totally agree with jackdaniel. 2020-01-15T10:03:51Z beach: Hello shka_. 2020-01-15T10:07:01Z no-defun-allowed: Hello shka_ and phoe 2020-01-15T10:09:30Z mingus joined #lisp 2020-01-15T10:12:52Z montaropdf joined #lisp 2020-01-15T10:21:22Z rtra joined #lisp 2020-01-15T10:26:25Z okflo joined #lisp 2020-01-15T10:29:08Z okflo left #lisp 2020-01-15T10:33:33Z atgreen joined #lisp 2020-01-15T10:37:38Z ghard: Morning 2020-01-15T10:37:38Z Achylles quit (Remote host closed the connection) 2020-01-15T10:39:18Z beach: Hello ghard. 2020-01-15T10:40:58Z ghard: Have asked this before, methinks, but anyone tried to use ZS3 with DigitalOcean with success (claims to be S3-API-compatible) ? 2020-01-15T10:43:03Z ghard: (maybe this is not a discussion for a lang-focused group) 2020-01-15T10:43:45Z jprajzne joined #lisp 2020-01-15T10:48:20Z sz0 joined #lisp 2020-01-15T10:49:05Z m00natic joined #lisp 2020-01-15T10:49:20Z shifty quit (Ping timeout: 265 seconds) 2020-01-15T10:54:13Z imherentlybad joined #lisp 2020-01-15T10:57:13Z seok: good evening 2020-01-15T10:57:30Z seok: is there a shortcut to convert array to list? 2020-01-15T10:57:41Z seok: thought alexandria might have it but nope 2020-01-15T10:57:48Z jonatack quit (Ping timeout: 260 seconds) 2020-01-15T10:57:51Z seok: Guess everyone just writes the loop? 2020-01-15T11:03:47Z no-defun-allowed: (coerce 'list) 2020-01-15T11:03:51Z selwyn: (coerce #(1 2 3) 'list) ; => (1 2 3) 2020-01-15T11:03:59Z seok: ah thank you 2020-01-15T11:04:13Z no-defun-allowed: Note that it won't work for arrays of arbitrary dimensions, but only for one-dimensional vectors. 2020-01-15T11:05:05Z space_otter quit (Remote host closed the connection) 2020-01-15T11:05:14Z seok: yup 2020-01-15T11:06:41Z smokeink quit (Remote host closed the connection) 2020-01-15T11:08:02Z smokeink joined #lisp 2020-01-15T11:08:03Z smokeink quit (Remote host closed the connection) 2020-01-15T11:10:13Z decent-username joined #lisp 2020-01-15T11:11:30Z Achylles joined #lisp 2020-01-15T11:16:20Z EvW joined #lisp 2020-01-15T11:24:43Z gnufr33d0m joined #lisp 2020-01-15T11:31:13Z oxum quit (Remote host closed the connection) 2020-01-15T11:36:51Z jfb4 quit (Ping timeout: 272 seconds) 2020-01-15T11:38:47Z jfb4 joined #lisp 2020-01-15T11:39:20Z oxum joined #lisp 2020-01-15T11:41:38Z ggole joined #lisp 2020-01-15T11:43:27Z nullman quit (Remote host closed the connection) 2020-01-15T11:43:47Z nullman joined #lisp 2020-01-15T11:46:33Z EvW quit (Ping timeout: 245 seconds) 2020-01-15T11:58:22Z dddddd joined #lisp 2020-01-15T11:59:03Z jonatack joined #lisp 2020-01-15T11:59:39Z Achylles quit (Ping timeout: 272 seconds) 2020-01-15T12:05:27Z Necktwi quit (Read error: Connection reset by peer) 2020-01-15T12:05:49Z Necktwi joined #lisp 2020-01-15T12:05:55Z rwcom6 joined #lisp 2020-01-15T12:07:53Z rwcom quit (Ping timeout: 268 seconds) 2020-01-15T12:07:53Z rwcom6 is now known as rwcom 2020-01-15T12:09:18Z imherentlybad quit (Ping timeout: 268 seconds) 2020-01-15T12:11:40Z Achylles joined #lisp 2020-01-15T12:12:19Z rwcom5 joined #lisp 2020-01-15T12:12:19Z kajo quit (Ping timeout: 272 seconds) 2020-01-15T12:13:27Z kajo joined #lisp 2020-01-15T12:14:03Z rwcom quit (Ping timeout: 268 seconds) 2020-01-15T12:14:03Z rwcom5 is now known as rwcom 2020-01-15T12:14:13Z atgreen quit (Ping timeout: 272 seconds) 2020-01-15T12:16:02Z william1_ quit (Ping timeout: 240 seconds) 2020-01-15T12:16:16Z EvW joined #lisp 2020-01-15T12:17:00Z ljavorsk joined #lisp 2020-01-15T12:19:13Z brown121407 quit (Read error: Connection reset by peer) 2020-01-15T12:19:22Z brown121407 joined #lisp 2020-01-15T12:21:18Z pjb: selwyn: (let ((array #2A((1 2 3) (4 5 6)))) (coerce (make-array (reduce (function *) (array-dimensions array)) :displaced-to array) 'list)) #| --> (1 2 3 4 5 6) |# 2020-01-15T12:25:01Z Lycurgus joined #lisp 2020-01-15T12:25:50Z hlavaty joined #lisp 2020-01-15T12:26:39Z milanj quit (Quit: This computer has gone to sleep) 2020-01-15T12:27:55Z seok quit (Ping timeout: 260 seconds) 2020-01-15T12:29:56Z _death: pjb: you can use array-total-size instead of the reduction 2020-01-15T12:30:20Z pjb: _death: oh, indeed! 2020-01-15T12:30:43Z pjb: (coerce (make-array (array-total-size array) :displaced-to array) 'list) 2020-01-15T12:30:50Z ljavorsk quit (Ping timeout: 265 seconds) 2020-01-15T12:32:33Z _death: pjb: just the other day I wrote this kind of flatten-array operator.. useful if you're representing bayesian network conditional probability as multi-dimensional arrays 2020-01-15T12:32:59Z _death: *conditional probability tables 2020-01-15T12:37:26Z Nilby joined #lisp 2020-01-15T12:41:18Z smokeink joined #lisp 2020-01-15T12:45:26Z ggole quit (Remote host closed the connection) 2020-01-15T12:46:04Z ggole joined #lisp 2020-01-15T12:47:02Z Lycurgus quit (Remote host closed the connection) 2020-01-15T12:55:27Z milanj joined #lisp 2020-01-15T13:00:50Z raghavgururajan quit (Read error: Connection reset by peer) 2020-01-15T13:06:11Z reepca: is there a way to print arrays that preserves the fill pointer? 2020-01-15T13:06:43Z _death: you need to write your own printer 2020-01-15T13:07:25Z decent-username quit (Ping timeout: 272 seconds) 2020-01-15T13:07:28Z reepca: for example: (defparameter test-array (make-array 10 :adjustable t :fill-pointer 0 :element-type '(unsigned-byte 8))) 2020-01-15T13:07:37Z reepca: (print test-array) => #() 2020-01-15T13:07:51Z reepca: (let ((*print-readbly* t)) (print test-array)) => #A((10) (UNSIGNED-BYTE 8) 0 0 0 0 0 0 0 0 0 0) 2020-01-15T13:08:19Z _death: the latter looks like an extension 2020-01-15T13:08:48Z reepca: but it sadly still doesn't preserve the fill-pointer 2020-01-15T13:09:59Z rtra quit (Ping timeout: 265 seconds) 2020-01-15T13:10:50Z rwcom quit (Ping timeout: 240 seconds) 2020-01-15T13:11:23Z rwcom joined #lisp 2020-01-15T13:11:27Z bitmapper joined #lisp 2020-01-15T13:12:24Z pjb: reepca: and it doesn't respect *print-readably*. 2020-01-15T13:12:53Z pjb: reepca: (let ((*print-readably* nil)) (print test-array)) -> # 2020-01-15T13:13:11Z reepca: just realized, s/*print-readbly*/*print-readably* 2020-01-15T13:13:26Z reepca: need to touch up the soldering on my 'a' key again... 2020-01-15T13:13:40Z reepca: but anyway, behavior is the same 2020-01-15T13:13:44Z pjb: reepca: but you cannot use print, because it is not specified whether print uses print-object or not, and you cannot define print-object methods on standard classes such as array. 2020-01-15T13:13:58Z smokeink quit (Quit: Leaving) 2020-01-15T13:14:03Z pjb: reepca: you may be able to do something with *print-pretty*, I'm not sure. 2020-01-15T13:14:15Z _death: pjb: sure 2020-01-15T13:14:25Z bitmapper: this may be the most annoying bug ive ever encountered 2020-01-15T13:14:27Z pjb: reepca: you should also define a new #A dispatching reader macro. 2020-01-15T13:14:37Z EvW quit (Ping timeout: 260 seconds) 2020-01-15T13:15:04Z pjb: bitmapper: just define your own functions. (defgeneric serialize (…)) 2020-01-15T13:15:30Z bitmapper: nonono, not this 2020-01-15T13:16:03Z bitmapper: debugger invoked on a COMMON-LISP:UNDEFINED-FUNCTION in thread #: The function SB-C::%MORE-ARG-CONTEXT is undefined. 2020-01-15T13:16:03Z bitmapper: this 2020-01-15T13:19:05Z bitmapper: how does that even occur 2020-01-15T13:19:11Z boeg: I am trying to build a piece of software (the next browser) but it seems a common lisp error happens and it errors out. I get the error message thats put into the Makefile to make sure i have the xclip binary installed as well as developer files for sqlite and fixposix which I have in /usr/bin and in /usr/lib and /lib. I'm not sure if it's not able to find one or all of them or if something else goes wrong. Would anyone mind 2020-01-15T13:19:11Z boeg: taking a 2020-01-15T13:19:11Z boeg: look at the output from make and see if they can figure out what is wrong? It's here: http://ix.io/27sw 2020-01-15T13:24:12Z galdor: the error is The value "The root of all modes." is not of type LIST also called "do not use crappy stuff such as cl-annot which is dead, repo archived and unmaintained (and useless to start with)" or "test your code" 2020-01-15T13:24:27Z galdor: (and by "your" I mean "next developers") 2020-01-15T13:24:31Z boeg: right 2020-01-15T13:24:44Z boeg: so its not actually a dependency that is missing? 2020-01-15T13:24:49Z phoe: nope, that's a type error 2020-01-15T13:24:52Z boeg: ah 2020-01-15T13:24:56Z boeg: crossed my mind 2020-01-15T13:25:00Z phoe: I'd mention jmercouris if he was around here, but he isn't 2020-01-15T13:25:03Z boeg: thank you for confirming it 2020-01-15T13:25:05Z phoe: so just file an issue on the next repository 2020-01-15T13:25:27Z galdor: oh they use puri for a web browser 2020-01-15T13:25:34Z boeg: yeah i'm just gonna talk with him about it 2020-01-15T13:25:35Z galdor: it's not going to end well 2020-01-15T13:31:09Z ebzzry joined #lisp 2020-01-15T13:33:27Z frgo quit 2020-01-15T13:35:24Z frgo joined #lisp 2020-01-15T13:37:03Z william1 quit (Ping timeout: 265 seconds) 2020-01-15T13:48:15Z Bike joined #lisp 2020-01-15T13:50:21Z frgo_ joined #lisp 2020-01-15T13:51:30Z seok joined #lisp 2020-01-15T13:51:32Z seok: if the complexity of gethash is O(1), isn't it better than arrays or lists in all cases for large dataset? 2020-01-15T13:52:04Z Bike: arrays are also O(1), provided the key is a nonnegative integer 2020-01-15T13:52:32Z Shinmera: hash tables aren't magic. 2020-01-15T13:52:34Z seok: Right, but you can setf to hash with O(1) too right? 2020-01-15T13:52:44Z Bike: more or less, sure 2020-01-15T13:52:45Z phoe: seok: they're amortized O(1) 2020-01-15T13:52:53Z Bike: you might also want to do things other than retrieve an element 2020-01-15T13:53:15Z phoe: nonetheless, array access usually has a smaller constant factor than hashing 2020-01-15T13:53:45Z seok: phoe: so would that mean arrays are better in smaller sizes but hash better in larger ones? 2020-01-15T13:53:47Z phoe: plus there's very fast iteration if you want to access elements sequentially 2020-01-15T13:53:58Z frgo quit (Ping timeout: 260 seconds) 2020-01-15T13:54:09Z Bike: you're not always using them for the same things, so comparing them may not be sensible 2020-01-15T13:54:09Z phoe: seok: not really, I'd say it depends on your use case 2020-01-15T13:54:46Z seok: Shinmera: wow, nice seeing you around, love your work 2020-01-15T13:54:52Z oni-on-ion: =) 2020-01-15T13:54:59Z Shinmera: Thanks! 2020-01-15T13:55:15Z seok: works* 2020-01-15T13:57:26Z amerlyq joined #lisp 2020-01-15T13:58:14Z hhdave_ joined #lisp 2020-01-15T13:58:16Z hhdave quit (Ping timeout: 268 seconds) 2020-01-15T13:58:16Z hhdave_ is now known as hhdave 2020-01-15T13:59:43Z d4ryus: seok: Depending on use case rehashing might slow things down 2020-01-15T13:59:46Z EvW joined #lisp 2020-01-15T14:00:02Z seok: oh ok 2020-01-15T14:00:26Z zmv joined #lisp 2020-01-15T14:00:33Z Shinmera: there's also memory adjacency, the fact that you need to hash at all, etc. 2020-01-15T14:00:51Z Shinmera: Then there's a ton of different ways of writing a hash table 2020-01-15T14:01:04Z Shinmera: And it's just not a black and white answer in any way. 2020-01-15T14:01:33Z Nilby: Amortized O(1) + C is slower than exact O(1) + 0, especially when C is related to (length key). 2020-01-15T14:02:01Z rtra joined #lisp 2020-01-15T14:03:51Z zmv: Morning, folks. 2020-01-15T14:05:07Z gnufr33d0m quit (Quit: gnufr33d0m) 2020-01-15T14:06:08Z billstclair quit 2020-01-15T14:06:25Z billstclair joined #lisp 2020-01-15T14:06:53Z seok: hello 2020-01-15T14:08:58Z rwcom quit (Read error: Connection reset by peer) 2020-01-15T14:09:09Z pfdietz joined #lisp 2020-01-15T14:09:17Z jhei quit 2020-01-15T14:09:31Z rwcom joined #lisp 2020-01-15T14:09:33Z jhei joined #lisp 2020-01-15T14:10:43Z XachX quit (Quit: ) 2020-01-15T14:10:43Z XachX quit 2020-01-15T14:11:00Z XachX joined #lisp 2020-01-15T14:11:06Z lucasb joined #lisp 2020-01-15T14:13:15Z william1 joined #lisp 2020-01-15T14:13:54Z pjb: seok: https://termbin.com/fz5l 2020-01-15T14:14:27Z pfdietz: "hash tables aren't magic" 2020-01-15T14:14:37Z seok: Oh 2020-01-15T14:15:04Z pfdietz: Had a case recently where using string-case was much faster than intern, on a set of common symbol names. 2020-01-15T14:15:06Z pjb: seok: and here, you have integers as keys… Any other object would take a lot more time to hash. 2020-01-15T14:15:41Z seok: That is solid evidence, nice job 2020-01-15T14:15:55Z pjb: pfdietz: you can usually exclude a case on 1 char=, and there are a finite number of cases, so you can select the right branch in basically O(1). 2020-01-15T14:16:23Z pjb: finite and fixed, ie. constant number of cases. 2020-01-15T14:16:29Z LiamH joined #lisp 2020-01-15T14:16:49Z pfdietz: And you can play games with multiple character comparisons using (logior (logxor ...) (logxor ...) ...), which string-case does. 2020-01-15T14:18:30Z clothespin joined #lisp 2020-01-15T14:20:27Z gjnoonan quit 2020-01-15T14:20:50Z gjnoonan joined #lisp 2020-01-15T14:23:37Z decent-username joined #lisp 2020-01-15T14:28:10Z _death: if the strings are fixed, you could use a perfect hash table 2020-01-15T14:29:33Z hlavaty quit (Ping timeout: 260 seconds) 2020-01-15T14:30:33Z Nilby: Thinking about readably printing arrays made me try this experiement. Is there anything I missed? https://termbin.com/82c2 2020-01-15T14:32:28Z _death: if you go that way, you can use #.(make-array ...) 2020-01-15T14:34:39Z Nilby: oh, right, of course 2020-01-15T14:34:52Z _death: also unclear what you get by printing displacement 2020-01-15T14:35:17Z _death: the result of type-of is implementation defined 2020-01-15T14:35:33Z Bike: if you have two arrays displaced to the same array and you have print-circle you can reconstruct their sharing 2020-01-15T14:35:34Z Bike: i guess 2020-01-15T14:35:37Z _death: you don't need total size if you print the dimensions 2020-01-15T14:36:17Z Nilby: I imagine potentially reconstructing the sharing 2020-01-15T14:36:33Z _death: Bike: but then you want an actual displacement reference, rather than printing the data again 2020-01-15T14:36:45Z Bike: also if it is displaced you don't need the data. course you might have to recursively total-array-whatever-print the underlying array 2020-01-15T14:37:20Z _death: also note that multiple displacements 2020-01-15T14:37:35Z _death: *you can have 2020-01-15T14:38:14Z Nilby: Thank you. Now I see how redundant it is. Also I'm considering race conditions. 2020-01-15T14:38:31Z _death: also unclear how useful this is in general 2020-01-15T14:38:51Z Nilby: Yeah. It would be wierd to reconstruct a possibly huge chain of displacements. 2020-01-15T14:41:12Z Nilby: I agree. My feeling is that if it was generally useful, it would be in the standard. 2020-01-15T14:42:17Z milanj quit (Read error: Connection reset by peer) 2020-01-15T14:42:34Z _death: in reepca case it was also strange because he has an octet vector.. which usually don't have fill pointers, and usually are printed/read as octets.. 2020-01-15T14:42:45Z milanj joined #lisp 2020-01-15T14:46:03Z reepca: fill pointer + adjustable was because there isn't a non-blocking way to read more than one byte at a time in usocket 2020-01-15T14:47:32Z _death: maybe try iolib or basic-binary-ipc 2020-01-15T14:50:37Z _death: for adjustable, usually you know (or arrange to know) the size before-hand... for fill pointer, it makes sense, but for octet vectors I would consider having it separate so that you have a simple-array 2020-01-15T14:51:28Z boeg: How does it work when you have function with an argument list like `(defun aname (a (&rest argv) &body body) ()`? Doesn't &rest and &body kinda do the same? 2020-01-15T14:51:54Z _death: boeg: you can't have such a function in CL 2020-01-15T14:51:56Z boeg: (i just saw a piece of code like that in the wild) 2020-01-15T14:52:01Z boeg: oh 2020-01-15T14:52:04Z boeg: weird 2020-01-15T14:52:20Z boeg: _death: it's a macro definition - does that make a difference? 2020-01-15T14:52:22Z _death: boeg: macros can take a destructuring lambda list 2020-01-15T14:52:31Z selwyn: it makes a difference 2020-01-15T14:52:34Z boeg: ah 2020-01-15T14:52:42Z boeg: so how does it work in that case? 2020-01-15T14:53:12Z clothespin quit (Ping timeout: 260 seconds) 2020-01-15T14:53:15Z Bike: it means it takes at least two arguments. the second argument is a list and fills argv, while any further arguments fill body. 2020-01-15T14:53:32Z Bike: you can't just ignore the parentheses of (&rest argv). 2020-01-15T14:53:55Z boeg: ah alright 2020-01-15T14:55:21Z decent-username quit (Ping timeout: 265 seconds) 2020-01-15T14:55:35Z boeg: makes sense, thank you 2020-01-15T14:56:45Z p_l: I think it would look in use somewhat like (aname first-arg (argv list goes here) body...) ? 2020-01-15T14:57:19Z pjb: Nilby: note that if there's a displacement, you will want to have *print-circle* set to t, and deal with references. 2020-01-15T14:58:27Z JohnMS quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2020-01-15T14:59:51Z redeemed quit (Quit: q) 2020-01-15T15:00:35Z Bike quit (Remote host closed the connection) 2020-01-15T15:01:08Z Bike joined #lisp 2020-01-15T15:01:25Z pjb: Also, it looks like adjusting a displaced array to another displaced array so that there is a circle leads to an infinite loop. 2020-01-15T15:02:44Z Nilby: pjb: I now see the whole subject is fraught with peril in many ways. 2020-01-15T15:05:03Z pjb: Nilby: The problem is if you want to read back the printed-readably structure. If you just want to describe the structure, you can give all the information (a copy of it). But if you want to load back, you'd have to identify existing objects that are referenced. You get the ORM or OORM problem, with caching, identification of objects, etc… 2020-01-15T15:05:56Z pjb: Nilby: note there's (inspect your-array) 2020-01-15T15:08:20Z jfb4_ joined #lisp 2020-01-15T15:09:01Z jfb4 quit (Ping timeout: 272 seconds) 2020-01-15T15:10:41Z Nilby: Right. *print-readably* is a bit deceptive and actually a very deep subject. 2020-01-15T15:14:47Z Nilby: My pet peeve with *print-readably* is package prefixes. 2020-01-15T15:15:25Z flamebeard quit (Remote host closed the connection) 2020-01-15T15:16:01Z flamebeard joined #lisp 2020-01-15T15:16:18Z vivit joined #lisp 2020-01-15T15:16:35Z lavaflow quit (Ping timeout: 268 seconds) 2020-01-15T15:16:55Z flamebeard quit (Remote host closed the connection) 2020-01-15T15:17:07Z flamebeard joined #lisp 2020-01-15T15:17:07Z flamebeard quit (Remote host closed the connection) 2020-01-15T15:17:12Z Xach: Nilby: how so? 2020-01-15T15:21:57Z pjb: Well, I'm not sure if it's completely specified. But basically, it assumes the current readtable. So if you print a symbol, you might not be able to read it in a different readtable, because it's not printed fully qualified and cased |FOO|:|BAR| would be the most readably. However, since again it depends on the readtable, it depends on the reader macro that could exist on #\|. 2020-01-15T15:22:21Z pjb: So something printed readably is not really stand alone. You must specify along the readtable. 2020-01-15T15:22:45Z pjb: Also, one problem is that most people assume the default readtable. 2020-01-15T15:23:22Z Nilby: Xach: Like the package might not be there or internal vs external may have changed. 2020-01-15T15:24:00Z Nilby: Xach: But if you don't have a package prefix, it might be wrong too. 2020-01-15T15:25:37Z Xach: Nilby: do you know the trick for always printing package prefixes? 2020-01-15T15:25:46Z random-nick joined #lisp 2020-01-15T15:26:17Z dale_ joined #lisp 2020-01-15T15:26:35Z dale_ is now known as dale 2020-01-15T15:26:40Z _death: with-standard-io-syntax binds *package* and *readtable* .. though that wouldn't solve all issues of course 2020-01-15T15:27:57Z Nilby: Xach: I'm not sure. 2020-01-15T15:28:33Z Nilby: Is there a trick that (write 'foo :readably t) doesn't do? 2020-01-15T15:28:39Z pfdietz: _death: string-case turns out to be faster than a perfect hash table. 2020-01-15T15:29:40Z _death: pfdietz: could be.. memory access is expensive 2020-01-15T15:32:12Z ebrasca joined #lisp 2020-01-15T15:33:48Z pfdietz: I would like to see similar tricks used for intern itself, at least for standardized packages or packages that import from them. Perhaps even dynamic code generation there. 2020-01-15T15:34:10Z Xach: Nilby: bind *package* to the keyword package to always print prefixes 2020-01-15T15:35:01Z Nilby: Nice. I didn't know that. Thanks! 2020-01-15T15:35:08Z Xach: it is a special case in the spec! 2020-01-15T15:38:00Z pfdietz: The special case being keywords are printed with : even if the current package is the keyword package. 2020-01-15T15:38:30Z Xach: pfdietz: that is not the special case I had in mind 2020-01-15T15:39:41Z Xach: Hmm, I can't find the text of the special case I had in mind, so maybe I dreamed it. 2020-01-15T15:39:44Z picantest joined #lisp 2020-01-15T15:41:19Z Achylles quit (Ping timeout: 272 seconds) 2020-01-15T15:41:58Z Nilby: My dream is to go back to 1994 and add *read-intern* and solve the problem. 2020-01-15T15:42:30Z phoe: Nilby: https://github.com/phoe/safe-read?ts=8 2020-01-15T15:42:34Z phoe: I hacked around this once 2020-01-15T15:44:02Z pfdietz: I now am trying to remember if symbols in other packages can be imported into KEYWORD. 2020-01-15T15:44:26Z pjb: pfdietz: they can. 2020-01-15T15:44:45Z pjb: pfdietz: and if they're homeless, they become keywords. 2020-01-15T15:45:25Z pjb: (let ((s (make-symbol "FOO21312"))) (import s 'keyword) s) #| --> :foo21312 |# 2020-01-15T15:45:48Z pjb: (let ((s (intern "BAR19203" "CL-USER"))) (import s 'keyword) s) #| --> bar19203 |# 2020-01-15T15:46:03Z pjb: (find-symbol "BAR19203" "KEYWORD") #| --> bar19203 ; :external |# 2020-01-15T15:46:11Z pjb: (find-symbol "FOO21312" "KEYWORD") #| --> :foo21312 ; :external |# 2020-01-15T15:46:14Z pjb: :-) 2020-01-15T15:46:30Z seok quit (Remote host closed the connection) 2020-01-15T15:47:05Z jtecca joined #lisp 2020-01-15T15:48:12Z Nilby: phoe: That's cool. I like the protection from intern bombing. 2020-01-15T15:48:25Z bumble-bot joined #lisp 2020-01-15T15:49:32Z pfdietz: Does importing a symbol into a package count as "interning" it? From glossary: intern v.t. 1. (a string in a package) to look up the string in the package, returning either a symbol with that name which was already accessible in the package or a newly created internal symbol of the package with that name. 2020-01-15T15:50:06Z pfdietz: But this does not happen in SBCL when a symbol belonging to another package is imported into the keyword package 2020-01-15T15:50:27Z pjb: pfdietz: yes, in one case: "If any symbol to be imported has no home package (i.e., (symbol-package symbol) => nil), import sets the home package of the symbol to package." 2020-01-15T15:51:37Z pjb: This is why the homeless symbol imported into keyword becomes a symbol. (symbol-value (find-symbol "FOO21312" "KEYWORD")) #| --> :foo21312 |# 2020-01-15T15:51:37Z pjb: 2020-01-15T15:51:40Z pfdietz: The standard makes a distinction between being interned in a package, and having a package as the symbol's home package. 2020-01-15T15:51:51Z pfdietz: So I think this is an SBCL bug. 2020-01-15T15:52:12Z pjb: Only for homeless symbols. No bug here. 2020-01-15T15:53:40Z Achylles joined #lisp 2020-01-15T15:53:55Z pfdietz: No. Simply importing a symbol into a package counts as interning it in that package. 2020-01-15T15:53:57Z Xach: pfdietz: ??? 2020-01-15T15:54:16Z pfdietz: And when a symbol is interned in KEYWORD, certain things have to happen. 2020-01-15T15:54:28Z pfdietz: And they don't. 2020-01-15T15:55:37Z pjb: If the symbol is not homeless then it is NOT interned. It is just present. 2020-01-15T15:55:52Z pjb: But it's a "foreign" symbol, with a different home package. 2020-01-15T15:56:01Z pjb: Only homeless symbols are interned when they are imported. 2020-01-15T15:56:45Z Xach: pfdietz: i want to know more! what should happen? 2020-01-15T15:56:53Z pjb: And when those homeless symbols are imported into keyword, they must become symbols (bound to themselve, become constant variables, exported from keyword). If the implementation doesn't do that in this case, it's a conformity bug. 2020-01-15T15:59:08Z heisig quit (Quit: Leaving) 2020-01-15T15:59:36Z atgreen joined #lisp 2020-01-15T16:00:09Z pfdietz: What should happen is that the symbol becomes a keyword. For example, it should become a constant that evaluates to itself. 2020-01-15T16:01:36Z vms14 joined #lisp 2020-01-15T16:01:40Z Xach: pfdietz: what section is that in? my aimless clicking has failed 2020-01-15T16:02:53Z pfdietz: clhs keywrod 2020-01-15T16:02:53Z specbot: Couldn't find anything for keywrod. 2020-01-15T16:02:57Z pfdietz: clhs keyword 2020-01-15T16:02:57Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/t_kwd.htm 2020-01-15T16:03:14Z vms14: https://i.ibb.co/zFJBqjX/16c1c33e778e.png 2020-01-15T16:03:27Z vms14: https://paste.ubuntu.com/p/TkSnVJ5S9Y/ 2020-01-15T16:04:32Z manualcrank quit (Quit: WeeChat 1.9.1) 2020-01-15T16:04:46Z Nilby: Sadly, this is why my sbcl version will always come up as dirty: https://termbin.com/2i8d 2020-01-15T16:05:01Z Xach: pfdietz: i could see an argument that the magic of intern happens in the "or a newly created" branch 2020-01-15T16:05:26Z brettgilio quit (Ping timeout: 265 seconds) 2020-01-15T16:05:47Z pfdietz: But "intern" as a verb includes both cases. So I don't see how that inrepretation is consistent with the standard. 2020-01-15T16:06:19Z pjb: The standard is no formal. Consistency is inexistant. 2020-01-15T16:06:21Z pfdietz: Also see unintern and see what it does. 2020-01-15T16:06:35Z pjb: That's why we have a job discussing it here… 2020-01-15T16:06:39Z Achylles quit (Ping timeout: 272 seconds) 2020-01-15T16:10:11Z pfdietz: https://bugs.launchpad.net/sbcl/+bug/1859841 2020-01-15T16:10:12Z hhdave quit (Read error: Connection reset by peer) 2020-01-15T16:10:14Z brettgilio joined #lisp 2020-01-15T16:11:22Z montaropdf quit (Quit: WeeChat 2.4) 2020-01-15T16:11:40Z hhdave joined #lisp 2020-01-15T16:11:42Z Xach: pfdietz: intern is approximately (or (find-symbol name package) (let ((sym (make-symbol name))) (import sym package) sym))))) - you're arguing that the find-symbol step should also include the work of making the symbol constant, self-valued, and external, if it isn't already? 2020-01-15T16:13:09Z pfdietz: I'd argue import already has to do that. 2020-01-15T16:13:53Z Xach: importing isn't interning - it's part of interning 2020-01-15T16:14:44Z rwcom quit (Ping timeout: 268 seconds) 2020-01-15T16:14:50Z Xach: make-symbol is also part of interning 2020-01-15T16:14:53Z Xach: and find-symbol 2020-01-15T16:15:02Z pfdietz: Regardless, SBCL fails to do the special keyword processing even if one subsequently calls intern to get that symbol. 2020-01-15T16:15:19Z rwcom joined #lisp 2020-01-15T16:16:04Z Xach: it's kind of regardful, because to get that behavior you'd need to do a lot more work in the find-symbol branch 2020-01-15T16:16:19Z Xach: not that sbcl has shied away from extra work to follow the letter of the standard 2020-01-15T16:18:26Z bumble-bot quit (Read error: Connection reset by peer) 2020-01-15T16:18:43Z Achylles joined #lisp 2020-01-15T16:19:09Z pfdietz: "unintern removes symbol from package. If symbol is present in package, it is removed from package and also from package's shadowing symbols list if it is present there." 2020-01-15T16:19:38Z narimiran quit (Ping timeout: 240 seconds) 2020-01-15T16:19:39Z pfdietz: This implies being present in a package means the symbol is interned in the package. 2020-01-15T16:19:56Z Xach: present means imported 2020-01-15T16:20:21Z pfdietz: Yes 2020-01-15T16:20:47Z pfdietz: As opposed to being accessible merely by means of inheritance from another package via use-package. 2020-01-15T16:20:51Z Xach: you can import without interning, but you can't intern without importing 2020-01-15T16:21:04Z Xach: i wrote a package system so i am familiar with these bits to some degree 2020-01-15T16:21:22Z Xach: or rather, you can intern without importing, if it's accessible already. 2020-01-15T16:22:21Z pfdietz: So there's an inconsistency here between intern and unintern. A symbol could continue be returned by intern even if unintern had been called. 2020-01-15T16:22:59Z Xach: sure - this is one of the examples RG uses ot disparage the package system as a whole 2020-01-15T16:23:34Z smazga joined #lisp 2020-01-15T16:24:18Z pfdietz: In any event, even if we take the more restricted defn of interning, that it doesn't include accessible but not present, there's a bug here. 2020-01-15T16:25:22Z kajo quit (Ping timeout: 260 seconds) 2020-01-15T16:25:35Z Bike quit (Remote host closed the connection) 2020-01-15T16:27:21Z sjl_ joined #lisp 2020-01-15T16:27:28Z pfdietz quit (Remote host closed the connection) 2020-01-15T16:27:40Z Nilby: I'm thankful they could agree on the flawed package system so at least we're not stuck with problems like Elisp. 2020-01-15T16:28:49Z pfdietz joined #lisp 2020-01-15T16:32:42Z Achylles quit (Quit: Leaving) 2020-01-15T16:32:55Z narimiran joined #lisp 2020-01-15T16:35:36Z beach: Nilby: Why do you consider the package system flawed? 2020-01-15T16:37:08Z Nilby: Well, the most recent example is package local nicknames. 2020-01-15T16:38:29Z Nilby: Another example you've probably considered is implementing something like Emacs's buffer local variables in the CL package system. 2020-01-15T16:39:12Z Nilby: But I still think it's okay, and certainly better than nothing. 2020-01-15T16:39:46Z atgreen quit (Ping timeout: 258 seconds) 2020-01-15T16:40:08Z ggole quit (Quit: Leaving) 2020-01-15T16:41:08Z EvW quit (Ping timeout: 245 seconds) 2020-01-15T16:41:17Z Nilby: Another example is my wish for *read-intern* I linked above. 2020-01-15T16:42:41Z _death: The Package Wars ended, but the CLHS uses humour to commemorate 2020-01-15T16:42:51Z slyrus joined #lisp 2020-01-15T16:42:54Z beach: It appears to be a widespread sport to find flaws in the standard, and to wish for the standard to be updated. However, most of the suggestions are made by people (not targeting you Nilby) who know nothing about language design, so they do not know the consequences that their suggestions might have. And they certainly don't know the constraints in the form of historical decisions and time pressure the committee had to deal with. 2020-01-15T16:43:43Z slyrus__ quit (Ping timeout: 260 seconds) 2020-01-15T16:44:43Z Nilby: I lost my meta-ctrl-pinky in the package wars. 2020-01-15T16:44:59Z aeth: As far as finding flaws in the package system (or anywhere), I'd look at hacks that people do to work around the lack of features which they wish they had. For packages, I think what's missing is hierarchical packages because the foo/bar naming idiom is so common. This would not be easy to design and add, though. 2020-01-15T16:45:19Z grabarz quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-15T16:46:11Z Nilby: beach: I agree. Every *read-X*, *print-x* variable has consequeces, problems, and trade offs that are difficult to understand. 2020-01-15T16:46:28Z Odin- joined #lisp 2020-01-15T16:51:23Z kajo joined #lisp 2020-01-15T16:55:05Z pjb: Nilby: HOWEVER, those variables, the printer and the reader, must be understood as development tools, to help debugging (and basically implement the REPL, the debugger, and inspect). They are not industry streight tools to use in your applications. For your application, it is understood that you will have to implement your own I/O and validation functions! 2020-01-15T16:55:27Z Bike joined #lisp 2020-01-15T16:56:03Z vivit quit (Ping timeout: 272 seconds) 2020-01-15T16:56:25Z beach: aeth: So for example, the existence of all those people who wish that SYMBOL-VALUE, EVAL, etc. had access to lexical variables would indicate a flaw in the standard. And we should fix it, thereby making compilation of Common Lisp essentially impossible. 2020-01-15T16:56:33Z vivit joined #lisp 2020-01-15T16:57:49Z Bike: i think the package system problems people usually identify aren't quite like that. 2020-01-15T16:58:18Z hydan quit 2020-01-15T16:58:34Z hydan joined #lisp 2020-01-15T16:58:45Z beach: All I am saying is that there is often more to it than just lamenting the lack of a particular feature. 2020-01-15T17:02:28Z ralt: I often have this snippet in my projects for package aliases... https://www.irccloud.com/pastebin/yjVAmMZI/ 2020-01-15T17:04:34Z beach: ralt: Such code is very likely to create conflicts. 2020-01-15T17:04:55Z _death: code like this is why PLN should exist :) 2020-01-15T17:05:14Z beach: Package-local nicknames solve a real problem. But that does not imply that the standard is flawed. 2020-01-15T17:05:41Z ralt: PLN? 2020-01-15T17:05:46Z vms14 quit (Remote host closed the connection) 2020-01-15T17:05:47Z ralt: ah, package-local nicknames 2020-01-15T17:06:07Z ralt: the standard doesn't have to mean an exhaustive standard library to me 2020-01-15T17:06:14Z Oddity quit (Read error: Connection reset by peer) 2020-01-15T17:07:22Z beach: ralt: Exactly. And that is particularly clear when you notice that people use languages on a daily basis that don't even HAVE a standard. 2020-01-15T17:07:50Z _death: wrt to packages, there are much easier targets to criticize.. 2020-01-15T17:08:11Z beach: _death: Sure, but it gets boring, is what I am saying. 2020-01-15T17:08:36Z ralt: something that _is_ a bit odd with Lisp, is that as opposed to many languages, anything can be outside of the standard. In many languages, if it's not supported by the language, you're SOL, so there is often a strong argument to put that in the main place. Not so for Lisp. 2020-01-15T17:08:50Z ralt: almost anything* 2020-01-15T17:10:13Z oni-on-ion quit (Remote host closed the connection) 2020-01-15T17:10:19Z Xach: pfdietz: if you define an "interned symbol" as one that was created through the intern process I think you can rationalize the current behavior. 2020-01-15T17:10:33Z oni-on-ion joined #lisp 2020-01-15T17:10:53Z Xach: that is, "interned in X" meaning "created by (intern name X)" 2020-01-15T17:10:57Z _death: beach: I wonder whether the Chapter 11 joke was an anachronism 2020-01-15T17:11:19Z ralt: my personal pet peeve is related to pathnames/folders/trailing slash... 2020-01-15T17:12:06Z beach: _death: I must be tired (after a long day), but I don't know what joke you are referring to. 2020-01-15T17:13:44Z Nilby: Thankfully packages aren't likely to be completely bankrupt any time soon. 2020-01-15T17:14:17Z beach: Ah, I think I understand. 2020-01-15T17:14:37Z _death: beach: it's US-centric joke.. in the US "chapter 11" means bankcruptcy.. the CLHS Packages chapter is chapter 11.. during the package flamewars associations were made 2020-01-15T17:14:53Z beach: I see, I see. Thanks. 2020-01-15T17:16:29Z Oddity joined #lisp 2020-01-15T17:17:26Z beach: So anyway, there are very few things in the standard that prevent me from doing my work, and those that do are easy to get around. At the same time, there is a lot of work to be done with what the standard provides. 2020-01-15T17:18:51Z moldybits joined #lisp 2020-01-15T17:18:52Z jtecca quit (Ping timeout: 268 seconds) 2020-01-15T17:21:14Z Khisanth quit (Ping timeout: 240 seconds) 2020-01-15T17:24:42Z davepdotorg quit (Remote host closed the connection) 2020-01-15T17:34:43Z Khisanth joined #lisp 2020-01-15T17:35:47Z hhdave quit (Quit: hhdave) 2020-01-15T17:39:37Z pfdietz: There are problems with the standard, but you have to have some experience to find the real ones. 2020-01-15T17:40:06Z beach: Well put. 2020-01-15T17:40:36Z pfdietz: Example of a non-problem: "it's not a Lisp-1". 2020-01-15T17:42:29Z pfdietz: Another large class of problems are things that are problems, but not significant ones. Edge cases that language lawyers enjoy but that have little practical importance. 2020-01-15T17:43:40Z Bike: i'm good at those. 2020-01-15T17:46:18Z atgreen joined #lisp 2020-01-15T17:46:57Z pfdietz: If I had to choose between "fixing/expanding the standard" and "fixing/expanding available libraries", I go with the latter in a heartbeat. Admittedly, the boundary is a bit blurry. 2020-01-15T17:47:14Z atgreen` joined #lisp 2020-01-15T17:48:14Z oni-on-ion quit (Read error: Connection reset by peer) 2020-01-15T17:48:37Z oni-on-ion joined #lisp 2020-01-15T17:49:46Z bumble-bot joined #lisp 2020-01-15T17:51:23Z atgreen quit (Ping timeout: 260 seconds) 2020-01-15T17:51:46Z atgreen`` joined #lisp 2020-01-15T17:51:50Z rtra quit (Ping timeout: 258 seconds) 2020-01-15T17:52:22Z atgreen`` quit (Remote host closed the connection) 2020-01-15T17:52:22Z atgreen` quit (Remote host closed the connection) 2020-01-15T17:52:36Z rtra joined #lisp 2020-01-15T17:52:56Z galdor: do you consider introducing packages that all implementations implement the same way "expanding the standard" ? 2020-01-15T17:53:13Z oni-on-ion quit (Ping timeout: 265 seconds) 2020-01-15T17:53:44Z beach: No, that's just "widely agreed-upon libraries". There are plenty of those, and they are good. 2020-01-15T17:53:48Z galdor: if you take bordeaux threads, I find it curious to end up with a library instead of having implementations follow the bordeaux thread pseudo standard, which would allow every one to use, e.g. threads:make-thread without having to import a library 2020-01-15T17:55:00Z lukego quit 2020-01-15T17:55:14Z beach: galdor: It is much easier to use a library than to convince all the maintainers of all the implementations to add the same thing. 2020-01-15T17:55:20Z lukego joined #lisp 2020-01-15T17:55:54Z Shinmera: not to mention convincing them to possibly change an interface if they already have users for it. 2020-01-15T17:56:21Z pfdietz: That's the blurry part. Are de facto standard libraries part of the standard? I'll go with whatever answer makes things easier. 2020-01-15T17:56:25Z galdor: easier sure, but then you end up with a local maximum which will not move 2020-01-15T17:56:53Z pfdietz: Having a better social process for creating standard libraries, now that's interesting and useful. 2020-01-15T17:56:57Z Shinmera: galdor: I'm sure people would prefer it if all implementations offered all of the possible features. 2020-01-15T17:57:02Z galdor: and these libraries are external, generally maintained by zero to one person 2020-01-15T17:57:23Z Shinmera: I feel like you're vastly underestimating the effort involved in that. 2020-01-15T17:57:37Z pfdietz: Having better use of standard libraries (for example, encourage explicit import rather than :use) would be valuable. 2020-01-15T17:57:38Z galdor: oh I get the idea 2020-01-15T17:57:56Z Nilby: And overestimating the resources available to do so. 2020-01-15T17:58:11Z galdor: in practice, the thing is that the vast majority of implementations won't change anything because they are in low maintainance mode and won't ever evolve 2020-01-15T17:58:12Z pent quit 2020-01-15T17:58:28Z galdor: so you're stuck with the situation 2020-01-15T17:58:33Z pent joined #lisp 2020-01-15T17:58:43Z Xach: galdor: i don't think that's the case 2020-01-15T17:58:50Z galdor: but at some point, who cares if only 2 or 3 implementations do the work, others are dead anyway 2020-01-15T17:59:49Z Xach: the conditions for change vary but I don't think it's the case that they won't change anything. 2020-01-15T17:59:51Z pfdietz: They keep extending C and C++ even though each of those has large numbers of effectively dead compilers. 2020-01-15T18:00:47Z Shinmera: For example, I think by now only Allegro is lacking PLNs (and hasn't announced adding them) 2020-01-15T18:01:10Z Shinmera: Hmm, and Clisp, I think. 2020-01-15T18:01:47Z galdor: technically it's not yet in CCL, there are no stable releases with PLN ^^ 2020-01-15T18:01:59Z Shinmera: Sure, same with LW 2020-01-15T18:03:27Z galdor: as for Allegro and LW, I'd honestly love to know at which point they actually have a tech roadmap on their implementations or if they just rack up license fees with old clients (not that there is anything wrong with that) 2020-01-15T18:07:14Z bumble-bot quit (Read error: Connection reset by peer) 2020-01-15T18:07:31Z kmeow quit (Quit: Leaving) 2020-01-15T18:08:48Z jfb4 joined #lisp 2020-01-15T18:09:10Z jfb4_ quit (Ping timeout: 265 seconds) 2020-01-15T18:12:44Z william1_ joined #lisp 2020-01-15T18:16:00Z mingus quit (Read error: Connection reset by peer) 2020-01-15T18:16:07Z p_l: galdor: Franz is actively doing a second-hand lisp business in the form of selling stuff built on top of AllegroGraph 2020-01-15T18:16:12Z picantest left #lisp 2020-01-15T18:17:45Z william1_ quit (Ping timeout: 272 seconds) 2020-01-15T18:19:50Z Picantest joined #lisp 2020-01-15T18:19:51Z m00natic quit (Read error: Connection reset by peer) 2020-01-15T18:20:29Z pfdietz: the interesting question is to what extent Franz depends on external libraries that may stop working for them because of PLNs 2020-01-15T18:20:35Z rtra quit (Ping timeout: 258 seconds) 2020-01-15T18:21:00Z nowhere_man joined #lisp 2020-01-15T18:21:25Z galdor: is it me but do they both (Franz and LW) stay way out of the open source world ? 2020-01-15T18:21:33Z rtra joined #lisp 2020-01-15T18:22:29Z pfdietz: Not entirely. Isn't aserve from Franz? 2020-01-15T18:23:22Z pfdietz: 43 repos on github https://github.com/franzinc 2020-01-15T18:24:03Z frgo_ quit (Ping timeout: 268 seconds) 2020-01-15T18:25:34Z atgreen joined #lisp 2020-01-15T18:29:21Z XachX quit (Ping timeout: 180 seconds) 2020-01-15T18:29:24Z rtra quit (Ping timeout: 258 seconds) 2020-01-15T18:30:02Z tfb quit (Ping timeout: 252 seconds) 2020-01-15T18:30:02Z jlpeters quit (Ping timeout: 252 seconds) 2020-01-15T18:30:04Z galdor: if I look at the first repository, imap, it's essentially unmaintained and clearly Allegro only 2020-01-15T18:30:12Z sz0 quit (Ping timeout: 260 seconds) 2020-01-15T18:30:12Z boeg quit (Ping timeout: 260 seconds) 2020-01-15T18:30:17Z slyrus_ joined #lisp 2020-01-15T18:30:21Z mjl quit (Read error: Connection reset by peer) 2020-01-15T18:30:24Z kilimanjaro quit (Ping timeout: 252 seconds) 2020-01-15T18:30:25Z chewbranca quit (Ping timeout: 272 seconds) 2020-01-15T18:30:25Z tazjin quit (Ping timeout: 272 seconds) 2020-01-15T18:30:27Z badgerblock quit (Ping timeout: 246 seconds) 2020-01-15T18:30:39Z asedeno quit (Read error: Connection reset by peer) 2020-01-15T18:30:44Z galdor: 11 contributions last year for 43 repos... 2020-01-15T18:30:46Z jerme_ quit (Ping timeout: 252 seconds) 2020-01-15T18:30:46Z l1x quit (Ping timeout: 252 seconds) 2020-01-15T18:30:49Z mgsk quit (Read error: Connection reset by peer) 2020-01-15T18:31:00Z Kaisyu quit (Ping timeout: 248 seconds) 2020-01-15T18:32:15Z rme quit (Ping timeout: 180 seconds) 2020-01-15T18:32:22Z jerme_ joined #lisp 2020-01-15T18:32:22Z lispyone__ joined #lisp 2020-01-15T18:32:22Z rtra joined #lisp 2020-01-15T18:32:22Z lispyone_ quit (Ping timeout: 260 seconds) 2020-01-15T18:32:22Z lispyone__ is now known as lispyone_ 2020-01-15T18:32:22Z travv0 quit (Ping timeout: 264 seconds) 2020-01-15T18:32:22Z billstclair quit (Ping timeout: 260 seconds) 2020-01-15T18:32:22Z rvirding quit (Ping timeout: 260 seconds) 2020-01-15T18:32:31Z ebrasca quit (Remote host closed the connection) 2020-01-15T18:32:38Z tazjin joined #lisp 2020-01-15T18:32:44Z jlpeters joined #lisp 2020-01-15T18:33:04Z badgerblock joined #lisp 2020-01-15T18:33:12Z chewbranca joined #lisp 2020-01-15T18:33:18Z slyrus quit (Ping timeout: 268 seconds) 2020-01-15T18:33:20Z mjl joined #lisp 2020-01-15T18:33:45Z billstclair joined #lisp 2020-01-15T18:34:02Z Kaisyu joined #lisp 2020-01-15T18:34:03Z rvirding joined #lisp 2020-01-15T18:34:23Z jprajzne quit (Quit: Leaving.) 2020-01-15T18:35:26Z travv0 joined #lisp 2020-01-15T18:36:27Z mfiano: Shinmera: ACL already does 2020-01-15T18:36:47Z rme quit (Ping timeout: 180 seconds) 2020-01-15T18:37:04Z tfb joined #lisp 2020-01-15T18:37:44Z Shinmera: tpln does not list it as supported. 2020-01-15T18:38:11Z mfiano: https://franz.com/support/patches/log/10.1/index.lhtml#lisp_pma017_003 2020-01-15T18:38:30Z Shinmera: ah, very nice 2020-01-15T18:38:33Z Shinmera: phoe: ^ 2020-01-15T18:38:38Z pfdietz: Good, good 2020-01-15T18:38:47Z brown121408 joined #lisp 2020-01-15T18:38:57Z Shinmera: So, I suppose now the only player left is Clisp 2020-01-15T18:39:13Z brown121407 quit (Ping timeout: 260 seconds) 2020-01-15T18:40:44Z tfb quit (Read error: Connection reset by peer) 2020-01-15T18:40:45Z jerme_ quit (Read error: Connection reset by peer) 2020-01-15T18:40:52Z pfdietz: I can't seem to get that to build properly. Some library issue, maybe. 2020-01-15T18:42:12Z Xach wonders if corman lisp has reached a second lull 2020-01-15T18:44:44Z shifty joined #lisp 2020-01-15T18:44:53Z slyrus__ joined #lisp 2020-01-15T18:48:06Z slyrus_ quit (Ping timeout: 268 seconds) 2020-01-15T18:49:15Z Bike quit (Quit: Bike) 2020-01-15T18:49:21Z Jesin quit (Quit: Leaving) 2020-01-15T18:50:56Z Jesin joined #lisp 2020-01-15T18:52:08Z XachX quit (Ping timeout: 180 seconds) 2020-01-15T18:53:14Z LdBeth: Good morning everyone 2020-01-15T18:59:39Z amerlyq quit (Quit: amerlyq) 2020-01-15T19:03:51Z XachX quit (Ping timeout: 180 seconds) 2020-01-15T19:11:40Z ebrasca joined #lisp 2020-01-15T19:12:30Z mgsk joined #lisp 2020-01-15T19:13:12Z XachX quit (Ping timeout: 180 seconds) 2020-01-15T19:18:41Z milanj quit (Quit: This computer has gone to sleep) 2020-01-15T19:27:49Z sauvin quit (Read error: Connection reset by peer) 2020-01-15T19:30:55Z vlatkoB quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) 2020-01-15T19:32:57Z EvW joined #lisp 2020-01-15T19:36:17Z jbayardo joined #lisp 2020-01-15T19:39:14Z william1_ joined #lisp 2020-01-15T19:40:48Z kilimanjaro joined #lisp 2020-01-15T19:42:26Z nowhere_man quit (Ping timeout: 240 seconds) 2020-01-15T19:42:52Z karlosz joined #lisp 2020-01-15T19:43:07Z jello_pudding quit (Ping timeout: 260 seconds) 2020-01-15T19:44:33Z akoana joined #lisp 2020-01-15T19:44:34Z brown121408 quit (Read error: Connection reset by peer) 2020-01-15T19:45:29Z brown121408 joined #lisp 2020-01-15T19:45:55Z Bike joined #lisp 2020-01-15T19:46:09Z [X-Scale] joined #lisp 2020-01-15T19:46:20Z XachX quit (Ping timeout: 180 seconds) 2020-01-15T19:47:17Z X-Scale quit (Ping timeout: 265 seconds) 2020-01-15T19:47:18Z [X-Scale] is now known as X-Scale 2020-01-15T19:52:07Z william1_ quit (Ping timeout: 272 seconds) 2020-01-15T19:53:15Z jfb4_ joined #lisp 2020-01-15T19:53:42Z XachX quit (Ping timeout: 180 seconds) 2020-01-15T19:54:05Z jfb4 quit (Ping timeout: 268 seconds) 2020-01-15T19:57:49Z vivit quit (Ping timeout: 272 seconds) 2020-01-15T19:58:07Z milanj joined #lisp 2020-01-15T19:59:49Z XachX quit (Ping timeout: 180 seconds) 2020-01-15T20:01:10Z _fe_ quit (Quit: Leaving) 2020-01-15T20:02:30Z another-user joined #lisp 2020-01-15T20:03:21Z ralt quit (Quit: Connection closed for inactivity) 2020-01-15T20:06:30Z XachX quit (Ping timeout: 180 seconds) 2020-01-15T20:08:07Z jfb4 joined #lisp 2020-01-15T20:08:53Z jfb4_ quit (Ping timeout: 268 seconds) 2020-01-15T20:11:38Z shifty quit (Ping timeout: 240 seconds) 2020-01-15T20:12:18Z Kaisyu quit (Remote host closed the connection) 2020-01-15T20:18:37Z jonatack quit (Quit: jonatack) 2020-01-15T20:22:05Z jonatack joined #lisp 2020-01-15T20:22:38Z jfb4 quit (Ping timeout: 268 seconds) 2020-01-15T20:22:48Z jfb4_ joined #lisp 2020-01-15T20:23:12Z teej quit (Remote host closed the connection) 2020-01-15T20:25:17Z pjb: beach: you may be interested in: The Dwarf Debugging Standard 2020-01-15T20:26:40Z jfb4 joined #lisp 2020-01-15T20:27:53Z jfb4_ quit (Ping timeout: 265 seconds) 2020-01-15T20:31:42Z jfb4 quit (Ping timeout: 268 seconds) 2020-01-15T20:33:19Z jfb4 joined #lisp 2020-01-15T20:33:24Z another-user quit (Quit: WeeChat 2.7) 2020-01-15T20:33:36Z grabarz joined #lisp 2020-01-15T20:33:45Z CEnnis91 quit (Remote host closed the connection) 2020-01-15T20:33:56Z grabarz quit (Client Quit) 2020-01-15T20:34:54Z decent-username joined #lisp 2020-01-15T20:35:12Z jbayardo quit (Quit: Bye!) 2020-01-15T20:43:13Z scymtym quit (Ping timeout: 245 seconds) 2020-01-15T20:43:39Z Achylles joined #lisp 2020-01-15T20:49:09Z karlosz quit (Quit: karlosz) 2020-01-15T20:49:58Z phlim joined #lisp 2020-01-15T20:50:18Z jfb4_ joined #lisp 2020-01-15T20:50:27Z karlosz joined #lisp 2020-01-15T20:52:03Z narimiran quit (Ping timeout: 265 seconds) 2020-01-15T20:53:54Z jfb4 quit (Ping timeout: 268 seconds) 2020-01-15T20:54:00Z orivej quit (Ping timeout: 260 seconds) 2020-01-15T20:57:52Z pfdietz quit (Remote host closed the connection) 2020-01-15T21:00:44Z Lycurgus joined #lisp 2020-01-15T21:01:41Z asdf_asdf_asdf joined #lisp 2020-01-15T21:03:43Z lavaflow joined #lisp 2020-01-15T21:04:48Z jfb4 joined #lisp 2020-01-15T21:05:09Z akoana quit (Read error: Connection reset by peer) 2020-01-15T21:05:50Z akoana joined #lisp 2020-01-15T21:06:33Z rtra quit (Ping timeout: 245 seconds) 2020-01-15T21:07:31Z jfb4_ quit (Ping timeout: 265 seconds) 2020-01-15T21:09:10Z rtra joined #lisp 2020-01-15T21:10:18Z zmv quit (Read error: Connection reset by peer) 2020-01-15T21:10:55Z jmercouris joined #lisp 2020-01-15T21:11:48Z scymtym joined #lisp 2020-01-15T21:12:50Z gravicappa quit (Ping timeout: 265 seconds) 2020-01-15T21:13:49Z rtra quit (Ping timeout: 272 seconds) 2020-01-15T21:16:59Z manualcrank joined #lisp 2020-01-15T21:20:03Z Lycurgus quit (Remote host closed the connection) 2020-01-15T21:21:50Z jfb4_ joined #lisp 2020-01-15T21:22:36Z bitmapper quit 2020-01-15T21:23:30Z jfb4 quit (Ping timeout: 268 seconds) 2020-01-15T21:24:08Z pfdietz joined #lisp 2020-01-15T21:24:16Z jerme_ joined #lisp 2020-01-15T21:25:43Z kajo quit (Ping timeout: 245 seconds) 2020-01-15T21:30:31Z Codaraxis_ quit (Ping timeout: 265 seconds) 2020-01-15T21:32:17Z william1_ joined #lisp 2020-01-15T21:37:17Z entel quit (Quit: Connection closed for inactivity) 2020-01-15T21:37:29Z jfb4_ quit (Ping timeout: 265 seconds) 2020-01-15T21:38:43Z lucasb quit (Quit: Connection closed for inactivity) 2020-01-15T21:40:14Z jfb4 joined #lisp 2020-01-15T21:41:37Z travv0` joined #lisp 2020-01-15T21:42:30Z kajo joined #lisp 2020-01-15T21:43:13Z izh_ joined #lisp 2020-01-15T21:44:52Z frgo joined #lisp 2020-01-15T21:45:28Z davisr__ joined #lisp 2020-01-15T21:48:07Z davisr_ quit (Ping timeout: 265 seconds) 2020-01-15T21:52:49Z jfb4_ joined #lisp 2020-01-15T21:54:03Z jfb4 quit (Ping timeout: 260 seconds) 2020-01-15T21:57:33Z william1_ quit (Ping timeout: 260 seconds) 2020-01-15T21:59:09Z hlavaty joined #lisp 2020-01-15T22:01:57Z Bike quit (Remote host closed the connection) 2020-01-15T22:05:24Z Bike joined #lisp 2020-01-15T22:08:56Z izh_ quit (Quit: Leaving) 2020-01-15T22:18:57Z Codaraxis joined #lisp 2020-01-15T22:19:37Z atgreen quit (Ping timeout: 268 seconds) 2020-01-15T22:22:49Z jfb4 joined #lisp 2020-01-15T22:23:56Z jfb4_ quit (Ping timeout: 268 seconds) 2020-01-15T22:24:55Z karlosz quit (Quit: karlosz) 2020-01-15T22:25:22Z fragamus joined #lisp 2020-01-15T22:27:38Z rwcom quit (Ping timeout: 268 seconds) 2020-01-15T22:28:36Z rtra joined #lisp 2020-01-15T22:29:13Z xuxuru joined #lisp 2020-01-15T22:30:34Z rwcom joined #lisp 2020-01-15T22:30:54Z fragamus quit (Ping timeout: 268 seconds) 2020-01-15T22:32:13Z quazimodo joined #lisp 2020-01-15T22:33:17Z fragamus joined #lisp 2020-01-15T22:33:27Z EvW quit (Ping timeout: 260 seconds) 2020-01-15T22:33:57Z Bike quit (Quit: Bike) 2020-01-15T22:34:12Z vivit joined #lisp 2020-01-15T22:34:12Z vivit quit (Changing host) 2020-01-15T22:34:12Z vivit joined #lisp 2020-01-15T22:35:34Z vms14 joined #lisp 2020-01-15T22:36:02Z fragamus quit (Client Quit) 2020-01-15T22:37:32Z rtra quit (Ping timeout: 260 seconds) 2020-01-15T22:40:10Z rtra joined #lisp 2020-01-15T22:45:05Z jmercouris quit (Remote host closed the connection) 2020-01-15T22:54:56Z rtra quit (Remote host closed the connection) 2020-01-15T22:55:02Z Codaraxis quit (Ping timeout: 260 seconds) 2020-01-15T22:56:46Z jfb4_ joined #lisp 2020-01-15T22:58:02Z jfb4 quit (Ping timeout: 268 seconds) 2020-01-15T22:58:19Z kajo quit (Ping timeout: 272 seconds) 2020-01-15T22:58:58Z ebzzry quit (Read error: Connection reset by peer) 2020-01-15T22:59:14Z kajo joined #lisp 2020-01-15T23:01:05Z rtra joined #lisp 2020-01-15T23:03:05Z EvW1 joined #lisp 2020-01-15T23:03:52Z random-nick quit (Ping timeout: 258 seconds) 2020-01-15T23:07:16Z LiamH quit (Quit: Leaving.) 2020-01-15T23:08:40Z